SlideShare a Scribd company logo
Web Service Architecture
Table of Contents
• What’s Web Service?
• Web Service Model
• Architecture Overview
– SOAP
– WSDL
– UDDI
• Conclusion
What’s Web Service?
• “Software application identified by a URI, whose interfaces and bindings are
capable of being defined, described, and discovered as XML artifacts” – W3C Web
Services Architecture Requirements, Oct. 2002
• “Programmable application logic accessible using Standard Internet Protocols…” –
Microsoft
• “An interface that describes a collection of operations that are network accessible
through standardized XML messaging …” – IBM
• “Software components that can be spontaneously discovered, combined, and
recombined to provide a solution to the user’s problem/request … “ - SUN
Web Services: The Next Horizon for e-
business
• Allow companies to reduce the cost of doing e-business, to
deploy solutions faster
– Need a common program-to-program communications model
• Allow heterogeneous applications to be integrated more
rapidly, easily and less expensively
• Facilitate deploying and providing access to business
functions over the Web
Sun J2EE MS .NET Platform
CORBA
Table of Contents
• What’s Web Service?
• Web Service Model
• Architecture Overview
– SOAP
– WSDL
– UDDI
• Conclusion
Web Service Model (1/3)
Web Service Model (2/3)
• Roles in Web Service architecture
– Service provider
• Owner of the service
• Platform that hosts access to the service
– Service requestor
• Business that requires certain functions to be satisfied
• Application looking for and invoking an interaction with
a service
– Service registry
• Searchable registry of service descriptions where
service providers publish their service descriptions
Web Service Model (3/3)
• Operations in a Web Service Architecture
– Publish
• Service descriptions need to be published in order for
service requestor to find them
– Find
• Service requestor retrieves a service description
directly or queries the service registry for the service
required
– Bind
• Service requestor invokes or initiates an interaction
with the service at runtime
Table of Contents
• What’s Web Service?
• Web Service Model
• Architecture Overview
– SOAP
– WSDL
– UDDI
• Conclusion
Web Service Stack
SOAP: Simple Object
Access Protocol
• What is SOAP?
– 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 will be developed as a W3C standard
SOAP: Simple Object
Access Protocol
• SOAP 1.0: Microsoft, Userland, DevelopMentor
– Specific to COM and HTTP
• SOAP 1.1: includes contributions from IBM and Lotus
– Substitutable transport binding (not just HTTP)
– Substitutable language binding (e.g. Java)
– Substitutable data encoding
– Completely vendor-neutral
– Independent of: programming language, object model, operating
system, or platform
• SOAP 1.2: current working draft from w3.org “XML Protocol”
working group
SOAP Message Structure
• Request and Response messages
– Request invokes a method on a remote
object
– Response returns result of running the
method
• SOAP specification defines an “envelop”
– “envelop” wraps the message itself
– Message is a different vocabulary
– Namespace prefix is used to distinguish the
two parts
Application-specific
message vocabulary
SOAP Envelop
vocabulary
SOAP Request Message
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body xmlns:m="http://www.stock.org/stock">
</soap:Body>
</soap:Envelope>
<m:GetStockPrice>
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
SOAP Envelope
Message
SOAP Envelope
Namespace
Message
Namespace
SOAP Response Message
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body xmlns:m="http://www.stock.org/stock">
</soap:Body>
</soap:Envelope>
<m:GetStockPriceResponse>
<m:Price>34.5</m:Price>
</m:GetStockPriceResponse>
SOAP Envelope
Message
Result
returned in
Body
• SOAP hides the technical choices and implementation
details from both parties
Simple standard XML Message
Why SOAP?
• Other distributed technologies failed on the Internet
– Unix RPC – requires binary-compatible Unix implementations at
each endpoint
– CORBA – requires compatible ORBs
– RMI – requires Java at each endpoint
– DCOM – requires Windows at each endpoint
• SOAP is the platform-neutral choice
– Simply an XML wire format
– Places no restrictions on the endpoint implementation technology
choices
SOAP Usage Models
• RPC-like message exchange
– Request message bundles up method name and parameters
– Response message contains method return values
– However, it isn’t required by SOAP
• SOAP specification allows any kind of body content
– Can be XML documents of any type
– Example:
• Send a purchase order document to the inbox of B2B partner
• Expect to receive shipping and exceptions report as response
Web Services Description Language
• What is WSDL?
– 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
• Operational information about the service
– Location of the service
– Service interface
– Implementation details for the service interface
WSDL Document Structure (1/2)
• <portType> element
– Defines a web service, the operations that can be
performed, and the messages that are involved
• <message> element
– Defines the data elements of an operation
– consists of one or more parts.
– The parts can be compared to the parameters of a
function call in a traditional programming
language
WSDL Document Structure (2/2)
• <types> element
– Defines the data type that are used by the web
service
– For maximum platform neutrality, WSDL uses
XML Schema syntax to define data types
• <binding> element
– Defines the message format and communication
protocols used by the web service
<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>
WSDL Example
<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>
<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> Binding to SOAP
Universal Description, Discovery
and Integration (UDDI)
• What is UDDI?
– Directory service where businesses can register and search for Web
services
• Directory for storing information about web services
• Directory of web service interfaces described by WSDL
– UDDI communicates via SOAP
• What is UDDI Based On?
– Uses W3C Internet standards such as XML, HTTP, and DNS protocols
– UDDI uses WSDL to describe interfaces to web services
UDDI Roles and Operations
• Service Registry
– Provides support for publishing and
locating services
– Like telephone yellow pages
• Service Provider
– Provides e-business services
– Publishes these services through a
registry
• Service requestor
– Finds required services via the
Service Broker
– Binds to services via Service
Provider
How can UDDI be Used?
UDDI Benefits
• Making it possible to discover the right
business from the millions currently online
• Defining how to enable commerce once the
preferred business is discovered
• Reaching new customers and increasing
access to current customers
• Expanding offerings and extending market
reach
Types of UDDI nodes (1/3)
• Internal Enterprise Application UDDI node
– Web Services for use within a company for
internal enterprise application integration
– The scope can be single application,
departmental, corporate
– Sit behind the firewall
– Allow the service providers more control over
their service registry and its accessibility
Types of UDDI nodes (2/3)
• Portal UDDI node
– Web Services published by a company for external partners to find
and use
– Runs outside the service provider’s firewall
– Contains only those service descriptions that a company wishes to
provide to service requestors from external partners
• Partner catalog UDDI node
– Web services to be used by a particular company
– Runs behind the firewall
– Contains only approved, tested and valid Web service descriptions
for legitimate business partners
Types of UDDI nodes (3/3)
• E-Marketplace UDDI node
– Web Services that the service provider intends to
compete for requestors’ business with other Web
Services
– Hosted by an industry standards organization or
consortium
– Contains service descriptions from businesses in a
particular industry
Web service architecture
Conclusion
• Web Serivices substitute for existing
distributed computing model such as RPC,
CORBA
• To apply to real e-business application, the
following problems should be covered
– Security
– Transaction Management
– QOS (ex., reliable message transmission)
– Efficient methods for composing Web Services
Web service architecture
Ad

