Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius...

104
architektūra ir pasaulinio tinklo paslaugos ( http://eta.ktl.mii.lt/~mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos institutas Akademijos 4, Vilnius LT-08663

Transcript of Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius...

Page 1: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos

( http://eta.ktl.mii.lt/~mask/SOA )

Saulius MaskeliūnasMatematikos ir informatikos institutas

Akademijos 4, Vilnius LT-08663

Page 2: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 2

Turinys1. Paslaugomis grindžiama architektūra (PGA)

2. Pasaulinio tinklo paslaugų (PtP) samprata

3. PtP protokolų išsluoksniuotumas, hierarchinė tarpusavio priklausomybė

4. Išskirstyti skaičiavimai pasauliniame tinkle ir būsenas turinčios pasaulinio tinklo paslaugos (angl.: Grid Computing & stateful Web Services)

5. PtP tarpusavio suderinamumo užtikrinimas

6. PGA, pasaulinio tinklo paslaugų pavyzdžiai

7. PGA, PtP tolesnės raidos perspektyvos

Page 3: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 3

1. Paslaugomis grindžiama architektūra (PGA)

Page 4: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 4

Programų sistemų architektūrų evoliucija

M. Endrei, J. Ang, „IBM Redbooks Patterns: Service Oriented Architecture And Web Services“. IBM Redbooks, 2004. www.redbooks.ibm.com/redbooks/pdfs/sg246303.pdf

Page 5: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 5

Paslaugomis grindžiama architektūra (PGA)

http://www.w3.org/TR/ws-arch/ , 2003.05.14

Transportas

Paslaugos aprašas

Paslauga

Page 6: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 6

Paslaugomis grindžiama architektūra

IT transformation to Service-Oriented architecture.

Bea White paper, 2004. http://www.bea.com

Page 7: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 7

PGA – išskirstyta sistema

• Paslaugomis grindžiama architektūra yra išskirstytų sistemų rūšies, kuriose programiniai agentai are “paslaugos”.

• Išskirstytos sistemos susideda iš atskirų programinių agentų (komponentų), kurie veikia kartu realizuodami tam tikrų funkcijų visumą. Išskirstytų sistemų programiniai agentai gali veikti skirtingose programinėse aplinkose ir sąveikauti tarpusavyje naudojant kelių sluoksnių protokolus.

• Paslauga yra programinis agentas, vykdantis tam tikrą gerai apibrėžtą operaciją (t.y., “suteikia paslaugą"), kurį galima iškviesti už didesnės taikomosios programos konteksto ribų.

Page 8: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 8

PGA apibrėžimai1) A service oriented architecture (SOA) is one in which

all entities are services and any operation visible to the architecture is the result of message exchange. Service is an entity that provides some capability to its clients by exchanging messages. Operations are defined in terms of message exchanges. I. Foster, C. Kessleman, S. Tueke “SOA” (Chapter 17 of “The Grid 2”) 2004.3.6 , http://www.cse.buffalo.edu/gridforce/SOAApril13.ppt

2) SOA, or Service-Oriented Architecture, is an architecture comprising 2.1) loosely coupled services, 2.2) described by platform-agnostic interfaces 2.3) that can be discovered and invoked dynamically.

<soaprpc/> Frequently asked questions , http://www.soaprpc.com/faq.html#q11

Page 9: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 9

2.1) Laisvo susietumo samprata (1)

• Loosely coupled refers to defining interfaces such that they are independent of each other's implementation.

• In a loosely coupled system, you should be able

to swap-out one of the components and replace it with another and cause no effect to the system.

<soaprpc/> Frequently asked questions , http://www.soaprpc.com/faq.html#q11

Page 10: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 10

2.1) Laisvo susietumo samprata (2)

Doug Kaye “Web Services Strategies”, in: Beyond the technology, IT strategies for implementation of Web services.http://www.rds.com/doug/weblogs/webServicesStrategies/2002/11/18.html#a726

Page 11: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 11

2.2) Nepriklausomumas nuo platformos• The platform-agnostic interface means

that a client on any platform (OS, language, hardware) can consume the service.

• Dynamic discovery implies some kind of registry where these services are listed, and which allows lookup.

“Service-Oriented Architecture: A brief introduction”,<soaprpc/> archive ,

http://www.soaprpc.com/archives/000030.html

2.3) Dinaminis radimas

Page 12: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 12

PGA apibrėžimai (3)• SOA is an application architecture within which

all functions are defined as independent services with well-defined invokable interfaces that can be called in defined sequences to form business processes.

• All functions are defined as services. This includes purely business functions, business transactions composed of lower-level functions and system service functions. This brings up the question of granularity.

• All services are independent. They operate as "black boxes"; external components neither know nor care how they perform their function, merely that they return the expected result.

• In the most general sense, the interfaces are invokable; that is, at an architectural level, it is irrelevant whether they are local (within the system) or remote (external to the immediate system), what interconnect scheme or protocol is used to effect the invocation or what infrastructure components are required to make the connection. The service may be within the same application or in a different address space within an asymmetric multiprocessor, on a completely different system within the corporate Intranet or within an application in a partner's system used in a B2B configuration.

K. Channabasavaiah, K. Holley, E.M. Tuggle, Jr. “The case for developing a service-oriented architecture”, SearchWebServices.com, 2004.5.13 , http://searchwebservices.techtarget.com/cgi-bin/rd.pl/ftID-965176-ctID-964595?//originalContent/0,289142,sid26_gci964595,00.html

