89
A. Dogac Grenoble Ecole de Management MEDFORIST Workshop 1 Grenoble Ecole de Management MEDFORIST Workshop B2B Interoperability: Web Services Approach Asuman Dogac Middle East Technical University Software R&D Center Ankara, Türkiye

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop1 Grenoble Ecole de Management MEDFORIST Workshop B2B Interoperability: Web Services Approach Asuman

Embed Size (px)

Citation preview

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

1

Grenoble Ecole de ManagementMEDFORIST WorkshopB2B Interoperability: Web Services Approach

Asuman Dogac

Middle East Technical University

Software R&D Center

Ankara, Türkiye

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

2/89

What B2B integration involves?

Trading Partner A

Trading Partner B

Network

Purchase Order

Purchase Order Acknowledgement

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

3/89

Application BApplication B

SellerSeller

Challenge of Application Integration

ASCII ASCII Text Text

ExtracExtractt

ASCII ASCII Doc(sDoc(s) to ) to PostPost

CustomerCustomer

Application AApplication A

Standard Standard Business Business DocumeDocume

ntnt

Incoming Incoming Business Business DocumenDocumen

tt

VANVAN

Data Data Extraction Extraction

ProcessProcess

Data Data Mapping Mapping ProcessProcess

Data Mapping Data Mapping ProcessProcess

Data Posting Data Posting ProcessProcess

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

4/89

What B2B integration involves?

The message formats exchanged (e.g. a Purchase Order)

Business Vocabulary (e.g., product names, numbers, etc.)

The sequencing of messages (e.g. after sending a purchase order message, an Purchase Order Acknowledgement message must be received)

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

5/89

What B2B integration involves?

The public business process (e.g. after a purchase order is accepted, the an invoice must be sent)

The network protocol and the transport binding (Internet (http, ftp, etc.) or VAN)

The security to be provided (like encryption, non-repudiation)

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

6/89

Why do we need integration standards? A proprietary solution means that a company has to to deal

with several such solutions, one for each of its trading partners

Complying with a B2B interoperability standard means that the company needs only one solution to deal with all the companies complying with that standard

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

7/89

The major B2B Integration Standards EDI Web Services RosettaNet ebXML

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

8/89

Web Services is a new model for using the Web to: Automatically initiate processes via the Web using

programs Method for describing, publishing & initiating

processes dynamically in a distributed environment Not necessarily using a Web browser Actually, the Web is not required? The content- oriented Web is now complimented

by the service-oriented Web

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

9/89

Web Services

If you can imagine a way of electronically delivering something Of value to a customer That will solve a problem, or Provide some usefulness

Then you have a viable example of a Web service

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

10/89

Some Use Examples

A service to accept purchase orders (B2B) A service for completing tax forms (B2C) An insurance policy service to insure the

products being shipped A financing service to ensure payment

according to vendor terms A health-care service to access health-care

records

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

11/89

Web Services

Web services encapsulate business functions Check credit card number Payment processing Stock quotes Request for quote, bid processes

They can be used to compose business processes Travel planning Health care …

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

12/89

What is a Web Service?

A Web Service is an interface that describes: a collection of operations that are network accessible through standardized XML messaging

To put it simply, a Web service is nothing but a server that listens for and replies with SOAP generally via HTTP

Web Service

Client Application

XML

WEB

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

13/89

Benefits of a Web service

Includes: Decoupling of service interfaces from the

implementation Enabling dynamic service binding Providing interoperability among different

platforms

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

14/89

These Benefits Derive From:

XML based standards: Simple Object Access Protocol (SOAP) Web Services Description Language (WSDL)

HTML == user-to-machine XML/SOAP == machine-to-machine

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

15/89

Web Services

Web Service

Client Application

XML

WEB

ExistingApplication

ExistingApplication

• Existing applications can be wrapped as Web services• Client and Service can use different platforms and programming languages • Services can be composed to make composite services

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

16/89

Web Services

