J2EE的企业资产管理系统网上采购模块分析_第1页
J2EE的企业资产管理系统网上采购模块分析_第2页
J2EE的企业资产管理系统网上采购模块分析_第3页
J2EE的企业资产管理系统网上采购模块分析_第4页
J2EE的企业资产管理系统网上采购模块分析_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、J2EE的企业资产管理系统网上采购模块的设计与实现摘要随着经济一体化进程的加快与互联网信息技术的飞速发展,企业的信息化的 步伐也逐渐加快,从通常的手工操作到办公自动化套件的广泛应用,再到各式各 样企业管理平台的大量实施,以及将来向一体化的方向进展,我国的企业信息化 经历了一个技术化层面从低到高,集成化程度从分散到集中,管理理念不断更 新,管理方式逐渐走向成熟的过程。期问涌现出许多优秀的管理平台,资产管理 系统(EAM)就是其中比较有影响力的一款。EAM系统下的采购管理作为供应链 管理的一个重要环节,日渐显示出其重要性。要想在信息化的浪潮中提高企业竞 争力,建立一套适合企业发展的资产管理系统势在

2、必行, 而其中网上采购模块是 其中的一个重要角色。本系统基于B/S模式,采用应用广泛的J2EE开发平台、设计与实现了 EAM 资产管理系统,满足了企业管理信息化的需求。系统分为四个模块:网上采购、 资产核查、资产申请申报、系统管理。其中网上采购管理模块目录管理、信息发 布、报价系统构成。本文围绕设计与实现 EAM 采购管理系统,首先对采购管理系统的流程进行 了详细分析,以及各个模块与网上采购系统的关系,明确了需求:然后根据采购 管理系统的需求分析,设计了采购管理系统的总体与详细架构,并在此基础上设 计了相应的数据库;最后展示了采购管理系统的运行效果。关键词: J2EE, EAM,Struts,

3、 MVC ,采购管理系统,ABSTRACTWith the rapid development of the economic globalization and informationtechnology such as the Internet,computer technology and network technology , companies accelerate the pace of informationization From usual manual to extensive use of office automation software, to the kinds

4、 of various enterprise management platform S implementation and future S direction ofthe integration progress our country S informationization of company in technology level from low to high , the degree of integration from decentralized to centralized , develop management theories and management mo

5、de move to maturity During the emergence of many excellent system , EAM is one of the more influential EAM procurementmanagement as an important part of supply chain management , it is increasingly important In order to improving the competitive of enterprise,establishingprocurement management syste

6、m which adapt to enterprise is imperative This paper bases on B/S system ,adopt J2EE development platform,design and implement all EAM procurement management system , achieve the enterprise procurement management information requirements The EAM procurement management system involve four sub-modules

7、 related, such as procurement module,materials check module, purchase order module,system manage module And the procurement module divided into 3 specific modules The paper focuses on Catalogue manage Module,InformationModule,Price Reporting Module.Then, with the requirements of EAM procurement mana

8、gement system ,we determine the architecture of the system ,functional designing,and scheme out the databasesAt last ,the paper demonstrates the runtime effectiveness of some modules , concludes the characteristics and limitations of the system , and points out the prospect of future work Key Words

9、:J2EE, EAM,Struts ,MVC ,Procurement Management System1.1 选题的目的和意义企业从采购、生产、销售到全面预算,处于一个迅速变化且难于预测的买方 市场,为了提高竞争力,需要采取更加先进的制造技术与管理方法,做出快速响 应。而实现按期交货,满足客户的需求,第一个环节就是采购。因此,采购作为 企业运作的核心环节,其地位举足轻重。采购工作为了企业生产与管理,以及时、按质与按量的要求供应所需的物资, 以最小的物资储备达到最佳的供货状态。避免物资的积压与缺料对于一个企业来 说至关重要。因此,有必要创建可以集成在 EAM 的采购管理系统,以适应电子 商务

10、时代企业发展的需要。该采购管理系统是 EAM 系统中物流、生产流、资金流中物流与资金流的重要 组成部分,在保障信息在不同部门之间的正常流动,按时交货与降低成本起着重 要作用。本 EAM 系统面向中小型制造企业、适用于多行业的、可根据具体业务需求 进行功能裁减并支持企业业务流程重组。并在广州、珠三角乃至全国制造企业中 推广应用,逐步实现产业化。机械制造业主要通过对原材料的加工,改造与组装 成为市场所需要的产品。主要包括机械加工、机床加工与组装性行业。其中涉及的 工业领域主要有机械设备、汽车、造船、飞行器、机车与日用器具等等。1.2 企业资产管理系统的发展状况 工业发展经历了从手工作坊到机械化、自

