官术网_书友最值得收藏!

SOA versus MSA

Service-oriented architecture is a way to design software where the business services communicate through a standard communication protocol, usually Simple Object Access Protocol (SOAP), over a network. The main target of an SOA is to be independent of vendors, products, and technologies. The principal unit of an SOA is the service—a small unit of functionality that can be accessed remotely, and acted upon and updated independently.

The communication between services happens via direct exchange of data or it could involve two or more services that are coordinated by an orchestrator, Enterprise Service Bus (ESB) that is responsible for managing the execution flow.

There are two main roles in an SOA—a service provider and a service consumer. The first one is the service that's defined within the SOA while the second one is the point where consumers interact with the SOA. In addition, the data storage is shared within all services in an SOA.

The problem, however, is that an SOA is usually associated with an ESB, which is used to integrate monolithic applications—it is identified as a complex architecture, difficult to scale, and extremely coupled with proprietary vendor solutions. So it's sometimes difficult to think about SOAs in a positive manner.

After massive dissemination and utilization of SOA platforms at the beginning of the 2000s, there was a slow and progressive decline of this architecture due to the reasons we described earlier.

However, MSAs can be seen as an evolution of SOAs—many of the techniques defined in microservice specifications were born and consolidated from the experiences of developers who used them in large enterprise organizations using service-oriented architecture and patterns. For this reason, MSAs are receiving increasingly positive feedback from the community and their use is rapidly expanding among enterprise companies.

主站蜘蛛池模板: 鄂托克前旗| 富川| 五华县| 建德市| 昭通市| 博野县| 玛纳斯县| 咸丰县| 巴林左旗| 黄龙县| 佳木斯市| 施甸县| 舒兰市| 张家界市| 肥乡县| 新津县| 图木舒克市| 金寨县| 罗江县| 灵山县| 大荔县| 米脂县| 寿阳县| 明溪县| 定南县| 玉林市| 利津县| 平乐县| 垦利县| 清徐县| 彰武县| 沈丘县| 永兴县| 松阳县| 邢台县| 开江县| 建平县| 永仁县| 新巴尔虎右旗| 启东市| 宜君县|