What is SOA?

Source: Internet
Author: User

Architects of enterprise systems believe that SOA can help businesses quickly and efficiently respond to changing market conditions [1]. the service-oriented architecture is macro (service), rather than micro (object) to improve reuse. At the same time, the service-oriented architecture can simplify the interconnection and use with traditional systems.

In a sense, a service-oriented architecture can be considered an evolution rather than a revolution. It captures many of the best practices or practical applications of the previous architecture. For example, in communication systems, solutions with limited progress in recent years usually adopt completely static binding to communicate with other devices in the network. However, if SOA is adopted, the solution can be better positioned, in this way, the importance of clearly defined and highly cross-platform operation interfaces is highlighted. [2]

Some people question whether the service-oriented architecture is modular programming in the 1970 s, event-oriented design in the 1980 s, and a revival of Interface/component design in the 1990 s? (1990 s ). The service-oriented architecture improves the goal of separating users from services. Services can run on different servers and be accessed through the network. This greatly increases service reuse.

Principles of SOA

The following guiding principles are the basic principles for developing, maintaining, and using SOA [3]

Reusable, granularity, modular, composite, componentized, and interactive operation
Compliant with open standards (general or industrial)
Service identification and classification, provision and release, monitoring and tracking.
The following are some specific Architecture Principles:

Service Encapsulation
Loosely coupled-the relationship between services is minimized, but they only know each other.
Service Contract-services act according to the service contract defined in the service description document.
Service abstraction-in addition to the content described in the service contract, the Service hides the logic from the outside.
Service reusability-Distribution of logic in different services to improve service reusability.
Service Composition-a group of services can be coordinated and combined to form a composite service.
Service autonomy-the service has control over the encapsulated Logic
Service stateless-the service minimizes the information to be saved for an activity.
Discoverability of a service-the service needs to provide descriptive information to the outside, so that the service can be discovered and accessed through the existing discovery mechanism. [4]
In addition, when defining an SOA implementation, consider the following factors:

Lifecycle Management
Effective use of system resources
Service maturity and Performance
Service-Oriented Architecture and Web Service protocols

A service-oriented architecture is usually defined as a service exposed through the Web service protocol stack. The standards of SOA-related Web services mainly include:

XML-A markup language used to describe data in a message in document format.
HTTP (or HTTPS)-the protocol between the client and the server that sends requests/Replies for information transmission.
SOAP (Simple Object Access Protocol)-a Protocol for exchanging XML-based messages on a computer network. HTTP is usually used.
WSDL (Web Service Description Language)-based on the XML Description Language, used to describe the public interface of the service required for service interaction, Protocol binding, and Message format.
UDDI (Universal Description, Discovery, and Integration) (unified Description, Discovery, and Integration)-based on the XML Registration Protocol, used to publish WSDL and allow third parties to discover these services.
Note that these protocols are not required for a system to become a service-oriented system. For example, some service-oriented systems can be implemented through CORBA.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.