"When implementing an SOA, users are typically so busy worrying about how to move information that they tend to ignore whether or not it will be understood when it gets where it's going," said Ken Rugg, vice president and general manager, DataXtend at Progress Software. "You can connect things through web services, but if your end points don't have a common understanding of what's flowing through the system, and if you don't create a data interoperability layer, then you won't have accurate communication, much less a successful SOA."
As SOA adoption continues to grow, data integration is rapidly emerging as one of the key challenges facing IT organizations. The pain stems from the fact that different systems use different terms to represent the same logical concept. Manually reconciling and validating data exchanged between internal and external systems adds greatly to the cost of business integration. As businesses transition application functionality into reusable services across the enterprise, they must find a way to reconcile the semantic differences, the differences in meaning. Creating an SOA without a data integration strategy to address these semantic challenges will limit an SOA project at best, and doom it to failure at worst.
"SOA teams that integrate services with an interlocking web of point-to-point data mappings are undermining the fundamental SOA principles of loose coupling," says David Hollander, president, Mile High XML. "Moreover, untangling this web of mappings is difficult and makes change hard. And change is the one constant that the business needs to be able to manage. Deployed effectively, a common model provides the flexibility to manage change, and the ability to leverage your SOA development and integration efforts."
The main steps required to create a data interoperability layer for an SOA are:
1. Understand how a common data model impacts projects in the SOA from the overall integration landscape.
2. Select the basis of your common model; this could be an industry standard, or a model of your own making.
3. Customize and extend the model selected in step 2 so that it meets the specific requirements of your landscape.
4. Design the data interoperability layer by integrating application services and the common model, defining how the service models relate to the common model.
5. Deploy into your service environment (SOA or ESB).
Creating a common model ensures that all the information passed between the various systems and services within the SOA is consistent. Semantic integration and data interoperability ensure that companies can govern and manage all the data flowing throughout their enterprise. This approach can significantly reduce SOA project timescales, lower development costs and avoid problems associated with poor data quality.
More guidance on how the implementation of a common model will help manage change and leverage a company's SOA development and integration efforts is outlined in "Tackling the Data Problem in SOA: Common Models in SOA-based Integration" at https://www.progress.com/progress/dataxtend/docs/wp_do_not_forget_data.pdf. A podcast is also available entitled, "Data Integration in SOA" at https://blogs.progress.com/soa_infrastructure/2008/05/data-integratio.html.
About Progress Software Corporation
Progress Software Corporation (NASDAQ: PRGS) provides application infrastructure software for the development, deployment, integration and management of business applications. Our goal is to maximize the benefits of information technology while minimizing its complexity and total cost of ownership. Progress can be reached at www.progress.com.