Service Oriented Architecture 

SOA involves the orchestration of repeatable business tasks known as services. The top technical drivers for SOA are standards, the pervasive ability to discover services and widespread interoperability between systems and applications. Although SOA is technology neutral, the best technology currently available to implement it is Web services coupled with an ESB such as WebSphere Message Broker V6 and/or WebSphere ESB V6.

 

The core of Web services consists of a requestor, provider and a service broker as shown in Figure 1. There are two types of Web services – dynamic and static. Dynamic Web services have the provider publish services to the broker. When services are required, the requestor discovers the services by a request for service information from the broker. In the case of a static Web services, no service broker is involved and the addresses are “hard wired” into the requestor. This causes less desirable by albeit simpler coupling characteristics.  

What Conditions Make SOA Desirable?

Three key conditions make SOA desirable: One, the combined complexity of both communications between and within all the enterprises applications; Two, the need for speed in modifying processes and three, the need for pure processing speed.

 

  • You have complex processes that are not well understood resulting in increased costs and lower throughput. Complexity increases the cost of maintenance and process operations because complexity begs for expertise – expertise required for critical components in the value chain are often scarce and expensive. It also slows processes down because human intervention is required more frequently to referee complex decisions. Typically, larger companies have complex processes that should be better understood. Using SOA can be a good way to drive and sometimes push the organization to understand their processes better. Improved processes cannot only conserve cash, but become a competitive advantage. Small companies with simpler processes and/or low complexity applications are likely not the best candidates for SOA. To be fair, defining what is complex is somewhat arbitrary.

 

  • Processes cannot be modified fast enough to keep up with changes in your business environment. If the organization does not have to change its processes often then they may not be in need of SOA.

 

  • Your customer demands speed or your industry is fast and super competitive. For example, if FedEx promises next day delivery, then it has to be there the next day. This is an industry characteristic. A bakery has to get the bread out that morning because it is a characteristic of the product – otherwise it does not meet its freshness quality attribute.

The Business of SOA – Conditions, Value Proposition, Risks

SOA as a concept as well as technologies that enable it are approaching maturity. Organizations that are prime candidates for SOA have complex processes that need to be fast and have the ability to change with fast moving business environments.

 

The value proposition is significant because of the intended business focus while leveraging inherent economies of scale through service reuse across LOB’s. Previous innovation cycles often focused more on IT – witness either distributed computing with CORBA or the application server revolution. However, there are risks.

 

SOA requires tech savvy and disciplined management, substantial centralization of SOA planning and engineering, potentially a change to incent managers less on completing projects for LOB’s and more for the enterprise’s profitability. In the past, only the most IT savvy companies had mature software engineering process and the people talented enough to follow them. SOA requires even more engineering up front and without it, organizations are at risk of having an overwhelming failure with their initiatives. Overwhelming in the sense that SOA has enterprise wide implications. As with prior IT initiatives, SOA will be hard to quantify in terms of ROI.

 

Several critical questions need to be addressed.

 

  1. Who in the enterprise will pay the additional cost to build services for enterprise wide use.

  2. Once enabled, do other LOB’s get services free?

  3. Will past-unprioritized access to resources prevail or will asset utilization finally be linked to business priorities and profitability.