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.