SOAP Simple Object Access Protocol 1 What is
SOAP Simple Object Access Protocol 1
What is SOAP? Simple Object Access Protocol p A lightweight mechanism to exchange structured and typed information. p A wire protocol similar to the IIOP, ORPC, JRMP. p A simple mechanism to express application semantics. p The above mentioned features allow SOAP to be used in a large variety of systems ranging from messaging systems to remote procedure calls (RPC)
Simple Object Access Protocol p Simple The S in SOAP stands for Simple. The basic approach of expressing data as XML and transporting it across the Internet using HTTP is simple. In the SOAP protocol, everything that goes across the wire is expressed in terms of HTTP or SMTP headers, MIME encoding and a special XML grammar for encoding application data and objects. p Object The O in SOAP stands for Object and has to do with its roots as a way of invoking COM objects across the internet. As with its close cousin XML-RPC, SOAP is fully capable of describing a remote procedure call or method invocation.
Simple Object Access Protocol p Access A key feature of SOAP and web services is their accessibility. SOAP conversation are carried out via a binding to another lower level protocol and that binding would most likely be HTTP or SMTP. p Protocol Put all these factors together and we have a Protocol. SOAP is an XML based protocol used to exchanges information throughout a distributed environment.
SOAP Elements p p Envelope: ( Mandatory ) Defines the start and the end of the message. Header: ( Optional ) Contains any optional attributes of the message used in processing the message, either at an intermediary point or at the ultimate end point. Body: ( Mandatory ) Contains the XML data comprising the message being sent. Fault: ( Optional ) An optional Fault element that provides information about errors that occurred while processing the message
Sample SOAP XML <? xml version="1. 0"? > <soap: Envelope xmlns: soap="http: //www. w 3. org/2001/12/soap-envelope" soap: encoding. Style="http: //www. w 3. org/2001/12/soap-encoding"> <soap: Header>. . . </soap: Header> <soap: Body>. . . <soap: Fault>. . . </soap: Fault> </soap: Body> </soap: Envelope>
Sample SOAP XML REQUEST <soap: Body> <m: Get. Price xmlns: m="http: //www. bse. co. in/prices"> <m: Symbol>TCS</m: Symbol> </m: Get. Price> </soap: Body> RESPONSE <soap: Body> <m: Get. Price. Response xmlns: m="http: //www. bse. co. in/prices"> <m: Price>1280. 40</m: Price> </m: Get. Price. Response> </soap: Body> Only the Body part of the SOAP XML is shown here
HTTP Message - SOAP Layout
UDDI Universal Description Discovery & Integration
Universal Description Discovery and Integration (UDDI) p UDDI provides a standardized method for publishing and discovering information about web services. The UDDI project is an industry initiative that attempts to create a platform-independent, open framework for describing services, discovering businesses and integrating business services. p UDDI is a centrally accessible registry of services.
UDDI Conceptually, a business can register three types of information into a UDDI registry. The specification does not call out these types specifically but they provide a good summary of what UDDI can store for a business. p White pages Basic contact information and identifiers about a company, including business name, address , contact information and unique identifiers such as tax Ids. This information allows others to discover your web service based upon your business identification.
p Yellow pages Information that describes a web service using different categorizations. This information allows others to discover your web service based upon its categorization. p Green pages Technical information that describes the behaviors and supported functions of a web service hosted by your business. This information includes pointers to the grouping information of web services and where the web services are located.
UDDI Registry steps : 2. Searches business description and services White Pages Yellow Pages Service Requestor 3. Discovery of service’s functional and technical details Green Pages Service Broker 1. Register the Web Service 4. Integrate the Service into User Application dynamically Service Provider
UDDI Technical Architecture
UDDI Architecture p p p The UDDI technical architecture consists of three parts: UDDI Data model An XML Schema for describing businesses and web services. The data model is described in detail in the "UDDI Data Model" section. UDDI API Specification A Specification of API for searching and publishing UDDI data. UDDI cloud services This is operator sites that provide implementations of the UDDI specification and synchronize all data on a scheduled basis.
UDDI Data model UDDI includes an XML Schema that describes four five data structures p business. Entity p business. Service p binding. Template p t. Model p publisher. Assertion
business. Entity data structure p The business entity structure represents the provider of web services. Within the UDDI registry, this structure contains information about the company itself, including contact information, industry categories, business identifiers, and a list of services provided.
business. Service data structure p The business service structure represents an individual web service provided by the business entity. Its description includes information on how to bind to the web service, what type of web service it is, and what taxonomical categories it belongs to:
binding. Template data structure p Binding templates are the technical descriptions of the web services represented by the business service structure. A single business service may have multiple binding templates. The binding template represents the actual implementation of the web service.
t. Model data structure p The t. Model is the last core data type, but potentially the most difficult to grasp. t. Model stands for technical model.
publisher. Assertion data structure p This is a relationship structure putting into association two or more business. Entity structures according to a specific type of relationship, such as subsidiary or department.
UDDI data structure
UDDI Interfaces Service Consumers use Inquiry Interface to find a service. p Service Providers use Publisher Interface to list a service. p
The Publisher Interface n Save things save_business p save_service p save_binding p save_t. Model p n Delete things delete_business p delete_service p delete_binding p delete_t. Model p n security… get_auth. Token p discard_auth. Token p
The Inquiry Interface n Find things find_business p find_service p find_binding p find_t. Model p n Get Details about things get_business. Detail p get_service. Detail p get_binding. Detail p get_t. Model. Detail p
Java Web Services Software ü p p p Apache SOAP Old implementation of SOAP by Apache. Not a complete W 3 C SOAP standards compliant. No longer supported by Apache. Does not support WSDL. Apache Axis Popular Java Software for Web Services. Implements SOAP version 1. 1 and 1. 2. Supports WSDL and also provides tools to generate webservices from WSDL and vice-versa http: //ws. apache. org/
- Slides: 26