XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002...

42
XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) [email protected]

Transcript of XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002...

Page 1: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

XML web-services and B2B integration

Frank GoethalsPhD-student K.U.Leuven - SAP leerstoel

24/9/2002 at SAP Belgium (Brussel)

[email protected]

Page 2: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

SAP – leerstoel

- ‘Extended Enterprise Infrastructures’

- 5 years (till 2006)

- Research (adaptive Supply Chains) at F.E.T.E.W. – K.U.Leuven

- SAP/LIRIS Research Symposium - Prof. J. Vandenbulckehttp://www.econ.kuleuven.ac.be/leerstoel/SAP/FramesPage.htm

Page 3: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

Agenda

Intro: SCM

EAI and B2Bi

XML

Web Services

Conclusion

Page 4: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

SCM Q: Why Flexible Integration?

Decades of efforts to optimize processesERP: efficient usage of resources – internally

But… organizations do not operate isolated from the outer world

SCM: realise efficient and effective processes

Page 5: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

SCM

COMPANY XYZ

Distribution channel

End customer

Supplier Supplier Supplier

Supplier Supplier Supplier

The Industry Supply Chain from company XYZs point of view

Competing companies

Substitute products or services

Threat of new entrants

Page 6: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

SCM: Towards Competing Supply Chains

Remark - Companies are member of diverse Supply Chains

- Close partners vs Temporal contacts (Dignum)

Low Supply Risk High

Impact on financial

result

High

Low

PartnersTemporal contacts

Page 7: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

Agenda

Intro: SCM

EAI and B2Bi

XML

Web Services

Conclusion

Page 8: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

In the early days…

Production-planning

Sales

Purchase Dpt

Finance

HR………

Page 9: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

EAI(1) Enterprise Application Integration ERP + SCM + CRM + BI +…

ERP

CRM

BI

SCM

Page 10: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

EAI(2) many-to-many middleware

ERP

CRM

BI

SCM

Page 11: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

Componentization

Problem: ERP systems are difficult to change and to extend

Solution: componentization

= “breaking up large, monolithic ERP systems into individual modules or components that would work together.”

quickly fix and add functionality

easier and safer customization of the system

easier for customers to (selectively) upgrade the software

Including more open interfaces and improved integration

capabilities (best-of-breed approach).

Page 12: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

After EAI: B2Bi

Page 13: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

B2Bi

Through EDI (Electronic Data Interchange):

LOC+147+0090305::5’MEA+WT++KGM::22500’LOC+9+NLRTM’LOC+11+SGSIN’RFF+BM+933’EQD+CN+ABCU2234536’NAD+CA+ABC:172:20’

Page 14: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

B2Bi

Through EDI (Electronic Data Interchange): Saves time and money (RJR Nabisco estimates that processing a paper purchase order costs the company $70.

Processing an EDI purchase order reduces the cost to a mere 93 cents). Offers possibilities for new business practices, e.g. the usage of Vendor Stock Replenishment (VSR). Mann [113] remarks that there are certain B2B processes in which the human element can add errors and delays but

cannot add very much value.

Page 15: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

B2Bi

Through EDI (Electronic Data Interchange):

BUT

- Different EDI standards exist.

- EDI is complex, difficult to implement, and expensive.

- Is traditionally batch oriented (not real-time).

- Message is not understandable for humans.

Page 16: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

Agenda

Intro: SCM

EAI and B2Bi

XML

Web Services

Conclusion

Page 17: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

Web Services: At the basis:

<sales> <client name =“Alberto”>

<productnr> 317 </productnr ><quantity> 20 </quantity>

</client> <client name = “Fernando”>

<productnr > 102 </productnr ><quantity> 30 </quantity>

</client></sales>

attributes

elements

XML

Page 18: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

Web Services: At the basis: XML

XML-code in Notepad: example SalesXML1.txt

Sales

Name Productnr Quantity

Alberto 317 20 Fernando 102 30

Name Productnr Quantity

Client Client

attribute

elementLegend:

Page 19: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

Web Services: At the basis: XML

But in another company: example SalesXML2.txt

Sales

Name Productnr Quantity

Alberto 317 20 Fernando 102 30

Name Productnr Quantity

Client Client

attribute

elementLegend:

Page 20: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

Web Services: At the basis: XML

Still another company…

Verkopen

Naam PrGetalleke Q

Alberto 317 20 Fernando 102 30

Naam PrGetalleke Q

Klant Klant

attribute

elementLegend:

Page 21: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

XSLXSL (Extensible Stylesheet Language) for

- reordering/restructuring information, and

- calculating/generating new information.

XML1

XSL XML2

HTTP XML2

XML

XSL HTML HTTP HTML

Page 22: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

XSL: example: from XML to HTML

Original XML-document

XSL-document

New HTML-page

Other HTML-page

Page 23: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

XSDL: XML Schema Definition Language

For defining the structure an XML document should have (to be valid), including data type declarations.

<xsd:complexType name="BankDetail">

<xsd:sequence>

<xsd:element name="BankCountry">

<xsd:complexType>

<xsd:sequence>

<xsd:element ref="Country"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="SWIFTCode" type="xsd:string" minOccurs="0"/>

<xsd:element name="BankAccountNumber" type="xsd:string"/>

Example: BankDetails.xsd - xCBL

Page 24: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

XSDL & xCBL

xCBL – XML Common Business Library… is a set of XML building blocks and a document framework that allows the creation of robust, reusable, XML documents to facilitate global trading.

Serves as basis for UBL Universal Business Language

saves developers and integrators time and effort,

ensures recipients will be able to understand all documents received.

