Service-Oriented Architecture (SOA)

Cloud Computing depict a broad movement towards internet and the use of WAN and enable smooth interaction between IT service providers of many types and consumers. Cloud technology brings with it a large number of key benefits and risks. These includes:

  • Outsourcing to cloud-providers
  • Dependence on network
  • Dependence on Cloud Providers
  • Information Assurance

DoD has some Cloud computing considerations that includes:

  • Economies of Sale
  • Key Obstacles
  • Enabling Service Focus

Defining SOA

SOA (Service Oriented Architecture) is built on computer engineering approaches that offer an architectural advancement towards enterprise system. It describes a standard method for requesting services from distributed components and after that the results or outcome is managed. The primary focus of this service oriented approach is on the characteristics of service interface and predictable service behavior. Web Services means a set or combination of industry standards collectively labeled as one. SOA provides a translation and management layer within the cloud architecture that removes the barrier for cloud clients obtaining desired services. Multiple networking and messaging protocols can be written using SOA's client and components and can be used to communicate with each other. SOA provides access to reusable Web services over a TCP/IP network, which makes this an important topic to cloud computing going forward.

Benefits of SOA

With high-tech engineering and enterprise point of view, various offers are provided by SOA which proved to be beneficial. These are:

  • Language Neutral Integration: Regardless of the developing language used, the system offers and invoke services through a common mechanism. Programming language neutralization is one of the key benefits of SOA's integration approach.
  • Component Reuse: Once an organization built an application component, and offered it as a service, the rest of the organization can utilize that service.
  • Organizational Agility: SOA defines building blocks of capabilities provided by software and it offers some service(s) that meet some organizational requirement; which can be recombined and integrated rapidly.
  • Leveraging Existing System: This is one of the major use of SOA which is to classify elements or functions of existing applications and make them available to the organizations or enterprise.

Key Benefits Along With Risks of SOA

  • Dependence on the network
  • Provider cost
  • Enterprise standards
  • Agility

SOA Architecture

SOA architecture is viewed as five horizontal layers. These are described below:

  • Consumer Interface Layer: These are GUI based apps for end users accessing the applications.
  • Business Process Layer: These are business-use cases in terms of application.
  • Services Layer: These are whole-enterprise, in service inventory.
  • Service Component Layer: are used to build the services, such as functional and technical libraries.
  • Operational Systems Layer: It contains the data model.

SOA Governance

It is a notable point to differentiate between It governance and SOA governance. IT governance focuses on managing business services whereas SOA governance focuses on managing Business services. Furthermore in service oriented organization, everything should be characterized as a service in an organization. The cost that governance put forward becomes clear when we consider the amount of risk that it eliminates with the good understanding of service, organizational data and processes in order to choose approaches and processes for policies for monitoring and generate performance impact.

SOA Architecture and Protocols

Here lies the protocol stack of SOA showing each protocol along with their relationship among each protocol. These components are often          programmed to comply with SCA (Service Component Architecture), a language that has broader but not universal industry support. These components are written in BPEL (Business Process Execution Languages), Java, C#, XML etc and can apply to C++ or FORTRAN or other modern multi-purpose languages such as Python, PP or Ruby. With this, SOA has extended the life of many all-time famous applications.

Security in SOA

With the vast use of cloud technology and its on-demand applications, there is a need for well - defined security policies and access control. With the betterment of these issues, the success of SOA architecture will increase. Actions can be taken to ensure security and lessen the risks when dealing with SOE (Service Oriented Environment). We can make policies that will influence the patterns of development and the way services are used. Moreover, the system must be set-up in order to exploit the advantages of public cloud with resilience. Users must include safety practices and carefully evaluate the clauses in these respects.

Elements of SOA

Here's the diagrammatic figure showing the different elements of SOA and its subparts:

Figure - Elements Of SOA:

Though SOA enjoyed lots achieving the success in the past, the introduction to cloud technology with SOA, renewed the value of SOA.