根据维基百科的定义 ESB应有如下特性
- 它是面向服务架构的实现。
- 它通常是操作系统和编程语言无关的;它应能在Java和.Net应用程序之间工作。
- 它使用XML(可扩展标识语言)作为标准通信语言。
- 它支持Web服务标准。
- 它支持消息传递(同步、异步、点对点、发布-订阅)。
- 它包含基于标准的适配器(如J2C/JCA),用于集成传统系统。
- 它包含对服务编制(orchestration)和编排(choreography)的支持。
- 它包含智能、基于内容的路由服务(itenerary路由)。
- 它包含标准安全模型,用于ESB的认证、授权和审计。
- 它包含转换服务(通常是使用XSLT),在发送应用和接收应用之间转换格式,简化数据格式和值的转换。
- 它包含基于模式(schema)的验证,用于发送和接收消息。
- 它可以统一应用业务规则,充实其它来源的消息,分拆和组合多个消息,以及处理异常。
- 它可以条件路由,或基于非集中策略的消息转换,即不需要集中规则引擎。
- 它可监视不同SLA(服务级别合约)的消息响应门限,以及在SLA中定义的其它特性。
- 它(常常)简化“服务类别”,向更高或更低优先级用户做出适当的响应。
- 它支持队列,在应用临时不可用时用来保存消息。
- 它由(地理)分布式环境中的选择性部署应用适配器组成