Page 13: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 13

PGA koncepcinės rolės ir operacijos (1)

Systinet Corp. “Introduction to Web Services Architecture”, 2002 wp_Systinet_SOA.pdf , http://www.systinet.com

Page 14: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 14

PGA koncepcinės rolės ir operacijos (2)

Systinet Corp. “Introduction to Web Services Architecture”, 2002 wp_Systinet_SOA.pdf , http://www.systinet.com

Page 15: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 15

PtP funkcionavimo schema

Systinet Corporation “Introduction to Web Services”, White paper, 2002 http://www.systinet.com/resources/white_papers

UDDIregistras

WSDLNuoroda į aprašymą

Paslau-gos var-totojas

Paslaugospaieška

Pasaulinio tinklo

paslauga

Nuoroda į paslaugą Paslaugos

aprašymas

SOAP

XML pranešimai

Page 16: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 16

PtP funkcionavimo schema

M. Endrei, J. Ang, „IBM Redbooks Patterns: Service Oriented Architecture And Web

Services“. IBM Redbooks, 2004 www.redbooks.ibm.com/redbooks/pdfs/sg246303.pdf

Page 17: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 17

PGA formatai ir protokolai

Systinet Corp. “Introduction to Web Services Architecture”, 2002 wp_Systinet_SOA.pdf , http://www.systinet.com

Page 18: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

2. Pasaulinio tinklo paslaugų (PtP) samprata

Page 19: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 19

PtP apibrėžimasPasaulinio tinklo konsorciumas (W3C):• PtP yra programinė sistema, identifikuojama universaliu resursų

identifikatoriumi (URI), kurios viešos sąsajos ir įsipareigojimai apibrėžiami ir aprašomi su XML. PtP apibrėžimą gali rasti kitos programinės sistemos. Šios sistemos po to gali sąveikauti su PtP (taip, kaip numato PtP apibrėžimas), naudojant pranešimus, perduodamus Interneto protokolais. http://www.w3.org/TR/2003/WD-ws-gloss-20030514/#webservice, 2003.05.14

• A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP-messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards. http://www.w3.org/TR/ws-gloss/#webservice 2004.02.11

Page 20: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 20

PtP apibrėžimai (http://www.jeckle.de/webServices/#def)

WebServices.org apibrėžimas:• Pasaulinio tinklo paslaugos yra

įpakuotos laisvai susietos įsipareigotos funkcijos, pateikiamos standartiniais protokolais. „Įpakuotos“ reiškia, kad funkcijų realizacija niekada nematoma iš išorės. „Laisvai susietos“ reiškia, kad pakeitus vienos funkcijos realizaciją nereikia keisti iškviečiančiosios funkcijos. „Įsipareigotos“ reiškia, kad funkcijų veikimo, sąveikos su funkcijomis bei jų įeities ir išeities parametrų aprašai yra pateikiami viešai. Minimieji standartiniai protokolai (pirmiausia turint omenyje W3C, OASIS standartus) yra atviri, plačiai publikuojami ir laisvai prieinami realizuoti visiems, kas tuo suinteresuoti.

Page 21: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 21

PtP architektūros metamodelis

http://www.w3.org/TR/ws-arch/

Page 22: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 22

1) Pranešimai

Page 23: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 23

2) Paslaugos

Page 24: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 24

3) Ištekliai

Page 25: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 25

4) Nustatyta tvarka

Page 26: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 26

Neteisingas PtP supratimas

• Web services are frequently described as the latest incarnation of distributed object technology.

• Werner Vogels “Web Services Are NOT Distributed Objects: Common Misconceptions about Service Oriented Architectures”IEEE Internet Computing, Nov-Dec 2003

http://weblogs.cs.cornell.edu/AllThingsDistributed/archives/000120.html

http://weblogs.cs.cornell.edu/AllThingsDistributed/archives/000343.html

Page 27: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 27

Common Misconceptions about the fundamentals of Web Services• Web Services Are Just Like Distributed Objects

• Web Services Are RPC for the Internet

• Web Services Need HTTP

• Web Services Need Web Servers

• Web Services Are Reliable Because They Use TCP

• Debugging Web Services Is Impossible

Werner Vogels “Web Services Are Not Distributed Objects”, IEEE Internet Computing,

Nov-Dec 2003 , http://weblogs.cs.cornell.edu/AllThingsDistributed/archives/000343.html