11、动化再到集成化的变迁,因此各个 时期的检修方式也随之不断更新和发展。从总体上看,可分为以下几个阶段: 第一阶段:事后维修和预防性维修 (从 18 世纪第一次产业革命到 20 世纪初 )。 事后维修是指当设备发生故障时进行的非计划性维修,预防性维修即实施定期的 点检及早期维护。第二阶段:经济检修 (从 20 世纪初至 80 年代) ,随着科学技术的发展,检 修方式也变的多种多样,于是就产生了以节约成本为宗旨的综合检修方式。即将 各利一检修方式根据需要,有机地结合在一起的检修方式。其显著的特点是设备现 代化、管理现代化。第三阶段:状态和预知维修 (从 20 世纪 80 年代至今 )。依靠盟测设备,

12、对设备运行状 态的进行监控,然后做出维修决策。通过这种方式,可以大大减轻专业维修人员的工作量, 不仅如此,运行人员也可以通过监测设备参与检修,及时 调整设备运行状态,以维护设备的正常高效运转。 纵观设备维修的发展史,我们可以发现,每一中设备维修方法的诞生,都是 伴随着科学技术的进步应运而生的。在科学技术低下的初期,因为没有先进的设 备管理系统,设备维修只能依靠事后维修的方式进行;随着科学技术的发展,首 先出现的是低层次的设备管理系统,只能对设备进行简单的管理,所以可以制定 出一定的维修计划和设备的维修周期,进行预防性维护;到了设备维修的第三个 阶段,恰逢信息技术飞速发展的时代,先进的管理系统,

13、就可以使经济维修成为 可能;到了今天,随着其他技术,例如监测技术的飞速发展,使得系统可以实时 监控设备的运行状态,这就可以根据设备的实时状态进行预防性维修。 正是基于当今设备维修发展的需要,一套先进的,融合最新技术的设备管理 平台就显得尤为重要,而企业资产管理系统 (EAM) 就是在这个背景下诞生的。 EAM 的前身是 CMMS(Computerized Maintenance Management System :计算 机化的设备维护管理系统 )。 CMMS 更多侧重维修管理,包括预防性、预测性维修 计划,从系统的应用范围来看, CMMS 更多停留在部门级的水平。 EAM 系统已经在 管理的

14、广度和深度上提高到整个企业级,甚至是多企业的管理, EAM 系统支持多 组织管理。在这样的管理模式下,充分保留了各分公司自身的管理特点,并在需 要时互相方便地交换信息和共享流程。这样的 EAM 系统将帮助管理决策层方便、 及时、完整的了解下属企业的运营状况,特别是可以直接在系统中直接对下属企 业、部门、系统或其混合模式进行预算控制,以此帮助跨国公司、集团企业全局 掌控和管理资产,最大程度降低管理成本,实现企业价值最大化。IT 技术的应用同时, EAM 帮助企业把实现企业设备资产管理的战略目标变得 更加灵活和简单。随着计算机、数据库,尤其是 Internet 的广泛应用, EAM 系 统也从过去

15、 CMMS 可以单机安装发展到今天的网络化运行。任何地点、任何时间, 用户只需要运用标准 Internet 浏览器即可登录系统,获取实时的管理信息。这 样的运作方式同时降低了企业对于 IT 设施投资,以及维护的成本。全球 EAM 软件及服务市场规模早在 2000年已超过 13亿美金, 2005 年将达 到 19 亿美金。而对于国内 EAM 的市场窄间,各家公司对于具体的数字说法不一, 而一致的看法是 EAM 的增长速度是企业信息产品中发展最快的。1.3 论文研究内容本文对 EAM 的采购管理系统的各个模块进行了需求分析,在需求分析的基础上,设 计了系统架构,并实现了 EAM 采购管理模块,满足

16、了企业采购信息化的需求。本文的主要工作有: 1对采购管理系统进行了需求分析。首先,分析了采购管理的总体业务流 程与采购管理在整个 EAM 系统中的地位;然后,将网上超市管理、资产申请、资金申请功 能,详细分析,明确需求。2设计了系统的总体架构。总体架构分为视图层、代理层、控制层、模型 层与 DAO 层,设计了系统的总体业务流程和各层处理逻辑。3设计了系统的详细架构。首先设计了详细架构通信图与数据流;然后分 别设计了前台与后台的逻辑处理系列图。4设计了相应的系统数据库。 5对系统模块中的类与接口、页面进行设计与编码。1.4 论文结构 本文分为 6 章 第 1 章,绪论。简要叙述了项目背景与开发采

