面向服务的体系结构
面向服务的体系结构(SOA)在本世纪初随着分布式计算的发展而出现。 在SOA之前, 服务被理解为应用程序开发过程的最终结果。 在SOA中,应用程序本身由服务组成。 服务可以单独交付,也可以作为组件组合到更大的复合服务中。
服务使用诸如REST或SOAP (简单对象访问协议)之类的协议在线进行交互。 服务是松散耦合的 ,这意味着服务接口独立于基础实现。 开发人员或系统集成商可以将一个或多个服务组合到一个应用程序中,而不必知道每个服务的实现方式。
本文概述了Java SOA和使用基于SOAP的Web服务实现的面向服务的体系结构的关键特性。 我还将简要比较SOA和微服务,并讨论RESTful和Java中基于SOAP的Web服务之间的区别。
SOA和Web服务
SOA和Web服务经常合并在一起,但是它们不是一回事。 SOA是允许开发人员将多个应用程序服务组合到一个较大的复合服务中的体系结构。 可以使用基于SOAP的Web服务或REST API或有时两者结合来实现SOA。 必须了解,在SOA中, 服务是可以响应请求的任何远程可用资源。 Web服务是使用特定协议实现的。
为什么采用面向服务的架构?
SOA解决了三个常见的企业挑战:
- 快速响应业务变化。
- 利用现有基础设施投资。
- 支持与客户,合作伙伴和供应商互动的新渠道。
企业基础结构在操作系统,应用程序,系统软件和应用程序基础结构之间是异构的。 结果,许多企业系统由交付一系列相互依赖的服务的复杂且不一致的应用程序组成。 运行当前业务流程的现有应用程序至关重要,因此从头开始或对其进行修改是一个微妙的主张。 但是企业必须能够修改和扩展技术基础架构,以满足业务需求。
SOA和微服务
微服务是从SOA演变而来的一种架构样式。 两者都是分布式体系结构,并且都