soa pattern: data model transformation

23
Last Updated: Jan. 2014 Associate Technical Lead – Technical Sales Dakshitha Ratnayake SOA Pattern: Data Model Transformation

Upload: wso2

Post on 16-Nov-2014

510 views

Category:

Technology


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: SOA Pattern: Data Model Transformation

Last Updated: Jan. 2014

Associate Technical Lead – Technical Sales

Dakshitha Ratnayake

SOA Pattern: Data Model

Transformation

Page 2: SOA Pattern: Data Model Transformation

2

About the Presenter

๏ Dakshitha is an Associate Technical Lead in the Solutions Architecture/Technical Sales team.

๏ She has hands on experience in Java/J2EE technologies and has worked on designing and implementing software solutions in the fields of health-care information systems and content management systems for telecommunications providers prior to her employment at WSO2. Prior to joining the Solutions Architecture/Technical Sales team she worked with the WSO2 Developer Studio team.

Page 3: SOA Pattern: Data Model Transformation

3

About WSO2๏ Global enterprise, founded

in 2005 by acknowledged leaders in XML, web services technologies, standards and open source

๏ Provides only open source platform-as-a-service for private, public and hybrid cloud deployments

๏ All WSO2 products are 100% open source and released under the Apache License Version 2.0.

๏ Is an Active Member of OASIS, Cloud Security Alliance, OSGi Alliance, AMQP Working Group, OpenID Foundation and W3C.

๏ Driven by Innovation

๏ Launched first open source API Management solution in 2012

๏ Launched App Factory in 2Q 2013

๏ Launched Enterprise Store and first open source Mobile solution in 4Q 2013

Page 4: SOA Pattern: Data Model Transformation

4

What WSO2 delivers

Page 5: SOA Pattern: Data Model Transformation

5

Business Model

Page 6: SOA Pattern: Data Model Transformation

The Integration Problem๏ As organizations move forward with their SOA

implementation, they find themselves grappling with significant problems of data integration among a wide variety of data sources.

๏ The mismatch between the data representation that one application provides and the data representation that another application expects forms the core of this long-lived problem.

๏ This data integration problem is particularly troublesome for SOA implementations because it limits the loose coupling between service providers and consumers.

Page 7: SOA Pattern: Data Model Transformation

Integration Needs๏ Standard Integration

๏ Entity Aggregation / Canonicalization

๏ Standards Compliance

Page 8: SOA Pattern: Data Model Transformation

A Narrowed Down Problem๏ How can services interact with programs that

communicate with different data formats?

๏ Services may use incompatible schemas to represent the same data, hindering service interaction and composition.

๏ Even when organizations use metadata standards such as XML to format messages, the schema of one Service might not match the schema of another, and fields with the same meaning might use differing tags.

Page 9: SOA Pattern: Data Model Transformation

The Straight-Forward Approach๏ When an application or service must transform data

from one format to another in order to achieve some desired data integration goal, the most common and straightforward approach is to embed data transformation logic directly within the application.

Page 10: SOA Pattern: Data Model Transformation

Disadvantages of Using Embedded Transformation๏ Other applications or Services have no practical way of

reusing the embedded transformations.

๏ It's impossible to offload the CPU overhead that the embedded data transformations cause.

๏ The transformation logic is tightly coupled to the business logic within the application, reducing the flexibility and reusability of the applications.

๏ The transformation logic is handled programmatically vs. declaratively through metadata, further impeding the flexibility of the application.

Page 11: SOA Pattern: Data Model Transformation

A Better Approach๏ An alternative to embedding transformation logic within an

application is to use an external transformation service to handle the task.

๏ A transformation service, loosely-coupled in a SOA implementation, accepts incoming data in one format, and outputs data with the same semantic meaning in another format.

๏ The use of data transformation services improves loose coupling by separating the concerns of service providers and consumers.

Page 12: SOA Pattern: Data Model Transformation

Solution for ‘same format different schema’ problem ๏ A data transformation technology can be incorporated

to convert data between disparate schema structures.

๏ Mapping logic needs to be developed and deployed so that data compliant to one data model can be dynamically converted to comply to a different data model.

Page 13: SOA Pattern: Data Model Transformation

Solution Pattern: Data Model Transformation