More Related Content

What's hot (20)

Pertemuan 1 Sistem Basis Data.pptx
Pertemuan 1 Sistem Basis Data.pptxPertemuan 1 Sistem Basis Data.pptx
Pertemuan 1 Sistem Basis Data.pptx
Rakhmi Khalida, M.M.S.I
 
Data Quality
Data QualityData Quality
Data Quality
dedidarwis
 
Pembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlinePembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja online
andiseprianto
 
Project Charter
Project CharterProject Charter
Project Charter
HendraRamadani
 
Kriptografi modern
Kriptografi modernKriptografi modern
Kriptografi modern
niizarch
 
Mi 07.-praktikum-pemrograman-basis-data
Mi 07.-praktikum-pemrograman-basis-dataMi 07.-praktikum-pemrograman-basis-data
Mi 07.-praktikum-pemrograman-basis-data
Ayu Karisma Alfiana
 
Basis Data : Pemodelan Erd
Basis Data : Pemodelan ErdBasis Data : Pemodelan Erd
Basis Data : Pemodelan Erd
amalianuryamin
 
PM Project communication management plan
PM Project communication management planPM Project communication management plan
PM Project communication management plan
Bagus Wahyu
 
Memory
MemoryMemory
Memory
eddie Ismantoe
 
Struktur sistem Terdistribusi
Struktur sistem TerdistribusiStruktur sistem Terdistribusi
Struktur sistem Terdistribusi
Habibi Habibi
 
Ppt cloudcomputing
Ppt cloudcomputingPpt cloudcomputing
Ppt cloudcomputing
rizki pradana
 
Pengujian Perangkat Lunak
Pengujian Perangkat LunakPengujian Perangkat Lunak
Pengujian Perangkat Lunak
Adam Mukharil Bachtiar
 
Konsep Data Mining
Konsep Data MiningKonsep Data Mining
Konsep Data Mining
dedidarwis
 
Distributed DBMS - Unit 8 - Distributed Transaction Management & Concurrency ...
Distributed DBMS - Unit 8 - Distributed Transaction Management & Concurrency ...Distributed DBMS - Unit 8 - Distributed Transaction Management & Concurrency ...
Distributed DBMS - Unit 8 - Distributed Transaction Management & Concurrency ...
Gyanmanjari Institute Of Technology
 
Laporan praktikum modul 5 (normalisasi)
Laporan praktikum modul 5 (normalisasi)Laporan praktikum modul 5 (normalisasi)
Laporan praktikum modul 5 (normalisasi)
Devi Apriansyah
 
Sistem Basis Data(PPT)
Sistem Basis Data(PPT)Sistem Basis Data(PPT)
Sistem Basis Data(PPT)
tafrikan
 
