February 25, 2021
Hot Topics:

Integrating Model-Driven Development into the SOA Process

  • By Scott McKorkle
  • Send Email »
  • More Articles »

Working Together

The enterprise approach cultivates an agile environment in which business and IT efficiently collaborate and communicate with each other and between themselves. IT can look beyond business models and technologies to see how their efforts help deliver cost-effective solutions that satisfy numerous stakeholders. Likewise, business teams can ensure that their planning is based on achievable goals and cost-effective approaches. Deployable solutions must be evaluated to see how they contribute to strategic business objectives.

Modeling the SOA provides business and IT with an all-inclusive design model and common workflow for communicating requirements in a way that both groups can understand. Members of the IT and business teams describe, analyze, and share their strategies, focusing on their specialized domains. They can see how their contributions directly impact the design's "big picture." The net effect is that this approach enhances communication and collaboration while providing the most efficient and effective ways to implement solutions that support organizational goals and objectives.

Earlier, you learned about the concept of business services and their underlying technical services. As the hand-off from business planners to IT occurs, it is important that the link between the descriptive business services and the technology-driven technical services remains intact. IT should build a working application that not only fulfills the needs of the business model, but does so in a practical manner. Likewise, if IT finds that portions of the business approach cannot be technically (or financially) achieved, it should communicate this back to the business along with alternative solutions.

Visualize the Application

A model-based SOA methodology employs industry-standard methods and languages to visually specify and manage the composite applications or the technical services that comprise the SOA approach. These languages also help IT map technical services back to the orchestrated business services defined by the business. Modeling allows application architects and developers to work at a higher level of abstraction while applying quality assurance techniques through graphical analysis and automated checking. The higher level of abstraction hides irrelevant details and allows users to easily view the intended functionality; they can focus on the solution without concern for implementation details. Teams can even simulate the design, including functionality and behavior, analyze options, and verify compliance with requirements.

The model also assures quality and lowers costs through continuous self-analysis. Error checking and consistency testing are performed automatically at each stage of development. Errors are found as they are introduced, rather than downstream when they can disrupt application execution and are expensive to find and fix.

The application model maximizes the efficiency of distributed, network-based applications by presenting a unified view of the components, their interfaces, and the full set of interactions. Developers can take the business services model and add detail to transform it into an implementation model consisting of networked technical services. Existing software can be incorporated for reuse, by either recapturing its architecture through reverse-engineering or creating SOA "wrappers" that allow the software to act as a technical service complete with a model-generated WSDL interface.

Perhaps most importantly, the model-based approach enables developers to simulate and test proposed changes to previously deployed applications before launching updates, saving users from costly downtime and exposure to untested application updates. Simulation empowers decision-making at a design level, even setting the basis for difficult make/buy decisions for component services. In some cases, the design model will have the ability to call and invoke actual Web services as part of the larger simulation, allowing the development team to mock-up a complete application without the need for a formal application engine.

As the composite applications are finalized, the development teams can check the model for application completeness. The results of their analysis can form the basis for the specification and design of any missing services. Teams can use the model to decide whether the missing services should be acquired from an outside source or built in-house through additional detailing of the model, which would then serve as the software design model for the new service. This streamlines the development lifecycle by improving information available for smarter decision-making.

Improving Organizational Agility

Through a combination of technologies and best practices, SOA unifies agile business practices with progressive, networked multi-processing techniques. Harnessing these capabilities for the benefit of the enterprise requires new levels of analysis and organization to mitigate the additional complexity and potential confusion of managing the new services.

A model-based approach to SOA provides an enterprise-wide model that can be viewed and accessed by all levels of the organization. Business planners and IT developers then can work together to ensure that deployed application software directly relates to the organization's business plans and goals. The application of structured modeling to SOA also helps improve agility, giving an organization an edge by lowering development costs and increasing responsiveness to business challenges.

About the Author

Scott McKorkle has worked in the applied real-time and information computing industry for more than 25 years. His current focus is on model-driven development of enterprise systems and software at Telelogic, An IBM Company. He has a bachelor's degree in Computer Science from the University of Illinois.

Page 2 of 2

This article was originally published on July 31, 2008

Enterprise Development Update

Don't miss an article. Subscribe to our newsletter below.

Thanks for your registration, follow us on our social networks to keep up-to-date