SlideShare a Scribd company logo
1 Mehta Ishani
2nd
M.E.(CSE)
Web Services: Concepts, Protocols and
development
What is a web service?
They are pieces of business logic that can be accessed over the
Internet.
A Web Service is an application component accessible over open
protocols
Web services communicate using standards-based Web technologies
including HTTP and XML-based messaging.
Web services are self-contained and self-describing
Once deployed Web services can be used by other applications
Examples:-e-commerce, Google, Amazon and eBay are providing web
services
Standard definition
• IBM
– “A Web service is an interface that describes a collection of
operations that are network accessible through standardized XML
messaging”
• Microsoft: XML Web Services
– “.. expose useful functionality to Web users through a standard
Web protocol”
– “.. provide a way to describe their interfaces in enough detail
to allow a user to build a client application to talk to them”
– “.. are registered so that potential users can find them easily”
History
 Structured programming
 Object-oriented programming
 Service oriented programming
Hewlett-Packard's e-Speak in 1999 was an enabler for e-services.
Microsoft introduced the name "web services" in June 2000
2 Mehta Ishani
2nd
M.E.(CSE)
Why web services
Web services provide several technological and business
benefits, a few of which include:
 Application and data integration
WS provides inherent interoperability with using vendor,
platform, and language independent XML technologies and the
ubiquitous HTTP as a transport mean so that any application
can communicate with any other application using Web
services.
The client only requires the WSDL definition to effectively
exchange data with the service – and neither part needs to
know how the other is implemented or in what format its
underlying data is stored. These benefits allow
organizations to integrate disparate applications and data
formats with relative ease.
 Versatility
Web services are also versatile by design. They can be
accessed by humans via a Web-based client interface, or
they can be accessed by other applications and other Web
services.
A client can even combine data from multiple Web services
to, for instance, present a user with an application to
update sales, shipping, and ERP systems from one unified
interface – even if the systems themselves are
incompatible. Because the systems exchange information via
Web services, a change to the sales database, for example,
will not affect the service itself.
 Code re-use
Code re-use is another positive side-effect of Web
services' interoperability and flexibility. One service
might be utilized by several clients, all of which employ
the operations provided to fulfill different business
objectives. Instead of having to create a custom service
for each unique requirement, portions of a service are
simply re-used as necessary.
3 Mehta Ishani
2nd
M.E.(CSE)
 Cost savings
Easy interoperability means the need to create highly
customized applications for integrating data, which can be
expensive, is removed.
Existing investments in systems development and
infrastructure can be utilized easily and combined to add
additional value.
Since Web services are based on open standards their cost
is low and the associated learning curve is smaller than
that of many proprietary solutions.
Finally, Web services take advantage of ubiquitous
protocols and the Web infrastructure that already exists in
every organization, so they require little if any
additional technology investment.
How does it Work?
The basic Web services platform is XML + HTTP.
The HTTP protocol is the most used Internet protocol.
XML provides a language which can be used between different
platforms and programming languages and still express complex
messages and functions.
Web services platform elements
 SOAP (Simple Object Access Protocol)
 UDDI (Universal Description, Discovery and Integration)
 WSDL (Web Services Description Language)