Normalisasi Basis Data
Normalisasi Basis DataNormalisasi Basis Data
Normalisasi Basis Data
Adam Mukharil Bachtiar
 
GoLang_1
GoLang_1GoLang_1
GoLang_1
Dimas Prawira
 
Sistem terdistribusi
Sistem terdistribusiSistem terdistribusi
Sistem terdistribusi
Surya Prasetya Shaleem
 
UML Aplikasi Rental Mobil
UML Aplikasi Rental MobilUML Aplikasi Rental Mobil
UML Aplikasi Rental Mobil
Dwi Mardianti
 
Pembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlinePembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja online
andiseprianto
 
Kriptografi modern
Kriptografi modernKriptografi modern
Kriptografi modern
niizarch
 
Mi 07.-praktikum-pemrograman-basis-data
Mi 07.-praktikum-pemrograman-basis-dataMi 07.-praktikum-pemrograman-basis-data
Mi 07.-praktikum-pemrograman-basis-data
Ayu Karisma Alfiana
 
Basis Data : Pemodelan Erd
Basis Data : Pemodelan ErdBasis Data : Pemodelan Erd
Basis Data : Pemodelan Erd
amalianuryamin
 
PM Project communication management plan
PM Project communication management planPM Project communication management plan
PM Project communication management plan
Bagus Wahyu
 
Struktur sistem Terdistribusi
Struktur sistem TerdistribusiStruktur sistem Terdistribusi
Struktur sistem Terdistribusi
Habibi Habibi
 
Konsep Data Mining
Konsep Data MiningKonsep Data Mining
Konsep Data Mining
dedidarwis
 
Distributed DBMS - Unit 8 - Distributed Transaction Management & Concurrency ...
Distributed DBMS - Unit 8 - Distributed Transaction Management & Concurrency ...Distributed DBMS - Unit 8 - Distributed Transaction Management & Concurrency ...
Distributed DBMS - Unit 8 - Distributed Transaction Management & Concurrency ...
Gyanmanjari Institute Of Technology
 
Laporan praktikum modul 5 (normalisasi)
Laporan praktikum modul 5 (normalisasi)Laporan praktikum modul 5 (normalisasi)
Laporan praktikum modul 5 (normalisasi)
Devi Apriansyah
 
Sistem Basis Data(PPT)
Sistem Basis Data(PPT)Sistem Basis Data(PPT)
Sistem Basis Data(PPT)
tafrikan
 
UML Aplikasi Rental Mobil
UML Aplikasi Rental MobilUML Aplikasi Rental Mobil
UML Aplikasi Rental Mobil
Dwi Mardianti
 

Viewers also liked (20)

Rossi crisis management
Rossi crisis managementRossi crisis management
Rossi crisis management
nilgeysi
 
NoEmployees in Wildcard 2015
NoEmployees in Wildcard 2015NoEmployees in Wildcard 2015
NoEmployees in Wildcard 2015
Flowa Oy
 
ieee 2014-15 projects titles for java and dotnet
ieee  2014-15 projects titles for java and dotnetieee  2014-15 projects titles for java and dotnet
ieee 2014-15 projects titles for java and dotnet
ChandruSimbu
 
ASD PDEng
ASD PDEngASD PDEng
ASD PDEng
Khaled Emam
 
Developing an effective knowledge service
Developing an effective knowledge serviceDeveloping an effective knowledge service
Developing an effective knowledge service
khanmsf
 
Galimybės jaunimui Telšių rajono savivaldybėje
Galimybės jaunimui Telšių rajono savivaldybėjeGalimybės jaunimui Telšių rajono savivaldybėje
Galimybės jaunimui Telšių rajono savivaldybėje
Jurgita Telšiai
 
Wrapping java in awesomeness aka condensator
Wrapping java in awesomeness aka condensatorWrapping java in awesomeness aka condensator
Wrapping java in awesomeness aka condensator
Flowa Oy
 
What is happenning in Venezuela? (2014) Protests in Venezuela.
What is happenning in Venezuela? (2014) Protests in Venezuela.What is happenning in Venezuela? (2014) Protests in Venezuela.
What is happenning in Venezuela? (2014) Protests in Venezuela.
Clara Albaida
 
KEN02-2014 Eflandi kennslufræði
KEN02-2014 Eflandi kennslufræðiKEN02-2014 Eflandi kennslufræði
KEN02-2014 Eflandi kennslufræði
Rosa Gunnarsdottir
 
リアル脱出ゲームのゲームデザイン論
リアル脱出ゲームのゲームデザイン論リアル脱出ゲームのゲームデザイン論
リアル脱出ゲームのゲームデザイン論
Toshiaki Yamanishi
 
Power system
Power systemPower system
Power system
ChandruSimbu
 
Mision del congo
Mision del congoMision del congo
Mision del congo
Ale Qui Pue
 
