SlideShare una empresa de Scribd logo
1 de 104
Paslaugomis grindžiama 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
MII 2
Turinys
1. 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
MII 3
1. Paslaugomis grindžiama
architektūra (PGA)
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
MII 5
Paslaugomis grindžiama architektūra
(PGA)
http://www.w3.org/TR/ws-arch/ , 2003.05.14
MII 6
Paslaugomis grindžiama architektūra
IT transformation to Service-Oriented architecture.
Bea White paper, 2004. http://www.bea.com
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ų.
MII 8
PGA apibrėžimai
1) 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
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
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
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
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.
1. 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.
2. 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.
3. 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
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
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
MII 15
PtP funkcionavimo schema
Systinet Corporation “Introduction to Web Services”, White paper, 2002
http://www.systinet.com/resources/white_papers
UDDI
registras
WSDL
Nuoroda į aprašymą
Paslau-
gos var-
totojas
Paslaugos
paieška
Pasaulinio
tinklo
paslauga
Nuoroda
į paslaugą Paslaugos
aprašymas
SOAP
XML pranešimai
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
MII 17
PGA formatai ir protokolai
Systinet Corp. “Introduction to Web Services Architecture”, 2002
wp_Systinet_SOA.pdf , http://www.systinet.com
2. Pasaulinio tinklo paslaugų
(PtP) samprata
MII 19
PtP apibrėžimas
Pasaulinio 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
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.
MII 21
PtP architektūros metamodelis
http://www.w3.org/TR/ws-arch/
MII 22
1) Pranešimai
MII 23
2) Paslaugos
MII 24
3) Ištekliai
MII 25
4) Nustatyta tvarka
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
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 )
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
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
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
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
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
MII 33
SOAP - paslaugomis grindžiamos
architektū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/ ).
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
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
MII 36
SOAP pranešimų poros pavyzdys
http://www.w3schools.com “SOAP Tutorial”, Refsnes Data, 2004
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 ).
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
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
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
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
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
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.xml
doGoogleSearch.xml – doGoogleSearchResponse.xml
• UDDI: http://uddi.microsoft.com
http://www.xmethods.net/tryit.html?url=http://api.google.co
m/GoogleSearch.wsdl
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ą.
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
MII 46
PtP protokolų raida
CBDI – IBM , 2001 , http://www.cbdiforum.com
MII 47
PtP raidos etapai
Mark Colan “Using Web Services Today (for Tomorrow)”
http://ibm.com/developerworks/speakers/colan
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)
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
MII 50
PtP protokolų priėmimo raida
Mainstream - Standard ratified, or wide scale de facto adoption
Early adoption - More robust implementations available and protocol well into standards
process, encourages production usage by end user organizations
Experimentation - 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
MII 51
Nenusistovė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
3. PtP protokolų
išsluoksniuotumas, hierarchinė
tarpusavio priklausomybė
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
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
MII 55
PGA ir PtP protokolų sluoksniai (IBM)
Mark Colan “Using Web Services Today (for Tomorrow)”
http://ibm.com/developerworks/speakers/colan
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
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, 2003
http://msdn.microsoft.com/webservices/understanding/advancedwebservices/default.aspx?pull=/library/en-us/dnwebsrv/html/wsoverview.asp
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, 2003
http://msdn.microsoft.com/webservices/understanding/advancedwebservices/default.aspx?pull=/library/en-us/dnwebsrv/html/wsoverview.asp
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
MII 60
Į verslo paslaugas orientuota
architektūra
4. Išskirstyti skaičiavimai
globaliuose tinkluose ir
būsenas turinčios PtP
(angl.: Grid Computing
& stateful Web Services)
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.
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
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
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
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
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
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
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
5. PtP tarpusavio
suderinamumo užtikrinimas
( http://www.ws-i.org/ )
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
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
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 logo
http://www.ws-i.org
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 expertise
http://www.ws-i.org
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
MII 76
WS-I darbo rezultatai (2)
BasicProfile-1.0intro.ppt , 2003.08.12
Web Services Interoperability Organization (WS-I)
http://www.ws-i.org
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.12
Web Services Interoperability Organization (WS-I)
http://www.ws-i.org
MII 78
WS-I bazinis profilis (2)
MII 79
WS-I, standartų organizacijos, verslas
Businesses, Industry Consortia, Developers, End-Users
Requirements
Standards and
Specifications
Requirements
Implementation
Guidance
http://www.ws-i.org
6. PGA, pasaulinio tinklo
paslaugų pavyzdžiai
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.
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
MII 83
PtP Microsoft .NET aplinkoje
Rasesh Trivedi, Web Services Architecture Models. White paper.
RCG Information Technology, April 2002.
MII 84
PtP J2EE aplinkoje naudojant IBM
Rasesh Trivedi, Web Services Architecture Models. White paper.
RCG Information Technology, April 2002.
MII 85
Vandens
išteklių
valdymo
informacinė
sistema
(pagrįsta
pasaulinio
tinklo
paslaugomis)
RAAD
Monitoringo
taškai
RAAD
RAAD
laboratorijos
mėginiai
mėginiai
Vand.
DB
AAA
laboratorija
EAA
(EIONET)
Liet.
Statistikos
Departam.
...
...
AM padaliniai
LGT
Internetas
...
Regioninės
stotys
Hydrologijos
monitoringo
taškai
Hy-
mer
LHMT
VIVIS portalas
VIVIS
meta
DB
AAA
Vandens
tiekėjai
Jūr.Tyr.C.
Jūros, etc.
monitoringo
taškai
7. Pasaulinio tinklo paslaugų
tolesnės raidos perspektyvos
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]
MII 88
Semantinio pasaulinio tinklo idėja
Tikslas: 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
MII 89
Semantinio pasaulinio tinklo architektūra
(Tim Berners-Lee vizija)
http://www.w3.org/2000/Talks/1206-xml2k-tbl/slide10-0.html
MII 90
XML
HTML
SMIL
XHTML RDF(S)
PICS
Deklaratyvios kalbos
(OIL, DAML-Ont)  OWL
DC
Šiuo metu svarbiausios SPt kalbos
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/
Semantinio pasaulinio tinklo
paslaugos (SPtP)
ir
pasaulinio tinklo paslaugų
inteletualizavimas ontologijomis
MII 93
SPtP idėja (1)
D. Fensel, Ch. Bussler. Semantic Web Enabled Web Services
http://nextwebgeneration.com/swsi/resources/wsmf.pdf
Informacijos
radimo,
gavimo,
vaizdavimo,
interpretavimo,
palaikymo
problemiškumas
Pasaulinis tinklas
(WWW)
URI, HTML, HTTP
Semantinis pasaulinis
tinklas
RDF, RDF(S), OWL
Statinis
pasaulinis
tinklas
MII 94
SPtP (2)
D. Fensel, Ch. Bussler. Semantic Web Enabled Web Services
http://nextwebgeneration.com/swsi/resources/wsmf.pdf
Pasaulinis tinklas
(WWW)
URI, HTML, HTTP
Semantinis pasaulinis
tinklas
RDF, RDF(S), OWL
Pasaulinio tinklo
paslaugos
UDDI, WSDL, SOAP
Dinaminis
pasaulinis
tinklas
Statinis
pasaulinis
tinklas
Kompiuterių
skaičiuojamosios
galios
panaudojimas
MII 95
SPtP (3)
D. Fensel, Ch. Bussler. Semantic Web Enabled Web Services,
http://nextwebgeneration.com/swsi/resources/wsmf.pdf
Semantinis pasaulinis
tinklas
RDF, RDF(S), OWL
Pasaulinio tinklo
paslaugos
UDDI, WSDL, SOAP
Intelektualios
pasaulinio tinklo
paslaugos
Pasaulinio tinklo naudojimas visu pajėgumu
Dinaminis
pasaulinis
tinklas
Statinis
pasaulinis
tinklas
Pasaulinis tinklas
(WWW)
URI, HTML, HTTP
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ą.
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).
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.
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).
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
MII 101
GTTDP ateities bendrasis kontekstas
Web
WebServ
SemWeb
SemWebServ
Grid&SemW
GridWebServ
GridComputing
MII 102
GTTDP ateities bendrasis kontekstas
Web
WebServ
SemWeb
SemWebServ
WF
Grid&SemW
GridWebServ
GridComputing
BPEL4WS
... ....
...
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.
Ačiū už dėmesį !

