Comments
Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud. We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Cloud Computing
Conference & Expo
November 2-4, 2009 NYC
Register Today and SAVE !..

2008 West
DIAMOND SPONSOR:
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
GOLD SPONSORS:
Appsense
User Environment Management – The Third Layer of the Desktop
Cordys
Cloud Computing for Business Agility
EMC
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Intel
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Sensedia
Return on Assests: Bringing Visibility to your SOA Strategy
Symantec
Managing Hybrid Endpoint Environments
VMWare
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
PLATINUM SPONSORS:
Appcelerator
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
GOLD SPONSORS:
ICEsoft
How Can AJAX Improve Homeland Security?
Isomorphic
Beyond Widgets: What a RIA Platform Should Offer
Oracle
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
In many cases, the end of the year gives you time to step back and take stock of the last 12 months. This is when many of us take a hard look at what worked and what did not, complete performance reviews, and formulate plans for the coming year. For me, it is all of those things plus a time when I u...
SYS-CON.TV
Beware of Shortcuts on the Road to a Service-Oriented Architecture
How to achieve effective SOA implementation

The concept of a Service Oriented Architecture (SOA) existed long before the current set of Web Services standards. However, it's the widespread adoption of these standards that has enabled the idea of SOA to enter the mainstream and to start delivering the level of connectivity and savings it has promised for so long. Now that SOA has hit the mainstream, some are attempting to show how SOA can be successfully implemented using pre-Web Services technologies. This article will show why these approaches fail to fulfil all aspects of SOA and become exercises in rediscovering why SOA depends on Web Services technology.

Before looking at some of the shortcuts that people take, let's start with a quick recap of the core principals of SOA. SOA is an approach to software development that is most commonly used where a number of distributed systems have to be connected. SOA emphasizes the use of standards to achieve interoperability and the reuse of existing assets. One aspect of SOA that is often overlooked is the use of a standardized protocol that provides a message envelope to enable the processing of messages by intermediaries. Of course, at the heart of SOA is the concept of the service, which should perform a specific task and be self-contained. It should be invoked remotely, have a well-defined interface, and be loosely coupled.

The As-You-Were Approach
The adoption of a new architecture requires some due diligence, part of which must be a comparison of it with existing practices and architectures. At this point, finding elements of SOA already in use is good news for everyone. However, this doesn't mean that no change is required and that the existing system just needs to be described in SOA terminology.

Consider what might be uncovered in an organization during an analysis prior to introducing SOA. Most large organizations have an existing queue-based transport infrastructure (if not several of them) that is typically used to support a variety of point-to-point integrations between applications. The good news is that these systems exhibit many of the characteristics of loosely coupled services: they perform specific tasks, exchange messages asynchronously, and can be accessed remotely via message queues. Most message formats are text-based. However, they've been documented as part of the design process.

It might appear that there's little left to do to roll out a SOA in an organization - perhaps all that's needed is to standardize a few design practices, such as getting people to think about the kinds of tasks these systems perform. Sections of the design documents can be published in a new document repository so that the message formats can be made public. Finally, organizations can standardize on the use of a single middleware vendor to provide the queue-based transport. They may have cut a few corners in using Web Services standards, but most of the SOA principles are covered.

The problem with this approach is that while the owners of the existing systems feel good about their architecture, the tasks required in enabling a new application to act as a client of such a service haven't changed. The client developers must start with reference documents and write code that constructs the appropriate message formats. This code might already exist in the service, but sharing it exposes the service implementers to all the issues associated with software distribution. It also assumes that the clients are implemented in the same programming language. The client applications have to make use of the messaging transport from the same vendor as chosen by the service implementers. Even if it were logical to standardize on a single vendor across the entire organization, this kind of vendor lock-in isn't necessarily a good thing.

The Too-Clever-by-Half Approach
Another approach is the demo that seeks to show how a SOA can be constructed using nothing more than the basic features provided by a programming language. For example, a Java application is developed that discovers all its components using JNDI. Each component implements an identical interface that provides methods that pass a java.util.HashMap as a parameter. This "loosely coupled" interface enables new data to be passed across APIs without recompiling.

Again, a number of SOA principals have been applied in this approach. However, it demonstrates the development of a new application in a single environment. These may be useful programming practices, but they're not solving integration problems, and they're limited to the microcosm of a single application.

Doing It Right
Each of these approaches set out to follow SOA principles, but fell short. The result is an architecture that is limited to a particular environment. In some cases, these limitations can be justified by specifying the limited set of circumstances in which the applications will be reused. However, if there's one thing that can be said without doubt, it's that over time, applications will be reused in ways that the original designer never imagined. Fundamentally, these approaches fail because they simply improve on, rather than replace, existing practices when it comes to solving integration. The result is a failure to deliver on projected cost reductions.

Where two distinct systems have to be connected, work must be done to solve the integration issues. A key issue is the question of where this work is done. The first example represents an exercise in tidying up an existing system and exposing it as is to clients. This pushes the integration work onto the client side. As a result, cost is encountered every time the system is to be reused. In an environment in which services are to be reused, any cost expended on the server side will be incurred only once. Doing it right requires the use of Web Services standards. The cost of solving integration issues is done on the server side when exposing the existing system as a well-designed Web Service. This will be recouped every time a new client reuses the service.

