An Introduction to Service-Oriented Architecture

Today’s application development landscape is paired with many buzzword methodologies and practices: Agile, DevOps, and Microservices, to name a few. Today, I aim to help you gain a foundational understanding of the Service-Oriented Architecture (SOA) methodology, its benefits, and whether it’s a good fit for your organization or not.

Figure 1: SOA Model [2].

According to CIO staff members at CIO.com, SOA is an overarching [software] development strategy based on the concept of building software assets using the service-oriented programming (SOP) methodology [1]. SOP is based on the premise of creating blocks of code (services) that are reusable and can be integrated with many platforms throughout an organization.

As an IT leader within a mid-sized financial institution, I can relate to the example provided by CIO.com. Imagine a financial institution and its services, such as various loans, investments, insurance sales, etc. Each one of these services has its own information system used to drive its business processes. Each information system would likely need the ability to perform a credit check on a potential customer. In many cases, each system has its own mechanism for performing a credit check. CIO.com’s example of SOA is creating a singular, reusable service called “get credit rating” that can be integrated with all the information systems that need to perform a credit check, eliminating the need to “reinvent the wheel”.

Organizations using SOA will realize many tactical and strategic benefits. According to Gartner Inc., creating reusable software components, like the “get credit rating” service mentioned above, can lead to productivity increases and at least a 30% reduction in new development implementation costs [1]. In addition to reusable software and productivity increases, CIO.com says that increased agility is another tactical advantage of SOA. ProFlowers.com is a prime example of increased agility. The organization only has one line of business (selling flowers), so reusable code doesn’t offer an enormous benefit; however, ProFlowers.com found other benefits of implementing the SOA methodology. By breaking apart their monolithic system, they were able to design and build a system comprised of individual software components. This enabled ProFlowers.com to scale its system during peak transaction volume times such as Valentine’s Day and allows them to upgrade individual processes without tearing apart the entire system.

In addition to its tactical benefits, the SOA methodology also has strategic benefits. SOA better aligns the various businesses within an organization by illustrating the big picture of all business processes and flows within the organization. In addition, SOA helps unify the lines of business and IT regarding the importance of Enterprise Architecture (EA). To be candid, an EA deep dive isn’t for everyone, especially since the return on investment (ROI) is often opaque to the business. SOA provides tangible value to the company through its tactical benefits: reusable services, improved productivity, and improved agility.

SOA introduces several benefits to an organization, but is SOA the right methodology for your organization? The answer is “it depends.” CIO.com says SOA may be a good fit if your organization is large and complex, meaning it has “more than two primary systems that require some level of integration” [1]. Companies that have enjoyed the most success with their SOA implementation journeys are big companies with large IT budgets whose business is technology-based, such as telecom and financial services [1].

Adopting the SOA methodology often requires a heavy upfront investment of time and money. It will require the support of senior executives to pave the way for IT to dive into the core business processes of the organization [1]. Organizations need to adopt SOA across the entire organization and establish centralized architecture design, software development, and governance practices to ensure uniformity. Organizations will not realize maximum benefit if SOA is adopted in silos. Services built by siloed teams may have little potential to be reused across the organization.

In summary, the SOA methodology is primarily based on creating small blocks of code to form reusable services across an organization. The methodology offers several benefits but is often associated with high upfront implementation costs. Small or decentralized companies may find it challenging to implement the SOA methodology.

References

[1] CIO Staff, “SOA definitions and solutions,” 19 March 2007. [Online]. Available: https://www.cio.com/article/272203/service-oriented-architecture-soa-definition-and-solutions.html. [Accessed 11 September 2022].

[2] J. Rehman, “Advantages and disadvantages of service oriented architecture,” IT Release, [Online]. Available: https://www.itrelease.com/2018/10/advantages-and-disadvantages-of-service-oriented-architecture-soa/. [Accessed 11 September 2022].

Exploring the EA Application Layer

Figure 1: Domains/Layers of Enterprise Architecture [1].