Más contenido relacionado

Similar a Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos

A. Kovaliov ir M. Žemaitis: Viešieji pirkimai ir Agile. Rekomendacijos
A. Kovaliov ir M. Žemaitis: Viešieji pirkimai ir Agile. RekomendacijosA. Kovaliov ir M. Žemaitis: Viešieji pirkimai ir Agile. Rekomendacijos
A. Kovaliov ir M. Žemaitis: Viešieji pirkimai ir Agile. RekomendacijosAgile Lietuva
 
Kurasova, Olga ; Marcinkevičius, Virginijus ; Medvedev, Viktor ; Rapečka, Aur...
Kurasova, Olga ; Marcinkevičius, Virginijus ; Medvedev, Viktor ; Rapečka, Aur...Kurasova, Olga ; Marcinkevičius, Virginijus ; Medvedev, Viktor ; Rapečka, Aur...
Kurasova, Olga ; Marcinkevičius, Virginijus ; Medvedev, Viktor ; Rapečka, Aur...Lietuvos kompiuterininkų sąjunga
 
Viešieji pirkimai ir Agile. Rekomendacijos (Agile Lietuva meetup 2020 11)
Viešieji pirkimai ir Agile. Rekomendacijos (Agile Lietuva meetup 2020 11)Viešieji pirkimai ir Agile. Rekomendacijos (Agile Lietuva meetup 2020 11)
Viešieji pirkimai ir Agile. Rekomendacijos (Agile Lietuva meetup 2020 11)Alexey Kovalyov
 
