Welcome!

SOA & WOA Authors: Peter Silva, Maureen O'Gara, Tony Bishop, Mark O'Neill, Yeshim Deniz

Related Topics: SOA & WOA

SOA & WOA: Article

Did You Know There's a "C" in SOA?

Don't Forget the Consumer in Service Oriented Architecture

Calculations
Often a data element used in one service may have a different data format than another and the values may be expressed in different units (inches versus millimeters, Fahrenheit versus Celsius, pounds versus kilograms, and so on). One service may define a value with three decimal places (e.g., 3.602) and another as a whole number (e.g., 3). Should the decimal value be rounded or truncated when converting?

The conceptual data modeling tools should be able to define such commonly used conversions as well as application-specific conversion or calculations so that they can be defined once and used where needed. This will make the conversions easier to change and improve overall system reliability.

Industry-Standard Data Models
Standard data models have been defined by many different industry-specific groups such as insurance (ACORD), healthcare (HL7), and telecommunications (SID). Most of these data models are large and complex, with 1,000 or more classes. If you can use one of these data models, it can save you considerable effort and ease conformance with your industry's standards.

To use these standards, you'll have to add them to your conceptual data model. Since they're usually large and complex, the modeling tool has to have a means to import them. Once imported, you'll also want to be able to add layers on top of the industry model without changing it. For example, since these data models are usually abstract, attribute names tend to be generic, such as a set of "ContacMediums" instead of "main telephone number" and "home telephone number." You'll want to add mappings to the names used by your own data and applications.

The Metadata Repository
The metadata (the mappings, transformation rules, data format conversions, validation rules, and all the other things we've discussed already) have to be stored somewhere where they can be easily used and where the tools can get and save their artifacts. This is the role of the metadata repository. The repository isn't a big shoebox that you can just throw all the metadata and related artifacts into. It should give you a way to organize and keep track of everything.

When you use repository-based modeling tools, besides easier implementation, ongoing maintenance costs will be lower and you can achieve the following benefits:

  • Automated impact analysis - As you plan changes to your SOA, the tools can provide reports about the interdependencies between services and consumers and the impact of any proposed changes.
  • Reusable components - When all the data definitions, transformations, validation rules, conversion formats, and the generated code are stored in the repository, you'll be able to find and reuse elements that have already been developed.
  • Correctness - By using the elements defined in the repository where they're needed, overall system and application correctness, consistency, and reliability will be enhanced. You have the assurance that a change can be propagated to all the places it needs to go. Your SOA will have fewer bugs.
Conclusion
Take care of the needs of your service consumers to be sure you can achieve the SOA benefits of simpler and faster application and data integration, agility, and the ability to respond to the needs of your business more effectively. Modeling tools, a common conceptual data model, and a metadata repository will promote reuse, reduce errors, and control the effects of change. Then you can bask in the glorious sunshine of your SOA.

References

  • "Semantic Interoperability of Web Services - Challenges and Experiences" lsdis.cs.uga.edu/library/download/techRep2-15-06.pdf.
  • Jim Gabriel. "Best Practices in Integrating Data Models for SOA." Web Services Journal, Vol. 5, Issue 2, February 2005. www.sys-con.com/story/?storyid=48031.
  • "Scaling SOA Through EAI Enhancement and Use of Model-based Standards" Pantero Corporation White Paper www.pantero.com/Downloads/Details.asp?DownloadID=15&DownloadTypeID=2.
  • XSL Transformations (XSLT) Version 1.0. World Wide Web Consortium Recommendation. www.w3.org/TR/xslt
  • Stylus Studio XSLT Editor. www.stylusstudio.com/xslt_editor.html.
  • More Stories By Gus Bjorklund

    Gus Bjorklund is vice president of technology for Progress Software Corporation and works with technical and business leaders across the company's product units to clarify technical strategies, identify technical synergies, evaluate new technology directions, and coordinate cross-unit technology efforts, particularly in the area of data management. Gus joined Progress in 1989 and has over 30 years of experience in domain-specific programming languages, data communications, industrial automation, real-time control, manufacturing quality control, operating systems, and financial systems.

    Comments (0)

    Share your thoughts on this story.

    Add your comment
    You must be signed in to add a comment. Sign-in | Register

    In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.