Web Services and XML,SOA
Submitted To :
Gautam Buddha University,
Greater Noida
Ms. Rashmi Singh
Submitted By :
Praveen
M.Tech(AIR)
225/PAI/002
Web Services - Definition
from W3C
“ A Web service is a software system identified by a URI,
whose public interfaces and bindings are defined and
described using XML. Its definition can be discovered by
other software systems. These systems may then
interact with the Web service in a manner prescribed by
its definition, using XML based messages conveyed by
internet protocols.”
Service Oriented
Architectures
Technologies capable of:
•Exchanging messages
•Describing Web services
•Publishing and discovering Web
service descriptions
Component
Role
Operation
service
requestor
retrieves a
service
description
A service publishes its
description
One-way,
conversational,
many-to-many
Web Services –
Architectural Extensions
 Incorporates additional features and functionality by extending
technologies and components defined within the basic
architecture, such as:
 Asynchronous messaging
 Attachment – typical usage : associating binary data with SOAP
messages.
 Caching
 Message exchange pattern (MEP) - Describes a generalized pattern of
message exchange between two services. e.g. : one-way,
request/response, publish/subscribe, and broadcast.
 Reliable message - implementation of Reliable Messaging one MEP is a
series of requests between two nodes with an acknowledgement SOAP
Module.
 Message confidentiality – Can transmit the message via SSL or TLS, or
have a SOAP Module provides for encryption and decryption.
 Message integrity – Can have a SOAP Module use digital signature.
 Session
The Complete Web Services
"Stack"
More
mature
technologies
The Wire Stack
•Transport: HTTP is
the de facto, other
may be supported.
•Packaging: SOAP is
the de facto standard
for XML messaging.
•Extensions :
Additional information
attached to web
services messages.
The Description Stack
It is actually a stack of description
documents defined using XML
Schema.
Satisfied
by WSDL
minimum service description
necessary to support
interoperable Web services.
facts, or assertions, and
rules that apply to a
particular Web service
Input/
Output
rendering
Not fully
specified
The Discovery Stack
 Service can be published using a variety of mechanisms:
 Direct publish: description sent directly to requestor;
 WSIL : HTTP GET retrieves descriptions from URL;
 Universal Description, Discovery and Integration (UDDI)
registries: a Web-based distributed directory.
 Service requestors can retrieve a service description at design
time (search by interface) or runtime (by communication and
QoS) from a Web page (URL), a service description repository,
a simple service registry or a UDDI registry. Discovery
depends on how services are published;
WSIL : de-centralized
service discovery method
The technology so far
The WS technology is completely based on XML.
Therefore, both the data format and the
interaction protocols are XML-based:
 customized XML -> data format
 SOAP -> communication protocol
 WSDL -> the Interface definition language
 WSIL/UDDI -> standards for services discovery
The lowest-level layers (the transport layer)
should exploit some existing Internet
protocols, like HTTP or SMTP
What is XML
XML is a simple tag-based language for
describing information in a structured way.
Basic elements:
 Tags
 Attributes
 Text
<xhtml:table><xhtml:tr>
<xhtml:td width="40%">LastName</xhtml:td>
<xhtml:td width="60%">Allen</xhtml:td>
</xhtml:tr></xhtml:table>
StartTag Text EndTag
Attributes
LastName Allen
How to work on XML
The tree-like structure of XML makes developers
life hard.
In practice there is not a standard way for
editing and analysing, but the best method
depends on your need. Just choose among:
 SAX -> call-back-based parser
 DOM -> tree representation
 XSLT -> “XML to XML” conversion
 XPATH -> queries
 XML Binding -> transparent conversion to
objects
Simple Object Access Protocol
SOAP is a technology to support the exchange of
XML-coded messages over a transport protocol,
such as HTTP and SMTP. (wire stack)
HTTP server
Skeleton
Server
HTTP client
Stub
Client
  XML XML  
POST…
HTTP 1.1 200 OK
  SOAP SOAP  
HTTP
SOAP
XML
Protocols Folding
SOAP basic mechanism
Simple Object Access Protocol
A SOAP runtime engine basically adds a XML
envelope to an existing XML document
SOAP Envelope
XML
Document
<soap:Envelope>
<soap:Header>
<axis:SessionKey>
SDHH37TYEW7R7
</axis:SessionKey>
</soap:Header>
<soap:Body>
<GetPrice>
<Item>Apples</Item>
</GetPrice>
</soap:Body>
</soap:Envelope>
SOAP Body
SOAP Header
Communicatio
n Info
Example
Document Container Session, Authentication,
Routing, Security
SOAP Encoding
Dealing directly with XML messages is not easy.
Therefore, SOAP provides a “RPC emulation”
technology
The result: developers work with web services like
with traditional RPC (e.g. CORBA,DCOM,DCE)
The “RPC emulation” is named SOAP encoding.
Fundamentally it is a set of rules to map a
procedure invocation to a XML document.
SOAP Encoding
The rules:
 method name -> first level element in the
