ASaaSI:SaaS 服务集成架构
2010-07-31王艳红
王艳红
(济南职业学院计算机系,山东 济南 250014)
1 简介
随着信息化水平的提高和网络技术的快速发展,SaaS(Software as a Service)已经成为被广泛应用的软件服务提供方式,SaaS应用服务被越来越多的用户所采用。SaaS提出之后,得到了广泛的理论支持和实例验证,为广大用户所接受。
同时,随着企业的不断发展,业务水平的提高和业务范围的扩展,对SaaS应用服务的要求也越来越高,原有的独立SaaS应用功能显得愈加单一,不能满足用户日益复杂的需求,并形成了广域网内的信息孤岛。服务集成提供了解决此类问题的好方法。服务集成重用原有SaaS应用服务,根据现有业务流程需求,动态组建新的业务流程,满足不断变化扩展的用户需求。
目前,服务集成主要是指为了满足不断变化的业务需求,动态的选取服务,组合服务流程以及服务注册和管理等技术,主要研究服务的发布、注册和检索,服务的动态匹配和组合。此方面的研究已经超出了多个应用之间范畴,而演变为整个网络环境中的服务发布、检索、匹配、组合与执行的问题。
文章基于实施在J_Auto汽车制造厂的成功案例,以SBM和APO两个SaaS应用服务为例,分析了服务集成的业务流程和可用的IT资源,提出了SaaS应用服务集成框架,解决SaaS应用服务在表示层、功能层和数据层的集成。将web2.0技术应用到集成中,增加用户友好性,提高访问效率,提高集成的松耦合性。同时,对集成架构进行了实现和验证。
2 服务集成业务场景与流程分析
图1 系统集成架构图
J_Auto 集团公司目前约有供应商一千多家,遍布全国各地。通过集成现有的IT资源,构建基于SaaS的完整解决方案,实现集团公司的采购信息的及时发布和反馈处理,供应商的库存和财务信息查询,集团公司通知通报的准确发布等业务的处理。
通过分析J_Auto集团公司当前的业务场景,决定集成现有的两个SaaS应用-供应商业务管理SBM和高级任务优化APO,以最节省的投资,最快速的实施,最高效的方式,为主机厂和供应商之间建立统一的信息管理平台。
实现图1的集成效果,要完成两个方面的服务集成:一是两个SaaS应用APO和SBM的集成,APO作为一个辅助功能集成到SBM中,且集成是透明的,集成之后对用户可见的是一个SaaS应用-新SBM;二是集成之后的新SBM作为一个大粒度的服务注册于SDMSP平台上,并受SDMSP的监控和管理。
2.1 基于SOA的集成架构和设计
集成主要在三个层次上实现,分别为界面层,功能层和数据层。界面层的集成通过UI Widgets模型实现,并实现了基于该模型实现的客户端Web页面流程驱动和数据中介技术;功能层的集成通过web service封装和surrogate代理,将业务功能暴露为服务,功能层的集成基于服务的调用,并实现了基于服务交互模式的流程组合技术,服务协调以及服务的认证与授权;数据层的集成贯穿于界面层和功能层之中,同时为SBM的数据初始化开发了数据同步工具。
2.2 界面层的集成:基于扩展Widgets(EWidget模型)的服务页面mash-up
如图1中所示,在集成结果中,APO不能作为独立的系统存在。为此,设计了扩展的UI Widget模型-EWidget。EWidget是用户访问信息和服务的入口点。EWidget的实例是widget。一个widget包含了一个独立的应用功能(application function)。而一个应用application是有许多个widget组成。一组widget能组成一个应用,因此管理员可以使用已有的widget组合新的应用。
APO集成到SBM中,每一个widget对应着不同的业务操作步骤。用户操作由业务流程驱动,根据预先定义的业务流程,在不同的widgets之间跳转,完成完整的业务流程。
2.3 功能层的集成:扩展SCA Component以解决服务连接性问题的服务中介技术和基于服务交互模式 (Service Interaction Pattern)的流程组合技术。
APO的业务功能全部封装为web service对外暴露,SBM与APO交互的功能也需要封装为web service对外暴露。在更通用的异构系统集成中,服务的形式有各种各样,而不是仅局限于web service一种形态。因此,必须有效解决服务的互连互通问题,包括服务的跨平台远程调用,安全,以及服务按业务流程进行组合等。
服务代理 (Service Surrogates)通过扩展SCA,提供基于SOA架构的构建应用和解决方案的编程模型。SCA(Service Component Architecture)是包含多种技术的模型,这些技术用于定义服务组件以及连接组件之间的访问方法。
2.4 数据层的集成
数据层的集成既可以贯穿于表示层和功能层的之中,又有独立的集成工具。在表示层和功能层的集成过程中,存在参数的传递,属性的设置等数据流在服务之间/异构系统之间的流动。同时,使用RSS等web2.0技术,实现在表示层信息的聚集。
在SBM的初始化阶段,需要将ERP数据初始化同步到SBM和APO中,我们设计数据同步工具来实现。同时,RSS,Ajax等web2.0技术的使用提高了系统的友好性和易用性。
3 系统总结
对本文提出的集成架构和方法进行了实现,并成功应用到国内著名的汽车厂J_Auto案例中,集成后的系统仍然是一个SaaS应用系统,采用hosting的方式托管于专业的IDC。实现了主机厂采购计划的发布和反馈,送验看板的跟踪,库存信息和财务的查询,通知消息的发布,生产及采购计划的优化等业务功能。
通过我们文中提供的服务集成架构设计方法和工具,较好的解决了SaaS应用服务之间的集成问题。
[1]K.N.McKay,V.C.S.Wiers,Practical Production Control:A Survival Guide For Planners and Schedulers,J.Ross Publishers,2004.
[2]胡海涛,李 刚,韩燕波.一种面向业务用户的大粒度服务组合方法,计算机学报,第28卷第4期 2005年4月
[3]郑小林,陈德人,张丽霞.“ASP-based implementing mode for networked manufacturing system”《清华大学学报(自然科学版)》2006年第 z1期