My editor recently mentioned a conversation he had with consultants who noted that the architecture of Salesforce.com's Force.com PaaS (platform as a service) embeds a lot of service-oriented architecture (SOA) approaches. That means developers who build applications using Force.com must use SOA to build an application -- they really have no choice.
Force.com is not alone: Most PaaS providers are really SOA-based development platforms. The more SOA-oriented PaaS offerings include EMC VMware's Cloud Foundry, Force.com, and newer versions of Heroku, CloudBees, and Engine Yard. Other PaaS options have a lesser degree of service orientation. Indeed, every PaaS cloud uses services in some way or form. They are clouds, after all.
[ Andrew C. Oliver: "Long live SOA in the cloud." | From Amazon Web Services to Windows Azure, see how the elite 8 public clouds compare in the InfoWorld Test Center's review. | For the latest news and happenings, subscribe to the Cloud Computing Report newsletter. ]
The idea behind using SOA is to build new services using services that already exist. Moreover, the notion is to compose these services into applications (known as composite applications) or business processes (known as composite processes). This approach lets developers create and leverage services to form and reform an application or business process. This includes all types of services, such as data services that provide a well-defined API in front of the database, as well as transactional services that provide behavior. You never start from scratch, and the more services you build, the more services you can reuse among application instances.
Funny thing -- SOA has seen some bad PR over the last few years. You won't find a mention of SOA by PaaS providers that force you to use SOA approaches to build applications. Most PaaS providers don't promote the use of SOA; they just promote how they approach SOA. Yet most developers forced into using SOA as an approach to development are ill-equipped to deal with its complex but powerful design and architecture patterns.
As a result, developers are confused. They do not understand how that their PaaS platform builds and uses services nor the right way to build these types of applications.
Over the next few years, we need to relocate our SOA roots, even if no one wants to use the name. After all, for PaaS platforms to be useful, they must be service oriented to some degree. As a developer choosing a PaaS offering, it's up to you to determine that degree -- and to understand the best practices around architecture and design.
We should never forget our roots.
This article, "SOA dead? Not if you're using PaaS for app dev," originally appeared at InfoWorld.com. Read more of David Linthicum's Cloud Computing blog and track the latest developments in cloud computing at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.