SOAP Body
 arguments identifiers -> second level elements
 arguments values -> third level elements
 arguments types -> attribute xsi:type
ClockService.getTime(location="USA");
<soap:Body>
<getTime>
<location xsi:type="xsd:string">USA</path>
</getTime>
</soap:Body>
Service
Request
Web Service Description Language
WSDL is a standard format to describe a Web
Service (description stack)
A WSDL document is composed by two sections:
 An abstract interface section -> like in
traditional IDL, it defines the signatures of
procedures (RPC-style) or messages
(document-style)
 A deployment section -> it defines the service
location and the supported transport protocols
Fundamentally a client uses the WSDL to create
the stub or to dinamically decode messages.
Web Service Introspection Language
WSIL and UDDI are the standard way to search
Web Services. (Discovery stack)
WSIL is the decentralized approach.
Fundamentally a WSIL document contains a
directory of the Web Services deployed on a
server.
It is analogous to the index.html document for
web pages.
In the future, specific crawlers will browse the
Internet looking for WSIL documents, like
Google does today for web pages.
Web Service Introspection Language
<inspection>
<abstract>Acme Industries Public Web Services</abstract>
<service>
<name>Store Finder Service</name>
<abstract>
A service to perform a geographical search of Acme stores.
</abstract>
<description
location="http://example.org/services/storefinder.wsdl"/>
</service>
<link location="http://example.org/services/ecommerce.wsil"/>
</inspection>
Service name
Service location and description
Link to an other WSIL page
UDDI
UDDI is a complimentary approach for searching
based on a centralized repository.
The repository is an “electronic yellow pages” for
firms that offer web services online. Besides the
names of services and their WSDL descriptors,
firms can add a description of their business,
phone numbers, addresses...
UDDI repositories are offered by many agencies -
e.g. IBM, Microsoft and HP.
Thank You