17、购管理系统的意义,引出了本 文主要工作。第 2 章,系统平台与技术。简单说明了本文涉及的关键技术J2EE、 MVC 和 SSH 框架技术。第 3 章,网上采购模块需求分析。首先分析了采购管理的总体目标,然后详细分析了采购 管理涉及的各个模块的流程与功能,明确了需求。第 4 章,网上采购模块设计与实现。首先设计了系统的总体架构与原理,然后设计了系统的 详细架构设计与数据库,最后详细阐明系统模块的主要类与页面设计。 以及说明了系统开发与运行环境,并直观展现系统部分模块 的运行效果。第 5 章,总结与展望。对总结了本文、分析了项目的特点与优势、指明了未 来工作的切入点。第 2 章 系统平台与技术2.

18、1 MVC 设计模式2.1.1 MVC 模式的介绍随着Web开发的不断发展和需要,MVC模式被推荐并成为Sun公司J2EE平台 的设计模式,并且在应用中受到越来越多的开发者的欢迎。Model-View-Controller 原来是 Xerox PARC在八十年代为编程语 Smalltalk-80 发明的一种应用程序的框架结构, 至今已被广泛使用。 该框架结构支持三层结构 的类:表现应用程序状态层、屏幕表现层和控制流层,因此这三层被称为模式(Model)视图(View)和控制器(Controller)。MVC是可以满足那些需要 为同样的数据提供多个视图的应用程序的开发需要, 在开发与用户接口相关

19、, 特 别是对用户接口要求较复杂的相关的应用程序时, 可以很好地以不同的方式来显 示同一数据, 也就是在不改变软件功能的前提下, 可以实现用户对用户接口的个 性化要求,而MVC模式的最大特点就是将业务层与表示层分离,而且提供了很 多使显示接口更加个性化的卷标库, 所以它能更好地实现用户接口的各种个性化 需求。MVC通常用于分布式应用系统的设计和分析,如:大型商业网站、企业信息 系统、管理信息系统、 决策支持系统等, 但它本身并不局限于某一个特定的领域。 MVC设计模式,最近几年被推荐为SIJN公司JZEE平台的设计模式,它强制性地3把应用程序的输入、 处理和输出分开 3 。它的三个核心部件分别

20、是模型、 视图和 控制器,它们各自处理各自的任务:(1)模型(业务逻辑层):表示企业数据和业务规则,实现具体的业务逻 辑、状态管理的功能。在MVC的三个部件中,模型拥有最多的处理任务。例如 它可能用像EJB和ColdFusion Companiei这样的构件对象来处理数据库。被模型返 回的数据都是中立的, 也就是说模型和数据格式无关, 这样一个模型能为多个视 图提供数据。 由于应用于模型的代码只需写一次就可以被多个视图重用, 所以减 少了代码的重复性。(2)视图(表示层):即用户看到并与之交互的接口,是应用程序的外在 表现,通常实现数据的输入和输出功能。对老式的 Web应用程序来说,视图就是

21、由HTML元素组成的接口,在新式的 Web应用程序中,HTML依旧在视图中扮演 着重要的角色,但一些新的技术也层出不穷,它们包括 Macromedia Flash和像 XHTML、XML/XSL、WML等一些标识语言和 Web Services因此如何处理应用 程序的接口变得越来越有挑战性。 MVC 个大的好处是它能为你的应用程序处 理很多不同的视图。在视图中其实没有真正的处理发生, 不管这些数据是联机存 储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操 纵的方式。(3)控制器(控制层):起到控制整个业务流程的作用,根据用户的输入调用相应的模型和视图去完成用户的需求和相关

22、的操作。具体地来说:控制器本身不输出任何东西和做出任何处理。它只是接受客户的请求并进一步决定调用哪 个模型去处理该请求,并根据处理结果来确定用哪个视图来显示模型处理之后返 回的数据。它们三者之间的关系如图3.1所示。方法俪*事件图2.1 MVC组件类型的关系和功能2.2 Struts 项目概述Struts是Apache组织的一个项目,像其它的Apache组织的项目一样,它也是一个开源专案。Struts作为一个设想是 Craig R McClanahan于2000年提出的, 该设计的目标是为利用Java技术开发基于MVC模式的Web应用提供一个标准 模式。基于Struts架构的Web应用程序基本

