Title: XML webservices and B2B integration
1XML web-services and B2B integration
- Frank GoethalsPhD-student K.U.Leuven - SAP
leerstoel - 24/9/2002 at SAP Belgium (Brussel)
- Frank.goethals_at_econ.kuleuven.ac.be
2SAP 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
3Agenda
- Intro SCM
- EAI and B2Bi
- XML
- Web Services
- Conclusion
4SCM ? Q Why Flexible Integration?
- Decades of efforts to optimize processes
- ERP efficient usage of resources internally
- But organizations do not operate isolated from
the outer world - SCM realise efficient and effective processes
-
5SCM
COMPANY XYZ
6SCM Towards Competing Supply Chains
- Remark
- - Companies are member of diverse Supply Chains
- - Close partners vs Temporal contacts (Dignum)
7Agenda
Intro SCM EAI and B2Bi XML Web
Services Conclusion
8In the early days
HR
9EAI(1) Enterprise Application Integration
ERP SCM CRM BI
10EAI(2) many-to-many middleware
11Componentization
- 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).
12After EAI B2Bi
13B2Bi
- Through EDI (Electronic Data Interchange)
14B2Bi
- 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.
15B2Bi
- 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.
16Agenda
Intro SCM EAI and B2Bi XML Web
Services Conclusion
17Web Services At the basis
XML
18Web Services At the basis XML
- XML-code in Notepad example SalesXML1.txt
Sales
19Web Services At the basis XML
- But in another company example SalesXML2.txt
20Web Services At the basis XML
Verkopen
Klant
Klant
Naam
PrGetalleke
Q
Naam
PrGetalleke
Q
Alberto
317
20
Fernando
102
30
attribute
Legend
element
21XSL
ndbad81 XSLT en CSS kunnen beide gebruikt
worden met XML Xslt verschilt van CSS in dat CSS
enkel aan de client-side kan gedraaid worden
(terwijl XSLT doorgaans aan de server-side
gedraaid wordt, doch ook aaan client side
mogelijk) en dat bij CSS de structuur van van het
output doc nauw die van het input doc volgt. Dit
is niet het geval bij XSL je kan bijvoorbeeld
ook totalen berekenen XSL omvat XSLT en
XSLFO(Formatting Objects) XSLT zorgt voor
transformatie van de boom, terwijl XMLFO zorgt
voor presentatie van de boom
- XSL (Extensible Stylesheet Language) for
- - reordering/restructuring information, and
- - calculating/generating new information.
22XSL example from XML to HTML
- Original XML-document
- XSL-document
- New HTML-page
-
23XSDL XML Schema Definition Language
- For defining the structure an XML document should
have (to be valid), including data type
declarations. -
-
-
-
-
-
-
-
-
- type"xsdstring" minOccurs"0"/
- type"xsdstring"/
Example BankDetails.xsd - xCBL
24XSDL 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.
ndbad81 Beheren zichzelf, beschrijven zz,
modulair
XSDL-doc BaseShippingDetail.xsd
25Conclusion on XML
- XML give data a structure
- XSL convert one XML-document into another
- XSDL put restrictions on structure and data types
26Agenda
Intro SCM EAI and B2Bi XML Web
Services Conclusion
27Web Services
- Why 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.
28Web Services
- What? IBM
- Web services are self-contained,
self-describing, modular applications that can be
published, located, and invoked across the Web.
ndbad81 Beheren zichzelf, beschrijven zz,
modulair
29Web Services Who can deliver nails
within 24 hours?
ndbad81
30Web Services Basic standards SOAP,
WSDL and UDDI
ndbad81
- UDDI (Universal Description, Discovery, and
Integration)
WS Provider
WS Provider
WS Requestor
WS Requestor
WS Broker
WS Broker
UDDI business Registry
UDDI business Registry
http//uddi.sap.com/ http//uddi.microsoft.com/d
efault.aspx
31Web Services Basic standards SOAP,
WSDL and UDDI
ndbad81
- UDDI (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
32Web Services Basic standards SOAP,
WSDL and UDDI
- SOAP over HTTP
- SOAP 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
33Web Services SOAP-request
ndbad81 In this example, a GetLastTradePrice
SOAP request is sent to a StockQuote service. The
request takes a string parameter, ticker symbol,
and returns a float in the SOAP response. The
SOAP Envelope element is the top element of the
XML document representing the SOAP message. XML
namespaces are used to disambiguate SOAP
identifiers from application specific
identifiers.
- SOAP (Simple Object Access Protocol)
- POST /yangy/webservice/stock/stockquote.asmx
HTTP/1.1 - Host dcm.cl.uh.edu
- Content-Type text/xml charsetutf-8
- Content-Length length
- SOAPAction "http//tempuri.org/GetQuote"
-
- MLSchema-instance" xmlnsxsd"http//www.w3.org/2
001/XMLSchema" xmlnssoap"http//schemas.xmlsoap
.org/soap/envelope" -
-
- string
-
-
-
34Web Services SOAP-response
ndbad81 In this example, a GetLastTradePrice
SOAP request is sent to a StockQuote service. The
request takes a string parameter, ticker symbol,
and returns a float in the SOAP response. The
SOAP Envelope element is the top element of the
XML document representing the SOAP message. XML
namespaces are used to disambiguate SOAP
identifiers from application specific
identifiers.
- SOAP (Simple Object Access Protocol)
- HTTP/1.1 200 OK
- Content-Type text/xml charsetutf-8
- Content-Length length
-
- MLSchema-instance" xmlnsxsd"http//www.w3.org/2
001/XMLSchema" xmlnssoap"http//schemas.xmlsoap
.org/soap/envelope/" -
-
string -
-
-
35Web Services WSDL
ndbad81 In this example, a GetLastTradePrice
SOAP request is sent to a StockQuote service. The
request takes a string parameter, ticker symbol,
and returns a float in the SOAP response. The
SOAP Envelope element is the top element of the
XML document representing the SOAP message. XML
namespaces are used to disambiguate SOAP
identifiers from application specific
identifiers.
- WSDL (Web Service Description Language)
-
- .
- Â
- " / Â
-
- Â
- Response" / Â
-
-
-
- Â
- / Â
- / Â
- Â
36- WSDL (Web Service Description Language)
- Soap"Â
- .org/soap/http" style"document" /
- Â
- rg/GetQuote" style"document" / Â
- Â
-
- Â
- Â
- Â
- Â
-
-
-
- binding"s0DailyStockSoap"Â location"http//dcm.cl.uh.edu/yangy/webservi
ce/stock/stockquote.asmx"/ Â -
ndbad81 In this example, a GetLastTradePrice
SOAP request is sent to a StockQuote service. The
request takes a string parameter, ticker symbol,
and returns a float in the SOAP response. The
SOAP Envelope element is the top element of the
XML document representing the SOAP message. XML
namespaces are used to disambiguate SOAP
identifiers from application specific
identifiers.
37Web Services Stack
ndbad81 In this example, a GetLastTradePrice
SOAP request is sent to a StockQuote service. The
request takes a string parameter, ticker symbol,
and returns a float in the SOAP response. The
SOAP Envelope element is the top element of the
XML document representing the SOAP message. XML
namespaces are used to disambiguate SOAP
identifiers from application specific
identifiers.
38Web Services New Possibilities
- Build bigger services by combining small services
(BPML, BPEL4WS, WSCI, WSCL) - Example travelling
1
1
1
1
2
2
2
2
3
1
1
4
2
2
5
1
1
6
2
2
39Agenda
Intro SCM EAI and B2Bi XML Web
Services Conclusion
40Semantic 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
41Conclusion
- A semantic web of services
42Questions