Galima daryti kitaip
Galima daryti kitaipGalima daryti kitaip
Galima daryti kitaipKarolisVyius1
 
IT paslaugų valdymo pertvarka remiantis COBIT principais. A.Glemža
IT paslaugų valdymo pertvarka remiantis COBIT principais. A.GlemžaIT paslaugų valdymo pertvarka remiantis COBIT principais. A.Glemža
IT paslaugų valdymo pertvarka remiantis COBIT principais. A.GlemžaBKA (Baltijos kompiuteriu akademija)
 
Lietuvos kompiuterininkų sąjungos veikla 2015–2017 metais. Saulius MASKELIŪNAS
Lietuvos kompiuterininkų sąjungos veikla 2015–2017 metais. Saulius MASKELIŪNASLietuvos kompiuterininkų sąjungos veikla 2015–2017 metais. Saulius MASKELIŪNAS
Lietuvos kompiuterininkų sąjungos veikla 2015–2017 metais. Saulius MASKELIŪNASLietuvos kompiuterininkų sąjunga
 
Agile viešojo sektoriaus projektuose - kaip igyvendinti praktiškai. Arūnas St...
Agile viešojo sektoriaus projektuose - kaip igyvendinti praktiškai. Arūnas St...Agile viešojo sektoriaus projektuose - kaip igyvendinti praktiškai. Arūnas St...
Agile viešojo sektoriaus projektuose - kaip igyvendinti praktiškai. Arūnas St...Agile Lietuva
 
Vietos nustatymu grindžiamų paslaugų sistemų architektūra
Vietos nustatymu grindžiamų paslaugų sistemų architektūraVietos nustatymu grindžiamų paslaugų sistemų architektūra
Vietos nustatymu grindžiamų paslaugų sistemų architektūraSaulius Maskeliunas
 
Kodėl programinės įrangos inžinieriui reikia žinoti apie MBSE?
Kodėl programinės įrangos inžinieriui reikia žinoti apie MBSE?Kodėl programinės įrangos inžinieriui reikia žinoti apie MBSE?
Kodėl programinės įrangos inžinieriui reikia žinoti apie MBSE?Donatas Mažeika
 
Agile product backlog for the gov project
Agile product backlog for the gov projectAgile product backlog for the gov project
Agile product backlog for the gov projectAlexey Kovalyov
 
Ontologijos, semantinis saitynas ir semantinė paieška
Ontologijos, semantinis saitynas ir semantinė paieškaOntologijos, semantinis saitynas ir semantinė paieška
Ontologijos, semantinis saitynas ir semantinė paieškaSaulius Maskeliunas
 
Asociatyvinė QlikView prigimtis
Asociatyvinė QlikView prigimtisAsociatyvinė QlikView prigimtis
Asociatyvinė QlikView prigimtisDay Q
 
Cloud Computing and Microsoft Azure Platform
Cloud Computing and Microsoft Azure PlatformCloud Computing and Microsoft Azure Platform
Cloud Computing and Microsoft Azure PlatformSergejus Barinovas
 
Tomas PRANCKEVIČIUS. Debesų kompiuterijos technologijų lygiagrečių skaičiavim...
Tomas PRANCKEVIČIUS. Debesų kompiuterijos technologijų lygiagrečių skaičiavim...Tomas PRANCKEVIČIUS. Debesų kompiuterijos technologijų lygiagrečių skaičiavim...
Tomas PRANCKEVIČIUS. Debesų kompiuterijos technologijų lygiagrečių skaičiavim...Lietuvos kompiuterininkų sąjunga
 
5 būdai dalintis verslo analitikos įžvalgomis
5 būdai dalintis verslo analitikos įžvalgomis5 būdai dalintis verslo analitikos įžvalgomis
5 būdai dalintis verslo analitikos įžvalgomisDay Q
 
Agile taikymas vystant ir prižiūrint VGTU IS 2016-08-30
Agile taikymas vystant ir prižiūrint VGTU IS 2016-08-30Agile taikymas vystant ir prižiūrint VGTU IS 2016-08-30
Agile taikymas vystant ir prižiūrint VGTU IS 2016-08-30Paulius Nomgaudas
 
