CEO and Service Orientated Architecture

EXECUTIVE SUMMARY

This article discusses what is Service Orientated Architecture (SOA), how it is used, what are its benefits and what are the challenges when adopting it for your organization. It explores the business and technology perspectives of where SOA can be applied internally and externally by showing the following benefits of SOA to your organization:

  • Enhanced Operational Insights
  • Increased Business Agility
  • Better Customer Experience
  • Reduced Technology Costs
  • Creation of New Business Models

Keeping the benefits in mind, your organization has to also assess the following challenges that SOA brings for your organization:

In a nutshell, SOA is a framework that allows business processes to be highlighted to deliver Information Technology (IT) interoperability and rapid delivery of application functionality. A successful adoption of SOA would result in enhanced alignment between Business and IT. So, while there are challenges to overcome by your organization but overcoming these challenges would make your organization aligned from top to bottom and across people, processes and technologies.

1. WHAT IS SOA?

1.1. What is a Service?

In order to understand SOA, lets first explore the concept of a ‘service’. Depending upon the context, Merriam-Webster defines a service in 11 different ways. These include a service being “the occupation or function of serving”, “the work performed by one that serves” to many other religious, military, public utilities and organizational definitions (“Service.” Merriam-Webster. Merriam-Webster, n.d. Web.). In economics and marketing, a service is the exchange of non-material equivalent of a good.

In organizations, a service can have business contexts and technological contexts. From a business context, a service can be activities that are performed inside the organization (e.g., Accounts Receivables), outsourced to another organization (e.g., Payroll Processing) and performed for the internal or external customers (e.g., Helpdesk Support). From a technological context, a service can be provided within an operating system (e.g., Windows EventLog), for software (e.g., log service) and where a user exchanges messages with a program to interact with it.

1.2. What is Service-Orientation and Service-Orientated Architecture?

Now that you have an understanding of what a service is, lets define what is service-orientation and what is service-orientated architecture. Microsoft defines SOA to be “a design philosophy independent of any vendor, product, technology or industry trend” (Linthicum, David. “Chapter 1: Service Oriented Architecture (SOA).” Chapter 1: Service Oriented Architecture (SOA). Microsoft, n.d. Web.). Oracle on the other hand says SOA “provides a unified approach with a single interface for all of your current and future integration requirements” (“Oracle SOA – Service-Oriented Architecture.” Service Oriented Architecture. Oracle, n.d. Web.)

In light of the varying definitions from vendors and practioners, a working group was established in 2009 to remove the confusion. This working group had a mix of practioners and vendors and came up with the SOA Manifesto that states “service-orientation is a paradigm that frames what you do” and that “SOA is a type of architecture that results from applying service-orientation” This group also prioritized SOA as a business initiative rather than a technological initiative and thus states the importance of (1) business value over technical strategy, (2) strategic goals over project-specific benefits, (3) intrinsic interoperabilityover custom integration, (4) shared services over specific-purpose implementations, (5) flexibility over optimization and (6) evolutionary refinement over pursuit of initial refinement. (Erl, Thomas et al. “SOA Manifesto.” SOA Manifesto. N.p., Oct. 2009. Web.)

As you can see, SOA is an organizational journey that spans across business and technology. From a business perspective, business objectives drive the integration of applications within the organization and between business partners. From a technological perspective, integration of applications is modeled using loosely coupled services that can be combined and orchestrated to achieve business objectives. Thus, you can say that SOA is a framework that allows business processes to be highlighted to deliver interoperability and rapid delivery of functionality.

1.3. How does SOA work?

In SOA, you have three roles that include the Service Provider, the Service Requester and the Service Registry. The Service Provider role (1) describes what the service does, (2) deploys the service over the network and (3) publishes service in a service registry. The Service Requester role (1) finds service in a service registry and (2) uses the service description to invoke the service. The Service Registry advertises the availability of a service that is published by the Service Provider. The interaction between Service Provider, Service Requester and Service Registry is shown below:

Business Objectives and SOA

From the above figure, you can see that business objectives are the drivers for SOA within an organization. While the main idea behind SOA is the reuse of generalized software components modeled as services, but due to its ability to encourage collaboration between business and IT, it can create alignment and can help the organization respond to the rapidly changing business environments.

