Home  >  Article  >  Backend Development  >  Basic characteristics of SOA series

Basic characteristics of SOA series

黄舟
黄舟Original
2017-02-23 10:19:541944browse

The previous blog has introduced the basic concepts of SOA. At this point we should have a basic understanding of the programming concept of SOA. Today we will continue to introduce some basic features of SOA to help everyone have a deeper understanding. SOA.

Each mature architecture system will have its own characteristics and ideas. Below we will introduce the characteristics of SOA from five aspects.


Service Autonomy

The service autonomy principle requires a single service The underlying logic control should be as independent and self-contained as possible, and the service does not depend on the client or other services accessing it. Services can be deployed independently and implement versioning and security policies.

Rely on open standards

One of the goals of SOA is to enable services developed by different vendors to interoperate, so they need to rely on an An open standard that is generally accepted by different manufacturers. SOA adopts a message-based communication method. From the perspective of message exchange, it requires the standardization of the message itself. In this method, the use of SOAP (Simple Object Access Protocol) message provides consistency for the content carried by the message. express. In addition, when SOA is truly used in enterprise-level applications, additional factors need to be considered, such as message security, reliable transmission, transaction support, etc. To achieve true cross-platform operation, an open standard is also required to implement the interoperability of these features. In this regard, some mainstream IT vendors such as Microsoft, IBM and BEA have joined forces with some international organizations such as W3C, OASIS, WS-1, etc. to make great contributions to the designation of standards and specifications. These standards and specifications define on the web Service specification.

Support cross-platform

Being able to communicate between different platforms is the main motivation for SOA. It is precisely because of the open standards adopted by SOA that cross-platform can be realized. The biggest benefit of cross-platform is that it promotes the integration of heterogeneous systems and enables Java applications to call service interfaces exposed by the .NET platform. In addition, using standard services to implement logical encapsulation enables the reuse of historical legacy applications, and also provides enterprises with a shortcut to save costs.

Composition and reuse

Different services have different granularities according to the difference in the size of the provided functions. We can turn services that provide the smallest granular function implementation into atomic services, and multiple atomic services can be orchestrated into a new aggregated service through reasonable combinations. Reuse of functions is a constant theme in my software design philosophy, and SOA encourages the creation of services with high reuse. On the other hand, the composition of services also promotes the reuse of services. In order to improve the reuse of services, SOA even emphasizes the creation of scenario-independent services, so that the same services can be used in solutions in different scenarios.

Loose Coupling

SOA implements client calls to services through contracts. Both parties only need to adopt matching contracts to ensure normal operation. Intercourse. Contract-based service exchanges further promote the autonomy of services. As long as the contract does not change, the implementation of the service itself can change freely, so the degree of coupling is extremely low.

This is all about the basic features of SOA. The following blog will continue to update more in-depth content about SOA. Please continue to pay attention!

The above is the content of the basic features of the SOA series. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn