By Colleen Frye
SearchSOA.com: Has SOA lived up to people's expectations?
David Chappell: Expectations have been all over the map. The most commonly agreed upon expectation is that SOA enables a business to be more agile by being able to more readily adapt to changing business requirements and automate business functions in order to support the needs of the business. If you think back to recent history, when there was a backlash against SOA, it was primarily because few organizations have been able to really adopt a proper corporate-wide governance that's required to adopt a SOA initiative successfully.
SSOA: So how do they get there? Is there still incentive to adopt a service-oriented model?
Chappell: The migration toward cloud computing, particularly platform as a service as an example of cloud computing, is another way to change ownership models in IT and be able to have a more tangible business case around it because there's metering and chargeback that gets involved when service providers and service consumers at the business level start to align the changes being made at the software and infrastructure level. So it's making a transformation in IT—transforming server huggers into service providers for the rest of the organization.
I'm talking specifically about those who adopt platform as a service as part of a private cloud strategy within an organization. But the same model can be adopted for those building shared services in a service-oriented architecture; the roles and responsibilities become much more clear. The move to platform as a service also drives consolidation and consistency across the organization, from a technology point of view. That also provides a business driver to force alignment across siloed development teams and across departmental boundaries. That's been a big barrier to adopting SOA.
SSOA: What are some key ways grid and cloud will impact service-oriented architecture?
Chappell: What I've been focusing on working with customers over the past few years is architectural patterns that combine together grid-based tech with more traditional service-oriented architecture approaches to building applications. Particularly, this enables a new level of scalability and reliability to applications without necessarily having to throw excess hardware at the problem every time an organization runs into a scalability wall.
Grid in this context is based around a new class of technology that has sometimes been labeled as distributed caching, but it's what we call data grid technology. More people are familiar with compute grid technology, which allows you to take a piece of business logic and spread it out across multiple CPUs and multiple machines to execute in parallel. You take that same concept to your application data that's normally held in memory, and spread it out across a distributed shared memory pool so that your business logic can operate against it more efficiently and reliably. That adds some additional capability to your application that you didn't have before. For example, I've been seeing organizations dramatically decrease their load and strain on back-end system by leveraging a data grid as a distributed caching environment.
It's something that can be deployed in a public cloud environment or used as part of a private cloud. It allows you to have more flexibility and scalability within the platform you're using. What virtualization does is allow you to virtualize and scale up multiple instances of an application or of a platform that application is deployed on, but what grid computing does is lets you scale up and be more efficient of resources within an instance of an application or within an instance of a platform. What I'm saying is virtualization alone is not enough. You need a combination of virtualization, platform as a service and grid technology, both data and compute grid technology.
SSOA: There are a number of vendors and products targeting this space. Tell me about Oracle Coherence.
Chappell: Oracle Coherence has characteristics of both a data grid and a compute grid; it even has intelligent optimizations where you can execute business logic in the grid on the same machine that is hosting the data that the business logic executes against, so it dramatically reduces the network chatter that is normally associated with pushing data around in a service-oriented architecture. Coherence you can get as part of WebLogic, but in the SOA tools we'll be offering things that are more built in to take advantage of grid, something we call service result cache where, in the Oracle service bus when you're defining a business service, you click off a check mark that says this is a cacheable service call. The service bus will automatically store the results of accessing the back-end service and reuse it the next time the service is invoked, dramatically reducing the load on the back-end system, particularly if that back-end system is a mainframe.
Using data grid technology as part of an SOA can also dramatically reduce mainframe MIPS usage for frequently accessed data. This technology has roots in what Gartner terms as XTP, or Extreme Transaction Procession. We're bringing more to mainstream applications by applying its use in everyday application development, particularly around SOA.
SSOA: Do you need SOA to take advantage of data grid technology?
Chappell: No, not necessarily. [With an SOA] you get the benefits a service-oriented architecture provides. But the use of data grid can be done in a variety of ways. With this number of vendors building this type of infrastructure, we should all expect to see that in the next few years it becomes part of our everyday toolkit we have available to us as developers to build applications.