2. WHAT ARE THE BENEFITS OF SOA?

In order to understand how SOA can help your organization, you have to explore some of its benefits and how other organizations were able to use SOA for their strategic advantage. Following are some of the benefits of SOA:

2.1 Enhanced Operational Insights:

It is often observed in organizations that the left hand is unaware of what the right hand is doing. This type of disconnects cause organizational silos where the approach to developing business processes and the technologies that support it have a very narrow focus. Due to this, the business processes and technologies are tightly coupled with the functional needs at the time when they were created. While this gets the job done for a particular functional need but now if you multiple this scenario across the entire organization and its various functions then you start to see a spaghetti of business processes and its enabling technologies (“Why Enterprise Architecture?” YouTube. Mastering ArchiMate, 19 Apr. 2013.)

The ‘spaghetti architecture’ can result in duplicative business processes and technologies across different organizational divisions. These business processes and enabling technologies are rarely documented which increases the risk of costly mistakes when these business processes change and when the underlying technologies that support these business processes become outdated. In spaghetti architecture, there is also rarely any thought put into the future needs of the organization as whole, this can also result in using technologies that might become obsolete for future needs.

SOA addresses the spaghetti architecture head-on by creating operational insights into the different organizational processes of the organization. Since the main driver of SOA is business objectives that encompass business processes, your organization can start to view the various unique, duplicative and interdependent business processes holistically across the entire company. This holistic view gives your organization the ability to see which business processes can be completely eliminated, which ones can be combined and which ones can be used to make rapid decisions. An example of an organization that used SOA to address its spaghetti architecture is FedEx, a $32 billion multinational organization. By overhauling FedEx’s entire spaghetti architecture to SOA, within 3 years it was able to better manage acquisitions and process changes (Ganesan, Suresh et al. “What Business Executives Must Know About SOA.” Cognizant White Paper (2007): n. pag. Bloom Group, 2007. b.)

2.2 Increased Business Agility:

In today’s competitive business environment, business agility is the ‘holy grail’ that organizations strive to achieve. This business agility can entail many things and can range from bringing a product/solution quicker to the market to providing efficient troubleshooting support for customers. This also implies that business agility is a moving target and can be achieved partially and holistically depending upon the business objectives. The underlying thought behind business agility is the idea of continuous improvement to get better and better at what the organization does.

As your organization looks to be agile, SOA provides the foundation to do this. Due to operational insights and an understanding of the shared services within your organization, SOA can help accelerate what you are trying to achieve. An example of an organization that used SOA to become agile was Wachovia Bank. Using SOA, Wachovia was able to promote a product engineering mentality and make IT an advisor to the business (Ganesan, Suresh et al. “What Business Executives Must Know About SOA.” Cognizant White Paper (2007): n. pag. Bloom Group, 2007. Web.). In 2008, Wells Fargo bought Wachovia for $15.4 billion and when in 2014 Wells Fargo became the highest earning bank in the United States, its CEO gave credit to their smooth acquisition of Wachovia due their cultural similarities (Raice, Shayndi. “As Wells Fargo Hits Profit Milestone, CEO Gives Credit to Wachovia.” MoneyBeat RSS. The Wall Street Journal, 14 Jan. 2014. Web.). You can extrapolate that Wachovia’s SOA might also have been a factor in the smooth acquisition since most acquisitions fail due to cultural and technological differences.

2.3 Better Customer Experience:

If customer is king, then customer experience must be the only priority. Traditionally, organizations have considered customer experience to be the point of transaction when a purchase is made. But a more holistic view of customer experience entails the pre-sales and post-sale processes as well. Due to the many touch points (e.g., physical, website, mobile, social media etc.) of the customers with business; customer experience is not a point of transaction anymore. Forrester® goes on to say that in today’s era of empowered and always connected customers, organizations need customers more than the customers need organizations. [9] Forrester® goes on and talks about creating a “customer experience ecosystem” that entails the people, processes, policies and technologies. (Fenwick, Nigel. “Nigel Fenwick’s Blog.” Why Customer Experience Will Become The #1 CIO Priority. Forrester Research, 27 June 2013. Web.)

When you talk about customers, you have to take into account both the internal customers and the external customers. The ease by which internal customers can provide customized and quick services to external customers can increase productivity and improve the bottom line for your organization. An example of an organization where SOA was used to improve customer experience was The Hartfort Group, a $26 billion organization. By implementing SOA, The Hartfort Group was able to enable its agents to create, assemble and complete transactions with the external customers (Ganesan, Suresh et al., “What Business Executives Must Know About SOA”).

2.4 Reduced Technology Costs:

As discussed earlier, “spaghetti architecture” can prove to be costly to the organization due to duplicative business processes and the underlying technologies. These costs can quickly add up and start to affect the bottom line of your organization. On the flip side, since SOA allows reuse of services across many functional domains, this can free up money for other endeavors that your organization might be interested in pursuing. An example of this would be Starwood Hotels who are on their way to saving $20 million per year simply by moving from tightly coupled mainframe applications to loosely coupled SOA services (Ganesan, Suresh et al. “What Business Executives Must Know About SOA.” Cognizant White Paper (2007): n. pag. Bloom Group, 2007. Web.).

2.5 Creation of New Business Models:

In today’s competitive business landscape, organizations are continuously looking for ways to differentiate themselves from their competitors. This differentiation can also come in the form of determining new business models enabled by SOA services that would not have been possible in the past. Due to SOA, your organization can look across the various services and make intelligent decisions on what services can be combined to create additional value for the customer that in turn can increase the bottom line. An example of where SOA is best used and enforced is that of Amazon, a $74 billion online retailer (“Amazon Booms in 2013 With $74.45 Billion in Revenue.” Digital Book World. Digital Book World, 30 Jan. 2013. Web.). In 2002, Jeff Bezos of Amazon issued a mandate that stated, “All teams will henceforth expose their data and functionality through service interfaces” and “anyone who doesn’t do this will be fired” “The Secret to Amazons Success Internal APIs.” The Secret to Amazons Success Internal APIs. API Evangelist, 12 Jan. 2012. Web.). Bezos’s commitment to SOA and betting the entire future of the company speaks volumes about what SOA can do for an organization.

3. WHAT ARE THE CHALLENGES OF SOA?

So, while SOA provides great promise for your organization, it is by no means a panacea. Thus, you have to also carefully assess the following challenges that SOA brings to your organization:

3.1. Governance & Organizational Maturity:

Governance in a way is the policy of how things ought be done. It provides a framework in which business processes can operate under regulatory, time and other constraints. Thus, governance is an organizational responsibility even for SOA and not only an IT activity. In order to accomplish this, your organization should setup a governance board that consists of a cross-functional team from both business and IT. Additionally, governance should not only include the overall organization and management of SOA activities but also creation of success and failure measurements. These measurements should be used to actually determine the state of SOA within your organization instead of people doing vaporware measurements that have no grounds in reality.

3.2 Not Only an IT thing:

If the burden of implementing SOA across your entire organization is on IT then it takes away the business-side’s responsibility and involvement. While IT is responsible for creating SOA services but business has to work collaboratively with IT to define what those services are. Additionally, the business-side has to understand how did the current state of misalignment between business and IT came into being and how this can be avoided in the future. Thus, SOA is not an IT issue but an organizational endeavor that affects all parts of your organization.

3.3. Organizational Processes Need Reevaluation:

While the presence of too many point-to-point integrations in your organization can reduce your ability to be agile but there is a bigger perspective that you also have to consider. This perspective revolves around your organizational processes that led to misalignment in the first place. These organizational processes not only entail IT but also the business-side. Typically, IT does what business asks but then there has to be some mutual understanding that the requests for services have to be understood holistically. Even after SOA migrations, if your organizational processes are not optimized they might still result in ad-hoc requests from the business leading back to point-to-point tightly couple services that you try to avoid in SOA.

3.4. Long-Term View of Legacy Systems is Needed:

