63
WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL

WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

WEB SERVICES

SOAP, WSDL, UDDI, WS-BPEL

Page 2: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

SOA as Web Services

� Business data as XML messages

� Sent in a SOAP body

� Enriched with metadata in SOAP headers

� Described in WSDL and XML schema� Described in WSDL and XML schema

� Configured through WS-Policy (security, SLA, QoS)

� Registered in UDDI registry, discovered using WS-Discovery

Page 3: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

SOA as Web Services

UDDIWSDL WSDL

Technical service interface(+SLA, policies, etc.)

WSDL describes the serviceUDDI gives a services listing

Is accessed using SOAP

Application Application

SOAP

client

SOAP

server

describes + registersreads

communicates

SOAP messages (envelopes) carrying the messagepayload

Is accessed using SOAP

Page 4: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

SOA as Web Services

� Considerable advantages of WS technologies

� Independent of programming language, platform, data models, etc.

� Standards are open

� Some vendor-specific extensions

� Should enable reasonably easy (and inexpensive) interoperability and integration over the boundaries of systems and organizations, and firewalls (HTTP)

� Can be used to expose existing applicationfunctionality as a service

Page 5: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

Web Services Standards Pyramid

BusinessSemantics

VerticalNon-Standard

Security,Routing,Workflow,

Transaction Management

WSDL, UDDI

SOAP, XML-RPCXML, XML SchemaHTTP, FTP, SMTP

Internet, Intranet, Exranet

HorizontalStandard

Horizontal(Non-)Standard

Page 6: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

WS Standards as of Q1 2007 http://www.innoq.com/resources/ws-standards-poster/

http://en.wikipedia.org/wiki/List_of_Web_service_specifications#Web_Service_Standards_Listings

Page 7: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

WSDL

� Web Services Description Language� A document written in XML that describes a Web Service

� Specifies the location of a service and the methods the service exposesservice exposes

� Without WSDL, the calling syntax must bedetermined from a documentation prior to execution

� With WSDL, the generation of proxies for Web Services can be automated in a language and platform independent way

Page 8: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL
Page 9: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

WSDL Service

input output

messages

input output

messages

portType

operation operation

Service

Resource

Page 10: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

WSDL

Page 11: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

UDDI

� Universal Description, Discovery and Integration

� An open industry initiative sponsored by Organizationfor the Advancement of Structured InformationStandards (OASIS)

� Either public or private registry that can be used to publish and discover service listings

� Contains information about the service provider, servicemetadata and technical instructions for the use of service

Page 12: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

UDDI

� Registry contains three components for differenttypes of information

�White Pages: Provider’s addresses, contant information, identifiers

� Yellow Pages: Industrial categorization based on standard taxonomies (e.g., branch of industry, geographical locations)

�Green Pages: Technical information about the providedservices (e.g., functions, network address)

Page 13: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

UDDI

Provider: Information about the Provider: Information about the

entity who offers a serviceentity who offers a service

0…n0…n

tModel: Descriptions of tModel: Descriptions of

specifications for services. specifications for services.

Bindings contains Bindings contains

tModel: Descriptions of tModel: Descriptions of

specifications for services. specifications for services. tModel: Descriptions of tModel: Descriptions of

specifications for services. specifications for services.

Bindings contains Bindings contains

http://soapclient.com/uddiadv.html

Service: Descriptive information Service: Descriptive information

about a particular family of about a particular family of

technical offeringstechnical offerings

Service: Descriptive information Service: Descriptive information

about a particular family of about a particular family of

technical offeringstechnical offerings

Service: Descriptive information Service: Descriptive information

about a particular family of about a particular family of

technical offeringstechnical offerings

0…n

Binding: Technical information Binding: Technical information

about a service entry pointabout a service entry point

0…n

Binding: Technical information Binding: Technical information

about a service entry pointabout a service entry pointBinding: Technical information Binding: Technical information

about a service entry pointabout a service entry point

Bindings contains Bindings contains

references to tModels. references to tModels.