New design knowlege - Manzini
New design knowlege -  ManziniNew design knowlege -  Manzini
New design knowlege - Manzini
Francisco Gómez Castro
 
第3回なんでも勉強会 にゃんたこす rev01
第3回なんでも勉強会 にゃんたこす rev01第3回なんでも勉強会 にゃんたこす rev01
第3回なんでも勉強会 にゃんたこす rev01
Toshiaki Yamanishi
 
88 Gibraltar Product Presentation
88 Gibraltar Product Presentation88 Gibraltar Product Presentation
88 Gibraltar Product Presentation
88gibraltar
 
Image procerssing
Image procerssingImage procerssing
Image procerssing
ChandruSimbu
 
[TOUCH] The Original Undeniable Charismatic Homme
[TOUCH] The Original Undeniable Charismatic Homme[TOUCH] The Original Undeniable Charismatic Homme
[TOUCH] The Original Undeniable Charismatic Homme
Lia19k2
 
Rossi crisis management
Rossi crisis managementRossi crisis management
Rossi crisis management
nilgeysi
 
NoEmployees in Wildcard 2015
NoEmployees in Wildcard 2015NoEmployees in Wildcard 2015
NoEmployees in Wildcard 2015
Flowa Oy
 
ieee 2014-15 projects titles for java and dotnet
ieee  2014-15 projects titles for java and dotnetieee  2014-15 projects titles for java and dotnet
ieee 2014-15 projects titles for java and dotnet
ChandruSimbu
 
Developing an effective knowledge service
Developing an effective knowledge serviceDeveloping an effective knowledge service
Developing an effective knowledge service
khanmsf
 
Galimybės jaunimui Telšių rajono savivaldybėje
Galimybės jaunimui Telšių rajono savivaldybėjeGalimybės jaunimui Telšių rajono savivaldybėje
Galimybės jaunimui Telšių rajono savivaldybėje
Jurgita Telšiai
 
Wrapping java in awesomeness aka condensator
Wrapping java in awesomeness aka condensatorWrapping java in awesomeness aka condensator
Wrapping java in awesomeness aka condensator
Flowa Oy
 
What is happenning in Venezuela? (2014) Protests in Venezuela.
What is happenning in Venezuela? (2014) Protests in Venezuela.What is happenning in Venezuela? (2014) Protests in Venezuela.
What is happenning in Venezuela? (2014) Protests in Venezuela.
Clara Albaida
 
KEN02-2014 Eflandi kennslufræði
KEN02-2014 Eflandi kennslufræðiKEN02-2014 Eflandi kennslufræði
KEN02-2014 Eflandi kennslufræði
Rosa Gunnarsdottir
 
リアル脱出ゲームのゲームデザイン論
リアル脱出ゲームのゲームデザイン論リアル脱出ゲームのゲームデザイン論
リアル脱出ゲームのゲームデザイン論
Toshiaki Yamanishi
 
Mision del congo
Mision del congoMision del congo
Mision del congo
Ale Qui Pue
 
第3回なんでも勉強会 にゃんたこす rev01
第3回なんでも勉強会 にゃんたこす rev01第3回なんでも勉強会 にゃんたこす rev01
第3回なんでも勉強会 にゃんたこす rev01
Toshiaki Yamanishi
 
88 Gibraltar Product Presentation
88 Gibraltar Product Presentation88 Gibraltar Product Presentation
88 Gibraltar Product Presentation
88gibraltar
 
[TOUCH] The Original Undeniable Charismatic Homme
[TOUCH] The Original Undeniable Charismatic Homme[TOUCH] The Original Undeniable Charismatic Homme
[TOUCH] The Original Undeniable Charismatic Homme
Lia19k2
 
Ad

Similar to Web service architecture (20)

webservicearchitecture-150614164814-lva1-app6892.ppt
webservicearchitecture-150614164814-lva1-app6892.pptwebservicearchitecture-150614164814-lva1-app6892.ppt
webservicearchitecture-150614164814-lva1-app6892.ppt
Matrix823409
 
Web-Services!.pptx
Web-Services!.pptxWeb-Services!.pptx
Web-Services!.pptx
ssuserae0316
 
SOAP, WSDL and UDDI
SOAP, WSDL and UDDISOAP, WSDL and UDDI
SOAP, WSDL and UDDI
Shahid Shaik
 
WebServices SOAP WSDL and UDDI
WebServices SOAP WSDL and UDDIWebServices SOAP WSDL and UDDI
WebServices SOAP WSDL and UDDI
Rajkattamuri
 
WebServices introduction in Mule
WebServices introduction in MuleWebServices introduction in Mule
WebServices introduction in Mule
F K
 
WebServices
WebServicesWebServices
WebServices
Rajkattamuri
 
Web Service Basics and NWS Setup
Web Service  Basics and NWS SetupWeb Service  Basics and NWS Setup
Web Service Basics and NWS Setup
Northeastern University
 