The most important Web Services standards are shown in Figure 1. There are a few ways in which these standards change integration practices and deliver on cost reduction.

The messaging-related standards are shown in blue. While Web Services messaging can operate on top of existing messaging infrastructure, it also represents a compelling alternative to proprietary messaging solutions at key points in an organization. These messaging protocols have been designed to work over the Internet to avoid having to choose one messaging solution for inside an organization and another outside. The work of the WS-I ensures that implementations of these standards are interoperable. Using these standards doesn't tie consumers of these services down to a single vendor. In fact, in large organizations there's growing acceptance that selecting a single vendor across the entire organization isn't possible. Even if it were, acquisitions would make such a practice an ongoing cost in terms of migrating the systems of the acquired companies.

The interfaces to services are described using WSDL and XML Schema. This provides an unambiguous description of the message formats. Tools support is provided for creating, validating, and parsing such messages, eliminating the need for developers of client applications to write code to construct the messages. It also eliminates the temptation for developers of the service to distribute sample client code, thus enabling them to avoid the support costs associated with software distribution.

WS-Policy provides a framework in which the Quality of Service (QoS) aspects of a service can be expressed declaratively. In particular, reliable messaging and security can be expressed this way. This turns what may have previously been development tasks into configuration tasks.

The Benefits of a True SOA
Using these standards ensures that integration issues are addressed once by the creators of the service, thus radically reducing the cost of reusing the services. It also makes the fewest assumptions about how the services will be reused. This enables the use of technologies such as BPEL to model business processes through the reuse of services. This is where SOA can deliver the greatest flexibility.

SOA advocates the reuse of existing assets to create new services. Figure 2 illustrates how to build on the benefits of reuse. The first tier of Web Services will solve many of the integration issues and provide a basis for adding value. However, they may still reflect some of the structure or function of the IT infrastructure rather than the business need. From these infrastructure services, new business services can be created that reflect the services performed by the business. It's these services that should be exposed for reuse by an organization. The interfaces and function of these services remain stable over time, because they reflect the core business functionality. For example, a bank has customers and provides them with accounts. In the history of banking the concept of accounts and the movement of money between them has changed very little, while the underlying infrastructure that supports it has changed radically.

Once created, this appropriate set of business services can be combined with each other and with new services to model business processes. This is where agility is of the greatest value. In the banking example the business service that provides a customer with a loan can be used in the bank by tellers or from a call center to provide telephone banking. Through orchestration, it can also now be used within a greater process that uses information about the purpose of the loan to sell car or holiday insurance to customers.

So Why Do They Do It?
There are a number of factors that motivate people to create something that is less that a true SOA. The as-you-were approach isolates the owners of the existing systems from exposure to new technology. It may also appear to cause them less upfront work during the integration phase of a project, as more work is pushed onto the client side (Figure 3).

However, in many cases the motivation is the perceived difficulty of supporting all the principles of SOA. This is the result of a failure to select the appropriate products to support the creation of a Service Oriented Architecture. The Enterprise Service Bus provides the necessary tools and servers to support the creation of a SOA based on Web Services standards. This will not only ensure that the principles of SOA are followed, but that the goals of reuse and cost reduction are achieved (Figure 4).

About James Pasley
James Pasley is chief technology officer at Cape Clear Software. As CTO, James is Cape Clear's lead technologist and is responsible for ensuring that Cape Clear's enterprise service bus (ESB) technology supports the evolving needs of the company's global customer base. Contact him at james.pasley@capeclear.com.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

SOA World Latest Stories
In a surprise move Tuesday Oracle wheeled out its Big Data Appliance. That’s the one it said in October would be ready sometime in the first half. Only nobody believed it meant early in the first half. Heck, it’s not even clear anybody thought Oracle could make the first half at al...
A Munich court Thursday found Motorola Mobility guilty of infringing an Apple patent and handed Apple a permanent injunction against two Android smartphones. Apple can enforce the injunction after posting a bond lest MMI succeed in invalidating the slide-to-unlock patent (EP1964022) ...
Quick Response (QR) codes are intended to help direct users quickly and easily to information about products and services, but they are also starting to be used for social engineering exploits. This article looks at the emergence of QR scan scams and the rising concern for users today....
The Chinese company that claims it owns the iPad trademark says it plans to seek a ban on iPad exports out of China, threatening global supplies. According to what a lawyer for Proview Technology (Shenzhen) Co Ltd told Reuters, the firm is petitioning Chinese customs to stop shipment...
Cisco Wednesday filed suit in the European Union’s second-highest court, the General Court in Luxembourg, challenging the European Commission’s rubber stamp last October of Microsoft’s $8.5 billion acquisition of Skype. Cisco says it isn’t opposed to the merger, but figures the EC sh...
2011 was a year of rapid adoption for public and private cloud services. Instant and on-demand server provisioning was the driving force behind the massive growth. On top, cloud server templates and script automation simplified application installation for simple and pre-defined applic...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON Featured Whitepapers
ADS BY GOOGLE