Paskaita nr1 savokos_topologija
Paskaita nr1 savokos_topologijaPaskaita nr1 savokos_topologija
Paskaita nr1 savokos_topologijaDonatas Bukelis
 

Similar a Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos (20)

A. Kovaliov ir M. Žemaitis: Viešieji pirkimai ir Agile. Rekomendacijos
A. Kovaliov ir M. Žemaitis: Viešieji pirkimai ir Agile. RekomendacijosA. Kovaliov ir M. Žemaitis: Viešieji pirkimai ir Agile. Rekomendacijos
A. Kovaliov ir M. Žemaitis: Viešieji pirkimai ir Agile. Rekomendacijos
 
Kurasova, Olga ; Marcinkevičius, Virginijus ; Medvedev, Viktor ; Rapečka, Aur...
Kurasova, Olga ; Marcinkevičius, Virginijus ; Medvedev, Viktor ; Rapečka, Aur...Kurasova, Olga ; Marcinkevičius, Virginijus ; Medvedev, Viktor ; Rapečka, Aur...
Kurasova, Olga ; Marcinkevičius, Virginijus ; Medvedev, Viktor ; Rapečka, Aur...
 
Viešieji pirkimai ir Agile. Rekomendacijos (Agile Lietuva meetup 2020 11)
Viešieji pirkimai ir Agile. Rekomendacijos (Agile Lietuva meetup 2020 11)Viešieji pirkimai ir Agile. Rekomendacijos (Agile Lietuva meetup 2020 11)
Viešieji pirkimai ir Agile. Rekomendacijos (Agile Lietuva meetup 2020 11)
 
Galima daryti kitaip
Galima daryti kitaipGalima daryti kitaip
Galima daryti kitaip
 
IT paslaugų valdymo pertvarka remiantis COBIT principais. A.Glemža
IT paslaugų valdymo pertvarka remiantis COBIT principais. A.GlemžaIT paslaugų valdymo pertvarka remiantis COBIT principais. A.Glemža
IT paslaugų valdymo pertvarka remiantis COBIT principais. A.Glemža
 
Lietuvos kompiuterininkų sąjungos veikla 2015–2017 metais. Saulius MASKELIŪNAS
Lietuvos kompiuterininkų sąjungos veikla 2015–2017 metais. Saulius MASKELIŪNASLietuvos kompiuterininkų sąjungos veikla 2015–2017 metais. Saulius MASKELIŪNAS
Lietuvos kompiuterininkų sąjungos veikla 2015–2017 metais. Saulius MASKELIŪNAS
 
Agile viešojo sektoriaus projektuose - kaip igyvendinti praktiškai. Arūnas St...
Agile viešojo sektoriaus projektuose - kaip igyvendinti praktiškai. Arūnas St...Agile viešojo sektoriaus projektuose - kaip igyvendinti praktiškai. Arūnas St...
Agile viešojo sektoriaus projektuose - kaip igyvendinti praktiškai. Arūnas St...
 
Vietos nustatymu grindžiamų paslaugų sistemų architektūra
Vietos nustatymu grindžiamų paslaugų sistemų architektūraVietos nustatymu grindžiamų paslaugų sistemų architektūra
Vietos nustatymu grindžiamų paslaugų sistemų architektūra
 
Kodėl programinės įrangos inžinieriui reikia žinoti apie MBSE?
Kodėl programinės įrangos inžinieriui reikia žinoti apie MBSE?Kodėl programinės įrangos inžinieriui reikia žinoti apie MBSE?
Kodėl programinės įrangos inžinieriui reikia žinoti apie MBSE?
 
Agile product backlog for the gov project
Agile product backlog for the gov projectAgile product backlog for the gov project
Agile product backlog for the gov project
 
Ontologijos, semantinis saitynas ir semantinė paieška
Ontologijos, semantinis saitynas ir semantinė paieškaOntologijos, semantinis saitynas ir semantinė paieška
Ontologijos, semantinis saitynas ir semantinė paieška
 
Asociatyvinė QlikView prigimtis
Asociatyvinė QlikView prigimtisAsociatyvinė QlikView prigimtis
Asociatyvinė QlikView prigimtis
 
LIKS ataskaita 2019-2021 m.
LIKS ataskaita 2019-2021 m.LIKS ataskaita 2019-2021 m.
LIKS ataskaita 2019-2021 m.
 
IT Karjeros Receptai
IT Karjeros ReceptaiIT Karjeros Receptai
IT Karjeros Receptai
 