23、上符合JSPModel2的设计标准,是 MVC 设计模式的一种变形,提供了对开发 MVC 系统的底层支持,它采用的主 要技术是 Servlet、JSP和 Custom Tag Library。Struts 框架是一种基于 Java 的技 术,Web应用程序开发人员通过Struts框架即可充分利用面向对象设计,代码重 用及“编写一次,到处运行”的优点。另外,Struts不仅是拥有自己的控制器,同时整合了其它的一些技术来实现模型层和视图层, 例如:在模型层, 它可以很 容易与数据库的访问技术相组合,包括 JDBC 技术和 EJB 技术;在视图层,它6 能够与JSP、XSL等组件相结合 。所以从一定

24、的意义上讲,采用Struts来实现 基于MVC的Web应用的开发,可以根据具体的需求来选择设计的复杂程度, 具 有很好的扩展性。Struts的主要优势功能如下:(1) Struts中包含一个控制器Servlet,用来控制用户的请求发送到相应的Action 对象;(2) 在JSP页面中可以选用自定义标签库,并且在控制器Servlet中提供关联支持,这样可以帮助开发人员方便快捷地创建交互式窗体应用;(3) Struts还提供了一系列实用对象:XML文件处理、通过Java Reflection API 自动处理JavaBean属性、国际化的提示和消息。2.2.1 Struts 核心组件Struts是

25、一组相互协作的类、Servlet和JSP标记,它们组成了一个可重用的 MVC设计模式。这个定义表示Struts是一个框架,而不是一个库,但同时 Struts 也包含了丰富的标记库和独立于该框架工作的实用程序类库。Struts通过一些组件类来完成框架的功能,这些组件包括 :ActionServlet、 Action、 ActionForm、 ActionForward、 ActionMapping。1. ActionServletActionServlet 继承自 类,它在 struts 中扮演的角 色是中心控制器。它提供了一个中心位置来主要负责将 Http 客户请求组装后, 根据配置文件的指定

26、的描述, 转发到适当的处理器。 另外, 除了作为应用程序的 前端控制器外, ActionServlet 实例还负责初始化和清除应用程序的资源。2. Action一个 Action 类的角色,就像是客户请求动作和业务逻辑处理之间的适配器, 它作为应用程序响应用户请求的动作, 将请求与业务逻辑分开。 这样用户的请求 和 Action 类之间可以有多个点对点的映射。 Action 最为常用的方法是 execute(), 典型的Action类一般要在execute。方法中实现下列逻辑:(1) 检查用户session的当前状态。如果session过期或者用户没有登录,要将 表示层的页面跳转到用户登录页面

27、;(2) 检查用户输入的合法性。调用Form Bean实例的validate。方法检查一些字 段的输入值是否恰当或合法;(3) 执行业务操作。调用业务逻辑Bean的相应方法执行用户的业务请求;(4) 更新服务器端的对象。将 Model的状态改变通知给 View,并返回请求页 面。3. ActionForm一个应用系统的消息转移 (或者说状态转移 )的非持久性数据的存储,通常由 ActionForm Bean 来负责,它的主要功能是为 Action 的操作提供与客户窗体相映 像的数据。对于每一个客户的请求,一般要经历如下几个步骤:(1) 检查Action的映像,确定配置文件中己经配置了对 Act

28、ionForm的映像;(2) 根据 Name 属性查找 ActionForm 的信息;(3) 查找 ActionForm 的使用范围,确定在此范围下是否存在对应的Form Bean的实例;(4) 假如在当前范围内,相应的 Form Bean 的实例己经存在,而且对当前的 请求来说是同一类型的话,就可以重用,否则,就要重新构建一个 Form Bean 的实例;(5) 调用 Form Bean 的 reset()方法;(6) 调用对应的set()方法,对状态属性赋值;(7) 如果validated属性值被设置为true,则调用Form Bean的validate()方法;(8) 如果validat

29、e()方法没有返回错误,控制器将 ActionForm作为参数,传给 Action实例的execute。方法执行。4. ActionForward当Action实例的execute()方法运行完毕后,控制器根据Mapping可以将响应 信息转到适当的地方, ActionForward 的主要功能就是对将要转向的视图的地址 的一个封装。 转向的各种属性也可以在配置文件中设置性, 这样就大大提高了软 件的复用性和可维护性。5. ActionMappingActionMapping 以 Java 的形式封装了怎样将一个请求 URL 映射到与其对应 的 Action 的一些信息。 ActionMapp