Lecture 16 - Web Services
Lecture 16 - Web ServicesLecture 16 - Web Services
Lecture 16 - Web Services
phanleson
 
SOA standards
SOA standardsSOA standards
SOA standards
Kumar
 
Soap and restful webservice
Soap and restful webserviceSoap and restful webservice
Soap and restful webservice
Dong Ngoc
 
Xml.ppt
Xml.pptXml.ppt
Xml.ppt
praveen gautam
 
SOAP Service in Mule Esb
SOAP Service in Mule EsbSOAP Service in Mule Esb
SOAP Service in Mule Esb
Anand kalla
 
Mule webservices in detail
Mule webservices in detailMule webservices in detail
Mule webservices in detail
Shahid Shaik
 
Web services
Web servicesWeb services
Web services
Divya Tiwari
 
Java web services
Java web servicesJava web services
Java web services
kumar gaurav
 
Web Services Foundation Technologies
Web Services Foundation TechnologiesWeb Services Foundation Technologies
Web Services Foundation Technologies
Pankaj Saharan
 
Introduction to Web Services and the cocnept
Introduction to Web Services and the cocneptIntroduction to Web Services and the cocnept
Introduction to Web Services and the cocnept
PaceInfotech
 
Applying xml
Applying xmlApplying xml
Applying xml
Kumar
 
Overview of java web services
Overview of java web servicesOverview of java web services
Overview of java web services
Todd Benson (I.T. SPECIALIST and I.T. SECURITY)
 
Developmeant and deployment of webservice
Developmeant and deployment of webserviceDevelopmeant and deployment of webservice
Developmeant and deployment of webservice
Freelance android developer
 
webservicearchitecture-150614164814-lva1-app6892.ppt
webservicearchitecture-150614164814-lva1-app6892.pptwebservicearchitecture-150614164814-lva1-app6892.ppt
webservicearchitecture-150614164814-lva1-app6892.ppt
Matrix823409
 
Web-Services!.pptx
Web-Services!.pptxWeb-Services!.pptx
Web-Services!.pptx
ssuserae0316
 
SOAP, WSDL and UDDI
SOAP, WSDL and UDDISOAP, WSDL and UDDI
SOAP, WSDL and UDDI
Shahid Shaik
 
WebServices SOAP WSDL and UDDI
WebServices SOAP WSDL and UDDIWebServices SOAP WSDL and UDDI
WebServices SOAP WSDL and UDDI
Rajkattamuri
 
WebServices introduction in Mule
WebServices introduction in MuleWebServices introduction in Mule
WebServices introduction in Mule
F K
 
Lecture 16 - Web Services
Lecture 16 - Web ServicesLecture 16 - Web Services
Lecture 16 - Web Services
phanleson
 
SOA standards
SOA standardsSOA standards
SOA standards
Kumar
 
Soap and restful webservice
Soap and restful webserviceSoap and restful webservice
Soap and restful webservice
Dong Ngoc
 
SOAP Service in Mule Esb
SOAP Service in Mule EsbSOAP Service in Mule Esb
SOAP Service in Mule Esb
Anand kalla
 
Mule webservices in detail
Mule webservices in detailMule webservices in detail
Mule webservices in detail
Shahid Shaik
 
Web Services Foundation Technologies
Web Services Foundation TechnologiesWeb Services Foundation Technologies
Web Services Foundation Technologies
Pankaj Saharan
 
Introduction to Web Services and the cocnept
Introduction to Web Services and the cocneptIntroduction to Web Services and the cocnept
Introduction to Web Services and the cocnept
PaceInfotech
 
Applying xml
Applying xmlApplying xml
Applying xml
Kumar
 
Ad

Recently uploaded (19)

IT Services Workflow From Request to Resolution
IT Services Workflow From Request to ResolutionIT Services Workflow From Request to Resolution
IT Services Workflow From Request to Resolution
mzmziiskd
 
OSI TCP IP Protocol Layers description f
OSI TCP IP Protocol Layers description fOSI TCP IP Protocol Layers description f
OSI TCP IP Protocol Layers description f
cbr49917
 
Best web hosting Vancouver 2025 for you business
Best web hosting Vancouver 2025 for you businessBest web hosting Vancouver 2025 for you business
Best web hosting Vancouver 2025 for you business
steve198109
 
Smart Mobile App Pitch Deck丨AI Travel App Presentation Template
Smart Mobile App Pitch Deck丨AI Travel App Presentation TemplateSmart Mobile App Pitch Deck丨AI Travel App Presentation Template
Smart Mobile App Pitch Deck丨AI Travel App Presentation Template
yojeari421237
 
(Hosting PHising Sites) for Cryptography and network security
(Hosting PHising Sites) for Cryptography and network security(Hosting PHising Sites) for Cryptography and network security
(Hosting PHising Sites) for Cryptography and network security
aluacharya169
 
5-Proses-proses Akuisisi Citra Digital.pptx
5-Proses-proses Akuisisi Citra Digital.pptx5-Proses-proses Akuisisi Citra Digital.pptx
5-Proses-proses Akuisisi Citra Digital.pptx
andani26
 