According to Adam Getz, Program Manager at Excelity, the primary goal of Enterprise Architecture (EA) is to align business and information technology (IT) objectives across the organization. EA enables the process of planning and designing business and IT capabilities across the organization [1]. Getz explains that EA is broken down into four domains or layers: (1) Business, (2) Data, (3) Application, and (4) Technology. The domains (layers) of EA are illustrated in Figure 1.

Every layer of the EA stack is essential and brings important organizational components to light. This blog post will explore the Application Layer and its shift toward modern application architecture. The most basic way to summarize the application layer is the thought of the end-to-end structure of applications. The application layer serves many purposes, from providing an application inventory to support portfolio management to deep diving into architectures such as microservices and data streams [2]. Mike Rose of Technology Transfer says, “The application domain is critical in providing interoperability in support of user experience, in providing flexible services, and managing cost and complexity.” [2].

Application architecture has come a long way in a relatively short time. As a result, modern-day application architecture is shifting in many ways. The first noticeable shift is from monolithic application architectures to modern architectures such as microservices. The second significant shift is the platforms organizations use to host their application architecture, shifting from traditional on-premises applications and supporting infrastructure to Software as a Service (SaaS), Infrastructure as a Service (IaaS), and Platform as a Service (PaaS) offerings.

Traditional application architectures tend to be tightly coupled, monolithic, and complex architectures with large code bases, typically hosted within the organization’s datacenter(s) (on-premises [on-prem]), although not exclusively on-prem. Pictured in Figure 2 (below) is one of the most common architectures you may encounter, a three-tiered stack consisting of web/presentation, application, and database tiers. In these architectures, you will find network infrastructure (firewalls, load balancers, etc.) and server infrastructure (custom-coded or off-the-shelf applications and database back-ends). According to Talend, these systems are designed to handle multiple related tasks. The tightly coupled nature of these systems makes them difficult to manage and update, where an update to a single component of the system could cause an outage of their entire system.

Figure 2: Three-tier application stack [3].

Modern application architecture introduces new technologies and methodologies, such as the Mesh App and Service Architecture (MASA). Gartner Inc. describes the MESA model as providing an evolutionary approach that enables development teams to iteratively and continuously modernize an organization’s applications in direct response to business priorities [4]. The MASA model combines three elementary architectural concepts that support digital business requirements; they are: (1) multi-experience, (2) mediated APIs, and (3) multigrained services. Figure 3 provides an overview of how the three concepts integrate.

Figure 3: MASA Model [4].

The second shift is in the infrastructure that supports the application architecture. Today, many organizations are strategically reducing their data center footprint by using “as a service” solutions such as IaaS, PaaS, and SasS. Utilizing “as a service” offers numerous benefits to an organization, including cost reductions, eliminating the need to purchase and manage hardware, eliminating the need to update software, and increasing system availability. “As a service” platforms are trending in many industries today.

In summary, application architecture is not a new concept to organizations; however, modern application architecture design and delivery are rapidly transforming how organizations design and operate systems and do business today. As a result, the application architecture layer of EA is critical to all Lines of Business within an organization. It plays a significant role in fusing technology infrastructure to conduct business.

References

[1] A. Getz, “Enterprise Architecture – Domains and Pillars,” 16 September 2021. [Online]. Available: https://www.linkedin.com/pulse/enterprise-architecture-domains-pillars-getz-pmp-csm-aws-cmmi/. [Accessed 10 September 2022].

[2] M. Rosen, “Understanding enterprise architecture domains,” January 2021. [Online]. Available: https://technologytransfer.it/understanding-enterprise-architecture-domains/. [Accessed 10 September 2022].

[3] “Three tier architecture: the beginning,” 11 February 2018. [Online]. Available: https://medium.com/coffeetechandme/three-tier-architecture-the-beginning-2d2f6063fa1e. [Accessed 10 September 2022].

[4] “Monolithic vs. Microservices: a guide to application architecture,” [Online]. Available: https://www.talend.com/resources/monolithic-architecture/. [Accessed 10 September 2022].