A Business function made available via Internet by a service provider, and accessible by clients that could be human users or software applications

World Wide Web Consortium’s Web service definition: A software application:

Identified by a URI Its interfaces and binding are capable of being defined,

described and discovered by XML artifacts and Supports direct interactions with other software applications Using XML based messages via Internet-based protocols

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

17/89

Web Services

The Web Services Reference Model Service Provider Service Registry Service Consumer

Major Standards WSDL (Web Services Description Language) SOAP (Simple Object Access Protocol) UDDI (Universal Description, Discovery and

Integration) registries ebXML (Electronic Business XML)

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

18/89

Why Web Services? For B2B interactions, applications need to talk to

each other on the Web: Interoperability is needed A change in an application should not effect the

apps it is talking to Web services provide these through WSDL and

SOAP However, the current practice of generating WSDL

from the code is incorrect because when the code changes so does the WSDL

Yet WSDL is your established public contract with the outside world

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

19/89

Web Services Realities

Web services are not very efficient Dynamic discovery is essential Web services infrastructure is easy What is difficult is defining domain specific

ontologies for service discovery

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

20/89

WS-Security

Microsoft and IBM partnership Enhancement of SOAP messages to provide

Message integrity Message confidentiality Message authentication

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

21/89

Security Properties Property Description

Identification Who are you?

Authentication How do I know you are who you say you are?

Authorization Are you allowed to perform this

transaction?

Integrity Is the data you sent the same as what I received?

Confidentiality Are we sure no one else read the data you sent?

Auditing Record of transaction to aid looking for security problems

Non-repudiation Can you prove that sender sent it, and receiver received the identical

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

22/89

Web Service Model

Service Registry (ebXML or UDDI)- Web service descriptions

Service Consumer

Service Provider- Web service- Service Description in WSDL

Publish service

Discover service

Invoke service through SOAP

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

23/89

Web Service Description

Web ServiceService Consumer

Web Service Description

defines

uses

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

24/89

WSDL Structure

Service

