written 6.2 years ago by |
A service-oriented architecture is essentially a collection of services. These services communicate with each other. The communication can involve either simple data passing or it could involve two or more services coordinating some activity. Some means of connecting services to each other is needed.
A service provider can be in a Cloud or not in a Cloud and a service-oriented architecture (SAO) can involve any combination of Clouds and Non-Clouds as is illustrated in the figure below. SOA has two major functions. The first is to create a broad architectural model that defines the goals of applications and the approaches that will help meet those goals. The second function is to define specific implementation specifications, usually linked to the formal Web Services Description Language (WSDL) and Simple Object Access Protocol (SOAP) specifications.
MAJOR OBJECTIVES OF SOA
There are three major objectives of SOA, all which focus on a different part of the application lifecycle.
The first objective aims to structure procedures or software components as services. These services are designed to be loosely coupled to applications, so they are only used when needed. They are also designed to be easily utilized by software developers, who have to create applications in a consistent way.
The second objective is to provide a mechanism for publishing available services, which includes their functionality and input/output (I/O) requirements. Services are published in a way that allows developers to easily incorporate them into applications.
The third objective of SOA is to control the use of these services to avoid security and governance problems. Security in SOA revolves heavily around the security of the individual components within the architecture, identity and authentication procedures related to those components, and securing the actual connections between the components of the architecture.