30、ing 对象帮助进行框架内部的流程控制,它们 可以将请求 URL 映像到 Action 类,并且将 Action 类与 ActionForm Bean 相关联。 Struts 框架的控制器 ActionServlet 在内部使用这些映射将控制转移到特定的 Action 类的实例。2.2.2 Struts 的工作流程采用Struts框架开发Web应用系统时,在 Web应用启动时就会自动地加载 并初始化 ActionServlet,此时 ActionServlet 将会从 Struts-config.xml 文件读取配 置信息,并把它们存放到各种对应的配置对象中。 当 ActionServlet

31、接受到一个客 户请求时,将执行如下流程:(1) 检索与用户请求匹配的Action实例,如果不存在,控制器直接将请求转发 给JSP或静态页面;如果有对应的Action,并且这个Action有一个相应的Form Bean, ActionForm 被实例化并用 Http 请求的数据来填充其属性,然后保存在 ServletCotenxt中,以备其它 Action对象或JSP调用。(2) 控制器根据Struts-config.xml的配置信息将请求切换到具体的 Action,对 应的相关的 Form Bean的信息也一起发送给 Action类的execute。方法。(3) Action 的 execut

32、e。方法返回一个 ActionForward 对象,控制器 ActionServlet 再通过该 ActionForward 对象来进行转发工作。(4) Action 根据业务处理的不同结果返回一个相应的目标响应对象给总控制器,这个目标响应对象可以对应一个具体的JSP页面或者是另外一个Action。(5) 总控制器 ActionServlet 根据业务功能 Action 返回的目标响应对象 (多数情 况下,该响应目标是一个JSP页面),将Http请求转换到该目标响应对象中,进 一步将结果页面展现给用户。223 Struts框架实现MVC模型Struts实质上就是JSP Model2的基础上实现

33、的一个MVC模式框架,MVC设计 模式为构建可扩展、可重用的体系结构打下了很好的基础,该设计模式需要用户将自己的代码抽象出来,把项目在一定的程度上分解为表示,逻辑和控制三部分, 每部分之间的关系相对较小,以便使得软件结构更加灵活,并具有较好的可重用 性和可扩展性。在Struts框架中,模型一般有实现业务逻辑的JavaBea或EJB组件 构成,控制器由ActionServlet和Action来实现,视图由一组JSP當构成,Struts实现的MVC框架如图3.4所示。图2.2 Struts实现的MVC模型Struts是 Apache组织的一个项目,提供了一个实现 MVC架构的高度自动化的方式,作为

34、一个MVC的框架,Struts对Model、View和Controller都提供了对应的实现组件:(I) 控制器(Controller):控制器的作用是从客户端接收请求,并且选择执行相 应的业务逻辑,然后把响应结果送回到客户端。在Struts中Controller功能由ActionServlet 和 ActionMapping 对象构成。ActionServlet 是 MVC 设计模式的决 策控制部分,也是Struts框架的核心。它根据ActionMapping把Http消息形式的 用户请求转换成相应的应用程序的动作。Acti on Servlet还负责用相应的请求参数 填充ActionFor

35、m(通常称之为FormBean),并将其传给对应的动作类(通常称之为 ActionBean)。动作类Action来实现核心商业逻辑,它可以访问JavaBean或调用EJB,最后动作类指向相应的JSP檔,最终生成相关的视图。ActionServlet 包括一组基于配置的 ActionMapping 对象,每个 ActionMapping 对象实现了一个请求到一个具体的 Model 部分中 Action 处理器对象类之间的点 到点的映像。 ActionMapping 中有 Action 对象的名字和地址的描述,当有请求传 入 Controller 时,它把请求的路径映像到 Action 的地址,并

36、把请求传给那个 Action 类。 ActionMapping 类也包括一些程序中可能的唯一的信息,例如本地变量,特 定环境数据,或者 URL 。9模型(Model):表示应用程序的状态和业务逻辑。MVC系统中的Model部分从概念上可以分为两类:系统的内部状态和改变系统状态的动作。Struts为Model 部分提供了 Action 和 ActionForm 对象,所有的 Action 处理器对象都是程 序开发者从Struts的Action类派生的子类,并对其中主要的方法进行覆盖。Action 处理器对象封装了具体的业务处理逻辑, 处理具体的业务逻辑操作, 并且把响应 提交到合适的View组件