Xml.ppt

  • 1.
    Web Services andXML,SOA Submitted To : Gautam Buddha University, Greater Noida Ms. Rashmi Singh Submitted By : Praveen M.Tech(AIR) 225/PAI/002
  • 2.
    Web Services -Definition from W3C “ A Web service is a software system identified by a URI, whose public interfaces and bindings are defined and described using XML. Its definition can be discovered by other software systems. These systems may then interact with the Web service in a manner prescribed by its definition, using XML based messages conveyed by internet protocols.”
  • 3.
    Service Oriented Architectures Technologies capableof: •Exchanging messages •Describing Web services •Publishing and discovering Web service descriptions Component Role Operation service requestor retrieves a service description A service publishes its description One-way, conversational, many-to-many
  • 4.
    Web Services – ArchitecturalExtensions  Incorporates additional features and functionality by extending technologies and components defined within the basic architecture, such as:  Asynchronous messaging  Attachment – typical usage : associating binary data with SOAP messages.  Caching  Message exchange pattern (MEP) - Describes a generalized pattern of message exchange between two services. e.g. : one-way, request/response, publish/subscribe, and broadcast.  Reliable message - implementation of Reliable Messaging one MEP is a series of requests between two nodes with an acknowledgement SOAP Module.  Message confidentiality – Can transmit the message via SSL or TLS, or have a SOAP Module provides for encryption and decryption.  Message integrity – Can have a SOAP Module use digital signature.  Session
  • 5.
    The Complete WebServices "Stack" More mature technologies
  • 6.
    The Wire Stack •Transport:HTTP is the de facto, other may be supported. •Packaging: SOAP is the de facto standard for XML messaging. •Extensions : Additional information attached to web services messages.
  • 7.
    The Description Stack Itis actually a stack of description documents defined using XML Schema. Satisfied by WSDL minimum service description necessary to support interoperable Web services. facts, or assertions, and rules that apply to a particular Web service Input/ Output rendering Not fully specified
  • 8.
    The Discovery Stack Service can be published using a variety of mechanisms:  Direct publish: description sent directly to requestor;  WSIL : HTTP GET retrieves descriptions from URL;  Universal Description, Discovery and Integration (UDDI) registries: a Web-based distributed directory.  Service requestors can retrieve a service description at design time (search by interface) or runtime (by communication and QoS) from a Web page (URL), a service description repository, a simple service registry or a UDDI registry. Discovery depends on how services are published; WSIL : de-centralized service discovery method
  • 9.
    The technology sofar The WS technology is completely based on XML. Therefore, both the data format and the interaction protocols are XML-based:  customized XML -> data format  SOAP -> communication protocol  WSDL -> the Interface definition language  WSIL/UDDI -> standards for services discovery The lowest-level layers (the transport layer) should exploit some existing Internet protocols, like HTTP or SMTP
  • 10.
    What is XML XMLis a simple tag-based language for describing information in a structured way. Basic elements:  Tags  Attributes  Text <xhtml:table><xhtml:tr> <xhtml:td width="40%">LastName</xhtml:td> <xhtml:td width="60%">Allen</xhtml:td> </xhtml:tr></xhtml:table> StartTag Text EndTag Attributes LastName Allen
  • 11.
    How to workon XML The tree-like structure of XML makes developers life hard. In practice there is not a standard way for editing and analysing, but the best method depends on your need. Just choose among:  SAX -> call-back-based parser  DOM -> tree representation  XSLT -> “XML to XML” conversion  XPATH -> queries  XML Binding -> transparent conversion to objects
  • 12.
    Simple Object AccessProtocol SOAP is a technology to support the exchange of XML-coded messages over a transport protocol, such as HTTP and SMTP. (wire stack) HTTP server Skeleton Server HTTP client Stub Client   XML XML   POST… HTTP 1.1 200 OK   SOAP SOAP   HTTP SOAP XML Protocols Folding SOAP basic mechanism
  • 13.
    Simple Object AccessProtocol A SOAP runtime engine basically adds a XML envelope to an existing XML document SOAP Envelope XML Document <soap:Envelope> <soap:Header> <axis:SessionKey> SDHH37TYEW7R7 </axis:SessionKey> </soap:Header> <soap:Body> <GetPrice> <Item>Apples</Item> </GetPrice> </soap:Body> </soap:Envelope> SOAP Body SOAP Header Communicatio n Info Example Document Container Session, Authentication, Routing, Security
  • 14.
    SOAP Encoding Dealing directlywith XML messages is not easy. Therefore, SOAP provides a “RPC emulation” technology The result: developers work with web services like with traditional RPC (e.g. CORBA,DCOM,DCE) The “RPC emulation” is named SOAP encoding. Fundamentally it is a set of rules to map a procedure invocation to a XML document.
  • 15.
    SOAP Encoding The rules: method name -> first level element in the SOAP Body  arguments identifiers -> second level elements  arguments values -> third level elements  arguments types -> attribute xsi:type ClockService.getTime(location="USA"); <soap:Body> <getTime> <location xsi:type="xsd:string">USA</path> </getTime> </soap:Body> Service Request
  • 16.
    Web Service DescriptionLanguage WSDL is a standard format to describe a Web Service (description stack) A WSDL document is composed by two sections:  An abstract interface section -> like in traditional IDL, it defines the signatures of procedures (RPC-style) or messages (document-style)  A deployment section -> it defines the service location and the supported transport protocols Fundamentally a client uses the WSDL to create the stub or to dinamically decode messages.
  • 17.
    Web Service IntrospectionLanguage WSIL and UDDI are the standard way to search Web Services. (Discovery stack) WSIL is the decentralized approach. Fundamentally a WSIL document contains a directory of the Web Services deployed on a server. It is analogous to the index.html document for web pages. In the future, specific crawlers will browse the Internet looking for WSIL documents, like Google does today for web pages.
  • 18.
    Web Service IntrospectionLanguage <inspection> <abstract>Acme Industries Public Web Services</abstract> <service> <name>Store Finder Service</name> <abstract> A service to perform a geographical search of Acme stores. </abstract> <description location="http://example.org/services/storefinder.wsdl"/> </service> <link location="http://example.org/services/ecommerce.wsil"/> </inspection> Service name Service location and description Link to an other WSIL page
  • 19.
    UDDI UDDI is acomplimentary approach for searching based on a centralized repository. The repository is an “electronic yellow pages” for firms that offer web services online. Besides the names of services and their WSDL descriptors, firms can add a description of their business, phone numbers, addresses... UDDI repositories are offered by many agencies - e.g. IBM, Microsoft and HP.
  • 20.