信息化 频道

面向服务的体系结构SOA能给企业带来什么

  【IT168 信息化】目前,企业大都关心并正在处理两个问题:迅速改变的能力和降 低成本的要求。为了保持竞争力,企业必须快速地适应内部因素(如兼并和重组)或外部因素(如竞争能力和顾客要求),这就需要经济而灵活的IT基础设施来支持企业,SOA应运而生。SOA的提出其实已经不是个新话题了,但其概念在业界并不明晰,而其在企业的应用仍方兴未艾,本报将陆续关注这方面的进展。

  SOA究竟为何物?

  采用面向服务的体系结构(service-oriented architecture,SOA)将有助于企业在今天这个动荡的商业环境中取得成功。面向服务的体系结构是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。

  这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松耦合。松耦合系统的好处有两点,一点是它的灵活性,另一点是,当组成整个应用程序的每个服务的内部结构和实现逐渐地发生改变时,它能够继续存在。而另一方面,紧耦合意味着应用程序的不同组件之间的接口与其功能和结构是紧密相连的,因而当需要对部分或整个应用程序进行某种形式的更改时,它们就显得非常脆弱。

  对松耦合系统的需要来源于业务应用程序的需要。根据业务的需要变得更加灵活,以适应不断变化的环境,比如经常改变的政策、业务级别、业务重点、合作伙伴关系、行业地位以及其他与业务有关的因素,这些因素甚至会影响业务的性质。

  虽然面向服务的体系结构不是一个新鲜事物,但它却是更传统的面向对象的模型的替代模型,面向对象的模型是紧耦合的,已经存在二十多年了。虽然基于SOA的系统并不排除使用面向对象的设计来构建单个服务,但是其整体设计却是面向服务的。由于它考虑到了系统内的对象,所以虽然SOA是基于对象的,但是作为一个整体,它却不是面向对象的。不同之处在于接口本身。

  SOA能够将业务的商业流程与它们的技术流程联系起来,并且映射这两者之间的关系。例如,给供应商付款的操作是商业流程,而更新零件数据库以纳入进新供应的货物却是技术流程。因而,工作流还可以在SOA的设计中扮演重要的角色。

  此外,动态业务的工作流不仅可以包括部门之间的操作,甚至还可以包括与不为您控制的外部合作伙伴进行的操作。因此,为了提高效率,您需要定义应该如何得知服务之间的关系的策略,这种策略常常采用服务级协定和操作策略的形式。

  最后,所有这些都必须处于一个信任和可靠的环境之中,以同预期的一样根据约定的条款来执行流程。因此,安全、信任和可靠的消息传递应该在任何SOA中都起着重要的作用。

  企业为何需要SOA?

  SOA提供了一个抽象层,通过这个抽象层,企业可以继续利用它在IT方面的投资,方法是将这些现有的资产包装成提供企业功能的服务。组织可以继续从现有的资源中获取价值,而不必重新从头开始构建。

  在面向服务的体系结构中,集成点是规范而不是实现。这提供了实现透明性,并将基础设施和实现这些改变所带来的影响降到最低限度。通过提供针对基于完全不同的系统构建的现有资源和资产的服务规范,集成变得更加易于管理,因为复杂性是隔离的。当更多的企业一起协作提供价值链时,这会变得更加重要。

  从现有服务中组合新服务的能力为需要灵活地响应苛刻的商业要求的组织提供了独特的优势。通过利用现有的组件和服务,可以减少完成软件开发生命周期(包括收集需求、进行设计、开发和测试)所需的时间。这使得可以快速地开发新的业务服务,并允许组织迅速地对改变做出响应和减少上市准备时间。

  通过以松散耦合的方式公开的业务服务,企业可以根据业务要求更轻松地使用和组合服务。这意味着资源副本的减少以及重用和降低成本可能性的增加。

  通过SOA,企业可以未雨绸缪,为未来做好充分的准备。SOA业务流程是由一系列业务服务组成的,可以更轻松地创建、修改和管理它以满足不同时期的需要。

  SOA提供了灵活性和响应能力,这对于企业的生存和发展来说是至关重要的。但是面向服务的体系结构决不是灵丹妙药,而迁移到SOA也并非一件可以轻而易举就完成的事情。别指望一个晚上就将整个企业系统迁移到面向服务的体系结构,应该在业务要求出现或露出苗头时迁移企业功能的适当部分。

0
相关文章