SOA和ESB
SOA是一组用于服务开发和集成的体系结构概念。服务是通过web提供的公开的功能包。ESB是一种基础设施软件,它提供了一种软件体系结构构造,用于为复杂体系结构提供基本服务。ESB可以用作实现SOA的平台。
SOA是什么?
SOA(面向服务的体系结构)是一组用于服务开发和集成的体系结构概念。SOA处理分布式计算,其中消费者使用一组可互操作的服务。多个使用者可以使用单个服务,反之亦然。因此,SOA通常用于集成使用不同平台的多个应用程序。要使SOA正确地运行,服务应该与操作系统和底层应用程序的技术松散耦合。SOA开发人员使用功能单元创建服务,并使它们在internet上可用。Web服务可用于实现SOA体系结构。在这种情况下,web服务成为可通过internet访问的SOA功能单元。任何人都可以使用Web服务,而无需关心开发它们所用的平台或编程语言。SOA直接建立在面向服务的原则之上,它讨论的是具有简单接口的服务,用户可以独立访问这些服务,而不必担心服务的实际平台实现。
ESB是什么?
ESB(企业服务总线)是一种基础设施软件,它提供软件体系结构构造,用于为复杂体系结构提供基本服务。但是,对于是否称ESB为体系结构样式、软件产品甚至是一组产品,存在相当大的争论。它通过事件驱动和基于标准的消息传递引擎(实际上是服务总线)提供服务。在此消息传递引擎之上,提供了一个抽象层,允许架构师利用总线提供的设施,而无需编写任何实际代码。ESB通常通过基于标准的中间件基础设施实现。
在ESB中使用术语“总线”是因为ESB确实提供了与物理计算机总线非常相似的功能,但在更高的抽象级别上。拥有ESB的主要优势之一是能够减少接触点的数量;因此,使对更改的适应更加容易。ESB可以用作实现SOA的平台。转换/路由(与流相关)的概念可以通过ESB引入到SOA中。此外,通过证明端点的抽象(在SOA中),ESB促进了服务之间的松散耦合。
SOA和ESB之间的区别是什么?
SOA和ESB之间有一些关键的区别。SOA是实现基于服务的松散耦合应用程序的体系结构模型。ESB是一种基础设施软件,它帮助开发人员开发服务,并通过合适的api在服务之间进行通信。ESB可以用作实现SOA的平台。ESB只是服务流通过的媒介。ESB为服务的组合和部署提供了工具,而服务的组合和部署又实现了SOA。
耻辱Tk说
好解释……