关于WSO2 ESB
关于WSO2 ESB
本章节主要介绍WSO2 ESB,包括其一些使用ESB的业务案例、功能及架构
- ESB的介绍
- ESB的架构介绍
- 此版本介绍
- 主要功能的概念介绍
1.1 ESB的介绍
1.1.1 ESB概述
企业服务总线(enterpriseservice bus,简称ESB)是一种能够实现各种应用之间通信的软件体系架构。而不是让每个应用程序以各种格式直接相互通信,每个应用程序只需与ESB通信,ESB就可以将消息转换和路由到相应的目的地。
ESB通过事件驱动和基于标准的消息传递引擎(总线)提供其基本服务。得益于ESB,集成架构师可以在不编写代码的情况下传递有价值的消息。开发人员通常使用标准的中间件基础设施产品中的技术来实施ESB。与面向服务架构(SOA)一样,ESB本质上是企业架构设计模式的集合,现在由许多企业软件产品直接实现。
WSO2ESB是一种快速,轻量级,多功能的企业服务总线。它是100%的开源,并在Apache Software License Version 2.0下发布,这是当今最有利商业的许可证之一。使用WSO2 ESB,您可以执行各种企业集成模式(EIP),包括数据过滤、转换和通过HTTP,HTTPS,JMS,邮件等协议在业务系统中路由传递SOAP,二进制,纯XML和文本消息。
1.1.2 分布式计算进化
ESB是分布式计算演进的一部分。早期的分布式计算是系统间的点对点通信。这是一种从分布式组件中创建复杂应用程序的简单、明显的方法。当有少量应用程序需要一起工作时,这实际上是一个合理的解决方案。然而,这种点对点通信的增长数量与企业应用数量的平方成正比。这对于大型企业来说,是难以管理的。
90年代后期,企业应用集成(EAI)产品的兴起。这些致力于突破企业由点到点集成解决方案引起的限制。典型的解决方案使用中心辐射架构。这是一种至今仍被很多企业使用的解决方案。在中心辐射架构的企业应用集成中,所有的通讯都有中心枢纽路由。点对点通信的数量与企业数量呈线性关系,因此这对点对点架构是一个很大的改进。然而,中心枢纽在业务中常常会成为瓶颈。
ESB可以被认为是上述逻辑进程的下一步。ESB作为企业中所有应用程序的消息代理。它允许使用根据需要提供的编排来显示更细粒度的基本功能。这大大提高了系统的灵活性,并允许更快速和更便宜地适应变化。
1.1.3 ESB在SOA的上下文中
以下是ESB运行时中促进SOA的功能列表:
- 消息路由和分配- 应用程序不应具有消息或服务的硬编码目的地。ESB可以通过两种方式提供帮助:
Ø 通过支持虚拟化(将逻辑目的地映射到真实目的地)
Ø 通过支持事件架构,发布者不需要了解订阅者。
- 管理- ESB应提供一组通用的管理功能,可以提供所有服务和端点的共同页面。这包括:
Ø 警报
Ø 统计
Ø 审计
Ø 日志
- 极好的支持Web架构- ESB应该鼓励使用HTTP和Web架构。支持HTTP代理和缓存。
- XML性能- 如果ESB将帮助管理和路由XML消息,那么它必须以最小的开销来做到这一点。它肯定要比它谈到的应用程序更具可扩展性和更强大。从根本上说,这促进了两个关键的技术要求:
Ø 非阻塞IO(意味着ESB在等待应用程序响应时不能阻塞)
Ø 流式XML(意味着ESB可以发送XML,而不必创建大的内存缓冲区并完全解析每个消息)。
- 安全控制- 管理分布式安全性是SOA中最难的问题之一,并且通过一组中央安全控制来增强应用程序安全性通常是企业基础架构中的重要组件。
Tip:WSO2 ESB中提供了来自WSDL和其他XSD文件的自动模式。