XX电网公司 企业级 资产管理系统 概要设计说明书

上传人:沈*** 文档编号:41239457 上传时间:2021-11-19 格式:DOC 页数:78 大小:4.44MB
收藏 版权申诉 举报 下载
XX电网公司 企业级 资产管理系统 概要设计说明书_第1页
第1页 / 共78页
XX电网公司 企业级 资产管理系统 概要设计说明书_第2页
第2页 / 共78页
XX电网公司 企业级 资产管理系统 概要设计说明书_第3页
第3页 / 共78页
资源描述:

《XX电网公司 企业级 资产管理系统 概要设计说明书》由会员分享,可在线阅读,更多相关《XX电网公司 企业级 资产管理系统 概要设计说明书(78页珍藏版)》请在装配图网上搜索。

1、广东电网公司企业级资产管理系统概要设计说明书广东电网公司深圳市康拓普信息技术有限公司二零一零年六月 广东电网公司企业级资产管理系统概要设计说明书深圳市康拓普信息技术有限公司修订记录版本版本修订说明修订说明作者作者审核审核审核日期审核日期V1.0概要设计说明书许久歌、夏成文、王杨、单俊、柯庭、肖威、李寿荣所有权声明:深圳市康拓普信息技术有限公司版权所有 不得复制Copyright 2009 by Shenzhen Comtop Information Technology Co., Ltd. 广东电网公司企业级资产管理系统概要设计说明书- I -目 录1系统概述系统概述 .11.1名词解释.11

2、.2系统的上下文联系.21.3系统的物理部署结构.31.4系统的技术体系结构.41.5系统的功能体系结构.51.6子系统概述.51.7系统主要场景描述.81.7.1新增场景.81.7.2查询场景.91.8关键的设计概念.101.8.1系统采用技术简介.101.8.2系统中的 J2EE 应用模式 .191.8.3系统应用的字符编码.211.8.4表单验证.241.8.5工作流应用开发.241.8.6系统主要设计模式.282系统出错处理设计系统出错处理设计 .352.1后台处理机制.352.2页面端处理机制.363权限验证机制权限验证机制 .374子系统的说明子系统的说明 .374.1项目管理.3

3、74.1.1前期与立项说明.374.1.2项目进度管理说明.404.1.3服务确认说明.414.1.4质量安全管理说明.434.1.5决算转资说明.444.1.6资料管理说明.444.1.7查询统计说明.464.1.8统计决策与支持.464.2物资管理.47 广东电网公司企业级资产管理系统概要设计说明书- II -4.2.1主数据管理.484.2.2需求管理.484.2.3采购管理.494.2.4储运管理.514.2.5查询统计说明.534.3资产管理.544.3.1基础数据管理.544.3.2资产台帐管理.554.3.3资产建设管理.564.3.4输网资产变更管理.584.3.5资产退役管理

4、.584.3.6工单管理.594.3.7实体关系.604.3.8设计考虑的因素.604.4财务管理.604.4.1固定资产管理.604.5服务合同管理.624.5.1服务合同管理说明.624.6服务合同付款管理.634.6.1服务合同付款管理说明.634.7接口说明.644.7.1概述.644.7.2子系统构架.644.7.3代码目录结构.644.7.4实体关系.644.7.5设计考虑的因素.645软件重用软件重用 .645.1第三方软件使用说明.645.1.1水晶报表(Crystal Report) .655.1.2Webi .655.1.3fusionchart.665.1.4水晶报表应用

5、功能描述.665.2重用库组件使用说明.675.3新组件功能说明.70 广东电网公司企业级资产管理系统概要设计说明书深圳市康拓普信息技术有限公司 第 1 页1 系统概述系统概述在南网公司的统一部署下,广东电网公司于 2007 年启动了“创先”工作。而广东电网作为全国最大的省级电网,地域辽阔,资产庞大,在现有的电力体制环境下,对于如何有效地经营和管理资产,实现企业资产使用的可靠性、使用效率、使用寿命和成本支出的综合平衡,是对广东电网生产经营能力的一种考验,也是创建先进水平省级供电企业所需重点突破的核心内容。但是,公司资产管理一直沿用传统的基于职能部门分工的“条块化” 、 “分段式”管理模式,资产

6、管理观念薄弱,从而导致在资产管理过程中出现了管理目标不明确、不统一,评估与考核体系不科学、不健全,资产管理组织不协调,管理链条和信息割裂等现象,形成了资产管理的职能和信息条块壁垒,突出表现在资产管理粗放、使用效率不高、生命较短、资产实物管理与价值管理脱节等,管理手段的滞后,制约了公司实现国际领先的战略目标。因此,必须对现有的资产管理模式进行管理变革,引入先进的资产管理理念和现代化资产管理手段,通过信息系统支撑资产全生命周期管理体系的建设,全面提升公司资产管理水平。企业级资产管理系统依据广东电网公司企业级资产管理信息系统功能规范及实施方案的要求,通过对资产的规划设计、设备采购、工程建设、生产运营

7、、退役报废等全生命周期进行全过程综合管理,实现项目管理、物资管理、财务管理、生产管理四大业务的横向融合,以及省公司、地市供电局、县级供电局等的纵向贯通,实现资产使用的可靠性(Reliability)、使用效率(Efficiency)、使用寿命(Lifespan)和全生命周期成本(Life Cycle Cost)的综合最优,落实资产全生命周期管理体系的资产管理策略、业务流程、组织架构、评估考核等关键要素,为科学高效的现代化资产全生命周期管理体系建设及目标的实现提供信息系统支持。1.1名词解释名词解释缩写描述设计模式设计模式提供了设计不同系统、不同应用时经常发生的问题的解决方案,向编程人员提供特定