Perguntas dos animais - Slides ilustrados de múltipla escolha
Perguntas dos animais - Slides ilustrados de múltipla escolhaPerguntas dos animais - Slides ilustrados de múltipla escolha
Perguntas dos animais - Slides ilustrados de múltipla escolha
socaslev
 
Mobile database for your company telemarketing or sms marketing campaigns. Fr...
Mobile database for your company telemarketing or sms marketing campaigns. Fr...Mobile database for your company telemarketing or sms marketing campaigns. Fr...
Mobile database for your company telemarketing or sms marketing campaigns. Fr...
DataProvider1
 
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHosting
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHostingTop Vancouver Green Business Ideas for 2025 Powered by 4GoodHosting
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHosting
steve198109
 
project_based_laaaaaaaaaaearning,kelompok 10.pptx
project_based_laaaaaaaaaaearning,kelompok 10.pptxproject_based_laaaaaaaaaaearning,kelompok 10.pptx
project_based_laaaaaaaaaaearning,kelompok 10.pptx
redzuriel13
 
Reliable Vancouver Web Hosting with Local Servers & 24/7 Support
Reliable Vancouver Web Hosting with Local Servers & 24/7 SupportReliable Vancouver Web Hosting with Local Servers & 24/7 Support
Reliable Vancouver Web Hosting with Local Servers & 24/7 Support
steve198109
 
APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025
APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025
APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025
APNIC
 
Computers Networks Computers Networks Computers Networks
Computers Networks Computers Networks Computers NetworksComputers Networks Computers Networks Computers Networks
Computers Networks Computers Networks Computers Networks
Tito208863
 
Determining Glass is mechanical textile
Determining  Glass is mechanical textileDetermining  Glass is mechanical textile
Determining Glass is mechanical textile
Azizul Hakim
 
White and Red Clean Car Business Pitch Presentation.pptx
White and Red Clean Car Business Pitch Presentation.pptxWhite and Red Clean Car Business Pitch Presentation.pptx
White and Red Clean Car Business Pitch Presentation.pptx
canumatown
 
APNIC Update, presented at NZNOG 2025 by Terry Sweetser
APNIC Update, presented at NZNOG 2025 by Terry SweetserAPNIC Update, presented at NZNOG 2025 by Terry Sweetser
APNIC Update, presented at NZNOG 2025 by Terry Sweetser
APNIC
 
Understanding the Tor Network and Exploring the Deep Web
Understanding the Tor Network and Exploring the Deep WebUnderstanding the Tor Network and Exploring the Deep Web
Understanding the Tor Network and Exploring the Deep Web
nabilajabin35
 
highend-srxseries-services-gateways-customer-presentation.pptx
highend-srxseries-services-gateways-customer-presentation.pptxhighend-srxseries-services-gateways-customer-presentation.pptx
highend-srxseries-services-gateways-customer-presentation.pptx
elhadjcheikhdiop
 
DNS Resolvers and Nameservers (in New Zealand)
DNS Resolvers and Nameservers (in New Zealand)DNS Resolvers and Nameservers (in New Zealand)
DNS Resolvers and Nameservers (in New Zealand)
APNIC
 
IT Services Workflow From Request to Resolution
IT Services Workflow From Request to ResolutionIT Services Workflow From Request to Resolution
IT Services Workflow From Request to Resolution
mzmziiskd
 
OSI TCP IP Protocol Layers description f
OSI TCP IP Protocol Layers description fOSI TCP IP Protocol Layers description f
OSI TCP IP Protocol Layers description f
cbr49917
 
Best web hosting Vancouver 2025 for you business
Best web hosting Vancouver 2025 for you businessBest web hosting Vancouver 2025 for you business
Best web hosting Vancouver 2025 for you business
steve198109
 
Smart Mobile App Pitch Deck丨AI Travel App Presentation Template
Smart Mobile App Pitch Deck丨AI Travel App Presentation TemplateSmart Mobile App Pitch Deck丨AI Travel App Presentation Template
Smart Mobile App Pitch Deck丨AI Travel App Presentation Template
yojeari421237
 
(Hosting PHising Sites) for Cryptography and network security
(Hosting PHising Sites) for Cryptography and network security(Hosting PHising Sites) for Cryptography and network security
(Hosting PHising Sites) for Cryptography and network security
aluacharya169
 
5-Proses-proses Akuisisi Citra Digital.pptx
5-Proses-proses Akuisisi Citra Digital.pptx5-Proses-proses Akuisisi Citra Digital.pptx
5-Proses-proses Akuisisi Citra Digital.pptx
andani26
 
Perguntas dos animais - Slides ilustrados de múltipla escolha
Perguntas dos animais - Slides ilustrados de múltipla escolhaPerguntas dos animais - Slides ilustrados de múltipla escolha
Perguntas dos animais - Slides ilustrados de múltipla escolha
socaslev
 