Cloud Computing and Microsoft Azure Platform
Cloud Computing and Microsoft Azure PlatformCloud Computing and Microsoft Azure Platform
Cloud Computing and Microsoft Azure Platform
 
PI_6_paskaita
PI_6_paskaitaPI_6_paskaita
PI_6_paskaita
 
Tomas PRANCKEVIČIUS. Debesų kompiuterijos technologijų lygiagrečių skaičiavim...
Tomas PRANCKEVIČIUS. Debesų kompiuterijos technologijų lygiagrečių skaičiavim...Tomas PRANCKEVIČIUS. Debesų kompiuterijos technologijų lygiagrečių skaičiavim...
Tomas PRANCKEVIČIUS. Debesų kompiuterijos technologijų lygiagrečių skaičiavim...
 
5 būdai dalintis verslo analitikos įžvalgomis
5 būdai dalintis verslo analitikos įžvalgomis5 būdai dalintis verslo analitikos įžvalgomis
5 būdai dalintis verslo analitikos įžvalgomis
 
Agile taikymas vystant ir prižiūrint VGTU IS 2016-08-30
Agile taikymas vystant ir prižiūrint VGTU IS 2016-08-30Agile taikymas vystant ir prižiūrint VGTU IS 2016-08-30
Agile taikymas vystant ir prižiūrint VGTU IS 2016-08-30
 
Paskaita nr1 savokos_topologija
Paskaita nr1 savokos_topologijaPaskaita nr1 savokos_topologija
Paskaita nr1 savokos_topologija
 

Más de Saulius Maskeliunas

Loginio programavimo priemonių naudojimo darbui su duomenų bazėse saugoma inf...
Loginio programavimo priemonių naudojimo darbui su duomenų bazėse saugoma inf...Loginio programavimo priemonių naudojimo darbui su duomenų bazėse saugoma inf...
Loginio programavimo priemonių naudojimo darbui su duomenų bazėse saugoma inf...Saulius Maskeliunas
 
Ontologijų išreiškimo galimybės naudojant temų žemėlapius
Ontologijų išreiškimo galimybės naudojant temų žemėlapiusOntologijų išreiškimo galimybės naudojant temų žemėlapius
Ontologijų išreiškimo galimybės naudojant temų žemėlapiusSaulius Maskeliunas
 
Ontologijų panaudojimas projekto repozitorijui intelektualizuoti
Ontologijų panaudojimas projekto repozitorijui intelektualizuotiOntologijų panaudojimas projekto repozitorijui intelektualizuoti
Ontologijų panaudojimas projekto repozitorijui intelektualizuotiSaulius Maskeliunas
 
Ontologijų panaudojimas verslo ir informacinėms sistemoms intelektualizuoti
Ontologijų panaudojimas verslo ir informacinėms sistemoms intelektualizuotiOntologijų panaudojimas verslo ir informacinėms sistemoms intelektualizuoti
Ontologijų panaudojimas verslo ir informacinėms sistemoms intelektualizuotiSaulius Maskeliunas
 
Tiksliname lietuviškuosius terminus: ne žiniatinklis, bet saitynas
Tiksliname lietuviškuosius terminus: ne žiniatinklis, bet saitynasTiksliname lietuviškuosius terminus: ne žiniatinklis, bet saitynas
Tiksliname lietuviškuosius terminus: ne žiniatinklis, bet saitynasSaulius Maskeliunas
 
Lietuviškų klaviatūrų problemos ir jų sprendimo būdai
Lietuviškų klaviatūrų problemos ir jų sprendimo būdaiLietuviškų klaviatūrų problemos ir jų sprendimo būdai
Lietuviškų klaviatūrų problemos ir jų sprendimo būdaiSaulius Maskeliunas
 
Kauno IV vid. m-los 1979 m. laidos 11c klasė
Kauno IV vid. m-los 1979 m. laidos 11c klasėKauno IV vid. m-los 1979 m. laidos 11c klasė
Kauno IV vid. m-los 1979 m. laidos 11c klasėSaulius Maskeliunas
 
Elaboration and enhanced usage of data analysis tool DAMIS+
Elaboration and enhanced usage of data analysis tool DAMIS+Elaboration and enhanced usage of data analysis tool DAMIS+
Elaboration and enhanced usage of data analysis tool DAMIS+Saulius Maskeliunas
 
Key facts on FP7: funding, participants, evaluation, impact
Key facts on FP7: funding, participants, evaluation, impactKey facts on FP7: funding, participants, evaluation, impact
Key facts on FP7: funding, participants, evaluation, impactSaulius Maskeliunas
 
National Research Data Archive MIDAS
National Research Data Archive MIDASNational Research Data Archive MIDAS
National Research Data Archive MIDASSaulius Maskeliunas
 