These references declare These references declare

the interface specifications the interface specifications

for a service.for a service.

0…n

Bindings contains Bindings contains

references to tModels. references to tModels.

These references declare These references declare

the interface specifications the interface specifications

for a service.for a service.

0…n

Page 14: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

tModel refering to a service WSDL

<tModelxmlns="urn:uddi-org:api”tModelKey="UUID:AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA"><name>hp-com:creditcheck</name><descriptionxml:lang="en">Checklimitreporter</description><overviewDoc><overviewURL>http://schema.com/creditcheck.wsdl</overviewURL></overviewDoc></overviewDoc><categoryBag><keyedReferencetModelKey="UUID:CD153257-086A-4237-B336-6BDCBDCC6635”keyName="Consumercreditgatheringorreportingservices”keyValue="84.14.16.01.00"/><keyedReferencetModelKey="UUID:C1ACF26D-9672-4404-9D70-39B756E62AB4”keyName="types”keyValue="wsdlSpec"/></categoryBag></tModel>

Page 15: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

SOAP

� An XML-based protocol for the communication between a client and a service

� Originates in XML-RPC

� Implementations available practically for every programming language

Formerly known as Simple Object Access Protocol. Now just SOAP – it is not simple and has nothing to do with objects.

programming language

� Defines� An envelope that encapsulates an XML message (payload)� Headers for additional functionality (e.g., security, transactions)

� Data serialization for RPC and document-styled communications

� Binding to a carrier protocol (usually HTTP)

Page 16: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

SOAP used in RPC style

Server App

SOAP Server

Client App

SOAP Client

1

2

7

6

1. Call method / Return response2. Marshal parameters3. Serialize / Deserialize4. Transport5. Deserialize / Serialize6. Unmarshal parameters

StubStub

HTTP

SOAP

3 5

4

6. Unmarshal parameters7. Method executes

Page 17: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

SOAPfloat addition(float a, float b);

request

response

Page 18: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

SOAP message structure

Headers can be used to define additional and application specific features on top of basic features. In this case, the service is required to understand (mustUnderstand) the Transaction element

Faults can be used to inform a client about an occurred error

Body, Payload

Page 19: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

SOAP with Attachments

Multipart MIME messages can be used to attach, for example, binary data to a SOAP messagePart A of a MIME message is the actual SOAP envelopePart B is an encoded binary data block which SOAP message references to

Page 20: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

Supported communication models

� It is possible to implement different distributed applications on top of SOAP

� Request/Response interaction style similar to object- japrocedure-oriented programming (RPC)