Web Services Model
4 Mehta Ishani
2nd
M.E.(CSE)
Web Services Stack
What is UDDI?
UDDI is a directory service where businesses can register and
search for Web services.
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
UDDI is a standard sponsored by OASIS (Organization for the
Advancement of Structured Information Standards)
UDDI uses World Wide Web Consortium (W3C) and Internet
Engineering Task Force (IETF) Internet standards such as XML,
HTTP, and DNS protocols.
UDDI provides businesses a uniform way of listing their services
and discovering services offered by other organizations.
5 Mehta Ishani
2nd
M.E.(CSE)
Registering a Web service in a UDDI registry is an optional
step, and UDDI registries can be public or private (i.e.
isolated behind a corporate firewall).
To search for a Web service, a developer can query a UDDI
registry to obtain the WSDL for the service he/she wishes to
utilize.
How can UDDI be Used
If the industry published an UDDI standard for flight rate
checking and reservation, airlines could register their services
into an UDDI directory. Travel agencies could then search the
UDDI directory to find the airline's reservation interface. When
the interface is found, the travel agency can communicate with
the service immediately because it uses a well-defined
reservation interface.
Who is Supporting UDDI?
UDDI is a cross-industry effort driven by all major platform and
software providers like Dell, Fujitsu, HP, Hitachi, IBM, Intel,
Microsoft, Oracle, SAP, and Sun, as well as a large community of
marketplace operators, and e-business leaders.
Over 220 companies are members of the UDDI community.
What is WSDL?
WSDL is an XML-based language for describing Web services and
how to access them.
WSDL stands for Web Services Description Language
WSDL is written in XML
WSDL is also used to locate Web services
WSDL describes a web service, along with the message format and
protocol details for the web service.
WSDL is maintained by the W3C.
Through the WSDL, a Web services client learns where a service
can be accessed, what operations the service performs, the
communication protocols the service supports, and the correct
format for sending messages to the service.
6 Mehta Ishani
2nd
M.E.(CSE)
Six main elements:
Port type – groups and describes the operations performed by the
service through the defined interface.
Port – specifies an address for a binding, i.e., defines a
communication port.
Message – describes the names and format of the messages
supported by the service.
Types – defines the data types (as defined in an XML Schema)
used by the service for sending messages between the client and
server.
Binding – defines the communication protocols supported by the
operations provided by the service.
Service – specifies the address (URL) for accessing the service.
The WSDL document that describes a Web service acts as a
contract between Web service client and server.
By adhering to this contact the service provider and consumer
are able to exchange data in a standard way, regardless of the
underlying platforms and applications on which they are
operating.
What is SOAP?
The basic Web services platform is XML plus HTTP.
SOAP stands for Simple Object Access Protocol
SOAP is platform independent and language independent
SOAP is simple and extensible
SOAP allows you to get around firewalls
SOAP will be developed as a W3C standard
SOAP is a simple XML-based protocol that allows applications
to exchange information over HTTP.
SOAP is a protocol for accessing a web service.
7 Mehta Ishani
2nd
M.E.(CSE)
Why SOAP?
It is important for application development to allow Internet
communication between programs.
Today's applications communicate using Remote Procedure Calls
(RPC) between objects like DCOM and CORBA, but HTTP was not
designed for this. RPC represents a compatibility and security
problem; firewalls and proxy servers will normally block this
kind of traffic.
A better way to communicate between applications is over HTTP,
because HTTP is supported by all Internet browsers and servers.
SOAP was created to accomplish this.
SOAP provides a way to communicate between applications running
on different operating systems, with different technologies and
programming languages.
Major elements:
Envelope – specifies that the XML document is a SOAP message;
encloses the message itself.
Header (optional) – contains information relevant to the
message, e.g., the date the message was sent, authentication
data, etc.
Body – includes the message payload.
Fault (optional) – carries information about a client or server
error within a SOAP message.
Data is sent between the client(s) and the Web service using
request and response SOAP messages, the format for which is
specified in the WSDL definition. Because the client and server
adhere to the WSDL contract when creating SOAP messages, the
messages are guaranteed to be compatible.
All the elements above are declared in the default namespace for
the SOAP envelope:
http://www.w3.org/2001/12/soap-envelope
and the default namespace for SOAP encoding and data types is:
http://www.w3.org/2001/12/soap-encoding
Syntax Rules
8 Mehta Ishani
2nd
M.E.(CSE)
Here are some important syntax rules:
 A SOAP message MUST be encoded using XML
 A SOAP message MUST use the SOAP Envelope namespace
 A SOAP message MUST use the SOAP Encoding namespace
 A SOAP message must NOT contain a DTD reference
 A SOAP message must NOT contain XML Processing Instructions