Sudėtingesnės paieškos internete būdai
Sudėtingesnės paieškos internete būdaiSudėtingesnės paieškos internete būdai
Sudėtingesnės paieškos internete būdaiSaulius Maskeliunas
 
Dr. Frederic Andres (NII, Japan) „Collective Intelligence-based Social Projec...
Dr. Frederic Andres (NII, Japan) „Collective Intelligence-based Social Projec...Dr. Frederic Andres (NII, Japan) „Collective Intelligence-based Social Projec...
Dr. Frederic Andres (NII, Japan) „Collective Intelligence-based Social Projec...Saulius Maskeliunas
 

Más de Saulius Maskeliunas (14)

Loginio programavimo priemonių naudojimo darbui su duomenų bazėse saugoma inf...
Loginio programavimo priemonių naudojimo darbui su duomenų bazėse saugoma inf...Loginio programavimo priemonių naudojimo darbui su duomenų bazėse saugoma inf...
Loginio programavimo priemonių naudojimo darbui su duomenų bazėse saugoma inf...
 
Ontologijų išreiškimo galimybės naudojant temų žemėlapius
Ontologijų išreiškimo galimybės naudojant temų žemėlapiusOntologijų išreiškimo galimybės naudojant temų žemėlapius
Ontologijų išreiškimo galimybės naudojant temų žemėlapius
 
Ontologijų panaudojimas projekto repozitorijui intelektualizuoti
Ontologijų panaudojimas projekto repozitorijui intelektualizuotiOntologijų panaudojimas projekto repozitorijui intelektualizuoti
Ontologijų panaudojimas projekto repozitorijui intelektualizuoti
 
Ontologijų panaudojimas verslo ir informacinėms sistemoms intelektualizuoti
Ontologijų panaudojimas verslo ir informacinėms sistemoms intelektualizuotiOntologijų panaudojimas verslo ir informacinėms sistemoms intelektualizuoti
Ontologijų panaudojimas verslo ir informacinėms sistemoms intelektualizuoti
 
Tiksliname lietuviškuosius terminus: ne žiniatinklis, bet saitynas
Tiksliname lietuviškuosius terminus: ne žiniatinklis, bet saitynasTiksliname lietuviškuosius terminus: ne žiniatinklis, bet saitynas
Tiksliname lietuviškuosius terminus: ne žiniatinklis, bet saitynas
 
Lietuviškų klaviatūrų problemos ir jų sprendimo būdai
Lietuviškų klaviatūrų problemos ir jų sprendimo būdaiLietuviškų klaviatūrų problemos ir jų sprendimo būdai
Lietuviškų klaviatūrų problemos ir jų sprendimo būdai
 
Kauno IV vid. m-los 1979 m. laidos 11c klasė
Kauno IV vid. m-los 1979 m. laidos 11c klasėKauno IV vid. m-los 1979 m. laidos 11c klasė
Kauno IV vid. m-los 1979 m. laidos 11c klasė
 
Elaboration and enhanced usage of data analysis tool DAMIS+
Elaboration and enhanced usage of data analysis tool DAMIS+Elaboration and enhanced usage of data analysis tool DAMIS+
Elaboration and enhanced usage of data analysis tool DAMIS+
 
Key facts on FP7: funding, participants, evaluation, impact
Key facts on FP7: funding, participants, evaluation, impactKey facts on FP7: funding, participants, evaluation, impact
Key facts on FP7: funding, participants, evaluation, impact
 
Laimė yra kelionė
Laimė yra kelionėLaimė yra kelionė
Laimė yra kelionė
 
National Research Data Archive MIDAS
National Research Data Archive MIDASNational Research Data Archive MIDAS
National Research Data Archive MIDAS
 
Sudėtingesnės paieškos internete būdai
Sudėtingesnės paieškos internete būdaiSudėtingesnės paieškos internete būdai
Sudėtingesnės paieškos internete būdai
 
Dr. Frederic Andres (NII, Japan) „Collective Intelligence-based Social Projec...
Dr. Frederic Andres (NII, Japan) „Collective Intelligence-based Social Projec...Dr. Frederic Andres (NII, Japan) „Collective Intelligence-based Social Projec...
Dr. Frederic Andres (NII, Japan) „Collective Intelligence-based Social Projec...
 
Patarimai geresniam gyvenimui
Patarimai geresniam gyvenimuiPatarimai geresniam gyvenimui
Patarimai geresniam gyvenimui
 

