xml web-services and b2b integration frank goethals phd-student k.u.leuven - sap leerstoel 24/9/2002...

Post on 01-Apr-2015

222 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

XML web-services and B2B integration

Frank GoethalsPhD-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

Agenda

Intro: SCM

EAI and B2Bi

XML

Web Services

Conclusion

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

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

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

Agenda

Intro: SCM

EAI and B2Bi

XML

Web Services

Conclusion

In the early days…

Production-planning

Sales

Purchase Dpt

Finance

HR………

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

ERP

CRM

BI

SCM

EAI(2) many-to-many middleware

ERP

CRM

BI

SCM

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).

After EAI: B2Bi

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’

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.

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.

Agenda

Intro: SCM

EAI and B2Bi

XML

Web Services

Conclusion

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

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:

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:

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:

XSLXSL (Extensible Stylesheet Language) for

- reordering/restructuring information, and

- calculating/generating new information.

XML1

XSL XML2

HTTP XML2

XML

XSL HTML HTTP HTML

XSL: example: from XML to HTML

Original XML-document

XSL-document

New HTML-page

Other HTML-page

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

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

Conclusion on XML

XML: give data a structure

XSL: convert one XML-document into another

XSDL: put restrictions on structure and data types

Agenda

Intro: SCM

EAI and B2Bi

XML

Web Services

Conclusion

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

Web Services

What? [IBM]

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

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

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

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

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

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>

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>

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>

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>

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,…

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

Agenda

Intro: SCM

EAI and B2Bi

XML

Web Services

Conclusion

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

Conclusion

A semantic web of services

Questions

top related