_common_model_in_soa_wp
_common_model_in_soa_wp
® ®
Progress DataXtend
® ® PROGRESS PERSPECTIVE
Progress ObjectStore
® ®
Progress OpenEdge
> common
® ®
Progress Orbacus
® ™
Progress Orbix
® ®
models
Progress Savvion
® ™
Progress Sonic
® ®
in soa
Tackling the data integration problem
Dave Hollander
Mile High XML
www.progress.com
BUSINESS MAKING PROGRESS ™
Table of Contents
The Role of a Common Model: Simplifying the Integration Landscape . 4
Developing a Common Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Development Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Getting Started: Selecting the Basis for a Common Model . . . . . . . . . . . . . 11
Customizing the Common Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Integration Projects Using the Common Model . . . . . . . . . . . . . . . . . . . . . . . . .18
Importing Service Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
Mapping Service Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
www.progress.com
1
1 Babcock, Charles “The SOA Gamble: One in Three Companies Are Disappointed, Our Survey Finds,” Information Week, 8 Sept 2007.
http://www.informationweek.com/news/software/soa/showArticle.jhtml?articleID=201804546
www.progress.com
2
access the service. While service orientation does not require the use of Web “The complexity that
service standards, over the past several years Web service standards including threatens many teams’
XML, XML Schema2 , and Web Services Description Language3 (WSDL) have success with SOA
increasingly been used as the format for service interface metadata. stems from reconciling
the differences in the
While the WSDL and XML Schema standards clearly define service
schemas used in service
interfaces documents, operations and endpoints, they do not describe
interface definitions and
everything needed to integrate services. They do not define how to move
their implied semantics.”
the documents between services, how to track the documents, or even how
to interpret the documents. To illustrate the remaining needs, consider two
different services for ordering machine parts. The first service accepts a
simple message with just the part identification number. The second uses a
more complicated message with a part description, physical characteristics
such as shape, size and weight. Both conform to SOA principles and Web
service metadata standards, but are not interoperable. To use these services
in an application you will also need to understand the part identification and
descriptions, if the acknowledgement indicates success or failure, and how to
reliably exchange messages with the service.
Figure 1:
Two Machine Part Requests with
Different Parts
2 Henry S. Thompson et. al. “XML Schema Part 1: Structures, Second Edition; W3C Recommendation” 28 October 2004
http://www.w3.org/TR/xmlschema-1/
3 Roberto Chinnici et al. “Web Services Description Language (WSDL) 2.0; W3C Recommendation” 26 June 2007
http://www.w3.org/TR/wsdl20/
www.progress.com
3
www.progress.com
4
This informal model is what developers must use when they use simple
mapping tools as provided with many ESB systems. They must understand
the intent of all of the fields in the interfaces and explicitly map each field
to all the other fields in all the other interfaces. While this process may be
acceptable in small projects, the complexity quickly grows as the scope of the
SOA grows.
www.progress.com
5
www.progress.com
6
COMPOSITE
APPLICATIONS
Figure 3:
Point-to-point Metadata Landscape
STANDARD SCHEMA
DATA INTEGRITY
RULES
MAPPING
MAPPING
MAPPING
APPLICATION
SCHEMA DATA
INTEGRITY
RULES
www.progress.com
7
Figure 4:
COMMON MODEL Metadata Landscape with a
DATA INTEGRITY
COMMON RULES Common Model
SCHEMA CHANGE RECORD
MAPPING MAPPING
STANDARD
SCHEMA
www.progress.com
8
Development Requirements
To meet enterprise requirements, the process will need to be able
to be executed across multiple concurrent projects in parallel. The process
will have to have good impact analysis and reporting capabilities in order to
understand and manage interdependencies between models and projects.
Figure 5:
Integration Development Model
MANAGE CHANGE
www.progress.com
9
Any computer language can be used for transforms, but in today’s evaluating mapping
SOA the W3C XSLT and Java are the most common. In spite of the widely solutions, especially
held belief that XSLT is more “standard” than Java, the reality is that XSLT those that are bundled
was designed for stylesheets and requires extensions to be effective in with middleware or
data transforms. These extensions and the complexity of writing XSLT code service bus software
www.progress.com
10
DESIGN
Figure 6.
TRANSFORM TO DEPLOY
TRANSFORM
Two Transform, Common
COMMON
FORMAT Format Deployment
DESIGN
TRANSFORM DEPLOY
FROM COMMON TRANSFORM
FORMAT
DESIGN TIME
RUNTIME
PORTAL CRM
the size of this common message grows and grows, becoming unwieldy to
use and difficult to understand. As an alternative, some teams respond to
new requirements by creating new versions of the common format, and these
versions proliferate creating even more complexity.
www.progress.com
11
Figure 7.
DESIGN
TRANSFORM Compiled Transform Deployment
FROM PORTAL TO
COMMON MODEL
COMPILE
TRANSFORM
DESIGN
TRANSFORM
FROM CRM TO
COMMON MODEL
DESIGN TIME
RUNTIME
PORTAL CRM
for the SOA landscape, where the request/reply exchange pattern is common.
In request/reply data from one service is passed directly to the service that
requested the data. Service reuse and scale are achieved by having multiple
services directly request and transform the data they need.
Getting Started:
Selecting the Basis for a Common Model
MANAGE CHANGE
www.progress.com
12
this is done, the project-level tasks of importing service models and mapping
them to the common model can proceed in parallel. However, even selecting
a standard as the starting point for a common model can be complicated and
contentious. For example, should teams select the industry-standard model6
that best reflects their business process or should they use their current
vendors’ “standard” implementation, which might be more compatible with
their current applications, technologies, and architecture?
6 For more information see: Gilpin, Mike “Canonical Information Modeling Is Key To Many Information-As-A-Service and SOA
Strategies” Forrester Research, 15 Nov 2007.
www.progress.com
13
These criteria can not only help you choose an initial schema, they
can also help you scope your common model development efforts. A selection
that fits well with all criteria will require minimal customization. But, far more
common will be a selection with compromises. Fortunately, with the right
tools, any standards-based common model can be enriched or augmented
to meet your enterprise standards and interoperability requirements. This
extended common model, placed in the heart of your exchange model, can be
used to tie together one or more standards. This means each group can make
choices that fit best with their operating model without having to sacrifice
applications and services data interoperability on the enterprise level.
www.progress.com
14
MANAGE CHANGE
Default values allow you to define what value to use for a data field
when that field is not contained in the actual XML data.
www.progress.com
15
Constraints are rules that limit the value domain of the data field or
group. The models in your landscape will want to leverage all the constraints
defined in the schema metadata and to add additional constraints that are
specific to your data and system requirements. These constraints make the
“service contract” nature of an interface clearer about what data is required
to conform to the specification. Formalized constraints allow you to automate
validating the data against the model to detect errors. A data file that
conforms to the set of constraints defined in a schema is said to be “valid
against that schema.”
www.progress.com
16
the standard as another service to describe how to handle data that is now
considered invalid. “To improve
interoperability and the
In XML Schema, constraints can be placed on simple data elements ability to detect data
(fields) using datatypes and facets. Constraints can also be placed on complex that does not conform
types (groups) using structure declarations and occurrence values. Like XML to your requirements,
Schemas, constraints can be placed on attributes (fields) and classes (groups) your models should
in UML models. In this paper, XML Schema constraints will be illustrated. make all elements used
However, the format of your common model and the tools you use to and expected by your
implement it may handle constraints differently. applications required.”
www.progress.com
17
www.progress.com
18
MANAGE CHANGE
tools and a simple XML Schema editor, such a process is time consuming
and error prone. Full interface schemas typically have hundreds or thousands
of unique datatypes, each of which will contain dozens of data elements for
which the order, spelling and capitalization must all be faithfully reproduced.
The only realistic and scaleable solution is to use a tool to convert the import
formats, understand the file structures being used, and normalize the style
and structures to a common form.
www.progress.com
19
>> The import process must be able to use the specific metadata format
used by standards, application adapters, and service interfaces,
which can include XML Schemas, XML DTDs, Web Service WSDL
files, and UML XMI files.
>> The process must be able to collect all of the various files included or
imported into the schema and represent them as a single model.
>> The process must be able to rationalize the various styles found in the
metadata.
Once the metadata is imported and rationalized, its fields and groups
are be mapped to the common model. Data conversion rules are added to
the mappings if needed to define how to convert data from one datatype to
another. These mappings identify which data in the service format relates to
which data in the target format by defining field-to-field and group-to-group
relationships.
While there are many mapping tools on the market, the importance
of mapping to this approach makes features such as ease of use, group-level
mappings, embedded interactive testing, and the ability to manage test data
www.progress.com
20
Deployment
After the mapping process, the transforms needed for production are
created as a result of the deployment process. In this phase we test, compile,
and then package for the target service environment. Finally, the transforms
are inserted at the appropriate place in the business process flow.
Maintenance
Change is inevitable throughout the integration landscape. Services,
applications, standards, and even the integration systems all evolve.
This change is driven by threats or opportunities in the market that the
enterprise must respond to. The common model approach to SOA helps give
IT the agility to execute on their new strategies and tactics by refactoring
process, applications, infrastructure, and data. It helps create a flexible IT
infrastructure that can change rapidly, at a low cost, with a low impact to the
SOA landscape.
www.progress.com
21
“Effective, affordable
MANAGE CHANGE
and responsive
maintenance processes
are a significant benefit
of the common model
SELECT CUSTOMIZE INTEGRATE DEPLOY approach.”
The common model and surrounding exchange model provide all the
details needed to understand and analyze the impact of change. The data about
the magnitude of the work can drive governance processes, budgets, timelines,
and even cost-benefit discussions—after all, not all change is good especially
MANAGE CHANGE
in light of other competing initiatives for time, money and resources. The
governance team can focus on how to manage the change rather than consume
time and money on the invasive tasks of discovery and research.
With data at hand that details the impact of changes, issues are
identified and development activity assigned. The development activity
www.progress.com
22
>> A unified metadata format for all services to enable more complete
analysis and minimize developer availability and training issues
>> Reports to understand and review new schemas and models to be
added to the landscape
>> Difference analysis that highlights changes to schemas
>> Impact analysis to understand the interrelationships between the
various source models and their maps between the models
>> Change management tools that allow analysts to accept/reject
changes to the models in much the same way as editors use “Track
Changes” in Microsoft Word
®
Conclusion
Mainframes, client-server and now SOA continue a trend in computer
architecture: over time systems are being designed with smaller, more
modular components. Service orientation creates systems by integrating
large numbers of services defined by their interface metadata. Successfully
deployed service-oriented architecture integrates services into affordable
networked applications that are modular, flexible, and robust.
www.progress.com
23
Author’s Bio
Dave Hollander has been teaching computers how to help humans
communicate for over 20 years. He is a technology strategist and architect
who has been on the leading edge of many key information technologies.
Dave’s career has concentrated on information management, blending new
standards and technologies with corporate opportunities and needs.
Since its inception Dave has had a leading role in the development
of XML. He is a co-inventor, member of the first XML Working Group, co-
chaired the XML Schemas Working Group, and co-chaired in the Web
Services Architecture Working Group. Dave co-authored the W3C Standard
“Namespaces in XML,” co-authored a book entitled XML Applications
published by Wrox Press, and was technical editor for XML Schemas from
Morgan-Kauffmann. Dave has also contributed to a variety of eCommerce
standards: MISMO, OAGI, RosettaNet, OBI, and the ECO Framework.
www.progress.com
Progress Sof t ware
Progress Software Corporation (NASDAQ: PRGS) is a global software company that enables enterprises to be operationally responsive to changing
conditions and customer interactions as they occur. Our goal is to enable our customers to capitalize on new opportunities, drive greater efficiencies, and
reduce risk. Progress offers a comprehensive portfolio of best-in-class infrastructure software spanning event-driven visibility and real-time response,
open integration, data access and integration, and application development and management—all supporting on-premises and SaaS/cloud deployments.
Progress maximizes the benefits of operational responsiveness while minimizing IT complexity and total cost of ownership.
Worldwide Headquarters
Progress Software Corporation, 14 Oak Park, Bedford, MA 01730 USA
Tel: +1 781 280-4000 Fax: +1 781 280-4095 On the Web at: www.progress.com
For regional international office locations and contact information, please refer to the Web page below:
www.progress.com/worldwide
Progress, DataXtend, and Business Making Progress are trademarks or registered trademarks of Progress Software Corporation or one of its affiliates or subsidiaries in the U.S. and other
countries. Any other marks contained herein may be trademarks of their respective owners. Specifications subject to change without notice.
© 2009, 2010-2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Rev. 08/11 | 6525-128405
www.progress.com
BUSINESS MAKING PROGRESS ™