Guardian人寿保险:SOA让开发成本大幅降低本文关键字 转贴文档 广告 致力于软件重用,SOA帮助全美第四大保险公司Guardian人寿保险成功实现削减应用开发成本、从旧的系统发掘数据、并集成网上的诸多应用等目标。 五年前,Guardian人寿保险公司决定重新考虑彼此孤立的应用的基本架构。Guardian寿险公司的首席架构师Jaime Sguerra说,当初开发这些应用时,很少关注业务目标。他回忆道:“当时没有标准方法来开发或者连接应用程序,也没有重用代码的习惯。” 采用SOA的原因与实施效果 新组建的IT管理队伍决定改变这种局面,目的主要是让应用开发更快速、更灵活、更符合业务需求。Sguerra说:“我们希望弃用一次性应用程序,改而尽量提供单一、公用的服务,以便降低总体复杂性。SOA正是可以让不同技术协同工作的一种方法。”除此之外,一旦SOA部署到位,IT人员就可以专注于开发新的应用程序,而不是改写旧的应用程序,如图所示。“我们的理念就是,重复使用。旧技术上投入了大量的资金,我们不能单单因为那是新技术,就动手实施。” Sguerra估计,SOA方案使应用开发预算大概减少了30%。28个月后,部署的服务大约已有60种,使用这些服务的是三个关键系统:福利计划管理、索赔受理和投保人管理系统。在这些服务当中,这三个系统都要用的大约有50种。而这方面的工作还在继续进行:Guardian寿险公司计划为这些系统再开发22种服务,然后把公司的其他系统引入SOA模式,Sguerra说。 具体的应用方案 Guardian公司采用的SOA的核心是企业服务管理器,这是一组J2EE工作流和连接中间件工具,以及用来管理请求的IBM CICS/MQSeries消息总线。请求来自以下三个客户系统当中的一个:客户和独立代理人使用的Web门户、CRM系统以及客户使用的交互电话系统,另外可能来自应用程序本身。 企业服务管理器负责决定按什么顺序调用哪些服务、需要哪些数据资源;然后,它对诸多服务进行排序,管理服务间的相互关系;事务处理完毕,客户系统会收到请求结果,或者是出错消息。而在实施SOA之前,每执行一项任务,“用户就要核对所有系统,”Sguerra说。 Sguerra说:“我们之所以选择集中的企业服务管理器,是因为它是获得重用的最佳方法。”他又说,虽然采用分散的架构也行得通:服务逻辑位于多个地方,这样服务就可以彼此直接联系,但如果各个系统的开发出现不同步,那么同一服务最终出现多个版本的可能性就会加大。 因为独立代理人也使用索赔、投保和福利等系统,Guardian寿险公司决定通过Web服务实施SOA。Sguerra说:“把应用程序部署到别人的电脑上比较难。”事实证明,开发基于Web的接口对利用单一通信系统、为内外用户提供服务起着重要作用。 在IBM WebSphere服务器环境中,SOA使用基于Web的中介(intermediary)作为框架,以便需要时在应用程序和数据源之间可以转换及处理数据和过程调用,并且使用SOAP用于消息传送。虽然服务存在于许多物理位置:主机应用程序、其他应用服务器上的独立服务组件、现代的应用程序或者外部服务,但Guardian寿险公司的SOA按照系统类型对服务进行逻辑归类,或者归入共享服务这一类。 Sguerra指出,因为Guardian寿险公司使用大量的主机应用程序,IT队伍要想提供所有这些应用程序作为服务使用,就面临一大难题。大多数情况下,Guardian公司使用Web服务事务语言(WSTL),转换服务之间的服务请求。但在有些情况下,主机应用程序不支持这种转换。Guardian公司不是改写主机应用程序以适合WSTL,而是使用EJB在应用程序外进行转换。在应用程序里面,“我们只需要打开EJB接口,”他说。 应用体会 Sguerra强调,开发作为SOA一部分的应用程序,需要从新的角度来考虑。Sguerra说:“你事先要知道,这是文化上的变革。别以为这不会是难题,就贸然行事。 SOA项目需要多方面的协调。”业务部门和应用开发人员往往不愿丢弃使得服务无法支持多个应用程序的定制接口。如果效率上的好处得到了证明,这种反对的声音通常就会销声匿迹。如果确实需要某个定制的接口或者功能,开发人员通常可以提供独立服务,独立服务可以依靠公用服务来提供其他的非定制功能。 取舍问题向来就存在,但Guardian寿险公司发现自己找到了一种折衷办法。(清水 编译) (计算机世界报 2005年06月20日 第23期 B20、B21) 如果您希望与本文章的作者或其所在机构,进一步交流,请联系:畅享网 姜小姐 jill.jiang@amt.com.cn | 021-51096826-112 | 在线联系 |
|
|
|