Top Banner
SOA Standards
22
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SOA standards

SOA Standards

Page 2: SOA standards

SOA Standards…

• Web service standards

• – XML-based standards

• Common Event Infrastructure (CEI)

• – An event model used in IBM SOA implementations

• Unified Modeling Language (UML)

• – Provides a consistent terminology for model-driven design

• Service Component Architecture (SCA)

• – A component model for assembling SOA solutions

Page 3: SOA standards

What is service?

• A service is an application function composed of serially reusable components that can be used in a business process

● Exposes a well defined interface

● Appears as a self-contained function

● Uses messages to hide implementation details

● Has no dependencies on the state of other services

● Provides information to a requester or facilitates a change to business data from one valid, consistent state to another

Page 4: SOA standards

What is web service? -- Definition

• 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 ”

Page 5: SOA standards

XML……..

• XML is the basis for many of the Web services standards

• XML characteristics map well to business integration needs

• – Interoperability

• – Vendor, platform, language neutral

Page 6: SOA standards

XML and XML schema

• ●XML:• – Allows developers to model data in a vendor, language,

and platform• neutral way• – Is self-describing• – Markup consists of tags and text• – Was designed for interoperability and ease of

implementation• ●XML Schema:• – Defines and constrains the content of an XML document• – Allows you to define custom types• – Allows you to define simple types and complex types

Page 7: SOA standards

XML schema

Page 8: SOA standards

SOAP

• Protocol for carrying XML

• messages across a network

• – A SOAP message itself is an XML

• document

• -- Network, transport and

• programming language

• independent

Page 9: SOA standards

WSDL

• Web Services Definition Language (WSDL) provides a standard way to specify the interface and binding details of a service

• ● XML language for describing a Web service• – Operations• – Bindings• – Location of specific implementation• ● WSDL describes to potential service consumers what functions• the service provides, what parameters those functions require,• and what information those functions return to callers• – It is the single most important standard in the Web services suite

of standards

Page 10: SOA standards

Web Services Description Language

• Provides a model and an XML format for the “contract” of a web service

• Separates abstract service description from both concrete network protocol and message format

• Describes data types used in messages

• Messages are defined as aggregation of typed parts

• Operations are message exchange patterns supported by the web service

• PortTypes are named collections of operations

Page 11: SOA standards

Key Elements of WSDL

• WSDL is an XML document that describes a service by using a number• of key elements:• ● Type• – Defines the XML data types used in operation parameters• ● Message• – Defines the structure of input, output, and fault messages for a particular service• operation• ● Operation• – Defines the functions supported by the service• ● Port type• – Defines what the service does; described by a number of operations. For each• operation, the message describes the data structure for the input required by the• operation and the output and fault generated by the operation• ● Binding• – Defines how the service is invoked. Most common bindings are SOAP/HTTP and• SOAP/JMS• ● Port• – Specifies the address where the service is located

Page 12: SOA standards

Types Key Element• <wsdl:definitions targetNamespace="http://stockquote" xmlns:impl=http://stockquote• xmlns:intf=http://stockquote• xmlns:wsdl=http://schemas.xmlsoap.org/wsdl/• xmlns:wsdlsoap=http://schemas.xmlsoap.org/wsdl/soap/• xmlns:wsi=http://ws-i.org/profiles/basic/1.1/xsd• xmlns:xsd="http://www.w3.org/2001/XMLSchema">

• <wsdl:types>• <schema targetNamespace="http://stockquote"• xmlns=http://www.w3.org/2001/XMLSchema• xmlns:impl="http://stockquote" xmlns:intf=http://stockquote• xmlns:wsdl=http://schemas.xmlsoap.org/wsdl/• xmlns:xsd="http://www.w3.org/2001/XMLSchema">• <element name="getQuoteResponse">• <complexType>• <sequence>• <element name="getQuoteReturn" type="xsd:float"/>• </sequence>• </complexType>• </element>• <element name="getQuote">• <complexType>• <sequence>• <element name="symbol" nillable="true" type="xsd:string"/>• </sequence>• </complexType>• </element>• </schema>• </wsdl:types>• </wsdl:definitions>

Page 13: SOA standards

Message Key Element

• <wsdl:message name="getQuoteResponse">

• <wsdl:part element="impl:getQuoteResponse" name="parameters"/>

• </wsdl:message>

• <wsdl:message name="getQuoteRequest">

• <wsdl:part element="impl:getQuote" name="parameters"/>

• </wsdl:message>

Page 14: SOA standards

WSDL Port Type

• <wsdl:portType name="StockQuotePT">

• <wsdl:operation name="getQuote">

• <wsdl:input message="impl:getQuoteRequest“

• name="getQuoteRequest"/>

• <wsdl:output message="impl:getQuoteResponse“

• name="getQuoteResponse"/>

• </wsdl:operation>

• </wsdl:portType>

Page 15: SOA standards

WSDL Binding

• <wsdl:binding name="StockQuoteServiceSoapBinding"• type="impl:StockQuotePT">• <wsdlsoap:binding style="document"• transport="http://schemas.xmlsoap.org/soap/http"/>• <wsdl:operation name="getQuote">• <wsdlsoap:operation soapAction=""/>• <wsdl:input name="getQuoteRequest">• <wsdlsoap:body use="literal"/>• </wsdl:input>• <wsdl:output name="getQuoteResponse">• <wsdlsoap:body use="literal"/>• </wsdl:output>• </wsdl:operation>• </wsdl:binding>

Page 16: SOA standards

WSDL Service

• <wsdl:service name="StockQuoteService">

• <wsdl:portbinding="impl:StockQuoteServiceSoapBinding"

• name="StockQuotePort">

• <wsdlsoap:addresslocation="http://localhost:9080/..."/>

• </wsdl:port>

• </wsdl:service>

Page 17: SOA standards

UDDI

• Universal Description, Discovery and Integration• ● The UDDI project defines:• – Structure for the service and service provider

registry• – API for accessing the service registry• – Classifications for data• ● Interactions with a UDDI registry include• – Publishing information• – Finding information• – Using the obtained information

Page 18: SOA standards

UDDI

• UDDI is a platform-independent framework for describing services, discovering businesses, and integrating business services by using the Internet.

• UDDI is a directory for storing information about web services

• UDDI is a directory of web service interfaces described by WSDL

Page 19: SOA standards

Example……

• If the industry published an UDDI standardfor 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. (by WSDL)

Page 20: SOA standards

Relationship between SOAP, WSDL and UDDI

• SOAP is the envelope containing the message

• WSDL describes the service

• UDDI is a listing of web services described by WSDL

Page 21: SOA standards

• The Web Services Interoperability Organization (WS-I) is an• open industry organization chartered to promote Web services• interoperability across platforms, operating systems, and• programming languages• ● WS-I maintains a specification called the WS-I Basic Profile• that provides interoperability guidance for the core Web• services specifications:• – SOAP over HTTP or HTTPS provide communication and messaging• interoperability• – WSDL provides the description of the service. It complements• communication interoperability with the ability to exchange interface• definitions• – UDDI is the mechanism for publishing and discovery of Web services

Page 22: SOA standards

Relationship between SOAP, WSDL and UDDI