SOAP HTTP Binding
A SOAP method is an HTTP request/response that complies with the
SOAP encoding rules.
HTTP + XML = SOAP
A SOAP request could be an HTTP POST or an HTTP GET request.
The HTTP POST request specifies at least two HTTP headers:
Content-Type and Content-Length.
Content-Type
The Content-Type header for a SOAP request and response defines
the MIME type for the message and the character encoding
(optional) used for the XML body of the request or response.
Content-Length
The Content-Length header for a SOAP request and response
specifies the number of bytes in the body of the request or
response.

More Related Content

What's hot

Service Oriented Architecture Updated Luqman
Service Oriented Architecture Updated  LuqmanService Oriented Architecture Updated  Luqman
Service Oriented Architecture Updated Luqman
guesteb791b
 
Xml For Dummies Chapter 15 Using Xml With Web Servicesit-slideshares.blogsp...
Xml For Dummies   Chapter 15 Using Xml With Web Servicesit-slideshares.blogsp...Xml For Dummies   Chapter 15 Using Xml With Web Servicesit-slideshares.blogsp...
Xml For Dummies Chapter 15 Using Xml With Web Servicesit-slideshares.blogsp...
phanleson
 

What's hot (20)

Webservices
WebservicesWebservices
Webservices
 
Web Service Basics and NWS Setup
Web Service  Basics and NWS SetupWeb Service  Basics and NWS Setup
Web Service Basics and NWS Setup
 
Introduction To Web Services
Introduction To Web ServicesIntroduction To Web Services
Introduction To Web Services
 
Web Services
Web ServicesWeb Services
Web Services
 
Service Oriented Architecture Updated Luqman
Service Oriented Architecture Updated  LuqmanService Oriented Architecture Updated  Luqman
Service Oriented Architecture Updated Luqman
 
Xml For Dummies Chapter 15 Using Xml With Web Servicesit-slideshares.blogsp...
Xml For Dummies   Chapter 15 Using Xml With Web Servicesit-slideshares.blogsp...Xml For Dummies   Chapter 15 Using Xml With Web Servicesit-slideshares.blogsp...
Xml For Dummies Chapter 15 Using Xml With Web Servicesit-slideshares.blogsp...
 
Unit 5 WEB TECHNOLOGIES
Unit 5 WEB TECHNOLOGIES Unit 5 WEB TECHNOLOGIES
Unit 5 WEB TECHNOLOGIES
 
Anatomy Of A Web Service
Anatomy Of A Web ServiceAnatomy Of A Web Service
Anatomy Of A Web Service
 
Efficient retrieval of web services using prioritization and clustering
Efficient retrieval of web services using prioritization and clusteringEfficient retrieval of web services using prioritization and clustering
Efficient retrieval of web services using prioritization and clustering
 
As044285288
As044285288As044285288
As044285288
 
Introduction to Web Services
Introduction to Web ServicesIntroduction to Web Services
Introduction to Web Services
 
SOA - From Webservices to APIs
SOA - From Webservices to APIsSOA - From Webservices to APIs
SOA - From Webservices to APIs
 
Secc tutorials development and deployment of rest web services in java_v2.0
Secc tutorials development and deployment of rest web services in java_v2.0Secc tutorials development and deployment of rest web services in java_v2.0
Secc tutorials development and deployment of rest web services in java_v2.0
 
Cics Web 2.0 With Atom Feeds And Php
Cics Web 2.0 With Atom Feeds And PhpCics Web 2.0 With Atom Feeds And Php
Cics Web 2.0 With Atom Feeds And Php
 
SynapseIndia dotnet web applications development
SynapseIndia  dotnet web applications developmentSynapseIndia  dotnet web applications development
SynapseIndia dotnet web applications development
 