Port(e.g. http://host/svc)

Binding(e.g. SOAP, JMS,

direct call)

Abstract interface

portType

operation(s)

inMesage outMessage

Port

Binding

Where to access it

How to access it

Abstract definition of the service (set of

Operations)

Operation: An Exchange of

Messages between a serviceRequestor and a Service provider

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

25/89

Web Services Description Language

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

26/89

XML Messaging: SOAP

The current standard for XML Messaging is Simple Object Access protocol (SOAP)

Applications typically communicate with Web services via SOAP messaging

Typically HTTP is used as RPC transport

XML is used as RPC encoding scheme

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

27/89

Why SOAP?

There are a number of wire protocols for RPC Internet Inter ORB Protocol for Common

Object Request Broker Architecture (CORBA) Java Remote Method Protocol (JRMP) for

Java Remote Method Invocation (RMI) The key difference between SOAP and these

protocols are the way they encode data

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

28/89

Why SOAP?

Data encoding in RPC involves converting the data (integers, character strings or complex objects) to be sent to the remote computer executing the procedure

SOAP uses XML for this purpose since it is textual, whereas IIOP and JRMP are binary protocols

Using XML for data encoding makes SOAP very user friendly for firewalls and for debugging purposes

Furthermore, the need for specialized software such as a CORBA compliant ORB (for IIOP) is not needed

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

29/89

Layered model of Web service Communication

Transport

Message Transport

Message EncodingSOAP

The transport protocol used in WebService communication is typically TCP

Message transport protocol is typically HTTP

SOAP defines the content of the message in XML

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

30/89

SOAP

SOAP consists of three parts: an envelope that defines what is in a message, a set of encoding rules for expressing instances of

application-defined data types, and a convention for representing remote procedure calls

(RPC) and responses SOAP can be used in combination with by a

variety of network protocols such as HTTP, SMTP, FTP, MQ or RMI over IIOP

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

31/89

SOAP over HTTP

HTTP POST Message

SOAP Endpoint Reference

XML MessageSOAP Payload

SOAP Header

SOAP Body

SOAP Envelope

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

32/89

The SOAP Envelope<SOAP-ENV:Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">

< SOAP-ENV:Header> ... </ SOAP-ENV:Header>

< SOAP-ENV:Body> ... </ SOAP-ENV:Body> ...</ SOAP-ENV: Envelope>

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

33/89

SOAP Endpoint Reference

144.122.230.16 80 /ProductCatalog#getPrice

IP Host Address TCP Port No

Object Endpoint ID

POST /ProductCatalog HTTP/1.0 Host: http://www.srdc.metu.edu.tr Content-Type: text/xml; charset="utf-8" Content-Length: 500 SOAPAction: ``http://www.srdc.metu.edu.tr/ProductCatalog#getPrice"

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

34/89

SOAP Envelope

<SOAP-ENV:Envelope xmlns:SOAP-ENV="

http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="

http://schemas.xmlsoap.org/soap/encoding" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema">

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

35/89

SOAP Header

Optional Provides info such as transaction identifier,

security information

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

36/89

SOAP Body

<SOAP-ENV:Header /> <SOAP-ENV:Body> <s:getPrice

xmlns:s="http://www.srdc.metu.edu.tr/ProductCatalog"> <product_name xsi:type="xsd:string">Palm

Pilot</product_name> </s:getPrice> </SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Method Name

Input Parameter

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

37/89

SOAP ResponseHTTP/1.0 200 OKContent-Type: text/xml; charset="utf-8" Content-Length: 400 <SOAP-ENV:Envelope xmlns:SOAP-ENV="

http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="

http://schemas.xmlsoap.org/soap/encoding" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Header /> <SOAP-ENV:Body> <s:getPriceResponse

xmlns:s="http://www.srdc.metu.edu.tr/ProductCatalog"> <product_price xsi:type="xsd:float">2000.</product_price> </s:getPriceResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Standard Suffix

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

38/89

Universal Descriprion, Discovery,

Integration (UDDI) The future of ecommerce seems to be Web services! UDDI is jointly proposed by IBM, Microsoft and Ariba It is a service registry architecture that presents a standard

way for businesses to build a registry, discover each other, and describe how to interact over the Internet

Currently IBM and Microsoft are running public registries and Hewlett-Packard is expected to launch a third one

More than 175 companies, including Boeing, Ford, CommerceOne and Sun Microsystems, have endorsed the UDDI initiative by contractually agreeing to support its future development

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

39/89

UDDI Registry Data

Businesses register public informationabout themselves

Standards bodies, Programmers, Businesses register information about their Service Types

WhitePages

YellowPages

GreenPages

Service TypeRegistrations

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

40/89

UDDI

Conceptually, the information provided in UDDI registries consist of three components:

``white pages'' of company contact information; "yellow pages" that categorize businesses by standard

taxonomies; and "green pages" that document the technical information

about services

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

41/89

UDDI

The UDDI information model, defined through an XML schema, identifies five core types

These core types are business, service, binding, service specifications information and relationship information between two parties

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

42/89

UDDI

Through these data structures, business entities describe information about businesses like their name, description, services offered and contact data

Business services provide more detail on each service being offered

Services can then have multiple binding templates, each describing a technical entry point for a service (e.g., mailto, http, ftp, phone, etc.)

These structures use category bags for categorization purposes

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

43/89

UDDI An item in a category bag contains a tModel key and an

associated OverviewDoc element tModels provide the ability to describe compliance with a

specification, a concept, or a shared design When a particular specification is registered with the UDDI as

a tModel, it is assigned a unique key, which is then used in the description of service instances to indicate compliance with the specification

The specification is not included in the tModel itself The "OverviewDoc" and "OverviewURL" elements of tModels

are used to point at the actual source of a specification

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

44/89

UDDI

More precisely, the use of tModels in UDDI is two-fold: Defining the technical fingerprint of services: The primary

role that a tModel plays is to represent a technical specification on how to invoke a registered service, providing information on the data being exchanged, the sequence of messages for an operation and the location of the service

Examples of such technical specifications include WSDL descriptions and RosettaNet PIPs

Note that the tModel mechanism describes only the signature of the services; it does not provide any information on the functionality of the service

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

45/89

UDDI

Providing abstract namespace references:In UDDI, businesses, services and tModels can specify the categories to which they belong in their category bags

Categorization facilitates to locate businesses and services by relating them to some well-known industry, product or geographic categorization code set

Currently UDDI uses the North American Industrial Classification Scheme (NAICS) taxonomy for describing what a business does; the Universal Standard Products and Services Classification (UNSPSC) for describing products and services offered; and ISO 3166, a geographical taxonomy for determining where a business is located

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

46/89

Current Classification Schemes in UDDI

UNSPSC (Universal Standard Products and Services Classification, e.g., “43” Computer and Communication equipment, or “43172304” Disk arrays)

NAICS (North American Industrial Classification Scheme, e.g., “E1041” for Gold Ores, or “N4911” for Electric services)

ISO3166 (A geographical taxonomy)

DUNS Number as identifier

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

47/89

UDDI It should be noted that any number of categories could be

referenced in category bags In UDDI, it is possible to annotate businesses and tModels

with identifiers The purpose of identifiers is to locate data more easily by

using formal identifiers such as DUNS numbers, tax identifiers, or any other kind of organizational identifiers, regardless of whether these are private or shared

UDDI provides built-in tModel specifications for DUNS and Thomas register

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

48/89

UDDI

The UDDI specification also defines an API for interacting with UDDI registries

Inquiry APIs locate businesses, services, bindings, or tModels Publishing APIs create or delete UDDI data in the registries An UDDI registry by IBM, implementing these APIs through a

browser-based interface

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

49/89

UDDI

It is possible to locate businesses and their services by their names published in the UDDI registry

The categories referenced in the category bags can be used to find businesses or services of a particular category

For example a user looking for a service for a particular product type can first obtain the product code from one of the defined taxonomies, like NAICS or UNSPSC

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

50/89

UDDI

Assuming that the user wants to access the services related with optical computer disks,

he obtains the UNSPSC code of "Magneto optical disks" which is "43.18.16.07.00" and

searches the UDDI registry by using the APIs provided to find the businesses and their services that contain this code in their category bags

However if a business fails to provide this exact code in its category bag, it becomes impossible to locate it in this way

UDDI expresses the compliance of businesses and services that reference the same tModel in their descriptions

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

51/89

UDDI

It should be noted that a tModel is not a service description language

Services need to be described in service description languages like Web Service Description Language (WSDL)

There is also a need for a remote method invocation mechanism like Simple Object Access Protocol (SOAP)

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

52/89

White Pages

Business Name Text Description

list of multi-language text strings Contact info

names, phone numbers, fax numbers, web sites… Known Identifiers

list of identifiers that a business may be known by - DUNS, Thomas, other

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

53/89

Yellow Pages

Business categories 3 standard taxonomies in V1

Industry: NAICS - North American Industrial Classification Scheme (Industry codes - US Govt.)

Product/Services: UN/SPSC - Universal Standard Products and Services Classification (ECMA)

Location: ISO 3166 Geographical taxonomy

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

54/89

Green Pages

Business processes Service descriptions Binding information

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

55/89

businessEntitybusinessKeynameURLdescriptioncontactsbusinessServicesidentifierBagcategoryBag

PhoneAddressEmail

Contact

businessServiceKeyNameDescriptionBindingTemplates

PhoneAddressEmail

Contact

businessServiceserviceKeytModelKeyNameDescriptionBindingTemplates

keyedReferencetModelKeykeyNamekeyValue

keyedReferencetModelKeykeyNamekeyValue

keyedReferencetModelKeykeyNamekeyValue

keyedReferencetModelKeykeyNamekeyValue

Business Registration

XML document Created by end-user

company (or on their behalf)

Can have multiple service listings

Can have multiple taxonomy listings

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

56/89

UDDI and SOAP

User UDDI

SOAP Request

UDDISOAP Response

UDDI RegistryNode

HTTPServer

SOAPProcessor

UDDIRegistry Service

B2B DirectoryCreate, View, Update, and Deleteregistrations Implementation-

neutral

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

57/89

Registry APIs (SOAP Messages)

Inquiry API Find

find_business find_service find_binding find_tModel

Get Details get_businessDetail get_serviceDetail get_bindingDetail get_tModelDetail

Publishers API Save

save_business save_service save_binding save_tModel

Delete delete_business delete_service delete_binding delete_tModel

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

58/89

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

59/89

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

60/89

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

61/89

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

62/89

Web service deployment

Most Web service development is being accomplished today using either Microsoft .NET, or Sun Microsystems’ J2EE specification

Note however that Web services development and deployment requires no specific underlying platform

In other words, Web services do not rely on J2EE or .NET: They ride on SOAP and XML

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

63/89

The current J2EE vs. .NET is more about the application development environment

Request

Web ServicesProviderResponse

InternetWeb ServicesProvider

J2EE™AppServer .NET

SOAP Messages

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

64/89

What is available in the market? BEA WebLogic Integration,

http://www.bea.com/products/weblogic/integration/index.shtml

Cyclone, http://www.cyclonecommerce.com/index.cyc IBM WebSphere,

http://www-3.ibm.com/software/info1/websphere/index.jsp?tab=highlights

IONA Netfish, http://www.iona.com/products Microsoft .NET, http://www.microsoft.com/net/ Microsoft BizTalk, http://www.microsoft.com/biztalk/

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

65/89

What is available in the market? Oracle Application Server,

http://www.oracle.com/ip/deploy/ias/ Vitria Business Ware, http://www.vitria.com/products/ Webmethods B2Bi,

http://www.webmethods.com/content/1,1107,Overview,FF.html

Tibco Active Exchange, http://www.tibco.com/solutions/products/active_exchange/default.jsp

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

66/89

For more information

SOAPhttp://www.w3c.org/TR/soap WSDL http://www.w3c.org/TR/wsdl UDDIhttp://www.uddi.org

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

67/89

Microsoft .NET Platform

Ubiquitous communication: Internet

Universal data format: XML

Universal type system: XSD

Service interactions: SOAP

Service descriptions: WSDL

Service discovery: DISCO

Directory of services: UDDI

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

68/89

Operating System

Common Language Runtime

Base Class Library

ADO.NET and XML

ASP.NETWeb Forms Web Services

Mobile Internet Toolkit

WindowsForms

Common Language Specification

VB C++ C# JScript …

Visu

al S

tud

io.N

ET

The .NET Framework

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

69/89

DiscoveryDiscovery

Let’s talk (SOAP)Let’s talk (SOAP)

Web Services with .NET

http://myservice.comhttp://myservice.com

HTML or XML with link to WSDLHTML or XML with link to WSDL

How do we talk? (WSDL)How do we talk? (WSDL)http://myservice.com?wsdlhttp://myservice.com?wsdl

XML with service descriptionsXML with service descriptions

http://myservice.com/svc1http://myservice.com/svc1

XML/SOAP BODYXML/SOAP BODY

Web Web ServiceService

WebWebService Service

ConsumerConsumer

UDDIUDDI

Find a ServiceFind a Servicehttp://www.uddi.orghttp://www.uddi.org

Link to DISCO or WSDL documentLink to DISCO or WSDL document

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

70/89

Microsoft .NET vs. J2EE

.NET supports many programming languages .NET runs only on Windows servers J2EE is Java centric J2EE runs on any operating system

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

71/89

Microsoft .NET vs. J2EE

.NET J2EEProgramming Language

C# Java

Interpreted Language MSIL Java Bytecode

Runtime Environment CLR (Common Language Runtime)

JVM/JRE

Messaging MSMQ Msg EJBs/JMS

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

72

Workflow Systems

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

73/89

Workflow

Workflows are activities involving the coordinated execution of multiple tasks performed by different processing

entities, mostly in distributed heterogeneous

environments which are very common in enterprises of

even moderate complexity

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

74/89

Workflow

A workflow system can be defined as a collection of processing steps (also termed as tasks or activities) organized to accomplish some business process

A task may represent a manual operation by a human or a computerazible task to execute legacy applications, access databases, control instrumentation, sense events in the external world, or even affect physical changes

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

75/89

Workflow

In addition to the collection of tasks, a workflow defines the order of task invocation or condition(s) under which tasks must be invoked (i.e. control-flow) and data-flow between these tasks

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

76/89

IBM MQ Series Workflow

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

77/89

Ultimus

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

78/89

How to define Public Processes through Web Services: Web Service Composition We had WSFL (Web Services Flow Language) from IBM

and XLANG from Microsoft

IBM and Microsoft have agreed to replace them with BPEL4WS

BPEL4WS: Business Process Execution Language for Web Services

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

79/89

Service Composition: Travel Service Example

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

80/89

Business Process Execution Language for Web Services (BPEL4WS) Specifications proposed by IBM, Microsoft,

BEA Unifies XLANG, WSFL XML-based workflow definition language Describe business processes that both

provide and consume web services Implemented as an interaction with a web

service

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

81/89

Business Process Execution Language for Web Services (BPEL4WS) BPEL4WS is Complemented by WS Coordination specification

Allows to web services involved in a process to share information that “links” them

WS Transaction specification Allows to monitor the success/failure of each

coordinated activity Reliably cancel the business process Involves compensating activities

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

82/89

Business Process Execution Language for Web Services (BPEL4WS) Business process defines

Potential execution order of operations (web services)

Data shared between the web services Partners involved in business process Joint exception handling for collection of web

services Long running transactions between web services

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

83/89

Important note

Standards address Public Business Processes, exchanged documents, the messaging services, etc.

Standards do not address how to integrate with the back-end applications

BizTalk provides a mapper to map one document (eg a PO in XML to iDoc of SAP)

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

84/89

Another important issue for B2B integration is Back-end system integration

ProcessPO

ProcessPOA

ERP OraclePrivate Process

ERPSAP

TransformTo RN PO

Transformto SAP PO

ProcessSAP PO

Transformto RN POA

TransformTo Oracle

POA

Network

Transformations

ExecuteA legacy

Transformations

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

85/89

Future Research and Development Challenges of B2B Interoperability

Although foundations are there, the B2B integration is not mature yet!

Automating B2B Integration Automating B2B Integration implies data extracted from

back end applications (ERP, SCM, CRM, etc.) of Company A are send to the trading partner, Company B, where it is automatically inserted into the back-end applications

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

86/89

Future Research and Development Challenges of B2B Interoperability

Flexibility to dynamically adapt to changes Changes in the Public Business Processes: E.g.,

acknowledging a purchase order not in one POA but by acknowledging line items separately in several POAs

Changes in message formats: E.g., adding fields for additional data in a purchase order

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

87/89

Future Research and Development Challenges of B2B Interoperability

Creating Dynamic and Transient Relationships among partners Dynamic Virtual Organizations The establishment of “on demand” and “real-time”

partnership

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

88/89

Future Research and Development Challenges of B2B Interoperability: Exploiting Web Service Semantics Currently, the mechanism to incorporate semantics to service

registries (UDDI and ebXML) are through taxonomies like UNSPSC NAICS ISO3166

Taxonomies provide only limited semantics (class/subclass hierarchy)

Unless semantic is incorporated into Web services, it is not possible to achieve dynamic networked enterprises

A. Dogac Grenoble Ecole de Management MEDFORIST Workshop

89/89

Thank you for your attention!