Define SOA. What are its benefits?
A service-oriented architecture (SOA) service exposes a clearly defined activity like credit card validation to consuming business applications that might need to perform that function (such as an order processing application). At the core of the service-oriented architecture philosophy is the modularization of business functions for greater flexibility, manageability, and reusability. With thoughtful engineering and an enterprise point of view, SOA offers positive benefits which are as follows-
Language-neutral Integration-
The foundational contemporary Web services standards use an extensible markup language, which is focused on the creation and consumption of delimited text. Regardless of the development language used, these systems can offer and invoke services through a common mechanism. Programming language neutrality is a key differentiator from past integration approaches.
Component Reuse –
Given current Web service technology, once an organization has built a software component and offered it as a service, the rest of the organization can then utilize that service. With proper service governance, emphasizing topics such as service provider trust, service security, and reliability, Web services offer the potential for aiding the more effective management of an enterprise portfolio, allowing a capability to be built well once and then shared. Multiple components can be combined to offer greater 3) capabilities in what is often termed “orchestration“.
Organizational Agility-
SOA defines building blocks of software capability in terms of offered services that meet some portion of the organization’s requirements. These building blocks, once defined and reliably operated, can be recombined and integrated rapidly.
Leveraging Existing Systems –
One common use of SOA is to define elements or functions of existing application systems and make them available to the enterprise in a standard agreed-upon way, leveraging the so substantial investment already made in existing applications. The most compelling business case for SOA is often made regarding leveraging this legacy investment, enabling integration between new and old systems components.
What do you understand by service-oriented architecture (SOA)?
SOA is a specification and a methodology for providing platform and language-independent services for use in distributed applications. SOA describes a message-passing taxonomy for a component-based architecture that provides services to clients upon demand. Clients access a component that complies with SOA by passing a message containing metadata to be acted upon in a standard format. The component acts on that message and returns a response that the client then uses for its own purpose. Service consumers and service providers do not pass messages directly to each other. Implementations of SOA employ middleware software to play the role of the transaction manager and translator. This architecture does not contain executable links that require access to a specific API. The message presents data to the service and the service responds. It is up to the client to determine if the service returned an appropriate result. An SOA is then seen as a method for creating an integrated process as a set of linked services. The component exposes itself as an “endpoint“ to the client.
How does it support cloud computing? Explain.
A protocol stack for an SOA architecture and how those different protocols s execute the functions required in the SOA is shown in Fig. 1.1. In the figure, the box labeled other services cloud includes Remote procedure calls, Jini, common object request broken architecture, distributed common object model, windows communication foundation, Representational state transfer, and other technologies and protocols. It is this flexibility and neutrality that makes SOA so useful in designing complex applications.
What are the basic and key features of SOA?
Basic Features –
The basic features of SOA are as follows-
(i) Separate functional entity.
(ii) Access to large amounts of data under a low frequency.
(iii) The way to transmit a message based on text.
Key Features –
The key features of SOA are as follows –
(i) Providing application development and integrated architecture, strategy on the level of thought way, and no longer only focusing on the technical level.
(ii) Providing a model of a component that is a functional unit that can be used.
(iii) Providing a way to integrate the functional units and make them interact with each other.
(iv) Providing standardized interfaces, which are independent of the operating systems, hardware platforms, and programming languages.
Describe the integration between SOA and cloud computing.
The core of SOA is the service, which packages all components as services. It solves the problem of business requirements in the form of service. And the specifications of Web service which is one of the realizable mechanisms of SOA, have many characteristics, such as standard, simple, cross-platform, cross-operating system, and cross-language. It is generally followed by grid computing and cloud Computing. Thus, cloud computing as a new Web service based on the SOA, can easily coexist with other Web services and can interoperate with each other. But users, just need to know what kind of service they need, just need to understand how to access services without having to know who is to provide services in the end.
SOA is a software-oriented structure, allowing enterprises to get more than one service (a service that is a function module) from the service provider, and then form a service that they need through a combination of different mechanisms. All resources are services in cloud computing the enterprises can purchase hardware services, platform services, and software services from the cloud computing provider, and make the resources they have bought as a service provider. The cloud services offer a number of services that are available to be integrated into the SOA. Since the function provided by a single cloud service is often unable to meet the business needs, so we need to integrate and combine cloud services to solve the specific business problems, and SOA services can be effectively integrated and combined. So it is both necessary and possible to integrate the two.
It can be said that the cloud computing integrates lots of advantages of the SOA’s technologies and ideas. There is the possibility of integration between cloud computing and SOA. We can see from Fig. 1.2 that there are two ways possible to integrate the SOA and cloud computing-
One is SOA provides services totally depending on using cloud computing, the other one is SOA provides services partly depending on using cloud computing. It should be noted that standards should be made between SOA and laas, SaaS and PaaS. Only in this way, it can be possible to achieve interoperability between the two and to achieve the blend between the two.
The ideal way of integration between SOA and cloud computing is seamlessly integrating the SOA into the cloud computing platform and adopting cloud computing to provide services.