210 likes | 243 Views
This paper explores the formalization of eBusiness models in OWL from two perspectives: manual analysis and AMIS approach. It covers efforts such as the mapping rules from UML to OWL, ontology extraction, semantic mapping, and connector transformation. Two projects with different approaches, the B2B Testbed and AMIS, are discussed in detail. The text delves into capturing and engineering interface models of existing software/standards, specifying joint action models for integration, and generating wrappers to link interfaces. The concept of expected interactions and business entities in AMIS models and mappings is illustrated, along with the OAGIS and CIDX business models. The narrative also touches on the structure of OAGIS BODs, interoperability, and standards development.
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