SAPreport

currygeckoSoftware and s/w Development

Dec 2, 2013 (3 years and 10 months ago)

57 views

Ü
mit Yal
çı
nalp

David Burdett

Gunther Stuhec

NetWeaver Platform EcoSystem Group, SAP Labs

XML Schema User
Experience Report



SAP AG

2005,XML Schema user experiences,
Ü
mit Yal
ç
inalp
/

2

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


SAP AG

2005,XML Schema user experiences,
Ü
mit Yal
ç
inalp
/

3

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 !


SAP AG

2005,XML Schema user experiences,
Ü
mit Yal
ç
inalp
/

4

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


SAP AG

2005,XML Schema user experiences,
Ü
mit Yal
ç
inalp
/

5

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




SAP AG

2005,XML Schema user experiences,
Ü
mit Yal
ç
inalp
/

6

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!


SAP AG

2005,XML Schema user experiences,
Ü
mit Yal
ç
inalp
/

7

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!