In the short term, it may seem like a good idea to not replace your organizational legacy systems but in the long term there are issues when you do this. These issues entail the constant “patching” to upgrade underlying hardware and software in addition to overburdening legacy systems where new services are being added on top of systems that should be replaced rather than being continued to extend their life. While it may not be possible to replace legacy systems altogether but you should have a plan to retire these systems with new systems eventually.

3.5. No Measurement Means No ROI:

If your organization does not measure pre-SOA activities then how would you know if what SOA promised for your organization is what you really wanted to achieve. So, since SOA often requires long-term commitment from both business and IT, you have to develop performance metrics upfront before you embark on your journey towards SOA-fication.

4. CONCLUSION

Due to your organization’s desire to compete in today’s competitive business landscape, you have to carefully weigh the benefits of SOA’s value in terms of operational efficiencies and organizational improvements. Based on the information provided above, using SOA will help your organization have enhanced operational insights which can increase your organization’s agility to provide better customer experiences, reduce technology costs and explore new business models. Also, you need to keep in mind that SOA presents the challenges of honestly looking at yourselves in terms of maturity and business-IT collaboration by having a long-term view of what you want your systems to accomplish and how you measure what success looks like. Consequently, if you lack foresight into how SOA can be used as a business transformation effort then your desire to be the best would just be a pipedream.

References:

  1. “Service.” Merriam-Webster. Merriam-Webster, n.d. Web. <http://www.merriam-webster.com/dictionary/service&gt;.
  2. Linthicum, David. “Chapter 1: Service Oriented Architecture (SOA).” Chapter 1: Service Oriented Architecture (SOA). Microsoft, n.d. Web. <http://msdn.microsoft.com/en-us/library/bb833022.aspx&gt;.
  3. “Oracle SOA – Service-Oriented Architecture.” Service Oriented Architecture. Oracle, n.d. Web. <http://www.oracle.com/ca-en/products/middleware/soa/overview/index.html&gt;.
  4. Erl, Thomas et al. “SOA Manifesto.” SOA Manifesto. N.p., Oct. 2009. Web. <http://www.soa-manifesto.org/&gt;.
  5. “Why Enterprise Architecture?” YouTube. Mastering ArchiMate, 19 Apr. 2013. Web. <http://www.youtube.com/watch?v=qDI2oF1bASk&gt;.
  6. Ganesan, Suresh et al. “What Business Executives Must Know About SOA.” Cognizant White Paper (2007): n. pag. Bloom Group, 2007. Web. <http://bloomgroup.com/sites/all/files/Cognizant%20SOA%20paper.pdf&gt;.
  7. Raice, Shayndi. “As Wells Fargo Hits Profit Milestone, CEO Gives Credit to Wachovia.” MoneyBeat RSS. The Wall Street Journal, 14 Jan. 2014. Web. <http://blogs.wsj.com/moneybeat/2014/01/14/as-wells-fargo-hits-profit-milestone-ceo-gives-credit-to-wachovia/&gt;.
  8. Fenwick, Nigel. “Nigel Fenwick’s Blog.” Why Customer Experience Will Become The #1 CIO Priority. Forrester Research, 27 June 2013. Web. <http://blogs.forrester.com/nigel_fenwick/13-06-27-why_customer_experience_will_become_the_1_cio_priority&gt;.
  9. “Amazon Booms in 2013 With $74.45 Billion in Revenue.” Digital Book World. Digital Book World, 30 Jan. 2013. Web. <http://www.digitalbookworld.com/2014/amazon-booms-in-2013-with-74-45-billion-in-revenue/&gt;.
  10. “The Secret to Amazon’s Success Internal APIs.” The Secret to Amazon’s Success Internal APIs. API Evangelist, 12 Jan. 2012. Web. <http://apievangelist.com/2012/01/12/the-secret-to-amazons-success-internal-apis/&gt;.

 

What is the relationship between Cloud Computing and SOA?