๏ The requirements statement for Data Model Transformation is:

How can services interoperate when using different data models for the same type of data?

Page 14: SOA Pattern: Data Model Transformation

Reference Architecture: Standard Integration with XSLT transformation

Service 2Service 2

Service 1Service 1

Data Model Transformation

Data Model Transformation

Schema1.xsdSchema1.xsd

Schema2.xsdSchema2.xsd

Schema1.xsdSchema1.xsd

Schema2.xsdSchema2.xsd

Transform.xslTransform.xsl

Page 15: SOA Pattern: Data Model Transformation

WSO2 Solution Architecture: Standard Integration

Service 2Service 2

Service 1Service 1 Schema1.xsdSchema1.xsd

Schema2.xsdSchema2.xsd

Schema1.xsdSchema1.xsd

Schema2.xsdSchema2.xsd

Transform.xslTransform.xsl

Page 16: SOA Pattern: Data Model Transformation

WSO2 Offerings

The WSO2 ESB supports transformations using the following transformation mediators:

WSO2 Data Services Server supports transformation using XSLT Transformation, where the user can define the transformation in XSLT.

Page 17: SOA Pattern: Data Model Transformation

Entity Aggregation

๏ There are essentially three reasons for the aggregation of entities in different systems:

๏ Single View of Entity—Having a single view of all common entities spread across enterprise systems.

๏ Horizontal Partitions—There are situations where entity information is distributed across many different services, based on factors such as geographical boundaries.

๏ Cross-Join scenarios—These situations require cross-join among entities present in different services.

Page 18: SOA Pattern: Data Model Transformation

Reference Architecture: Entity Aggregation

ERP Service ERP Service

Data Model Transformation

(Entity Aggregation)

Data Model Transformation

(Entity Aggregation)

CustomerERPCustID

LNameFnameOrgID

CustomerERPCustID

LNameFnameOrgID

Transform.xslTransform.xsl

CustomerAPICustomerAPI

CRM Service CRM Service

CustomerCRMCustID

LNameFname

AddressTel

OrgID

CustomerCRMCustID

LNameFname

AddressTel

OrgID

CustomerERPCustID

LNameFnameOrgID

AddressTel

CustomerERPCustID

LNameFnameOrgID

AddressTel

Page 19: SOA Pattern: Data Model Transformation

WSO2 Solution Architecture: Entity Aggregation

ERP Service ERP ServiceCustomerERPCustID

LNameFnameOrgID

CustomerERPCustID

LNameFnameOrgID

Transform.xslTransform.xsl

CustomerAPICustomerAPI

CRM Service CRM Service

CustomerCRMCustID

LNameFname

AddressTel

OrgID

CustomerCRMCustID

LNameFname

AddressTel

OrgID

CustomerERPCustID

LNameFnameOrgID

AddressTel

CustomerERPCustID

LNameFnameOrgID

AddressTel

Page 20: SOA Pattern: Data Model Transformation

Standards Compliance

๏ Adherence to standards insures, to some degree, the loose coupling and composition of services and data exchange mechanisms with a guarantee that the data exchanged with an individual service will be universally comprehensible.

๏ E.g. – HL7, other domain-specific formats

Page 21: SOA Pattern: Data Model Transformation

Demo

ERP Service ERP ServiceCustomerERPCustID

LNameFnameOrgID

CustomerERPCustID

LNameFnameOrgID

CustomerAPICustomerAPI

CRM Service CRM Service

CustomerCRMCustID

LNameFname

AddressTel

OrgID

CustomerCRMCustID

LNameFname

AddressTel

OrgID

CustomerERPCustID

LNameFnameOrgID

AddressTel

CustomerERPCustID

LNameFnameOrgID

AddressTel

Page 22: SOA Pattern: Data Model Transformation

Resources

๏ http://searchsoa.techtarget.com/tip/The-role-of-transformation-services-in-SOA

๏ http://soa.dzone.com/articles/soa-pattern-week-6-canonical

๏ http://www.asprom.com/note/wp20.pdf

๏ http://www.ibm.com/developerworks/data/library/techarticle/dm-0803sauter/

๏ http://msdn.microsoft.com/en-us/library/ms954596.aspx

Page 23: SOA Pattern: Data Model Transformation

Contact us !