• 1. Mule ESB架构讲解2018/10/15王彬超 Robin.Wang@avtrace.com
  • 2. 2Surveillance solutions & services2018/10/15 主要内容SOA面向服务架构 ESB企业服务总线 初步接触Mule ESB 参考DEMO
  • 3. 3Surveillance solutions & services2018/10/15 SOA面向服务架构 简介 特点 元素 利用价值
  • 4. 4Surveillance solutions & services2018/10/15 SOA面向服务架构-简介 面向服务的体系架构(service-oriented architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。 服务注册中心 服务请求者 服务提供者 1.注册服务4.调用服务2.查询服务3.绑定
  • 5. 5Surveillance solutions & services2018/10/15 SOA面向服务架构-特点 可重用 一个服务创建后能用于多个应用和业务流程。 松耦合 服务请求者到服务提供者的绑定与服务之间应该是松耦合的。因此,服务请求者不需要知道服务提供者实现的技术细节,例如程序语言、底层平台等等。 明确定义的接口 服务交互必须是明确定义的。Web服务描述语言(Web Services Description Language,WSDL)是用于描述服务请求者所要求的绑定到服务提供者的细节。WSDL不包括服务实现的任何技术细节。服务请求者不知道也不关心服务究竟是由哪种程序设计语言编写的。 无状态的服务设计 服务应该是独立的、自包含的请求,在实现时它不需要获取从一个请求到另一个请求的信息或状态。服务不应该依赖于其他服务的上下文和状态。当产生依赖时,它们可以定义成通用业务流程、函数和 数据模型。 基于开放标准 当前SOA的实现形式是Web服务,基于的是公开的W3C及其他公认标准.采用第一代Web服务定义的SOAP、WSDL和UDDI以及第二代Web服务定义的WS-*来实现SOA。
  • 6. 6Surveillance solutions & services2018/10/15 SOA面向服务架构-元素 1、服务请求者:服务请求者是一个应用程序、一个软件模块或需要一个服务的另一个服务。它发起对注册中心中的服务的查询,通过传输绑定服务,并且执行服务功能。服务请求者根据接口契约来执行服务。 2、服务提供者:服务提供者是一个可通过网络寻址的实体,它接受和执行来自请求者的请求。它将自己的服务和接口契约发布到服务注册中心,以便服务请求者可以发现和访问该服务。 3、服务注册中心:服务注册中心是服务发现的支持者。它包含一个可用服务的存储库,并允许感兴趣的服务请求者查找服务提供者接口。 面向服务的体系结构中的每个实体都扮演着服务提供者、请求者和注册中心这三种角色中的某一种(或多种)。 面向服务的体系结构中的操作包括: 发布:为了使服务可访问.需要发布服务描述以使服务请求者可以发现和调用它。 查询:服务请求者定位服务.方法是查询服务注册中心来找到满足其标准的服务。 绑定和调用:在检索完服务描述之后,服务请求者继续根据服务描述中的信息来调用服务。 面向服务的体系结构中的构件包括: 服务:可以通过已发布接口使用服务,并且允许服务使用者调用服务。 服务描述:服务描述指定服务使用者与服务提供者交互的方式。它指定来自服务的请求和响应的格式。服务描述可以指定一组前提条件、后置条件和/或服务质量(Q0S)级别。
  • 7. 7Surveillance solutions & services2018/10/15 SOA面向服务架构-利用价值 对 SOA 的需要来源于需要使业务 IT 系统变得更加灵活,以适应业务中的改变。通过允许强定义的关系和依然灵活的特定实现,IT 系统既可以利用现有系统的功能,又可以准备在以后做一些改变来满足它们之间交互的需要。
  • 8. 8Surveillance solutions & services2018/10/15 SOA面向服务架构-系统通信现状 现有很多系统架构: 系统A 系统B 系统D 系统C系统交互性太多,系统依赖太多,当一个系统down掉,所有系统都可能受到影响
  • 9. 9Surveillance solutions & services2018/10/15 SOA面向服务架构-ESB通信优势 ESB系统通信结构:系统之间交互性少,相互之间依赖少,当一个系统down掉,影响少 系统A 系统B 系统D 系统E 系统F 系统CESB(总线)
  • 10. 10Surveillance solutions & services2018/10/15 主要内容SOA面向服务架构 ESB企业服务总线 初步接触Mule ESB 参考DEMO
  • 11. 11Surveillance solutions & services2018/10/15 ESB企业服务总线 简介 ESB架构 ESB功能 现有的ESB产品
  • 12. 12Surveillance solutions & services2018/10/15 ESB企业服务总线-简介 企业服务总线(Enterprise Service Bus,ESB)的概念是从面向服务体系架构(Service Oriented Architecture, SOA)发展而来的。 SOA描述了一种IT基础设施的应用集成模型;其中的软构件集是以一种定义清晰的层次化结构相互耦合。 一个ESB是一个预先组装的SOA实现,它包含了实现SOA分层目标所必需的基础功能部件。 在企业计算领域,企业服务总线是指由中间件基础设施产品技术实现的、 通过事件驱动和基于XML消息引擎,为更复杂的面向服务的架构提供的软件架构的构造物。
  • 13. 13Surveillance solutions & services2018/10/15 ESB企业服务总线-架构 ESB 是传统中间件技术与XML、Web服务等技术相互结合的产物,ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。
  • 14. 14Surveillance solutions & services2018/10/15 ESB企业服务总线-功能 ESB的五个基本功能 1)服务的元数据管理:在总线范畴内对服务的注册命名及寻址进行管理。 2)传输服务:确保通过企业总线互连的业务流程间的消息的正确交付,还包括基于内容的路由功能。 3)中介:提供位置透明的路由和定位服务;提供多种消息传递形式;支持广泛使用的传输协议。 4)多服务集成方式: 如JCA,Web服务,Messaging ,Adaptor等. 5)服务和事件管理支持: 调用服务的记录、测量和监控数据;提供事件检测、触发和分布功能; ESB的八个扩展功能 1) 面向服务的元数据管理: 他必须了解被他中介的两端,即服务的请求以及请求者对服务的要求,以及服务的提供者和他所提供的服务的描述; 2) 中介:它必须具有某种机制能够完成中介的作用,如协议转换; 3) 通信:服务发布、订阅,响应 请求,同步异步消息,路由和寻址等; 4) 集成: 遗留系统适配器,服务编排和映射,协议转换,数据变换,企业应用集成中间件的连续等。 5) 服务交互: 服务接口定义,服务实现的置换,服务消息模型,服务目录和发现等。 6) 服务安全: 认证和授权、不可否认和机密性、安全标准的支持等; 7) 服务质量: 事务,服务的可交付性等; 8) 服务等级: 性能、可用性等。 ESB 中最常提到的两个功能是消息转换和消息路由。
  • 15. 15Surveillance solutions & services2018/10/15 ESB企业服务总线-现有的ESB产品比较
  • 16. 16Surveillance solutions & services2018/10/15 主要内容SOA面向服务架构 ESB企业服务总线 初步接触Mule ESB 参考DEMO
  • 17. 17Surveillance solutions & services2018/10/15初步接触Mule ESBMule ESB是什么? Mule ESB的主要功能 Mule ESB的架构
  • 18. 18Surveillance solutions & services2018/10/15初步接触Mule ESB-Mule ESB是什么?Mule ESB是一种基于Java的、轻量级的企业服务总线和集成平台,它允 许开发者快速的、简单的连接应用,并能够实现数据的转换。
  • 19. 19Surveillance solutions & services2018/10/15初步接触Mule ESB-Mule ESB是什么?Mule ESB是一种基于Java的、轻量级的企业服务总线和集成平台,它允 许开发者快速的、简单的连接应用,并能够实现数据的转换。
  • 20. 20Surveillance solutions & services2018/10/15初步接触Mule ESB-Mule ESB是什么?Mule ESB是一种基于Java的、轻量级的企业服务总线和集成平台,它允 许开发者快速的、简单的连接应用,并能够实现数据的转换。
  • 21. 21Surveillance solutions & services2018/10/15初步接触Mule ESB-Mule ESB是什么?Mule ESB是一种基于Java的、轻量级的企业服务总线和集成平台,它允 许开发者快速的、简单的连接应用,并能够实现数据的转换。
  • 22. 22Surveillance solutions & services2018/10/15初步接触Mule ESB-Mule ESB是什么?Mule ESB是一种基于Java的、轻量级的企业服务总线和集成平台,它允 许开发者快速的、简单的连接应用,并能够实现数据的转换。
  • 23. 23Surveillance solutions & services2018/10/15Mule的用户
  • 24. 24Surveillance solutions & services2018/10/15选择Mule的理由
  • 25. 25Surveillance solutions & services2018/10/15Mule的主要功能服务的创建与管理(Service creation and hosting): 用Mule ESB作为一个轻量级的服务容器来暴露和管理可重用的服务。 服务调解(Service mediation) 隐藏服务消息的格式和协议,将业务逻辑从消息中独立出来, 并可以实现本地独立的服务调用。 消息路由(Message routing) 基于内容和规则的消息路由、消息过滤、消息合并和消息的重新排序。 数据转换(Data transformation) 在不同的格式和传输协议中进行转换数据。 服务整合(Service Orchestration) 通过轻量级的业务流程功能来创建消息流。
  • 26. 26Surveillance solutions & services2018/10/15Mule的架构图
  • 27. 27Surveillance solutions & services2018/10/15Mule的应用场景 Mule ESBSMTP POP3 JDBC SOAP FTP HTTP JMS LDAP TCP UDP …
  • 28. 28Surveillance solutions & services2018/10/15Mule的企业级安全SFTPSecurity FiltersOauth 2.0Message EncryptionDigital SignaturesWS-SecurityIdentity Provider Integration
  • 29. 29Surveillance solutions & services2018/10/15Mule安全令牌服务HTTP 接口利用 OAuth 2.0进行安全防护安全的 REST APIs 移动应用程序 B2B 身份认证
  • 30. 30Surveillance solutions & services2018/10/15Mule的消息加密对部分或全部信息进行加密/解密常见场景: 敏感数据 窃听问题 部门和企业之间的沟通信息
  • 31. 31Surveillance solutions & services2018/10/15加密证书库以加密的形式存储flow属性常见场景: 访问外部系统(数据库,主机….) SaaS 集成
  • 32. 32Surveillance solutions & services2018/10/15数字签名对服务flow进行数字签名(或验证签名)常见场景: 消息篡改防护 不可拒绝的请求和响应
  • 33. 33Surveillance solutions & services2018/10/15安全过滤器IP白名单过滤器 过期过滤器常见场景: 网络安全 重播攻击
  • 34. 34Surveillance solutions & services2018/10/15消息安全措施IP 白名单 用户令牌 数字签名 过期过滤器 消息加密
  • 35. 35Surveillance solutions & services2018/10/15Mule的高可用可交付Active-active 集群 不需要其他外部服务器的高可用实现 Mule对集群的简单管理 通过简单的点击操作就可以扩展应用程序来满足高峰需求 可靠的事物传播 优势确保可用性 独立 易管理 高可靠性 高性能&高扩展
  • 36. 36Surveillance solutions & services2018/10/15可用性可靠性可扩展性性能集中管理热部署集群报警并发文件处理Mule的高可用
  • 37. 37Surveillance solutions & services2018/10/15Mule所有的产品HA Cluster / Data gridMule Core Runtime Connector PlatformEnterprise AdaptersCloud ConnectorsConnector DevKitEnterprise SecurityError ManagementRouting/MediationMapping/TransformREST/SOAP PublishingService ContainerBPMRules EngineCEPFlow OrchestrationBusiness Event AnalyzerService Flow AnalyzerRuntime Perf. ManagerSLA AlertsDashboardEnterprise Console: Tracking & GovernanceMule StudioGraphical Data TransformDrag & Drop
  • 38. 38Surveillance solutions & services2018/10/15Mule EnterpriseHA Cluster / Data gridMule Core Runtime Connector PlatformEnterprise AdaptersCloud ConnectorsConnector DevKitEnterprise SecurityError ManagementRouting/MediationMapping/TransformREST/SOAP PublishingService ContainerBPMRules EngineCEPFlow OrchestrationBusiness Event AnalyzerService Flow AnalyzerRuntime Perf. ManagerSLA AlertsDashboardEnterprise Console: Tracking & GovernanceMule StudioGraphical Data TransformDrag & Drop
  • 39. 39Surveillance solutions & services2018/10/15 主要内容SOA面向服务架构 ESB企业服务总线 初步接触Mule ESB 参考DEMO
  • 40. Thank you for your attention15-十月-18