With all the excitement buzzing around all these shiny new paradigms -- cloud, business process management (BPM), and Big Data -- where does SOA stand?
That was the main question explored at the latest panel discussion on all things SOA just posted by Boris Lublinsky over at the InfoQ site. (It has Jim World Wide Webber participating, so you know it's going to be interesting.)
There was general agreement that while the hype and spotlights on SOA have diminished in recent years, it still is the essential architectural approach required to sustain any and all business technology initiatives. However, for some, it's still difficult to connect the dots between SOA and many of today's raging trends.
Here are a few nuggets:
On the relationship between SOA and business process management (BPM):
Steve Jones, global head of master data management at Capgemini: "BPM screws up SOA... (Jones originally said this in back in 2007, see this link). SOA actually makes great BPM and BPM is a great approach to implement the capabilities of a business service.... But starting with BPM tends to drive fine-grained single operator services, which isn't a good thing in terms of creating a robust architecture. The important thing therefore is to understand your services and capabilities first, then choose to implement capabilities using BPM, this gives both good SOA and good BPM."
Claus T Jensen, senior technical staff member at the Business Process Optimization (BPO) Foundation: "It is possible to derive value from BPM without SOA, though you do expose yourself to 'service sprawl.' It is also possible to derive value from SOA without BPM, but in all honesty, BPM is a natural component in an SOA strategy, as it provides a built-in business context for the architecture itself as well as immediate business operational benefits."
On the relationship between SOA and cloud, and between SOA and "Big Data":
Jim Webber, Chief Scientist with Neo Technology: "This notion of SOA in the cloud or cloud being the next generation of SOA is rather dull at this level... The cloud is not the savior of SOA, rather it's the next shiny object that will attract certain thought leaders, analysts and so on. If your service deals with big data, that's how they're related. Otherwise they're not: data is data, services are about behavior atop line of business data."
Stefan Tilkov, co-founder and principal consultant at innoQ: "There obviously is a relation in that whatever services you consume, you're likely to do so over a network and you won't care about the implementation details. This works nicely for most IaaS solutions such as Amazon's, but I still find it hard to map something like Google's App Engine onto some SOA concept, and often feel the connection is made by those want to attach their SOA thoughts from the past to the success of the cloud computing model today."
On the one thing SOA needs to succeed:
Mike Rosen, Chief Scientist at Wilton Consulting Group: "I wouldn't agree that SOA is falling in popularity. I would say that it is no longer of interest to the hype and marketing machine. Every application infrastructure and major application provider is SOA based, or moving to be so. It would be foolish to create a new solution today that wasn't service oriented.... The #1 thing is to have a SOA architectural vision that incorporates a SOA catalog and enterprise semantics. It should not take more than a few weeks for a good architect to formulate the vision."
Stefan Tilkov, co-founder and principal consultant at innoQ: "Adopt REST? Just kidding. To me, the major factor is to actually start small and deliver something of value, an actual service that people want to use and actually start using. Unless you manage to do that, you shouldn't be allowed to spend any company money on things such as ESBs, registries, repositories, or any other magical piece of infrastructure that is only a means to an end, but creates no value in itself."
Jim Webber: "Deliver incrementally... Think about SOA not as a protracted effort, but as a series of short, winnable skirmishes that happen as change is driven through your market or organization... 'Guerrilla SOA.' Do that, and you have a fighting chance."
On a "sound-bite" definition of SOA:
Stefan Tilkov: "SOA means whatever suits the one using the term best. Seriously, I've totally given up on trying to define it, since whatever definition you come up with, there's simply no agreement to be found, and ultimately it ends up being a waste of time."