� Asynchronous messaging similar to MOM systems (document � Asynchronous messaging similar to MOM systems (document style messaging)

� Broadcasting

� Forwarding via SOAP intermediaries (e.g., routing and caching)

� Can use an additional functionality of messaging services and middleware (e.g., JMS)

Page 21: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

RESTful Web Services

� Representational State Transfer is an architectural style that builds upon web standards such as� HTTP, URI� XML, HTML, JPEG, etc. (resource representations)� text/xml, text/html, image/jpeg, etc. (MIME types)

� In practice, the web as we know it is a REST system� Representational State Transfer is intended to evoke an image of how a well-designed Web application behaves: a network of web pages (a virtual state-machine), where the user progresses through an application by selecting links (state transitions), resulting in the next page (representing the next state of the application) being transferred to the user and rendered for their use. — R. Fieldman

Page 22: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

RESTful Web Services

� Resources of a service are represented via URIs, e.g.,� Collection URI http://www.parts-depot.com/parts

� Element URI http://www.parts-depot.com/parts/00345

� The client issues an HTTP GET request to the collection URI to receive the parts listing

Examples from R. L. Costello http://www.xfront.com/REST-Web-Services.html

<?xml version="1.0"?>

<p:Parts xmlns:p="http://www.parts-depot.com" xmlns:xlink="http://www.w3.org/1999/xlink">

<Part id="00345" xlink:href="http://www.parts-depot.com/parts/00345"/>

<Part id="00346" xlink:href="http://www.parts-depot.com/parts/00346"/>

<Part id="00347" xlink:href="http://www.parts-depot.com/parts/00347"/>

<Part id="00348" xlink:href="http://www.parts-depot.com/parts/00348"/>

</p:Parts>

� The representation can be rendered human readable by a web browser or it can be processed programmatically

� That how the resource is actually implemented is transparent to a client and it can be changed any time � loose coupling

Page 23: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

RESTful Web Services

� Following an URL on the parts listing, a client issues another GET request to receive detailed information about a certain parthttp://www.parts-depot.com/parts/00345

<?xml version="1.0"?><?xml version="1.0"?>

<p:Partxmlns:p="http://www.parts-depot.com" xmlns:xlink="http://www.w3.org/1999/xlink">

<Part-ID>00345</Part-ID>

<Name>Widget-A</Name>

<Description>This part is used within the frap assembly</Description>

<Specification xlink:href="http://www.parts-depot.com/parts/00345/specification"/>

<UnitCost currency="USD">0.10</UnitCost>

<Quantity>10</Quantity>

</p:Part>

� a representation of another resource follows a state transition

Page 24: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

RESTful Web Services

� In addition to HTTP GET, a REST architecture utilizes POST, PUT, and DELETE methods to interface the resources

� For example, to submit a purchase order on a part, � For example, to submit a purchase order on a part, the client creates a PO document that conforms to the PO schema (published in a WSDL document) and then submits as a payload in an HTTP POST

Page 25: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

RESTful Web Services

� Simple and light-weighted compared to SOAP Web Services

� Like SOA, REST is an architectural style and not an architecture per searchitecture per se

� Can be implemented in various ways and is totally agnostic to an underlying technology (except the web standards)

� Requires careful design of a service

� Limited in capabilities compared to SOAP

Page 26: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

WS-BPEL

Web Services Business Process Execution Language

Page 27: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

Motivation

� Web Services are built upon open and platform-independent standards that allow loosely coupled interconnections and interoperability between the heterogeneous systems

� The aim is to support flexibility and business agilityServices are highly reusable� Services are highly reusable

� Services represent business-oriented concepts on a fairly high level of abstraction

� Services are quick and easy to attach and detach – just like the Lego blocks� http://www.zapthink.com/2006/12/11/the-legoreg-model-of-soa/

Page 28: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

Motivation

� However, services are transactionally stateless and (by definition) self-contained

� WSDL does not consider message sequencing

� In order to create composite services and business � In order to create composite services and business processes based on Web services, an additional layer of abstraction is needed � Enter WS-BPEL

Page 29: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

Web Services Platform Architecture2007 IBM

Components

Composite

Disco

very, N

egotia

tion, A

greement

Atomic

Orchestration Protocols State

Reliable

ComponentModel

BPEL

Messaging

Quality of Service

Transport

Description

Transport

Interface + Bindings

XML Non-XML

Security

Policy

Disco

very, N

egotia

tion, A

greement

ReliableMessaging

Transactions

Page 30: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

����������������� ������ � ����������������������� ��!�������"#$%���������%$$#&���'�&���'��$��������#(�%����'�#�%'�$��)�#�%!#��(��*���'$���+�� #� �'�&�������#(�%���������� ��$',����'#�%'���&��-�%!'�����"#$%������.��'#�%'�"#$%�������$#���%$//�#%���"�%���%�'�$����-�%!'�����"#$%������"#$(�&����/$&���'$���'� #�'�� ���'�#"#�����""��%�'�$���0#��'�� �%$/"$��'�$���$��������#(�%���0$/"$��'�$������&�$�����'#�%'�&��%#�"'�$��� � ������"#$(�&���"$#'����)���'�#$"�#�����"#$%����/$&���� � ������%$/����#$/��� '#$� �#$$'�����'#�&�'�$������$+�/$&������!��/��*�%$�%�"'���#$/��'#!%'!#�&�"#$ #�//�� ���� !� ���.������&�$��'$"�$��� �����&�%$#��12���"�%���%�'�$���2�# ���� 3����&�1�.45�%$�%�"'�

Page 31: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

����������������� ������ �������������������� � !"�#$%&""&'()*�+���,��*�����,��*�-���./�0�1/�1��*������(2�-3���4��4�����*�-�0�15��� 6����4�1��*�����5��7�.89������� � ! �#:%&"";'(<�=���4��*�����,��>3-����4����). 0 (���?��44������,�����*�3>�������*�-� .����4� ��3�,�� ������&!"(2>**���,@����). 0 �>�4�*+���+�����4�*4�A�����(2�--������B*�������������������=��,�3,�

Page 32: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

����������������� �������������� ��� ����� ������������� !��" #���$�%$ � � &'#���$�'�$(���' )$��'% $���!��� !��"�*'���''�$ ��''�'� +���� &��,��-++.��.�'%���� � +�'�$�%�� � ��*$��, /�&��0&���''�"��" )$��'���� �'1 $!����� � #2��3� "���&���''�"��"4 5*�&��,#6 �$(���7 *��$����$�

Page 33: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

����������������� ���������������������� ! ���"�� �����������#��$%&�'��(�)&*%'� ���+'���"�'+&&�,�

Page 34: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

����������������� �������� ����� ������ �� ������ !�"#" $%&$%&'����� !�"#"��(�����)�*���+,,-

Page 35: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

����������������� ��������������������������������������� �!"#$%��������������������&����'��'�(��)�������������*�+�������,-+���++�*����++��.��-��������/-�/������-+�/��*������+�����-'��/�,��������*����++�����������'�+���*����+��'��.��-��,���*����++���'��+&$.*������0�1�2�3�''��++�)�"��'��/+����+*����������'4���5+���4����*�������+���'��������������+�+���6-���'����������*������-��������7�������������*����++���*������������8�9:;��������������,��+<�����-'��/��,+��7��+=�>;�����7��7����/����,��+<������'��/�4��?�0�����+��++-�+�#����++&%�+����������++-�+��7����,��������*@55444A��������/0A���5�.������5 �B"#$%B�++-�+B��+�A����&�++-��'�+�-++���� ��?�0�����+<�6-������0��������������������/+

Page 36: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

����������������� ������������������� ��������� !�"������#�$���#����������%&'�(���)*+��,���� -�(*��.�/���!��01��2�#���$�!� !�"����#�"�2 ���0������#�����23�4�� 56�*��7��/6��8�8��*/�/��8��!�����#�$�!�3�01�01���98��+:�3�0!�"0;���#��8��+*:�<�"�0�3��;�=��>���$���3�������� !�"���� ��01�6���/6�/�+*�)*���6�+�?�"��0!���!���2����!�����#@�!�#�"����01��$!��2��0�0�����$�01�� !�"����2�#������� �"�� A���)�8�B�/�8��*7�/6���7*B�*��/���*��8�/����� !�=�#�#��0�01��� ��"�0����2���������=��� C1��(���/*+�B�/D/+�*7�/6���7�������2 ��"�0�"!��0������#�0�!2���0�����$� !�"�������0��"��E�� A������!�������0!����"0����2�#������#�$���#�0���� �!0�B��+,�*�/�.�D$�!� �!0���$������!�������3�������� !�"������ ���������3���0����/�7��8�(+�*-�(*��.�/��*�8�)�)�*�*�*/�7����(+�*�)*7�),+�*7��

Page 37: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

����������������� ���������������������� ! ���"�� �����������#��$%&�'��(�)&*%'� ���+'���"�'+&&�,�

Page 38: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

����������������� ��������������� ��������������������������� �!��"����#��$� ������%��� �����$��������� ������ ����$����������$���� & � ��� ��%��

Page 39: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

����������������� �� ���� ����������������������� !"���#�$�����%�&� '' '� � � (%&' "� '���#��' ���� ')* '' + � (�, !+ '�- %�.&���#��&% � .�&!'�)��#��� !�� �" ��� "�/�&-�% �.! ��" /�!�.�&!'� !"�., ��&0 �%0 1 "��1�., �%�&� ''��!��!. � �.�&!'�2�.,�% �.! �'���������3��#��& !�4%%�&� 0�&�.51%

Page 40: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

����������������� �� ���� ������������������ � �� ���� � ������ �� !" ��#� $%&'()�"� � �� ���$# �*�#�+�#,���-)�� ���� �� ." � /��0�����$ ���"*�#$ ����-)) *$�1""� �*2' �#30" 4�$*$��*2�5$�#�#�#� $6�� ��� ���� 7) *$�1""� � �8���9�5$# �:*� �� ." � /�0�#, �&'()�"� � �� 5$# �:*� ��� $��! /�0�#, �&'()�"� � �����������;

Page 41: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

����������������� �� ���� �� ������������������������� �!"�� ����������� �!"�������������������# ��������$#%����&� �%����&� $%����&��'�(��)��'��)��'� �'�(��'�(�

Page 42: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

����������������� ������������� ���������������� ���������������������� � ����������������������������!"����� ��#������$���������%���� &' ����� ���(�)'��'� �����*��*��������$��� �����)��'� �� ������� ������ ��+�,�-�./01��234�����%����5 234�����%����6+�7���/8 +�7���/9

Page 43: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

����������������� ������������������������� !""#$%&'%()*+(#,#(#'")&-,').*(*)*/-0%.!+(#,#(#'"1#%20()*%.)-0(20()3'2()#%)"+-2'.),*/#*45'"6+-2'.),*/#*45'")(72'.)*")869:)&'""*$'")-/;<:)6+='&*)'5'&'%(">(72'" �?�?� �@�A��������BC�?�?� �D��@�EF GHIJ

Page 44: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

������������������ �������� ��������������� �������� ����������������� �!" #$%&'$(��� )%!"�&*+�,$!�$"' &!"-.$#!%! -/)$"&#!%&0 #$1"%$#!%! ) ##$2 3$# �1"0 $"&! �-%0 #4*5 ##%6 #$"&$)�&67�/&&"&6$0�&1 �#%!"�&#$%� $0��� )%! '$!�$!8 $0��� 0!$���0 ##$"&#!%&0 9:.� '$���� �!" #$' -"& '$"&$2;<=$%� $&%> '$%&'$>%�� '$?%)"%# '@$!�$�%�!#$�-$# 1 �%)$2;<=$> ##%6 #$/# '$3.$!8 $���0 ##$ABCD�E������ ���� �� F���E��G�G�HFEI� �� �������� �����J�J������� �������� �������������

Page 45: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

����������������� ��������������� ��� ����������� ����� � �! ��"����!��� ������ ����� #��$� �!��� ������ �%�&���� ��� !� �&� ������$�!��� ��� '������ ����(� &�� � �)*���( ��%������%� ����� +%$ ����"��� �*������� � ������ �% ��� ����������"�����$ � �� , ��$ ���-./�$ � ���� �$����� � ����� 0�(�%����� *�������� ��*�������% ������ � 1��� ��� �� *���� �!�����$���"���*�������% ������� 2� � $� �� *���� �!�����$�� �� *���" �$�� � '!!�$� ���&��� !�� ����3��*�������� ��*�������% ���������� ����� 4 ����� � ���������!��%� ��$�� �*����� ��� � �����!��" ��% ���$�� '��������!%��� �������� �����!%����$��"��$����%������$�� *���� $� � '��������!%��� ��������������!%����$��"��$����%�� 4 %%� ��� �� ��* ����3���������5��6���78�6�9� :;���<�:���:�=�:8 5�=����:�6�7�>�:�??����� �:;���<:����@5:�6�:85�=����:�A5���

Page 46: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

����������������� ��� ������� ��� ���� ��� �������� ��� ������������� �������������� ���� ����!��������� "���#"���� �������$�� ��� �������� ��� �����������%��&�����'��� ����!������������������ ��� �������� ��� !��������� ���("������������� ��"����� ��� �������� ��� !��������� ����� ������������ ��"���� � )���$�����(�� �%�������� �*���&����#�� ���������+��� �&���� ,� ��� �������� ��� !�������%��&�����'��� ����!��������������� ���� �������*!��������%�������� ��������*��� ����� ����� �!�����*����"��%��� ��� !�%��&����� ��%��"������ ������� ����� �������� ��� !�(� "�� ���(�������������*��� �%��� �"������� ���&����� ����"������ ��������� �"���������-��.���/�.� �0�����01��23�0�-.������454�. -�6�0/

Page 47: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

����������������� �������������� ���������� ������� !�"�#�!�$%�&'''("�)*+,"������ !�"�$ %+-�&'''("�,.$*�&'''&"�/��$0 "'''�(/��$0 "�(,.$*�"�(����� !�"������ !�"�#�!�$%�&'''("�$ %+-�&'''&("�(����� !�"�()*+,"�#�1*2&'''("�(����� !�" �3��4���56 �3��4��4�7��4�7������ ��89�3� ��89�3���89�3� :5���;�5�

Page 48: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

��������������������� ���������������������������� �����! "�����#��$�%���! "��������&�����$�'�! "������������&$�����&�! ��&��(���&$#$&$���)%��$������&�*�&*���+ ��������! ,#��&�-������� .����/���#��&�����&$0����#��&��)�����$�������*��&$��+! 1�*�&�-������� 2���$�/�3$&-��$((����&��4���&$������$&*�&$����)$�&������(�*�&�+! 5�0�����&$���-������ 6���$�/�����$�&����((��&���(�������7���0���&�����&$#$&$��! 8��0$��&$���-������ 2���$�/�3$&-�(������������&��0$��&$���)�4&������(�*�&�+ ����������9�:��������������:�����������;����������������������� ����� 9�����������������<��9���;���=���

Page 49: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

������������������ ������������������������������� �������!���������"�����"������#����!������������� ��$�%����&����'$(�����!����������������")�����*�������������������"������"��+�����(��!�������"���������',(�������������"�"���� �����������#��!��������������������%��"���+���-!������ ��.� ��/0�.�1��.�1� �.�1�

Page 50: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

Limitations to overcome

No standards for graphical notationThe underlying XML code is (mostly)the same and processes thereforeportable.

Eclipse WebSphere Studio

Page 51: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

Limitations to overcome

� Most of the vendors have started using BPMN as a graphical frontend for BPEL

Page 52: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

Limitations to overcome

� The BPMN specification includes a mapping from BPMN to BPEL 2.0

� Implemented in several vendor tools

� In practice, allows to transform business process modelsexecutable processesexecutable processes

� However, there are some fundamental differencesbetween the two� It is difficult and some times impossible to generate BPEL code from BPMN models

� Round-tripping is even more difficult as developers add new tags to the XML as needed

Page 53: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

Limitations to overcome

� BPEL omits certain process constructs� Not possible to express all conceivable business processes

� Therefore, BPEL is often used in conjuction with ’real’ programming languages or extended by the scriptingprogramming languages or extended by the scriptinglanguages� leads to proprietary process models

� BPELJ (BPEL for Java) extension adds lower level(finer-grained) programming constructs� Inclusion of Java code, enterprise beans etc.

� C# equivalent of BPELJ is under the works

Page 54: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

BPEL extended with Java code

Page 55: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

Limitations to overcome

� Originally, BPEL completelyomitted the human activities in business processes

� Since then, the standard WS-HumanTask was introducted

Human interactions and other� Human interactions and otheractivities performed by humanactors

� Wrap a human actor inside the WSDL API

� BPEL4People extension by SAP and IBM in 2005

Page 56: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

CRITICISM

Page 57: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

“The modern technology and standards which enable SOA allow disparate technologies to communicate,

regardless of manufacturer, platform or language.”

Web Services Standards as of Q1 2007, InnoQ

http://www.innoq.com/resources/ws-standards-poster/

“That was pretty current on first quarter of last year. In other words, it is totally

outdated today.”

Page 58: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

Critical Factors Analysis of the SOA Reference Architecture (OASIS)

http://docs.oasis-open.org/soa-rm/soa-ra/v1.0/soa-ra-pr-01.pdf

Page 59: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

SOA gets too complicated. Lets use JBOWS architecture instead.

� “As we found in the recent Webservices.org survey, there were, out of 1,000 companies, only 50 that really were well advanced in their deployments, that could be considered true SOA sites.” J. McKendricksites.” J. McKendrick

� “Not orchestrated, does not have a registry, has no process-based testing, does not reuse services, and has no management tools.” J. McKendrick

Page 60: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

InformationWeek survey on SOA21.2.2009

� Survey of 270 business technology professional

� 23% of respondents said their organizations have deployed SOA

� 7% of resulting systems are available for external use

� The percentage of overall software reuse within the organizations that have implemented SOA rose 7%

So, SOA seems to fail in delivering one of its most basic promises?

Forget about developing business-driven, highly abstracted and

composable loosely-coupled services if you can’t develop

reusable software components.*

* Not surprising since this requires a strategy change and strong managerial support and commitment. Read more:Sherif K. & N. M. Menon, 2004, Managing Technology and Administration Innovations: Four Case Studies on Software Reuse

Page 61: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

Anne Thomas Manes, 5.1.2009:

SOA is Dead…http://apsblog.burtongroup.com/2009/01/soa-is-dead-long-live-services.html

� Once thought to be the savior of IT, SOA instead turned into a great failed experiment—at least for most organizations.

� SOA was supposed to reduce costs and increase agility on a massive scale. Except in rare situations, agility on a massive scale. Except in rare situations, SOA has failed to deliver its promised benefits. After investing millions, IT systems are no better than before. In many organizations, things are worse: costs are higher, projects take longer, and systems are more fragile than ever.Anne Thomas Manes is a Vice President and Research Director of Burton Group.She is also a very influential member of SOA community, voted as one of the 50 most powerful people innetworking, among the “Power 100 IT Leaders”, former CTO at Systinet, etc. Her article about the deathof SOA was taken very seriously. Especially among the software vendors.

Page 62: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

What will come next?

� Of course, more hype words� SaaS, cloud computing, business clouds, private clouds, situational integration, mash-ups, composite applications

� Experts are already warning about not to repeat the same mistakes with SaaS and in the clouds

� Or more comprehensive understanding about the problem � Or more comprehensive understanding about the problem domain?� CBM/SOMA/SCA (c.f., J. Poutanen’s presentation)

� SOE (and service-orientation in general)

� SOA backed up by EA?

� SOA backed up by reasonable governance structures and thoroughly considered alignment perspective. This is the least what one should consider.

Page 63: WEB SERVICES · WEB SERVICES SOAP, WSDL, UDDI, WS-BPEL. SOA as Web Services Business data as XML messages Sentin a SOAP body Enrichedwithmetadata in SOAP headers Described in WSDL

� On a side note, please read The Raise of Fall of CORBA by Michi Henning, ACM Queue, Vol. 4., Issue 5, June 2006

available at http://portal.acm.org/citation.cfm?id=1142044&coll=portal&dl=ACM&cfid=515653495&cftoken=515653495

Depending on exactly when one starts counting, CORBA is about 10-15Depending on exactly when one starts counting, CORBA is about 10-15

years old. During its lifetime, CORBA has moved from being a bleeding-

edge technology for early adopters, to being a popular middleware, to

being a niche technology that exists in relative obscurity. It is instructive

to examine why CORBA—despite once being heralded as the “next-

generation technology for e-commerce”—suffered this fate. CORBA’s

history is one that the computing industry has seen many times, and it

seems likely that current middleware efforts, specifically Web services,

will reenact a similar history.