Towards a Model-Based Characterization of Data and Services Integration Paul C. Brown Principal Software Architect © 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. Context: Interacting Systems Response : System A reference 2 © 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. Request : System B service Overlapping Information Views 3 © 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. Multiple Schemas 4 © 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. Domain Model: Conceptual Abstraction Concepts, relationships, key attributes 5 © 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. Mapping Concepts to Representational Schema Concepts, relationships, key attributes 6 © 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. Concepts are not Uniform: Mapping is Required 7 © 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. Representational Mappings Derived from Concepts 8 © 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. Conceptual Mappings Derived from Abstractions 9 © 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. Information has an Inherent Network Structure 10 © 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. Communication Schemas Tend To Be Tree Structured Sales Order Status Interface Sales Order Service Interface +getOrder( request : Get Order Request ) : Get Order Response +orderShipped( notification : Order Shipped Notification ) ... ... Get Order Request Get Order Response Order Shipped Notification -orderID Sales Order -datePlaced -orderID -/status -customerID -customerName -shipTo -billTo Shipment Notice -shipmentID -dateShipped -orderID Shipment Line Item Address 1..* -itemID : SKU -quantity -orderLineID -shipmentLineID Sales Order line Item -itemID : SKU -quantity -price -/status a) getOrder() Operation 11 © 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. b) orderShipped() Operation Information Realities Canonical data model myth One size does not fit all: complete concept vs. reference Vocabularies vary Think about the multiple meanings of “attribute” “Procedure” to a physician vs. health insurance company Information evolves Medical procedure code change ICD-9 ICD-10 Versioning is important Information is replicated Consistency is an issue 12 © 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. Data-Related Model Requirements Network- and tree-structured representational schema (e.g. database schema, XSDs, JSON, record formats) Mappings between representational schema Abstracted models of concepts and relationships Independent of representational schema Mappings between the abstracted concepts and representational schema Flexible vocabulary One concept many terms One term many concepts Versions of representations and mappings Mappings whose expression requires some form of computation 13 © 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. Service Realities Many operations are not pure functions Operate on persistent state (information) managed by the service Operations are not independent Sequencing constraints, business rules Services often house cached data Cache update protocols and timing Impact on service operations Vocabulary (terminology) varies and overloaded Particularly between organizations Services evolve Versioning is important 14 © 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. Service-Related Model Requirements Representation of: Services and their interfaces Service operations and their data structures State and state instances Relationship between service operations and service state Dependencies between service operations Versions and mappings between versions Abstracted concepts related to services operations Mappings between concepts and concrete service models Flexible vocabulary Mappings whose expression requires some form of computation 15 © 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. Process (Service Utilization) Context 16 © 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. Process (Service Utilization) Realities Services may be involved in multiple processes Protocol semantics must be understood REST, SOAP, XML over JMS, HTTP, file transfer, etc. Coordination must be understood Fire and forget to distributed transactions 17 © 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. Process (Service Utilization) Model Requirements Observable behavior of the service as viewed through its interfaces Service usage scenarios Sequencing and dependency constraints between service operations Coordination of activities between components Versions of observable behavior, usage scenarios, sequencing, and coordination Mappings between versions 18 © 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. UML Can Satisfy Many Modeling Requirements UML can represent concrete things Data structure schema Services, operations, state machines UML can represent abstractions Concepts and Relationships How do we model mappings and multiple vocabularies? 19 © 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. Semantics of Business Vocabulary and Rules (SBVR) 20 © 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. Semantics of Business Vocabulary and Rules (SBVR) Abstract concepts and relationships Concrete schema and other representations 21 © 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. SBVR Can Complete the Modeling Picture SBVR can represent mappings (simple and complex) SBVR handles multiple vocabularies for concepts SBVR can be used to relate multiple UML representations 22 © 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. What We Need Uniform approach to modeling Abstract and concrete concepts and relationships • Multiple domains with relationships Bi-directional Mappings • • • • Abstract concrete models Concrete concrete models Concrete models actual schema Schema schema mappings Versioning at all levels + mappings between versions Tooling Schema Concrete model + schema-model mapping Concrete mappings schema mappings (e.g. XSLT) Abstract mappings concrete mappings UML and SBVR seem to have the required building blocks! 23 © 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary.