(通信与信息系统专业论文)基于web服务和工作流的业扩报装系统研究.pdf_第1页
(通信与信息系统专业论文)基于web服务和工作流的业扩报装系统研究.pdf_第2页
(通信与信息系统专业论文)基于web服务和工作流的业扩报装系统研究.pdf_第3页
(通信与信息系统专业论文)基于web服务和工作流的业扩报装系统研究.pdf_第4页
(通信与信息系统专业论文)基于web服务和工作流的业扩报装系统研究.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(通信与信息系统专业论文)基于web服务和工作流的业扩报装系统研究.pdf.pdf 免费下载

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

文档简介

华北电力大学硕士学位论文摘要 摘要 本文主要针对传统业扩报装系统在实际应用中存在的业务复杂、工作流程变动 频繁、效率低、数据不规范、互操作性不高等缺点,在当前飞速发展的w e b 服务架 构上,设计了基于x 札、w e b 服务和工作流的业扩报装系统,与原有管理模式相比, 该系统具有功能齐全,流程灵活,主界面直观等特点。作者对w e b 服务的开发平台 j 2 e e 进行了介绍,主要包括s t r u t s 框架,e j b 组件和w e b 服务等理论,针对业扩报装 的实际情况作了需求分析和功能的划分,最后对系统的框架以及实现作了介绍,前台采 用s t r u t s 框架,后台采用基于e j b 的w e b 服务方式。通过对基于w e b 服务和工作流 的业扩报装系统的设计与实现,证明了系统的可行性,并总结了系统进一步的研究 方向。 关键词: w e b 服务,j 2 e e 。工作流,业扩报装 a b s t r a c t t h i sp a p e ra i m sa tt h ec u r r e n tb u s i n e s sp r o e e s ss y s t e mi np o w e rs u p p l ye n t e r p r i s e s w h oi sc o m p l e x i t ya n df r e q u e n tf l o w ,d a t ai sn o ts t a n d a r d , f l e x i b i l i t yi sp o o ra n d8 0o n s h o r t c o m i n g si nt h ea c t u a la p p l i c a t i o n s oo nt h eb a s eo fw e bs e r v i c et e c h n o l o g i e s , w e p r o p o s e db u s i n e s sp r o e c s ss y s t e mb a s e d0 1 1t h ew e b8 e l - v i c ea n dw o r k f l o w t h i ss y s t e m h a st h ec h a r a c t e r i s t i c so fc o m p l e t ef u n c t i o n s ,p r o g r a ma g i l i t ya n dm a i ni n t e r f a c e c l a r i t y t h i sa r t i c l ep r o v i d e dt h eb a s i cf l a m eo ft h es y s t e m , u t i l i z e du m l t og u i d et h e s y s t e m a t i cd e s i g np r o c e s s , f i r s t l y , t h ea u t h o ri n t r o d u c e sw 曲s e r v i c ed e v e l o p m e n tp l a t f o r m j 2 e e , w h i e bi n c l u d e ss t r u t sf l a m e , e j ba n dw 曲s e r v i c e t h e na u t h o rg i v eh i sd e m a n d a n a l y s i sa n df u n c t i o nd i v i s i o no ft h ep r o j e c t r a s t b t h ea u t h o ri n t r o d u c e st h es y s t e mf r a m e a n dt h er e a l i z a t i o n , t h es t r u t sf r a m ei su s e do nt h ef r o n ts t a g ew h i l et h ew e bs e r v i c eb a s e do n e j bi su s e do l lt h eb a c k s t a g e w et h r o u g hd e s i g n e da n dt h e r e a l i z a t e db u s i n e s sp r o e c s s s y s t e mb a s e do nt h ew e bs e i v i c ea n dw o r k f l o w , g o ts o m ea d v a n t a g e s ,p r o v e dt h es y s t e m f e a s i b i l i t y a tl a s t , w eg a v es o m ed e e pr e s e a r c hf i e l d so nt h i ss y s t e mi nt h ef u t u r e l i y u l i n g ( c o m m u n i c a t i o na n di n f o r m a t i o ns y s t e m ) d i r e c t e db yp r o f y u a nj i n s h a k e yw o r d s :w e bs e r v i c e s ,j 2 e e ,w o r k f l o w ,p o w e rb u s i n e s se x p a n d i n gs y s t e m 声明 本人郑重声明:此处所提交的硕士学位论文基于w e b 服务和工作流的业扩报装系 统研究,是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研究工作和 取得的研究成果。据本人所知,除了文中特别加以标注和致谢之处外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得华北电力大学或其他教育机构的学 位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名;日 期: 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有权保管、 并向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩印或其它复制手 段复制并保存学位论文;学校可允许学位论文被查阅或借阅;学校可以学术交流为 目的,复制赠送和交换学位论文;同意学校可以用不同方式在不同媒体上发表、传播 学位论文的全部或部分内容。 ( 涉密的学位论文在解密后遵守此规定) 作者签名: 日 期: 导师签名: 日 华北电力大学硕士学位论文 第一章引言 本课题主要研究j 2 e ew c b 服务和工作流在业扩报装系统中的应用,针对业扩 报装的特殊业务以及异构的数据结构,给出了业扩报装系统的基本框架,在此基础 上进行了u m l 建模,最终利用w e b l o g i cj 立用服务器实现了w e b 服务业扩报装系统。 1 1 研究背景 业扩报装是指电力企业受理客户的用电申请,根据电网的供电能力进行审批和 办理各种手续,施工、验收,直至最后装表接电的整个业务过程。业扩报装管理信 息系统作为整个供电企业用电营销m i s 系统的子系统功能包括:业扩新装和变更用 电两大类业务,是整个用电营销m i s 系统的龙头。作为与用户直接接触的窗口和市 场开拓的先锋,其工作效率直接影响着电力市场的开拓,影响着电力销售指标的完 成和经济效益的高低。 传统的供电企业业扩报装管理系统一般建立在客户机服务器( c s ) 模式之上, 报装系统的开发一般着重于客户端,用d e l p h i 、p o w e r b u i d e r 等工具开发应用程序, 服务器端则以大型d b m s 作后台,提供数据管理服务。业扩报装业务环节较多、业 务处理缓慢复杂。并且这种模式随着电力系统的不断发展和管理方式的不断变化, 应用程序的复杂程度越来越高,暴露出很多问题,如缺乏伸缩性、代码逻辑无法复 用、系统维护和升级比较困难,尤其当业扩报装流程发生变化时,系统维护工作量 大,有些系统因为功能扩充甚至需要重新开发等【1 1 。 传统的业扩报装子系统与电量电费子系统及计量子系统之间缺乏有效的接口。 因此在实际应用中各个子系统之间数据不能共享和流通,不能及时更新。致使各个 子系统中的数据不一致,从而导致供电企业用户及生产信息的数据混乱现象,直接 影响到供电企业的实际工作和用户的利益。 为了提高业扩报装效率,适应不断变化的环境,减少系统维护工作量,本文设 计了一种基于x m l 、w e b 服务和工作流的电力业扩报装系统。它通过网上资源共 享和信息交换,有效地建立了供电部门的联系,它需要实现【2 心: ( 1 ) 流程环节可以方便地重组,适应业务流程的变化。 ( 2 ) 在运行中可预先设置好多套流程,处理多种业务。 1 2 基于w e b 服务的业扩报装系统概述 w e b 服务技术( w e b s e r v i c et e c h n o l o g y ) 是新一代的分布式计算技术,它利 华北电力大学硕士学位论文 用s o a p 、w s d l 、u d d i 和x m l 这些关键的w e b 服务标准,使计算机应用程序可以通 过i n t e r n e t 进行通信和交换数据。w e b 服务解决了其它分布式组件间通信技术( 如 c o r b a ,d c o m 等) 中互操作性有限的问题,利用开放标准( 非专属标准) 进行操作, 能够真正实现跨技术跨平台的组件间通信【4 】。 采用w e b 服务技术,实现业扩报装系统,可以充分体现分布式组件开发的优 越性,最大限度的对现有系统进行重用,在不动双方原有数据结构的基础上,采用 统一的数据结构x m l 进行数据操作和传输;针对业扩报装的不同业务,分别建立 不同的w 曲服务,为各部门提供所须操作;这些服务可以发布在u d d i 上,任何部 门只要得到授权都可以利用这些服务,从而实现业扩报装业务。相比过去的业扩报 装系统享有互操作性,跨平台性,伸缩性,灵活性,数据规范性( 可以在更大范围 i n t e r n e t 中应用) 等优点,可以在更大范围i n t e r n e t 中应用。用户可以轻而易举的用 电申请、查询以及缴纳相关费用,这将是电力营销管理信息系统乃至电子商务系统 的发展趋势。 1 3 本文所做的主要工作 本文所设计的基于j 2 e ew c b 服务的业扩报装系统包括以下五个内容: ( 1 ) 数据转换 建立标准的x m l 数据词汇,将电业公司的数据转换成x l v l l 数据结构,数据转 换处于客户层和数据源之间,完成从j a v a 类到x m l 的相互转换,客户层只能通过 x m l 交互接口访问数据,加强了数据源的安全性;由于不同的电业公司数据库数据 形式不同,统一标准的x m l 格式解决了空间和时间上异构数据的集成问题【5 】。 ( 2 ) w e b 服务开发平台的研究 目前,w e b 服务开发有两大平台:n e t 和j 2 e e 。考虑到j 2 e e 更适合跨平台的 应用,所以本系统选用j 2 e e 为开发平台。主要研究j 2 e e 中的e j b 技术,对e j b 中的实体b e a n 和会话b e a n 做了较为详细的研究,研究了实体b e a n 与数据库中数 据的关系及如何管理数据的,如何将无状态会话b e a n 开发成w e b 服务以供调用。 另一个关键技术就是s t r u t s 框架,利用该框架作为系统的前台,调用所需的w e b 服 务,完成信息的发布和集成【6 】。 ( 3 ) 实现业务功能建立w 曲服务 在业扩报装系统中,需要完成的基本功能包括用户用电档案管理功能,业扩流 程管理功能,查询、统计和分析功能。为了实现电业局的业扩业务逻辑,所使用的 w e b 服务技术和传统的基于b s 体系结构的应用服务器有很大的不同。此过程首先 需要将数据库里的数据信息影射到实体b e a n ( j 2 e e 中的一种组件) 的数据结构, 2 华北电力大学硕+ 学位论文 两者影射关系是一一对应的。这样做的目的是为了将数据库里的数据作为对象来处 理,存取比较方便,而且影射后的实体b e a n 还增加了一些常用的编辑数据的方法 如查找,添加,删除等便于操作。影射完成以后还要建立相应的会话b e a n 去访问 实体b e a n 中的方法,这样做可以避免用户直接操作数据并且会话b e a n 比实体b e a n 更适合开发成w e b 服务。采用这种门面模式( f a c a d e ) 之后就是通过会话b e a n 访 问实体b e a n ,从而完成对数据的访剐7 】。 ( 4 ) 建立调用w e b 服务的网络客户端 为了实现系统功能,需要在网站上建立w e b 服务客户端供用户调用。本文利用 s t r u t s 框架建立网络客户端,调用所需的w e b 服务,完成信息的发布和集成。 ( 5 ) 构建工作流平台 工作流平台是企业应用集成、流程再造的核心平台,鉴于实用价值及重要性, 本文运用了o r a c l eb p e l - p m2 0 ( o r a c l eb p e l 流程管理器) ,借助业务流程建模 工具,灵活地定制业扩报装系统的用电新装、增容、用电变更的各种业务流程,并 运用插件化设计、根据不同的业务需求灵活地定义流程。 1 4 论文的结构 本文通过介绍业扩报装系统的开发过程,阐述了其原理和实现方法。本文的第 二章课题的关键技术主要介绍了w e b 服务的理论知识,包括霹e b 服务的由来,优点 以及关键技术,介绍了j 2 e e 和e j b 的基础概念。并介绍了工作流的定义,优点以 及模型。第三章业扩报装业务功能和系统框架设计主要介绍了业扩报装的业务功 能,给出了基于w e b l o g i c 服务器的系统框架模型,并利用u 札指导系统的设计和 开发。第四章业扩报装w e b 服务的实现重点介绍了w e b 服务实现的方式以及业扩勘 查w e b 服务实现过程。第五章业扩报装系统客户端的实现介绍了基于m v c 模式的w e b 客户端以及s t r u t s 框架,实现了业扩报装系统的客户端开发。第六章业扩报装工 作流平台的实现分析了工作流的关键技术以及其在业扩报装系统领域中的应用,并 利用o m c l e b p e l 流程管理器实现了业扩报装系统中业务流程的设计工作。最后一 章“结束语”介绍了本文的成果以及今后的工作。 3 华北电力大学硕士学位论文 第二章课题的关键技术 本章主要介绍w e b 服务的基本概念,j 2 e e 与e j b 对于w e b 服务技术的支持以及工作 流技术。 2 1w e b 服务技术 2 1 1w e b 服务概念及体系结构 w e b 服务是一个可以通过网络,特别是嗍发现并唤醒的可以执行分散的任务 或一组任务的软件模块,它具有松耦合,自描述与自适应,分布式,动态性和可扩 展性等诸多特点。 w e b 服务体系结构允许开发封装了所有级别的商业功能。换句话说,w e b 服务 体系结构可以非常简单,就像可以返回当前气温的一个服务,也可以是一个复杂的 应用,从而允许若干个w e b 服务联合创建新的功能。 w e b 服务体系结构有3 个明确的角色任务:提供者,请求者和代理。其中提供 者创建w e b 服务并使他能让使用它的客户利用,请求者是利用w e b 服务的客户应用, 而被请求的w e b 服务也可以同时成为其他w e b 服务客户。代理则像一个服务注册, 提供一种w e b 服务提供者和请求者相互作用的方式。 3 种角色:提供者,请求者和注册处通过发布,查找和邦定等操作来相互作用, 提供者通过代理的发布接口通知代理当前有些什么w e b 服务可用,并使得客户程序 可以访问这些服务。发布的信息描述了服务的内容并指定服务的位置,请求者将向 代理定位发布的w e b 服务,通过从代理处获得的w e b 服务信息,请求者就可以绑定 或唤醒所需要的w e b 服务嘲。 图2 一l 表明了提供者,请求者和代理的相互作用。 w e b 服务 w e b 服务w e b 服务 提供者代理请求者 r x m l s o a p 通信协议,网络协议:h t t p , f i p ,s m t p 等 图2 - 1w e b 服务的体系结构图 4 华北电力大学硕士学位论文 2 1 2w e b 服务标准 w e b 服务的开发标准一直在演变,不过首要的标准是s o a p ( s i m p l eo b j e c t a c c e s sp r o t o c 0 1 ) ,w s d l ( w e bs e r v i c e sd e s c r i p t i o nl a n g u a g e ) ,u d d i ( u n i v e r s a l d e s c r i p t i o n 。d i s c o v e r ya n di n t e g r a t i o n ) 和w s i l ( w e bs e r v i c e si n s p e c t i o n l a n g u a g e ) 。下面介绍这些标准。 ( 1 ) x m l 语言 x m l 可扩展标记语言,因为w e b 服务要跨平台通信而且所涉及的信息不仅是文 本,还可能是数据库中的数据而采用传统的h t m l 是无法完成的,使用x m l 可以使 程序之间很容易的进行通信,x m l 是一种新的数据格式,符合结构化的文件标准, 而且语言具有弹性,可扩展性又不失统一标准,可以很容易的描述各种文件数据, 非常适合在网络上传输,且可穿越多数防火墙,因而它被称为w e b 服务的基石。 ( 2 ) s o a p 协议 s o a p 是w e b 服务的通信协议,用来定义消息的一种规范,采用x m l 格式,包含 在一对s o a p 元素中。 s o a p 规范的其他部分介绍如何使用s o a p 进行远程过程调用( r p c ) 。这些可选 的规范部分用于实现r p c 形式的应用程序,其客户端发出一条s o a p 消息( 包含可 调用的函数,以及要传送到该函数的参数) ,服务器返回包含函数执行结果的消息。 目前,多数s o a p 实现方案都支持r p c 应用程序。 s o a p 规范的最后一个可选部分定义了包含s o a p 消息的h t t p 协议包消息的样 式。此h t t p 绑定非常重要,因为几乎所有当前的浏览器都支持h t t p 。图2 2 说明 了s o a p 消息是怎样通过h t t p 传输的。 图2 - 2s o a p 消息的路由 开始使用s o a p 时,最容易混淆的是s o a p 规范及其许多实现方案之间的差异。 多数使用s o a p 的用户并不直接编写s o a p 消息,而是使用s o a p 工具来创建和分析 s o a p 消息。m i c r o s o f ts o a pt o o l k i t 2 0 将c o m 函数调用转换为s o a p ,而a p a c h e 5 华北电力大学硕士学位论文 t o o l k i t 将j a v a 函数调用转换为s o a p 。函数调用的类型和支持的参数数据类型随 每一个s o a p 实现方案的不同而不同,因此适用于一个工具包的函数可能并不适用 于另一个工具包。这并不是s o a p 的限制,而是所使用的特定实现方案的限制。 s o a p 需要一个通信协议来传送信息,目前的最新的s o a p z 3 偏向于使用h t t p 作为通信协议。除了h t t p 之外,s o a p 也可以使用s m t p ,f t p 等其他通信协议来通信, 但是目前除了h t t p 外,其他部分的都还没有定论,由于s o a p 的请求响应工作模式 跟h t t p 协议很类似,所以目前的实现都以h t t p 为主。 ( 3 ) w s d l 语言 w s d l ( w e bs e r v i c e sd e s c r i p t i o nl a n g u a g e ) 表示w e b 服务说明语言。可以认 为w s d l 是一个x m l 文档,用于说明一个s o a p 消息以及如何交换这些消息。它用于 说明消息格式的表示法以x m l 架构标准为基础。这意味着它与编程语言无关,而且 以标准为基础,因此适用于不同平台,以不同编程语言访问的w e b 服务接口。除了 说明消息内容以外,w s d l 还定义了服务的位置,以及使用什么通信协议与服务器进 行通信。也就是说,w s d l 文件定义了编写使用l l e b 服务的程序所需要的全部内容 有几种工具可以读取w s d l 文件,并生成与w e b 服务通信所需的代码。 w s d l 是用来描述w e b 服务信息的语言,应用程序由解读w s d l 来取得有关w e b 服务的信息,w s d l 分成几部分。相应得代码如下: 冀r 甲i n 蛐e = ”i d p s e r v i e e s e v v i c e ” ( s o a p :b i n d i n g s t y l e = r p c t r a n s p o r t = 飞t t p :s c h e m a s x m l s o a p o r g s o a p h t t p 粗体字部分就是b i n g d i n g 的信息,这个p o r t 使用h t t p 传输协议,并且指定 使用r p c 为传输样式。s o a p 目前定义有两种传输样式:r p c 和d o c u m e n t 。带下划线 6 华北电力大学硕士学位论文 部分描述了服务中的方法,可以发现s o a p a c t i o n 的信息跟s o a p b o d y 区段所使用的 样式( s t y l e ) 。s o a p 的b o d y 区段可以使用e n c o d e d 1 i t e r a l 两种样式,一般来说, r p c 通常搭配e n c o d e d ,d o c u m e n t 则搭配l i t e r a l 样式。 ( 4 ) u d d i 注册中心 u d d i 是u n i v e r s a ld e s c r i p t i o n 。d i s c o v e r ya n di n t e g r a t i o n ( 统一描述,发 现和集成) 的缩写。u d d i 的意图是作为一个注册薄,就像黄页是一个地区企业的注 册薄一样。像在黄页中那样,在u d d i 注册薄中,企业在不同的目录下注册他们自 己或其服务。通过浏览一个u d d i 注册薄,用户能够查找一种服务或一个公司,并 发现如何调用该服务。 u d d i 数据模型包括下面的主要元素。 b u s i n e s s e n t i t y :表示一个实际的企业。 b u s i n e s s s e r v i c e :表示一个企业提供的服务。 b i n d i n g t e m p l a t e :如何调用服务的说明。 t m o d e l :可以把t m o d e l 想象成数据库中的一个独立的表,其中包含下面的 字段:名字,描述,u r l ,唯一的关键字。 u d d i 是w e b 服务的黄页。与传统黄页一样,可以提供所需服务的公司,了解所 提供的服务,然后与服务提供者联系以获得更多的信息。 u d d l 目录条目是介绍所提供的业务和服务的x m l 文件。u d d i 目录包括3 个部 分。“白页”介绍提供服务的公司名称,地址,联系方式等等;“黄页”包括基于标 准分类法的行业类别;“绿页”详细介绍了访问服务的接口,以便用户能够编写应 用程序以使用w e b 服务。服务的定义是通过一个称为类型模型( t m o d e l ) 的u d d i 文档来完成的。大多数情况下t m o d e l 包含一个w s d l 文件,用于说明访问w e b 服务 的s o a p 接口,但是t m o d e l 非常灵活,可以说明几乎所有类型的服务。 u d d i 目录还可以包含若干种方法,可用于搜索构建应用程序所需的服务。例如, 可以搜索特定地理位置的服务提供商或者搜索特定的业务类型。之后,u d d l 目录将 提供信息,联系方式,链接和技术数据,以便确定能满足需要的服务【9 1 【1 0 】。 2 1 3w e b 服务的优点 w e b 服务的主要目标是跨平台的互操作性。为了达到这一目标,w e b 服务完全 基于x m l ( 可扩展标记语言) ,x s d ( x m ls c h e m a ) 等独立于平台,独立于软件供应 商的标准,是创建可互操作的,分布式应用程序的新平台。由此可以看出,在以下 情况下使用w e b 服务会带来好处。 ( 1 ) 跨越防火墙的通信 7 华北电力大学硕士学位论文 3 层结构的应用程序的发展要求能够通过i n t e r n e t 让客户和服务器能在世界各 地,那么客户端和服务器之间的通信将是一个棘手的问题。因为客户端和服务器之 间通常会有防火墙或者代理服务器。在这种情况下使用d c o m 就不那么简单,通常 也不便于把客户端程序发布到数量如此庞大的每一个用户中。传统的做法是采用 b s 的形式,写下一大堆a s p j s p p h p 页面,把应用程序的中问层暴露给最终的用 户,这样不便于开发和后期的维护。如果中间层组件换成w e b 服务的话,就可以从 用户界面直接调用中间层组件,开发自己的s o a p 客户端,然后把它和应用程序连 接起来。 ( 2 ) 应用程序集成 企业级的应用程序开发者都知道,企业里经常要把不同语言写的,在不同平台 上运行的各种程序集成起来,而这种集成将花费很大的开发力量。应用程序经常需 要从运行在i b m 主机上的程序中获取数据;或者把数据发送到主机或u n i x 应用程 序中去。即使在同一个平台上,不同软件厂商生产的各种软件也常常需要集成起来。 通过w e b 服务,应用程序可以使用标准的方法把功能和数据“暴露”出来,供其它 应用程序使用。 ( 3 ) b 2 b 的集成 用w e b 服务集成应用程序,可以使公司内部的商务处理更加自动化。但当交易 跨越供应商和客户,突破公司的界限时会怎么样呢? 跨公司的商务交易集成通常叫 做b 2 b 集成。w e b 服务是b 2 b 集成成功的关键。通过w e b 服务,公司可以把关键的 商务应用“暴露”给指定的供应商和客户。例如可以把电子下单系统和电子发票系 统。暴露”出来,客户就可以以电子的方式发送订单,供应商则可以以电子的方式 发送原材料采购发票。用w e b 服务来实现b 2 b 集成的最大好处就在于可以轻易实现 互操作。只要把商务逻辑“暴露”出来,成为w e b 服务,就可以让任何指定的合作 伙伴调用这些商务逻辑,而不管他们的系统在什么平台上运行,使用什么开发语言。 这样就大大减少了花在b 2 b 集成上的时间和成本。 ( 4 ) 软件重用 软件重用的形式很多,最基本的形式是源代码模块或者类一级的重用,另一种 是二进制形式的组件重用。像表格控件或用户界面控件这样的可重用软件组件仅限 于代码,数据不能重用。原因在于发布组件比较容易,但是要发布数据就没那么容 易了,除非是不会经常变化的数据。w e b 服务在允许重用代码的同时,可以重用代 码背后的数据。使用w e b 服务不必像以前那样,从第三方购买,安装软件组件,再 从应用程序中调用这些组件;只需要直接调用远端的w e b 服务就可以了。另一种软 件重用的情况是,把好几个应用程序的功能集成起来。例如,要建立一个局域网上 8 华北电力大学硕士学位论文 的门户站点应用,让用户既可以查询联邦快递包裹,股市行情,又可以管理自己的 日程安排,还可以在线购买电影票。现在w e b 上有很多应用程序供应商,都在其应 用中实现了这些功能。一旦他们把这些功能都通过w e b 服务“暴露”出来,就可以 非常容易地把所有这些功能都集成到自己的门户网站中,为用户提供一个统一的, 有好的界面i l ”。 2 2j 2 e e 及相关技术 2 2 1j 2 e e 概述 j 2 e e 是一种利用j a v a2 平台来简化企业信息系统解决方案的开发、部署和管 理相关的复杂问题的体系结构。j 2 e e 技术的基础就是核心j a v a 平台或j a v a2 平 台的标准版,j 2 e e 不仅巩固了标准版中的许多优点,例如。编写一次、随处运行 的特性、方便存取数据库的j d b ca p i 、c o r b a 技术以及能够在i n t e r n e t 应用中保 护数据的安全模式等等,同时还提供了对e j b ( e n t e r p r i s ej a v a b e a n s ) 、j a v a s e r v l e t sa p i 、j s p ( j a v as e r v e rp a g e s ) 以及x m l 技术的全面支持。其最终目的 就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。j 2 e e 体系结构 提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩 展性的应用的需求。通过提供统一的开发平台,j 2 e e 降低了开发多层应用的费用和 复杂性,同时提供对现有应用程序集成强有力支持,完全支持e n t e r p r i s e j a v a b e a n s ,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制, 提高了性能【1 2 】。 2 2 2j 2 e e 的优势 支持异构环境 j 2 e e 能够开发部署在异构环境中的可移植程序。基于j 2 e e 的应用程序不依赖 任何特定操作系统、中间件、硬件,因此设计合理的基于j 2 e e 的程序只需开发一 次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。j 2 e e 标准 也允许客户订购与j 2 e e 兼容的第三方的现成的组件,把他们部署到异构环境中, 节省了由自己制订整个方案所需的费用。 可伸缩性 企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足 那些在他们系统上进行商业运作的大批新客户。基于j 2 e e 平台的应用程序可被部 署到各种操作系统上。例如可被部署到高端u n i x 与大型机系统,这种系统单机可 支持6 4 至2 5 6 个处理器( 这是n t 服务器所望尘莫及的) 。j 2 e e 领域的供应商提供 9 华北电力大学硕士学位论文 了更为广泛的负载平衡策略,能消除系统中的瓶颈,允许多台服务器集成部署。这 种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。 稳定的可用性 一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。因为 i n t e r n e t 是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重损失。 若是意外停机,那会造成灾难性后果。j 2 e e 部署到可靠的操作环境中,他们支持长 期的可用性,这是实时性很强的商业系统理想的选择【1 3 1 。 2 2 3j 2 e e 的四层模型 j 2 e e 应用程序的结构s u n 设计j 2 e e 的初衷是为了解决两层模式 ( c l i e n t s e r v e r ) 的弊端。在传统的两层模式中,客户端担当了过多的角色而显 得臃肿。在这种模式中,第一次部署的时候比较容易,但难于升级或改进,可扩展 性也不理想,而且经常基于某种专有的协议通常是某种数据库协议,它使得重 用业务逻辑和页面逻辑非常困难。现在,j 2 e e 的多层企业级应用模型将两层化模型 中的不同层面切分成许多层,一个多层化应用能够为不同的服务提供一个独立的 层。j 2 e e 典型的结构分为4 层【1 4 】( 如图2 3 所示) 。 运行在客户端的机器上的客户层组件( c 1 l e n tt i e r ) 运行在j 2 e e 服务器上的w e b 层组件( w e bt i e r ) 运行在j 2 e e 服务器上的业务逻辑组件( b u s i n e s st i e r ) 运行在e i s 服务器上的企业信息系统( e n t e r p r i s ei n f o r m a t i o ns y s t e m ) 层 软件( e i st i e r ) 其中第二层和第三层合称为中间层( m i d d l et i e r ) c 1 i e n tt i e rm i d d l et i e r e i st i e r 各 瓜石容八 各 种 客 户 种 端 ,f 田国弋 星 、 数 璺 暑 据 耄 ,一, 互 彳 毫库 毫 、 基 善 |。 曼 宝 v 、, 图2 - 3 j 2 e e 典型结构图 i 0 华北电力大学硕士学位论文 2 2 4j 2 e e 的技术体系 j 2 e e 是一个技术架构,也可以视为一个技术体系,它包含了许多内容,主要技 术有:j d b c ,j s p 与s e r v l e t ,j n d i ,r m i ,j m s ,j a v am a i l ,e j b 。 j d b c ( j a v ad a t a b a s ec o n n e c t i v i t y ) ,为j a v a 应用程序访问数据库提供了 一个统一的接口。通过j d b c 可以完成建立到数据库的连接,执行s o l 语句等操作。 s e r v l e t 是一种服务器端的技术,用来实现表示逻辑。它接收来自w e b 浏览 器的h t t p 请求信息,进行处理后返回h t t p 响应信息。由于s e r v l e t 是用j a v a 语 言编写的,可移植性较强,可以从一个平台移植到另一个平台。 j s p 技术可以提供与s e r v l e t 相同的功能,但是开发起来比s e r v l e t 要简便。 j s p 可以帮助w e b 开发者使用相对较少的代码创建动态的网页。j s p 的优点是它的 简洁性,w e b 设计者即使不懂编程,也可以使用j s p 创建动态的网页。j s p 是h t m l 代码和j a v a 代码的混合。当第一次请求一个j s p 页面时,应用服务器需要把该j s p 页面编译为一个s e r v l e t ,为请求提供服务。在客户请求j s p 页面的时候,服务器就 会处理j a v a 代码,然后返回h t m l 页面给浏览器。 j n d i ( j a v an a m i n g d i r e c t o r yi n t e r f a c e ) 即j a v a 的命名和目录接口。j n d i 是j a v a 定义的一种标准的注册机制,提供名字和目录服务。 r m i ( r e m o t em e t h o di n v o c a t i o n ) r m i 即远程方法调用。p d l i 是j a v a 应用程 序访问远程j a v a 对象的一种标准。利用r m i ,j a v a 应用程序可以访问位于其他进 城甚至其他计算机上的对象。对于应用程序来说,r m i 使得远程对象如同本地对象 一样。 j m s ( j a v am e s s a g es e r v i c e ) j a v a 消息服务提供了一组标准的j a v aa p i ,用 于企业级的消息处理。通过j m s ,可以在j a v a 程序之间发送和接收消息。 j a v am a i l 为开发人员通过使用各种邮件传输协议编写邮件客户机提供接口 和抽象类。 e j b 提供了一个构架开发和配置到客户端的分布式业务逻辑,因此可以明显 减少开发扩展性高度复杂的企业应用的难度。e j b 规范定义7e j b 组件应该如何以 及何时与他们的容器交互。由e j b 容器负责提供普通的服务,例如目录服务,事务 管理,安全,资源池和容错【”】。 2 2 5e j b 技术 ( 1 ) e j b 概述 e j b ( e n t e r p r i s ej a v ab e a n ) 是j 2 e e 的一部分,它也是技术规范,它定义的 是分布式组件规范。通常使用e j b 组件实现企业的业务逻辑部分。 1 1 华北电力大学硕士学位论文 e j b 组件是特殊的j a v a 类,它运行在服务器端,具体讲是运行在j 2 e e 应用服 务器的e j b 容器中。它不是普通的j a v a 类,开发时只要定义一个封装业务逻辑的 类文件就可以了。而开发一个e j b 组件,除了定义一个封装业务逻辑的类以外,还 要客户端访问的远程接口及内部接口。当部署e j b 组件到应用服务器时,还要定义 相应的部署描述符。 ( 2 ) e j b 体系结构包含以下几个元素: 1 ) h o m e 接口:是e j b 开发者定义的提供给客户的一些工厂( f a c t o r y ) 方法,客 户可以通过h o m e 接口来创建,查询和删除e j b 对象。 2 ) h o m e 对象:它是在配置e j b 时由容器产生的一个对象,是e j b 开发者 定义的h o m e 接口的一个具体实现。 3 ) r e m o t e 接口:是e j b 开发者定义的提供给客户的一些业务方法( b u s i n e s s m e t h o d ) 。 4 ) e j b 对象:它是在配置e j b 时由容器生成的一个对象,是e j b 开发者定义 的r e m o t e 接口的一个具体实现。客户通常通过e j b 对象来间接访问b e a n 的实现 类。 5 ) b e a n 的实现类:它是e j b 构件的核心,是e j b 开发者对在h o m e 接口和 r e m o t e 接口中定义的公共方法的具体实现。该对象不直接暴露给客户,而是通过 h o m e 对象和e j b 对象间接的为客户提供服务。 6 ) e j b 客户:所有使用e j b 服务的对象,包括j a v as e r v l e t ,j s p ,e j b 等。 7 ) 容器:e j b 容器包容e j b ,并为e j b 提供生命周期服务。容器把底层的 操作环境与e j b 隔离开来,使得e j b 具有可扩展性、有效性、并行存取能力。容 器提供:生命周期管理( 创建、初始化、删除) ;e j b 的永久化管理;事务管理; 安全管理;为e j b 创建h o m e 对象,并提供查询h o m e 对象的服务;e j b 的激活 ( a c t i v a t i o n ) 管理。 8 ) 服务器:e j b 服务器为e j b 提供系统级的服务,包括线程池和数据库连接 池。e j b 服务器与容器一起为e j b 提供分布式事务服务【1 6 】。 ( 3 ) e j b 运行结构 e j b 组件要按e j b 规范编写,然后部署到应用服务器上。e j b 组件运行在e j b 容器中。e j b 容器是应用服务器的一部分,该部分软件不单为e j b 提供运行时环境, 更重要的是提供事务,会话管理,持久机制,安全等服务。e j b 容器通过查看e j b 的部署描述符确定e j b 需要哪些服务。客户机要访问e j b 需要通过j n o i 和r m t 定 位e j b 的对外接口。如图2 4 所示: 1 2 华北电力大学硕士学位论文 图2 - 4e j b 运行结构图 ( 4 ) e j b 的分类 e j b 2 0 规范定义了三种类型的e j b ,分别是会话b e a n ( s e s s i o nb e a n ) ,实体 b e a n ( e n t i t yb e a n ) 和在2 0 中新增加的消息驱动b e a n ( m e s s a g ed r i v e nb e a n ) 。 下面对这三种e j b 进行简单介绍。 1 ) 会话b e a n ( s e s s i o nb e a n ) 会话b e a n 分为两种,无状态会话b e a n ( s t a t e l e s ss e s s i o nb e a n ) 和有状态会 话b e a n ( s t a t e f u ls e s s i o nb e a n ) 。会话b e a n 通常具有以下属性: 代表单个客户机执行 可以是事务性的 可以更新共享数据库中的数据 生存期相对较短,其生存期就是客户机的生存期 任何持久性数据都由b e a n 管理 可以依容器的判断予以删除 会在e j b 服务器失败时被删除 会话b e a n 在j 2 e e 应用程序中被用来完成一些服务器端的操作,例如访问数据 库,调用其他e j b 组件。

温馨提示

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

评论

0/150

提交评论