520 likes | 637 Views
XML : Data Driving Business?. Dr. Vasudev Kamath Persistent Systems. 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
E N D
XML : Data Driving Business? Dr. Vasudev Kamath Persistent Systems
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 COMAD Talk
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 COMAD Talk
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. COMAD Talk
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 COMAD Talk
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 COMAD Talk
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 COMAD Talk
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 COMAD Talk
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 >” COMAD Talk
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 COMAD Talk
XML document example • <?xml version="1.0"?> • <contact-info> • <name>Vasudev Kamath</name> • <company>Persistent Systems</company> • <phone>(020) 565 9107</phone> • </contact-info> COMAD Talk
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 COMAD Talk
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 COMAD Talk
XML features (contd.) • How is formal data validation done? • Through DTD (Document Type Definition) • Through Schemas • Applications for handling XML • Parsers • Database interfaces COMAD Talk
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 ) > COMAD Talk
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 COMAD Talk
EDI-XML comparison • EDI message line SES*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> COMAD Talk
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 COMAD Talk
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) COMAD Talk
XML-based business integration Stock Yard Represents data transformation Represents XML document flow Message routing logic, service discovery, etc. 3rd PartyLogistics Vendor Manufacturer Bank Distributor COMAD Talk
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 COMAD Talk
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 ) > COMAD Talk
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> COMAD Talk
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> COMAD Talk
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> COMAD Talk
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 COMAD Talk
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! COMAD Talk
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 COMAD Talk
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 COMAD Talk
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 COMAD Talk
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 COMAD Talk
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 COMAD Talk
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 COMAD Talk
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 COMAD Talk
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. COMAD Talk
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) COMAD Talk
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 COMAD Talk
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 COMAD Talk
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 COMAD Talk
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 COMAD Talk
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 COMAD Talk
XCBL 2.0 business documents • PurchaseOrder • PurchaseOrderResponse • OrderStatusRequest • OrderStatusResult • Invoice • AvailabilityCheckRequest • AvailabilityCheckResult • PriceCheckRequest • PriceCheckResult • PriceCatalog • PricingData • ProductCatalog COMAD Talk
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! COMAD Talk
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. COMAD Talk
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 COMAD Talk
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 COMAD Talk
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 COMAD Talk
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 COMAD Talk
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 COMAD Talk
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 Standard PeBS documents COMAD Talk