(2003.08.26: http://weblogs.cs.cornell.edu/AllThingsDistributed/archives/000120.html )

Page 28: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 28

PtP trys komponentai (1)• The service is software that can process

an XML document it receives through some combination of transport and application protocols. We don’t care:

• how this component is constructed, • whether object-oriented techniques are used, or • if it operates as a stand-alone process, as part of a Web or

application server, or as a thin front end for a massive enterprise application.

The only requirement is that the service be able to process certain well-defined XML documents.

Werner Vogels “Web Services Are Not Distributed Objects”, IEEE Internet Computing,

Nov-Dec 2003 , http://weblogs.cs.cornell.edu/AllThingsDistributed/archives/000343.html

Page 29: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 29

PtP trys komponentai (2)• The XML document is the Web service’s keystone

because it contains all the application-specific information that a service consumer sends to the service for processing.

• The documents a Web service can process are described using an XML schema; two processes engaged in a Web services conversation must have access to the same description to ensure that they can validate and interpret the documents they exchange.

• This information is commonly described using the Web Services Description Language (WSDL).

Werner Vogels “Web Services Are Not Distributed Objects”, IEEE Internet Computing,

Nov-Dec 2003 , http://weblogs.cs.cornell.edu/AllThingsDistributed/archives/000343.html

Page 30: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 30

PtP trys komponentai (3)

• The address, also called a port reference, is a protocol binding combined with a network address that a requester can use to access the service. This reference basically identifies where the service can be found using a particular protocol (for example, TCP or HTTP).

… In principle, these three components are enough to build a Web service; in practice, however, there is a fourth component: the envelope.

Werner Vogels “Web Services Are Not Distributed Objects”, IEEE Internet Computing,

Nov-Dec 2003 , http://weblogs.cs.cornell.edu/AllThingsDistributed/archives/000343.html

Page 31: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 31

4-tas praktinis PtP komponentas• Envelope could be considered optional, but

it provides an extremely useful framework for managing the message exchange.

• The envelope is a message-encapsulation protocol that ensures that the XML document to be processed is clearly separated from other information the two communicating processes might want to exchange.

• For example, an intermediary could use the envelope to add routing and security information to the message without modifying the XML document.

Werner Vogels “Web Services Are Not Distributed Objects”, IEEE Internet Computing,

Nov-Dec 2003 , http://weblogs.cs.cornell.edu/AllThingsDistributed/archives/000343.html

Page 32: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 32

PtP architektūros technologijų sluoksniai

http://www.w3.org/TR/ws-arch/ , 2003.05.14

Pagrindinės technologijos: XML, DTD, Schema

Procesai Radimas, agregavimas, choreografija

Aprašymai Pasaulinio tinklo paslaugų aprašai (WSDL)

Žinutės

SOAP išplėtimai Patikimumas, koreliacija, transakcijos

SOAP

Ryšio priemonės (siuntimo protokolai) HTTP, SMTP, FTP, JMS, IIOP, …

A P S A U G A

V A L D Y M A S

Page 33: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 33

SOAP - paslaugomis grindžiamosarchitektūros protokolas [angl.: Service Oriented Architecture Protocol] • SOAP suteikia nesudėtingą ir neprieštaringą būdą

siųsti XML pranešimus tarp lygiaverčių taikomųjų programų (angl. peer-to-peer communication).

• SOAP sudaro keturi komponentai: 1) apvalkalas, 2) transporto susiejimo karkasas, 3) kodavimo taisyklės ir 4) nutolusių procedūrų iškvietimo [RPC] atvaizdas.