According to the publication from Mitre, Cloud Computing and Service Orientated Architecture (SOA), cloud computing has many services that can be viewed as a stack of service categories. These service categories include Infrastructure-as-a-Service (IaaS, Platform-as-a-Service (PaaS), Storage-as-a-Service, Components-as-a-Service, Software-as-a-Service (SaaS) and Cloud Clients. The following figure shows the service categories stack as depicted in the Mitre publication:

Mitre's Cloud Stack

Mitre’s Cloud Stack

SOA is a framework that allows business processes to be highlighted to deliver interoperability and rapid delivery of functionality. It helps system-to-system integration by creating loosely coupled services that can be reused for multiple purposes. The concept of SOA is similar to Object-Orientated Programming where objects are generalized so that they can be reused for multiple purposes.

Now that we have an understanding of the various types of Cloud Computing services and SOA, lets explore how Cloud Computing and SOA are similar and different.

Similarities between Cloud Computing and SOA:

  • Reuse – Conceptually speaking, the idea of reuse is inherent both in Cloud Computing and SOA.
  • As needed basis – In Cloud Computing, the services are provided to the users on demand and as needed. SOA is similar to this since the system-to-system services are on demand and as needed as well.
  • Network Dependency – Cloud Computing and SOA both require an available and reliable network. If a network does not exist then the cloud services provided over the Internet would not be possible. Similarly, if a network does not exist then the communications between systems would not be possible. Thus, both Cloud Computing and SOA are dependent on a network.
  • Cloud Contracts – In Cloud Computing, contracts entail the mutual agreement between an organization and cloud service providers. In cloud contracts, there is a cloud service provider and a cloud service consumer (the organization). In the case of SOA, contracts are important and can be either external (e.g., Yahoo! Pipes) and/or internal (e.g., organizational system integration). In SOA contracts, there are service producer(s) and service consumer(s) that are conceptually similar with cloud contracts.

Differences between Cloud Computing and SOA:

Despite the similarities between Cloud Computing and SOA, they are not the same. Following are some of the differences between them:

  • Outcome vs. Technology – In Cloud Computing, we are paying for the outcome but in SOA we are paying for technology.
  • External vs. External and/or Internal Point-of-View – In Cloud Computing, the services that organizations get are from external organization but in SOA these services can be either from external organizations (e.g., Yahoo! Pipes) and/or internally (e.g., system-to-system integration between two or more systems).
  • IaaS, PaaS, SaaS vs. Software Components – In Cloud Computing, the services provided can go up and down the stack but in SOA the services are software components.

References:

  1. Raines, Geoffrey. “Cloud Computing and SOA.” The MITRE Corporation. The MITRE Corporation, Oct. 2009. Web. http://www.mitre.org/publications/technical-papers/cloud-computing-and-soa
  2. Gedda, Rodney. “Don’t Confuse SOA with Cloud.” CIO. CIO Magazine, 28 July 2010. Web. http://www.cio.com/article/2414614/cloud-computing/don-t-confuse-soa-with-cloud.html

SOA Migration Case Studies and Lessons Learned – A Critical Review

Service Orientated Architecture (SOA) is a framework that allows business processes to be highlighted to deliver interoperability and rapid delivery of functionality. The benefits of SOA include reuse of generalized services, reduce costs and better business and IT alignment. If done correctly, it helps an organization respondent to ever-changing business needs efficiently. If done incorrectly, it can create bureaucracy and silos. This article evaluates the decisions, assumptions and conclusions made by the research paper, SOA Migration Case Studies and Lessons Learned.

In the research paper, two research and evaluation methods are used to assess different cases for SOA. The first method is the Case Study Method where the researchers develop a theory and based on that theory they develop criterions to select the case studies that will be assessed. This Case Study Method is shown below:

Case Study Method

Case Study Method

The second method uses a customized version of the Evolution Process Framework (EPF) to evaluate SOA. This customized version is called EPF4SOA and the phases involved in the evaluation are shown below:

EPF4SOA Phases

EPF4SOA Phases

With the research and evaluation methods in place, the research paper goes on to assess three multibillion-dollar organizations that have been around for at least 50 years. These organizations have legacy systems that have become archaic and thus they are unable to respond to rapidly changing business needs. Keeping these limitations in mind, these organizations go on the path to extract as much functionality from these legacy systems as possible by creating SOA services that could be used in the organization. Based on the EPF4SOA, the research paper goes on to claim that for effective SOA migration, organizations need to have a strong business case, services design, technology selection, SOA governance and education and training.

As we read this report, it seems obvious that the researchers have done a good job of evaluating these large organizations from the finance and telecommunications sectors and in highlighting the lessons learned on SOA migrations. However, this research has made some decisions and assumptions that need to be understood. Firstly, in the Case Study Method, there seems to be an element of confirmation bias when the cases being selected are based on an initial theory. This confirmation bias can lead to selecting cases that fit what the researchers are looking for rather than selecting cases and then determining what theories can be derived from those cases. Secondly, the research looks at organizations that have been around for a long time and by their very nature are most likely to have legacy system issues and make the assumption that other organizations would have the same issues. Lastly, the research report alludes to that SOA can help in business and technology alignment but does not take into account strong leadership and organizational change management capabilities that are needed for SOA migrations.

Keeping the above in mind and carefully reading the case descriptions, we can extrapolate that there might be some potential challenges in the cases being presented in this report. These potential challenges are explained below:

  1. SOA is not only an IT concern: One of the lessons learned in this report indicates the need for a strong business case for SOA developed by IT in order to get management support. The fundamental problem with this lessons learned is that it automatically puts the burden of implementing SOA across the entire organization on IT and takes it away from the business-side’s responsibility and involvement with SOA. While IT is responsible for creating SOA services but business has to work collaboratively with IT. Business has to understand how the organization came to a point where it became difficult for quick system changes and how to avoid situations like this in the future. Thus, SOA is not only an IT issue but an organizational endeavor that involves all parts of the organization as well.
  2. Organizational processes need to be reevaluated: One of the cases mentions the presence of too many point-to-point integrations that is reducing the ability of the organization to be more agile. While this might be the case but there is a bigger prospective here that is missing. This perspective revolves around organizational processes in place that led to this in the first place. These organizational processes not only entail IT but also the business side. It seems like in this case IT would do what businesses ask them to but there has to be some mutual understanding that the requests have to be understood holistically. Even after a SOA migration, if these organizational processes are not optimized they might still result in ad-hoc requests from the business leading back to point-to-point integrations.
  3. Long-term view on legacy systems is needed: The cases in the report indicate that replacing the legacy systems was not an option since it would be costly to do this. While in the short-term this seems like a good idea but in the long-term there are issues with this approach. These issues entail the constant “patching” to upgrade underlying hardware and software in addition to overburdening legacy systems where new services are being added on top of systems that should be replaced rather than being continued to extend their end of life. While for some organizations it might not be possible to replace legacy systems altogether but there should be a plan to retire these systems with new systems eventually.
  4. No measurements means no ROI exists: While some organizations in the research report did measure SOA migrations ROI but that was done after the fact. So, if the organizations were not measuring pre-SOA how would they know if what SOA migrations promised is what the organization was able to achieve. Herein lies the problem where quantification and justification is made to show SOA being a success without doing the due diligence before embarking on the SOA journey.

In addition to the above identified problems, the research report does not put enough emphasize on the importance of governance that is needed for SOA. Lets explore what is governance and why it could be one of the differentiating factors in SOA migrations.

Governance: Governance is the policy of how things should be done and provides a framework in which business processes can operate under regulatory, time and other constraints. Thus, governance is an organizational responsibility even for SOA and not only an IT one. In order to accomplish this, a governance board should be setup that consists of a cross-functional team from both IT and business. Additionally, governance should not only include the overall organization and management of SOA activities but also creation of success and failure measurements. These measurements should be used to actually determine the state of SOA within the organization instead of people doing vaporware measurements that have no grounds in reality.

In conclusion, while the research report is interesting in its own right but it should not be taken as the only lessons learned for successful SOA migrations. Based on a few cases these lessons learned cannot be applied across various organizations such as smaller organizations, governments and nonprofits but should be taken with a grain of salt. The lessons learned should be a start but not the bible for successful SOA implementations. A successful SOA implementation will depend upon context, processes, technologies and people since broadly speaking SOA is an organizational change management journey.

References:

1. SOA migration case studies and lessons learned