Paslaugomis grindžiama architektūra ir pasaulinio tinklo paslaugos

  • 1. Paslaugomis grindžiama 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
  • 2. MII 2 Turinys 1. 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
  • 3. MII 3 1. Paslaugomis grindžiama architektūra (PGA)
  • 4. 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
  • 5. MII 5 Paslaugomis grindžiama architektūra (PGA) http://www.w3.org/TR/ws-arch/ , 2003.05.14
  • 6. MII 6 Paslaugomis grindžiama architektūra IT transformation to Service-Oriented architecture. Bea White paper, 2004. http://www.bea.com
  • 7. 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ų.
  • 8. MII 8 PGA apibrėžimai 1) 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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. 1. 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. 2. 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. 3. 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
  • 13. 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
  • 14. 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
  • 15. MII 15 PtP funkcionavimo schema Systinet Corporation “Introduction to Web Services”, White paper, 2002 http://www.systinet.com/resources/white_papers UDDI registras WSDL Nuoroda į aprašymą Paslau- gos var- totojas Paslaugos paieška Pasaulinio tinklo paslauga Nuoroda į paslaugą Paslaugos aprašymas SOAP XML pranešimai
  • 16. 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
  • 17. MII 17 PGA formatai ir protokolai Systinet Corp. “Introduction to Web Services Architecture”, 2002 wp_Systinet_SOA.pdf , http://www.systinet.com
  • 18. 2. Pasaulinio tinklo paslaugų (PtP) samprata
  • 19. MII 19 PtP apibrėžimas Pasaulinio 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
  • 20. 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.
  • 21. MII 21 PtP architektūros metamodelis http://www.w3.org/TR/ws-arch/
  • 26. 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
  • 27. 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 )
  • 28. 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
  • 29. 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
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. MII 33 SOAP - paslaugomis grindžiamos architektū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/ ).
  • 34. 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
  • 35. 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
  • 36. MII 36 SOAP pranešimų poros pavyzdys http://www.w3schools.com “SOAP Tutorial”, Refsnes Data, 2004
  • 37. 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 ).
  • 38. 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
  • 39. 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
  • 40. 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
  • 41. 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
  • 42. 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
  • 43. 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.xml doGoogleSearch.xml – doGoogleSearchResponse.xml • UDDI: http://uddi.microsoft.com http://www.xmethods.net/tryit.html?url=http://api.google.co m/GoogleSearch.wsdl
  • 44. 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ą.
  • 45. 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
  • 46. MII 46 PtP protokolų raida CBDI – IBM , 2001 , http://www.cbdiforum.com
  • 47. MII 47 PtP raidos etapai Mark Colan “Using Web Services Today (for Tomorrow)” http://ibm.com/developerworks/speakers/colan
  • 48. 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)
  • 49. 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
  • 50. MII 50 PtP protokolų priėmimo raida Mainstream - Standard ratified, or wide scale de facto adoption Early adoption - More robust implementations available and protocol well into standards process, encourages production usage by end user organizations Experimentation - 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
  • 51. MII 51 Nenusistovė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
  • 52. 3. PtP protokolų išsluoksniuotumas, hierarchinė tarpusavio priklausomybė
  • 53. 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
  • 54. 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
  • 55. MII 55 PGA ir PtP protokolų sluoksniai (IBM) Mark Colan “Using Web Services Today (for Tomorrow)” http://ibm.com/developerworks/speakers/colan
  • 56. 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
  • 57. 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, 2003 http://msdn.microsoft.com/webservices/understanding/advancedwebservices/default.aspx?pull=/library/en-us/dnwebsrv/html/wsoverview.asp
  • 58. 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, 2003 http://msdn.microsoft.com/webservices/understanding/advancedwebservices/default.aspx?pull=/library/en-us/dnwebsrv/html/wsoverview.asp
  • 59. 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
  • 60. MII 60 Į verslo paslaugas orientuota architektūra
  • 61. 4. Išskirstyti skaičiavimai globaliuose tinkluose ir būsenas turinčios PtP (angl.: Grid Computing & stateful Web Services)
  • 62. 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.
  • 63. 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
  • 64. 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
  • 65. 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
  • 66. 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
  • 67. 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
  • 68. 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
  • 69. 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
  • 70. 5. PtP tarpusavio suderinamumo užtikrinimas ( http://www.ws-i.org/ )
  • 71. 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
  • 72. 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
  • 73. 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 logo http://www.ws-i.org
  • 74. 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 expertise http://www.ws-i.org
  • 75. 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
  • 76. MII 76 WS-I darbo rezultatai (2) BasicProfile-1.0intro.ppt , 2003.08.12 Web Services Interoperability Organization (WS-I) http://www.ws-i.org
  • 77. 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.12 Web Services Interoperability Organization (WS-I) http://www.ws-i.org
  • 78. MII 78 WS-I bazinis profilis (2)
  • 79. MII 79 WS-I, standartų organizacijos, verslas Businesses, Industry Consortia, Developers, End-Users Requirements Standards and Specifications Requirements Implementation Guidance http://www.ws-i.org
  • 80. 6. PGA, pasaulinio tinklo paslaugų pavyzdžiai
  • 81. 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.
  • 82. 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
  • 83. MII 83 PtP Microsoft .NET aplinkoje Rasesh Trivedi, Web Services Architecture Models. White paper. RCG Information Technology, April 2002.
  • 84. MII 84 PtP J2EE aplinkoje naudojant IBM Rasesh Trivedi, Web Services Architecture Models. White paper. RCG Information Technology, April 2002.
  • 86. 7. Pasaulinio tinklo paslaugų tolesnės raidos perspektyvos
  • 87. 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]
  • 88. MII 88 Semantinio pasaulinio tinklo idėja Tikslas: 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
  • 89. MII 89 Semantinio pasaulinio tinklo architektūra (Tim Berners-Lee vizija) http://www.w3.org/2000/Talks/1206-xml2k-tbl/slide10-0.html
  • 90. MII 90 XML HTML SMIL XHTML RDF(S) PICS Deklaratyvios kalbos (OIL, DAML-Ont)  OWL DC Šiuo metu svarbiausios SPt kalbos
  • 91. 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/
  • 92. Semantinio pasaulinio tinklo paslaugos (SPtP) ir pasaulinio tinklo paslaugų inteletualizavimas ontologijomis
  • 93. MII 93 SPtP idėja (1) D. Fensel, Ch. Bussler. Semantic Web Enabled Web Services http://nextwebgeneration.com/swsi/resources/wsmf.pdf Informacijos radimo, gavimo, vaizdavimo, interpretavimo, palaikymo problemiškumas Pasaulinis tinklas (WWW) URI, HTML, HTTP Semantinis pasaulinis tinklas RDF, RDF(S), OWL Statinis pasaulinis tinklas
  • 94. MII 94 SPtP (2) D. Fensel, Ch. Bussler. Semantic Web Enabled Web Services http://nextwebgeneration.com/swsi/resources/wsmf.pdf Pasaulinis tinklas (WWW) URI, HTML, HTTP Semantinis pasaulinis tinklas RDF, RDF(S), OWL Pasaulinio tinklo paslaugos UDDI, WSDL, SOAP Dinaminis pasaulinis tinklas Statinis pasaulinis tinklas Kompiuterių skaičiuojamosios galios panaudojimas
  • 95. MII 95 SPtP (3) D. Fensel, Ch. Bussler. Semantic Web Enabled Web Services, http://nextwebgeneration.com/swsi/resources/wsmf.pdf Semantinis pasaulinis tinklas RDF, RDF(S), OWL Pasaulinio tinklo paslaugos UDDI, WSDL, SOAP Intelektualios pasaulinio tinklo paslaugos Pasaulinio tinklo naudojimas visu pajėgumu Dinaminis pasaulinis tinklas Statinis pasaulinis tinklas Pasaulinis tinklas (WWW) URI, HTML, HTTP
  • 96. 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ą.
  • 97. 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).
  • 98. 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.
  • 99. 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).
  • 100. 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
  • 101. MII 101 GTTDP ateities bendrasis kontekstas Web WebServ SemWeb SemWebServ Grid&SemW GridWebServ GridComputing
  • 102. MII 102 GTTDP ateities bendrasis kontekstas Web WebServ SemWeb SemWebServ WF Grid&SemW GridWebServ GridComputing BPEL4WS ... .... ...
  • 103. 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.

Notas del editor

  1. --11-- JRMP = Java Remote Method Protocol. --12-- ORB = Object Request Broker. CDR = Common Data Representation. GIOP = General Inter-ORB Protocol. IIOP= Internet Inter-ORB Protocol. IDL = Interface Definition Language. COS = CORBA Object Services. --13-- RPC = Remote Procedure Call. NDR = Network Data Representation. PDU = Protocol Data Units. RPC CO = RPC Connect-Oriented protocol. IDL = Interface Definition Language. CDS = Cell Directory Service. --14-- Extensible Markup Language 1.0, W3C Recommendation: http://www.w3.org/TR/REC-xml --15-- SOAP 1.2 Part 1, W3C Working Draft: http://www.w3.org/TR/soap12-part1/ --16-- Web Services Description Language 1.1, W3C Note: http://www.w3.org/TR/wsdl --17-- Universal Description, Discovery and Integration specifications: http://www.uddi.org/specification.html
  2. P
  3. ICE32k9QFHLVK7uQZqDwZla4j7Kz1OFN