• 1. SOA技术探讨与分享
  • 2. 目录SOA基本概念 为什么要用SOA SOA支撑技术 我们遇到的SOA SOA案例 ESB ESB与SOA
  • 3. SOA基本概念 SOA:面向服务的体系结构(service-oriented architecture,SOA) SOA不是某个产品,也不是某个技术,而是一种软件设计架构和方法。SOA要求开发者从服务集成的角度来设计应用软件,它将应用程序的不同功能组件定义为“服务” 通过这些服务之间定义良好的接口和契约联系起来,亦可以理解为组件模型。 接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。
  • 4. 为什么要用SOA 信息孤岛问题 现在随着网络技术的发展,企业在信息化建设中产生了大量为满足产品或服务需要的软件系统,如:ERP、CRM、OA、SCM等一系列IT软件系统。但这些 系统一般都是单独实施、独立存在的,由于数据标准不统一,接口不一致,系统间往往缺少联系与合作,这也就导致了一个系统成为一个“孤岛”。而基于SOA的 理念,则使企业在需要改变IT系统时的灵活性大为增加。 SOA架构定义了搭建企业软件架构的一种新方法,它的出现使所有应用在交换数据和处理过程中,不需要考虑应用软件是用什么编程语言开发的或在什么操作系统 下运行。在这种模式下,一个应用或应用的一部分其实是一种服务,其他的应用和客户都可以在无需编写大量代码的情况下使用这些服务,这一切都使一些大企业或在地理上分布范围比较广的开发队伍能够更好地合作,因为这些SOA架构下的中间件业务模块都能够被重新配置或以新方式优化来满足新的需求。正是SOA的重 用性和互操作性所带来的灵活性实现了企业IT资源整合,使企业IT资源真正面向于服务。
  • 5. SOA支撑技术CORBA和DCOM Microsoft控制DCOM自不必说,CORBA也只是一个伪装的标准化努力,事实上,实现一个CORBA架构,经常都是在某个厂商对规范的实现上进行工作。 XML和SOAP XML和SOAP的出现,提供了在各不同厂商解决方案之间的交互性。 Web Services 在SOAP之前,人们已经在HTTP或JMS上使用XML来实现SOA类似的架构,但是运用Web服务标准却是我们目前针对与外部软件交互的最佳方法
  • 6. 我们遇到的SOA 其实在我们大量的项目实践经验中可能已经大量使用了SOA的思想去解决异构系统的问题,比如: 1、不同系统之间的数据共享和数据更新 2、异构系统对外提供访问服务接口 3、异构系统之间的数据通信和更新
  • 7. SOA案例案例: 1、新浪微博API、人人网API等 2、支付宝接口、网银接口等 开源系统对外提供服务的SOA技术架构,无论你采用什么样的语言开发,无论你部署到什么操作系统,只要你遵循XML的标准和SOAP或HTTP通信协议就可以灵活调用系统提供的服务。
  • 8. ESBESB概念 ESB主要功能 ESB解决的问题 ESB产品
  • 9. ESB概念 ESB全称为Enterprise Service Bus,即企业服务总线。它是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。
  • 10. ESB主要功能1) 面向服务的元数据管理: 他必须了解被他中介的两端,即服务的请求以及请求者对服务的要求,以及服务的提供者和他所提供的服务的描述; 2) Mediation :它必须具有某种机制能够完成中介的作用,如协议转换; 3) 通信:服务发布、订阅,响应 请求,同步异步消息,路由和寻址等; 4) 集成: 遗留系统适配器,服务编排和映射,协议转换,数据变换,企业应用集成中间件的连续等。 5) 服务交互: 服务接口定义,服务实现的置换,服务消息模型,服务目录和发现等。 6) 服务安全: 认证和授权、不可否认和机密性、安全标准的支持等; 7) 服务质量: 事务,服务的可交付性等; 8) 服务等级: 性能、可用性等。 ESB 中最常提到的两个功能是消息转换和消息路由
  • 11. ESB解决的问题
  • 12. ESB解决的问题
  • 13. ESB解决的问题图1:各个应用系统之间的调用形成了一张网,没有逻辑,随着业务的增加,维护简直就是一场恶梦。 图2:各个应用的逻辑很清晰,每个应用都只需要关心如何暴露自己的服务,而调用的应用只需要知道如何调用服务,至于怎么做,去找谁,则完全交给ESB来完成。
  • 14. ESB产品1、Oracle Service Bu 2、IBM WebSphere ESB 3、Microsoft ESB 4、JBOSS SOA Platform 5、ServiceMix对ESB的实现 6、WebOTX ESB 7、RES Infomatic Service Bu 8、Smart Service Bu
  • 15. ESB与SOAESB :Enterprise Service Bus,即企业服务总线 完成大规模的企业转型,可能需要通过建立ESB(形成SOA的骨干网或神经系统)来开始该工作。然后以企业合理的节奏,将服务提供商和服务请求程序逐渐添加到ESB。随着IT的SOA的增长,ESB成为在服务水平上连接应用程序,并调节消息流量以提高效率和可靠性的一种有力方式。