The following article was sent to me as an e-mail from David Linthicum.

Gervas

SOA in Danger of Over Hype, Over Spending, and Bad Practices

David S. Linthicum

In a recent Burton Group event, the analysts stressed what I've been beating to death for years now, that too many companies are over spending in the SOA space, too early, and are not thinking through the core issues. Thus, many initial SOA project are in danger of hitting a wall before the core value of SOA is understood. The Burton analysts stressed that you don't need to chase after some Enterprise Service Bus (ESB) with every possible option, or try to support the latest chic Web services standards to achieve service orientation. Indeed, they are describing what SOA really is--an architecture style--and thus something you do, not something you buy. However, don't tell the vendors that.

The hype in the SOA space is raging right now, largely due to the amount of marketing money that's being spent in order to both create and capture the demand. You just don't feel like you're a true enterprise unless you have an ESB and governance tool, no matter that you've not figured out how to use them yet. Indeed the big "SOA stack" players are in the market early with enterprise license agreements that lock in their customer into an all-you-can eat SOA technology buffet that will supposedly provide them with solutions to all of their SOA needs. The truth is much more complex and less exciting. In actuality, each enterprise is like a snowflake, and the problem patterns present vary greatly from problem domain to problem domain, enterprise to enterprise, as I'm finding both in my consulting practice and data points with a number of SOA practitioners out there. Thus, selecting technology before you understand your unique issues, puts your first SOA project at risk and will cost you dearly, considering that this is the mother of all mistakes that you can make here.

There is much homework to be done before you can begin shelling out the big dollars for the big SOA technology, and more often than not you'll find the technology that's a fit is not the technology you had first thought. Case in point are the number of projects I'm finding where ESBs are not the correct solution, but their early purchase means it's a "force fit" which means the project is at risk, and at the very least, the solution is not optimal. Not that ESBs are bad; they are not. However, like any technology, ESBs do not fit within all SOAs. Same can be said about SOA governance tools, SOA security solutions, service development tools, etc.. You can define your architecture around technology, and the reverse is also true. The fact of the matter is that you need to go through some iterative steps before you can even begin to define your technology requirements, and look for products that fit them. First, you need to understand your data at the semantic, metadata, and abstraction levels. This means a clear definition of what's there, what's needed, and how it should be modeled and implemented as a part of your SOA. Data is the foundation, services are the externalization, and processes are the solution. Keep that in mind.

Second, you need to identify all candidate services, or potential services in your domain. This means going on a service mining expedition, looking at mainframes, and other enterprise applications for core business processes that need to be externalized as services for the architecture. This means working back from screens, APIs, and transactions, and the creation of a solution for recasting them as services. Third, you need to figure out the meta-processes that are a part of the domain. This will become the foundation for your orchestration and/or choreography layers, in essence, defining how the services interact and providing a platform for driving them together into solutions.

Beyond all that you need to figure out performance, security, service tracking, service level agreements, policy management, design time, run time, and any special needs that your project/domain may have, and there is always something that's unique. Then, and only then, do you figure out your technology requirement.

Those who jump right into the SOA hype pool full of SOA technology are finding a few things out. They are not solving their problem, they are not using best practices, and worst of all, they are putting their projects at risk and spending too much money in doing so. I'm not sure if this is one of those "let the kid touch the hot stove" issues, where a few painful failures will teach the masses that this is the wrong approach, or if I need to keep jumping on my soapbox and preaching the very unpopular notion that SOA is complex, hard, and if you're going to make it work, it's going to take some work. Sorry to be the buzz-kill, but somebody has to speak up. Happy to listen to other options here.

Reply via email to