go语言soap go语言sort( 二 )


SOA并不是一个新事物,IT组织已经成功建立并实施SOA应用软件很多年了,BEA、IBM、等厂商看到了它的价值,纷纷跟进 。SOA的目标在于让IT 变得更有弹性,以更快地响应业务单位的需求,实现实时企业(Real-Time Enterprise,这是Gartner为SOA描述的愿景目标) 。而BEA的CIO Rhonda早在2001年6月就提出要将BEA的IT基础架构转变为SOA,并且从对整个企业架构的控制能力、提升开发效率、加快开发速度、降低在客户 化和人员技能的投入等方面取得了不错的成绩 。
SOA是在计算环境下设计、开发、应用、管理分散的逻辑(服务)单元的一种规范 。这个定义决定了SOA的广泛性 。SOA要求开发者从服务集成的角度来设计 应用软件,即使这么做的利益不会马上显现 。SOA要求开发者超越应用软件来思考,并考虑复用现有的服务,或者检查如何让服务被重复利用 。SOA鼓励使用可 替代的技术和方法(例如消息机制),通过把服务联系在一起而非编写新代码来构架应用 。经过适当构架后,这种消息机制的应用允许公司仅通过调整原有服务模式 而非被迫进行大规模新的应用代码的开发,使得在商业环境许可的时间内对变化的市场条件做出快速的响应 。
SOA也不仅仅是一种开发的方法论--它还包含管理 。例如,应用SOA后,管理者可以方便的管理这些搭建在服务平台上的企业应用,而不是管理单一的应用模 块 。其原理是,通过分析服务之间的相互调用 , SOA使得公司管理人员方便的拿到什么时候、什么原因、哪些商业逻辑被执行的数据信息 , 这样就帮助了企业管理 人员或应用架构师迭代地优化他们的企业业务流程、应用系统 。
SOA的一个中心思想就是使得企业应用摆脱面向技术的解决方案的束缚,轻松应对企业商业服务变化、发展的需要 。企业环境中单个应用程序是无法包容业务用户 的(各种)需求的,即使是一个大型的ERP解决方案 , 仍然不能满足这个需求在不断膨胀、变化的缺口,对市场快速做出反应,商业用户只能通过不断开发新应 用、扩展现有应用程序来艰难的支撑其现有的业务需求 。通过将注意力放在服务上 , 应用程序能够集中起来提供更加丰富、目的性更强的商业流程 。其结果就是 , 基 于SOA的企业应用系统通常会更加真实地反映出与业务模型的结合 。服务是从业务流程的角度来看待技术的--这是从上向下看的 。这种角度同一般的从可用技术 所驱动的商业视角是相反的 。服务的优势很清楚:它们会同业务流程结合在一起,因此能够更加精确地表示业务模型、更好地支持业务流程 。相反我们可以看到以应 用程序为中心的企业应用模型迫使业务用户将其能力局限为应用程序的能力 。
企业流程(enterprise process)是流经企业框架的空气,它赋予业务模型里的组件以生命,并更加清晰地定义了它们之间的关系 。流程定义了同业务模型进行交互操作的专门方 法 。例如,会计可能是企业服务系统的一个组件--但是将发票寄给客户却是一个业务流程 。服务被定义用来支持业务流程,因而贯穿整个流程始终的是:各种服务 组件在流程和逻辑实现过程中的装配操作 。理解业务流程是定制服务的关键所在 。
有利于企业业务的集成传统的应用集成方法(点对点集成、企业消息总线或中间件的集成(EAI)、基于业务流程的集成)都很复杂、昂贵,并且不灵活 。这些集 成方法难于快速适应基于企业现代业务变化不断产生的需求 。基于面向服务架构 (SOA) 的应用开发和集成可以很好的解决其中的许多问题 。
SOA 描述了一套完善的开发模式来帮助客户端应用连接到服务上 。这些模式定制了系列机制用于描述服务、通知及发现服务、与服务进行通信 。

推荐阅读