37、以产生响应。Struts提供的ActionForm组件对象,可以 通过定义属性描述客户端窗体数据。 我们可以从它派生子类的对象, 利用它可以 实现对客户端的窗体数据的良好封装和支持,相应的 Action 处理器对象可以直 接对它的窗体数据进行读写,而不再需要和Request Response对象进行数据交互,通过 ActionForm 组件对象实现了对 View 和 Model 之间非持久性数据交互的 支持。(3)视图(View):视图是用户看到并与之交互的界面。Struts应用中的View部分是通过JSP技术实现的。Struts提供了自定义的标签库,通过使用这些卷标定 义的JSP窗体可以和M

38、odel部分中的ActionForm的映像,完成对用户数据的相 关封装,同时还可以使用这些标签来丰富 JSP页面。2.3 数据持久技术与 Hibernate在采用了 Struts技术的框架中,Struts简化了 Web层的开发,实现了应用程 序的显示逻辑和业务逻辑的分离, 使应用程序更趋模块化, 应用程序更加容易维 护 。 这 种 应 用 程 序 的 基 本 架 构 是 MVC(Struts)+DAO(Data Access Object)+JDBC+Databases为了进一步地提高代码的可复用性和可维护性,提高 开发效率, 需要一个更加有效的架构。 因为大多数的应用程序都涉及到的数据库 操

39、作,通常数据库表会很多而且关系复杂,如果使用 DAO+JDBC 访问数据库将 会使得编程过程复杂化, 进而带来的是大量的维护工作, 特别是层与层之间的耦 合性大,表格属性的变动将极大的影响代码的维护, 因此需要有一种方便通用的 方案来解决这个问题。这里将采用对象/关系映像(Object/Relational Mapping)的数 据持久化技术来简化编程的复杂度, 目前实现对象关系映像也已经有一些比较成 熟的工具,如 Caster, JDOGenie, Hibernate 等。本文主要应用 Hibernate:在 Struts 中,不需要太多的代码, 它能够将对象映像到关系数据库中的行, 不需要

40、编写复 杂的SQL语句,开发架构也就变成 Struts+ DAO+ Hibernate+Database毫无疑问 使用Hibemate实现持久层是一种有效的选择,它可以大大减少操作数据库的工 作量,并且使得系统更加易于维护。Hibernate 的概述和特点1. Hibernate 概述Hibernate 是一种很好的 ORM ( Object/Relatio nal Map pi ng)映射工具,支持 使用各种 Java思想如:inheritanee, association, composition,collections 等实现 的对象。它可以直接映像大部分的JavaBean而不需要做任何

41、修改,即使修改最多也就是在对应的Bean里面加上一些私有访问方法;可以将一个用户定义的多 个实例映像到一张表的同一行 ;还可以用代理模式简化加载类的过程 14 。对于使 用JDBC和SQL手工操作数据库来说,使用 Hibernate,可以大大减少操作数据 库的工作量。因此使用它,既可以用来在Java应用程序中取代大部分JDBC代码,也可以很方便地整合到系统中作为持久层框架。Hibernate 使用数据库和配置文件数据来给应用程序提供相应的持久化服务和持久化的对象PO(Persistent Objects)。通过简单地设置配置文件 hibernate.xml 和创建每个数据库表的xml映像文件,

42、可以省去大量复杂的JDBC编程,Hibernate 可以支持 17 种数据库,同时它也支持连接池应用。2. Hibernate 的特点(1) Hibernate 是 JDBC 的轻量级的对象封装,它是一个独立的对象持久层框 架。 Hibernate 的特点主要是简单、易用、强大、灵活而且速度够快。 Hibernate 可以代替JDBC的编程应用的场合,例如Java应用程序中访问数据库部分的代 码, DAO 模型中接入数据库时的访问代码, 甚至可以是 BMP 里面的访问数据库的代码。另外,Hibernate拥有自己的功能强大的查询语言(HQL), HQL与SQL非常相似,HQL基于SQL,但它提

43、供了更加面向对象的封装。(2) Hibernate不同于Entity Bean。Entity Bean由容器处理大部分的资料完整性、资源管理和并发性功能, 因此开发人员只需要关注业务逻辑和数据处理。 从 软件整体的框架来看, Hibernate 不能用于完全替代 Entity Bean。 Hibernate 和 En tity Bean都为程序员实现了透明的持久性,而且程序员都不需要关心太多的技 术细节W。Hibernate另外也为我们提供了更灵活的事务管理机制,Hibernate使用Session来管理事务,而Entity Bean则将事务管理委派给了 EJB容器。Hibernate 虽然具

