The common sense SOA: Necessary components

A list of tips on how to build an effective SOA.

A service-oriented architecture is only as good as the components and design standards that make it. If you want a practical and usable SOA -- not just a bucket of services -- then you should pay attention to five aspects of SOA development, say integration experts. The following bits of advice were gleaned from Ron Schmelzer, an analyst at ZapThink; Steve Craggs, president of Saint Consulting; and Jamey Harvey, deputy CTO for the District of Columbia.

Open standards. SOAs don't have to be based on open standards, but they won't be as useful in a cross-platform environment if they aren't. Adhering to standards such Web Services Description Language (WSDL), XML and WS-Security ensures that the SOA will be adaptable to all enterprise systems.

Granularity. How you splice application functions into Web services is a key consideration. If too many single-function services are needed to execute a process, the performance slows. Likewise, a bloated service that contains the entire process becomes too specific to use in other applications. The most practical approach is to create a balanced collection of smaller, reusable services for common functions and larger ones for one-off processes.

Service contracts. WSDL is the standard specification for creating a Web services contract, or a description of things such as the format and endpoint for a service. A well-defined service contract will result in more reusable services.

Enterprise Service Bus. An ESB provides a backbone for publishing services and enabling applications to access them. It also typically has useful features such as adapters for legacy systems, services-orchestration capabilities, security authorization and authentication, data transformation, support for business rules and the ability to monitor for service-level agreements.

Other integration tools. Not all integration should be done with Web services. EAI (for integrating application transactions), EII (a sort of middleware data query engine) and ETL (for moving data into a data warehouse or database) all have their place. They can also all be linked to an ESB via Web services.

So there's no benefit to trying to turn everything into a Web service. "An SOA itself is only a tool in the belt of the enterprise architect," says Schmelzer. "It's good for dealing with change, for handling heterogeneity. But it's not good for building tightly coupled systems."

More about: VIA

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
Users posting comments agree to the Computerworld comments policy.
Login or register to link comments to your user profile, or you may also post a comment without being logged in.
Related Whitepapers
Latest Stories
Community Comments
Whitepapers
All whitepapers
Sign up now to get free exclusive access to reports, research and invitation only events.
Featured Download

Computerworld newsletter

Join the most dedicated community for IT managers, leaders and professionals in Australia