企业SOA架构案例分析

       面向服务的架构(SOA)是一个组件模型,它将应用程序的不一样功能单元(称为服务)进行拆分,并经过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操做系统和编程语言。这使得构建在各类各样的系统中的服务能够以一种统一和通用的方式进行交互。编程

  传通通的两种企业构架:面向功能的企业构架和面向过程的企业构架,这两种企业架构所采用的技术基本上是紧密耦合的,这种架构方法将应用程序功能的代码一般与功能自己的代码混合在一块儿,带来的后果就是更改一部分代码的时候将对使用该代码的代码具备重大影响,形成系统的复杂性提升,并增长维护系统的成本,并且还使从新使用应用程序功能变得较困难,这严重影响了企业系统的稳定性。而SOA架构以其高度开放型和可重用性、灵活性彻底避免了传统企业架构方法所带来的问题。服务器

  SOA的特征是:独立的功能实体。SOA很是强调架构中提供服务的功能实体的彻底独立自主的能力,以及实体自我管理和恢复能力。常见的用来进行自我恢复的技术,好比事务处理,消息队列,冗余部署和集群系统在SOA中都起到相当重要的做用。大数据量低频率访问。对于传统的分布式计算模型而言,他们的服务提供都是经过函数调用的方式进行的,一个功能的完成每每须要经过客户端和服务器来回不少次函数调用才能完成,这些调用在Internet环境下每每是决定整个系统是否能正常工做的一个关键决定因素。所以SOA系统推荐采用大数据量的方式一次性进行信息交换。基于文本的消息传递。SOA系统采用基于文本而非二进制的消息传递方式。在Internet环境下,不一样语言,不一样平台对数据、甚至是一些基本数据类型定义不一样,给不一样的服务之间传递对象带来的很大困难。因为基于文本的消息自己是不包含任何处理逻辑和数据类型的,所以服务间只传递文本,对数据的处理依赖于接收端。数据处理端能够只选择性的处理本身理解的那部分数据,而忽略其它的数据,从而获得的很是理想的兼容性。架构

一个使用SOA的企业,可使用一组现有的应用来建立一个供应链复合应用,这些现有的应用经过标准接口来提供功能。为了实现SOA,企业须要一个服务架构,图2显示了一个例子:编程语言

 

服务消费者能够经过发送消息来调用服务。这些消息由一个服务总线转换后发送给适当的服务实现。这种服务架构能够提供一个业务规则引擎,该引擎允许业务规则被合并在一个服务里或多个服务里。这种架构也提供了一个服务管理基础,用来管理服务,相似审核,列表,日志等功能。此外,该架构给企业提供了灵活的业务流程,更好地处理控制请求,例如SOX,而且能够在不影响其余服务的状况下更改某项服务。分布式

  SOA目标是整合业务过程,必须具有下面要求:异构性,横跨现有应用系统;可伸缩性,根据环境变化很是容易地可以提高系统性能;适用性,将应用错误和通信错误隔离开来,不至于由于一点失败致使全局混乱;分布式,跨部门跨地域交互操做;机动性,容许各个部门以最小的代价很容易更改与应用相关的设计和实现,也就是各个部门系统相互独立,没有耦合性;可见性,能够对各类处理和服务运行状况进行管理监视。SOA是一种松散耦合的软件体系结构,在这种体系结构中,由各自独立可复用的服务去构成系统功能。这些服务向外公布有意义明确的接口,软件的开发是经过对这些实现透明的接口的调用来完成。SOA能够下降开发成本,提升系统集成度和响应速度等,还能帮助解决由于系统升级带来的烦恼。将来SOA构架下的企业软件就像是一个不断进化的生态过程,某些“服务(业务组件)”不断地局部升级,新的“服务”不断地加入,只有这样的系统才能真正作到实时企业,快速适应业务变化。函数

  服务导向架构并非一种全新的解决方案;相反,SOA是技术与架构的天然进化。系统架构一直在不断进步,与商业保持高度一致。系统设计师与商家很早就认识到将技术与商业流程相协调的重要性,包括充分应用并合理化技术资源,以及为商业提供更好的支持。SOA也在必定程度上源于早已有之的企业架构理论。企业架构对技术进行评估,可是更重要的是,它关注整个企业和所有的商业流程并提供了作出技术决策的背景信息。SOA工具则融合了互联网技术,如HTTP和XML,以及综合技术,如消息总线、转译技术和链接技术。工具

相关文章
相关标签/搜索