44、有自己的事务管理,但是实际上它的事务管理是对JDBC Transaction的圭寸装,或者是对 JTA Transaction的圭寸装,也就是上面提到的,Hibernate是对JDBC 的轻量级对象封装。值得注意的是 Hibernate 的事务管理更加灵活,它可以在 JDBC Transaction 和 JTA Transaction 之间进行选择,默认情况下将使用 JDBC Transaction。(3) Hibernate是一个和JDBC密切关联的框架,Hibernate的兼容性只与JDBC 驱动和数据库有关系,而与Java程序或者APP Server没有任何关系。(4) 灵活的对象 -系

45、映像方法,可以实现各种不同类型的映射,而且Hibernate具有简单易于操作的 API 接口和丰富的资源配置文文件,这些都使得应用程序 的开发更加简单和快捷。3. Hibernate持久化框架的作用 在软件开发过程中引入成熟的持久化实现框架, 大大提高了数据库访问层的 开发效率,具体表现在以下几个方面:(1) 可以减少乏味代码的编写。Hibernate持久层框架封装了数据持久层的很多 相关的技术细节,例如事物管理、数据库连接管理、 SQL 语句的生成等,使得 开发人员可以避免重复的 JDBC 编程,将精力投入到业务逻辑具体实现中去。(2) 更加面向对象的设计。Hibernate 持久层框架是建

46、立在面向对象的设计思想之上的,而 ORM (Object Relational Mapping)是Hibernate持久层框架的基本 特性,也是Hibernate实现面向对象设计的关键技术。ORM为系统面向对象的设 计的实现提供了更加自然的实现方式,可以通过 ORM 将系统中的 Domain Objects 自动映像到各个数据库表,从而在编码过程中只需利用面向对象的方法 来处理Objects的相关属性,而无须对JDBC ResultSets中的字段进行分别处理。可以保证更好的性能。Hibernate持久层框架提供了优秀的性能优化机制, 如内置的数据库连接池支持、PrepareStateme n

47、t缓存、数据缓存等。这些对于上 层架构完全透明的优化机制的综合使用大大提高了系统的性能。(4) 更好的可移植性。基于 Java 的跨平台特性,开发的软件系统可以在不同 的操作系统之间切换, 但由于数据库之间的差异, 系统在数据库平台之间移植并 不太容易实现。而 Hibernate 持久层框架由于其设计上的良好隔离,提供了对不 同数据库的良好支持, 只需简单地修改其配置文件中的数据库的属性参数, 即可 实现底层数据库的切换, 更好地提高了系统的可移植性, 也更好地保护了己有的 人力和资源投入。2.4 Spring 框架的应用Spring是一个开源框架,它由Rod Johnson创建。它是为了解决

48、企业应用开 发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完 成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性 和松耦合的角度而言,任何Java应用都可以从Spring中受益。传统 J2EE 应用的开发效率低,应用服务器厂商对各种技术的支持并没有真 正统一,导致J2EE的应用没有真正实现 Write Once及Run Anywhere的承诺。 Spring作为开源的中间件,独立于各种应用服务器,甚至无须应用服务器的支持, 也能提供应用服务器的功能,如声明式事务等。Spring 致力于 J2EE 应用的各层的解决方案,而不是仅仅专注

49、于某一层的方16案。可以说Spring是企业应用开发的“一站式”选择,并贯穿表现层、业务 层及持久层。然而,Spring并不想取代那些已有的框架,而与它们无缝地整合。 简单来说,Spring是一个一个轻量级的控制反转(loC)和面向切面(AOP)的容器框 架:(1)轻量:大小与开销两方面而言 Spring 都是轻量的。完整的 Spring 框架可 以在一个大小只有1MB多的JAR檔里发布。并且Spring所需的处理开销也是微 不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于 Spring 的特定类。(2) 控制反转:Spring通过一种称作控制反转(loC)的

50、技术促进了松耦合。 当应用了 loC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这 个对象自己创建或者查找依赖对象。你可以认为 loC 与 JNDl 相反像从容器 中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。(3) 面向切面:Spring提供了面向切面编程的丰富支持,允许通过分离应用的 业务逻辑与系统级服务(例如审计(audit ing)和事务管理)进行内聚性的开发。 应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。容器:Spring包含并管理应用对象的配置和生命周期,在这个意义上它是 一种容

51、器,你可以配置你的每个 bean 如何被创建基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新17 的实例以及它们是如何相互关联的 17 。然而, Spring 不应该被混同于传统 的重量级的 EJB 容器,它们经常是庞大与笨重的,难以使用。(5) 框架: Spring 可以将简单的组件配置、组合成为复杂的应用。在 Spring 中,应用对象被声明式地组合,典型地是在一个 XML 檔里。 Spring 也提供了很 多基础功能(事务管理、持久化框架集成等等) 。所有Spring的这些特征使编程更干净、更可管理、并且更易于测试的代码。 它们也为

