XML : Data Driving Business?
Dr. Vasudev Kamath
Persistent Systems
Dec 16, 2000 COMAD Talk2
Outline of Talk
• Talk in 2 parts• Part 1 will focus on the following
– a brief introduction to XML and the motivation for using it in business applications
– Problems with Electronic Data Interchange (EDI) and the use of XML for business integration
– Various XML-based standards relating to business integration
– Issues relating to Indian context
• Part 2 will cover some technical issues in XML
Dec 16, 2000 COMAD Talk3
EDI: a method for business integration
• Need felt for evolving standardized means of electronic information exchange
• EDI definition by EAN (standards body)– "the transfer of structured data, by agreed message
standards, from one computer application to another by electronic means and with a minimum of human intervention."
• Early EDI implementations used proprietary formats
• Many transaction standards for EDI have been developed over the last few years
– X12 (ANSI)– EANCOM (EAN)– UN/EDIFACT– OBI
Dec 16, 2000 COMAD Talk4
What does EDI contain?
• EDI consists of– Trading Partners
• Business organizations who agree to exchange business documents via EDI
– Translation Software • software that converts files to or from an EDI format
– Communications• transmission and reception of electronic data between
trading partners using compatible hardware and software, or a Value Added Network (VAN).
• Data may be transmitted directly between partners, or through the use of one or more VANs.
Dec 16, 2000 COMAD Talk5
EDI Transmission constituents
• Communications Transport Protocol• Interchange Control Header• Functional Group Header• Transaction Set Header• Detail Segment• Transaction Set Trailer• Functional Group Trailer• Interchange Control Trailer• Communications Transport Protocol
Dec 16, 2000 COMAD Talk6
What does EDI implementation entail?
• Costs of Communication software• Costs of Translation software
– integration with existing applications
• Cost for VAN• Setup costs for message transmission• Performance
Dec 16, 2000 COMAD Talk7
Issues with EDI
• Needs specialized software and hardware• Startup costs are high• Useful mainly for large companies, not
smaller ones• Very rigid message standards: require
padding of messages to specific lengths• Messages themselves are not viewer-friendly• EDI syntax has no mechanism for formal
validation
Dec 16, 2000 COMAD Talk8
What is XML?
• eXtensible Markup Language• Derivative of Standard Generalized Markup
Language (SGML)– international standard meta-language for
representing text and associated information about it in electronic form
• An XML document thus contains– Markup– Text
Dec 16, 2000 COMAD Talk9
XML document structure
• Markup– Elements– Tags
• Elements– The content of an XML document– Delimited by start and end tags– Can have nested tag pairs
• Tags– Start tag delimited by “< tagname >”– End tag delimited by “</ tagname >”
Dec 16, 2000 COMAD Talk10
XML document structure (contd.)
• Elements may not overlap– end tag must always have same name as most
recent unmatched start tag
• An XML document has only 1 root element• XML element names case-sensitive
Dec 16, 2000 COMAD Talk11
XML document example
<?xml version="1.0"?> <contact-info> <name>Vasudev Kamath</name><company>Persistent Systems</company><phone>(020) 565 9107</phone> </contact-info>
Dec 16, 2000 COMAD Talk12
Why XML as data format?
• Can create self descriptive data– No prior knowledge of sending application needed
• Platform-independent, application-independent data format: – separates data from its representation
• Easier for search engines to extract information• Allows formal data validation• Syntax can be easily understood both by
computers and humans • Applications for handling XML over Internet exist:
– no specialised hardware or software required
Dec 16, 2000 COMAD Talk13
XML features (contd.)
• How is data self-descriptive?– Tag names can be customized e.g.
“<PurchaseOrder>”, “<ItemCode>”, etc.
• How is data separated from representation?– XML document contains only data– Using XSL (eXtensible Stylesheet Language), the
same document can be tailored to different views
• How is it easier to extract information from search engine– Structured document– Contains text rather than coded information
Dec 16, 2000 COMAD Talk14
XML features (contd.)
• How is formal data validation done?– Through DTD (Document Type Definition)– Through Schemas
• Applications for handling XML– Parsers– Database interfaces
Dec 16, 2000 COMAD Talk15
XML DTD example
<!-- Example of DTD for above XML document -->
<!ELEMENT contact-info (name, company, phone?) >
<!ELEMENT name ( #PCDATA ) >
<!ELEMENT company (#PCDATA ) >
<!ELEMENT phone ( #PCDATA ) >
Dec 16, 2000 COMAD Talk16
Motivation for XML in business • Most web pages today are HTML: this integrates
presentation and data• Single XML document can be “viewed” in different
ways– through a browser- with different colours, layout– On a mobile phone display – On the telephone, using voice
• Data transformation through gateway applications is eased
• Formal representation of business processes helps ease impact of any change in them – Defines sequence of events relating to document exchange– Defines content of the documents
• Investment in legacy systems not necessarily wasted
Dec 16, 2000 COMAD Talk17
EDI-XML comparison
• EDI message lineSES*197409****FALL*YM*7409***22***MATHEMATICS HONOURS
• Equivalent XML document stub<SessionRecord>
<SessionStartDate>197409</SessionStartDate>
<Semester>Fall</Semester>
<StudentStatus>sophomore</StudentStatus>
<ProgramName>Mathematics Honours </ProgramName>
</SessionRecord>
Dec 16, 2000 COMAD Talk18
A typical B2B scenario
• Distributor requests quotation for list of products from supplier
• Supplier sends quotation to distributor• Distributor places purchase order on supplier• Supplier invoices the distributor• Supplier sends goods forwarding note to
transporter• Transporter sends consignment note to supplier• Supplier sends shipment along with delivery
challan• Distributor sends delivery confirmation to
supplier• Distributor sends payment instruction to bank
Dec 16, 2000 COMAD Talk19
XML for business documents
• Each underline in previous slide represents a business document
• This would be represented in XML using an agreed framework between business partners
• There would be underlying applications to convert data contained in internal systems of businesses to XML and vice versa
• These applications would encapsulate the business process of the organizations
• While processes may be different, the data exchanged must be same (mutually agreed)
Dec 16, 2000 COMAD Talk20
XML-based business integration
Message routing logic, service discovery, etc.
Message routing logic, service discovery, etc.
Manufacturer
Bank
Stock Yard
3rd PartyLogistics Vendor
Distributor
Represents XMLdocument flow
Represents data transformation
Dec 16, 2000 COMAD Talk21
How XML is used at various layers in business process
• At business process layer• At data exchange layer• At messaging, routing layer• At service registration and discovery layer
Dec 16, 2000 COMAD Talk22
XML at business process layer
<!ENTITY % common-attributes "id CDATA IMPLIED" >
<!ELEMENT Pip2A1ProductInformationNotification ( ProductNotice+ , fromRole , toRole ,
thisDocumentGenerationDateTime ,thisDocumentIdentifier ,GlobalDocumentFunctionCode ) >
<!ELEMENT ProductNotice ( theNotice ,GlobalProductIdentifier ) >
<!ATTLIST FreeFormText xml:lang CDATA IMPLIED >
<!ELEMENT GlobalProductIdentifier #PCDATA ) >
<!ELEMENT fromRole ( PartnerRoleDescription ) >
<!ELEMENT PartnerRoleDescription ( GlobalPartnerRoleClassificationCode ,PartnerDescription ,ContactInformation? ) >
<!ELEMENT GlobalPartnerRoleClassificationCode ( #PCDATA ) >
<!ELEMENT PartnerDescription ( GlobalPartnerClassificationCode , BusinessDescription ) >
<!ELEMENT GlobalPartnerClassificationCode( #PCDATA ) >
<!ELEMENT BusinessDescription ( GlobalBusinessIdentifier ,GlobalSupplyChainCode ) >
<!ELEMENT GlobalBusinessIdentifier ( #PCDATA ) >
<!ELEMENT GlobalSupplyChainCode ( #PCDATA ) >
<!ELEMENT toRole ( PartnerRoleDescription ) >
<!ELEMENT thisDocumentGenerationDateTime ( DateTimeStamp ) >
<!ELEMENT DateTimeStamp ( #PCDATA ) >
<!ELEMENT thisDocumentIdentifier ( ProprietaryDocumentIdentifier ) >
<!ELEMENT ProprietaryDocumentIdentifier ( #PCDATA ) >
<!ELEMENT GlobalDocumentFunctionCode ( #PCDATA ) >
Dec 16, 2000 COMAD Talk23
XML at business document exchange layer
<?xml version="1.0" ?> <PeBS operation="TransportRequest"><TransportRequest><TransportRequestHeader><TransportRequestNumber/><TransportRequestDate>date</TransportRequestDate> </TransportRequestHeader><TransporterAddress>
<NameAddress/><TransporterContact/>
</TransporterAddress><!-- Name and address of the manufacturer, stockyard, delivery etc. --> <!-- List of items to be delivered --> <ListOfTransportItem><TransportItem>
<ProductCode /> <ItemDescription /> <Quantity/><RequiredDeliveryDate>20000810T10:00:00</RequiredDeliveryDate>
</TransportItem></ListOfTransportItem><TransporterResponseRequiredDate>20000808T09:00:00</TransporterResponseRequiredDate> <SpecialRequest>Any special request</SpecialRequest> </TransportRequest></PeBS>
Dec 16, 2000 COMAD Talk24
XML at routing layer
<SOAP-ENV:Envelope xmlns:SOAP-ENV=“URL" xmlns:xsi=“URL"><SOAP-ENV:Header><dlv:delivery SOAP-ENV:mustUnderstand="1" xmlns:dlv=“URL" xmlns:agr=“URL"> <dlv:to> <dlv:address xsi:type="agr:department">Book Order Department</dlv:address></dlv:to> <dlv:from><dlv:address xsi:type="agr:organization">BookloversAnonymous</dlv:address></dlv:from> </dlv:delivery> <prop:properties SOAP-ENV:mustUnderstand="1" xmlns:prop=“URL"> <prop:identity>uuid:74b9f5d0-33fb-4a81-b02b-5b760641c1d6</prop:identity> <prop:sentAt>2000-05-14T03:00:00+08:00</prop:sentAt> <prop:expiresAt>2000-05-15T04:00:00+08:00</prop:expiresAt> <prop:topic>topic-name</prop:topic> </prop:properties> </SOAP-ENV:Header> <SOAP-ENV:Body> <po:PurchaseOrder xmlns:po=“URL"> <po:Title>Essential BizTalk</po:Title> </po:PurchaseOrder> </SOAP-ENV:Body></SOAP-ENV:Envelope>
Dec 16, 2000 COMAD Talk25
XML for service description
<?xml version="1.0"?><Espeak version="Espeak 1.0beta" operation="CreateVocab" xmlns="http://localhost/e:/Esxml/Schemas/espeak.xsd"> <resource xmlns=""> <!-- Begin: Specify the vocabulary description --> <resourceDes xmlns="">
<pattern><Name>ManufacturerVocabulary</Name><Type>ESVocabulary</Type>
</pattern> </resourceDes> <!-- End: Specify the vocabulary description --> <resourceData xmlns=""> <!-- Begin: Specify attribute property set --> <attrGroup name="ManufacturerVocabulary" xmlns="">
<attrDecl xmlns="" name="EntityName"><datatypeRef name="string"/></attrDecl>
<!-- Other attrDecl on EntityId, ServiceName, CompanyName, ProductCategory, Address, etc. --> </attrGroup> </resourceData> <!-- End: Specify attribute property set --> </resource> </Espeak>
Dec 16, 2000 COMAD Talk26
Why XML standards?
• Businesses have different internal business systems
• Need to agree on a common method of exchanging information in human-readable form in documents, forms and messages
• Must overcome the deficiencies of EDI
Dec 16, 2000 COMAD Talk27
What standardization do these standards do?
• Formal specification of business process • Standardization of data exchanged between
business applications• Standardization of other items relating to the
interaction such as messaging, security• Formal mechanisms for representation of
meta-information about interacting applications and data
• Note: not all standards achieve all of the above!
Dec 16, 2000 COMAD Talk28
XML standards for business
• End users, solution providers and other players in the global e-commerce scene have proposed multiple XML-based standards for e-commerce
• Some of the standards are:– RosettaNet– CommerceNet– ebXML– CommerceOne– BizTalk– CommerceXML– PeBS
Dec 16, 2000 COMAD Talk29
RosettaNet
• Independent, self-funded consortium of global members of IT Supply Chain, – HP, Compaq, Fedex, GE Information Services,
Oracle, SAP AG, Toshiba Information Systems, Cisco, etc
• Defines B2B process standards as well as B2B data standards
• RosettaNet standards– RosettaNet Partner Interface Processes– RosettaNet Implementation Framework – RosettaNet Business and Technical Dictionaries
Dec 16, 2000 COMAD Talk30
RosettaNet (Contd.)
• RosettaNet Partner Interface Process– XML specification designed to provide common
business/data models and documents enabling system developers to implement RosettaNet eBusiness interfaces
• RosettaNet Implementation Framework– Open, common network-application integration
framework for easy adoption of processes• Application message formats• Message exchange sequences
• RosettaNet Business Dictionaries– Definitions of Business Properties and Business
Data Entities
Dec 16, 2000 COMAD Talk31
Business messages
• XML DTDs arranged in clusters relating to– Partner, Product and Service Review
• information collection, maintenance and distribution for the development of trading-partner profiles and product-information subscriptions
– Product Introduction• distribution and update of basic and extended product
information, product change notices, etc.
– Order Management• order catalog products, create custom solutions, manage
distribution and deliveries, and support product returns and financial transactions
Dec 16, 2000 COMAD Talk32
Business messages (contd.)
– Marketing Information Management• Communication of marketing information, including
campaign plans, lead information and design registration
– Inventory Management• Inventory management, including collaboration,
replenishment, price protection, reporting and allocation
– Service and Support• post-sales technical support, service warranty and asset
management capabilities
Dec 16, 2000 COMAD Talk33
CommerceNet
• Open, internet-based infrastructure for e- commerce, whose members include leading banks, telcos, ISPs, software services companies, major end-users worldwide
• Aims to function as a market maker, generating communities of buyers & sellers
• Defines a conceptual framework for inter-operability between different entities in supply chain
Dec 16, 2000 COMAD Talk34
CommerceNet Architecture
• Architecture expected to provide common basis for two parties to negotiate understanding of how they will do business
• 7-layer architecture– NETWORKS contain – MARKETS where – BUSINESSES provide and use – SERVICES which conduct – INTERACTIONS which exchange – DOCUMENTS containing – INFORMATION ITEMS
Dec 16, 2000 COMAD Talk35
CommerceNet Architecture (Contd.)
• Layered model representing e-commerce environment
• Each layer relates to next layer in defined way• Metadata of each layer described through various
“Type Registries” (built on XML-based data elements)
• Layer and its Registries enable an interested party– to obtain information to potentially use offered services, – or to join the marketplace and
• provide new services or
• interoperate as a trading partner with other businesses in that marketplace.
Dec 16, 2000 COMAD Talk36
ebXML
• Initiative of the UN CEFACT (UN Centre for Trade Facilitation and Electronic Business) and OASIS (Organization for the Advancement of Structured Information Standards)
• A framework where consistent, robust and interoperable e-business services and components can be created
• will provide technical infrastructure for Global Commerce Internet Protocol– (set of recommendations governing management of data
for Internet communication and other B2B interactions)
Dec 16, 2000 COMAD Talk37
ebXML Functionality
• Mechanisms to provide support for businesses to specify information such as– Support for business processes– Service interface that is implemented– Required information for each instance of a
message– Mechanism to allow dynamic discovery of
semantic meaning of that business information
• Implemented using XML representation
Dec 16, 2000 COMAD Talk38
ebXML Architectural Components
• Mechanism for the following related to a business process:– Description– Registration– Storage
• Mechanism for the following related to a participant:– Discovery
• Business processes• Business service interfaces• Business messages• Technical configuration for supporting transport, security and
encoding protocols – Registration– Trading partner agreement description
Dec 16, 2000 COMAD Talk39
ebXML Architectural Components (contd.)
• Messaging services– Configuration to implement business process in
accordance with constraints described in trading partner agreements
– Interoperability, security, reliability of messaging
Dec 16, 2000 COMAD Talk40
CommerceOne
• Leader in e-commerce solutions• Commerce One Common Business Library
(xCBL) 2.0– provides transition path from EDI to XML-based
commerce capability – More than just a XML wrapper for EDI messages:
a set of XML building blocks itself– a document framework that allows the creation of
robust, reusable, XML documents for electronic commerce
Dec 16, 2000 COMAD Talk41
CommerceOne xCBL
• Provides XML-based standardization at business document exchange layer
• Defines standards for documents such as– Purchase order– Invoice– Price Catalog– Availability Check Request
• Endorsed by other standards bodies– Microsoft BizTalk– OASIS– UN/CEFACT– CommerceNet
Dec 16, 2000 COMAD Talk42
XCBL 2.0 business documents
• PurchaseOrder • PurchaseOrderResponse • OrderStatusRequest • OrderStatusResult • Invoice • AvailabilityCheckRequest • AvailabilityCheckResult • PriceCheckRequest • PriceCheckResult • PriceCatalog • PricingData • ProductCatalog
Dec 16, 2000 COMAD Talk43
BizTalk• Promoted by Microsoft• Goal of driving rapid, consistent adoption of
XML to enable e-commerce and application integration
• BizTalk Framework:– Specs for design and development of XML-based
messaging solutions for communication between applications
– Builds upon standards such as HTTP, MIME, XML and SOAP
• Note: BizTalk does not address many aspects of B2B e-commerce!
Dec 16, 2000 COMAD Talk44
Use of XML in BizTalk
• Representation of business documents• Schemas for business documents• BizTags: used to specify handling of BizTalk
messages• BizTalk document header entries (SOAP)
– Routing and delivery– Document identification and properties– Document catalog
• Information about business document and any attachments
– Process management• information about the business process providing
processing context for BizTalk Document.
Dec 16, 2000 COMAD Talk45
CommerceXML (cXML)
• Developed by Ariba, and other players• Supports business documents such as
– Catalogs– “Punchouts” - Dynamic catalogs– Purchase orders
• Has mechanisms for – Getting supplier details– Entering into contracts– Configuring punchout sites
Dec 16, 2000 COMAD Talk46
Use of XML at different layers in standards
• 4 “layers” in standards• Not all standards use XML at all layers
– BizTalk is just a messaging framework, does not define content of business documents
– CommerceOne defines the business data elements, but does not provide messaging, routing capability or process definitions
– PeBS uses XML to define business documents as well as for messaging; service registration and discovery
Dec 16, 2000 COMAD Talk47
Indian e-business issues
• B2B e-commerce in India stresses on exchanges and marketplaces
• Typical interaction is still browser-web server where one entity is a human, and not application to application
• Inter-business integration of the type of “Oracle in company A talking to SAP in company B” is minimal
• Scope for business integration still vast
Dec 16, 2000 COMAD Talk48
Indian XML standards for Indian business documents
• Need to replicate “brick-and-mortar” processes and documents even if business moves on-line, due to users’ expectations
• XML-based standards for global businesses do not capture the documents of Indian business processes relating to interaction of businesses with government and other public entities.
• 2 examples of the above: – Uttar Pradesh requires a road permit for each shipment that
crosses the state borders– Information on octroi, sales taxes, excise, etc. may need to
be incorporated into business documents such as invoices
• Hence the need for evolving Indian standards, suited for e-commerce between Indian entities
Dec 16, 2000 COMAD Talk49
PeBS
• Solution uses XML-based business documents
• At present focusing on business data exchange layer, taking into account Indian business practices
• Working to evolve these into Indian standards for business documents, as well as process standards
Dec 16, 2000 COMAD Talk50
Standard PeBS documents• delivery-challan
• delivery-confirmation
• dispatch-intimation
• dispatch-intimation-confirmation
• dispute-document
• distr-to-manuf-product-enquiry
• invoice
• loading-confirmation-report
• loading-instructions-sheet
• product-catalog
• product-catalog-request
• product-enquiry-response
• production-request
• purchase-order
• purchase-order-confirmation
• quotation
• quotation-request
• stock-enquiry
• stock-status-report
• transport-receipt
• transport-receipt-request
• transport-request
• transport-request-confirmation
Dec 16, 2000 COMAD Talk51
To conclude…
• Usage of XML-based documents in B2B interaction is catching on - more in US than in India
• Businesses are using XML at various levels in supply chain, not just at the business data exchange layer
• XML-based documents expected to work well in heterogeneous environments of multiple businesses who want to integrate operations
• Need to popularize XML in user community in India, not just among CS fraternity
Dec 16, 2000 COMAD Talk52
For further information….
• RosettaNet– http://www.oasis-open.org/cover/rosettaNet.html
• CommerceNet– http://eco.commerce.net/what/index.cfm
• ebXML– http://www.ebxml.org
• CommerceOne– http://www.commerceone.com
• BizTalk– http://www.biztalk.org
• CommerceXML– http://www.cxml.org
• PeBS– http://www.e2econnect.net