基于JavaServerTM Faces和DAO模式的大型设备采购系统_第1页
基于JavaServerTM Faces和DAO模式的大型设备采购系统_第2页
基于JavaServerTM Faces和DAO模式的大型设备采购系统_第3页
基于JavaServerTM Faces和DAO模式的大型设备采购系统_第4页
基于JavaServerTM Faces和DAO模式的大型设备采购系统_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于JavaServerTM Faces和DAO形式的大型设备采购系统摘要文章先介绍了JavaTEE家族中的重要成员JavaServerTFaes这一技术。它位于JavaTEE的eb层面,为eb程序员提供了基于组件和事件驱动的编程方式,这将改变传统的eb程序编写方式。然后,本文分析了大型设备采购系统的固有特性,并介绍了如何结合JSF技术和DA形式开发大型设备的采购系统。关键词JavaServerTFaes;JSF;大型设备采购;信息系统信息技术、计算机网络技术、数据库技术和软件工程技术的高速开展,使得计算机信息系统得到了长足的进步。高速网络和大型关系数据库的成熟,为构建计算机信息系统提供了良好

2、的基石;软件工程技术的开展,使得人们可以设计并构建出灵敏、功能强大和高质量的信息系统基于Vdel-Vie-ntrller架构形式的B/S系统,就是一个成熟并且高效的构造。有很多技术都应用了V这一架构形式,JavaServerTFaes技术就是其中的一种,开发者可以利用JSF技术开发出设计良好的系统。V形式将系统分割为三个独立的局部:del、Vie和ntrller。del代表应用数据和业务逻辑,Vie负责将数据显示给用户,ntrller处理与用户的交互。三个局部松散地耦合在一起,通过变更通知机制来保持同步,其原理如图1所示:图1V架构形式示意图V形式使系统各局部之间的耦合度降低,内聚度进步。这种

3、设计方式可以有效地进步系统的可维护性。eb应用程序依赖于HTTP超文本传输协议。HTTP是一个无状态的协议,它本身没有提供会话状态保存机制。因此,适应于eb程序的V架构形式受到了一定的限制,同时也必须做一些修改,这就是del2模型。在这个模型中,有一个前端Servlet作为ntrller,侦听特定的URL恳求。在收到恳求后,Servlet与作为del的JavaBean交互,再决定向哪一个Vie转发恳求,最终再显示给用户。其构造如图2所示:图2del2的构造图HTTP的无状态性导致了这么一种结果:在del2中,del的变更无法立即传播到相应的Vie和ntrller。3.1JSF的构造JSF是为基

4、于Java技术的eb应用程序所设计的效劳器端用户组件框架,它基于del2架构,明确定义了del、Vie和ntrller,其构造如图3所示。JSF的核心是建立在上述架构上的UserInterfaedel用户界面模型。这个模型直接决定了JSF架构不同于传统eb框架,它提供了基于事件的编程方式。用户界面模型由这几局部组成:UserInterfaepnentlasses用户界面类:这些类代表了用户界面组件和用户界面组件相关的操作接口,如保存状态、维护引用、事件的处理和呈现组件等。pnentRenderingdel组件呈现模型:组件的功能由组件的类决定,而组件的显示可以由专门的呈现器来决定。这种功能和呈

5、现分割的设计意味着:可以通过简单地交换呈现器,获得不同的显示效果,或者通过不同的呈现器,来适应不同的客户端。nversindel转换模型:某些用户界面数据,如输入框中的数据,是与效劳器端的数据对象相联络的。效劳器端的数据对象是有类型的,而用户界面组件内的内容全部都是String类型的,假如这两者数据类型不相容,就必须有一个转换器。转换模型定义了这方面的内容,程序员可以根据需要为用户界面组件搭配适宜的转换器。图3JSF构造图Validatindel验证模型:这个模型定义了如何对来自于恳求的数据进展验证。程序员可以通过它定义数据的格式。EventandListenerdel事件和监听模型:通过事件

6、和监听模型,JSF技术提供了基于事件驱动的编程方式用户界面产生event事件,注册在其上的listeners监听器捕获这个事件,执行事先确定的任务。事件和监听模型提供了Listener类作为监听器的接口,一旦一个应用程序提供了对Listener类的实现,并且向相应的用户界面组件进展注册,就可以得到相应的通知。JSF支持三种事件:值变化事件、动作事件、数据-模型事件。3.2JSF的恳求处理生命周期JSF系统的组成元素由用户界面模型来定义,这些元素如何协作那么是由JSF的恳求处理生命周期来定义的,这个步骤也被称为JSF页面的生命周期,如图4所示:图4JSF页面的生命周期RestreVie恢复视图:

7、在这一阶段,JSF的效劳器会为所接收的faes恳求建立组件树,并将相应数据存入Faesntext实例中。在下一次访问这个页面时,FaesServlet将利用这些数据重建组件树。通过这种机制,可以在不同的恳求之间保存数据,解决了HTTP本身无状态的问题。ApplyRequestValues应用恳求值:在组件树建立之后,系统会从恳求的参数中抽取参数值,将它们赋值给相应的组件,同时消息和事件会被存放于相应的消息或事件队列中。PressEvents处理事件:系统将消息队列中的事件播送给相应的监听器,由监听器作相应处理。PressValidatins处理验证:在这一阶段,系统读取组件的值,同时查看在相应

