November 26, 2003

Tips for designing a service-oriented architecture

The key is finding maximum return on software investment

The realities of project deadlines, team skills, and tight budgets mean that building a Web services SOA (service-oriented architecture) is less about choosing a technology than it is about spotting opportunities for maximum return on software investment. Here are some core design principles to help you concoct a plan that will pay off soon and, with luck, over the long haul.

Start small.To gain experience and early wins, begin by “wrapping” existing interfaces with SOAP and WSDL to achieve one-way, point-to-point integration. These first Web services should mimic current, data-centric APIs. Core, stable applications running on legacy systems or established, well-defined trading partner applications are good candidates.

Read the road map.Don't let the relative ease of implementing Web services integration obscure the architectural vision. Plan for three stages of sophistication and maturity: 1) read-only, data-centric services that mimic existing APIs; 2) two-way, transactional models that leverage emerging standards and product capabilities; and 3) asynchronous, document-centric models that reflect the business process focus of service-oriented design.

Let the business process lead.In each stage of SOA maturity, take a “business service” perspective. Design each Web service as a coarsely grained, discrete task with business process inputs and outputs before specifying data types or APIs. The SOAP interface and its WSDL descriptor should reflect this same process-centric approach, not the minutiae that many programming tools auto-generate.

Target high maintenance costs.Look for manual processes hidden in distributed functions such as field sales or customer support. Applications with high costs of integration and management are good candidates for strategic investment in service-oriented design. Target systems that require specialized skills to operate and develop, that demand dedicated hardware to function, or that need specially licensed add-ons and adapters for interoperability.

Identify your core services platform.Most companies will start with work they've already done on J2EE or Windows servers. Others may want to choose another core Web services platform. For example, SAP is slowly integrating Web services standards into its BAPI (Business API); companies that rely heavily on SAP software may wish to wrap BAPI applications in SOAP and WSDL and go with SAP's definitions of common business documents. Whatever you choose as your core platform, make sure the vendor embraces independent standards and can prove solid interoperability. Membership in the WS-I standards organization is a good sign.

Build shared infrastructure services.An SOA composed of heterogeneous systems must draw on its own special set of services to ensure everything is reliable, manageable, and secure. Web services management products help address these needs by providing functions such as version control and QoS, but other core needs such as authentication likely will be assembled from existing infrastructure such as identity management systems. Basic application utilities such as logging and data transformation are also good candidates for shared services.

Finally, remember that the perfect is the enemy of the good. In IT, too many projects ultimately fail because managers refuse to make practical compromises or harbor religious convictions about one architectural vision or another. Don’t let the evolving set of Web services standards for security or complex transactions scare you from starting work. In many ways, pragmatism defines the philosophical core of SOA. Web services standards and software solutions will continue to mature. But the goal of service-oriented computing is feasible today.

Close

On Twitter now

Architecture

Powered by Twitter

On Twitter now

White Paper

D2D Virtual Tape Library Replication Primer

This whitepaper explains the terminology and concepts behind Data Replication technologies and establishes some sizing rules through worked examples. Learn the new paradigm in disaster tolerance—protect data anywhere.

Download now »

White Paper

An Alternative to Virtualization for Datacenter Cost Savings

Server virtualization is a popular option for dealing with mounting datacenter costs. Another equally promising approach is the use of an Application Delivery Controller. Citrix NetScaler provides a low-cost way for organizations to reduce their server count and accrue cost savings from a reduction in space, cooling, power and personnel.

Download now »

White Paper

Why Your Firewall, VPN, and IEEE 802.11i Aren't Enough to Protect Your Network

The emergence of WLANs has created a new breed of security threats to enterprise networks.

Included in HP ProCurve WLAN solutions is security technology that alleviates threats from WLANs through:
* Monitoring wireless activity inside and out of the enterprise
* Classifying WLAN transmissions into harmful and harmless
* Preventing transmissions that pose a security threat to the enterprise network
* Locating participating devices for physical remediation

Download now »

White Paper

Bringing the Edge to the Data Center

Effectively address data protection challenges, implementing solutions that help store and protect business–critical data while cutting costs and improving efficiency and reliability.

Download now »

Sign up to receive Architecture Resource Alerts

Subscribe to the Today's Headlines: First Look Newsletter

Find out what will be news for the day, with our first-thing-in-the-morning briefing.

©1994-2009 Infoworld, Inc.