论文部分内容阅读
摘要 由于企业应用系统软件开发的独立性与技术多样性,造成系统之间相互通信、数据共享困难,需要建立统一的企业信息平台以解决问题。在进行企业应用集成方案设计的过程中,一个关键问题研究就是如何对遗留系统中的数据或事务或应用程序扩展成Web Services,使这些Web Services能在Web上对外提供服务。
关键词 企业的遗留系统;Web Services扩展;数据层次;事务层次
企业应用集成是指将企业内部不同应用系统和数据集成到一起的过程。通过这一过程,在各异构系统间建立起可供数据共享和应用通信的消息总线,实现企业内部业务流程的整合、管理模式的统一和对已有系统的重复利用,降低系统开发维护的成本,为用户提供一个通用的操作平台,最终达到提升企业竞争力的目的。
这里的应用系统指企业的遗留系统,任何在企业内运行的系统,当它被交付使用时,就成为遗留系统了。遗留系统很多是用传统的方法开发的,有可能都没有按组件的思想设计开发;大多数都是一些孤立的系统,很少与其它系统之间有信息的集成,而且界面表示逻辑通常与业务逻辑、数据访问逻辑混杂在一起。所以一方面,遗留系统是经过了时间的考验、已被证明是实用的系统,其中倾注了若干年的努力和定制成为企业信息系统可以信赖的组成部分;另一方面,遗留系统还可能有许多缺点,例如功能还不够完善、不够灵活等等,因此希望在系统集成时能够通过Web Services扩展,使他们能够满足用户的需要。在扩展之前,先要对遗留系统进行分析。
一,应用系统扩展分析
从本质上说,Web Services扩展就是对遗留系统中的数据或事务或应用程序扩展成Web Services,使这些Web Services能在Web上对外提供服务。在数据层次上,进行Web Services扩展不需要知道遗留系统的应用程序,只需要知道遗留系统中数据库的定义以及其中的数据字段,通过与目标数据库建立连接,通过查询操作获取所需要的数据从而完成一些新的应用服务;在事务层次上,Web Services扩展可以直接调用遗留系统中的事务处理程序,接收返回的结果再传给WebServices的消费者,为此需要知道从数据层次上扩展遗留系统中的事务所能完成的工作以及输入输出参数。下面以ASP,NET为例阐述应用系统进行Web Services扩展的方法。
二,从数据层次上扩展
所谓从数据层上扩展是指经过webService扩展接口可以直接使用遗留系统的数据。利用ASP,NET访问异构数据库的核心是ADO,NET,而ADO,NET通过提供程序化接口与OLE DB兼容的数据源进行交互。WebServices通过数据库连接从遗留系统的数据库中读取数据,经过业务逻辑的处理以Dataset(xML形式的数据集)形式通过sOAP传送给Web Services的调用者;同样,WebServices可以接收其调用者通过sOAP传回的数据,经过业务逻辑处理,利用数据库连接更新遗留系统的数据库。使用Web Services进行数据层次的遗留系统扩展应该要注意的一些问题。
首先,数据一致性和完整性:在WebServices与遗留系统数据库交互数据时必需要考虑数据的完整性和一致性,不能破坏遗留系统的使用。实际上Web Services中的业务逻辑大部分只是原遗留系统中业务逻辑的简单再现,少部分新的业务逻辑在编写时也必需清楚地知道遗留系统数据库的数据字典,这样才能做到不影响遗留系统的使用。
其次,数据安全性:遗留系统的安全性解决方案中,很多是在进入应用程序的时候进行基于角色的身份认证,而应用程序中捆绑了数据库系统的身份认证,由于遗留系统是在企业内部使用,因此这样的安全解决方案是可行的。但Web ServiceS是直接面向Internet的,其数据安全性必需要考虑访问安全和传输安全。
最后,性能问题:使用Web Services在数据层次进行遗留系统的扩展时必须考虑到性能问题。由于Dataset、SOAP都是基于XML文本的,系统在处理数据和传输数据之间必须进行二进制流到文本之间的转换;另一方面,Web Services是面向Internet的,服务器和客户端的通信带宽受到一定的限制。因此不可否认,使用Web Services的性能比较低。可以通过使用存储过程和优化查询语句这些方法来增加遗留系统数据库服务器端的性能,从而间接地改善Web Services的使用性能。降低数据的传输量同样可以改进使用Web Services的性能。数据传输发生在WebServices和遗留系统数据库之间以及WebService和其使用者之间,因此降低数据传输量可以分别从这两个方面着手:
(1)降低Web Services和遗留系统数据库之间的数据传输量,其方法是:尽量通过查询语句来完成业务逻辑,由于Web Services和遗留系统数据库很多情况下是处于一个局域网段中它们之间的通信带宽较大,因此降低它们之间的数据传送量对整个使用的性能影响不大。
(2)降低Web Services和其使用者之间的数据传输量,其方法是Web Services的业务逻辑返回的Dataset要尽量小,也就是尽量多的业务处理要放在Web Services的业务逻辑里,这需要Web Services使用者与服务者之间协调处理。如果客户端在发出WebServices调用请求后不要立即得到结果,可以运用异步调用方法,在发出异步调用请求后,可以转到其他处理上,等Web Services返回结果后再回到先前的处理过程。
三,从事务层次上扩展
从事务层次上进行应用系统的扩展是需要前提条件的。前提条件是遗留系统的功能模块是以DLL(Dynamic Lmk Library)形式存在的,而且对外提供运行时可访问的接口,同时能被其他程序调用,因此进行应用系统的Web Services扩展只需要扩展遗留系统功能模块DLL,然后增加一些面向新应用的业务逻辑处理,就可以返回结果给Web Services调用者了。
事务层次的扩展不需要考虑数据一致性和完整性的问题,因为所有牵涉到数据库的数据处理都是由遗留系统的功能模块完成的,数据库对Web Services来说是透明的。事务层次的扩展同样要考虑安全问题,因为遗留系统的功能模块以前基本上都是在企业内部使用,现在通过Web Services就暴露在Internet上。除了数据库访问设置身份密码的方法之外,数据层次的安全解决方案在事务层次上同样适用,可以配置基于角色的安全访问机制,同样,对于需要保密的通信,可以利用SSL来对通信内容进行加密。在传输数据量比较大的时候同样需要考虑性能问题。
四,结束语
进行利用Web Services技术改造传统应用系统,实现企业的遗留系统Web服务化的研究,解決了企业应用集成方案设计的关键问题。为实现企业信息平台的构建提供了先进的信息技术支持,确保利用Web Services技术实现应用系统集成是合理、可行的。
关键词 企业的遗留系统;Web Services扩展;数据层次;事务层次
企业应用集成是指将企业内部不同应用系统和数据集成到一起的过程。通过这一过程,在各异构系统间建立起可供数据共享和应用通信的消息总线,实现企业内部业务流程的整合、管理模式的统一和对已有系统的重复利用,降低系统开发维护的成本,为用户提供一个通用的操作平台,最终达到提升企业竞争力的目的。
这里的应用系统指企业的遗留系统,任何在企业内运行的系统,当它被交付使用时,就成为遗留系统了。遗留系统很多是用传统的方法开发的,有可能都没有按组件的思想设计开发;大多数都是一些孤立的系统,很少与其它系统之间有信息的集成,而且界面表示逻辑通常与业务逻辑、数据访问逻辑混杂在一起。所以一方面,遗留系统是经过了时间的考验、已被证明是实用的系统,其中倾注了若干年的努力和定制成为企业信息系统可以信赖的组成部分;另一方面,遗留系统还可能有许多缺点,例如功能还不够完善、不够灵活等等,因此希望在系统集成时能够通过Web Services扩展,使他们能够满足用户的需要。在扩展之前,先要对遗留系统进行分析。
一,应用系统扩展分析
从本质上说,Web Services扩展就是对遗留系统中的数据或事务或应用程序扩展成Web Services,使这些Web Services能在Web上对外提供服务。在数据层次上,进行Web Services扩展不需要知道遗留系统的应用程序,只需要知道遗留系统中数据库的定义以及其中的数据字段,通过与目标数据库建立连接,通过查询操作获取所需要的数据从而完成一些新的应用服务;在事务层次上,Web Services扩展可以直接调用遗留系统中的事务处理程序,接收返回的结果再传给WebServices的消费者,为此需要知道从数据层次上扩展遗留系统中的事务所能完成的工作以及输入输出参数。下面以ASP,NET为例阐述应用系统进行Web Services扩展的方法。
二,从数据层次上扩展
所谓从数据层上扩展是指经过webService扩展接口可以直接使用遗留系统的数据。利用ASP,NET访问异构数据库的核心是ADO,NET,而ADO,NET通过提供程序化接口与OLE DB兼容的数据源进行交互。WebServices通过数据库连接从遗留系统的数据库中读取数据,经过业务逻辑的处理以Dataset(xML形式的数据集)形式通过sOAP传送给Web Services的调用者;同样,WebServices可以接收其调用者通过sOAP传回的数据,经过业务逻辑处理,利用数据库连接更新遗留系统的数据库。使用Web Services进行数据层次的遗留系统扩展应该要注意的一些问题。
首先,数据一致性和完整性:在WebServices与遗留系统数据库交互数据时必需要考虑数据的完整性和一致性,不能破坏遗留系统的使用。实际上Web Services中的业务逻辑大部分只是原遗留系统中业务逻辑的简单再现,少部分新的业务逻辑在编写时也必需清楚地知道遗留系统数据库的数据字典,这样才能做到不影响遗留系统的使用。
其次,数据安全性:遗留系统的安全性解决方案中,很多是在进入应用程序的时候进行基于角色的身份认证,而应用程序中捆绑了数据库系统的身份认证,由于遗留系统是在企业内部使用,因此这样的安全解决方案是可行的。但Web ServiceS是直接面向Internet的,其数据安全性必需要考虑访问安全和传输安全。
最后,性能问题:使用Web Services在数据层次进行遗留系统的扩展时必须考虑到性能问题。由于Dataset、SOAP都是基于XML文本的,系统在处理数据和传输数据之间必须进行二进制流到文本之间的转换;另一方面,Web Services是面向Internet的,服务器和客户端的通信带宽受到一定的限制。因此不可否认,使用Web Services的性能比较低。可以通过使用存储过程和优化查询语句这些方法来增加遗留系统数据库服务器端的性能,从而间接地改善Web Services的使用性能。降低数据的传输量同样可以改进使用Web Services的性能。数据传输发生在WebServices和遗留系统数据库之间以及WebService和其使用者之间,因此降低数据传输量可以分别从这两个方面着手:
(1)降低Web Services和遗留系统数据库之间的数据传输量,其方法是:尽量通过查询语句来完成业务逻辑,由于Web Services和遗留系统数据库很多情况下是处于一个局域网段中它们之间的通信带宽较大,因此降低它们之间的数据传送量对整个使用的性能影响不大。
(2)降低Web Services和其使用者之间的数据传输量,其方法是Web Services的业务逻辑返回的Dataset要尽量小,也就是尽量多的业务处理要放在Web Services的业务逻辑里,这需要Web Services使用者与服务者之间协调处理。如果客户端在发出WebServices调用请求后不要立即得到结果,可以运用异步调用方法,在发出异步调用请求后,可以转到其他处理上,等Web Services返回结果后再回到先前的处理过程。
三,从事务层次上扩展
从事务层次上进行应用系统的扩展是需要前提条件的。前提条件是遗留系统的功能模块是以DLL(Dynamic Lmk Library)形式存在的,而且对外提供运行时可访问的接口,同时能被其他程序调用,因此进行应用系统的Web Services扩展只需要扩展遗留系统功能模块DLL,然后增加一些面向新应用的业务逻辑处理,就可以返回结果给Web Services调用者了。
事务层次的扩展不需要考虑数据一致性和完整性的问题,因为所有牵涉到数据库的数据处理都是由遗留系统的功能模块完成的,数据库对Web Services来说是透明的。事务层次的扩展同样要考虑安全问题,因为遗留系统的功能模块以前基本上都是在企业内部使用,现在通过Web Services就暴露在Internet上。除了数据库访问设置身份密码的方法之外,数据层次的安全解决方案在事务层次上同样适用,可以配置基于角色的安全访问机制,同样,对于需要保密的通信,可以利用SSL来对通信内容进行加密。在传输数据量比较大的时候同样需要考虑性能问题。
四,结束语
进行利用Web Services技术改造传统应用系统,实现企业的遗留系统Web服务化的研究,解決了企业应用集成方案设计的关键问题。为实现企业信息平台的构建提供了先进的信息技术支持,确保利用Web Services技术实现应用系统集成是合理、可行的。