Sunday, April 6, 2008

The Million Dollar SOA Question: Software ESBs or Hardware Appliances?

Service-oriented architectures have now become the norm for IT to deliver value to their respective businesses. A SOA-based approach promises an environment of agility, loosely coupled integration, and a composition-based approach, all of which results in faster adaptability to the demands of the business, lower operational costs, and the increased “pluggability” of standards-based applications. A service is nothing but an abstraction of something that does some business unit of work. This could be something like placing an order, retrieving customer information, or modifying personal information. Technically these services could be exposed with any binding/protocol/interface with request/response parameters being structured or ad-hoc data. Standards-based services have their payloads structured as XML.
In a traditional old school infrastructure, business functions were encompassed in packaged or customized applications with their predefined user interfaces. In a SOA, these traditionally "trapped" business functions tend to add more value when encompassed within a much larger scoped entity and then used by a more modern interaction mechanism. The true emancipation of these business functions required the transition of traditional IT infrastructure toward a new class of technology components. The two major roles of this new services infrastructure are a service brokering role and a gatekeeping role. There are other auxiliary roles, including that of a repository, endpoint management, and some higher-level roles such as orchestration in this new services infrastructure. However, the remainder of this article discusses the primary roles of service brokering and gatekeeping in detail and addresses the different technology components that can fulfill the roles.