Web services
Web servicesWeb services
Web services
 
Understanding Web services
Understanding Web servicesUnderstanding Web services
Understanding Web services
 
Web services SOAP Notes
Web services SOAP NotesWeb services SOAP Notes
Web services SOAP Notes
 
Develop ASP.Net Web Service
Develop ASP.Net Web Service Develop ASP.Net Web Service
Develop ASP.Net Web Service
 
Context And Concept Of Web Services
Context And Concept Of Web ServicesContext And Concept Of Web Services
Context And Concept Of Web Services
 

Viewers also liked

Photo essay danshanique adkins
Photo essay danshanique adkinsPhoto essay danshanique adkins
Photo essay danshanique adkins
NiqueyyPooh
 
Ci webquest
Ci webquest Ci webquest
Ci webquest
zheaver
 
Dia de los_muertos-[2]
Dia de los_muertos-[2]Dia de los_muertos-[2]
Dia de los_muertos-[2]
jkayleejo
 
Globalization
GlobalizationGlobalization
Globalization
jkayleejo
 
El dia de los muertos webquest
El dia de los muertos webquestEl dia de los muertos webquest
El dia de los muertos webquest
jkayleejo
 

Viewers also liked (19)

Webquest
WebquestWebquest
Webquest
 
Photo essay danshanique adkins
Photo essay danshanique adkinsPhoto essay danshanique adkins
Photo essay danshanique adkins
 
Ci webquest
Ci webquest Ci webquest
Ci webquest
 
Web services concepts, protocols and development
Web services concepts, protocols and developmentWeb services concepts, protocols and development
Web services concepts, protocols and development
 
Getting Started With ITC Express
Getting Started With ITC ExpressGetting Started With ITC Express
Getting Started With ITC Express
 
Dia de los_muertos-[2]
Dia de los_muertos-[2]Dia de los_muertos-[2]
Dia de los_muertos-[2]
 
Globalization
GlobalizationGlobalization
Globalization
 
El dia de los muertos webquest
El dia de los muertos webquestEl dia de los muertos webquest
El dia de los muertos webquest
 
Galileo Galilei
Galileo Galilei Galileo Galilei
Galileo Galilei
 
Web services
Web servicesWeb services
Web services
 
Object oriented concepts with java
Object oriented concepts with javaObject oriented concepts with java
Object oriented concepts with java
 
Branch and bound technique
Branch and bound techniqueBranch and bound technique
Branch and bound technique
 
Kerberos using public key cryptography
Kerberos using public key cryptographyKerberos using public key cryptography
Kerberos using public key cryptography
 
File models and file accessing models
File models and file accessing modelsFile models and file accessing models
File models and file accessing models
 
Search engine and web crawler
Search engine and web crawlerSearch engine and web crawler
Search engine and web crawler
 
Branch and bound technique
Branch and bound techniqueBranch and bound technique
Branch and bound technique
 
Solving travelling salesman problem using firefly algorithm
Solving travelling salesman problem using firefly algorithmSolving travelling salesman problem using firefly algorithm
Solving travelling salesman problem using firefly algorithm
 
Wap wml
Wap wmlWap wml
Wap wml
 
Wap architecture and wml script
Wap architecture and wml scriptWap architecture and wml script
Wap architecture and wml script
 

Similar to Web services concepts, protocols and development

Wsdl Bahankuliah
Wsdl BahankuliahWsdl Bahankuliah
Wsdl Bahankuliah
Eri Alam
 
webservices overview
webservices overviewwebservices overview
webservices overview
elliando dias
 
Web Service Implementation Using ASP.NET
Web Service Implementation Using ASP.NETWeb Service Implementation Using ASP.NET
Web Service Implementation Using ASP.NET
Ponraj
 

Similar to Web services concepts, protocols and development (20)

Service view
Service viewService view
Service view
 