8、问题的可依据的方法蓝图。J2EE全称是 Java 2 Platform Enterprise Edition,它是由 sun 公司领导、各厂商共同制定并得到广泛认可的工业标准。 XMLXML(Extensible Markup Language),一种扩展性标识语言。MVC 模式模式MVC 是 ModelViewController 的简写。Model 代表的是应用的业务逻辑(通过JavaBean,ActionForm 实现)。 View 是应用的表示面(由 JSP 页面产生)。 广东电网公司企业级资产管理系统概要设计说明书深圳市康拓普信息技术有限公司 第 2 页Controller 是提供应

9、用的处理过程控制(一般是一个 Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。StrutsStruts 是采用 Java Servlet/JavaServerPages 技术,开发 Web应用程序的开放源码的 FrameWork。Web ServiceWeb Services 是建立可互操作的分布式应用程序的新平台,是一种新的 web 应用程序分支,他们是自包含、自描述、模块化的应用。水晶报表水晶报表为企业提供了用于 OLAP 的交互式的、简单易用的分析报表功能,专为 Web 用于而设计,为企业的决策人员提供了无与伦比的决策支持功能。Ejb3.0.1.2系统

10、的上下文联系系统的上下文联系企企业业级级资资产产管管理理系系统统招招投投标标系系统统PKIOAK合合同同管管理理档档案案管管理理生生产产系系统统全全面面预预算算管管理理1.系统与 Excel 2000 / XP/2003 的接口使用 Apache POI 组件。2.系统与数据库连接使用数据库连接池。 广东电网公司企业级资产管理系统概要设计说明书深圳市康拓普信息技术有限公司 第 3 页3.系统与 XML 文档交互使用 Apache JDOM。4.系统采用打印组件来实现打印和打印预览功能。5.系统提供与财务系统的接口。付款单据传入财务系统,财务付款后,企业级资产管理系统能够及时从财务系统获取付款的

11、数据。6.系统通过定时器组件实现与 OAK 系统的接口,每天通过 OAK 系统提醒用户及时处理企业级资产管理系统的待办工作。7.系统提供与招投标系统的接口。将项目信息传递给招投标管理系统,项目招标后,企业级资产管理系统能够及时从招投标系统中获取项目的招标信息。8.系统提供与生产管理系统进行的接口。实现项目管理、设备台帐、维护计划、工单与生产管理系统的交互。9.和企业信息门户管理系统集成,支持从门户系统直接进入企业级资产管理系统来处理待办事宜。10. 采用 WebService 和 EJB 远程接口技术实现系统之间的数据交换。其中 EJB 远程接口技术的使用适用于由我公司开发的业务系统之间的数据

12、交换。WebService 技术主要适用我公司开发的系统与其他公司开发的业务系统之间的数据交换。1.3系统的物理部署结构系统的物理部署结构企业级资产管理系统的部署采用“全省大集中”的模式,系统存在用户数、业务数据量大特点,建议系统硬件架构如下图所示: 广东电网公司企业级资产管理系统概要设计说明书深圳市康拓普信息技术有限公司 第 4 页系统硬件架构1.4系统的技术体系结构系统的技术体系结构 广东电网公司企业级资产管理系统概要设计说明书深圳市康拓普信息技术有限公司 第 5 页1.5系统的功能体系结构系统的功能体系结构项目管理项目管理企业级资产管理企业级资产管理系统系统前期与立项设计与计划执行与监控

13、资料管理物资管理物资管理申购管理采购管理储运管理品控管理竣工决算招投标管理系招投标管理系统统合同管理系合同管理系统统生产管理系生产管理系统统档案管理系档案管理系统统EIPPKIOAK设备台帐管理设备管理设备管理工单管理财务管理财务管理资金管理核算管理全面预算管理全面预算管理系统系统固定资产管理模版管理配置管理企业级资产管理系统在项目前期管理、设计、执行与监控到竣工的过程中,通过物料装配使初设台帐形成正式的设备台帐,以概算结构为核心控制整个项目过程发生成本,归集物资采购与服务采购成本,所有成本分摊到暂估资产卡片后形成正式的固定资产卡片。技改项目涉及到资产报废和闲置则需要更新资产卡片,并将闲置物资

14、入库供再次使用。在生产运营过程中由预试、定检、消缺等运维工作生成工单,根据设备与备品配件的关联关系查找库存,可以领用备品配件或者进行物资申购,生成物资和服务采购订单,在工单执行过程中将归集所有发生成本。1.6子系统概述子系统概述根据需求规格说明书将系统划分为以下 4 个主要功能模块,项目管理、物资管理、设备管理、财务管理。项目管理包括前期管理、设计与计划、执行与监控、竣工决算等子模块,前期管理包括了项目从规划到项目年度投资计划,设计与计划包括项目开工前的各项设计与计划工作,执行与监 广东电网公司企业级资产管理系统概要设计说明书深圳市康拓普信息技术有限公司 第 6 页控规划包括项目施工过程中对质

15、量、安全、资金的控制,竣工决算包括项目阶段验收到决算转资的工作。类端目录结构: JSP 整体目录结构:模块名称JSP 目录说明对应的需求项component重用组件config通用配置管理维护组件css通用的 cssdownload提供 Java 下载文件error通用的系统错误提示页面images通用的图片文件include通用的包含文件js通用的 js 文件lcam企业级资产管理系统 Jsp 文件项目文件webprojectmaterial目录说明:按照系统的功能划分。masterdata 基本资料,数据业务层。commom 公用函数。component 公用组件。interactive

16、与外部系统的 webservice 接口。project 项目管理各个模块material 物资管理各个模块device 设备管理各个模块finance 财务管理各个模块payment 付款contract 合同 广东电网公司企业级资产管理系统概要设计说明书深圳市康拓普信息技术有限公司 第 7 页devicefinancecontractpaymentcommoncomponentimagesjsprimarypage通用系统访问主页面system系统的管理文件WEB-INF配置文件存放路径workflow工作流引擎页面文件extext 动态 js 组件配置文件目录结构:目录下级目录说明对应的

17、需求项lcam企业级资产管理系统的配置文件projectmaterialdevicefinancecontractpaymentcomponentdwrtemplate(excel、doc、xml)compagedwr 配置文件 tld存放标签WEB-INFlib存放工程项目管理系统所引用到的包集合APP-INFclasses存放编译以后的 Java 类代码配置平台目录结构 广东电网公司企业级资产管理系统概要设计说明书深圳市康拓普信息技术有限公司 第 8 页目录下级目录说明project项目管理相关配置material物资管理相关配置device设备管理相关配置finance财务管理相关配置c

18、ontract合同管理相关配置payment付款管理相关配置ct.lcam.masterdata主数据管理相关配置1.7系统主要场景描述系统主要场景描述系统场景从系统应用层的实现方式分为以 JSP 和 Struts 两种实现方式;从系统功能上分可以分为新增场景和查询场景。1.7.1新增场景新增场景 新增、更新、删除等操作场景与新增场景类似,统称新增场景。下面以新增开工申请为例对以 Struts 方式实现的前端表现层的新增场景进行描述,如图: 广东电网公司企业级资产管理系统概要设计说明书深圳市康拓普信息技术有限公司 第 9 页用户 StartExecut.jsp StartExecutActio

19、n.java StartExecutMan.java增加开工申请 StartExecutAppSrv.java调用Action将Form传给VO将VO传给代理调用业务逻辑执行增加返回整数表示操作成功返回参数把返回值传给Action提示用户成功把返回值传给JSP StartExecutDao.java调用DAO插入数据Struts 为前端表现层的新增场景1.7.2查询场景查询场景查询、显示列表等场景都归为查询场景。下面以开工申请的查询为例描述 Struts 为前端表现层的查询场景: 广东电网公司企业级资产管理系统概要设计说明书深圳市康拓普信息技术有限公司 第 10 页Struts 为前端表现层的

20、查询场景1.8关键的设计概念关键的设计概念1.8.1系统采用技术简介系统采用技术简介1.8.1.1MVC 模式简介模式简介 广东电网公司企业级资产管理系统概要设计说明书深圳市康拓普信息技术有限公司 第 11 页MVC 英文即 Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller 的方式进行分离,这样一个应用被分成三个层-模型层、视图层、控制层。 它们分别担任不同的任务,下图显示了这几个模块各自的功能以及它们之间的相互关系。视图视图视图(View)代表用户交互界面,对于 Web 应用来说,可以概括为 HTML 界面,但有可能

21、为XHTML、XML 和 Applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC 设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。模型模型模型(Model)就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是 MVC最主要的核心。目前流行的 EJB 模

22、型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。MVC 设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。 广东电网公司企业级资产管理系统概要设计说明书深圳市康拓普信息技术有限公司 第 12 页我们可以用对象编程

23、来做比喻,MVC 定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。 业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象的数据 保存(持续化)。比如将一张订单保存到数据库,从数据库获取订单。我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。控制器控制器控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后, 并不处

24、理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。MVC 处理过程首先控制器接受用户的请求,并决定应该调用哪个模型来进行处理;然后模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。MVC 的优点首先,模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新

25、。这实际上是一种模型的变化-传播机制。其次,模型是自包含的,与控制器和视图保持相对独立,所以可以方便地改变应用程序的数据层和业务规则。此外,控制器提高了应用程序的灵活性和可配置性。MVC 的应用范围适用 MVC 需要精心的计划,由于它的内部原理比较复杂,所有需要花费一些时间去理解它。将MVC 运用导应用系统中,会带来额外的工作量,增加应用的复杂性,所以 MVC 不适合小型应用程序。但对于开发存在大量用户界面,并且业务逻辑复杂的大型应用程序,MVC 将会使软件在健壮性、代码重用和结构方面上一个新的台阶。尽管在最初构建 MVC 框架时会花费一定的工作量,但从长远的角度来看,它会大大提高后期软件开发

26、的效率。MVC 与 J2EE 架构的关系MVC 与 J2EE 架构的对应关系是:View 处于 Web Tier 或者说是 Client Tier,通常是JSP/Servlet,即页面显示部分。Controller 也处于 Web Tier,通常用 Servlet 来实现,即页面显 广东电网公司企业级资产管理系统概要设计说明书深圳市康拓普信息技术有限公司 第 13 页示的逻辑部分实现。Model 处于 Middle Tier,通常用服务端的 javaBean 或者 EJB 实现,即业务逻辑部分的实现。MVC 与 Struts 的关系MVC 模式是一种架构模式,其实需要其他模式协作完成。在 J2

27、EE 模式目录中,通常采用service to worker 模式实现,而 service to worker 模式可由集中控制器模式,派遣器模式和Page Helper 模式组成。而 Struts 只实现了 MVC 的 View 和 Controller 两个部分,Model 部分需要开发者自己来实现,Struts 提供了抽象类 Action 使开发者能将 Model 应用于 Struts 框架中。1.8.1.2Struts 简介简介对于开发 Web 应用,要从头设计并开发出一个可靠、稳定的框架并不是一件容易的事。幸运的是,随着 web 开发技术的日趋成熟,在 web 开发领域出现了一些现成

28、的优秀的框架,开发者可以直接使用他们,Struts 就是一种不错的选择,它是基于 MVC 的 Web 应用框架。在 Struts 中,模型由实现业务逻辑的 JavaBean 或 EJB 组件构成,控制器由 ActionServlet 和Action 来实现,视图由一组 JSP 文件构成。下图显示了 Struts 实现的 MVC 框架。Struts-config.xml浏浏览览器器Web服服务务器器(控控制制器器)ActionServlet(视视图图)JSP(模模型型)EJBEJBEJBActionActionAction(Struts 实现的 MVC 框架)在 Struts 框架中,视图就是一

29、组 JSP 文件,在这些 JSP 文件中没有业务逻辑,也没有模型信息,只由标签,这些标签可以是标准的 JSP 标签或客户化标签,如 Struts 标签库里的标签,此外,通常也将 Struts 框架中的 ActionForm Bean 也划分到视图模块中。模型表示应用程序的状态和业务逻辑,在这里,我们用 JavaBean 和 EJB 组件来实现。控制器由 ActionServlet 类和 Action 类来实现。在 Struts 中,模型、视图、控制器三者之间的关系和各自的主要功能如下图: 广东电网公司企业级资产管理系统概要设计说明书深圳市康拓普信息技术有限公司 第 14 页1.8.1.3EJB

30、 技术简介技术简介EJB 的概念的概念EJB 的全称是 Enterprise java bean。是 JAVA 中的商业应用组件技术。EJB 结构中的角色 EJB 组件结构是基于组件的分布式计算结构,是分布式应用系统中的组件。EJB 的体系结构的体系结构EJB 分布式应用程序是基于对象组件模型的,低层的事务服务用了 API 技术。EJB 技术简化了用 JAVA 语言编写的企业应用系统的开发,配置。EJB 技术定义了一组可重用的组件:Enterprise Beans。你可以利用这些组件,象搭积木一样的建立你的分布式应用程序。当你把代码写好之后,这些组件就被组合到特定的文件中去。每个文件有一个或多

31、个 Enterprise Beans,在加上一些配置参数。最后,这些 Enterprise Beans 被配置到一个装了 EJB 容器的平台上。客户能够通过这些Beans 的 home 接口,定位到某个 beans,并产生这个 beans 的一个实例。这样,客户就能够调用 Beans 的应用方法和远程接口。EJB 服务器作为容器和低层平台的桥梁管理着 EJB 容器和函数。它向 EJB 容器提供了访问系统服务的能力。例如:数据库的管理和事务的管理,或者对于其它的 Enterprise 的应用服务器。所有的 EJB 实例都运行在 EJB 容器中。容器提供了系统级的服务,控制了 EJB 的生命周期。

32、EJB 中的有一些易于使用的管理工具如:Security-配置描述器(The Deployment descriptor)定义了客户能够访问的不同的应用函数。容器通过只允许授权的客户访问这些函数来达到这个效果。Remote Connectivity-容器为远程链接管理着低层的通信 issues,而且对 Enterprise Beas 的开发者和客户都隐藏了通信细节。EJB 的开发者在编写应用方法的时候,就象是在条用本地的平台一样的。客户也不清楚他们调用的方法可能是在远程被处理的。Life Cycle managment-客户简单的创建一个 Enterprise beans 的实例,并通常取消一

33、个实例。而容器管理着 Enterprise Beans 的实例,使 Enterprise Beans 实现最大的效能 广东电网公司企业级资产管理系统概要设计说明书深圳市康拓普信息技术有限公司 第 15 页和内存利用率。容器能够这样来激活和使 Enterprise Beans 失效,保持众多客户共享的实例池。等等。 Trasction management-配置描述器定义了 Enterprise beans 的事务处理的需求。容器管理着那些管理分布式事务处理的复杂的 issues。这些事务可能要在不同的平台之间更新数据库。容器使这些事务之间互相独立,互不干扰。保证所有的更新数据库都是成功发生的,

34、否者,就回滚到事务处理之前的状态。EJB 组件是基于分布式事务处理的企业级应用程序的组件。所有的 EJB 都有如下的特点:EJB包含了处理企业数据的应用逻辑。定义了 EJB 的客户界面。这样的界面不受容器和服务器的影响。于是,当一个 EJB 被集合到一个应用程序中去时,不用更改代码和重新编译。EJB 能够被定制 各种系统级的服务,例如安全和事务处理的特性,都不是属于 EJB 类的。而是由配置和组装应用程序的工具来实现。 EJB 的分类的分类有两种类型的 EJB: Session beans 和 entity beans。Sessionbeans 是一种作为单用户执行的对象。作为对远程的任务请求

35、的相应,容器产生一个 Session beans 的实例。一个 Session beans 有一个用户.从某种程度上来说,一个 Session bean 对于服务器来说就代表了它的那个用户.Session beans 也能用于事务,它能够更新共享的数据,但它不直接描绘这些共享的数据。Session beans 的生命周期是相对较短的。典型的是,只有当用户保持会话的时候,Session beans 才是活着的。一旦用户退出了,Session beans 就不再与用户相联系了。Session beans被看成是瞬时的,因为如果容器崩溃了,那么用户必须重新建立一个新的 Session 对象来继续会话

36、。Session bean 典型的声明了与用户的互操作或者会话。也就是说,Session bean 了在客户会话期间,通过方法的调用,掌握用户的信息。一个具有状态的 Session bean 称为有状态的 Session bean.当用户终止与 Session beans 互操作的时候.会话终止了,而且,bean 也不再拥有状态值。Session bean 也可能是一个无状态的 session bean.无状态的 Session beans 并不掌握它的客户的信息或者状态。用户能够调用 beans 的方法来完成一些操作。但是,beans 只是在方法调用的时候才知道用户的参数变量。当方法调用完成

37、以后,beans 并不继续保持这些参数变量。这样,所有的无状态的 session beans 的实例都是相同的,除非它正在方法调用期间。这样,无状态的Session beans 就能够支持多个用户.容器能够声明一个无状态的 Session beans.能够将任何Session beans 指定给任何用户。Entity Beans 对数据库中的数据提供了一种对象的视图。例如:一个 Entity bean 能够模拟数据库表中一行相关的数据。多个 client 能够共享访问同一个 Entity bean.多个 client 也能够同时的访问同一个 Entity bean.Entity beans 通

38、过事务的上下文来访问或更新下层的数据。这样,数据的完整性就能够被保证。Entity Beans 能存活相对教长的时间,并且状态是持续的。只要数据库中的数据存在,Entity beans 就一直存活。而不是按照应用程序或者服务进程来说的。即使 EJB 容器崩溃了,Entity beans 也是存活的。Entity Beans 生命周期能够被容器或者 Beans 自己管理。如果 广东电网公司企业级资产管理系统概要设计说明书深圳市康拓普信息技术有限公司 第 16 页由容器控制着保证 Entity beans 持续的 issus。如果由 Beans 自己管理,就必须写 Entity beans的代码,

39、包括访问数据库的调用。 Entity Beans 是由主键(primary key 一种唯一的对象标识符)标识的。通常,主键与标识数据库中的一块数据,例如一个表中的一行,的主键是相同的。主键是client 能够定位特定的数据块。(增加 EJB3 介绍、吴华庭)1.8.1.4Web Service 简介简介Web Services 是建立可互操作的分布式应用程序的新平台,是一种新的 web 应用程序分支,他们是自包含、自描述、模块化的应用,可以发布、定位、通过 web 调用。Web Service 可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他 Web Service 应用程序

40、可以发现并调用它部署的服务。 Web Service 平台需要一套协议来实现分布式应用程序的创建。任何平台都有它的数据表示方法和类型系统。要实现互操作性,Web Service 平台必须提供一套标准的类型系统,用于沟通不同平台、编程语言和组件模型中的不同类型系统。在传统的分布式系统中,基于界面(interface)的平台提供了一些方法来描述界面、方法和参数(译注:如 com 和 cobar 中的 idl 语言。同样的,Web Service 平台也必须提供一种标准来描述 Web Service,让客户可以得到足够的信息来调用这个Web Service。最后,我们还必须有一种方法来对这个 Web

41、 Service 进行远程调用。这种方法实际是一种远程过程调用协议(rpc)。同时 rpc 协议还与编程语言无关。一般 Web Service 实现包含四个基本步骤:创建 Web Service 的商业逻辑(通常是一些 Java 类);将这些 Java 类部署到一个 SOAP 服务器上;生成客户访问代码;部署客户应用。而 Web Service由两部分组成:SOAP-Web Service 之间的基本通信协议;WSDL-Web Service 描述语言,它定义了 Web Service 做什么,怎么做和查询的信息。下图描述了 Web Service 的 3 个组成部分-WSDL、SOAP、UD

42、DI。Web Service服务描述What,how,where服务消息RequestResponse公共网址URLWSDLSOAPUDDI 广东电网公司企业级资产管理系统概要设计说明书深圳市康拓普信息技术有限公司 第 17 页Web Service 的三个组成部分下面是组成 Web Service 平台的三项技术:1.8.1.4.1XML 和和 XSD 扩展的标记语言(xml)是 web service 平台中表示数据的基本格式。除了易于建立和易于分析外,xml 主要的优点在于它既是平台无关的,又是厂商无关的。无关性是比技术优越性更重要的:软件厂商是不会选择一个由竞争对手所发明的技术的。 x

43、ml 解决了数据表示的问题,但它没有定义一套标准的数据类型,更没有说怎么去扩展这套数据类型。例如,整形数到底代表什么?16 位,32 位,还是 64 位?这些细节对实现互操作性都是很重要的。w3c 制定的 xml schema(xsd)就是专门解决这个问题的一套标准。它定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。Web Service 平台就是用 xsd 来作为其数据类型系统的。我们用 Java 来构造一个 Web Service 时,为了符合 Web Service 标准,所有使用的数据类型都必须被转换为 xsd 类型。1.8.1.4.2SOAPWeb Service 建好

44、以后,就需要去调用它。简单对象访问协议(Soap)提供了标准的 rpc 方法来调用 Web Service。实际上,Soap 规范定义了 Soap 消息的格式,以及怎样通过 http 协议来使用Soap。Soap 也是基于 xml 和 xsd 的,xml 是 Soap 的数据编码方式。Soap 是 XML Web Service 的通信协议。当把 SOAP 描述为一种通信协议时,多数人都会想到 DCOM 或 CORBA,并且会问SOAP 如何激活对象?或SOAP 使用什么样的命名服务?等问题。虽然 SOAP 实现方案可能会包含上述内容,但 SOAP 标准并未对其进行规定。SOAP 一种规范,用

45、来定义消息的 XML 格式 - 这是规范中所必需的部分。包含在一对 SOAP 元素中的、结构正确的 XML 段就是 SOAP 消息。SOAP 规范的其他部分介绍如何将程序数据表示为 XML,以及如何使用 SOAP 进行远程过程调用 (RPC)。这些可选的规范部分用于实现 RPC 形式的应用程序,其中客户端将发出一条 SOAP 消息(包含可调用函数,以及要传送到该函数的参数),然后服务器将返回包含函数执行结果的消息。目前,多数 SOAP 实现方案都支持 RPC 应用程序,这是因为习惯于开发 COM 或 CORBA 应用程序的编程人员熟悉 RPC 形式。SOAP 还支持文档形式的应用程序,在这类应

46、用程序中,SOAP 消息只是 XML 文档的一个包装。文档形式的 SOAP 应用程序非常灵活,许多新的 XML Web Service 都利用这一特点来构建使用 RPC 难以实现的服务。SOAP 规范的最后一个可选部分定义了包含 SOAP 消息的 HTTP 消息的样式。此 HTTP 绑定非常重要,因为几乎所有当前的 OS(以及许多以前的 OS)都支持 HTTP。HTTP 绑定虽然是可选的,但几乎所有 SOAP 实现方案都支持 HTTP 绑定,因为它是 SOAP 的唯一标准协议。由于这一原因,人们通常误认为 SOAP 必须使用 HTTP。其实,有些实现方案也支持 MSMQ、MQ 广东电网公司企业

47、级资产管理系统概要设计说明书深圳市康拓普信息技术有限公司 第 18 页系列、SMTP 或 TCP/IP 传输,但由于 HTTP 非常普遍,几乎所有当前的 XML Web Service 都使用它。由于 HTTP 是 Web 的核心协议,因此大多数组织的网络基础结构都支持 HTTP,并且员工已经了解了如何对其进行管理。如今,已经建立了用于 HTTP 的安全保护、监视和负载平衡的基础结构。1.8.1.4.3WSDL用机器能阅读的方式提供一个正式的描述文档。Web service 描述语言(WSDL)就是这样一个基于 XML 的语言,用于描述 Web Service 及其函数、参数和返回值。因为是基

48、于 XML 的,所以WSDL 既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。一些最新的开发工具既能根据你的 Web Service 生成 WSDL 文档,又能导入 WSDL 文档,生成调用相应 Web Service 的代码。1.8.1.4.4开发开发 Web Service 的步骤的步骤1、编写服务器端导入 WebService 包和 WebMethod 包:import javax.jws.WebService; import javax.jws.WebMethod;实现的服务类前加WebService 符号; 为了代码清晰,类提供的公开方法前加WebMethod 符号,这个不写

49、对编译也没影响。2、编译服务器端javac 命令的 classpath 选项中要有 javaee.jar 的路径,如 javac -classpath d:/Sun/SDK/lib/javaee.jar -d ./build src/endpoint/Hello.java用 wsgen 命令生成 wsdl 文件.服务器端打包。3、在客户端机器上自动生成 stub 类客户机上必须也装有 jdk 和 javaee5用 wsimport 工具将服务器传过来的 wsdl 文件转换成本地的 stub 类4、编写客户端调用代码导入 WebServiceRef 包:import javax.xml.ws.W

50、ebServiceRef;导入本地生成的 stub 类,如:import endpoint.HelloService;import endpoint.Hello;指明服务器的 wsdl 路径:WebServiceRef(wsdlLocation=http:/localhost:8080/xxx/xxxService?WSDL)声明一个静态的 service 对象:static HelloService service;对要调用的远程方法声明一个代理对象,通过代理来调用真正的远程方法5、编译客户端调用程序,注意 classpath 参数中要有 广东电网公司企业级资产管理系统概要设计说明书深圳市康

51、拓普信息技术有限公司 第 19 页stub 类的路径;javaee.jar 的路径;appserv-ws.jar 的路径。6、用 appclient 执行客户端程序进入到客户端程序的上级目录;把 APPCPATH 的值设置为当前目录;appclient 的第一个参数为客户端程序名,后面的参数是传给客户端程序本身的命令行参数。下图是分布式服务下 Web Service 的实现结构图:客户端程序JAX-RPC StubJAX-RPC运行环境JAX-RPCTieJAX-RPC运行环境服务接口实现(无状态会话Bean或者Java对象)业务逻辑实现层Web ServiceHTTP传输SOAP请求服务实现

52、返回结果Web Service 的基本结构图客户端需要根据 WSDL 创建客户端 Java 程序,其中包括 Stub 程序。客户端调用相应的 Stub 程序,进一步调用 JAX-RPC(Java APIs for XML-Based Remote Procedure Call,基于 XML 的远程过程调用的 Java API)运行环境创建 SOAP 请求消息,通过 HTTP 传输给服务器端。Web 服务器端的 JAX-RPC 运行环境在收到 SOAP 请求消息后,对 SOAP 的 XML 内容进行解析,再通过 Tie 来调用服务接口实现类(无状态会话 Bean 或者 Java 对象),得到结果

53、后,创建SOAP 响应消息返回给客户端。1.8.2 系统中的系统中的 J2EE 应用模式应用模式本系统主要采用 J2EE 和 JSP 两项技术构建,同时还有 Struts 和 XML。J2EE 应用于服务器端,主要采用 EJB 技术,提供与数据库的交互、与 Struts 的通信。EJB 分为实体 Bean 和会话Bean 两大部分,实体 Bean 全部采用 CMP(即容器管理的持续),特殊情况下可采用 BMP(Bean 管 广东电网公司企业级资产管理系统概要设计说明书深圳市康拓普信息技术有限公司 第 20 页理的持续),CMP 实现与数据库的交互,实现对数据的存取以及数据库事务的管理;会话 B

54、ean 实现业务逻辑,对数据进行逻辑处理,同时提供了 Struts 的访问接口。考虑到系统中存在大量数据的访问,如果客户端直接调用 CMP,那么将产生大量的 RMI 调用,从而加重网络负载,影响系统的性能。因此系统中的 EJB 采用 Value Object(值对象)模式,将要显示给用户的数据封装到值对象中,然后通过会话 Bean 的方法调用返回给客户端。另外,采用了 PPI模式(Page By Page Iterator)等进行数据的分页显示,进一步减轻网络负载,提高系统的访问效率。同时结合 DAO 模式(Data Access Object)等实现对部分数据的存取访问。考虑到深圳供电局目要

55、求门户信息管理系统上能够及时的反映项目管理系统的各项指标,以便提供给领导查阅、参考或决策,我们采用了基于 WebService 的技术来实现项目管理系统数据指标的定时存取功能,这种技术允许网络上的所有系统进行交互。随着技术的发展,一个 Web 服务可以包含额外的指定功能并且可以在多个 B2B 应用中协作通讯。 Web 服务可以理解请求中上下文的关系,并且在每一个特定的情况下产生动态的结果。这些服务会根据用户的身份,地点以及产生请求的原因来改变不同的处理,用以产生一个唯一的,定制的方案。这种协作机制对那些只对最终结果有兴趣的用户来说,是完全透明的。系统提供把项目导出导入 XML 文档的功能,同时

56、系统还采用 XML 技术实现系统配置文件的访问。XML 是一种能够让你自己创造标识的语言,它可以将数据与格式从网页中分开,它可以储存数据和共享数据,在本系统中就是利用 XML 的这种特性来进行数据的传输和存储。另外,对于系统中部分信息的 Excel 导入导出采用第三方软件 POI 实现,对系统报表的数据展示使用到了 WebService。下面是以上描述的图解: 广东电网公司企业级资产管理系统概要设计说明书深圳市康拓普信息技术有限公司 第 21 页EntityBeanSessionBeanDelegate(业务代表)DataBase读取数据调用SessionBean的方法类类端端模模型型(E E

57、J JB B)S St tr ru ut ts s方方式式Filter(进行编码和session过期判断)JSP(显示)ActionForm通过Action调用业务代表方法与ActionForm数据交互通过配置文件对其控制调用Taglib调用标签显示控制ActionServletDA0调用DAO的方法通过jdbc进行数据交互ActionHttp输入通过JPA Annotation访问EntityBean1.8.3 系统应用的字符编码系统应用的字符编码(统一用 GBK)无论是对 Web 应用的本地化还是国际化,都会涉及到字符编码转换问题,Web 应用的各种可能的输入和输出,当数据流的源与目的地使

58、用不同的字符编码时,就需要对字符编码进行正确的转换。 广东电网公司企业级资产管理系统概要设计说明书深圳市康拓普信息技术有限公司 第 22 页Web客客户户数数据据库库Web应应用用Web容器XML配配置置文文件件输入表单数据输出数据(Web 应用的输入流和输出流)1、处理 Http 请求数据编码默认情况下,IE 浏览器发送请求时采用ISO-8859-1字符编码,如果 Web 应用程序要正确的读取用户发送的中文数据,则需要进行编码转换。系统通过公用的字符编码转换函数来进行处理2、处理 XML 配置文件编码在 XML 文件中包含有中文,将 XML 文件字符编码设为GB2312,这样在 Java 程

59、序加载和解析 XML 文件时无需再进行编码转换。 广东电网公司企业级资产管理系统概要设计说明书深圳市康拓普信息技术有限公司 第 23 页 3、处理资源文件编码定义资源文件创建资源文件按照配置文件,创建对应的资源文件 ApplicationResources-impproject.properties对资源文件进行编码转换编码转化采用 JKD 中提供的 native2ascii 命令,在 DOS 下执行如下命令,将生成按照GB2312 编码的中文资源文件 ApplicationResources-impproject_zh_CN.properties当 Web 客户的 Locale 为中文时,系

60、统框架将自动选择来自ApplicationResources-impproject_zh_CN.properties 文件的消息文本。 广东电网公司企业级资产管理系统概要设计说明书深圳市康拓普信息技术有限公司 第 24 页1.8.4 表单验证表单验证系统采用 Validator 验证框架引入 Validator,在配置文件中添加插件:添加要验证的表单字段的信息:资源文件定义如下:1.8.5 工作流应用开发工作流应用开发现代企业管理通常围绕一个或多个业务流程展开企业的各种活动和各项日常工作。通过业务流程协调企业各种物质和人力资源,利用计算机以流程驱动的工作流技术应运而生。 广东电网公司企业级资产

61、管理系统概要设计说明书深圳市康拓普信息技术有限公司 第 25 页工作流就是在一个业务处理过程中的信息流和控制流。信息流就是部门之间传递的各种文档、消息和数据。控制流决定了在哪些部门、那些人之间传递信息,以及传递的次序。工作流系统的任务就是高效地管理公司业务处理过程中的这种信息流和控制流。工作流系统的特点:采用图形化的描述手段,根据企业业务审批的过程模型,定义各种不同业务及其流程模型,约束各个环节的办理权限和时限,使业务审批过程更加直观,更加清晰,更加规范;通过图形化工作流定义的强大功能,可以迅速实现业务审批过程的变更和重组。工作流系统的核心采用纯 JAVA 编程,不依赖于运行的硬件和操作系统平

62、台;根据流程定义,控制流程的流转过程和工作流执行过程中各种状态和状态变化,同时为用户提供流程跟踪信息,使得用户能随时查看流程的当前状态和流程的执行过程。为了定义流程并使用流程引擎的强大功能,应用程序需要调用工作流系统提供的接口。我们尽量为方便开发考虑,为用户提供功能强大而调用简单的接口,使用户在短时间内便可开发出满足需要的应用程序。1.8.5.1工作流系统的组成工作流系统的组成工作流系统有以下三大模块(如下图):工作流定义模块;工作流引擎;应用程序调用接口;工作流平台关系示意图1.8.5.2工作流定义工作流定义 广东电网公司企业级资产管理系统概要设计说明书深圳市康拓普信息技术有限公司 第 26

63、 页通过分析、建模将业务过程转化成某种能够被计算机处理的形式化表示,我们称之为流程定义。为了能使用户直观、方便的定义流程,我们提供了图形化的流程设计器,具体使用人员通过简单拖拽即可轻松地完成流程定义工作;流程定义能够满足业务管理过程中各种审批业务的需要,能够实现定向回退、条件分支等复杂流程。流程设计器采用纯 JAVA 编程,不依赖于运行的硬件和操作系统平台;采用中间件技术,稳定、高效地完成分布式系统的通讯和协作,使得工作流的定义工作不依赖于处理服务器和服务器的运行环境。流程有以下基本概念:1、活动(Activity)任何一个业务流程都可以分解到最基本的行为步骤,称为活动。它代表了为完成流程的最

64、终目的而执行的独立(最小)任务。活动可能是人工执行的,也可能是自动执行的。 连接(Connector)这是对业务流程活动之间的时间逻辑和处理逻辑关系的描述。2、参与者(Participant)参与者是部分或全部执行某个活动的实例(即活动的一次运行)的人。每位参与者都必须具有属于某个(某些)角色的属性。 3、角色(Role)角色是组织中具有完成特定活动能力的参与者的逻辑表示。业务中的每个活动都要有角色与之相对应,并且需要属于相应角色的资源来完成。参与者可能会属于一个或多个角色,反之亦然。 4、数据源(Data Source)业务流程中用于活动存取的数据介质的集合。任何活动的执行都有可能涉及数据或

65、信息的处理,访问数据源有读(read)和写(write)两种基本的形式。流程设计器兼有业务流程建模和工作流建模的功能特性,用户使用设计器即可对实际的业务流程进行信息建模,由此产生图形方式表达的业务模型。其中绘制的基本图元包括:开始、结束标志及活动(节点)和连接。在每个活动上可附加定义规则属性,以便动态决定实际执行路径的选择。设计器提供以下功能帮助用户定义流程:增加开始节点(标志);增加结束节点(标志);增加任务节点(活动);增加流程分叉的条件节点;增加子流程;增加消息广播节点:增加表示流程执行路径的连接,连接有三种方式表示执行路径;删除节点、连接; 广东电网公司企业级资产管理系统概要设计说明书

66、深圳市康拓普信息技术有限公司 第 27 页定义任务节点的属性;定义条件节点的属性;定义流程的基本属性;定义流程角色。1.6.5.3工作流引擎工作流引擎工作流引擎是工作流运行时控制系统的核心部分,提供工作流过程的管理及各活动步骤之间的状态转换,各种过程实例的执行都是由它负责完成的。工作流引擎解释流程定义,完成流程的可操作实例的创建及控制,调度流程中各活动步骤,为所涉及到的用户生成待其处理的任务,并在合适的时机调用有关的应用程序资源,等等。工作流引擎主要提供以下功能:分析流程定义流程在执行过程中,工作流引擎分析该流程的定义,通过分析定义的语意获得当前流程的状态,当前执行任务,以及定义时为该任务指定的执行方式、该任务处理完成后的转交情况等信息。工作流引擎主要分析以下和任务有关的信息:任务是不是发送给同部门的用户处理。这里的部门是泛指,既可以是一个科室、一个部门、一个分公司等等。进行这样的语意分析是重要和有意义的,因为集团公司下属若干分公司,分公司又有若干部门,部门中的每个人可能是申请人、处理人、审批人等等。假如员工要申请一项任务,首先报本部门的部门经理审批,然后逐级上报到集团公司。我们根据集

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!