210 likes | 238 Views
Experiences Formalizing OAG eBusiness Models in OWL, T wo perspectives - perspective 1: manual analysis. Evan K Wallace Manufacturing Systems Integration Division. Outline. Two efforts AMIS description OAGIS description OAGIS LIM UML -> OWL mapping rules Mapping issues and examples.
E N D
Experiences Formalizing OAG eBusiness Models in OWL, Two perspectives- perspective 1: manual analysis Evan K Wallace Manufacturing Systems Integration Division
Outline • Two efforts • AMIS description • OAGIS description • OAGIS LIM • UML -> OWL mapping rules • Mapping issues and examples
Two Different projects with two approaches • B2B Testbed: • Automated Methods for Integrating Systems (AMIS): OAGIS XML Schema OWL OAGIS XML Schema UML™ OWL
Typical Integration Problem message a1 Existing Tool A Existing Tool B Integratingcode message b1 Ainter-face Binter-face message a2 message b2 message a3 message b3 message a4 required communications required system behavior improved business result Engineer with Toolkitgenerates translation Systems/SoftwareEngineering Techniques capture, trace target feature/ behavior
AMIS approach • Ontology Extraction: • Capture Local Interaction and Engineered Interface Models of existing software/standards • Specify Joint Action Model for the integration • Semantic Mapping: • Map the Joint Action Model to the Local Interaction Models of the components • Connector Transformation: • Generate Wrappers or Interceptors to link the real engineered interfaces
message a1 message a2 message a3 message a4 request message RFQ field product-name ProtocolPriceQuote Engineered Interface Model B field product-name type string-lo message Quote response field price type decimal-2 Engineered Interface Capture Existing Tool A Existing Tool B ? message b1 Ainter-face Binter-face message b2 message b3 Engineered Interface Model A Engineered Interface Model B Software model (Express, UML, WSDL, IDL) analysis techniques capture, produce standard form
message a1 message a2 message a3 message a4 Conceptual Model Capture Existing Tool A Existing Tool B ? message b1 Ainter-face Binter-face message b2 message b3 Engineered Interface Model B Engineered Interface Model A Conceptual Model B Conceptual Model A Independent documentation/model analysis, tool-specific experts capture, formalize = Expected Interactions (services provided/used) Referenced Business Entities (for the interactions) Conceptual Model B
Eng Interface Model B Eng Interface Model A Interface Protocols Interface Protocols Messages Messages Fields Fields Joint Action Model Required Joint Actions Business Entities AMIS Models and Mappings represented by represented by implemented by Local Interaction Model A implemented by Local Interaction Model B Expected Interactions Business Entities Conceptual Model A Expected Interactions Business Entities Conceptual Model B
Eng Interface Model A Eng Interface Model B OAGIS CIDX Chem eStandards Request for Quote • Order • Item • Schedule • … RFQ Quote Joint Action Model Conceptual Model Capture Local Interaction Model A Local Interaction Model B OAGIS Business Model Conceptual Model A CIDX Business Model Conceptual Model B
What is OAGIS? • Open Applications Group Integration Specification • OAGi [1] formed in late ’94 • Initially composed of primarily of ERP system vendors to enable integration among such systems [1] www.openapplications.org
Interoperability and standards • What is interoperability? • Why participate in standards development?
What were the drivers for OAGIS? • ERP vendor independence • Middleware independence • Business process independence Leading to a structure with BODs, Nouns and Verbs
Verbs Acknowledge Add Cancel Change List Load Process Receive … Nouns BillOfMaterial ElectronicCatalog Invoice Party Quote RequestForQuote Shipment ShipmentSchedule … BOD Components Resources: Components, Fields, and Enums
Verbs Acknowledge Add Cancel Change List Load Process Receive Nouns BillOfMaterial ElectronicCatalog Invoice Party Quote RequestForQuote Shipment ShipmentSchedule BOD Components Resources: Components, Fields, and Enums
OAGIS LIM components (see model slides) • Parties • Transactions • Documents • Items • Shipments • Orders • RFQ
UML Package -> owl:Ontology <<import>> -> owl:import UML Class -> owl:Class UML Attribute -> owl:DatatypeProperty or owl:ObjectProperty UML Association –> one or more object properties and class restrictions on cardinality Some Rules for mapping UML to OWL DL
Address -role -tax jurisdiction -descriptions 0..1 Postal Address -address ids -address-lines -city -county -state/province -region -country -postal code PostalAddress Class Definition <owl:Class rdf:ID="PostalAddress"> <owl:equivalentClass> <owl:Restriction> <owl:onProperty> <owl:ObjectProperty rdf:about="#partOf"/> </owl:onProperty> <owl:someValuesFrom rdf:resource="#Address"/> </owl:Restriction> </owl:equivalentClass> </owl:Class>
Address -role -tax jurisdiction -descriptions 0..1 Postal Address -address ids -address-lines -city -county -state/province -region -country -postal code Properties related to PostalAddress <owl:DatatypeProperty rdf:ID="addressIds"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="addressLines"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="cityName"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID=“countyName"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:DatatypeProperty> …
«enumeration» Contact role name Contact -primary -person name -secondary -person id -accounting -descriptions -buyer -role -deliver-to -marketing -planner -requester Institutional -sales Party Contact Class Definition <owl:Class rdf:ID="Contact"> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Restriction> <owl:onProperty> <owl:FunctionalProperty rdf:about="#personName"/> </owl:onProperty> <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" >1</owl:minCardinality> </owl:Restriction> <owl:Restriction> <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" >1</owl:cardinality> <owl:onProperty> <owl:ObjectProperty rdf:about="#role"/> </owl:onProperty> </owl:Restriction> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> 1 -role 1
«enumeration» Contact role name Contact -primary -person name -secondary -person id -accounting -descriptions -buyer -role -deliver-to -marketing -planner -requester Institutional -sales Party Contact Class Definition <owl:equivalentClass> <owl:Restriction> <owl:onProperty> <owl:ObjectProperty rdf:about="#role"/> </owl:onProperty> <owl:someValuesFrom rdf:resource="#ContactRoleName"/> </owl:Restriction> </owl:equivalentClass> <owl:equivalentClass> <owl:Restriction> <owl:onProperty> <owl:ObjectProperty rdf:about="#institution"/> </owl:onProperty> <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" >1</owl:cardinality> </owl:Restriction> </owl:equivalentClass> </owl:Class> 1 -role 1