




已阅读5页,还剩52页未读, 继续免费阅读
(计算机应用技术专业论文)基于sca的自定义表单的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 在当前的企业应用过程中,数据的收集十分重要,而且数据收集的内容是 灵活多变的,有各种各样的表单需要最终用户填写。因此,若能实现一套用户 自定义的表单系统,并允许在需求变化之后,能对表单进行扩展及修改,它就 能将开发者从大量的简单逻辑的表单定制的编程工作中彻底解放出来,而且可 以提高系统的灵活性。 本文具体介绍了自定义表单的设计过程,采用了多层架构的实现方式,并 利用了目前最流行的轻量级j 2 e e 框架,有助于应用程序逻辑与底层技术之间的 分离,以及s o a 技术中的s c a 组件,提高了本系统的灵活性、可用性和易维护 性,这正是本文的创新点所在。 正文分为4 个主要的功能模块进行介绍:表单加载模块、表单解析模块、 表单数据处理模块和表单存储管理模块,其中包括了系统的流程图、需求分析 时各主要模块的用例图以及设计中的类图和时序图;之后将实现界面简单的展 示出来,验证了系统的有效性和实用性,突出了其代码重用性强,修改和维护 方便以及开发周期短等特点。 该系统支持多个模板设计,是个生成表单系统的雏形软件。若加上一个表 单设计器,就可算是一个比较完善的面向最终用户的自定义表单系统。 关键词:自定义表单;s o a 技术;s c a 组件 垒呈篁旦垦垒篁! _ _ - _ _ i _ _ _ _ _ - 一。 a b s t r a c t d a t ac o l l e c t i o ni se s s e n t i a l ,a n di t s c o n t e n ta n ds t y l ea r eq u i t ef l e x i b l ei n e n t e r p r i s ea p p l i c a t i o n s u s e r sa l w a y sn e e df u l f i l l v a r i o u sf o r m s a c c o r d i n g l y ,i fa c u s t o mf o 朋s v s t e mc a nb ea c c o m p l i s h e d ,a l l o w i n gt ob ee x t e n d e da n d m o d i f i e da f t e r d e m a n dh a sb e e nc h a n g e d ,t h e n ,i tw i l lr e s c u et h ed e v e l o p e r sf r o mam a s so fs i m p l e l o g i cw e bf o r mc u s t o m i z i n g ,a sar e s u l t ,t h es y s t e m w i l lb e c o m em o r ef l e x i b l e t h i sa r t i c l ei n t r o d u c e st h ed e s i g np r o c e s so ft h ec u s t o mf o r ms p e c i f i c a l l y ,w h i c h i su s e dt h em u l t i l a y e r e dc o n s t r u c t i o nt or e a l i z ei t ,a n di t u s e st h em o s tp o p u l a r l i g h t w e i g h tj 2 e ef r a m ep r e s e n t l yw h i c h i sh e l p f u lb e t w e e nt h ea p p l i c a t i o np r o g r a m l o g i ca n df i r s t f l o o rt e c h n o l o g ys e p a r a t i o n ,a n ds c am o d u l eo fs o a w h i c hc a i l e n h a n c et h i ss y s t e m ,sf l e x i b i l i t y , u s a b i l i t ya n de a s ym a i n t e n a n c e ,a n dt h i sp o i n ti st h i s a r t i c l e si n n o v a t i o n i l lt h et e x t t h ea u t h o rd i v i d e si ti n t o4m a i nf u n c t i o n a lm o d u l e s :l o a d i n gm o d u l e , a n a l y s i sm o d u l e ,d a t ap r o c e s s i n gm o d u l ea n d s t o r em a n a g e m e n tm o d u l e t h ed e s i g n i n c l u d e st h es y s t e m ,sf l o wc h a r t ,u s ec a s ed i a g r a mo fe a c hm a i nm o d u l e s d e m a n d a n a l y s i sa n dc l a s sd i a g r a ma n dt i m es e q u e n c ed i a g r a mo f t h ed e s i g n i n g a f t e r w a r d , s h ew i l ld e m o n s t l a t et h ec o n t a c ts u r f a c es i m p l y ,w h i c hv e r i f i e st h es y s t e m sv a l i d i t y a n du s a b i l i t y , a n dh i g h l i g h t st h ec o d er e u s a b l e ,e a s yr e v i s i o na n dm a i n t e n a n c e ,s h o r t d e v e l o p m e n tc y c l ea n d s oo n t h i ss y s t e ms u p p o r t sm a n yt e m p l a t ed e s i g n s ,s ot h a ti ti se m b r y o n i cs o f t w a r eo f t h ep r o d u c i n gc u s t o mf o r ms y s t e m i fi t a d d saf o r md e s i g nw h i c hi sb a s e do n v i s u a l i z a t i o n ,i tm a yb eaq u i t ep e r f e c tc u s t o mf o r ms y s t e mf a c i n gt ot h e e n d u s e r s k e yw o r d s :c u s t o mf o r m ;s o at e c h n o l o g y ;s c ac o m p o n e n t i i 学位论文独创性声明 学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导f 进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得南昌大学或其他教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确 的说明并表示谢意。 学位论文作者签名( 手写) :公 茎签字日期:埘年,明哆e l 学位论文版权使用授权书 本学位论文作者完全了解直昌太堂有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权直昌太堂可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编本学位论文。同时授权中国科学技术信息研究 所将本学位论文收录到中国学位论文全文数据库,并通过网络向 社会公众提供信息服务。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:公也 导师签名:烈政沁 签字日期:洲年,2 月j ;e t签字e l 期:刎占年,参月) 多e l 筇1 錾引言 第1 章引言 1 1 开发背景及问题 随着计算机技术和网络技术的迅速发展,人类社会逐步进入了信息时代, 人们的生活、学习和工作方式都发生了很大的变化。以前的很多事物,现在都 出现了相应的“电子化”产物,电子邮件、电子词典、电子政务等等。这种“电了 化”的好处非常明显,高效率、低成本,因而政府以及企事业单位在网络办公、 信息的网络采集与反馈、信息智能处理等方面的需求也越来越大。而目前信息 获取方式有众多的不足,因此,如何获取及时而准确的高质量信息是政府部门 与企事业单位极为关注的事情,各个部门对此相应投入的人力、物力也在不断 的增加。其相应的大大促进了对电子表单管理系统的需求。 表单是各种表格、票据和报表的统称。各行各业,包括政府机构、医院、 银行、制造型企业等等都需要设计和生成各种各样的表单。表单在社会大生产 当中扮演着非常重要的角色。 早在上个世纪9 0 年代,电子数据交换( e d i ,e l e c t r o n i cd a t ai n t e r c h a n g e ) 就以其特有的简洁、高效和安全特性引起世界各国的高度重视,被认为是提高 工作效率、服务质量和企业竞争能力的强有力手段。e d i 旨在实现表单传送的电 子化,所以有人称e d i 为无纸化贸易。使用电子表单的同时仍然需要纸张表单 辅助,只是纸张表单从先前的主要或唯一的地位,下降到次要和辅助的地位。 也就是说,e d i 最重要的意义不在于节约纸张,而在于其快速、避免重复劳动、 提高效率、节约成本等方面,因此e d i 技术的实质是强调快速传输、节约劳动, 从而提高效率和节约成本。【l l 1 1 1 目前信息获取方式的不足 目前大多数信息的获取主要采用两种方式,分别是基于传统的纸张表单信 息获取模式和针对每次使用表单编写程序代码的通用电子表单信息获取模式。 但二者都有其各自不足: ( 1 ) 传统纸张表单信息获取模式 传统纸张表单信息获取模式,包括三个主要过程:纸张表单的印刷、纸张 第1 章引言 表 丫1 的数据采集和纸张表单的数据处理与存储。其存在的主要不足如f i l l : 1 利于信息的采集和传递; 办理跨部门、跨地区的业务流程时是很困难的: 不能满足当今信息化时代的要求; 将信息重新录入到计算机系统浪费人力; 分布式采集数据的安全性控制不严格。 ( 2 ) 通用电子表单信息获取模式 现阶段国内电子表单是针对每次使用的电子表单,采用编写程序代码的模 式来开发表单和获取信息。其存在的主要不足如下: 表单需求量大的时候,难于应付解决; 对表单种类、样式、格式多样性要求难于满足; 信息采集低效和信息可复用程度低下; 表单数据与后台数据库结合时,不能很好的实现表单数据处理自动化。 要解决上述问题的有效途径就是建立一个科学、有效、智能化的电子表单 开发管理平台。 1 1 2 电子表单的定义 通常电子表单技术的含义为“获取、存储、处理、保密、安全、传输、显示 有关表单信息的技术 ,此技术也可以理解为一个系统框架,其包括以上的系统 功能,同时又强调和其它系统集成的重要性。目前对电子表单技术的含义还没有 完全统一,比较通用解释是在电子表单的含义基础上更强调对电子表单开发与对 电子表单获取信息处理的自动化和半自动化,以及与其他系统的集成。 电子表单是个面向开发人员和终端用户的电子表单系统,它基于j 2 e e 体 系架构、以x m l 技术为主、跨平台并支持与多种关系数据库的交互。本系统支 持常规的表单控件,能满足基本的表单应用场景,且使用非常方便,能够高效 的帮助用户进行电子表单应用的开发。 1 2 表单研究与发展现状 1 2 1 国外电子表单研究与发展现状 目前代表国外电子表单研究主流方向的是r e l e v a n tp o w e r 公司的r e l e v a n t 2 芽;l 牵 引言 t o o l s ,d b n e t l i n k 公司的d b n c t l i n k ,i b m 公司的x f o r m s 以及微软公司的l n f o p a t h 等。其实,电子表单作为一种新型的表单申报处理方式,由于其高速、快捷等 特点,较早被西方发达国家广泛采用。例如,美国、澳大利亚等国家从9 0 年代 开始将电子表单大量应用到各个领域。之所以很长时间没有研究出适合中国的 产品,主要原因是对于电子表单的理解国外与国内有着很大的差异。体现如下【1 1 : 国外电子表单对表格的要求远不及国内对电子表单的表格要求严格,甚 至没有表格的电子表单也很普遍; 国外对电子表单对印章几乎没有要求,而国内对电子表单的印章有严格 的要求; 国外对电子表单的数字签名比较注重,而国内起步相对较晚。 其中,r e l e v a n tt o o l s 和d b n e t l i n k 对国际化的支持等方面很不成熟;微软公 司的i n f o p a t h 对其相关o f f i c e 系列软件及i e 浏览器都提供了良好的支持,而且 保持了其o f f i c e 系列软件的优秀的图形用户接口,不过其生成的表单很难进行 进一步的编程控制,而且其c s 软件的本质也限定了它与其它已有模块的集成; x f o r m s 虽然是电子表单的国际标准,但因目前需要浏览器的支持,还没有大范 围普及。嘲 1 2 2 国内电子表单研究与发展现状 目前国内有一些正在进行相应的智能电子表单系统的研究开发工作,虽是 针对一般的表单,但大多都是对某一专业的应用领域,专业性比较强,通用性 不够。 如果用户只是单独使用电子表单设计器,虽然可以将电子表单的数据提取 出来,但其数据格式是表单设计器的特有的格式。用户无法再次的对数据进行 利用。只有安装了表单服务才能将收集到的数据进行后端处理和相应的网络化 的数据采集。 1 2 3 本文对电子表单的研究 本论文根据以上一些表单的特点,采用了最新的s o a 技术的s c a 组件,用 于表单的解析引擎,负责各解析器的集成和配置,于是提出了相应的设计方案 基于s c a 的自定义表单的设计与实现。 3 第1 章引言 1 3 主要研究内容 本文基于目前国内外先进的智能电子表单系统的技术和思路,并结合实际 需求,提出了自己的智能电子表单解决方案。本文对整个系统的设计思想和目 标都给予了描述和说明,主要部分都进行了程序验证。基于w e bs e r v i c e s 的s o a 的体系架构并将x m l 这一网络新兴技术应用于系统中,结合b s 网络结构,遵 循m v c 架构模式着眼于系统的通用性与扩展性。解决了目前表单生成系统专业 性过强,通用性不够的矛盾。 本文主要从以下几个方面介绍课题的研究成果: 第一章:阐述了设计该系统的原因和相关的研究内容。 第二章:介绍了表单的相关知识与实现所需要的技术。 第三章:对系统进行需求分析,将不同执行者的用例进行详细介绍。 第四章:对系统进行了分析并给出系统架构设计和目标,完成了总体设计 部分,并研究了该表单系统的几个主要模块的功能,包括表单加载模块、表单 解析模块、表单数据处理模块和表单存储管理模块。 第五章:给出详细的流程图,对整个系统的运转做了大概的介绍;并对各 个功能模块的设计进行阐述,包括时序图和类图设计,以及开发过程中主要的 配置文件。 第六章:将表单的定义过程和简单的操作过程通过图片演示出来,使功能 清晰明了。 第七章:对本文所作的主要工作进行了总结,并展望了与本文研究工作相 关的有待于进一步研究的技术前沿。突出本课题的创新点,并在此基础上点名 该创新的优点。 4 第2t & j 知谚l 与实现技术 第2 章表单知识与实现技术 2 1 表单基础知识 简单来讲,电子表单就足将以6 订用纸作为媒介来表达的信息,改用一种电 子格式来表达,这种电子格式的信息表达就是电子表单。电子表单是企业进行 电子贸易的关键技术。本文作者认为,电子表单可分为两大类: 交换流通型表单,如各种电子票据( e l e c t r o n i cb i l l ) ; 数据分析型表单,如各种电子报表( e l e c t r o n i cr e p o r t ) 。 前者是订单、账单、支票、批文等现流通票据的电子形式,后者是企业各 种统计表单的电子形式。 电子票据的设计以业务类型为中心,除了合理的业务数据结构之外,往往 还需要一个复杂的样式来展示给客户。除此之外,电子票据的安全性也是至关 重要的,具体说来包含两个方面内容: 票据的内容是否确实; 签发票据的当事人是否承诺此内容。 若不解决这两个问题,那么当出现篡改、冒充、赖帐等欺诈行为将无法辨 明是非,电子票据也只能是空谈。解决此问题的方法就是使用基于p k i 标准的 安全签名签章产品,保证数据填写的安全性。 2 2 实现技术 2 2 1s o a ( s e r v i c e o r i e n t e da r c h i t e c t u r e ,面向服务架构) 创新就是为了尝试新事物而进行变革的过程,面向服务架构使得变革更加 容易。 传统的i t 网络p c 是通过硬件、软件和网络的连接互相结合在一起的,每 个组件都严格集成,所以,要想实施变革是件很困难的事情。如果采用面向服 务架构,架构将由易于装配和灵活重新配置的组件构成f 3 1 。 如下图所示,描述了企业架构的演变过程( 4 】o 5 第2 章表单知讽与实现技术 p l e l 9 砷s l 9 7 0s 1 0 1 9 d 0 s 1 0m i d l 9 9 0 1 t o l a t e t 0 1 9 6 0 s m l 1 1 9 8 0 sm i d l 帕0 s e a r l y 2 啪。, 1 蛳 图2 1 企业架构的演变过程 面向服务架构提供了轻松变革的灵活性,而该变革能力正是使得业务能够 不断创新的源泉。 s o a 是一种对应用程序开发、整合的架构和设计原则。它是由多层组成的, 核心是服务,而组件是用于实现这些服务和服务流的,如下图所示【4 l 。 图2 2s o a 架构层 6 笫2 - & 卟“u jj 宾现技术 以前,企业经常遇到n 多令人头疼的问题,例如:需求一旦变化,项目 就要重来:连接脆弱,信息孤岛,难以整合;系统越来越复杂等,这样不仅重 复了许多相同或类似的工作,还浪费了企业的人力财力,得不偿失。而如今, 这些问题都可以由s o a 架构迎刃而解【3 ”。 由于s o a 拥有以下三大价值: ( 1 ) 最大程度的满足易用变化的业务模式; ( 2 ) 实现企业业务流程的整合; ( 3 ) 与合作伙伴、客户、厂商实现业务整合: 因此,s o a 可以实现可变的r r 架构,如下图所示【4 】。 闰2 3 实现可变的r r 架构 2 2 i 1s c a ( s e r v i c e c o m p o n e n t s a r c h i t e c t u r e ,基于服务的构件架构) s c a 为构建应用和基于s o a 的解决方案提供了编程模型。它基于将业务功 能提供为一系列的服务,并由这一系列的服务组装起来从而满足特定业务需求 的理念。s c a 是一个致力于为服务组件以及连接各服务组件访问方式的包含各 种广泛技术的模型。对于组件,不仅仅只是不同的编程语言,还包括那些编程 语言普遍使用的框架和环境。对于访问方式s c a 复合组件允许使用各种通讯 以及广泛采用的服务访问技术,其中包括w e bs e r v i c e s 、m e s s a g i n g 系统以及远 程过程调用( r p c ) 技术等。i ” 在本系统中,它主要用于表单的解析弓j 擎,负责各解析器的集成和配置。 服务组件提供给别的服务调用的入口叫i n t e r f a c e ( 接口) 。而服务组件本身 批2 章丧单j _ l i 识与实现技沭 可能也需要凋玎 别n 0 服务,这个碾用出口叫r e f e r e n c e ( 引用) 。无沦足拨还足 引用,其调用规范足w s d l 或j a v a 接口。 这里提到的s c a 服务组件有别于传统组件体现在阻”: ( 1 ) 服务组件往往是辊粒度的,而传统组件以细粒度居多: ( 2 ) 服务组件的接口是标准的主要是w s d l 接口,而传统组件常以其体 a p l 形式出现: ( 3 ) 服务组件的实现与语言是无关的,而传统组件常绑定某种特定的语占: 下图展示的足s c a 服务组件的接口模型。 i 如 1 1 己 s c a i e 蜘f f 1l 图2 4 s c a 服务组件的接口模型 服务模块( 简称模块) 由一个或多个具有内在业务联系的服务组件构成。 用户实际的应用经常是比较复杂的,因此实际的应用通常需要多个模块才能满 足要求,而且这些模块之间又往往存在相互调用的关系。而要把多少个服务组 件放在一个模块中,或者把哪些服务组件放在一起,则主要取决于业务需求和 部署上灵活性的要求。 另外横块中服务组件除了调用别的服务组件之井,也需要调用已有的一些 应用或者是让一些已有的应用来调用模块的服务,而这些应用可能不是基于 s c a 架构的。为了解决上述问题,在模块中引入了两个特殊的“端点”,一个是 导入( i m p o r t ) ,它的作用是使得模块中的服务组件可以调用模块外部的服务; 另一个是导出( e x p o z t ) ,它的作用是使得模块外部的应用可以调用模块中的服 务组件。 匝匿 第2 章表单知i i 【 ,吱班坎术 t 厦; 横块 ;:吲 黑 e 图2 5s c a 总览酗 上图所示的是由以上介绍的几个概念所组成的s c a 模块总览图。 s c a 有几个主要特征,包括c o m p o n e n t ( 组件) 、s e r v i c e s ( 服务) 、p r o p e r t i e s ( 属性) 、i m p l e m c n t a s o n ( 实现) 和r e f e r e n c e s ( 引用) 。如下图所示,说明了s c a 组件各特征之间的关系: 幽2 6s c a 组件的特征关系 9 筇2 章太巾) :u 谚l j 实现技术 s c a 的基础工件就是c o m p o n e n t ,它足s c a 的构成单元。组件( c o m p o n e n t ) 由一个配置化的实现( i m p l e m e n t a t i o n ) 实例所组成,在该组件中,实现是提供 业务功能的程序代码片段。该业务功能作为服务( s e r v i c e ) 来提供,为其他组件 所使用。实现也许依赖于由其他组件所提供的服务,而这些依赖被称作“引用” ( r e f e r e n c e ) 。实现可以有一个可设置的属性( p r o p e r t i e s ) ,该属性是可以影响业 务功能操作的数据值。组件通过提供属性值和连线( w i r e ) 由其他组件提供的服 务引用来配置实现。 以上涉及到s c a 的几个概念5 心一1 : ( 1 ) s e r v i c e s c a 服务用于声明一个实现的外部可访问的服务。对于一个复合组件,其 服务一般由其内部的一个组件服务提供,或由此复合组件定义的一个引用提供。 后者情况允许一个带有新地址或新绑定机制的服务的重新公布。服务可以认为 是外部客户端进入一个复合组件或实现的一个点。 服务象征一个实现的操作集合,设计这些操作集合暴露给其它实现使用或 公开地暴露给其它地方使用。服务可以作为s c ar e m o t es e r v i c e s ,w e bs e r v i c e s , s t a t e l e s ss e s s i o ne j b s 以及e i ss e r v i c e 等等来提供。 ( 2 ) r e f e r e n c e s c a 引用描述了一个实现对由某个其它实现所提供的服务的依赖,而这个 被使用的服务,是通过配置来指定的。 复合组件的引用可以被该复合组件中的组件访问,就像是访问复合组件中 组件所提供的任意服务。在配置组件时,复合组件的引用可以用作组件引用连 线的目标。复合构件的引用可以用于访问服务。 ( 3 ) p r o p e r t y 属性允许通过外部设置的数据值以配置实现。通过组件提供数据值,也可 能源自此组件的上层复合组件的属性。每个属性都是由实现定义的,既可以直 接通过实现语言定义,又可以通过实现的注解定义( 当然要实现语言支持注解) 或通过一个c o m p o n e n tt y p e 文件定义。 ( 4 ) c o m p o n e n t s c a 组件是s c a 实现的配置化实例,其提供服务和消费服务。 组件有一个实现( 此组件就是该实现的实例) 的引用、一系列属性值以及 一系列服务引用值。属性值定义了由组件的实现所定义的属性值。引用值定义 1 0 第2 章表单知识一。实现技术 了解析组件引用( 其实现定义的引用) 的服务。这些值要么足一个特定组件的 一个服务,要么是其上层复合组件( 指包含此组件的复合组件) 的一个引用。 ( 5 ) i m p l e m e n t a t i o n 组件实现是提供服务或引用其他地方所提供的服务的业务功能的具体实 现。s c a 允许从广泛的实现类型中选择任何一种技术,比如j a v a 、b p e l 或c h 。 每种类型都代表了特定的实现技术。该技术不仅仅定义简单的实现语言,如j a v a , 而且也可以定义使用某个特定的框架或运行时环境。例如包括使用s p r i n g f r a m e w o r k 或j a v ae ee j b 技术的j a v a 实现。 s e r v i c e ,r e f e r e n c e 和p r o p e r t y 是实现的可配置的部分。s c a 将它们全体作为 c o m p o n e n tt y p e 。一个c o m p o n e n tt y p e 由提供的服务、被连线的对其他服务的引 用以及可设置的属性组成。使用了该实现的组件用其来配置可设置的属性以及 可设置的对服务的引用。 下图展示的是组件与实现之间的关系。 图2 7c o m p o n e n t 与i m p l e m e n t a t i o n 之间的关系 ( 6 ) c o m p o s i t e 一个s c a 复合组件是s c a 域中组合的基本单元。s c a 复合组件是一个组件、 服务、引用以及内连它们的连线的集合体。 下图展示了使用一系列组件组装的复合组件的某些特征: 新2 一:卜* i 改与实现技术 幽2 8 复合组件的特征 s c a 允许各种广泛采用的实现技术,包括传统的编程语言,如j a v a ,c , b p e l ,也包括脚本语言,如p h p ,j a v a s c r i p t ,还包括声明性语言,如x q u e r y 和s q l 。每种类型都代表了特定的实现技术。该技术不仅仅定义简单的实现语 言,如j a v a ,而且也可以定义使用某个特定的框架或运行时环境。例如包括使 用s p r i n gf r a m e w o r k 或j a v ae ee j b 技术的j a v a 实现。 由此可见,s c a 提供了一种统一的面向服务组件的调用方式,从而使得客 户可以把不同的软件模块通过服务组件的标准化而统一地封装起来和被调用访 问,大大地简化了客户的业务逻辑编程,极大提高了应用的灵活性。 2 2 1 2 服务数据对象( s d o ) s c a 中的一个关键推动因素是s d o ,它用于表示业务数据、参数以及服务 调用的返回值,当遍历服务网络时,它还是一种表示数据的方式。 s d o 为数据应用程序,r 发提供了统一的框架允许处理来自多种数据源的 数据,其中包括关系数据库、实体f i b 组件、x m l 页面、w e b 服务等。 s d o 还能实现多种操作如下所示: ( 1 ) 简化j 2 e e 数据编程模型; ( 2 ) 抽象面向服务体系结构( s o a ) 中的数据; ( 3 ) 统一数据应用程序的开发 刊辫 蕞鞴遴 一翟盛。一一 低沌越黑遵搦 第2 承袅单知识与实现技术 ( 4 ) 支持和且i j j 蔓x m l 。 如下图所月i ,胜乐rs d o 与d a t a a c c e s s s e r v i c e 之间的关系1 5 ” 谤7 一 图2 9 s d o 与d a t a a c c e s ss e l w i c e 之间的关系 2 2 1 3w e bs e r v i c e s 技术 w e bs e r v i c e s 是s e r v i c e s 的一种实现方式。它把一切都看作服务,这种服务 可以在网络上通过消息传递机制动态地披发现、组织和重用。w 曲s e r v i c e s 对外 封装成由w s d l 描述的服务,屏蔽了业务逻辑的复杂性、实现技术的多样性和开 发平台的异构性。w e bs e r v i c e s 的核心协议主要有s o a p ,w s d l 和u d d l 。s o a p ( s i m p l eo b j e c ta c c e s sp r o t o c 0 1 ) 是一个轻型的简单协议,即通过h t t p 等协议传 送x 3 v l 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 ) 借助x m l 文档来描述 一个w e bs e r v i c e sj t 务描述服务提供的功能和所接受的数据格式。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 nr e g i s t r y ) 规范用于描述某项业 务的商业结构,u d d i 框架是一个企业可以注册其w e bs e r v i c e s 并查找其他w e b s e r v i c e s 的数据库集合,应用程序使用s o a pa p i 来读取或提供与u d d i 相关的 w s d l 文档。w e bs e r v i c e s 采用面向对象的开发技术,用j a v a 对象或者e j b 组件实 现w e bs e r v i c e s 的处理逻辑”j 。 w e bs e r v i c e s 可以分为三个角色:提供者、请求者和代理。提供者建立w e b s e r v i c e s 并可以提供给请求者使用:请求者足消费w e bs e r v i c e s 的客户应用程序, 第2 章表年知谚! j 实j 见技术 被请求的w e bs e r v i c e s 同样可以是另+ 个w e bs e r v i c e s 的客户;代理提供了提供 者和请求者之间交互的途径。提供者、请求者和代理之间通过发布、寻找和绑 定来进行交互。提供者通过代理的发相接口来通知代理它可以提供一个已有的 w e bs e r v i c e s j 艮务,发布的信息对这个w e bs e r v i c e s 进行描述并指出它的位置。 请求者询问代理来定位已发布的w e bs e r v i c e s ,通过代理获得的信息使它能够绑 定和调用w e bs e r v i c e s 。下图就展示了这三者之间的关系: s e r v i c er e g i s t r y s e r v i c ec o n s u m e rs e r v i c ep r o v i d e r 图2 1 0 w e bs e r v i c e s 中角色之间的关系 2 2 2x m l 技术 2 2 2 1x m l x m l 是e x t e n s i b l em a r k u pl a n g u a g e ( 可扩展标记语言) 的缩写。1 9 9 6 年 1 1 月,波士顿s g m l 年会上,新的数据描述语言x m l 公布于世,并向w 3 c 正 式提案。w 3 c 组织于1 9 9 8 年2 月正式发布了关于x m l 的标准。其目的不仅在 于满足不断增长的网络应用需求,同时还希望借此能够确保在通过网络进行交 互合作时,具有良好的可靠性与互操作性。 与h t m l 一样,x m l 也源自s g m l ( s t a n d a r dg e n e r a l i z em a r k u pl a n g u a g e ) 。 顾名思义,s g m l 是一种用标记来描述文档资料的通用语言,它包含了一系列 的模式( 简称s c h e m a ) 。s c h e m a 中定义了标记的含义,因而s g m l 的语法是 可以扩展的。s g m l 十分庞大,既不容易学,又不容易使用,在计算机上实现 也十分困难。而x m l 充分发挥了s g m l 的优越性,既具有可扩展性、结构性 及可校验性,又弥补了h t m l 的不足。与此同时x m l 在采用简单、柔性的标 准化格式表达和在应用问交换资料方面迈出了一大步。 x m l 主要有三个要素:s c h e m a ( 模式) ,x s l ( e x t e n s i b l es t y l e s h e e tl a n g u a g e , 1 4 筇2 帮& 瞥) = 1 1 识j 实现技术 可扩展样式语言) 和x l l ( e x t c n s i b l el i n kl a n g u a g e ,可扩展链按语言) 。 1 2 - 1 6 1 j a v a 是可移植的代码,x m l 是可移植的数据。x m l 从一开始就和j a v a 在 一起,j a v a 提供了一套完整的a p i 集合,使得x m l 可直接在j a v a 代码中使用。 这两种技术都是很好的技术,但是都有各自的局限性。j a v a 要求开发者自行安 排网络数据格式及其表示形式,并不把内容层和表示层真正分离,x m l 只是元 数据,如果脱离了类似解析器和x s l 处理器这样的程序,也就没有用了,当j a v a 和x m l 结合使用后,就互相弥补了不足,发挥极其强大的威力,应用程序和数 据会更加可移植,会被大量的使用f l6 1 。 2 2 2 2s c h e m a x m ls c h e m a 是w 3 c 的推荐标准,于2 0 0 1 年5 月正式发布,经过数年的 大规模讨论和开发,终于最终奠定下来,使得x m l 建模有了一个国际标准。x m l s c h e m a 一经确定下来,立刻成为全球公认的首选x m l 环境下的建模工具,已 经基本取代了d t d 在x m l 刚成为w 3 c 推荐标准时的地位。由于x m l 是s g m l 的一个子集,因此它也继承了s g m l 世界中用于建模的d t d ,当时使用d t d 的好处是可以利用大量的在s g m l 世界中现有的d t d 工具,使得开发应用代价 维持在一个相对较低的水平。 s c h e m a 规定了x m l 文件的逻辑结构,定义了x m l 文件中的元素、元素的 属性以及元素和元素的属性之间的关系,它可以帮助x m l 的分析程序校验x m l 文件标记的合法性。模式规定了在文档中能够使用的元素和属性,以及这些对 象与文本内容的可能组合方式。与x m ld t d ( 文档类型定义) 相比,x m l 提 供了丰富的内建数据类型、对名字空间的支持和数据完整性约束。x m l 模式允 许对内建数据类型进行扩展,定义用户自己的数据类型,基本上满足了关系模 式在数据描述上的需要,比x m ld t d 更适合描述关系数据。此外,x m l 模式 也是用x m l 语言描述的,与d t d 相比模式本身更容易验证。x m l 的上述特点 使得它比d t d 具有更强大的描述能力,能够满足不同应用的需要【l 。 x m l 解析器是x m l 应用程序中最重要的一层,它处理并检查一个原始 x m l 输入文档,以保证文档是符合格式要求的,并且如果引用了一个d t d 或 模式,它将能够保证文档的有效性。文档经解析器处理后将产生一种基于j a v a 的数据结构,以易于被其它x i v l l 工具或j a v aa p i 操作和处理。 1 5 第2 章表单知谚 与实现技术 2 2 3j 2 e e 体系平台 2 2 3 1j a v a 技术 j a v a 是一种面向对象的程序设计语言,具有五个比较重要的特性,从而决 定了它是开发多平台应用系统的首选语言。作为一种比较纯粹的面向对象的技 术,在不同的领域中,如设备、移动通信、企业应用等,引发了一场新型的程 序设计模型和方法的革命,应该说,正式j a v a 的出现,才真正的将面向对象技 术的应用发挥到了淋漓尽致的地步。在系统的实现过程中,之所以选择j a v a 作 为丌发语言,主要是考虑到j a v a 的技术特性适用于企业应用开发,特别是服务 器端的应用开发的特性。总的来说,j a v a 作为应用程序的开发语言主要具有以 下几个特性【18 1 。 平台无关性和分布式 平台无关性是指j a v a 能运行于不同的平台,j a v a 引进虚拟机原理,运行于 虚拟机。j a v a 的数据类型与机器无关,j a v a 虚拟机( j a v av i r t u a lm a c h i n e ) 建立 在硬件和操作系统之上,实现j a v a 二进制代码的解释执行功能,提供不同平台 接口的交互。j a v a 建立在扩展t c p i p 网络平台上。库函数提供了用h t r p 和f t p 协议传送和接收信息的方法。从而使用网络上的文件和使用本机文件一样容易。 安全性 j a v a 舍弃了c + + 的指针对存储器地址的直接操作,程序运行时内存由操作 系统分配,这样可以避免病毒通过指针侵入系统。j a v a 对程序提供了安全管理 器,防止程序的非法访问。 可重用性 代码的重用程度是衡量系统可复用程度的重要指标。实现代码的重用,一 种是将应用程序的业务要求分解成不同的组件,另一种则是采用面向对象技术 来封装共享的功能。j a v a 语言具备了这两种优点,同时j a v a 的企业版也提供了 对组件重用的支持。 2 2 3 2j 2 e e 体系 o j 2 e e 简述【1 9 1 j 2 e e ( j a v a2e n t e r p r i s ee d i t i o n ) 是s u n 公司提出的用于建立服务器端应用 程序的一种系统平台规范。j 2 e e 提供了一个企业级的计算模型和运行环境用于 开发和部署多层体系结构的应用。它通过提供企业计算环境所必需的各种服务, 使得部署在j 2 e e 平台上的多层应用可以实现高可用性、安全性、可扩展性和可 16 第2 章l :尊知l 识j 实现技术 靠性。它的优越性在于:计算平台支持j a v a 语言,使得基于j 2 e e 标准开发的应 用可以跨平台地移植;j a v a 语言非常安全、严格,这使开发者可以编写出非常 可靠的代码;j 2 e e 提供了企业计算中需要的所有服务,而且更加易用;j 2 e e 中 多数标准定义了接口,例如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 ) 、j d b c 、 j a v a m a i l 等,因此可以和许多厂商的产品配合,容易得到广泛的支持;j 2 e e 树 立了一个广泛而通用的标准,大大简化了应用开发和移植过程。 组件技术【2 0 】 这些技术用来保持应用程序最重要的部分业务逻辑。组件中有三种类 型:s e r v l e t 、j s p 和e n t e r p r i s ej a v a b e a n s ,表单服务与管理系统是基于w e b 的应 用系统,构建在j 2 e e 平台之上,主要使用了j 2 e e 体系中的w e b 组件( j s p 、 s e r v l e t ) 、a p p l e t 组件、e j b 组件,下文简单介绍w e b 组件中的s e r v l e t 和j s p 组件。 s e r v l e t 是实现动态内容的一种简便的、平台独立的、w c b 服务器方式独立 的组件,是建立基于w e b 的应用程序接口的基石。s e r v l e t 是服务器端组件,允 许应用程序逻辑嵌入到h t t p 请求中。本质上来说,s e r v l e t 是一个j a v a 类,运 行于由s e r v l e t 引擎所管理的j a v a 虚拟机中,被来自w e b 客户机的请求所唤醒 并用来处理请求,这种机制和c g i 有些类似。然而与c g i 不同的是,c g i 需要 为每个请求创建一个新的进程,在请求响应完毕后删除这个进程,而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 与c g i 在性 能上本质的区别。因为s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 无领导面试真题及答案
- 2025新企业合同管理规范
- 新质生产力驱动经济增长路径
- 云南2025中考数学试卷及答案
- 新质生产力与工程建设
- 制造业新质生产力国企
- 2025【合同范本】折扣形式销售合同
- 通信管道顶管施工标准
- 教师招聘在线题库及答案
- 物理力学专项题库及答案
- 教学能力比赛现场决赛30道答辩问题要点
- 2025-2030中国卫星通信行业发展分析及投资价值预测研究报告
- 法拍房委托服务协议书范本
- 事故隐患内部报告奖励制度
- 七年级体育 运动损伤的预防和处理说课稿
- 2025年度人工智能辅助医疗合作协议范本模板4篇
- 2025年青海省农商银行农信社系统招聘笔试参考题库含答案解析
- GB/T 15561-2024数字指示轨道衡
- 2025新人教版英语七年级下不规则动词表
- 2025年江苏省常州市中考作文解析和范文
- 办公用品供货服务计划方案
评论
0/150
提交评论