Adding Semantics to RosettaNet Specifications
description
Transcript of Adding Semantics to RosettaNet Specifications
Adding Semantics to RosettaNet Specifications
Paavo KotinurmiPaavo.Kotinurmi@{tkk.fi,deri.org}
RosettaNet•RosettaNet is a widely used XML-based standard for B2B integration. Partner Interface Processes (PIP) specifications define message semantics and sequence.
•Considerable effort is required when implementing B2B integration based on RosettaNet PIPs.
Semantic Web Services•Semantic Web Services are emerging technologies to facilitate (semi) automated discovery, selection, composition, mediation and invocation of services.
•Semantic Web Services in combination with RosettaNet can introduce more dynamics to the B2B integration process.
•Semantics can be “added” to RosettaNet specification by lifting RosettaNet PIPs to a formal ontology language (e.g. WSML).
RosettaNet and Semantic Web ServicesRosettaNet and Semantic Web Services
Paavo Kotinurmi and Tomas Vitvar
Tomas [email protected]
Benefits•Ontologies enable semi-automated semantic discovery and composition of services.
•The ontology language WSML can represent constraints not possible with DTD or XML Schema used in PIPs.
•Interoperability can be better supported by enabling flexibility between accepted definitions. Working with different standards, such as EDI, can be supported easier.
•The use of formal ontologies enables using common conversion functions to mediate some differences with logical dependencies – e.g. RosettaNet Global Product Unit Of Measure Codes “Gram” and ” Ounce” have a logical relation but this is not specified in RosettaNet specifications.
•(Semi) automated mediation of message differences can help to make the process of integrating partners quicker.
Extract of RosettaNet in WSML...
concept productIdentification
nonFunctionalProperties
dc#description hasValue ”Collection of business properties describing identifiers.”
endNonFunctionalProperties
productIdentifier ofType (1 1) string
qualificationAgency ofType (1 1) string
revision ofType (0 1) string
axiom qualificationAgencyConstraint
nonFunctionalProperties
dc#description hasValue ”The valid list of agencies who define product identifiers.”
endNonFunctionalProperties
definedBy !− ?x[qualificationAgency hasValue ?type]
and (?type = ”GTIN” or ?type = ”Manufacturer” or ?type = ”Buyer” or ?type = ”Seller” or ?type = ”EN” or ?type = ”BP”).
...
Benefits of Adding Semantics to RosettaNetBenefits of Adding Semantics to RosettaNet
Extract of RosettaNet PIP in DTD...
<!ELEMENT ProductIdentification
(GlobalProductIdentifier?,
PartnerProductIdentification*)>
<!ELEMENT GlobalProductIdentifier
(#PCDATA)>
<!ELEMENT PartnerProductIdentification
(GlobalPartnerClassificationCode,
ProprietaryProductIdentifier,
revisionIdentifier?)>
<!ELEMENT ProprietaryProductIdentifier
(#PCDATA)>
...
Message Guidelines add natural language contraint “Constraint: One instance of either "GlobalProductIdentifier" or "PartnerProductIdentification" is mandatory.”
Partner CPartner B
Organisation A
RosettaNet Message SWS
AdaptersXMLXML
Schema
RosettaNet Message
XML
Ontology
Lifting Lowering
ERPERP ERP
DTD
Extract of RosettaNet PIP in XML Schema...
<xs:element name=”ProductIdentification”
type=”ProductIdentificationType” />
<xs:complexType name=”ProductIdentificationType”>
<xs:complexContent><xs:sequence>
<xs:element name=”ProductName” type=”xs:string”
minOccurs=”0” />
<xs:element name=”Revision” type=”xs:string”
minOccurs=”0” />
<xs:choice>
<xs:element ref=”AlternativeIdentifier” maxOccurs=”unbounded” />
<xs:element ref=”GTIN” />
</xs:choice>
</xs:sequence></xs:complexContent>
</xs:complexType>
...