Mobile database for your company telemarketing or sms marketing campaigns. Fr...
Mobile database for your company telemarketing or sms marketing campaigns. Fr...Mobile database for your company telemarketing or sms marketing campaigns. Fr...
Mobile database for your company telemarketing or sms marketing campaigns. Fr...
DataProvider1
 
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHosting
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHostingTop Vancouver Green Business Ideas for 2025 Powered by 4GoodHosting
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHosting
steve198109
 
project_based_laaaaaaaaaaearning,kelompok 10.pptx
project_based_laaaaaaaaaaearning,kelompok 10.pptxproject_based_laaaaaaaaaaearning,kelompok 10.pptx
project_based_laaaaaaaaaaearning,kelompok 10.pptx
redzuriel13
 
Reliable Vancouver Web Hosting with Local Servers & 24/7 Support
Reliable Vancouver Web Hosting with Local Servers & 24/7 SupportReliable Vancouver Web Hosting with Local Servers & 24/7 Support
Reliable Vancouver Web Hosting with Local Servers & 24/7 Support
steve198109
 
APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025
APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025
APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025
APNIC
 
Computers Networks Computers Networks Computers Networks
Computers Networks Computers Networks Computers NetworksComputers Networks Computers Networks Computers Networks
Computers Networks Computers Networks Computers Networks
Tito208863
 
Determining Glass is mechanical textile
Determining  Glass is mechanical textileDetermining  Glass is mechanical textile
Determining Glass is mechanical textile
Azizul Hakim
 
White and Red Clean Car Business Pitch Presentation.pptx
White and Red Clean Car Business Pitch Presentation.pptxWhite and Red Clean Car Business Pitch Presentation.pptx
White and Red Clean Car Business Pitch Presentation.pptx
canumatown
 
APNIC Update, presented at NZNOG 2025 by Terry Sweetser
APNIC Update, presented at NZNOG 2025 by Terry SweetserAPNIC Update, presented at NZNOG 2025 by Terry Sweetser
APNIC Update, presented at NZNOG 2025 by Terry Sweetser
APNIC
 
Understanding the Tor Network and Exploring the Deep Web
Understanding the Tor Network and Exploring the Deep WebUnderstanding the Tor Network and Exploring the Deep Web
Understanding the Tor Network and Exploring the Deep Web
nabilajabin35
 
highend-srxseries-services-gateways-customer-presentation.pptx
highend-srxseries-services-gateways-customer-presentation.pptxhighend-srxseries-services-gateways-customer-presentation.pptx
highend-srxseries-services-gateways-customer-presentation.pptx
elhadjcheikhdiop
 
DNS Resolvers and Nameservers (in New Zealand)
DNS Resolvers and Nameservers (in New Zealand)DNS Resolvers and Nameservers (in New Zealand)
DNS Resolvers and Nameservers (in New Zealand)
APNIC
 