8、组件上的验证器规那么,通过比拟值和验证规那么,确定组件的值是否有效。UpdatedelValues更新模型值:将用户组件的值赋给相应的支持Bean。InvkeAppliatin调用应用程序:在这个阶段,系统响应所有的AtinEvent事件,进展相应的处理。RenderRespnse呈现响应:系统生成相应的响应,并将响应的状态保存起来,以便后续的恳求进展访问。本系统的持久层采用DADataAessbjet,数据访问对象形式的设计。通过DA形式对系统进展分割,将数据库访问层的实现封装到DataAessr数据访问器中,从而将Dainbjet域对象别离出来,实现了低级别的数据访问与高级别的业务逻辑的别

9、离。为了减少系统通过网络访问数据库的次数,在DataAessr的设计上采用了Valuebjet+Persistentbjet的设计思想。由于系统的复杂性,D域对象通常不仅仅对应一个表格中的一条记录,它有可能对应多个条记录,甚至有可能对应于多个表格中的记录。在这样的情况下,使用V就非常必要了。因为通过使用V,可以将众多的常用的相关属性封装成一个对象,在一次网络传输中完成信息的获取和修改,减少了屡次进展的网络传输开销。其构造如图5所示:图5D、V、P关系图P对应于数据库中的真正记录,DataAessr对数据库的实际操作都是封装在P中的。P实际上是数据库内信息在内存中的镜像,这是由信息在D、V、P、

10、数据库之间的流动方式来保证的:首先,P在初始化时,必须从数据库中更新信息。也就是说,一旦P完成了初始化,此时它的数据和数据库中的记录是完全一致的。其次,数据在更新时,其流向是DVP数据库。因此在数据更新完成时,数据库和P的数据仍然是同步的。接着,数据在被删除时,数据库中的数据和P中的数据同时消失,仍然不会出现数据不同步的情况。最后,数据在受查询时,数据库没有受到改变,P也没有受到改变。因此,查询完成后,数据库和P的数据仍然是同步的。所以,P与数据库中的相应记录是同步的,完全可以视为数据库记录的镜像。鉴于这个特性,系统在查询时可以直接查询P,无需通过网络访问数据库,这样就减少了网络开销和数据库查

11、询开销。实际上,即使是系统在进展数据更新时,开销也和直接使用V更新数据库一样。使用P还有一个好处:V的数据类型未必能完全兼容于数据库中的数据类型,P可以在数据库和V之间进展数据的类型转换,这样,在V和D中就可以直接使用适宜的数据类型了。可以看出,V+P的DataAessr设计方式有效地进步了系统效率。同时,Dainbjet的别离使程序员可以专注于业务逻辑的设计,便于与JSF框架的对口。5.1系统功能系统针对汽轮机厂大型设备也被称为主机的采购,其用户为消费单位、工厂方案处、装备资源处。系统需要为这些用户提供这几方面的效劳:对采购订单的管理、设备信息的管理效劳以及采购发票的管理。对采购订单的管理要

12、求系统可以提供以下功能:从消费单位搜集采购需求、方案处审核采购需求、方案处整理采购需求、方案处创立采购订单、跟踪采购订单的执行情况也就是采购合同的管理。对设备信息的管理要求系统可以提供以下功能:制定设备信息的档案、跟踪设备的情况、可以对设备进展转固、提供记录设备台帐的功能。对采购发票的管理要求系统可以提供以下功能:记录设备的发票记录,以附件形式保存发票的扫描记录。同时,系统还要提供相应的查询功能。5.2系统分析通过搜集、整理业务信息,得到了如图6的主机设备采购流程图。分析流程图,得到以下结论:系统应该建立四种用户角色:消费单位的普通用户、采购方案制定员、采购订单制定员、采购过程管理员。系统要制

13、定以下几种表单来提交信息:主机采购申请表格、主机采购方案单、主机采购订单、主机采购信息跟踪表。为了让系统追踪主机信息,必须在制定采购方案时为每一台主机设置一个系统唯一的编码拟采购主机编码。这个编码是主机的标识符,在主机转固时,与真正的主机编码是一一对应的。同样的原理,通过这个编码,可以将将整个工厂的其它相关信息串联起来。主机的整个生命周期的信息都可以被追踪和记录。图6大型主机采购流程系统需要制定以下数据库表格来保存信息:采购申请表、采购方案表、采购订单表采购合同表、采购合同跟踪表、拟采购主机表。另外,还必须制定相关的参数码表。5.3系统实现以编辑主机信息为例,涉及的主要内容有:JSF页面、数据

14、库表格、D域对象、V值对象、P持久化对象。它们互相协作,完成相应功能。JSF页面包含了表单控件h:fr,使用JSF的h:panelGrid控件来布局。表单中采用了多种控件日期输入框t:inputalendar、文本输入框h:inputText等,通过and:控件来提交表单。数据库表格保存了拟采购主机的各项参数,如下所示:图7数据库表格例如P由属性、访问器、构造器和数据库访问方法组成。P的属性和数据库中的相应记录是对应的。其构造器和数据库访问方法使用JDBAPI将数据库中的记录映射到相应的属性上。当用户提交了相应的拟采购信息后,在JSF的恳求处理生命周期的调用应用程序阶段,创立相应的D拟采购主机对象,同时建立相应的V和P,最后调用P的reate()方法在数据库中建立相应的记录。JSF是一个效劳器端用户界面框架,它所提供的事件驱动的编程方式,极大简化了eb程序的用户界面开发。JSF技术结合DA等设计形式,可以开发出高效率,高可维护性的eb应用程序。1JenniferBall,Debbiearsn,IanEvans,SttFrdin,KiHaase,EriJendrk.TheJavaTEE5Tutrial,Suni

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论