2010年第19卷第9期计算机系统应用SystemConstruction系统建设15一种基于Web服务的RIA系统集成的应用①曲海成李洋(辽宁工程技术大学软件学院辽宁葫芦岛125105)摘要:将Flex与Web服务相结合构建RIA(RichInternetApplication,富互联网应用)系统集成,利用Web服务将应用系统中业务流程逻辑封装为标准服务,通过服务的发布与发现机制,实现企业数据资源共享;利用加密算法对传输报文数字签名和加密;利用Flex为用户提供统一的富客户端用户界面,实现高度互动性和响应性的客户端,丰富用户体验;利用模块Modules方式、导航方式、动态加载组件方式,组件重用方式等重构Flex表示层,提高系统性能,并与J2EE相整合,验证Flex与Web服务相结合构建RIA系统集成的可行性,合理性.
关键词:Web服务;富互联网应用;系统集成;数字签名;加密ApplicationofRIASystemIntegrationBasedonWebServicesQUHai-Cheng,LIYang(CollegeofSoftware,LiaoningTechnicalUniversity,Huludao125105,China)Abstract:ThispaperdesignsRichInternetApplication(RIA)systemintegrationthatcombinesFlexandWebservices.
ApplicationsystemsbusinessprocessesareencapsulatedbystandardWebservices.
Discoveryandsharingofenterprisedataresourcescanbeachievedbyusingthepublishinganddiscoveringmechanismofservices.
Transmissionmessagesaredigitalsignaturesandencryptionsbyusingtheencryptionalgorithm.
TheunifiedrichclientuserinterfaceandhighinteractivityandresponseoftheclientandrichuserexperienceareprovidedbyusingFlex.
Systemperformance,whichareimprovedbyusingmodules,navigation,componentsofdynamicload,andcomponentsofreuse.
FeasibilityandrationalityofthebuiltRIAintegrationareverifiedusingFlexandWebservicescombinedwiththeJ2EE.
Keywords:Webservices;RIA;systemintegration;digitalsignature;encryption随着企业信息化进程的不断发展,很多企业在不同层次上使用了信息系统.
但企业的信息应用系统大多数都是独立开发的、分散的、零散的系统.
而由于企业在市场竞争和技术发展的过程中经常采用不同软件企业的产品,这就造成了企业不同部门、不同系统之间不能够相互协调工作,就会形成"信息孤岛".
"信息孤岛"造成大多数企业在信息化的推进中遗留下的不同部门信息系统、应用程序、商业流程和数据资源不能相互共享.
为了解决这些矛盾,一种办法是推倒现有系统,重新开发一个统一系统替换原有应用软件,①基金项目:辽宁省教育厅2009年度高等学校科研项目计划(2009A350)收稿时间:2010-01-01;收到修改稿时间:2010-03-05但考虑到成本、实施周期和难度因素,这不是一种切实可行的解决方案.
企业应用集成(EAI)技术的出现为消除企业异构系统间的"信息孤岛"带来一线曙光.
而传统EAI必须通过交流使应用之间达成一致,并分别就通信协议、消息格式进行实施,是一种点到点的紧耦合集成,缺少规范与集成应用产品,远远不能满足企业应用集成的需求.
文献[1]通过统一的数据格式定义、数据转换标准和数据集成方式制定EAI数据集成.
文献[2]解决了企业应用集成(EAI)消息服务的异步通信和周期性消息计算机系统应用2010年第19卷第9期16系统建设SystemConstruction传输等需求,完成了业务流程整合和信息集整合.
文献[3]解决企业级即时消息通信工具和其他信息系统集成,通过JAVA消息服务(JMS)传输数据.
以上文献的研究大都注重于企业内及企业间协作环境,通过通信协议、消息格式,数据格式进行实施,采用点到点集成方式解决企业的信息集成和过程集成问题,而对企业的资源发现和服务共享问题则很少论及.
Web服务作为一种新兴的信息技术,它提出了一种新的基于Internet/Intranet的信息系统共享框架,它可以让用户在TCP/IP环境下远程调用不同部门信息系统之间的信息进行数据处理,Web服务结合XML标准形成一种松耦合的应用集成方式,使企业系统形成一种柔性的商务模型,更能适应商务环境的变化.
1Flex与Web服务整合设计1.
1选择Flex的优势RIA特点:在消息确认和格式编排方面提供互动用户界面;在无刷新页面之下提供快速的界面响应时间;提供通用的用户界面特性如拖放式以及在线和离线操作能力.
RIA具有的Web应用程序的特点包括如:立即部署、跨平台、采用逐步下载来检索内容和数据以及可以充分利用被广泛采纳的互联网标准.
Flex是Abode公司贡献的一个开源框架,用于快速构建和维护高度交互并具有丰富表现力的互联网应用.
这些RIA应用程序既可以通过AdobeFlashPlayer部署在所有主流的浏览器上,也可以通过AIR(AdobeIntegratedRuntime)部署在所有主流操作系统的桌面上.
Flex可以在企业内部或在Web上创建并交付丰富Internet应用程序,它使企业能够创建个性化的丰富多媒体应用程序,极大地提高用户的体验,彻底革新人与Web的交互关系.
传统的Web开发,在表现层次受到非常大的约束,Flex技术不仅轻松解决了所有表现层的技术问题,让客户感受前所未有的Web应用体验.
更主要的是,基与FLASHAS3.
0的纯面向对象和组件的构架,让B/S结构表现层的开发层次分明,结构完整协调[4].
1.
2Flex整合Web服务基于Web服务的面向服务的体系架构(Service-OrientedArchitecture,SOA)可以将企业内部的应用系统、业务功能、业务数据封装为服务,这种架构思想起源于"把软件作为服务"(softwareservice)的观点,这种观点认为可以设计被其他业务或系统订阅并按需使用的服务[5].
SOA提供的服务能够同其它服务进行交互,并且不管其实现方式和部署目标平台如何.
SOA能够从粗粒度层面完善可重用性.
而Web服务是实现SOA的一种方式,能够从粒度层面改进可重用性.
为SOA提供最直接、实用的支持.
采用Web服务将应用系统和业务流程逻辑封装为标准服务,通过服务的发布与发现机制,实现企业资源的发现和共享,完成系统集成.
Web服务是一种标准化的松耦合集成模式,它提供了一个分布式的计算技术,用于在Internet或者Intranet上,通过使用标准的XML协议和信息格式来展现商业应用服务.
使用标准的XML协议使得Web服务平台、语言和发布者之间能够互相独立[6].
通过开放的Internet标准:Web服务描述语言(WSDL用于服务描述),统一描述、发现和集成规范(UDDI,用于服务的发布和集成),简单对象访问协议(SOAP,用于服务调用)和Web服务流语言(WSFL,用来定义工作流),Web服务完全屏蔽了不同软件平台的差异,无论是CORBA,DCOM,EJB都可以通过这一种标准的协议进行互操作,实现了在当前环境下最高的可集成性,而且它也支撑企业现存的下层结构,为实现EAI提供了一种全新的机制.
依靠Web服务,简化应用封装接口生成过程,简化用户编程.
同时,将应用服务接口的描述和发布规范,提供一套有效的发布、访问与集成机制,使封装后的服务可以用到不同系统中去.
通过松散的应用集成,企业能够实时地访问不同部门、不同应用、不同平台和不同系统的信息.
然而,使用Flex结合Web服务,开发更复杂、诱人及交互式的Web服务客户端,是对传统的基于Web应用程序模型的Web页面的革新.
Flex与服务端的Web服务进行通信,Web服务提供WSDL信息表述可使用的方法和调用这些方法的具体信息.
在Flex应用程序中,声明Web服务最基本的原则就是使用MXML标记.
比较典型的用法是,在这个标记上使用一个wsdl属性,通过它来指出要引用的WSDL文档URL.
为了在整个MXML应用程序中都能指向它,可以在标记中使用id属性来指出服务ID.
相应的ActionScrip.
serviceID.
send()调用这个Web服务功2010年第19卷第9期计算机系统应用SystemConstruction系统建设17能.
服务器端采用ApacheCXF(Apache公司开源的Services框架)对业务逻辑层功能模块封装,在相应的配置文件配置封装模块类,发布Web服务,生成WSDL.
然后其它系统通过WSDL的SOAP端口地址访问该功能模块.
WSDL的SOAP端口地址代码如下所示.
2Web服务消息级别的安全性Web服务消息级别的安全性主要指SOAP消息的安全性,包括消息的完整性和保密性.
本文利用MD5算法对SOAP消息体进行数字签名,保证消息在传送过程中不会被窜改,实现敏感数据传输过程中防窃取,对数据进行完整性保证;利用3DES算法,对SOAP封包进行消息级别的加密,防止敏感数据的泄漏.
加密使用事先约定的对称密钥,对一个XML文件的部分或全部进行加密,提高对Web服务质量的要求.
并引入身份验证和权限认证机制,指定固定IP的被授权的用户具有访问权限,防止非授权用户的访问.
接收端每次收到封包后先进行解密,验证消息是否被窜改和验证访问权限,通过后再进行其他操作.
报文消息格式如下所示:消息流水号时间戳IP地址加密后的消息体对报文数字签名和加密格式为:BASE64(3DES(消息体+MD5(消息体)+用户名+密码)).
接收端接收到报文以后,核对消息体,3DES加密后的消息体采用MD5加密后是否与报文中MD5(消息体)一致,保证应用层消息的安全.
Web服务安全通信机制详细过程如图1所示.
图1Web服务安全通信过程通过对报文数字签名和加密保证了报文在传输层的安全性;通过接收端对消息体的核对保证了在应用端的安全性;身份验证和权限认证机制保证了用户是否具有访问权限.
从而,保证了Web服务消息级别的安全性.
3企业集成平台功能需求分析某煤矿的生产调度系统采用Flex与J2EE整合构建RIA系统.
其它部门包括选煤系统、物资管理系统和设备管理系统,它们采用J2EE平台(Struts+Spring+Hibernate框架).
集成平台对外提供统一的企业门户,对内实现应用系统的集成和业务流程的管理.
该企业集成平台总体结构如图2所示.
图2企业集成平台总体结构计算机系统应用2010年第19卷第9期18系统建设SystemConstruction生产调度子系统根据选煤管理子系统中选煤生产管理情况生成煤矿生产月报表.
Web服务将选煤生产管理业务功能封装成服务,通过服务的发布与发现机制,让选煤信息资源共享,提供给生产调度子系统调用该资源.
生产调度子系统与选煤管理子系统基于服务的企业集成模型如图3所示.
图3基于服务的企业集成模型通过对企业内部各部门模块功能进行封装成Web服务,完成企业内部系统与系统之间的集成.
使生产调度系统可以对其它物资管理系统,选煤系统和设备管理系统相关功能进行调用,而原有系统也可以调用生产调度系统中封装的Web服务,从而企业间信息共享,业务功能变为公有.
另外,企业现有系统还可以通过UDDI将Web服务统一注册,供Internet上的用户进行访问.
当然系统还可以调用Internet上提供的公有Web服务,充分利用网络资源.
4Flex与J2EE整合集成平台的框架是一个基于Flex与Web服务相结合与J2EE整合的企业框架.
企业各部门通过对其业务服务封装来对外提供服务,底层数据库系统为整个集成系统提供数据支持,选用Hibernate,JDBC为数据提供持久化和数据访问支持[7].
Flex通过LCDS(LiveCycleDataServices)将Flex客户端对J2EE服务器端的Java对象实现远程方法调用,LCDS提供远程调用(RemotingServices),消息服务(MessageServices)和数据管理服务(DataManagementServices)三种方式与J2EE服务端通信[8].
具体框架如图4所示.
图4Flex与J2EE整合框架Flex富客户端通过远程调用方式与J2EE服务器进行通信,通过WebService访问其它遗留系统;遗留系统也可以通过WebService访问现有Flex富客户端系统.
Flex富客户端还可以通过HttpService方式直接访问J2EE服务器,但服务器返回的是XML格式的数据,增加了系统的复杂性,通信效率低.
生产调度系统的生产月报表综合了生产调度系统每月各矿的生产销售库存情况和选煤系统中每月精煤的销售库存情况.
生产调度系统通过Flex的WebService客户端调用选煤系统提供的WebService,获取选煤系统的数据资源,生成煤矿月报表.
XXX煤矿月报表生成模式如图5所示.
图5XXX煤矿月报表5结论由文献[9]对RIA性能测试结果分析知道:系统运行时业务逻辑层和数据访问层(持久层)所占用程序的时间很少,系统主要耗时在表示层.
也就是Flex的初始化和数据传输占用了访问系统的大量时间[9,10].
(下转第14页)计算机系统应用2010年第19卷第9期14系统建设SystemConstruction图4系统运行一个界面在整个流程运行过程中,管理员可以在任何时间登陆流程管理系统,根据业务需要对整个流程实例进行干预控制,以达到整个业务系统的需要.
4结束语本文运用工作流的理论和方法设计实现了一个针对沈阳市安全生产综合监管系统的嵌入式工作流引擎.
工作流引擎以中心数据库为核心来实现,可以解决频繁解析流程定义文件的问题,并且使该系统具有一定的事务处理和错误恢复能力,大大提高了系统的健壮性.
而且该引擎的运用,大大缩短了系统中关键业务的开发周期.
(上接第18页)为提高表示层加载/初始化性能,笔者做了如下三方面工作:一是提高网络等硬件设施;二是减少Flex编译文件的大小(去除某些功能);三是通过导航条容器导航到相应容器触发子视图.
实践表明上述做法可显著提高表示层的性能.
通过在企业中实际应用效果表明,基于Web服务的RIA系统集成方案切实可行.
Web服务技术的引入方便了企业集成各种生产数据,Flex技术的引入丰富了系统表示层的表现形式,给客户带来全新的体验形式.
另外利用加密算法对传输报文数字签名和加密,大大提高了系统传输商业数据的安全行.
参考文献1花晶葵,邓文佶.
企业应用集成(EAI)中数据集成技术的研究.
计算机应用与软件,2006,23(12):126-128.
2王怡东,李志蜀.
企业应用集成系统消息通信的Java实现.
计算机应用,2007,27(B06):329-331.
3范汉生,尹建伟,董金祥.
支持EAI基于JMS的企业级参考文献1何清法,李国杰,焦丽梅等.
基于关系结构的轻量级工作流引擎.
计算机研究与发展,2001,(2):129-137.
2WorkflowManagementCoalition:Workflowmanage-mentcoalitionterminologyandglossary,TechnicalReport,WFMC-TC-1011,1996.
3WFMC.
WorkflowProcessDefinitionInterface—XMLProcessDefinitionLanguage[2008-10-20].
http://www.
wfmc.
org/,.
4范玉顺.
工作流管理技术基础.
北京:清华大学出版社,2001.
5vanderAALSTW,vanHEEK.
工作流管理—模型,方法和统.
王建民,闻立杰等译.
北京:清华大学出版社,2004.
6金鑫,许静,李学孟等.
基于XML的工作流引擎的设计与实现.
计算机工程,2007,33(23):72-73.
7战德臣,徐晓飞.
基于工作流引擎的构件组装体系结构.
软件学报,2006,17(6):1401-1410.
8叶娜,李健.
工作流引擎推进过程中m选n问题的研究.
计算机应用研究,2009,26(11):4098-4100.
协同消息通信工具的实现.
江南大学学报(自然科学版),2006,5(1):18-21.
4叶建芳.
应用Flex技术构建RIA系统[硕士学位论文].
杭州:浙江大学,2008.
5LaiR.
周斌等译.
J2EE平台WebServices——Java技术丛书.
北京:电子工业出版社,2005.
6梁爱虎.
SOA思想、技术与系统集成应用详解.
北京:电子工业出版社,2007.
7SteveGraham,etal.
刘晓晖,麦中凡等译.
用Java构建Web服务.
北京:机械工业出版社,2003.
8孟晓军,张旭,宁汝新,宋煜.
基于Web服务的企业集成平台框架研究.
计算机集成制造系统,2008,14(5):891-897.
9孙巍.
RichInternetApplication性能的研究[硕士学位论文].
杭州:浙江大学,2006.
10王峰.
基于Flex的RichInternetApplication技术的研究和应用[硕士学位论文].
上海:上海交通大学,2008.
UCloud优刻得近日针对全球大促活动进行了一次改版,这次改版更加优惠了,要比之前的优惠价格还要低一些,并且新增了1核心1G内存的快杰云服务器,2元/首年,47元/年,这个价格应该是目前市面上最低最便宜的云服务器产品了,有需要国内外便宜VPS云服务器的朋友可以关注一下。UCloud好不好,UCloud服务器怎么样?UCloud服务器值不值得购买UCloud是优刻得科技股份有限公司旗下拥有的云计算服...
Hostodo近日发布了美国独立日优惠促销活动,主要推送了四款特价优惠便宜的VPS云服务器产品,基于KVM虚拟架构,NVMe阵列,1Gbps带宽,默认分配一个IPv4+/64 IPv6,采用solusvm管理,赠送收费版DirectAdmin授权,服务有效期内均有效,大致约为7折优惠,独立日活动时间不定,活动机型售罄为止,有需要的朋友可以尝试一下。Hostodo怎么样?Hostodo服务器好不好?...
弘速云怎么样?弘速云是创建于2021年的品牌,运营该品牌的公司HOSU LIMITED(中文名称弘速科技有限公司)公司成立于2021年国内公司注册于2019年。HOSU LIMITED主要从事出售香港vps、美国VPS、香港独立服务器、香港站群服务器等,目前在售VPS线路有CN2+BGP、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。可联系商家代安装iso系统。点击进入:弘速云官方网站地址...
web服务器软件下载为你推荐
vpsVPS是什么?台湾主机台湾的第一台电脑免费域名空间免费空间和免费域名重庆虚拟空间重庆那里可以租用VSP主机100m网站空间50M的网页内容买100M的网站空间够用了没?网站空间免备案哪个网站有免费的免备案空间,海外港台都可便宜虚拟主机哪里有国内便宜虚拟主机虚拟主机控制面板虚拟主机控制面板是什么?虚拟主机系统虚拟主机上的系统与电脑操作系统差别?河南虚拟主机新网的虚拟主机怎么样?
天津虚拟主机 黑龙江域名注册 中文国际域名 budgetvm 新加坡主机 80vps 息壤备案 美国主机论坛 payoneer 宕机监控 win8.1企业版升级win10 新站长网 绍兴高防 好看qq空间 促正网秒杀 权嘉云 双拼域名 刀片服务器是什么 空间技术网 微软服务器操作系统 更多