Java技术在因特网平台上的应用介绍
Java技术在因特网平台上的应用介绍
【摘要】因特网上应用的日益普及与深化,为Java技术的运用提供了广阔的活动舞台,也大大推进了Browser/Server模式的企业内联网应用与网络计算。
作为某信息公司中的技术骨干,我有幸承担了某银行信贷管理与查询系统等的开发任务,独立地完成了其中的系统设计、类设计、部分开发及测试工作。
整个系统完全按照J2EE的标准来设计。前台界面应用了JSP技术,控制部分采用了Servlet来开发,业务逻辑应用了EJB技术来封装,应用服务器采用了支持J2EE标准的BEA公司的Weblogic,后台的数据库选用的是Informix7.3,目的是为了与银行中其他业务系统数据库保持一致。在硬件平台上,我们选用的是HP公司的某台中型服务器机器,操作系统是HP-UX。
该系统界面运用的是IE,它不仅兼容性较好,而且已为广大用户所熟悉。系统运行后,各个支行都普遍反映界面友善,功能强大,开发的效果令人满意。
【正文】
在银行应用中私人的储蓄、企业的会计、国际的业务、信贷、财务管理都是十分重要的,它们构成银行的基础业务系统。我从事开发的信贷业务更是银行利润来源的重要部分。与储蓄,对公等以交易事务为主的业务模式有所不同的是,尽管信贷也是交易,但需要更多其他辅助信息的支持。如客户的基本资料,在本行内业务发生状况、信用等级、是否有逾期贷款未能归还等。各个支行的有关业务人员及分行管理人员都希望能方便及时地了解这些信息。传统的基于终端的用户界面难以传递这么多信息给用户,所以我们决定采用基于测览器IE的用户界面,一方面IE使用方便,不需要专门培训,另外它是与Windows操作系统捆绑在一起的,也可节省前台费用。在开发技术上有ASP,JSP可供选择。
由于考虑到Java技术在Internet上的迅速发展,J2EE更是提出了全新的用语言来统一平台的思路,于是我们决定采纳J2EE标准,并选用了JSP。在设计上,基本上是采用了一个交易画面对应于一个JSP程序,充分发挥JSP动态处理页面的长处。
为了使设计有更好的可扩性、灵活性与逻辑性,能为以后扩展奠定坚实的基础,我采用了(Modelu,View,Controller)的MVC设计模式,View全部由JSP实现,而Controller则是设计了一个Servlet程序,它负责处理前台浏览器传送来的所有请求,并按事先定义好的路径/程序关系,分发给相应的JSP程序去处理。由于Servlet本来就是为Java服务器端编程来设计的,因此由它来负责服务器端的处理是相当合适的。
在开始设计时,我运用了构件技术,由EJB承担起设计模式的Modelu角色。具体的贷款开户,放款,结息逾期贷款,归还贷款等交易都对应一个具体的EJB。为了将这些处理逻辑与相应的数据库操作分离开,能更加便于维护,我将处理业务的EJB设计成Session Bean,而为每个Session Bean再配备一个相对应的Entity Bean,用于访问后台的数据库。贷款管理中有很重要的一点是进行查询,我按照需求分析的结果,为每类查询都设计了相对应的Bean,其目标是尽可能地提高查询的速度。
在对数据库的存取中,我本来的设计应用Informix JDBC所带的Driver Manager,这样,在存取数据库中的Bean中就要把Driver及Server写入,后来考虑到应尽量提高应用的平台独立性,在参阅了J2EE中JDBC部分的说明后,改用了Data Resource的处理方法,这样,即使以后数据库换成Oracle或其他产品,程序也不用修改,只需要在配置时进行变动即可。
在这次信贷管理系统的开发过程中,Java的平台无关性优势,在开发人员从事开发的活动中体现得淋漓尽致。由于经费相对紧缺,我们的开发环境是各个项目组共用一台HP机器,虽然每个开发小组都搭建了自己的环境,但项目一多,特别是遇上结息与批量测试等场合,机器就显得不堪重负,使开发与测试工作的效率大为下降。我们小组由于采用的是Java技术,大家可以在自己的NT机器上搭建相同的环境。这样一来,大家平时的开发工作,包括JSP,Servlet,EJB的程序,都可以在本地完成,只是到测试或展现阶段才需放到HP开发机器上进行。
以前我们开发的Web应用,往往只是应用了部分的Web技术,如采用Apache Web Server、ASP开发语言等。整个体系的集成与组合往往不够理想,这次由于我们采用的一整套符合J2EE标准的组件,整个系统的协同性与一致性非常之好。再加上有一个支持J2EE的应用服务器——BEA Weblogic,以往我们做得不理想的复杂配置,模块间的连结,如今都用不到再操心了,只需在图形化的配置工具中,输入系统所需要的配置,如路径与实际应用程序的关系,组件中的EJB引用,Data Resource的属性等;全部配置完成后,Weblogic会替我们完成项目的部署,并将这一切有关的程序都封装起来。
原来,我们开发小组的文档编制任务显得非常之繁重,因为整个系统既有交易部分,又有管理查询部分,交易、数据与源程序都很多。为了解决这个问题,我们直接应用了Java源程序中的Javadoc导出文档,这样不仅文档美观,而且能够保持与源程序的一致性,实乃一石二鸟之举。
整个项目完成后,用户使用下来都觉得界面友好,操作简便。但是我心里知道.这个系统还有很多可以加以改进的地方。
首先,基于Java系统的开发需要资金较多的投入,由于该系统受到经费的限制,只申请到一台生产用机,这样,Web Server、Application Server、DB Server只能被挤放在一起。虽然Weblogic能实现部分负载平衡,但在将来的业务发展时,这样的分布肯定不是最理想的。好在我们在设计时已经考虑过尽量有良好的扩展性,在以后条件许可时,只需进行在不同机器之间的进一步部署即可,应用程序大体上无需改动。
其次,在设计上,可以采用UML的产品,如Rational Rose,另一方面,Rational Rose具有自动代码生成功能,也可以大大节省开发的成本。
最后,目前的信贷管理系统相对用户数目量不多,当推广类似系统需要拥有大批用户时,基于Java的系统的响应时间与系统分布都会有较为突出的矛盾出现。
以上这些,都是我在今后的系统设计与开发中需要加以注意的地方,也是运用Java技术应当努力的方向。(本文主要参考了上海戴黎平等人的论文)
评注:讨论具体,应用较为深入,表达清晰。存在的问题属实。