XSDL-doc BaseShippingDetail.xsd

Page 25: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

Conclusion on XML

XML: give data a structure

XSL: convert one XML-document into another

XSDL: put restrictions on structure and data types

Page 26: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

Agenda

Intro: SCM

EAI and B2Bi

XML

Web Services

Conclusion

Page 27: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

Web ServicesWhy explain this to you?

“The SAP Web Application Server provides the reliability, scalability, security, and high availability SAP customers require. In addition, it supports open technical standards such as UDDI, WSDL, and SOAP, and within mySAP Technology, open business standards such as RosettaNet, ebXML, and UBL.”

Page 28: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

Web Services

What? [IBM]

“Web services are self-contained, self-describing, modular applications that can be published, located, and invoked across the Web.”

Page 29: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

Web Services: Who can deliver nails within 24 hours?What is needed?

Page 30: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

Web Services: Basic standards: SOAP, WSDL and UDDIUDDI (Universal Description, Discovery, and Integration)

WS ProviderWS ProviderWS Requestor

WS Broker –UDDI business Registry

WS Requestor

WS Broker –UDDI business Registry

1. Register service and company1. Register service and company

2. Get service and company information2. Get service and company information

3. Look up technical details3. Look up technical details

4. WS binding4. WS binding

http://uddi.sap.com/ http://uddi.microsoft.com/default.aspx

Page 31: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

Web Services: Basic standards: SOAP, WSDL and UDDIUDDI (Universal Description, Discovery, and Integration)

http://uddi.microsoft.com/default.aspx

Tools: Search

Search by services: ‘stockquote’

Left pane gives results → Choose ‘4. stockquote web service’

Right pane now gives Details, Bindings and Categories

Pick Bindings and copy the found URL in a web browser

The technical information can be found on this page

Page 32: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

Web Services: Basic standards: SOAP, WSDL and UDDI

SOAP … over HTTPSOAP is a wire protocol similar to the IIOP for CORBA, ORPC for DCOM, or JRMP for Java RMI. However, SOAP is vendor-neutral technology that appeals to all vendors.

Realises interoperability

Page 33: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

Web Services: SOAP-request

SOAP (Simple Object Access Protocol)

POST /yangy/webservice/stock/stockquote.asmx HTTP/1.1

Host: dcm.cl.uh.edu

Content-Type: text/xml; charset=utf-8

Content-Length: length

SOAPAction: "http://tempuri.org/GetQuote"

<?xml version="1.0" encoding="utf-8"?>

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope">

<soap:Body>

<GetQuote xmlns="http://tempuri.org/">

<symbol>string</symbol>

</GetQuote>

</soap:Body>

</soap:Envelope>

Page 34: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

Web Services: SOAP-response

SOAP (Simple Object Access Protocol)

HTTP/1.1 200 OK

Content-Type: text/xml; charset=utf-8

Content-Length: length

<?xml version="1.0" encoding="utf-8"?>

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

<soap:Body>

<GetQuoteResponse xmlns="http://tempuri.org/"><GetQuoteResult>string</GetQuoteResult>

</GetQuoteResponse>

</soap:Body>

</soap:Envelope>

Page 35: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

Web Services: WSDL

WSDL (Web Service Description Language)

<?xml version="1.0" encoding="utf-8" ?> ….

<message name="GetQuoteSoapIn"> 

<part name="parameters" element="s0:GetQuote" />  

</message>

<message name="GetQuoteSoapOut"> 

<part name="parameters" element="s0:GetQuoteResponse" />  

</message>…

<portType name="DailyStockSoap">

<operation name="GetQuote"> 

<input message="s0:GetQuoteSoapIn" />  

<output message="s0:GetQuoteSoapOut" />  

</operation> 

</portType>

Page 36: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

WSDL (Web Service Description Language)

<binding name="DailyStockSoap" type="s0:DailyStockSoap"> 

<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />

<operation name="GetQuote"> 

<soap:operation soapAction="http://tempuri.org/GetQuote" style="document" /> <input> 

<soap:body use="literal" />  

</input>

<output> 

<soap:body use="literal" />  

</output> 

</operation> 

</binding>

<service name="DailyStock">

<port name="DailyStockSoap" binding="s0:DailyStockSoap">  <soap:address

location="http://dcm.cl.uh.edu/yangy/webservice/stock/stockquote.asmx"/>  

</port>

</service>

Page 37: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

Web Services Stack

HTTP, FTP, IIOP

SOAP

WSDL

UDDI

Netwerk

XML gebaseerde messaging

Services beschrijven

Services zoeken en publiceren

HTTP, FTP, IIOP

SOAP

WSDL

UDDI

Netwerk

XML gebaseerde messaging

Services beschrijven

Services zoeken en publiceren

Service flowWSFL, Xlang,…

Page 38: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

Web Services: New Possibilities

Build bigger services by combining small services (BPML, BPEL4WS, WSCI, WSCL…)

Example: travelling

1

3

5

2

6

1

2

4

1

1

1

2

2

2

1

1

1

2

2

2

Page 39: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

Agenda

Intro: SCM

EAI and B2Bi

XML

Web Services

Conclusion

Page 40: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

Semantic web

Integration is more than a physical connection, it also requires semantics

What do you mean with ‘number’?

… or with ‘clientcode’?

Semantic interoperability

Need for ontologies

Need for knowledge-representation

Page 41: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

Conclusion

A semantic web of services

Page 42: XML web-services and B2B integration Frank Goethals PhD-student K.U.Leuven - SAP leerstoel 24/9/2002 at SAP Belgium (Brussel) Frank.goethals@econ.kuleuven.ac.be.

Questions