Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

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

Liknende presentasjoner


Presentasjon om: "Web Services Generell introduksjon til WS, UDDI (Universal Description Discovery and Integration) og Business Process Execution Language (BFEL4WS)"— Utskrift av presentasjonen:

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

2 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

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

4 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

5 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

6 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)

7 WS oversikt

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

9 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”

10 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

11 Tilgang til UDDI Tjenester og informasjon om tjenester kan bli funnet via web portaler for UDDI –http://uddi.ibm.com http://uddi.ibm.com –http://uddi.microsoft.com http://uddi.microsoft.com –… UDDI programmers API –Inquiry API –Publishers API

12 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)

13 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

14 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!

15 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

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

17 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.

18 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)

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

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

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

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

23 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.

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

25 “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>

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

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

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

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

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

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

32 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

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

34 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”

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


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

Liknende presentasjoner


Annonser fra Google