52、Spring 中的各种模块提供了基础支持。第3章网上采购模块需求分析3.1米购业务程分析整个资产管理系统模块结构如图3-1所示。阖上起币昔理资产申话首理资产抿废昔理查看推恚日志莒理用尸管理权限管理图3.1资产管理系统模块结构图网上采购功能支持从计划、订单、收货、收票,到结算的全过程的管理。 实现采购系统的物流、资金流、信息流的统一。通过采购过程中价格管理及事 后成本分析,达到稳定产品质量,降低采购成本目的。对采购业务中的帐务 处理提供支持。采购管理模块与资产核查、资产申报、等模块形成良好 接口。采购管理系统涉及到的模块如图3. 2所示。采购系统趙市管理图3.2米购管理系统结构采购管理全流程涉及

53、员工、部门经理、财务经理、采购员等角色。各个角色相互协作,共同 完成采购管理这一流程,如图 3. 3所示。图3.3采购管理流程3.2米购业务流程详细分析采购模块的包含有有 3个主要功能:网上超市管理,采购申请,资金管理。网上超市管理需求分析包括目录管理、信息发布和报价系统。目录管理提供界面方便用户浏览商品,以购物车的方式选取商品,用户可随时查看自己所选择的商品。在超市中选完商品后,可自动生成并保存物资采购申报表,并可根据资金情况决定是否能打印输出。报价系统在员工选择商品时,会实时显示所选商品的累计金额、已申报金额及估计剩余金额。322采购申请需求分析员工在提交了采购订单之后,交由项目经理进行审

54、批, 如果通过,项目经理便通过核查进步提交采购申请。若经理不能通过审批则可修改订单后再提出申请。财务部经理采购申诸认领资金不通过集中采购财务报账图3.4申购资产流程图资金管理需求分析部门经理提出采购申请之后,有财务部门经理进行审查员工部门经理不通过图3.5资金管理流程图第4章 网上采购模块的功能分析与设计本章主要介绍资产管理系统的采购模块,以及采用 MVC设计模式的体系结 构,这里以该子系统中账户管理模块的设计为例说明整个设计开发过程,其它模块的设计思想相同。4.1总体设计此系统的技术架构设计是基于J2EE架构思想与MVC模式以及实现这种模式的Struts技术。系统的总体技术架构如图4. 1所

55、示。图4.1系统总体构架按照MVC设计模式把系统划分为模型,控制与视图三个基本层次,其思想 主要是用面向对象的设计方法将用户界面与业务逻辑隔离。由模型层(Model,执行请求的操作),视图层(View,显示应用的状态),控制器层(Controller, 处理用户输入,设备与程序间的交互)三部分构成。Model负责数据处理,实现特定的业务功能。包括应用数据的获取,数据的处理,事务处理,状态变更。因此,它包含了传统的三层结构的数据层”全部与逻辑层”的部分功能。Controller决定应用的行为。接受用户输入,根据输入选择特定的Model,选择输出所用的View。View按特定的方式显示业务逻辑模式

56、”的数据。通常是主动直接从Model获取数据;也允许接受 Model的数据变化时发送的通知,更新显示。对于Web应用的开发模型,相对于传统的三层结构,MVC更符合面向对象的设计思想。多个视图使用同一个模型。模型与视图的分开使多个视图可以使用 相同的企业模型。因此,企业应用程序的模型组件就更容易实现,测试与维护, 因为所有对模型的访问都要经过这些组件。对客户机的新类型更容易支持。要支 持客户机的新类型,只需为其编写一个视图与控制器,然后在已有的企业模型中 将它们连起来。视图层使用开源软件 Struts作为前端控制器,控制JSP页面之间的信息传递与流转。视图层使用远程服务Proxy来调用后端的构件服务。Struts包含三个重要的元素。ActionServlet充当前端控制器的角色,负责接受用户界面(如:JSP/ Html/Xml等)发出的Http请求,并调配服务器端资源,处理用户请求并向用户回送结果 页面。ActionForm 从Http请求中提取业务数据,并转换成ValueObjeet,同时还负责业务数据的验证,修剪等工作。Action是处理用户请求单元。ActionScrvlet根据配置参数选择对应的服务处 理单元。Controller使用SessionBean与MessageB

温馨提示

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

评论

0/150

提交评论