Web service architecture

  • 2. Table of Contents • What’s Web Service? • Web Service Model • Architecture Overview – SOAP – WSDL – UDDI • Conclusion
  • 3. What’s Web Service? • “Software application identified by a URI, whose interfaces and bindings are capable of being defined, described, and discovered as XML artifacts” – W3C Web Services Architecture Requirements, Oct. 2002 • “Programmable application logic accessible using Standard Internet Protocols…” – Microsoft • “An interface that describes a collection of operations that are network accessible through standardized XML messaging …” – IBM • “Software components that can be spontaneously discovered, combined, and recombined to provide a solution to the user’s problem/request … “ - SUN
  • 4. Web Services: The Next Horizon for e- business • Allow companies to reduce the cost of doing e-business, to deploy solutions faster – Need a common program-to-program communications model • Allow heterogeneous applications to be integrated more rapidly, easily and less expensively • Facilitate deploying and providing access to business functions over the Web
  • 5. Sun J2EE MS .NET Platform CORBA
  • 6. Table of Contents • What’s Web Service? • Web Service Model • Architecture Overview – SOAP – WSDL – UDDI • Conclusion
  • 8. Web Service Model (2/3) • Roles in Web Service architecture – Service provider • Owner of the service • Platform that hosts access to the service – Service requestor • Business that requires certain functions to be satisfied • Application looking for and invoking an interaction with a service – Service registry • Searchable registry of service descriptions where service providers publish their service descriptions
  • 9. Web Service Model (3/3) • Operations in a Web Service Architecture – Publish • Service descriptions need to be published in order for service requestor to find them – Find • Service requestor retrieves a service description directly or queries the service registry for the service required – Bind • Service requestor invokes or initiates an interaction with the service at runtime
  • 10. Table of Contents • What’s Web Service? • Web Service Model • Architecture Overview – SOAP – WSDL – UDDI • Conclusion
  • 12. SOAP: Simple Object Access Protocol • What is SOAP? – 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 will be developed as a W3C standard
  • 13. SOAP: Simple Object Access Protocol • SOAP 1.0: Microsoft, Userland, DevelopMentor – Specific to COM and HTTP • SOAP 1.1: includes contributions from IBM and Lotus – Substitutable transport binding (not just HTTP) – Substitutable language binding (e.g. Java) – Substitutable data encoding – Completely vendor-neutral – Independent of: programming language, object model, operating system, or platform • SOAP 1.2: current working draft from w3.org “XML Protocol” working group
  • 14. SOAP Message Structure • Request and Response messages – Request invokes a method on a remote object – Response returns result of running the method • SOAP specification defines an “envelop” – “envelop” wraps the message itself – Message is a different vocabulary – Namespace prefix is used to distinguish the two parts Application-specific message vocabulary SOAP Envelop vocabulary
  • 15. SOAP Request Message <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body xmlns:m="http://www.stock.org/stock"> </soap:Body> </soap:Envelope> <m:GetStockPrice> <m:StockName>IBM</m:StockName> </m:GetStockPrice> SOAP Envelope Message SOAP Envelope Namespace Message Namespace
  • 16. SOAP Response Message <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body xmlns:m="http://www.stock.org/stock"> </soap:Body> </soap:Envelope> <m:GetStockPriceResponse> <m:Price>34.5</m:Price> </m:GetStockPriceResponse> SOAP Envelope Message Result returned in Body
  • 17. • SOAP hides the technical choices and implementation details from both parties Simple standard XML Message
  • 18. Why SOAP? • Other distributed technologies failed on the Internet – Unix RPC – requires binary-compatible Unix implementations at each endpoint – CORBA – requires compatible ORBs – RMI – requires Java at each endpoint – DCOM – requires Windows at each endpoint • SOAP is the platform-neutral choice – Simply an XML wire format – Places no restrictions on the endpoint implementation technology choices
  • 19. SOAP Usage Models • RPC-like message exchange – Request message bundles up method name and parameters – Response message contains method return values – However, it isn’t required by SOAP • SOAP specification allows any kind of body content – Can be XML documents of any type – Example: • Send a purchase order document to the inbox of B2B partner • Expect to receive shipping and exceptions report as response
  • 20. Web Services Description Language • What is WSDL? – 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 • Operational information about the service – Location of the service – Service interface – Implementation details for the service interface
  • 21. WSDL Document Structure (1/2) • <portType> element – Defines a web service, the operations that can be performed, and the messages that are involved • <message> element – Defines the data elements of an operation – consists of one or more parts. – The parts can be compared to the parameters of a function call in a traditional programming language
  • 22. WSDL Document Structure (2/2) • <types> element – Defines the data type that are used by the web service – For maximum platform neutrality, WSDL uses XML Schema syntax to define data types • <binding> element – Defines the message format and communication protocols used by the web service
  • 23. <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> WSDL Example
  • 24. <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> <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> Binding to SOAP
  • 25. Universal Description, Discovery and Integration (UDDI) • What is UDDI? – Directory service where businesses can register and search for Web services • Directory for storing information about web services • Directory of web service interfaces described by WSDL – UDDI communicates via SOAP • What is UDDI Based On? – Uses W3C Internet standards such as XML, HTTP, and DNS protocols – UDDI uses WSDL to describe interfaces to web services
  • 26. UDDI Roles and Operations • Service Registry – Provides support for publishing and locating services – Like telephone yellow pages • Service Provider – Provides e-business services – Publishes these services through a registry • Service requestor – Finds required services via the Service Broker – Binds to services via Service Provider
  • 27. How can UDDI be Used?
  • 28. UDDI Benefits • Making it possible to discover the right business from the millions currently online • Defining how to enable commerce once the preferred business is discovered • Reaching new customers and increasing access to current customers • Expanding offerings and extending market reach
  • 29. Types of UDDI nodes (1/3) • Internal Enterprise Application UDDI node – Web Services for use within a company for internal enterprise application integration – The scope can be single application, departmental, corporate – Sit behind the firewall – Allow the service providers more control over their service registry and its accessibility
  • 30. Types of UDDI nodes (2/3) • Portal UDDI node – Web Services published by a company for external partners to find and use – Runs outside the service provider’s firewall – Contains only those service descriptions that a company wishes to provide to service requestors from external partners • Partner catalog UDDI node – Web services to be used by a particular company – Runs behind the firewall – Contains only approved, tested and valid Web service descriptions for legitimate business partners
  • 31. Types of UDDI nodes (3/3) • E-Marketplace UDDI node – Web Services that the service provider intends to compete for requestors’ business with other Web Services – Hosted by an industry standards organization or consortium – Contains service descriptions from businesses in a particular industry
  • 33. Conclusion • Web Serivices substitute for existing distributed computing model such as RPC, CORBA • To apply to real e-business application, the following problems should be covered – Security – Transaction Management – QOS (ex., reliable message transmission) – Efficient methods for composing Web Services