Web Services in Cloud Computing.pptx
Web Services in Cloud Computing.pptxWeb Services in Cloud Computing.pptx
Web Services in Cloud Computing.pptx
 
Web services
Web servicesWeb services
Web services
 
dotNETfinal.ppt
dotNETfinal.pptdotNETfinal.ppt
dotNETfinal.ppt
 
dotNETfinal.ppt
dotNETfinal.pptdotNETfinal.ppt
dotNETfinal.ppt
 
Web services
Web servicesWeb services
Web services
 
Web services and SOA
Web services and SOAWeb services and SOA
Web services and SOA
 
Wsdl Bahankuliah
Wsdl BahankuliahWsdl Bahankuliah
Wsdl Bahankuliah
 
Cc unit 2 updated
Cc unit 2 updatedCc unit 2 updated
Cc unit 2 updated
 
webservices overview
webservices overviewwebservices overview
webservices overview
 
Java web services
Java web servicesJava web services
Java web services
 
Introduction to webservices
Introduction to webservicesIntroduction to webservices
Introduction to webservices
 
Advantage of WCF Over Web Services
Advantage of WCF Over Web ServicesAdvantage of WCF Over Web Services
Advantage of WCF Over Web Services
 
Web services ankur ppt
Web services ankur pptWeb services ankur ppt
Web services ankur ppt
 
.NET Tutorial
.NET Tutorial.NET Tutorial
.NET Tutorial
 
Web Service Implementation Using ASP.NET
Web Service Implementation Using ASP.NETWeb Service Implementation Using ASP.NET
Web Service Implementation Using ASP.NET
 
WebService-Java
WebService-JavaWebService-Java
WebService-Java
 
Web services for developer
Web services for developerWeb services for developer
Web services for developer
 
Web programming
Web programmingWeb programming
Web programming
 
1. web services
1. web services1. web services
1. web services
 

Recently uploaded

Digital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdfDigital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdf
AbrahamGadissa
 
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical SolutionsRS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
Atif Razi
 
Online blood donation management system project.pdf
Online blood donation management system project.pdfOnline blood donation management system project.pdf
Online blood donation management system project.pdf
Kamal Acharya
 
Automobile Management System Project Report.pdf
Automobile Management System Project Report.pdfAutomobile Management System Project Report.pdf
Automobile Management System Project Report.pdf
Kamal Acharya
 

Recently uploaded (20)

Halogenation process of chemical process industries
Halogenation process of chemical process industriesHalogenation process of chemical process industries
Halogenation process of chemical process industries
 
Toll tax management system project report..pdf
Toll tax management system project report..pdfToll tax management system project report..pdf
Toll tax management system project report..pdf
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
Scaling in conventional MOSFET for constant electric field and constant voltage
Scaling in conventional MOSFET for constant electric field and constant voltageScaling in conventional MOSFET for constant electric field and constant voltage
Scaling in conventional MOSFET for constant electric field and constant voltage
 
Digital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdfDigital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdf
 
Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdfA CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
 
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES  INTRODUCTION UNIT-IENERGY STORAGE DEVICES  INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
 
shape functions of 1D and 2 D rectangular elements.pptx
shape functions of 1D and 2 D rectangular elements.pptxshape functions of 1D and 2 D rectangular elements.pptx
shape functions of 1D and 2 D rectangular elements.pptx
 
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical SolutionsRS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
 
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
Online blood donation management system project.pdf
Online blood donation management system project.pdfOnline blood donation management system project.pdf
Online blood donation management system project.pdf
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
 
Automobile Management System Project Report.pdf
Automobile Management System Project Report.pdfAutomobile Management System Project Report.pdf
Automobile Management System Project Report.pdf
 
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical EngineeringIntroduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
 

