




已阅读5页,还剩65页未读, 继续免费阅读
(通信与信息系统专业论文)j2ee分布式通信技术的应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
哈尔滨工程大学硕士学位论文 摘要 本论文主要研究了j 2 e e 规范下的分布式通信技术的应用。按照客户需求 分析、模块设计、方案选择、编程实现、软件测试的软件开发流程,自行设 计了黑龙江省联通大客户系统与普通用户回访用户子系统。并以此系统为案 例,对该电子商务管理系统的构造方法和开发思路给予了详细地介绍。 系统以o r a c l e8 i 数据库为基础,j s p 、e j b 、j d b c 、s q l 等为实现技术, b e a 公司的w e bl o g i c 为应用服务器,r a t i o n a lr o s e 、u l t r a e d i t 、j b u i l d e r 和s q ld e v e l o p e r 为主要开发工具,实现了对大客户的信息管理。 文章突出的重点在普通用户回访子系统的介绍。在原有的省分大客户系 统的基础上对内容加以精简,将有用的模块进行改进,将不重要的模块删除, 同新需求相对应增加一些新的模块。对原有大客户系统的技术上的不足和使 用不当的地方总结,分析,改进,最终在实际使用中加以验证,然后在普通 客户回访子系统中应用。 关键词:j a v a ;j 2 e e ;分布式通信; m v c a b s t r a c t t h et h e s i sh a st h em a i nr e s e a r c ho f a p p l i c a t i o n o ft h ed i s t r i b u t e d c o m m u n i c a t i o nt e c h n o l o g yo nt h ej 2 e en o r m a c c o r d i n gt ot h ec u s t o m e r s d e m a n da n a l y s i s ,m o d u l ed e s i g n ,s c h e m ec h o o s i n g ,t h ep r o g r a m m i n gr e a l i z a t i o n i nt h es o f t w a r e d e v e l o p m e n tp r o c e d u r e ,w ed e s i g n e dh e i l o n g i i a n g p r o v i n c e u n i c o m i m p o r t a n tc u s t o m e rs y s t e ma n do r d i n a r yu s e sr e t u r n v i s i ts u b s y s t e mb y o n e s e l f r e g a r d i n gt h i ss y s t e ma sc a s e ,i th a sa d e t a i ld e s c r i p t i o nt ot h es t r u c t u r e m e t h o da n d d e v e l o p i n gt h o u g h to f t h i se - c o m m e r c ea d m i n i s t r a t i v es y s t e m t h es y s t e mh a sr e a l i z e dt h ei n f o r m a t i o nm a n a g e m e n tt ot h ei m p o r t a n tc u s t o m e r w h i c hi sb a s e do no r a c l e8 id a t a b a s e ,u s e st h et e c h n o l o g yo f j s p ,e j b ,j d b c , s q l ,e t c ,u s e st h ew e b l o g i c o fb e a c o m p a n y a st h ea p p l i c a t i o ns e r v e ra n du s e s r a t i o n a lr o s e ,u l t r a e d i t ,j b u i l d e ra n ds q l d e v e l o p e ra st h em a i nd e v e l o p i n g e n v i r o n m e n t t h ea r t i c l eh a sr e c o m m e n d e de s p e c i a l l yt h e o r d i n a r y u s e r sr e t u r n - v i s i t s u b s y s t e m o nt h eo r i g i n a l b a s i so ft h e i m p o r t a n tc u s t o m e rs y s t e m ,w eh a s r e d u c e dt h es c a l eo ft h es y s t e m w eh a v ei m p r o v e dt h eu s e f u lp a r t ,d e l e t e dt h e u n i m p o r t a n tp a r ta n da d d e d t h ep a r td e m a n d e db yt h ec u s t o m e r d i r e c ta g a i n s tt h e d e f i c i e n c yo ft e c h n o l o g ya n di n c o r r e c tu s i n g ,w eh a v es u m m a r i z e d ,a n a l y s e d , i m p r o v e d 。a tl a s tw e h a v ev e r i f i e di nt h ep r a c t i c a la p p l i c a t i o na n dt h e nu s e di n t h ec o m m o nu s e rr e t u m v i s i ts u b s y s t e m k e y w o r d s j a v a ,j 2 e e ,d i s t r i b u t ec o m m u n i c a t i o n ,m v c 哈尔滨工程大学 学位论文原创性声明 本人郑重声明:本论文的所有工作,是在导师的指导下, 由作者本人独立完成的。有关观点、方法、数据和文献的引 用已在文中指出,并与参考文献相对应。除文中已注明引用 的内容外,本论文不包含任何其他个人或集体已经公开发表 的作品成果。对本文的研究做出重要贡献的个人和集体,均 已在文中以明确方式标明。本人完全意识到本声明的法律结 果由本人承担。 作者( 签字) :熊蕉:整 日期:2 口一f 2 年2 月2 e t 哈尔滨工程大学硕士学位论文 1 1 概述 第1 章绪论 论文的第一章是绪论,主要介绍j 2 e e 平台及其优点,第二、三、四章分 别介绍在实现系统中主要用到的几种j 2 e e 的分布式通信技术,第五章介绍系 统整体的设计思想和设计指标,不同技术在项目开发中的使用情况,服务器 和数据库的设计内容等等,第六章介绍了几个有代表性的模块的设计过程和 步骤,第七章介绍系统实现后的使用方式和情况。 1 1 1 项目背景及意义 大客户信息管理系统是黑龙江省联通公司针对移动通信网上消费层次高 的个人用户、集团用户、重要用户立项开发的数据库应用系统,它是企业利 用网络信息技术通过对客户的跟踪、管理和服务,留住老用户、吸引新用户 的重要手段和方式。 在竞争日益激烈的移动通信行业,“服务”成为企业克敌制胜,提高竞 争力的法宝。而对移动通信企业而言,客户的消费能力、消费习惯、消费周 期等诸多方面都不尽相同。这便为企业的客户服务增加了许多的不确定因素, 要求企业将客户服务内容细化:针对不同的客户群,采取不同的服务策略, 最大可能的为用户实现个性化、专业化的服务。而这种服务的实现要求企业 对客户的各种行为均有一定的数据资料积累,并要求企业有一套可行而有效 的管理工具,使企业可以从这些数据资料中得到客户分类,提供不同类型客 户消费习惯的参考数据,使得一个企业了解自己的客户,了解市场因素,从 而制定有效的服务方案,做到有的放矢。同时对客户数据的分析也在发展方 向方面为企业提供一个辅助决策数据。 此项目完成后,将会保证联通集团公司对用户各种政策的实施,大大提 高内部工作效率,提高公司的服务质量以及企业形象,将会给联通公司带来 很大的经济效益。 哈尔滨工程大学硕十学位论文 1 1 2 大客户管理现状及存在的问题 为了做好大客户服务,制定了一系列的政策和服务承诺。现有的业务支 撑网络主要有计费业务网络系统、客户服务网络系统。这些系统没有按用户 消费层次进行管理,也无法对消费层次高的用户的消费水平、消费方向及服 务需求进行准确把握。同时由于高层次消费用户资料的不准确和更新不及时, 无法兑现相应政策和服务承诺,在一定程度上损害了用户的利益及公司的形 象。因此联通公司急需一套针对一定用户群体即大客户的信息管理系统,以 改变其管理现状。 根据项目的调研,现行的管理方式暴露出如下一些问题: 1 、大客户的档案资料管理还是以卡片管理为主,对大客户的档案数据的 存取、管理、统计、查询比较困难。 2 、大客户的业务处理与普通用户混在一起,从业务网中了解大客户的情 况需专业人员进行处理,过程比较复杂。同时业务网的资料不全面,因此无 法保证迅捷、方便的对大客户提供各种业务服务。 3 、由于数量大,手工管理的方式无法为大客户经营分析工作提供翔实的 数据和资料,大客户的经营分析工作无法有效的展开。 4 、由于营业网点分散,同时在其它业务处理平台上又无法识别大客户身 份。无法体现出对大客户的特殊服务。经常造成工作上的误解和失误。 1 ,1 3 大客户系统实现的目标及特点 一、系统实现的目标 为解决现行的大客户管理存在的问题,黑龙江省联通公司决定开发一套 独立的针对大客户管理的计算机应用系统,对大客户的“绿色服务通道”进 行有力的支撑,并为企业提供对大客户管理的决策根据。该系统实现如下目 标: l 、实现大客户的信息管理功能。利用现有业务网络数据按一定的规则自 动生成大客户资料数据库及辅助用户资料数据库。并对其进行管理。 2 、实现大客户消费情况的分析功能。满足管理和服务人员按期和实时对 大客户资料信息、变动情况和原有的业务资料信息进行统计、分析、查询。 提高管理水平,为企业管理决策提供依据。 3 、实现大客户的服务通道支撑。提供前台服务人员的协同工作方式,为 哈尔滨工程大学硕士学位论文 计费网、客户服务网提供大客户信息。 二、系统实现方案的选择 最初开发大客户系统时,采用的是以d e l p h i 为开发语言的c s 系统,但 是考虑到这个版本从技术上和形式上并不是非常吸引客户,而且从挑战自我 的角度出发,于是决定换一种新兴的技术j 2 e e 来实现。 利用j 2 e e 三层架构设计和开发商业信息管理系统是一项新的尝试,它所 具有的新特点和新特性是其它结构的系统所不具备的。 以下对采用了三层架构的各方面特点进行逐一介绍:在原有的两层体系 下,业务逻辑在客户端和服务器端都有分布,而且服务器端的主要计算任务 都由数据库承担。数据库系统本身作为系统级软件,它本身的优势在于提供 高效率的数据访问和处理而不是数值计算,利用数据库系统处理大量的业务 计算并没有完全发挥出数据库管理系统的特长,当并发请求的数量巨大时, 数据库性能下降很快。针对这一不足,j 2 e e 平台二版三层架构的处理方式是: 业务逻辑分布到应用服务器上,数据库上不再具有业务逻辑处理单元,而只 负责基础业务数据的管理,主要的计算任务由应用服务器完成,从而充分利 用了应用服务器在并发处理和逻辑计算方面的优势。另外,应用服务器还可 以做集群的配制,即在物理上,统一应用管理多台应用服务器对外部请求的 分配和并行处理。这样,当并发请求量较大时,集群的多台应用服务器之间 可以动态的进行任务分配,实现负载均衡,保证了系统性能不会因为大量并 发用户的访问而急剧下降,另外系统也同时具备了很好的可扩展性和伸缩性, 即在请求并发量增大或减少时,可根据实际情况增加或减少应用服务器数量, 以便保证性能的前提下,合理利用硬件资源。这些都是两层结构所不具备的 优点。 基于j 2 e e 的三层架构还具备很多特点。应用j 2 e e 的三层架构对于保留 现存的i t 资产有着重要意义。由于机构在面对适应新的业务需求的同时,也 要充分利用好已有的资产。因此,在信息系统建设方面,做平滑的系统迁移 方案,而不是重新制定全盘方案就变得很重要。这样,一个以渐进的,而不 是激进的、全盘否定的方式建立在已有系统之上的服务器端平台机制,是所 有管理机构所力求的。j 2 e e 架构可以充分利用用户原有的投资,如一些公司 使用的b e at u x e d o 、i b mc i e s 、i b me n c i n a 、i n p r i s e v i s i b r o k e r 。 之所以成为可能,主要是因为j 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 的这些特点也很好的体现在了开发和使用当中。 1 2j 2 e e 平台简介 下面对j 2 e e 平台和开发环境做一下简单的介绍。首先介绍一下j 2 e e 平 1 2 1 j 2 e e 平台 s u n 公司根据执行j a v a 硬件平台的不同,将j a v a 2 的开发环境大体分为 三种,即j 2 m e 、j 2 s e 和j 2 e e 。j 2 s e ( j a v a2p l a t f o r ms t a n d a r de d i t i o n ) 是j a v a 标准开发环境,主要在桌面p c 上执行。我们将既存的所有基本开发 环境称为j 2 s e 。j 2 m e ( j a v a2p l a t f o r mm i c r oe d i t i o n ) 是小型j a v a 开发 环境,主要应用于内存较小的家电和手机。j 2 e e ( j a v a2p l a t f o r me n t e r p r i s e e d i t i o n ) 是用于构建企业版服务器环境的平台”。 j 2 e e 是s u n 公司定义的一个开发分布式企业级应用的规范。它提供了一 个多层次的分布式应用模型和一系列开发技术规范。多层次分布式应用模型 是指根据功能把应用逻辑分成多个层次,每个层次支持相应的服务器和组件, 组件在分布式服务器的组件容器中运行( 如s e r v l e t 组件在s e r v l e t 容器上 运行,e j b 组件在e j b 容器上运行) ,容器间通过相关的协议进行通讯,实 现组件间的相互调用。遵从这个规范的开发者将得到行业的广泛支持,使企 业级应用的开发变得简单、快捷。 j 2 e e 的组件和层次如图1 1 所示, j # 卿三层式瑚酾 鲫霉嘴馘 图1 1j 2 e e 三层网络应用程序结构图 j 2 e e 规范或者说j 2 e e 平台,定义了以下四个层次( 也可以说成是三个) : 1 、客户端层( c l i e n tt i e r ) 客户端层用来实现企业级应用系统的操作 界面和显示层。另外,某些客户端程序也可以实现业务逻辑。可分为基于w e b 的和非基于w e b 的客户端两种情况。基于w e b 的情况下,主要是企业w e b 服 务器的浏览器,非基于w e b 的客户端层则是独立的应用程序,可以完成瘦客 户机无法完成的任务。本文中的所有应用都是基于w e b 的。 2 、w e b 层为企业提供w e b 服务,包括企业信息发布等。w e b 层由w e b 服务器和w e b 组件组成。j 2 e ew e b 组件包括j s p 页面和s e r v l e t s 。w e b 层也 可以包括一些j a v a b e a n s 。w e b 层主要用来处理客户请求。调用相应的逻辑模 块,并把结果以动态网页的形式返回到客户端。 3 、业务层( b u s i n e s st i e r ) 业务层也叫e j b 层或应用层,它由e j b 服务器和e j b 组件组成。一般情况下,许多开发商把w e b 服务器和e j b 服务 器产品结合在一起发布,称为应用服务器。e j b 层用来实现企业级信息系统 的业务逻辑。这是企业级应用的核心,由运行在业务层中的e j b 来处理。 个b e a n 从客户端接收数据、处理,然后把数据送到企业信息系统层存储起来。 同样,一个b e a n 也可以从企业信息系统层取出数据,发送到客户端程序。业 务层中的e j b 要运行在容器中,容器解决了底层的问题,如事务处理,生命 周期,状态管理,多线程、安全管理、资源池等。 4 、企业信息系统层( e n t e r p r i s ei n f o r m a t i o ns y s t e mt i e r ) 处理企业 系统软件:包括企业基础系统、数据库系统及其它遗留的系统。j 2 e e 将来的 哈尔滨工程大学硕士学位论文 版本支持连接架构( c o n n e c t o ra r c h i t e c t u r e ) 。它是连接j 2 e e 平台和企业信 息系统层的标准a p i 。 业务层和w e b 层共同组成了三层j 2 e e 应用的中间层,其他两层是客户端 层和存储层或企业信息系统层。 1 2 2j 2 e e 的分布式通信技术 j 2 e e 定义了丰富的技术标准,符合这些标准的开发工具和a p i 为开发企 业级应用提供支持。像为了用于声称动态网页的s e r v l e t 、j s p ;用于连接数 据库的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 ) ;用于提供企业版分布变化环境 的e j b ( e n t e r p r i s ej a v ab e a n ) ;用于开发邮件和信息传送程序的j a v a m a i l ; 用于在企业版服务器环境中支持多重命名服务和目录服务的界面的 j n d i ( j a v an a m i n ga n dd i r e c t o r yi n t e r f a c e ) 等等“3 。 ( 1 ) 组件技术 j 2 e e 的核心思想是基于组件容器的应用。每个组件提供了方法、属性、 事件的接口。组件可以由多种语言开发。组件是可以重用的、共享的、分布 的。 ( 2 ) s e r v l e t 和j s p s e r v l e t 用来生成动态页面或接受用户请求产生相应操作( 调用e j b ) 。 j s p 基于文本,通过容器产生相应的s e r v l e t ,使内容和显示分开。j 2 e e 中提 供了s e r v l e ta p i ,用于创建s e r v l e t 。 ( 3 ) e j b 技术 e j b 规范提供了一种开发和部署服务器端组件的方法“1 。每个e j b 是按 功能逻辑划分的,开发是不必关注系统底层细节问题,只关注具体的事务分 析。e j b 开发完毕后,按规范部署在e j b 容器中,完成相应的事务功能。e j b 支持分布式计算。真正体现了企业级的应用。 ( 4 ) 数据库访问 无论是传统的企业信息系统还是将来的企业信息系统,数据库都占有重 要的地位。开发分布式系统要求数据库访问具有良好的灵活性和扩展性。 j d b c ( j a v a d a t a b a s ec o n n e c t i v i t y ) 是一个独立于特定的数据库管理系统的 开发接口。它提供一个通用的访问s q l 数据库和存储结构的机制,支持基本 s q l 功能的一个通用底层的应用程序编程接口。他在不同的数据库界面上提 供了一个统一的用户界面。提供了多种多样的数据库连接方式。5 2 e e 中提供 哈尔滨工程大学硕士学位论文 了j d b ca p i 使对多种数据库操作简单可行。 ( 5 ) 其他分布式通信技术 分布式通信技术是分布式企业系统的核心技术。j 2 e e 框架为w e b 应用和 e j b 应用提供多种通信模式。为了使运行于某一机器上的对象调用另一台机 器的对象,j 2 e e 实现了如下通信方式: j a v ar m i ( r e m o t em e t h o di n v o k e ) :远程方法调用。j a v ar m i 实现j a v a 对象间的远程通信。服务器用注册器把一个名字和远程对象绑在一起,客户 机通过名字从服务器注册器上查找远程对象,找到后下载远程对象的本地代 理,调用远程对象的方法。 j a v ai d l ( j a v ai n t e r f a c ed e f i l a t i o nl a n g u a g e ) :接口定义语言。可 以实现j a v a 对象和符合c o r b a 规范的远程对象通信。 j n d i ( j a v an a m i n g a n dd i r e c t o r yi n t e r f a c e ) :j a v a 命名和目录接 口。j n d i 为分布式系统访问远程对象提供了一个标准的命名接口。e j b 主接 口对象、数据源、消息服务器等都可以用j n d i 树的形式注册到名称服务器中, 调用他们的对象通过符合j n d i 的程序接口在j n d 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 a 客户端和j a v a 中间层访问消息系统只要实现 j m s 定义的简单的借口就可以实现复杂的应用,而不必去关注低级的技术细 节。 1 2 3 常用的j 2 e e 开发环境 j z e e 应用的丌发、测试或运行需要应用服务器的支持。最常用的开发环 境是w e b l o g i cs e r v e r6 o + j b u i i d e r6 o + o r a c l e8 i 。w e b l o g i c 现在已经 升级到了8 0 ,j b u i i d e r 升级到了9 o ,而o r a c l e 也已经到了9 i 。但是从 开发需要看并没有必要片面的追求软件的更新,只要软件能提供所需要的功 能就可以。服务器的操作系统为w i n d o w s2 0 0 0 或x p 均可。 下面简要介绍一下应用服务器w e b l o g i c ( 摘录自一次会议上的b e a 公司 的w e b l o g i c 宣传文件和 j 2 e e 应用与b e aw e b l o g i cs e r v e r 一书) 。w e b l o g i c 是b e a 公司开发的一套基于j a v a 的功能强大的电子商务服务器,它支持企业 级的、多层次的和完全分布式的w e b 应用。作为开发和使用j a v a 电子商务应 用市场上的领导者和事实上的工业标准,w e b l o g i cs e r v e r 得到了业界的广 ;。; 。;墅堡三堡奎兰堡圭兰堡垂鎏; ;一; ;一; 泛认可。w e b l o g i cs e r v e r 的主要功能包括: 维护和管理各种客户机( 包括w e b 浏览器、a p p l e t 和应用客户机) 的 应用逻辑和业务规则。 支持w e b l o g i cs e r v e r 的软件集群技术,其中这些w e b l o g i cs e r v e r 可以运行w e b 应用和企业j a v a b e a n ( e j b ) 服务,确保了服务器的可靠性、扩 展性和高性能。 提供必要的应用服务,用于建立可靠的、可扩展的以及基于w e b 的应 用。 完全实现了s u n 公司j a v a 2 企业版的各种最新的协议。 由于最有效和充分的使用了系统的资源,如客户机和数据库连接等, w e b l o g i cs e r v e r 可以使电子商务应用每小时支持数百万个用户的数十万个 请求。 对于开发人员w e b l o g i c 可以在w w w b e a c o m 免费下载一套完整的 w e b l o g i c ,并得到一个限制了i p 的1 i c e n s e ,用于学习和开发基于这个套 件的代码。而要是需要正式的投入使用的话,那么就必须支付一定的费用获 取没限制的1 i c e n s e 。由于这个软件的这种发布方式,对于一般网站开发人 员可以很轻易地得到w e b l o g i c 用于学习开发,当然投入使用是另一回事。 b e a 官方网站上有很多英文的p d f 和h t m l 格式的帮助文档,网址是u r l h t t p :l i e d o c s b e a c o m w l s d o c s 8 1 厶d f z 。在b e a 官方的中文网站上也有一 本中文的关于w e b l o g i c 的非常好的书w e b l g o c ib i b l e 。 如果选择j b u i l d e r 作为开发j a v a 程序的环境,显而易见它是最强大的、 最易于使用的j a v a 快速应用程序开发( r a d ) 工具。许多开发人员不愿意使 用r a d 工具,因为它们总感觉这样的开发环境和语言不能满足他们所需要的 灵活性和可控性。而j b u i l d e r 则把j a v a 编程语言的威力和用户图形界面 ( g u i ) 的r a d 环境的易用性有机的结合在一起“1 。 j b u i l d e r6 企业版采用双向可视化设计工具简化e j b 2 0 的开发,并可 将它们快速分发到多种业界领先的j 2 e e 应用服务器上,其中包括b e a w e b l o g i cs e r v e r ,i b mw e b s p h e r e ,i p l a n e ta p p l i c a t i o n s e r v e r 以及 j b u i l d e r 企业版中所集成的b o r l a n de n t e r p r i s es e r v e r ,a p p s e r v e r e d i t i o n 。但是它要求w e b l o g i c 的端口必须是7 0 0 1 ,否则j b u i l d e r 不能自 动发不到服务器上,还需要到w e b l o g i c 控制台去手动部署。j b u i l d e r 对内 存的要求较高,1 2 8 m 以下内存的p c 机运行起来会让人有工夫睡觉。 j b u i l d e r 的功能强大,上手容易,如果需要发布w e ba p p l i c a t i o n 或 哈尔滨工程大学硕士学位论文 e j 8 等打包好的程序代码,还需要进行一些配置,本文介绍了一些,但是看 j b u i l d e r 的帮助还是最好的解决方法。 o r a d e 是个功能极其强大和灵活的关系型数据库系统。但是由于其功 能和灵活性方面的突出优越性,它变得越来越复杂了。本文中并没有涉及太 多的数据库的内容,因为大多数工作应有一个专门的数据库管理员来完成 对于编程者只需了解p l s q l 语言。p l s q l 是一种比较复杂的程序设计语言, 用于从各种环境中访问o r a c l e 数据库。现在,p l s q l 与服务器集成在起, 这样就可以快速而有效地处理p l s q l 代码。 1 3 本文的主要研究工作及实际意义 一、本文的主要研究工作 1 、在对系统需求进行分析的基础上,确立系统功能及体系结构 2 、根据具体数据库管理系统( d b m s ) ,建立系统数据库的关系管理模式。 3 、对系统应用的基本理论及其应用进行研究。 4 、研究和实现了系统业务逻辑的封装和调用。 5 、完成应用程序组件对象的设计。 6 、对应用程序进行测试。 二、本文的实际意义 通过本文设计实现的大客户管理信息系统,一方面它提高了企业的管理 水平和工作效率,降低了企业管理成本;同时提供了企业的个性化照务的支 撑,从而加强了企业的市场地位和增大了市场份额,为企业带来了经济效益。 另一方面通过本文的研究开发,为大型的系统的开发提供了一种集成模块开 发思路,可随时为系统添加应用,使开发大型系统变得相对容易。 一;一;当丝篁堡奎兰至耋兰氅;一;一一一 第2 章j a v as e r v e rp a g e s ( j s p ) 本章和下面两章介绍了系统中用得比较多的三种j 2 e e 分布式通信技术 着重介绍在构建系统时这些技术的应用形式。 2 1 j s p 第一印象 首先介绍一下j s p 技术,它主要应用于客户端( 层) 。 在大客户系统中,使用者首先接触到的是在浏览器上打开的网页,系统 的使用人员著不懂得高深的计算机通信原理和相关的技术知识,他们追求更 多的是一种视觉上的享受和操作上的便捷。因此,在技术实现上并不困难的 网页设计与编程就在整个项目中变得格外的重要,它好比一个人穿的衣服, 是一个系统的外观,而用来做这件衣服的材料就是j s p 、j a v a s c r i p t 和h t m l 三种技术。h t m l 一般由美工来专门编写,j a v a s c r i p t 是嵌在h t m l 中的一种 脚本语言,j s p 则是j 2 e e 架构下一种重要的分布式技术。 j s p 的特点是简单实用。它来源于s e r v l e t ,却可以不了解s e r v l e t 而学 习j s p ( 如同不需学习c 而可以直接学习c + + 一样) ,语法很少,上手容易; 它使编程人员和美工人员可以分离工作;组件规范有j a v a b e a n ,而且功能相 当的强大;内置对象有八种,经常用到的通常只有两三种,每种对象的方法、 属性较少,但概括性强,使用频繁;j s p 支持j a v a s c r i p t ,使得j 2 e e 系统下 的人机信息交互不仅可以发生在服务器端,也可以发生在客户端;用户自定 义标记库( c u s t u mt a gl i b r a r y ) 提高了编程的效率;在w e b l o g i c 和其他 j s p 容器中j s p 的修改都无需重新启动服务器,提高了开发效率和时间。 可以说,只要学习很短的一段时间就可以用j s p 做出令人满意的网页( 当 然这要建立在有一个很好的h t m l 页面的基础上) 。有意思的是当使用很长时 间后又会觉得对j s p 了解得很少,可见j s p 技术是将复杂隐含于简单中的一 种技术。 s e r v l e t 是j s p 的前身,是比j s p 形式上复杂得多的一种j 2 e e 分布式技 术。由于j s p 的出现,它的使用正在减少,然而在某些特定场合仍然占有优 势。j s p 的生命周期同s e r v l e t 息息相关,在j s p 容器中,最终还是要将j s p 哈尔滨工程大学硕士学位论文 编译为s e r v l e t 的( 请参照后面的j s p 启动原理) 。 j s p 同c g i 、a s p 、p h p 等相比,无疑有更大的发展空间和优势。j a v a 已 经被视为网络上的最佳语言,j s p 依托j a v a 和j 2 e e ,几乎所有的大型计算机 软件厂商都支持它,尤为重要的是它还在不断的发展,不断的有新鲜事物出 现。虽然在现今的国内网站上很少看到用j s p 编写的网页,但这并不能证明 j s p 不好有很大的缺陷,相反这只说明有很多人对它不了解,一旦熟悉之后 它的市场是巨大的。 2 2j s p 的启动原理与生命周期。, 2 2 1j s p 的启动原理 j s p 通常用文本编辑器而不是用j b u i l d e r 编写,因为这样可以降低机器 的内存使用率,缩短时间。编写完成后,放到应用服务器的指定路径下,比 如说w e b l o g i c6 1 就需要将j s p 放到b e a w l s e r v e r 6 i c o n f i g m y d o m a i n a p p l i c a t i o n s d e f a u l t w e b a p p 下。在第一次被客户端调用的时候,服务器自 动将其编译成s e r v e l e t 文件,保存在默认路径下,以w e b l o g i c 为例,保存 在b e a w l s e r v e r 6 1 c o n f i g m y d o m a i n a p p l i c a t i o n s d e f a u l t w e b a p p w e b i n f 一t m pw a r _ m y s e r v e r _ m y s e r v e r d e f a u l t w e b a p p j s p _ s e r v l e t 目录下。以 后客户端再访问它的时候,服务器自动检查j s p 文件是否更改,如果没有改 动,将仍然调用上次生成的s e r v e l e t ,因而,在第一次执行j s p 文件时速度 要稍微慢一些,以后速度就会比较快了。 2 2 2j s p 的生命周期 由于j s p 会被编译成s e r v l e t ,因此j s p 执行时期生命周期很类似 s e r v l e t 生命周期。下面首先介绍一下s e r v l e t 的生命周期。 2 2 2 1s e r v i e t 的生命周期 s e r v l e t 的生命周期开始于加载a p p l i c a t i o ns e r v e r 内存之时,结束 于终止或重新加载s e r v l e t 之时。 1 、实例化和起始设定 哈尔滨工程大学硕士学位论文 s e r v l e t 引擎( 处理s e r v l e t 和j s p 文件的w e b s p h e r e a p p l i c a t i o ns e r v e r 功能) 会建立s e r v l e t 的实例。s e r v l e t 引擎会建立 s e r v l e t 配置对象,并用它来传递s e r v l e t 起始设定参数给i n i t0 方法。 起始设定参数会持续到s e r v l e t 毁损为止,它们会套用到这个s e r v l e t 的 所有呼叫。如果起始设定顺利完成,s e r v l e t 便可以开始提供服务。如果起 始设定失败,s e r v l e t 引擎会卸载s e r v l e t 。w e b s p h e r ea p p l i c a t i o ns e r v e r 管理者可以将w e b 应用程序及其s e r v l e t 设定为无法提供服务。这时,w e b 应用程序和s e r v l e t 会维持不可用的状态,直到管理者将它们改成可用为 止。 2 、服务要求 首先w e b s p h e r ea p p l i c a t i o ns e r v e r 接收从属站要求。之后,s e r v l e t 引擎会建立一个要求对象和一个响应对象。s e r v l e t 引擎会呼叫s e r v l e t 的 s e r v i c e 0 方法来传递要求对象和响应对象。 图2 1s e r v l e t 的生命周期 s e r v i c e 0 方法会从要求对象中取得要求的相关信息,处理要求,再使用响 应对象的方法来建立从属站响应。s e r v i c e 方法也可以呼叫其它方法来处理 要求,例如:d o g e t 0 、d o p o s t 0 或自己撰写的方法a 3 、终止 s e r v l e t 引擎会呼叫s e r v l e t 的d e s t r o y ( ) 方法来停止s e r v l e t 。通 常,s e r v l e t 引擎会在停止s e r v l e t 所在的w e b 应用程序时,呼叫s e r v l e t 的d e s t r o y ( ) 方法。在s e r v l e t 的生命周期中,只能执行一次d e s t r o y 0 方法,且它会发出s e r v l e t 结束的信号。 在呼叫s e r v l e td e s t r o y 0 之后,s e r v l e t 引擎会卸载s e r v l e t ,最后, j a v a 虚拟机器会针对这个s e r v l e t 所关联的内存资源来进行内存回收的工 作。 2 2 2 2j s p 的生命周期 类似的,j s p 的生命周期也包括j s p i n i t 0 、j s p s e r v i c e 0 、j s p d e s t r o y ( ) 等三种方法。j s p 生命周期方法是根据j s p 状态从j s p 容器中调用的。在 j s p i n i t0 方法中可以嵌入代码,对资源进行划分,或者初始化j s p 的变量和 属性,例如可以打开数据库连接或打开文件。j s p s e r v i c e0 方法用来对客户 端的请求作出应答。客户端发出请求时,它将生成一个线程。j s p d e s t r o y ( ) 方法是退出j s p ( 主要是关闭服务器时) 调用的方法。j s p d e s t r o y 0 中的代码 是用来返回在j s p i n i t0 方法中开启的文件或数据库连接等资源的。 1 、产生和编译j a v a 原始档 当i b mh t t ps e r v e rf o ra s 4 0 0 收到对j s p 档的要求时,它会将这个 要求传到w e b s p h e r ea p p l i c a t i o ns e r v e r 的s e r v l e t 引擎,让该引擎呼叫 j s p 处理器。j s p 处理器是一个内部s e r v l e t ,可将j s p 档转换为j a v a 原 始码,再加以编译。j s p 0 9 1 a p i 所用的j s p 处理器是 p a g e c o m p i l e s e r v l e t 。而j s p1 oa p i 所用的j s p 处理器是j s p s e r v l e t 。 j s p 文件中的j s p 语法会转换为j a v a 码,此j a v a 码会加入所产生之 类别档的s e r v i c e 0 方法中。 2 、要求处理 j s p 处理器建立好类别文件之后,s e r v l e t 引擎会建立s e r v l e t 案例, 并呼叫s e r v l e t 的s e r v i c e0 方法来响应要求。所有后续的j s p 要求,都 由该s e r v l e t 的实例所处理。 当w e b s p h e r ea p p l i c a t i o ns e r v e r 收到对j s e 档的要求时,会检查看 看j s p 档自加载后是否有经过变更。如果j s p 档已经变更,w e b s p h e r e a p p l i c a t i o ns e r v e r 会将更新后的j s p 重新加载( 亦即,j s p 处理器会针 对j s p 档,产生更新的j a v a 原始档和类别档) 。刚加载的s e r v l e t 实例 会收到从属站要求 哈尔滨工程大学硕士学位论文 2 2 2 3 存取j s p 存取j s p 的方法有下面两种“3 。 1 、由浏览器传送对j s p 的要求。 图2 2 浏览器传送j s p j s p 会存取b e a n s 或是其它产生传给浏览器之动态内容的组件。当w e b 服务器收到对j s p 的要求时,它会把该项要求传给w e b s p h e r ea p p l i c a t i o n s e r v e r 。w e b s p h e r ea p p l i c a t i o ns e r v e r 会剖析j s p 和产生j a v a 原始档, 再编译它来当作s e r v l e t 加以执行。除非原始的j s p 已经更新,否则只有 第一次呼叫s e r v l e t 时,才会产生和编译j a v a 原始档。如果是原始的j s p 已经更新,w e b s p h e r ea p p i c a t i o ns e r v e r 会侦测到这项变更,然后再重新 产生和编译该s e r v l e t ,再加以执行。 2 、s e r v l e t 呼叫j s p 。 图2 3s e r v l e t 呼叫j s p 这项要求会传给产生动态
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年口腔颌面外科手术操作规范评定考核答案及解析
- 2025年康复医学运动处方设计与执行模拟试卷答案及解析
- 安全生产风险管理体系管理标准标识及可追溯性管理标准gcb+zhb
- 春天的早晨(15篇)
- 2025年心理科抑郁症评估与干预模拟考试答案及解析
- 2025年肿瘤内科化疗药物管理专项考察试卷答案及解析
- 2025年肾脏病学影像学诊断解读测试答案及解析
- 2025年消化内科疾病诊断评估模拟考试答案及解析
- 2025年心脏内科临床诊疗技术应用考核答案及解析
- 2025年临床检验科实验室检测误差分析答案及解析
- 外科面试题目及答案
- 翻越您的浪浪山新学期开学第一课+课件
- 《不懂就问》教学课件
- 重症肺炎的体位管理
- 2025年干粉砂浆添加剂市场需求分析
- 2025年国企应聘测试题及答案
- 《创新创业基础 第2版》 课件 第1章 认识创业
- 鼾症的健康讲座:认识、预防与治疗
- 学堂在线 极区航海导航保障 期末考试答案
- 音乐种类介绍
- 无人机培训招生宣讲
评论
0/150
提交评论