XML web-services and B2B integration by olq42616

VIEWS: 81 PAGES: 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
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. Vandenbulcke
 http://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 processes
   ERP: efficient usage of resources – internally


 But… organizations do not operate isolated
 from the outer world
   SCM: realise efficient and effective processes
SCM                   Supplier         Supplier              Supplier




                      Supplier         Supplier              Supplier




                                   COMPANY XYZ


      Competing
      companies
                                                  Distribution
      Threat of new                               channel
      entrants

      Substitute
      products or
      services

                                      End customer




                            The Industry Supply Chain from
                             company XYZs point of view
SCM: Towards Competing Supply Chains
 Remark
   - Companies are member of diverse Supply Chains
   - Close partners vs Temporal contacts (Dignum)
               High


       Impact on
        financial     Temporal         Partners
          result       contacts

               Low


                      Low    Supply Risk     High
Agenda

          Intro: SCM
         EAI and B2Bi
             XML
         Web Services
          Conclusion
In the early days…

        Production-    Sales
        planning




                       Finance

        Purchase Dpt

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



                    ERP




         CRM                       SCM
                     BI
EAI(2)   many-to-many middleware




                   ERP




         CRM                   SCM
                    BI
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:                XML
                                  attributes

  <sales>
      <client name =“Alberto”>
         <productnr> 317 </productnr >
         <quantity> 20 </quantity>
      </client>                                elements
      <client name = “Fernando”>
         <productnr > 102 </productnr >
         <quantity> 30 </quantity>
      </client>
  </sales>
Web Services: At the basis: XML
  XML-code in Notepad: example SalesXML1.txt
                             Sales

          Client                                Client

Name      Productnr   Quantity        Name      Productnr              Qua

Alberto     317         20           Fernando      102                   3

                                                           attribute
                                                 Legend:
                                                           element
Web Services: At the basis: XML
 But in another company: example SalesXML2.txt
                             Sales

          Client                                Client

Name      Productnr   Quantity        Name      Productnr              Qua

Alberto     317         20           Fernando      102                   3

                                                           attribute
                                                 Legend:
                                                           element
Web Services: At the basis: XML
  Still another company…
                        Verkopen

           Klant                           Klant

Naam      PrGetalleke   Q          Naam   PrGetalleke             Q

Alberto      317        20     Fernando       102                 3

                                                      attribute
                                            Legend:
                                                      element
XSL
  XSL (Extensible Stylesheet Language) for
       - reordering/restructuring information, and
       - calculating/generating new information.

 XML1
              XML2        HTTP            XML2
 XSL

         XML
                      HTML         HTTP          HTML
          XSL
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">               Example: BankDetails.xsd - xCBL
 <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"/>
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 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.”
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 UDDI
UDDI (Universal Description, Discovery, and Integration)

                                                                   WS Provider
       WS Requestor
                           4. WS binding



                                       3. Look up
                                       technical details



    2. Get service and                                     1. Register service and
    company information                                    company


                             WS Broker –
                          UDDI business Registry


 http://uddi.sap.com/ http://uddi.microsoft.com/default.aspx
Web Services: Basic standards: SOAP,
                           WSDL and UDDI
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
Web 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
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


         WSFL, Xlang,…      Service flow


             UDDI          Services zoeken en publiceren


             WSDL          Services beschrijven


             SOAP          XML gebaseerde messaging


         HTTP, FTP, IIOP   Netwerk
Web Services: New Possibilities
 Build bigger services by combining small
 services (BPML, BPEL4WS, WSCI, WSCL…)

 Example: travelling

        1                   1
            2                   2


        3                   1

            4                   2

        5                   1



            6                   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

								
To top