Web services concepts, protocols and development

  • 1. 1 Mehta Ishani 2nd M.E.(CSE) Web Services: Concepts, Protocols and development What is a web service? They are pieces of business logic that can be accessed over the Internet. A Web Service is an application component accessible over open protocols Web services communicate using standards-based Web technologies including HTTP and XML-based messaging. Web services are self-contained and self-describing Once deployed Web services can be used by other applications Examples:-e-commerce, Google, Amazon and eBay are providing web services Standard definition • IBM – “A Web service is an interface that describes a collection of operations that are network accessible through standardized XML messaging” • Microsoft: XML Web Services – “.. expose useful functionality to Web users through a standard Web protocol” – “.. provide a way to describe their interfaces in enough detail to allow a user to build a client application to talk to them” – “.. are registered so that potential users can find them easily” History  Structured programming  Object-oriented programming  Service oriented programming Hewlett-Packard's e-Speak in 1999 was an enabler for e-services. Microsoft introduced the name "web services" in June 2000
  • 2. 2 Mehta Ishani 2nd M.E.(CSE) Why web services Web services provide several technological and business benefits, a few of which include:  Application and data integration WS provides inherent interoperability with using vendor, platform, and language independent XML technologies and the ubiquitous HTTP as a transport mean so that any application can communicate with any other application using Web services. The client only requires the WSDL definition to effectively exchange data with the service – and neither part needs to know how the other is implemented or in what format its underlying data is stored. These benefits allow organizations to integrate disparate applications and data formats with relative ease.  Versatility Web services are also versatile by design. They can be accessed by humans via a Web-based client interface, or they can be accessed by other applications and other Web services. A client can even combine data from multiple Web services to, for instance, present a user with an application to update sales, shipping, and ERP systems from one unified interface – even if the systems themselves are incompatible. Because the systems exchange information via Web services, a change to the sales database, for example, will not affect the service itself.  Code re-use Code re-use is another positive side-effect of Web services' interoperability and flexibility. One service might be utilized by several clients, all of which employ the operations provided to fulfill different business objectives. Instead of having to create a custom service for each unique requirement, portions of a service are simply re-used as necessary.
  • 3. 3 Mehta Ishani 2nd M.E.(CSE)  Cost savings Easy interoperability means the need to create highly customized applications for integrating data, which can be expensive, is removed. Existing investments in systems development and infrastructure can be utilized easily and combined to add additional value. Since Web services are based on open standards their cost is low and the associated learning curve is smaller than that of many proprietary solutions. Finally, Web services take advantage of ubiquitous protocols and the Web infrastructure that already exists in every organization, so they require little if any additional technology investment. How does it Work? The basic Web services platform is XML + HTTP. The HTTP protocol is the most used Internet protocol. XML provides a language which can be used between different platforms and programming languages and still express complex messages and functions. Web services platform elements  SOAP (Simple Object Access Protocol)  UDDI (Universal Description, Discovery and Integration)  WSDL (Web Services Description Language) Web Services Model
  • 4. 4 Mehta Ishani 2nd M.E.(CSE) Web Services Stack What is UDDI? UDDI is a directory service where businesses can register and search for Web services. 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 UDDI is a standard sponsored by OASIS (Organization for the Advancement of Structured Information Standards) UDDI uses World Wide Web Consortium (W3C) and Internet Engineering Task Force (IETF) Internet standards such as XML, HTTP, and DNS protocols. UDDI provides businesses a uniform way of listing their services and discovering services offered by other organizations.
  • 5. 5 Mehta Ishani 2nd M.E.(CSE) Registering a Web service in a UDDI registry is an optional step, and UDDI registries can be public or private (i.e. isolated behind a corporate firewall). To search for a Web service, a developer can query a UDDI registry to obtain the WSDL for the service he/she wishes to utilize. How can UDDI be Used If the industry published an UDDI standard for flight rate checking and reservation, airlines could register their services into an UDDI directory. Travel agencies could then search the UDDI directory to find the airline's reservation interface. When the interface is found, the travel agency can communicate with the service immediately because it uses a well-defined reservation interface. Who is Supporting UDDI? UDDI is a cross-industry effort driven by all major platform and software providers like Dell, Fujitsu, HP, Hitachi, IBM, Intel, Microsoft, Oracle, SAP, and Sun, as well as a large community of marketplace operators, and e-business leaders. Over 220 companies are members of the UDDI community. What is WSDL? WSDL is an XML-based language for describing Web services and how to access them. WSDL stands for Web Services Description Language WSDL is written in XML WSDL is also used to locate Web services WSDL describes a web service, along with the message format and protocol details for the web service. WSDL is maintained by the W3C. Through the WSDL, a Web services client learns where a service can be accessed, what operations the service performs, the communication protocols the service supports, and the correct format for sending messages to the service.
  • 6. 6 Mehta Ishani 2nd M.E.(CSE) Six main elements: Port type – groups and describes the operations performed by the service through the defined interface. Port – specifies an address for a binding, i.e., defines a communication port. Message – describes the names and format of the messages supported by the service. Types – defines the data types (as defined in an XML Schema) used by the service for sending messages between the client and server. Binding – defines the communication protocols supported by the operations provided by the service. Service – specifies the address (URL) for accessing the service. The WSDL document that describes a Web service acts as a contract between Web service client and server. By adhering to this contact the service provider and consumer are able to exchange data in a standard way, regardless of the underlying platforms and applications on which they are operating. What is SOAP? The basic Web services platform is XML plus HTTP. SOAP stands for Simple Object Access Protocol SOAP is platform independent and language independent SOAP is simple and extensible SOAP allows you to get around firewalls SOAP will be developed as a W3C standard SOAP is a simple XML-based protocol that allows applications to exchange information over HTTP. SOAP is a protocol for accessing a web service.
  • 7. 7 Mehta Ishani 2nd M.E.(CSE) Why SOAP? It is important for application development to allow Internet communication between programs. Today's applications communicate using Remote Procedure Calls (RPC) between objects like DCOM and CORBA, but HTTP was not designed for this. RPC represents a compatibility and security problem; firewalls and proxy servers will normally block this kind of traffic. A better way to communicate between applications is over HTTP, because HTTP is supported by all Internet browsers and servers. SOAP was created to accomplish this. SOAP provides a way to communicate between applications running on different operating systems, with different technologies and programming languages. Major elements: Envelope – specifies that the XML document is a SOAP message; encloses the message itself. Header (optional) – contains information relevant to the message, e.g., the date the message was sent, authentication data, etc. Body – includes the message payload. Fault (optional) – carries information about a client or server error within a SOAP message. Data is sent between the client(s) and the Web service using request and response SOAP messages, the format for which is specified in the WSDL definition. Because the client and server adhere to the WSDL contract when creating SOAP messages, the messages are guaranteed to be compatible. All the elements above are declared in the default namespace for the SOAP envelope: http://www.w3.org/2001/12/soap-envelope and the default namespace for SOAP encoding and data types is: http://www.w3.org/2001/12/soap-encoding Syntax Rules
  • 8. 8 Mehta Ishani 2nd M.E.(CSE) Here are some important syntax rules:  A SOAP message MUST be encoded using XML  A SOAP message MUST use the SOAP Envelope namespace  A SOAP message MUST use the SOAP Encoding namespace  A SOAP message must NOT contain a DTD reference  A SOAP message must NOT contain XML Processing Instructions SOAP HTTP Binding A SOAP method is an HTTP request/response that complies with the SOAP encoding rules. HTTP + XML = SOAP A SOAP request could be an HTTP POST or an HTTP GET request. The HTTP POST request specifies at least two HTTP headers: Content-Type and Content-Length. Content-Type The Content-Type header for a SOAP request and response defines the MIME type for the message and the character encoding (optional) used for the XML body of the request or response. Content-Length The Content-Length header for a SOAP request and response specifies the number of bytes in the body of the request or response.