1 / 28

XML/EDI Repositories

XML/EDI Repositories. Martin Bryan The SGML Centre www.sgml.u-net.com. What is XML/EDI?. The use of XML for business-to-business electronic data interchange Based on traditional EDI processes and existing semantic definitions UN EDIFACT, ANSI X12 or domain specific

odell
Download Presentation

XML/EDI Repositories

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XML/EDI Repositories Martin Bryan The SGML Centre www.sgml.u-net.com

  2. What is XML/EDI? • The use of XML for business-to-business electronic data interchange • Based on traditional EDI processes and existing semantic definitions • UN EDIFACT, ANSI X12 or domain specific • May or may not be based on existing message structures • May be based on existing message implementation guidelines

  3. On XML DTDs and Schemas • A reminder of Heikki Mannila's* point: "One of the problems of using XML as a data exchange format is that DTDs only tell you the name of the element or attribute (and possibly the names of some of the permitted values of attributes). They say nothing about the meaning of this name." * Micorsoft Corp.

  4. The possible roles of a repository • To identify existing message definitions that meet user requirements • Need to know the purpose of the message • To allow users to design new messages by making minimal modifications to existing messages • Customising or extending existing message • To allow users to design new messages using components that are associated with known processes

  5. Underlying model 2. Transaction Organization 1 Organization 2 • Establish relationship between business process and repository definitions • Identify relationship and any associated processes Repository

  6. Operations • a) Identify required business process b) Identify equivalent process in repository c) Record repository keys in DTD • a) Transmit DTD b) Transmit messages referencing the DTD • a) Use repository keys to retrieve information about relevant process b) Identify equivalent local business process

  7. Keeping the relationships simple • Only pass the reference to the repository information, not the information itself • Could be in separate file, using links* <!ELEMENT My-thing (#PCDATA)> <!ATTLIST My-thing href CDATA #FIXED 'handle://www.standards-body-x.org/ repository-y/glossary-z#id(A003459)' %Simple-XLink-Attributes;> *Does not work for link elements

  8. The overall process* *As defined in the XML/EDI Group's Repository white paper

  9. Who's repository is it anyway? • Handle server does not need to store the DTDs • Acts as standard reference method for multiple repositories • Repositories can serve multiple communities • Common API allows repositories to report information in standardized format

  10. What language must I use? • Repositories must become multilingual • Multilingual glossary definitions • Single identifier for all definitions • Object naming up to user communities • Objects can conform to multiple definitions • Multiple identifiers act as bridge between repositories • Requires use of extended links

  11. Multiple ownership • Need to allow for ownership hierarchies • UN EDIFACT • Industry-based European Expert Groups • Regional groupings • National applications • Company agreements • Naming may differ between owners • Element names need not reflect semantic names

  12. How can we handle this? • Use XML namespaces <!ATTLIST my-local-name xmlns:EDIFACT CDATA "http://www.unece.org/D99A" xmlns:Transport CDATA "http://www.EEG2.eu/IFT" EDIFACT:Segment CDATA #FIXED "FTX" Transport:DataSet CDATA #FIXED "Notes" … • Use XML links? • Simple link add-ons or extended links? • Referencing externally managed pointers to a set of relationships between semantic sets?

  13. Benefits of using a repository • Self documenting XML DTDs • Code reusability • Sharing presentation rules • XSL modules can be based on the repository link attribute rather than the local name of the element • Message elements with the same identifiers are candidates to share business processes • Can automate process of associating message subsets with processes

  14. Identifying existing DTDs • Need to interrogate metadata of DTD • Who generated it, when and why? • What types of processes is it defined for? • Can it be modified or subsetted? • Can its code lists be redefined? • What documentation is associated with it? • Need to be able to reference the source • Using public and system URLs • How will updates be managed?

  15. Existing DTD repositories • XML.org Specifications Catalog • Organization for the Advancement of Structured Information Standards (OASIS) • http://www.xml.org/xmlorg_catalog.htm • DTDs and Schemas • XML.org Recommendations • CommerceOne Common Business Language • DataChannel Portal Markup Language • Microsoft's BizTalk

  16. BizTalk • BizTalk Framework mostly concerned with routing of messages • BizTalk defined in terms of Microsoft's proprietary XML-Data schema format • Little control over who submits schemas • Categorization currently limited • Construction, Education, Finance and insurance, Information, Manufacturing, Professional/Scientific and Wholesale

  17. BizTalk schema metadata

  18. BizTalk View Schema (XML-Data)

  19. BizTalk documentation

  20. BizTalk sample

  21. Modifying existing DTDs • Have parameter entities been used to allow model customisation? • Removal of optional components • Defining new mandatory components • Have parameter lists been used for enumerated code lists? • Can you reference an external code list? • Can you subset internal code lists?

  22. Creating new DTDs • How can I determine which repository objects to use? • Classification of object purpose within repository glossary • Metadata or internal documentation? • Identifying where previously used • What can I call it? • What is the referenceable unit in the repository? • Need to be able to reference all subelements and their attributes

  23. Common Business Language • CBL 2.0 Reference Guide • http://www.marketsite.net/xml/cbl/reference.html • Limited set of messages • Purchase Order/Purchase Order Response • Order Status Request/Order Status Result • Invoice • Availability Check Request/Result • Price Check Request/Result • Cataloguing and Pricing information exchange

  24. CBL Repository

  25. CBL SOX schema

  26. What I really really want… • XML DTDs and/or XML Schemas • Elements for defining processes • Personal Identification • Family name, given name, initials, title • Exchange addresses • Name/number, street, town, region, country • Identify product requirements • Item id, item name, quantity, delivery date • Links to existing processes • APIs for local databases • APIs for process controls

  27. … and exchangeable semantics • ISO 11179 Data element specifications? • Due for updating • Standardized ontology descriptors? • Synonyms (but not antonyms and homonyms) • Hypernyms and hyponyms (broader and narrower terms) • Holonyms and meronyms (wholes and parts) • XML/EDI group's repository API?

  28. Tell me more • XML/EDI Group Repository Initiative • http://www.xmledi.org • Read their Repositories White Paper • http://www.xmledi.com/repository/xml-repWP.htm • Join their Repositories working group • http://www.xmledi.com/repository • CEN/ISSS Defining and Managing Semantics and Datatypes project group • http://www.cenorm.be/isss/Workshop/ec/projects.htm

More Related