Web Services Generell introduksjon til WS, UDDI (Universal Description Discovery and Integration) og Business Process Execution Language (BFEL4WS)

Slides:



Advertisements
Liknende presentasjoner
Microsoft BizTalk og WEBservices
Advertisements

Håndtering av integrasjon B2B
Progress Brukerforening Tormod Sveli
Webprogrammering (LO113A) 1 Kom i gang med PHP. Webprogrammering (LO113A) 2 Mål  Installere Apache og PHP  Konfigurasjon av Apache og PHP  Forstå samspillet.
Filbehandling (Kapittel 8)
1 Objektorientert samvirke - del 4 av Arne Maus, Institutt for informatikk, Universitetet i Oslo.
Sikkerhet - bakgrunn og introduksjon til kryptosystemer
Service Discovery Chau Bui Tuan Pham Marie Fuglesang Bent Erik Skogstad Hong Nhung thi Vo.
Tjenestebasert design med dynamiske proxyer og Spring Bjørn Vidar Bøe, JavaZone 2005.
Objektorientert programmering i PHP del 2
IS-102 Klassedefinisjoner
2003 IT-konferansen 2003 UNIVERSITETET I OSLO Vortex: Skrivbar web for UiO Oddmund Møgedal USIT/UiO.
Java Server Faces (JSF) en introduksjon Frode Eika Sandnes.
Grunnleggende testteori
Android-Programmering Våren Oversikt – PendingIntents Rollen til PendingIntents Vanlig bruk Deling Sending.
Protokoller Pensum: Olsen, kap. 5 og 6. Kommunikasjon Er en viktig del, kanskje den viktigste del, av moderne databehandling Med det får vi tilgang til.
IPSec og VPN.
LocMoc : Avatar 3D – Visualisering av menneskelige bevegelser ved bruk av Java og Coin3D. En presentasjon av: Øivind Hoff Johansen og Jon Kåre Sørensen.
Bendik Bygstad Høgskolen i Vestfold RUP-prosjekt Sammenhengen med UML 1.Hovedstruktur i RUP-prosjekter 2.Faser og iterasjoner 3.Sammenhengen med.
Apache POI.
Mohammad Ali Koteich Danial Siddiq Sheikh. Hva skal vi snakke om? Directory LDAP The Apache Directory Project.
Human Factors (HF) i kontrollrom - En revisjonsmetode 2003
Hvordan uttrykke krav Kapittel 4.4. Innledning Målet er å samles rundt ett entydig språk som ikke kan misforståes eller feiltolkes. Gjør sporbarheten.
Gruppe 3 – Presentasjon 2 Henning Kristiansen, Mats Lindh, André Hauge og Vegard Simensen.
DEKOMPONERING OG MODULARITET ~Gruppe 4~. Gjennomgang Designtyper/kriterier innen dekomponering Dekomponeringsspesifikasjon Strukturert og objektorientert.
Singleton & Adapter Pattern Gruppe 3. Singleton Pattern Sørger for at en klasse kun kan ha en instans Vanligvis implementert med globale variabler –Singleton.
Automated Testing Tool & When to Stop Testing
Strategi og samhandlingsarkitektur
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Copyright © 2003 Systek J2EE Teknologier Java Workshop CBA Johannes Brodwall, Systek as.
Høgskolen i Oslo Web-programmering Feilhåndtering i PHP.
Intro til php - Uke3.2 - Ronny Mandal Introduksjon til PHP.
Høgskolen i Oslo Webprogrammering Ajax og PHP. I dag l Hvordan få en bedre brukeropplevelse via Ajax- script l Gjennomgang av kode l Oppgaveløsning på.
Fjernstyring av PCer med NTRconnect Svein/ALEPH brukermøte 2007.
Aktivitetsdiagrammer
PARLAY/OSA Referanser: Referanser Foredraget er i all hovedsak basert på to artikler. Disse kan finnes på:
TTM3 Self Configuring Systems Topic 5: Service Discovery Protocols and middleware: HAVi, SLP Maxim Langebrekke, ITEM.
Andreas Olsen, Henrik Larsen Toft, Trond Gjertsen, Vegard Gillestad MASTEROPPGAVER VED BCCS: ESYSBIO PROJECT.
The Peer-to-Peer Architecture Av Ingunn Lund og Anja Lønningen.
Integrasjonsarkitektur
.NET og Progress Samspill og styrker, GUI og forretningslogikk.
Parallellisering av Coin3D for Systems in Motion av Sveinung Thunes.
Tekniske valg i applikasjonen Mine studier USITs allmøte 9.oktober 2014.
Objektorientert utforming In 140 Sommerville kap. 12.
Katalog med tjenester n Masse tjenester, men det er ikke lett å finne de. n Tjeneste tilbyder må selv kunne oppdatere. n Tjenesten selv forteller hva den.
Rammeverk Workshop – teknologisk infrastruktur
1 GeoPortal – Rammeverk Introduksjon. 2 Teknisk rammeverk - Interoperabilitet Interoperabilitet evne til å kommunisere, kjøre programmer, eller overføre.
Security Considerations for Peer- to-Peer Distributed Hash Tables TDT2 – Avanserte Distribuerte Systemer Lars-Erik Bjørk.
1 Katalogtjenesten i geoNorge.no. 2 Geodatakatalog Generisk innsynsløsning Innsynsløsning kart og fagdata Nedlasting og bestillingstjeneste Hjemmeside.
Vibeke IT-seksjonen LU - LUVIT brukere våren PUS Luvit undervisning våren 2002 Hvordan lære opp studentene i LUVIT?
Vibeke IT-seksjonen LU - LUVIT brukere våren PUS Luvit undervisning våren 2001 Hvordan lære opp studentene i LUVIT?
Gamle systemer In 140 Sommerville kap 26. Forelesninger fremover 8/4:Gamle systemer 22/4: Systemevolusjon og vedlikehold 28/4: Konfigurasjonsstyring.
Gamle systemer In 140 Forelesning Nr 19 Sommerville kap 26.
Peer-To-Peer Cooperative Multiplayer Gaming On Mobile Devices.
Routing Indices For P2P Systems TDT2 – Avanserte Distribuerte Systemer Lars-Erik Bjørk.
Protokoller Pensum: Olsen, kap. 5 og 6. Kommunikasjonsprotokoll Rutiner for å administrere og kontrollere oversending av data Telefonsamtale (”Hallo”,
Konstruksjon og Testing Torsdag 30. september 2004 Av Even Aasland Harald Ueland.
2003 Ontopia AS1 Tanker om standarder for e-læring Emnekart og published subjects Lars Marius Garshol, utviklingsleder Ontopia,
P11 – PRESENCE MANAGMENT IN TELECOM. P11 – Presence managment in telecom Prosjektet er blitt gjort av: Sondre Husby Rostad Pål Eilertsen Prosjektet er.
Android-Programmering Våren Oversikt Long-running operasjoner Introduksjon til Android services On-demand service Bruk av servicer på tvers av prosesser.
Trafikantens mobile sanntidssystem Presentasjon INF5261.
Kom i gang med Python Pål Hellesnes SYSTEMUTVIKLER
Fagleg forum, 27. mars 2003 Tor Hovland
TBS-prosess.
Dynamisk DNS registrering for Windows 10
- Endelig forslag til ønsketsituasjon
Utskrift av presentasjonen:

Web Services Generell introduksjon til WS, UDDI (Universal Description Discovery and Integration) og Business Process Execution Language (BFEL4WS)

Introduksjon til WS En ledende teknologi for å innkapsle prosesser og dele dem med business partnere Kost effektivt Uavhengig av OS og programmeringsspråk Bruker (SOAP over) HTTP som kommunikasjons protokoll Erik Newcomber (CEO i Iona) mener ws vil seire over CORBA

WS komponenter SOAP (Simple Object Access Protocol) –Lettvekts protokoll WSDL (Web Services Description Language) UDDI (Universal Description Discovery and Integration)

SOAP (Simple Object Access Protocol) Støtter koding av vilkårlig datatyper –Typisk i XML En form for RPC over HTTP –Lettvekt –Gjør det enkelt å lage forbindelser selv med brannmur Funksjoner kodes med WSDL

WSDL (Web Service Description Language) XML basert WSDL dokument er som en XML basert IDL (Interface Description Language) Funksjoner, med parametere og retur typer Service tilbydere kan enkelt beskrive en ws, og tilby dens tjenester med WSDL

UDDI (Universal Description Discovery and Integration) Global katalog for web services –En slags ”gule sider” Støtter registrering og oppdagelse av alle typer informasjon –Mest brukt, og mest sett i sammenheng med WS Private kataloger –LDAP (Lightweight Directory Access Protocol)

WS oversikt

Programmerers synspunkt API’er omgjør til SOAP Synkrone eller asynkrone kall

Mer UDDI Distribuert web register for web services Tre hovedfunksjoner –Registrere web services og beskrive dem (description) for tjenestetilbydere –Oppdage og bruke tilgjengelig tjenester (discovery) for andre tjenestetilbydere eller brukere –Integrere tjenester (integration) ”Register once, published anywhere”

Tilgang til UDDI Informasjonen som tilbys i UDDI kan deles inn i 3 grupper, sammen kalt UDDI Business Registry –”White pages” (adresser, kontakter og identifikatorer av tjenester) –”Yellow pages” (industriell kategorisering) –”Green pages” teknisk informasjon av tilgjengelige tjenester Må registreres for å publisere tjenester i UDDI, ikke for å bruke eller oppdage dem

Tilgang til UDDI Tjenester og informasjon om tjenester kan bli funnet via web portaler for UDDI – – –… UDDI programmers API –Inquiry API –Publishers API

Inquiry API To typer kall –find_xx Oversikt over registrerte ws med mulighet for varierte søkekriterier –get_xx Kan benyttes direkte, dersom nøkler er kjente Relativt enkelt å få oversikt over tilbudte tjenester –Kan være vanskeligere å finne ut hva en tjeneste er/gjør, eller hvordan den fungerer (semantic ws)

Publishers API Består i hovedsak av –4 save_xxx funksjoner –4 delete_xxx funksjoner En for hver av de 4 UDDI datastrukturer –businessEntity –businessService –bindingTemplate –tModel Også mulig å endre publiserte entiteter Det finnes mekanismer for identifisering og autentisering

Recovery i UDDI Tjenestetilbydere for ws vil normalt ønske høy tilgjengelighet for sine tjenester Vanlig med backup og standby systemer Men… Systemer feiler… UDDI har (en slags) inne bygget recovery mekanisme!

Recovery i UDDI Alle ws som blir funnet via UDDI har en bindingTemplate Dersom kallet til tjenesten feiler, henter man ned en ny bindingTemplate fra UDDI Dersom informasjonen er ny forsøker man et nytt kall Hvis kallet returnerer korrekt lagrer man den nye bindingTemplate

Business Process Execution Language for Web Services (BPEL4WS) Microsoft (XLANG)og IBM (WSFL) August 2002

Sammenheng med WSDL WSDL 1.1 Tilstandsløst (stateless) Ikke sammenbundet (uncorrelated) XML Schema 1.0 Lag over WSDL som tilbyr P2P samhandling mellom tjenester, med både synkron og asynkron kommunikasjon.

BPEL4WS 1 "a workflow language that describes the number of web services that need to be executed, the order in which they are executed and the type of data they share.“ Flere andre har også samme funksjonalitet: WSCI () WSCI (Web Service Choreography Interface) BPML () BPML (Business Process Modeling Language) BPSS () BPSS (Business Proces Specication Schema) WSCL (Web Services Conversation Language) XPLD ( XPLD (XML Processing Description Language)

BPEL4WS 2  Tar det beste fra begge “leirer”.  Blokk struktur som gir basis kontroll strukturer.  Feilhåndtering  Transaksjoner

BPEL4WS 3 Bestaar av en abstrakt og en konkret del. Abstrakt del beskriver meldinger mellom parter. Konkret del beskriver prosesser i en partner.

BPEL4WS struktur (workflow) <partners></partners><variables></variables><correlationSets></correlationSets> </faultHandlers><compensationHandler></compensationHandler> </eventHandlers> Evt ande typer flyt. (while, flow, switch…) </process>

Tjeneste binding (Service Linking) Definerer: toveis avhengighet mellom kommuniserende tjenester. hvilken “rolle” tjenesten spiller. portType Bort fra RPC, tillater asynkrone meldinger.

Correlation WS er av definisjon tilstandsløs. “Correlation sets” gir tilstander. Definerer operasjoner som hører sammen. Holder “token” som angir tilstandene til de ulike operasjonene. Brukt ved meldings sending.

Basis aktiviteter Web services gjør det faktiske arbeidet. Aktivitetene er: “Invoke”“Receive”“Reply”

“Invoke” Synkront (blokkering) Input parameter Output parameter Asynkront (uten blokkering) Input parameter <invoke partner = "ShippingProvider" portType = "shippingPortType" portType = "shippingPortType" operation = "RequestShipping" operation = "RequestShipping" inputVariable = "ShippingRequest" inputVariable = "ShippingRequest" outputVariable = "ShippingInfo"> outputVariable = "ShippingInfo"></invoke>

“Receive” Vanligvis i begynnelsen av “Work Flow” <receive partner = "Customer" portType = "PurchaseOrderPortType" operation = "SendPurchaseOrder" variable = "PO" createInstance = "yes"> </receive>

Feil Haandtering Feil kan fanges både lokalt og globalt Rette feil Kaste videre “Compensation” (rollback)

Kontroll stukturer Aktiviteter en utført sekvensielt. Ulike strukturer SwitchWhilePickFlow

“Pick” Når en betingelse er oppfyllt, blir en aktivitet startet. <pick> </pick>

Flow Tillater parallell kjøring En “flow” er ferdig når alle aktiviteter er er fullført. <flow>

Implementasjon Lag BPEL4WS Samle de nøvendige WSDL Last opp BPEL4WS og WSDL filene til en applikasjons server (Apache Tomcat, Jboss) “Kjør”

Eksempel på implementasjoner Buisness Process Excecution Language for WebServices (BPWS4J) Kjører som en “container” Validering GUI for redigering av dokumenter (workflows) Collaxa Samling av ulike sammenbindings spraak som BPEL4WS

Forbedringer? Ingen dataflyt mellom aktiviteter Bruker felles globale variabler Var en del av WSFL Ingen mulighet til bruker interaksjon

Selv konfigurering i BPEL4WS? Idag er BPEL4WS statisk MEN, dette “skal” endres I fremtiden. Semantisk web gjor det idag. (bedre beskrivelser av tjenesten) Feilhåntering Visjon: “Compose web servic workflows dynamically based on available services”

Referanser: BPEL4WS Buisness Process Exceution Language for Web Services, Mikko Laukkanen Web Services Flow Language(WFSL 1.0), IBM