• Š.m. birželio 24 d. SOAP 1.2 versijos specifikacija paskelbta kaip Pasaulinio tinklo konsorciumo rekomenduojamas XML protokolas. (žr.: http://www.w3.org/TR/ ).

Page 34: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 34

SOAP protokolas• SOAP stands for Simple Object Access Protocol • SOAP is a communication protocol • SOAP is for communication between

applications • SOAP is a format for sending messages • SOAP is designed to communicate via Internet • SOAP is platform independent • SOAP is language independent • SOAP is based on XML • SOAP is simple and extensible • SOAP allows you to get around firewalls • SOAP will be developed as a W3C standard http://www.w3schools.com “SOAP Tutorial”, Refsnes Data, 2004

http://cookbook.soaplite.com/#soap%20acronym

Service Oriented Access Protocol

Page 35: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 35

SOAP pranešimo struktūra

S. Chande “Introduction to WebServices” (Seminar on Semantic Web & Web Services, W3C Finland, 2003.05.06), Nokia. w3cseminar_sureshchande_6may2003.pdf

Page 36: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 36

SOAP pranešimų poros pavyzdys

http://www.w3schools.com “SOAP Tutorial”, Refsnes Data, 2004

Page 37: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 37

Pasaulinio tinklo paslaugų apibrėžimo kalba (WSDL)• WSDL dokumentai aprašo pasaulinio tinklo paslaugų

suteikiamas funkcijas, kaip jas vykdyti ir kur jos yra.• WSDL dokumente apibrėžiami 5 pagrindiniai elementai:

tipai (apibrėžiantys pranešimuose naudojamus duomenų tipus), pranešimai (apibrėžiančios pranešimų formatus), prievadų tipas (nurodantis realizuojamų operacijų rinkinį; kiekvienas operacijos įrašas apibrėžia operaciją ir su ja susietas įvesties ir išvesties pranešimus), susiejimas (kiekvienam prievadui nurodantis konkretų protokolą ir duomenų formatą; prievadas yra prievadų tipo egzempliorius) ir paslauga (apibrėžiama kaip susijusių prievadų rinkinys).

• WSDL sukūrė IBM ir Microsoft; WSDL 1.1 versija 2001.03.15 įteikta pasaulinio tinklo konsorciumui. (žr.: http://www.w3.org/TR/wsdl ).

Page 38: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 38

PtP apibrėžimo kalba (WSDL)• WSDL stands for Web Services Description

Language • WSDL is written in XML • WSDL is an XML document • WSDL is used to describe Web services • WSDL is also used to locate Web services • WSDL is not yet a

W3C standard

WSDL dokumento struktūra:http://www.w3schools.com “WSDL Tutorial”, Refsnes Data, 2004

Page 39: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 39

WSDL dokumento struktūra

S. Chande “Introduction to WebServices” (Seminar on Semantic Web & Web Services, W3C Finland, 2003.05.06), Nokia. w3cseminar_sureshchande_6may2003.pdf

Page 40: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 40

WSDL moduliniai išplėtimai

S. Chande “Introduction to WebServices” (Seminar on Semantic Web & Web Services, W3C Finland, 2003.05.06), Nokia. w3cseminar_sureshchande_6may2003.pdf

Page 41: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 41

WSDL dokumento pavyzdys (1)<message name="getTermRequest">

<part name="term" type="xs:string"/>

</message>

<message name="getTermResponse">

<part name="value" type="xs:string"/>

</message>

<portType name="glossaryTerms"><operation name="getTerm"><input message="getTermRequest"/><output message="getTermResponse"/></operation>

</portType>http://www.w3schools.com “WSDL Tutorial”, Refsnes Data, 2004

Page 42: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 42

WSDL dokumento pavyzdys (2)

<binding type="glossaryTerms" name="b1">

<soap:binding style="document“ transport=

"http://schemas.xmlsoap.org/soap/http" />

<operation>

<soap:operation soapAction="http://example.com/getTerm"/>

<input> <soap:body use="literal"/> </input>

<output> <soap:body use="literal"/> </output>

</operation>

</binding>http://www.w3schools.com “WSDL Tutorial”, Refsnes Data, 2004

Page 43: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 43

PtP pavyzdys: Google Web APIs

http://www.google.com/apis/http://www.google.com/apis/download.html• WSDL: http://api.google.com/GoogleSearch.wsdl• SOAP: doSpellingSuggestion.xml –

doSpellingSuggestionResponse.xml doGetCachedPage.xml – doGetCachedPageResponse.xmldoGoogleSearch.xml – doGoogleSearchResponse.xml

• UDDI: http://uddi.microsoft.com

http://www.xmethods.net/tryit.html?url=http://api.google.com/GoogleSearch.wsdl

Page 44: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 44

Universalus aprašymo, atradimo ir integravimo (UDDI) registras

http://www.uddi.org/specification.html• UDDI registrai registruoja ir kategorizuoja pasaulinio

tinklo paslaugas, nurodydami verslo esybes, verslo paslaugas, susiejimo šablonus ir paslaugų tipus.

• UDDI registrai patys yra realizuojami kaip pasaulinio tinklo paslaugos.

• OASIS (t.y., Struktūrizuotos informacijos standartų kūrimo organizacija, e.verslo standartų pasaulinis konsorciumas) š.m. gegužės 20 d. patvirtino UDDI 2.0 versijos specifikaciją kaip OASIS atvirąjį standartą.

Page 45: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 45

Universalus aprašymo, atradimo ir integravimo (UDDI) registras

UDDI is a platform-independent framework for describing services, discovering businesses, and integrating business services by using the Internet.

• UDDI stands for Universal Description, Discovery and Integration

• UDDI is a directory for storing information about web services

• UDDI is a directory of web service interfaces described by WSDL

• UDDI communicates via SOAP • UDDI is built into the Microsoft .NET platform http://www.w3schools.com “WSDL Tutorial”, Refsnes

Data, 2004

Page 46: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 46

PtP protokolų raida

CBDI – IBM , 2001 , http://www.cbdiforum.com

Page 47: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 47

PtP raidos etapai

Mark Colan “Using Web Services Today (for Tomorrow)”http://ibm.com/developerworks/speakers/colan

Page 48: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 48

Protokolus rekomenduojančios ir rengiančios institucijos

• W3C (XML, XML-Signature, XML-Encryption, SOAP, WSDL, …)

• OASIS (tik ‘E-Business’ tematikai: UDDI, WSBPL, WSRF, WS-Notification, …)

• IBM + Microsoft + kt. (didelė „WS-…“ standartų grupė)• Liberty Alliance [Sun, Oracle, mobile Co., …] (Federated identity)

• Globus Alliance + IBM + kt. (“Stateful Web Services”)

• WS-I [visi, net ir OMG]: interoperability (Basic, Security,

Messaging,… profiles; testing tools, sample Web Services WG)

Page 49: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 49

PtP protokolai

L. Wilkes “The Web Services Protocol Stack”, CBDI Web Services Roadmap, Feb. 2005 http://roadmap.cbdiforum.com/reports/protocols/index.php

Page 50: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 50

PtP protokolų priėmimo raida

Mainstream - Standard ratified, or wide scale de facto adoptionEarly adoption - More robust implementations available and protocol well into standards process, encourages production usage by end user organizationsExperimentation - Early implementations provided by vendors permit experimentation, but are not recommended for production use. (e.g. technologies available from IBM Alphaworks do not support production use)Specification - Exists only as draft specification. Any usage requires hand coding.

L. Wilkes “The Web Services Protocol Stack”, CBDI Web Services Roadmap, Feb. 2005 http://roadmap.cbdiforum.com/reports/protocols/index.php

Page 51: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 51Nenusistovėjusių PtP standartų problemos sprendimo įmonėse būdai

Sanjay Gosain, Realizing the Vision for Web Services: Strategies for Dealing with Imperfect Standards. Proceedings of the Workshop on Standard Making: A Critical Research Frontier for Information Systems, John L. King and Kalle Lyytinen, (eds.), Seattle, WA, December 12-14, 2003, pp. 10-29. http://www.si.umich.edu/misq-stds/proceedings

Page 52: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

3. PtP protokolų išsluoksniuotumas, hierarchinė tarpusavio priklausomybė

Page 53: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 53

PtP protokolų sluoksniai (1)

S. Chande “Introduction to WebServices” (Seminar on Semantic Web & Web Services, W3C Finland, 2003.05.06), Nokia. http://www.w3c.tut.fi/events/2003/0506swws/arc/w3cseminar_sureshchande_6may2003.pdf

Page 54: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 54

W3C rekomenduojamas PtP protokolų sluoksnių rinkinys

S. Chande “Introduction to WebServices” (Seminar on Semantic Web & Web Services, W3C Finland, 2003.05.06), Nokia. http://www.w3c.tut.fi/events/2003/0506swws/arc/w3cseminar_sureshchande_6may2003.pdf

Page 55: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 55

PGA ir PtP protokolų sluoksniai (IBM)

Mark Colan “Using Web Services Today (for Tomorrow)”http://ibm.com/developerworks/speakers/colan

Page 56: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 56

PGA ir PtP protokolų sluoksniai (IBM)

M. Endrei, J. Ang, „IBM Redbooks Patterns: Service Oriented Architecture And Web

Services“. IBM Redbooks, 2004 www.redbooks.ibm.com/redbooks/pdfs/sg246303.pdf

Page 57: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 57

PtP protokolų komponuojamumas

D.F. Ferguson, T. Storey, B. Lovering, J. Shewchuk Secure, “Reliable, Transacted Web Services: Architecture and Composition”, IBM Corporation & Microsoft Corporation, 2003http://msdn.microsoft.com/webservices/understanding/advancedwebservices/default.aspx?pull=/library/en-us/dnwebsrv/html/wsoverview.asp

Page 58: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 58

PtP protokolų sąveikos pavyzdys

D.F. Ferguson, T. Storey, B. Lovering, J. Shewchuk Secure, “Reliable, Transacted Web Services: Architecture and Composition”, IBM Corporation & Microsoft Corporation, 2003http://msdn.microsoft.com/webservices/understanding/advancedwebservices/default.aspx?pull=/library/en-us/dnwebsrv/html/wsoverview.asp

Page 59: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 59

Analogija tarp Interneto ir PtP protokolų

Mario Jeckle, Erik Wilde “Identical Principles, Higher Layers: Modeling Web Services as Protocol Stack”, XML-Europe’04 , 2004 , http://www.jeckle.de/files/xmleu04/ http://www.jeckle.de/webServices

Page 60: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 60

Į verslo paslaugas orientuota architektūra

Page 61: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

4. Išskirstyti skaičiavimai globaliuose tinkluose ir būsenas turinčios PtP (angl.: Grid Computing & stateful Web Services)

Page 62: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 62

Skaičiuojamieji tinklai (angl.: Grid Computing)

• http://www.webopedia.com/TERM/g/grid_computing.html Grid computing is a form of networking. Unlike conventional networks that focus on communication among devices, grid computing harnesses unused processing cycles of all computers in a network for solving problems too intensive for any stand-alone machine.

• http://whatis.techtarget.com/Grid computing (or the use of a computational grid) is applying the resources of many computers in a network to a single problem at the same time - usually to a scientific or technical problem that requires a great number of computer processing cycles or access to large amounts of data.

Page 63: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 63

Išskirstytų skaičiavimų globaliuose tinkluose tematikos esama būsena

T. Hey, G. Fox “The Future of the Grid - e-Science to e-Business”, 2003.03.28 CERNGridLectures5.ppt , http://www.globus.org

Page 64: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 64

Išskirstytų mokslinių skaičiavimų globaliuose tinkluose architektūra

T. Hey, G. Fox “The Future of the Grid - e-Science to e-Business”, 2003.03.28 CERNGridLectures5.ppt , http://www.globus.org

Page 65: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 65

Globus Toolkit protokolai OGSA

I. Foster, C. Kesselman, J.M. Nick, S.Tuecke “The Physiology of the Grid: An Open Grid Services Architecture for Distributed Systems Integration”, 2002 http://www.globus.org/research/papers/ogsa.pdf

Page 66: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 66

OGSA: būsenas turinčių PtP veikimas

I. Foster, C. Kesselman, J.M. Nick, S.Tuecke “The Physiology of the Grid: An Open Grid Services Architecture for Distributed Systems Integration”, 2002 http://www.globus.org/research/papers/ogsa.pdf

Page 67: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 67

WS-Resource Framework: specifikacijų šeima būsenas turinčioms PtP

• WS-Resource Framework (WS-RF) is a set of Web services specifications that define a rendering of the WS-Resource approach in terms of specific message exchanges and related XML definitions.

• The WS-Resource construct expresses the relationship between stateful resources and Web services.

• Specification documents that provide the normative definition of the framework: WS-ResourceProperties, WS-ResourceLifetime, WS-RenewableReferences, WS-ServiceGroup, and WS-BaseFaults. In addition, WS-Resource framework can support WS-Notification (set of specifications concerned with event notification).

• WS-RF specifications allow to declare and implement the association between a Web service and one or more identified, typed state components called WS-Resources; i.e.: (1) describe the means by which the type of a WS-Resource

is defined and associated with a Web service description; (2) describe how the state of a WS-Resource is made accessible

through a Web service interface; (3) define related mechanisms concerned with

resource grouping and addressing. http://www-106.ibm.com/developerworks/library/ws-resource/ws-wsrfpaper.html 2004.03.05

Page 68: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 68

Atvirųjų standartų plėtra

T. Hey, G. Fox “The Future of the Grid - e-Science to e-Business”, 2003.03.28 CERNGridLectures5.ppt , http://www.globus.org

Page 69: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 69

Išskirstytų skaičiavimų globaliuose tinkluose numatoma raida

T. Hey, G. Fox “The Future of the Grid - e-Science to e-Business”, 2003.03.28 CERNGridLectures5.ppt , http://www.globus.org

Page 70: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

5. PtP tarpusavio suderinamumo užtikrinimas ( http://www.ws-i.org/ )

Page 71: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 71

WS-I poreikis

• Web services has its foundations in XML, which itself is interoperable across all platforms and programming languages.

• However, because Web services leverages heavily on the extensible nature of XML, the interoperability aspect of Web services is significantly challenged.

• Most, if not all, vendors provide support for the established Web services standards.

• But, they are still motivated to provide added value to their customers in the form of advanced feature support for things such as security, reliability, transactions, and business process orchestration.

http://www.ws-i.org

Page 72: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 72

Reikiama PtP tarpusavio sąveika

• Across platforms, applications, and languages• Consistent, reliable interoperability between

Web services technologies from multiple vendors

• A standards integrator to help Web services advance in a structured, coherent manner

http://www.ws-i.org

Page 73: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 73

WS-I tikslai (1)

• Achieve Web services interoperability• Across platforms, applications and languages

• Encourage Web services adoption• Among customers, industries and end users

• Accelerate Web services deployment

• Promote a common, clear definition for Web services• Integrate specifications from various standards bodies• Provide a visible representation of conformance through

use of WS-I logohttp://www.ws-i.org

Page 74: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 74

WS-I tikslai (2)

• Build industry consensus to reduce early adopter risks• Provide a forum for end users to communicate

requirements• Act as a customer advocate to raise awareness of

business requirements

• Offer implementation guidance and best practices• Deliver tools and sample applications• Provide a forum for Web services developers to

collaborate and share expertisehttp://www.ws-i.org

Page 75: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 75

WS-I darbo rezultatai (1)

• Profiles• Named groups of specifications at given version

levels with conventions about how they work together

• Use cases and usage scenarios• Solution scenarios based on customer requirements

• Sample code and applications • Test suites and supporting materials

• Conformance testing tools• Supporting documentation and white papers

http://www.ws-i.org

Page 76: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 76

WS-I darbo rezultatai (2)

BasicProfile-1.0intro.ppt , 2003.08.12Web Services Interoperability Organization (WS-I) http://www.ws-i.org

Page 77: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 77

WS-I bazinis profilis (1)

• SOAP 1.1, WSDL 1.1, UDDI 2.0, XML 1.0, XML Schema and HTTP 1.1

• More than 200 interoperability issues resolved• Conventions around messaging, description,

discovery such as:• Deprecation of RPC-encoded (use schema as the

interoperable type system)• Support and guidelines for RPC/lit• Unique signatures for input messages• Fault and error handling clarifications

BasicProfile-1.0intro.ppt , 2003.08.12Web Services Interoperability Organization (WS-I) http://www.ws-i.org

Page 78: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 78

WS-I bazinis profilis (2)

Page 79: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 79

WS-I, standartų organizacijos, verslas

Businesses, Industry Consortia, Developers, End-Users

Requirements

Standards andSpecifications

Requirements

ImplementationGuidance

http://www.ws-i.org

Page 80: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

6. PGA, pasaulinio tinklo paslaugų pavyzdžiai

Page 81: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 81

Populiarios PtP realizavimo priemonės Priemonės Palaikomos OS Programavimo kalba

Apache SOAP UNIX, Windows Java

WASP UNIX, Windows C++

GLUE UNIX, Windows Java

SOAP BEA WebLogic UNIX, Windows Java

MS SOAP Toolkit Windows C++, VB, COM

.NET Framework Windows C#, VB.NET

SOAP::Lite UNIX, Windows Perl

PocketSOAP WinCE C++

SOAP for ADA Linux Ada

Web Service Behavior Windows JavaScript, DHTML

SOAPx4 UNIX PHP

Delphi 6 Windows Delphi

Kafka Windows XSLT

Keith Ballinger „.NET Web Services: Architecture and Implementation“. Addison Wesley, 2003.

Page 82: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 82

‘Vadovėlinis’ PtP pavyzdys

© http://www.webservices.org

Pasaulinio tinklo paslaugų programų serveris

Pasaulinio tinklo paslaugų

klientinės programos

Apsaugos “siena”

Apsaugos “siena”

Sąveika per pasaulinį tinklą

Bevielės pasaulinio tinklo taikomosios programos

Vidinis UDDI registras

Esamos COM, DCOM, RMI ar CORBA

taikomosios programos

Pasaulinio tinklo paslaugų

klientinės programos

Pas.tinklo paslaugų programų serveris

Pagr.kompiuteris

DB

Page 83: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 83

PtP Microsoft .NET aplinkoje

Rasesh Trivedi, Web Services Architecture Models. White paper.RCG Information Technology, April 2002.

Page 84: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 84

PtP J2EE aplinkoje naudojant IBM

Rasesh Trivedi, Web Services Architecture Models. White paper.RCG Information Technology, April 2002.

Page 85: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 85

Vandens išteklių valdymoinformacinė sistema (pagrįsta pasaulinio tinklo paslaugomis)

RAAD

Monitoringotaškai

RAAD

RAADlaboratorijos

Vand.DB

AAAlaboratorija

EAA(EIONET)

Liet.StatistikosDepartam.

...

...

AM padaliniai

LGT

Internetas...

Regioninėsstotys

Hydrologijosmonitoringo

taškai

Hy-mer

LHMT

VIVIS portalas

VIVISmetaDB

AAA

Vandenstiekėjai

Jūr.Tyr.C.Jūros, etc.

monitoringotaškai

Page 86: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

7. Pasaulinio tinklo paslaugų tolesnės raidos perspektyvos

Page 87: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 87

Pasaulinio kompiuterių tinklo kartos

1. Pamatų padėjimas: HTML kalba derinyje su HTTP ryšio protokolu (WWW) [praeitame dešimtmetyje; Internetui Lietuvoje – 15 m.]

2. Save aprašančių dokumentų naudojimas, remiantis XML ir RDF kalbomis [prieš 5 metus]

3. Semantinio pasaulinio tinklo (angl.: "Semantic Web") kūrimo pradžia, siekiant paruošti galimybę automatinei semantinei kompiuterių tarpusavio sąveikai [šiuo metu]

Page 88: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 88

Semantinio pasaulinio tinklo idėjaTikslas: automatinė kompiuterių tarpusavio sąveika

bendrai priimtos terminijos pagrindu, naudojant:• ontologijų kalbas ,• logikos formalizmus , • loginio išvedimo galimybes .(Kitaip tariant, pereinama nuo kompiuterių skaitomos

prie kompiuterių suprantamos informacijos).

W3C papildomi reikalavimai: • realizuojama XML bazėje• semantinius teiginius išreiškiančios deklaratyvios kalbos

turi būti RDF ir RDF Schemos antstatu

Page 89: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 89

Semantinio pasaulinio tinklo architektūra(Tim Berners-Lee vizija)

http://www.w3.org/2000/Talks/1206-xml2k-tbl/slide10-0.html

Page 90: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 90

XMLHTML

SMILXHTML RDF(S)

PICS

Deklaratyvios kalbos(OIL, DAML-Ont) OWL

DC

Šiuo metu svarbiausios SPt kalbos

Page 91: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 91

Pasaulinio tinklo ontologijų kalba (angl. Web Ontology Language, OWL)

• OWL yra Semantinio pasaulinio tinklo sudamoji dalis; ją kuria “W3C Web Ontology” darbo grupė DAML+OIL ontologijų kalbos pagrindu.

• 2002.03.08 išleidžiama OWL reikalavimų dokumento 1 vers.;

• 2002.11.08 išleidžiama pirma OWL vadovo versija;• 2003.04.04 W3C paskelbia OWL 1.0 versijos

paskutinius darbinius juodraščius• 2003.08.18 W3C paskelbia šešias OWL specifikacijas• 2004.02.10 RDF ir OWL tampa W3C rekomendacijomis.http://xml.coverpages.org/owl.html , http://www.w3.org/TR/owl-features/

Page 92: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

Semantinio pasaulinio tinklo paslaugos (SPtP)irpasaulinio tinklo paslaugų inteletualizavimas ontologijomis

Page 93: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 93

SPtP idėja (1)

D. Fensel, Ch. Bussler. Semantic Web Enabled Web Serviceshttp://nextwebgeneration.com/swsi/resources/wsmf.pdf

Informacijos radimo, gavimo, vaizdavimo, interpretavimo, palaikymo problemiškumas

Pasaulinis tinklas (WWW)URI, HTML, HTTP

Semantinis pasaulinis tinklasRDF, RDF(S), OWL

Statinis pasaulinis tinklas

Page 94: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 94

SPtP (2)

D. Fensel, Ch. Bussler. Semantic Web Enabled Web Serviceshttp://nextwebgeneration.com/swsi/resources/wsmf.pdf

Pasaulinis tinklas (WWW)URI, HTML, HTTP

Semantinis pasaulinis tinklasRDF, RDF(S), OWL

Pasaulinio tinklo paslaugosUDDI, WSDL, SOAP

Dinaminis pasaulinistinklas

Statinis pasaulinis tinklas

Kompiuterių skaičiuojamosios galios panaudojimas

Page 95: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 95

SPtP (3)

D. Fensel, Ch. Bussler. Semantic Web Enabled Web Services, http://nextwebgeneration.com/swsi/resources/wsmf.pdf

Semantinis pasaulinis tinklasRDF, RDF(S), OWL

Pasaulinio tinklo paslaugosUDDI, WSDL, SOAP

Intelektualios pasaulinio tinklo paslaugos

Pasaulinio tinklo naudojimas visu pajėgumu

Dinaminis pasaulinistinklas

Statinis pasaulinis tinklas

Pasaulinis tinklas (WWW)URI, HTML, HTTP

Page 96: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 96

Ontologijų reikšmė (1)• Ontologijos apibrėžia:

1) informacijos formaliąją semantiką, tapdamos kompiuterizuoto informacijos apdorojimo pagrindu; 2) realaus pasaulio semantiką, tuo leisdamos susieti kompiuterizuotai apdorojamą turinį su žmonėms suprantama informacijos prasme, remiantis bendrai sutarta terminija.

• To dėka, ontologijos suteikia programinių komponentų (tame tarpe ir pasaulinio tinklo paslaugų) intelektualios tarpusavio sąveikos galimybę, remiantis nuorodomis į tą pačią ar susijusią terminiją.

Page 97: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 97

Ontologijų reikšmė (2)• Ontologijomis gali būti aprašomos

pasaulinio tinklo paslaugos ir jų sąsajos; sąsajų parametrai specifikuojami su atskiromis ontologinėmis sąvokomis.

• To dėka – ontologijos padeda integruoti skirtingas pasaulinio tinklo paslaugas į darnią visumą (užtikrinant tinkamą jų tarpusavio sąveiką, sprendžiant struktūrinio bei semantinio nevienalytiškumo, skirtingumo problemas).

Page 98: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 98

Pasaulinio tinklo paslaugų ontologija DAML-S ( http://www.daml.org/services/ )

• DAML-S numato, kad trys svarbiausios žinių apie pasaulinio tinklo paslaugas rūšys yra paslaugos profilis („ką paslauga daro?“), modelis („kaip paslauga veikia?“) ir išmokymas („kaip kreiptis į paslaugą?“).

• Naudojant su DAML-S grindžiamus programinius agentus galima automatizuoti PtP radimą, iškvietimą, komponavimą, tarpusavio sąveiką ir vykdymo priežiūrą.

• DAML-S yra sukurtas DAML+OIL pagrindu (tiesiog tai yra viena iš galimų DAML+OIL ontologijų); vėlesnes DAML-S versijas numatoma kurti OWL kalba.

Page 99: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 99

Pasaulinio tinklo paslaugų modeliavimo karkasas (WSMF)• WSMF skirtas pasaulinio tinklo paslaugų kūrimui,

aprašymui ir jų komponavimui į sudėtingas PtP. WSMF suteikia galingas PtP visavertiško koncepcinio modeliavimo priemones e.verslo pasaulinio tinklo paslaugoms kurti ir aprašyti.

• WSMF sudaro 4 pagrindiniai elementai: ontologijos (kurios suteikia, apibrėžia kitų elementų vartojamą terminiją), pajėgumų repozitorijai (apibrėžiantys su PtP galimas spręsti problemas, kitaip tariant, tikslus, kuriuos gali turėti į pasaulinio tinklo paslaugas besikreipiantys klientai), PtP aprašai (apibrėžiantys įvairius PtP aspektus) ir tarpininkavimo priemonės (sprendžiančios PtP tarpusavio sąveikos problemas).

Page 100: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 100

SPtP iniciatyvos SPtP kalbos d.gr. siūlymai PtP standartų rinkiniui

M. Kifer, D. Martin. Bringing Services to the Semantic Web and Semantics to Web Servidese, Dec. 16, 2002 http://swsc.semanticweb.org/resources/swsc-lc-intro.ppt

Tinklo protokolai Paslaugų aprašai

W3C pas.tinkl.pasl. choreografijos grupė BPEL4WS (Microsoft, IBM, BEA) WSCL (HP), BPML (daug-be Microsoft) WSCL (Sun, BEA, Yahoo, …) XLANG (Microsoft), WSFL (IBM),…

SOAP blokai

SOAP/XMLP

XML

HTTP / SMTP

TCP/IP

WSDL išplėtimai

Procesai

SPTP kalba

Registras (UDDI)

Inspektavimas

SPTP iniciatyva (angl.: SWSI) Automatizuojamos užduotys: atradimas; iškvietimas; tarpusavio sąveika; derybos dėl sandėrių; komponavimas; monitoringas; verifikavimas.

WSDL

XML

Page 101: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 101

GTTDP ateities bendrasis kontekstas

Web

WebServ

SemWeb

SemWebServ

Grid&SemWGridWebServGridComputing

Page 102: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 102

GTTDP ateities bendrasis kontekstas

Web

WebServ

SemWeb

SemWebServ

WF

Grid&SemWGridWebServGridComputing

BPEL4WS

... ....

...

Page 103: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

MII 103

8. Ketinantiems pasidomėti plačiau

• M. Endrei, J. Ang, „IBM Redbooks Patterns: Service Oriented Architecture And Web Services“. IBM Redbooks (ibm.com/redbooks), 2004, 370 p.

http://www.redbooks.ibm.com/redbooks/pdfs/sg246303.pdf • Keith Ballinger „.NET Web Services: Architecture and

Implementation“. Addison Wesley, February 14, 2003

• Douglas K. Barry „Web Services and Service-Oriented Architecture: The Savvy Manager's Guide“. Morgan Kaufmann Publishers, 2003, 245 p.

Page 104: Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos ( mask/SOA ) Saulius Maskeliūnas Matematikos ir informatikos.

Ačiū už dėmesį !