Why Service-Oriented Management?
Web Services management applications help companies manage the systems and applications that underlie their Web Services implementations. More importantly, many of these products provide the critical infrastructure necessary for companies to encapsulate and compose their fine-grained, atomic Web Services into coarse-grained business Services that comprise a Service-Oriented Architecture. Such products are what ZapThink calls Service-oriented management applications.
We believe that Service-oriented management will be vitally important to companies in the coming months, but explaining exactly why we believe so involves a five step argument. This ZapFlash connects the dots from fundamental business drivers to the need for Service-oriented management in five simple steps.
Step #1: The Fundamental Business Driver Facing Companies Today is Business Agility
Business agility is the ability for businesses to proactively manage change and use changing business environments to their advantage. Change comes in many forms: changes in the marketplace, in technology, in the world at large. Companies that can make effective use of a changing environment are better able to compete and thrive in any business climate, but especially in tough economic times like those we have since the bursting of the dot.com bubble.
Information technology is often the area most relevant to discussions of business agility, because achieving agility begins with removing the bottlenecks that impede it, and IT is usually where the bottlenecks are. In fact, companies are so used to the fact that IT creates a bottleneck within their organization that technology and its limitations often drive business decisions. It doesn’t take an MBA to know, however, that business should drive the technology, not the other way around. The true goal of Service-oriented management, therefore, is to remove the bottleneck that IT has on businesses’ ability to be agile.
Step #2: The Key Technology Enabler for Business Agility is Efficient Integration
Of all the technology issues facing companies today, the one that is most likely to be a bottleneck is integration. The apparently simple act of getting two different systems to talk to each other in a flexible way that allows for cost-effective change has been a surprisingly persistent problem since the advent of distributed computing over thirty years ago. What companies need is a loosely coupled approach to integration-one that does not require that the same programmers control the systems on both ends. This loosely coupled approach to integration is called Service-oriented integration (SOI). Learn more about SOI in an earlier ZapFlash.
With SOI, enterprises can think about how to expose a system in a Service-oriented manner to whatever (authorized) system cares to access it. Rather than planning in advance how a specific application will tie into another applications, developers should be thinking about how a specific application exposes itself to any application that cares to speak to it. The point of SOI is to allow arbitrary applications, systems, and data stores to communicate without concern as to the other system’s requirements, thus removing the bottleneck that integration has on the business.
Step #3: Efficient Integration Requires Service-Oriented Architectures
The key to business agility is Service-oriented integration, and the key to SOI is the Service-oriented architecture (SOA). Loosely coupled, standards-based SOAs are an approach to distributed computing that thinks of software resources as Services available on the network. Ideally, the Services available on the network expose the functionality of the underlying software in terms of business concepts.
Companies must successfully rearchitect their IT infrastructures into SOAs to take advantage of SOI in order to remove the integration bottleneck, and be able to connect different systems in a flexible, cost-effective manner. Without the integration bottleneck, then, such companies are able to achieve their desired business agility.
Step #4: Encapsulation and Composition are the Keys to the SOA
A software object is encapsulated when its inner workings are hidden from view. Furthermore, encapsulated objects are defined by their functionality. Encapsulation is important because it breaks up large software projects into tasks that can be assigned to different developers. If the development team agrees on the object interfaces, then the team can work in parallel.
Composition is a concept related to encapsulation that finds its roots in virtualization. Virtualization is a software design approach that provides an abstraction layer between the user and the software. In the case of Web Services, this abstraction layer is Service orientation. At its most basic, the rearchitecture process for creating an SOA involves encapsulating software components, applications, and underlying systems with Web Services interfaces and then composing (virtualizing) these fine-grained functional Web Services into coarse-grained business Services. ZapThink discussed encapsulation and virtualization in an earlier ZapFlash.
Step #5: Service-Oriented Management Enables Encapsulation and Composition
Rearchitecture does not take place in a vacuum; companies must transition their systems from the existing architectures to SOAs in a manner that does not impede the ongoing necessary functionality of the technology. Furthermore, the act of rearchitecting is not sufficient to guarantee that the resulting business Services will meet the needs of the business. The enterprise also must have a management infrastructure in place that can support the performance of the Services as they are being moved into production as well as once they are live.
Finally, in order to encapsulate the underlying software components, applications, and systems with Web Services interfaces and then compose these fine-grained atomic Web Services into coarse-grained business Services, companies must have a set of management tools that can establish and maintain the connections between the software on the one hand and the Services on the other. Service-oriented management is this management infrastructure that companies need to support the ongoing functionality of a SOA.
Service-oriented management applications offer functionality we call SOA enablement. Platforms that provide SOA enablement capabilities typically offer several of the following functions:
- Encapsulation and composition – Taking fine-grained, atomic Web Services (typically wrappers for existing applications) and combining them into coarse-grained business Services.
- Web Service instance management- preserving the location independence properties of a SOA by enabling different systems in different locations to provide instances of particular Web Services, and manage those Web Service instances.
- Dynamic routing – sending Web Service consumers’ requests to different systems depending on availability, and also to preserve location independence.
- Transport protocol translation – Translating among different messaging formats including SOAP, Java messaging (JMS), and message-oriented middleware like IBM WebSphere MQ (MQSeries), DCOM, etc., so that systems that are not exposed as Web Services can participate fully in an SOA.
- Caching Web Services – creating instances of Web Services that serve as fully functional copies of those Services. Should the original service become unavailable, the cached copy can serve automatically.
- Synchronous/asynchronous conversion – if an underlying system is unable to respond to a Web Services request in real time, the management platform can respond with an automatic “your request is being processed” message, and then send the desired result when it is ready.
While Service-oriented management applications offer different co
mbinations of these features, they must all offer the first one — encapsulation and composition of Web Services — because encapsulation and composition are necessary to enable an SOA, and the SOA is the key to business agility.
So, our five-step argument neatly packs the concepts of Service orientation – Service-oriented integration, architectures, and management – into a tight little package, and the bow on the package is business agility. In fact, we believe the entire Web Services movement is about business agility, when reduced to its most fundamental purpose. For too long, technology has been the limiting factor for business, and as a result, technology and its limitations have been driving business decisions. It’s time for a change. If companies can make the difficult transition to Service orientation, then finally, business needs will be able to drive technology decisions instead.