论文部分内容阅读
二十世纪中期,随着第三次工业革命的发展,信息技术在世界范围内呈现爆炸式的发展。而随着金融信息化的发展,遗留系统带来的各种问题也开始逐渐凸显。这些遗留系统往往已经开发和运行了许多年,原先使用的一些技术可能已经过时,很难维护,带来的维护成本很高,效率低下;同时他们运行的环境等方面也随着多年的发展而产生了新的变化,可能有了更好的选择,更可能已经被原有厂商放弃,不再支持,这就促使了软件移植的诞生。而对于一个大型金融信息系统来说,动辄有几十万甚至几百万行的代码,直接手工逐行的代码转换将耗费极大的人力资源。更由于Java和C#语言特性的区别,有很多地方不存在着一一对应的关系,人工的代码转换变得极为得不切实际。这就需要我们从系统的角度,针对一些常见的技术问题得出一套统一的,自动的,批量的代码转换方案,使得大型金融信息系统的代码移植得以顺利地展开。本文针对B公司的A系统展开讨论,研究一个大型金融信息系统从C#移植到Java的技术难点以及相关方案。论文第一章概要地介绍了本文的研究背景,研究意义与所完成的主要内容。第二章讨论了软件移植的基本定义,软件移植的度量和软件移植的步骤,并总结了软件移植的现状与问题。第三章讨论C#与Java的语法差异,并比较各种不同的C#到Java的语言转换工具,分析他们的优缺点,选择最合适的工具C#to Java Converter来对逻辑代码做自动移植。第四章研究C#与Java中各种XML解析的方式,寻找对应规则。最后评估dom4j和jdk的两种实现方式,并选择最符合A系统的dom4j实现来移植XML相关代码。第五章介绍数据库实体类的移植方案。主要介绍了数据库代码自动生成工具的原理与实现,并介绍了基于此工具的模板代码编写方式与移植方案。第六章研究了C#的WCF和Java的Web Service技术,比较它们的优缺点,并最终选择一个最适合本项目的方案进行Web Service的移植。第七章总结了本文的观点以及得出的结论,并展望了下一步的研究方向。