70 likes | 153 Views
XML Schema User Experience Report. Ü mit Yal çı nalp David Burdett Gunther Stuhec NetWeaver Platform EcoSystem Group, SAP Labs. XML Schema and SAP. SAP provides Business Applications and Business Applications Platform The backbone of SAP‘s Enterprise Services Architecture:
E N D
XML Schema User Experience Report Ümit Yalçınalp David Burdett Gunther Stuhec NetWeaver Platform EcoSystem Group, SAP Labs
XML Schema and SAP • SAP provides Business Applications and Business Applications Platform • The backbone of SAP‘s Enterprise Services Architecture: • XML and Web Services • Our usage of XML Schema is multidimensional • Data definitions for applications • Integration using Web Services • Multi-language platform • Our experience can be summarized with respect to • Usability • Implementation • Language Bindings
Usability • Development of Business Vocabularities is a Key Focus • Need guidelines and rules for building data definitions • Reduction of variability and complexity is necessary • Design decisions/approaches can not be arbitrary for authoring • Must be toolable, extensible within our platform • Predefined Vocabularies are building blocks for applications • UN/CEFACT Core Component specification • Adopted by all major vertical industries standards groups • Basis for SAP Business Applications • Has defined naming convention and feature subset = Profile of XML Schema • Profile examples: • Limits use of extension or restriction • No substitution group, redefine, xs:any • Three important aspects • Business documents extensible in dimensions to handle domain specific needs: industry, business process, product, etc. • Limits unbound occurances of choice, sequence • Includes guidelines for handling business document versioning !
Usability (cont) • Versioning is a major problem we encounter everywhere: • Namespaces • Application Specific extensions, attributes in schemas or components • Please Nail down Semantics of Versioning first: • Major versions = constitute significant and/or non-backwards compatible changes • Minor versions = used for compatible changes within a major version, monotonic • This Problem must be solved ASAP • Otherwise, versions of components and vocabularies will NOT be integrate able in the very near future
Implementation and Usability • Comments on Some Schema Features: • Redefine (IU, HTI) • Substitution Groups (IU, HTI) • Block/Blockdefault (IU) • Occurance (Choice/Sequence) (HTI) • NOTATION (IU) • Key/Field/XPath/Selector (high overhead for runtime validation ) • HTI=hard to implement, IU=infrequently used
Language Bindings • SAP has two language stacks: ABAP and Java • Two aspects of binding are considered: • XML2Language • Language2XML • Round tripping, serialization/deserialization is not uniform • In our own platform, a profile (based on Core Components) is adopted for developing building applications • WS Proxies still need to deal with XML Schema in its entirety!
Conclusion/Recommendations • Two Recommendations: • Formalize profiles of XML • Profiles are inevitable and useful • For language bindings • For vocabularies • For specific user communities • Should include: • Formal method of defining a profile • Identifying that a profile has been used in a Schema Instance • Benefit • Enables tools to be developed that are optimized to the use of that schema profile • Enables development of optimized XML schema processors for some applications • Versioning must be Addressed!