Top
首页 > 老文章 > 正文

企业如何利用Web服务实现SOA

现代企业IT系统的开发与应用存在着许多困惑和难题:如何聚集开发的各个模块?如何提高代码模块的灵活性?如何让开发过程具有更高度的并行性?
发布时间:2007-12-05 10:03        来源:        作者:王斐嘉、李巍
现代企业IT系统的开发与应用存在着许多困惑和难题:如何聚集开发的各个模块?如何提高代码模块的灵活性?如何让开发过程具有更高度的并行性?如何让开发出的系统更易维护?如何让开发出的系统能被异种客户程序调用?如何提高系统模块的可重用性?如何让投资与投入得到更多的回报? 诸如此类企业在应用中遇到的难题,关键在于能否设计出一种先进的系统架构。这种架构便是面向服务的体系结构(Service Oriented Architecture),简称SOA。而Web服务则是SOA最流行的一种实现方法,并且在未来的企业IT平台中会有更广泛的应用和普及前景。 面向服务的体系结构 面向服务的体系结构是设计和构建松散耦合软件解决方案的方法,能够以程序化的可访问软件服务形式公开业务功能,以使其他应用程序可以通过已发布和可发现的接口来使用这些服务。通过应用SOA,一个企业可以使用一组分布式服务来构成并组织应用程序。这样,他们就能通过重用他们自己的资产和他们伙伴的业务功能,来构造新的应用程序和修改现有的应用程序参考。
 SOA结构中共有三种角色(如上图): 服务提供者(Service Provider):发布自己的服务,并且对使用自身服务的请求进行响应。 服务代理(Service Broker):注册已经发布的服务提供者,对其进行分类,并提供搜索服务。 服务请求者(Service Requester):利用服务代理查找所需的服务,然后使用该服务。 SOA体系结构中的组件必须具有上述一种或多种角色。在这些角色之间使用了三种操作: 发布(Publish):使服务提供者可以向服务代理注册自己的功能及访问接口。 查找(Find):使服务请求者可以通过服务代理查找特定种类的服务。 绑定(Bind):使服务请求者能够真正使用服务提供者。 为支持结构中的三种操作,SOA需要对服务进行一定的描述,这种服务描述(Service Description)具有几个特点:首先,它要声明服务提供者的语义特征。服务代理使用语义特征将服务提供者进行分类,以帮助具体服务的查找。服务请求者根据语义特征来匹配那些满足要求的服务提供者。其次,服务描述应该声明接口特征,以访问特定的服务。最后,服务描述还应声明各种非功能特征,如安全要求、事务要求、使用服务提供者的费用等。接口特征和非功能特征也可以用来帮助服务请求者对服务提供者的查找。 最流行的SOA实现 Web服务代表了SOA的一种实现,且Web 服务是SOA中最流行的一种实现。另外,因为SOA中的组件相互之间必须能够进行交互,才能进行上述三种操作,所以在Web 服务的实现中使用了一些标准技术,包括服务描述(UDDI、WSDL)、通讯协议(HTTP、SOAP)以及数据格式(XML)等。这样一来,开发者就可以开发出平台独立、编程语言独立的Web 服务,从而充分利用现有的软硬件资源和人力资源。 简单Web 服务和企业级Web 服务 BEA将Web服务分为简单Web 服务和企业级Web服务。 简单Web服务提供基本的“请求/响应”功能,本质上不属于事务处理型服务,安全性不高。今天许多人定义的Web 服务都属于简单Web服务。 企业级Web 服务将改变行业开展业务的方式。目前,多数电子商业软件厂商还不能提供这些服务,但它将为贸易合作伙伴通过Internet协作提供一个框架。它可以定义为安全性高的多方长时间事务处理(或企业“对话”),采取的安全措施包括无争议和数字签名等,能提供企业到企业协作的业务流程管理。 信用检查中的简单Web服务 假设有一家银行或代理机构为企业提供即时信用历史。在完成商业事务处理之前,企业可能需要检查潜在贸易合作伙伴的信用历史。在这种情况下,可以将请求发送到银行的Web服务进行处理,然后实时返回响应。简单Web服务将理顺这种事务处理流程,降低企业的风险。 为了完成这一过程,需要潜在贸易合作伙伴的信用信息的业务应用,将使用XML、SOAP、WSDL和UDDI,通过Web找到信用检查Web服务,寻找请求服务的方法,提交请求,接受结果,最后返回到用户。 这是一个简单Web服务,因为它没有实际的安全或事务处理请求,属于“请求/响应”类型。 事务处理型企业级Web服务 假设某制造商有许多供应商,它开发的应用不但能集成内部应用和系统(如预测和存货),还能通过企业级Web服务与供应商松散集成在一起。开发这种应用的激励因素可能是,与多家供应商交互需要多次电话、较长的准备时间和烦人的人工过程。 例如,当存货到达某个阈值时,应用会自动把报价请求(RFQ)发送到提供企业级Web服务的多家供应商。这些供应商的应用(与内部系统连接在一起)接收到请求后,根据预定限制(存货、供应商状态、折扣水平、利润率等)自动响应。接下来,制造商的初始应用接收到这些响应,然后根据预定条件选择适当的供应商。确定后,认可协议将发送到选定的供应商,协议中包含的信息有采购订单、履行协议和希望的后勤信息。供应商应用认可后,再返回相应的后勤信息,如跟踪号码和输出/输入文档,此时事务处理执行完毕。持续较长时间的事务处理是企业级Web服务的特性,它能显示供应商、合作伙伴和客户之间松散连接的协作关系。 这个例子可以扩展到包括独立贸易交换和后勤服务提供商(LSP)。交换可以通过Web 服务提供另外一组供应商。LSP则能通过Web服务为商品移动提供详细的最新信息。这些服务使制造商能根据其它条件执行事务处理,如预计到达时间和提供的实际数量等。这样能实现上下文敏感型事务处理,保证商品按时到达指定地点。 虽然简单Web服务是电子商业平台的重要组成部分,但它们实质上是无法提供高级B2B应用所需要的企业级通信和集成。BEA WebLogic Enterprise Platform支持的企业级Web服务必须拥有协作、业务流程自动化、事务处理完整性、有保证的供应、高级安全性和多方长时间事务处理支持等特性。 目前,BEA同时提供简单Web服务和企业级Web服务,并把它们作为BEA WebLogic Enterprise Platform的一部分。 (责任编辑:崔萍)
加载更多

专题访谈

合作站点
stat