Much like the chicken and egg dilemma, in the SOA industry, there is often a debate over which should come first -- business needs or technology needs. That largely depends on the problem you are trying to solve and whether it is a tactical or strategic solution that is desired. Today's businesses are seeking real solutions to real problems and the IT group is tasked with coming up with creative solutions that actually provide value. Users are putting new demands on IT and companies are experiencing a culture shift where IT and business managers need to collaborate in order to effectively implement new solutions. In addition, SOA deployments oftentimes don't move past the initial pilot phase because further IT tools and infrastructure spending required to grow such projects cannot be justified under the umbrella of overall business strategy.
If the business wants a point solution to a specific problem then an SOA doesn't make sense. For this type of problem, the IT team should implement a tactical solution, whether it is a point-solution or a home-grown application. This provides the least amount of risk and a clear implementation path. However, if the business needs a solution to help solve problems they have today as well as problems they don't even know they have yet, then SOA is a valid solution and only the business can make that determination. In this case, the business must drive an SOA.
One could argue that any organization should stop, take a step back, and figure out what its real problems are first. That should result in a strategic approach which would ultimately obviate all of the tactical issues. Ultimately, the organization needs to determine if it wants to solve its problems or just keep implementing short term solutions. This article authored by Peter Woodhull and published at SOA Magazine on April 2009.
The predominance of SOA has risen to the point where the industry is now debating its demise. Articles and blog posts are declaring SOA to be dead and are prognosticating the next computing paradigm that will take the reins. However, this line of thinking is both myopic and misdirected. Service-oriented architecture is neither dead nor is it even on the way out. In fact, SOA has quite possibly just reached a point where the more popular stance is to disseminate shortcomings rather than discuss actual merits. As we have seen with other IT strategies, this is typical when technologies and architectures reach a plateau in the implementation and acceptance curve. The reality of SOA's long-term viability has brought to light two important truths: 1) SOA is no panacea, and 2) failures attributed to SOA are most often the result of implementation methodology and design flaws.
A successful SOA requires an emphasis not on "web service," but simply "service." SOA has the capability of enabling and providing services when the architecture is implemented with the understanding that serving is an inherently dynamic activity. A service provider may have a particular domain of expertise, but the level, quality, quantity, and intricacies of the service provided are largely dependent upon the given customer. As such, a successful SOA implementation must be focused upon a vision of customer-centric services that leverage standardized capabilities in a dynamic and evolutionary manner.
However, the technology architecture cannot be the only thing oriented toward service. The IT group, the business group, and the organization as a whole must be service-oriented. Service-orientation is a philosophy; it is not a silver bullet. In fact, service-orientation can actually make life harder. It is much easier to say that the current system cannot do something therefore we (the company) cannot do it either. By comparison, successful SOA implementations enable companies to say that although we do not possess a capability today, we can have that functionality in a few weeks if it will increase the value of the service we are providing to our clients.
The IT group must be a service provider to the organization as a whole. This means recognizing its role as an enabler of the mission critical processes of the business. There is no place in today's business market for an IT group that limits the success of its host business under the auspices of technical complexity, return on investment, or security. It is the responsibility of the IT group to find a way to serve the business.
The business side of the equation must focus on the services it provides its customers. It must then identify the functionality and features necessary to provide better service. Then business can explain to IT what it needs. However, business must own the responsibility for the new functionality. It is no longer acceptable to throw business requirements over the wall into IT and expect them to meet needs.
Business needs to consider not only pure features such as integration points, algorithms, and calculations, but also the processes it uses to provide service. These processes must be discovered and/or captured so that they can be documented and implemented. Those processes thereby become artifacts of the organization and can be managed and controlled just like any other IT asset.
So, who should drive an SOA implementation? Historically, the IT group would claim responsibility and the business executives were all too eager to agree. Unfortunately, this has been the reason for innumerable failed SOA projects. The reality is that business is the appropriate driving force behind SOA, for only the business users have an understanding of the core capabilities and strategic goals of the organization.
IT as Profit Center
Which came first, the business or the IT group? Admittedly, at this point in time there are many cases in which the IT group was there at the onset of a new business. In fact, many current businesses only provide technology capabilities and services. However, even in these businesses, technology is just a means to an end - it is simply a product sold to a customer to support a business. All successful businesses provide a service to customers and ultimately satisfying those customers takes precedence over everything else. Over the last few decades, technology has played an increasingly important role in that equation. However, the IT group has almost always been considered a cost center rather than a strategic corporate resource. This is because companies have had to expend more money on their IT organizations, including both computer systems (hardware and software) as well as human resources, than those IT organizations have generated... or at least that is, to a great extent, the common perception.
Over the last decade, however, we've seen a convergence of capabilities that are set to propel IT groups to the forefront of business as potential profit centers. At the very least, the status of IT as a considerable cost center will diminish significantly. Seven technical capabilities that are contributing to this trend are:
1. Moore's Law
the cost of computing power has diminished to the point where computing resources have become commodities and relatively inexpensive business expenses
2. The Internet
the Internet and its infrastructure have grown to the point where any computer connected to the network can be accessed from anywhere in the world
3. Server Virtualization
the proliferation of virtualization stands to significantly diminish the financial and human costs associated with the administration and ownership of corporate server infrastructures
4. Cloud Computing
computing in the cloud enables any organization to harness the resources of a virtually limitless computing infrastructure
5. Legacy Systems (technology & logic)
legacy computer systems that codify critical business logic and processes already exist in many corporate environments - the new challenge is orchestrating the capabilities these systems provide into new and meaningful services
6. Handheld Devices
cellular handheld computing platforms are now powerful enough to satisfy the computing needs of an increasingly significant portion of the population
7. Computer Savvy Human Resources
clients and users have grown significantly savvier regarding their computing and communication capabilities - many users are now able to administer their own computers and customers are demanding higher levels of service from the companies and organizations with which they interact
This list of seven factors is by no means comprehensive, but it is exemplary of the advances in computing that have combined to produce a technical atmosphere within which all information should be accessible and potentially incorporated into any transaction. Additionally, the speed of technology adoption continues to accelerate at a break neck pace. Accordingly, customers are demanding new and improved capabilities from service providers. More importantly, the capabilities being demanded are inherently technology oriented. Customers want anytime, anyplace access to their information and expect service providers to make this information accessible regardless of where it is stored or what type of system it is stored on.
These types of customer services can only be met by better utilization of technology. This means that the IT group within any organization that wants to succeed in the future needs to focus upon becoming service-oriented itself. The business and IT teams must start collaborating to identify opportunities to provide new and better services to customers. This is how the IT group will start to transform itself into a profit center.
For example, Google provides an incredibly powerful and important service, yet when was the last time you heard of anyone calling Google to get support, ask a question, or check on the status of something? This almost never happens because Google understands that its business model relies on the ability to provide simple, intuitive, accurate services and that all the technical magic must be hidden from the customer. Google excels at this type of customer service because it recognized very early that the only way to properly utilize technology in the current environment was to make it part of the strategic plan for the organization.
IT must be part of any successful organization's strategy for success in the next decade. Increased computing power, increased connectivity, better educated users, and a global business environment are all contributors to a new business paradigm in which success will only be achieved via the strategic utilization of technology.
No Strategy... No SOA
SOA is an inherently strategic approach to computing. Service-orientation is a means by which distributed systems are designed, developed, and implemented. Why do organizations create distributed systems? They do it because they want to build robust, scalable, and extensible solutions to problems that exist today and in the future.
Thomas Erl popularized the seven strategic goals of service-oriented computing in his books [REF-1]:
- Increased Interoperability
- Increased Federation
- Increased Vendor Diversification
- Increased Business and IT Alignment
- Increased Return on Investment
- Increased Organizational Agility
- Reduced IT Burden
All seven of these strategic goals are things that any corporate executive should consider legitimate and valuable. Of course, all organizations would like to find a way to achieve these seven goals; but, how many are willing to work and pay for them? This is the hidden dilemma of a good strategy... it is difficult and expensive.
At this point, most corporate executives recognize the significance of the seven technical advances discussed in the previous section. Additionally, all organizations want to leverage their technology resources better. However, not proceeding with a SOA project properly can be extremely costly and frustrating. The underlying requirement for a successful SOA implementation is a solid business strategy that has the resources and financial backing of the organization.
The first step for any organization that wishes to implement an SOA is to step back and consider the goals of the organization. The business group and the IT group must actively engage in a constructive conversation during which the business explains what services it would like to provide customers and the IT group subsequently explains how those services can be facilitated via modern computing capabilities. Additionally, new customer facing services will often emerge from this conversation as IT explains what is possible and business incorporates those capabilities into its service offerings. Ultimately, the most significant artifacts derived from this exercise should be a universally understood set of business goals, a concrete technical strategy with which the organization expects to meet those goals, and a legitimate understanding of the costs and resources necessary to implement that strategy.
In organizations where the conversation between business and IT evolves into a consistent dialog focused on creatively meeting customer needs, there often develops an environment in which IT starts to transform into a pseudo-profit center. This happens because the IT group now has a clear understanding of what the business group is trying to accomplish and they can provide informed support as well as creative solutions to both legacy and emerging customer requirements. This is an environment within which an organization can implement and deploy a service-oriented architecture that will provide the benefits of Erl's seven strategic goals of SOA.
Not all organizations, however, are able to start at the strategy table to identify the needs for an SOA. Fewer still are able to honestly quantify the cost and effort required to implement service-oriented solutions to their strategic goals. More often than not, the IT group proposes an SOA as a purely technical approach to meeting current concrete software requirements. In this scenario, IT instantly becomes responsible for the construction, implementation, marketing, sales, support, and financing of the SOA. This is where most failed SOA implementations fall apart because the IT group is not professionally equipped to be successful with this type of effort.
For organizations that do not consider SOA a strategic initiative, an SOA implementation could be fairly risky. In particular, an SOA implementation will be risky for the IT group as they will be the sole responsible party expected to produce all the benefits of an SOA while avoiding or mitigating all the risks. Additionally, the IT group will be responsible for paying for the implementation. This is not the environment into which any organization should embark on an SOA implementation. Under these circumstances, a conscious decision should be made to leverage more traditional technology solutions. There is nothing wrong with identifying a single problem or problem domain and purchasing a point solution to solve it. Similarly, there are situations where building a custom application either in-house or out-sourced is the best option. These tactical solutions to specific problems are as valid today as they ever have been. In fact, in light of the current business and economic situation, companies should be increasingly focused upon leveraging these tactics when appropriate. These tactical solutions can and should be utilized within the strategic vision of an SOA implementation and they are critically important if there is no strategic vision for a service-oriented architecture.
All Strategy is Business Strategy
As stated previously, SOA is not a silver bullet. It is also not something that can be bought. Service-orientation is a philosophy and service-oriented architectures are complex systems that take significant time and effort to evolve. Accordingly, a successful SOA implementation requires a substantial commitment on the part of the organization as a whole; a commitment of time, resource, and finances.
A service-oriented architecture enables organizations to provide services to both internal and external customers. Additionally, it allows organizations to solve current business problems and properly positions them to be able to react to changing business and customer demands. In turn, a SOA also facilitates the creation and implementation of client-facing services which provide new and enhanced capabilities. For these reasons, SOA is an inherently strategic endeavor. Additionally, all of these reasons coincide with common business goals associated with any successful business. These benefits should be part of any successful business strategy and accordingly a service-oriented architecture clearly falls within the purview of this business strategy.
All of this points to the realization that SOA is a strategic solution to proper utilization of technology resources. Strategic solutions within an organization cannot be successfully owned and implemented by a single organizational group. More importantly, they cannot be owned and implemented by an IT group that is a pure cost center and only provides static solutions to internal customers. Such a solution must be owned by the business group and managed as a mission critical business process that impacts everything else the organization does. Considering the amount of customer interaction most organizations do today electronically it is really a wonder that most have not already made this transition.
Simple point solutions are still absolutely requisite for most organizations. Such solutions have very clear implementation paths, they are cost constrained, functionally bounded, and have very well understood impacts on both internal and external customers. However, these types of solutions can be purchased and implemented out of the box only because of their limited scope and capabilities. Commercial software products and custom built applications are undeniably the responsibility of the IT group. These are tools that provide limited capabilities to customers and need maintenance and administration. But that is for the most part the extent of the management necessary; hence their status as tactical solutions.
This is clearly contrary to the scale and strategic nature of an SOA. For this very reason, to be successful, an SOA project must be owned and managed by the business group of an organization. The very people who are responsible for the strategic vision and goals of the organization must also be responsible for the service-oriented architecture. This is the only way that the necessary resources and costs of an SOA can be accurately incorporated into long term plans.
Can an organization successfully complete an effective SOA project that is driven by the IT department? Certainly there are examples where this is the case. There must be, but they are not widely publicized which would imply that their success is somewhat limited. However, organizations that embrace service-oriented architecture as a core component of their strategic plans find that business should be the driving force behind an implementation. This brings both business and IT into the strategic planning activities which helps to build a stronger organization and facilitate the real value proposition of SOA. Additionally, it fosters an environment in which business and IT can work together to enhance current customer services and identify new services that can only be provided via proper utilization of technology. Ultimately though, all organizations that want to be successful with SOA must come to the realization that IT is neither equipped nor empowered to properly deliver on the promises of SOA without the appropriate support and mandate from business.
REF-1 - Prentice Hall Service-Oriented Computing Series from Thomas Erl, Upper Saddle River, NJ, Prentice Hall.
This article was originally published in The SOA Magazine (www.soamag.com), a publication officially associated with "The Prentice Hall Service-Oriented Computing Series from Thomas Erl" (www.soabooks.com). Copyright ©SOA Systems Inc. (www.soasystems.com)