You are on page 1of 3

Print Story

http://ajax.sys-con.com/node/1338494/print

Close Window Print Story

Argument for SOA in "Cloud Computing" Environment


SOA Track at Cloud Expo Someone recently asked me whether Service Oriented Architecture (SOA) adoption will slow down now that companies are seriously looking at Cloud computing alternatives to their internal architectures. After all, SOA was a big buzzword in the past several years because of its ability to reduce speed of deployment and complexity, and therefore, total cost of ownership. With more applications and infrastructure elements moving to the Cloud, the argument goes, the need to implement SOA within the enterprise could be diminished. I have seen some articles and opinions on the Web that make similar arguments.

Cloud computing is by no means an extension of SOA (as some SOA practitioners have told me), and the two are mutually exclusive in many subtle technical ways. But they do go hand in hand and will only benefit companies that implement them in tandem, rather than separately. Here's why: Service Oriented Architecture: Service Orientation (SOA) at its core is a set of design / architectural patterns where complex business processes are broken down into their functional elements and exposed as independent processing units. In a fully deployed SOA implementation, these services are bound together through a business process model and a series of contracts. What this allows a company to do is to use the same business logic (for instance, validate vendor status) across domains and technologies without having to re-write the code as many times as there are ERP systems. It is especially useful for a company which has business units across geographic locations and has grown through acquisition (and therefore, has many ERP systems) and still wants to standardize on a single set of business rules / processes. This concept of course, can be used across business boundaries and for seamlessly integrating with business partners (suppliers and customers) in near-real-time.

1 of 3

01/04/2010 6:30 PM

Print Story

http://ajax.sys-con.com/node/1338494/print

This is not to say of course, that since the company has the ability to do SOA, they should go ahead and implement it for all situations - there are implementation guidelines and best practices which help avoid pitfalls of improper implementation that can often lead to disastrous results.

Let's look a little closer at the Cloud computing concepts: Cloud Computing: Cloud computing is basically the use of pooled / shared computing resources for processing and/or storing information. The metaphor, "Cloud", refers to a nebulous network resource typically represented in the form of a cloud in IT drawings. This "cloud" (in this context) is usually stands for the Internet, but could also be an internal network. More information about this can be found in the Wikipedia article here. The main enablers for the adoption of Cloud computing are the availability of high-speed Internet connection around the world and Virtualization (if you are really looking to understand Cloud computing from a technical perspective, I suggest starting with Virtualization). The catalyst for the current Cloud hype-cycle, of course, is the Great Recession - and the need to scale out while keeping costs down. There are 3 typical forms of Cloud solutions - the Infrastructure cloud, Platform and Software (read more about it on Wikipedia or my other post). The common thread being virtualization, and differing only in the way they can be used / costed. Google Apps, Microsoft Online and SalesForce.com - for instance - fall in the SaaS category (where users simply sign up and use them); while Google App Engine, Microsoft Azure and Force.com are Platforms that allow developers to build their own applications to be used on that specific platform.

Integration Use Case: Now let's see what the challenges are which force companies to look at new technologies like Cloud with an example in the Supply Chain industry: Any company that runs business applications needs to exchange data between applications. Even companies that are small, still have more than one application (for instance, a payroll application, sales / marketing database, inventory / production application or a directory / LDAP / AD) in its environment. If the company decides to move one function out to the cloud, say the Sales Management function to SalesForce.com, then the success of that "outsourcing" will depend on how well the SalesForce.com data integrates back into the company's internal production systems. For instance, if orders are not received in time on, say, the last day of the month or quarter, sales cannot be recognized until its too late (that is, if the customer does not cancel the order due to the delay) - leading to a direct revenue impact. This kind of near-real-time integration and flow of information back to the back-office applications is possible by implementing a SOA framework. The other option of course, is to get regular file-dumps (which by definition, is not near real-time). My friends in the IT practitioners world will be quick to point out that SOA is not suitable for all kinds of data integrations; and I whole-heartedly agree... I advocate a methodical approach to SOA implementation... but that's a totally different topic of discussion. There are similar arguments for online updates and information exchange when moving processes like Project Management, Financial functions and Human Resource processes to the Cloud; or even to

2 of 3

01/04/2010 6:30 PM

Print Story

http://ajax.sys-con.com/node/1338494/print

abstract proprietary business logic and expose it to business partners for things like Vendor status validation, Available-To-Promise, etc. A well thought-out catalog of primitive business functions exposed as Services on a robust Service Bus deployed within the company's IT infrastructure will help the company move functions to the Cloud more efficiently and save cost while providing scalability. The key success factor, of course, is identifying and coordinating these cloud implementations centrally, across the entire IT and business spectrum.
2008 SYS-CON Media Inc.

3 of 3

01/04/2010 6:30 PM

You might also like