




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要 摘要 五澡题实现的目的是为航空公司机务维修部门提供机务信息化辅助系统。系统完成 及实际应用后,可使机务人员方便、及时、准确地得到所需机务维护的正确信息,以 保证飞行安全,提高经济效益。 砰论文主要探讨了在i n t e r n e t i n t r a n e t 环境下,三层多层开发思想在企业应用 开发过程中的发展过程及由之产生的相关技术,包括j 2 e e ,w e bs e r v i c e 等。论文亦 给出了三层,多层开发模式在本课题从需求分析到详细设计的整个过程中的具体运 用。通过对三屡多层开发模式的理论分析及实践,证明了该思想对机务信息化的开 发具有很好的应用价值。 关键词:机务、三层多层模式、j 2 e e 、w e bs e r v i c e - _ - _ 一,_ 。- _ 、_ - - - i - _ _ _ _ 一 a b s t r a c t t h i sp r o j e c tm a i n l y p r o v i d e sa t la i r c r a f tm a i n t e n a n c ei t b a s e d a u x i l i a r y s y s t e m f o ra i r c r a f tm a i n t e n a n c ed e p a r t m e n t so f a i r l i n e t h i ss y s t e mc a ne a s i l y p r o m p t l y a n d a c c u r a t e l yp r o v i d et h er i g h ti n f o r m a t i o nf o ra i r c r a f t m a i n t e n a n c ew o r k e r st oa s s u r et h eo p e r a t i o no fa i r l i n e t h i st h e s i s a n a l y z e st h ed e v e l o p m e n to f3 - t i e r m u l t i t i e rm o d e lw i t h e n t e r p r i s e a p p l i c a t i o n o n i n t e r n e t i n t r a n e t ,a n di n t r o d u c e ss o m e t e c h n o l o g i e sb a s e do n3 - t i e r m u l t i t i e rm o d e l ,i n c l u d i n g7 2 e ea n dw e bs e r v i c e t h e ni ti n t r o d u c e st h ei m p l e m e n t a t i o no ft h i ss y s t e m t h r d u g ht h a t ,i tp r o v e s t h ee x c e l f e n c eo f3 - t i e r m u l t i - t i e rm o d e l k e y w o r d :a i r c r a f tm a i n t e n a n c e 、3 - t i e r m u l t i - t i e rm o d e l 、j 2 e e 、w e bs e r v i c e 南京航空航犬人学颂e 学位论文 1 1 概述 第一章绪论 在民用航空领域,随着航空公司的运营范围不断扩大,航线及经停航站的经常变 更,如何有效地对飞机进行及时的异地维护及排故,使飞机正点、安全飞行,是提高 航空公司效率和声誉,降低航空公司运行成本,使其在航空市场的竞争中处于不败之 地的关键所在。为此我们建立了机务信息化辅助系统,以完成机务维护的规范化,提 高航空公司飞机运行的安全性和经济性。同时系统的开发采用多层开发思想及技术, 为今后整个机务信息化的后续开发探索新的手段及途径,以实现信息技术与机务管理 的紧密结合,使信息技术在机务维修等领域发挥更多,更好的作用。 1 2 开发背景 通过对东航安徽分公司飞机维修工程部的调研,根据该部门的实际工作流程及目 前信息技术的发展,参考当前国内外机务管理的现状,提出了针对机务管理和飞机维 护实现信息化的开发方向。 从国内航空公司目前的情况来看,计算机管理信息系统在营运、财会及人事管理 等部门已得到广泛应用,但在飞机维修工程部门,针对机务管理和飞机维护的计算机 应用尚处于起步阶段,许多项目有待开发,本课题研究的指导飞机维护人员进行正确 操作的机务信息化辅助系统就是其中重要的项。 东航安徽分公司目前拥有九架m d 一9 0 飞机。因为种种原因,包括飞机维护手册( a 咖) 在内的一些重要资料至今无信息化存储方式,如光盘,给实际工作造成不便。根据这 种情况,从提高航空公司飞机运行的安全性和经济性的实用角度来看,建立机务信息 化辅助系统具有重要意义。飞机运行保持高安全性、经济性的重要基础之一是飞机维 护的正确性和及时性。可是,随着航空公司的运营范围不断扩大,航线及经停航站常 常变更,使得进行飞机异地及时、正确的维护越来越困难。另外,即使飞机在基地, 由于飞机维护人员水平的参差不齐也常常导致飞机得不到最佳维护。而如果建立了机 务信息化辅助系统,完成机务维护的规范化,就一定程度地避免以上不利因素,从而 提高航空公司飞机运行的安全性和经济性。 机务信息化辅助系统主要由信息化的飞机维护手册组成,系统上网运行后应能满 足一般飞机维护人员在任何地点及时取得对飞机进行正确维护要求的资料。 本课题将飞机维护手册的内容分成不同的数据实体,建立个合理的飞机维护手 机务信息化辅助系统 册数据库,实现远程访问,信息共享。授权的使用者可以通过多种查询手段( 章节查 询、英文查询、中文查询等) 快速精确找到所需的资料:另外建立活页替换功能,与 飞机维护手册同步进行插页替换以保证其有效性:同时也提供涉及机务维修领域的关 键字字典,以方便使用者的中英文对照。 维护手册的信息化可以归入信息系统中书籍管理类。这类信息系统又可根据其数 据存储方式分为图形页面类和文本页面类。考虑到必须保证飞机维护计算机辅助系统 中飞机维护手册数据资料百分之百的准确性,即充分保证其有效性,本课题是以扫描 的维护手册页面为基础,所以只将它与目前市场上较有影响的以页面图形为基础的书 籍管理信息系统进行比照,如以s s r e a d e r 为阅览器的超星图书馆和以c a j v i e w e r 为阅 览器的中国期刊网,超星图书馆只提供了对书籍的检索,中国期刊网也只提供了对文 章的检索,而本课题则着重于每页的内容管理及检索,实际上功能更细,更具体,同 时也要实现w e b 功能,使本课题成为一个独立的信息系统。 1 3 开发本课题的意义 本课题由于采用目前信息领域的先进理论及技术,切实针对机务维修过程产生的 实际需要,课题完成并实施将极大地促进机务维修管理的规范化,减少维修工作中的 人为失误,方便机务维修工作,尤其是异地作业及跟班飞行,保证了机务维修工作的 及时性、准确性及高质量要求,为实现航空公司保证飞行安全,减少人为差错,提高 经济效益的目标打下坚实的基础。 1 4 论文内容及结构 论文从开发机务信息化辅助系统的实际需要及意义入手,探讨了在 i n t e r n e t i n t r a n e t 环境下,三层多层开发模式思想在企业应用开发过程中的发展过 程,并在本系统的开发过程中进行了实践。 全文分五章: 第一章, 绪论部分介绍了课题的来源及其意义; 第二章,开发模式部分主要探讨了三层多层开发模式思想及相关技术; 第三章, 系统分析部分则运用三层多层歼发模式思想对整个系统进行分析: 第四章, 系统实现部分则是运用基于三层,多层开发模式的技术实现整个系统; 第五章,展望及总结部分主要阐述了我对系统开发方向的看法并总结了开发本 系统的收获。 南京航空航大人学颂十学侥论文 第二章开发模式 2 1 三层多层结构开发 2 1 1 传统开发模式客户机h e 务器模式的不足 传统的心用系统模式是“主机终端”或“客户机n 务器”,客户,机服务器系统 ( c 1e n t s e r v e rs y s t e m ,c s ) 的结构是指把一个大型的计算机应用系统变为多个能 互为独立的予系统,而服务器便是整个应用系统资源的存储与管理中心,多台客户机 则各自处理相应的功能,共同实现完整的应用。 用公式表示为: 两层开发模式= 多c l i e n t4 - 单多d a t a b a s es e r v e r 在c l e n t s e r v e r 结构模式中,客户端直接连接到数掘库服务器,由二者分担业 务处理,这样的体系有以下的缺点: l 、c i i e n t 与s e r v e r 直接连接,安全性低。非法用户容易通过c l i e n t 直接闯入 中心数据库,造成数据损失: 2 、c l i e n t 程序庞大,并且随着业务规则的变化,需要随时更新c l l e n t 端程序 大幅增加维护量,造成维护工作困难; 3 、每个c l l e n t 都要直接连到数据库服务器,使服务器为每个e l i e n t 建立连接 而消耗大董本就紧张的服务器资源: 4 、大量的数据直接在c l i e n t s e r v e r 间传送,在业务高峰期容易造成网络流量 暴增网络阻塞。 c 【i e n t s e t v e r 模式的这些不足,随着业务量的变化,出现越来越多的问题,有 必要对这种两层体系进行改进,将业务处理与客户交互分开柬,实现客户业务服务 数据服务的三层多层分布式应用体系结构。 2 1 2 三层多层模式 三层多层模式又称为“浏览器服务器”( b r o w s e r s c r v o r ,b s ) 结构,楚将 应用功能分成表示层、逻辑层和数掘层三部分。其解决方案是:对这三层进行| | j 鼬分 割,并在逻辑上使其独立。原来的数撕层作为数据库僻理系统已经独市池来所以灭 键是要将表示层和逻辑层分离成各自独:的程序,并且还耍使这i l l i 臌州的接i 简洁州 了。一般情况是只将表示层配置在客户机中,而逻辑层放在服务器中。如果将逻辑层 和数据层分别放在不同的服务器中则服务器和服务器之闻也要进行数掘传送。 机务信息化辅助系统 用公式农示为: 乏层多层开发模式= 多浏览器+ w e b 服务器+ 多数据库服务器 在这种形态中,三层是分别放在各自不同的硬件系统上的,所以灵活性很高,能 够适应客户机数日的增加舸l 处理负荷的变动。例如在追加新业务处理时,可以相应 增加装载逻辑层的服务器,系统规模越大,这种形惫的优点就越盟著。 2 i 3 三层多层模式的优势 和两层c s 模式相比,三层多层模式具有更灵活的硬件系统构成,对于各个层, 可选择与其处理负荷和处理特性相适应的硬件。合理地分割三层结构并使英独立,可 以使系统的结构变得简单清晰,这样就提高了程序的可维护性。三层多层模式中, 应用的各层可以并行开发,各层也可以选择各自最适合的开发语言,有利于变更和维 护。也可按层分割功能,使各个程序的处理逻辑变得十分简单。一般面畜,三层多 层模式的优势主要表现在以下几个方面: i 、利用单一的访问点,可以在任何地方访问站点的数据库,且可支持多种数据 库,有很高的实用性: 2 、所有的信息,不论其运行于什么平台,都可以用相同的界面访问: 3 、可跨平台操作,维护升级十分方便,减少了整个系统的成本: 4 、具有良好的开放性,且系统的可扩充性良好; 5 、可进行严密的安全管理。 。 2 2 2 e e 平台 2 2 15 2 e e 平台概述 减少费用,快速设计和开发企业级的应用程序是现代企业i n t e r n e t 应用的要求, 结合三层多层开发模式思想,我们采用了s u n 公司推出的j 2 e e 平台。j a v a2p l a t f o r m , e n t e r p r i s ee d i t i o n ( 5 z e e ) 平台提供了一个基于组件的方法来设计、开发、装配和 部署企业级应用程序。这个平台提供了一个多层结构的分布式的应用程序模型,该模 型的特点是具有重用组件的能力、基于扩展标记语言( x m l ) 的数据交换、统一的安全 模式和灵活的事务控制pj 。这样不仅可以比以前更快地发表新的解决方案,而且独立 于平台的基于组件的j e e e 解决方案不再受任何开发方的产品的限制。开发方和用户 都可以选择最合适于自己的商业应用和所需技术的产品和组件。 在基于i n t e r n e t 的企业应用中,可以说j 2 e e 平台是在三层,多层开发模式思想 推广过程中,结合j a v a 技术而适时产生的,同时j 2 e e 平台的使用又促进了三层多 南京航空航天大学硕士学位论文 层开发模式思想的广泛应用。 2 2 2j 2 e e 平台的三层多层模式 j 2 e e 平台使用了一个多层的分布式的应用程序模型。应用程序的逻辑根据其功 能被封装到组件中,组件再被安装到位于不同层或机器的容器中。图2 - 1 表示了两个 多层的j 2 e e 应用程序,它们被分为不同的层,每一层运行相应组件或软件,如下: l 、运行在客户端机器的客户层组件: 2 、运行在j 2 e e 服务器中的w e b 层组件; 3 、运行在j 2 e e 服务器中的商业层组件; 4 、运行在e i s 服务器中的企业信息系统( e i s ) 层软件。 j 2 e e 应用 程序i 图2 1 :多层结构的应用程序 从图2 - 1 中可以看到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 规范 是这样定义j 2 e e 组件的“: 客户端应用程序和a p p l e t 是运行在客户端的组件; 枉 臣 棚 哪 装 j 一刁驴团囝昌 机务信息化辅助系统 j a v as e r v l e t 和j a v as e r v e rp a g e s ( j s p ) 是运行在服务器端的w e b 组件; e n t e r p r i s ej a v a b e a n ( e j b ) 组件( e n t e r p r i s eb e a n ) 是运行在服务器端的商业组 件。 j 2 e e 组件由j a v a 编程语言写成,并和用该语言写成的其它程序一样进行编译。 j z e e 组件和“标准的”j a v a 类的不同点在于:它被装配在一个j z e e 应用程序中,具 有固定的格式并遵守j 2 e e 规范,由j 2 e e 服务器对其进行管理。 一个j 2 e e 客户端即可以是一个w e b 客户端,也可以是一个应用程序客户端。 1 、w e b 客户端 一个w e b 客户端由两部分组成:由运行在w e b 层的w e b 组件生成的包含各种标记 语言( h t m l 、煳乙等等) 的动态w e b 页面和接受从服务器传送来的信息并显示出来的 w e b 页面。 一个w e b 客户端有时被称之为瘦客户端。瘦客户端是将功能的实现尽可能地交给 服务器,由服务器处理更多的功能。瘦客户端一般不做如数据库查询、执行复杂的商 业规则及连接传统应用程序这样的操作。当使用一个瘦客户端时,较复杂的操作被交 给在j 2 e e 服务器执行的e n t e r p r i s eb e a n 。这样就可以充分发挥j 2 e e 服务器端技术 在安全性、速度、耐用性和可靠性方面的优势。 2 、a p p l e t 小应用程序客户端 从w e b 层接收的一个w e b 页面可以包含内嵌的a p p l e t 。一个a p p l e t 是一个用j a v a 编程语言编写的小的客户端应用程序,它在安装于w e b 浏览器中的j a v a 虚拟机中运 行。当然,为了在w e b 浏览器中成功地运行a p p l e t ,客户端系统还可能需要j a v a 插 件和安全策略文件。 3 、应用程序客户端 一个j z e e 应用程序客户端运行在客户端机器上,它使得用户可以处理需要比标 记语言所能提供的更丰富的用户界面的任务。具有代表性的是用s w i n g 或抽象窗口工 具包( a w t ) a p i 建立的图形用户界面( g u i ) ,当然也可以是一个命令行界面。 应用程序客户端直接访问运行在商业层的e n e r p r i s eb e a n ,建立通信。 客户层 r _ l 懒层l 、- 。 j 2 e e 服务器 图2 - 2 服务器通信 6 南京航空航天大学硕士学位论文 图2 2 显示了客户层组成的多种方式。客户端可以直接和运行在j 2 e e 服务器中 的商业层进行通信。如果是一个运行在浏览器中的客户端,也可以通过运行在w e b 层中的j s p 和s e r v l e t 进行这种通信。 l 、w e b 层组件 j 2 e e 的w e b 层组件即可以是s e r v l e t 也可以是j s p 页面。s e r v l e t 是一个j a v a 编程语言类,它可以动态地处理请求并做出响应。j s p 页面是一个基于文本的文档, 它以s e r v l e t 的方式执行,但是它可以更方便地建立静态内容。 在装配应用程序时,静态的h t m l 页面和a p p l e t 被绑定到w e b 层组件中,但是它 们并不被j 2 e e 规范视为w e b 组件。服务器端的功能类也可以被绑定到w e b 组件中, 与h t m l 页面一样,它们也不被j 2 e e 规范视为w e b 组件。 正如图2 3 中所示,和客户层一样,w e b 层也可以包含一个j a v a b e a n s 组件以管 理用户的输入并将输入发送到运行在商业层的e n t e r p r i s eb e a n 进行处理。 客户层 j 2 e e 服务器 浏览器 匡陆 、 商 a d p l c t 业 逻 辑 应用程序 层 w e b 层 图2 - 3 w e b 层和j 2 e e 应用程序 2 、商业层组件 商业层组件代码,表示了例如民航、银行、零售和财政这样的特定的商业领域的 相适应的逻辑,它由运行在商业层的e n t e r p r i s eb e a n 处理。 图2 - 4 显示了一个e n t e r p r i s eb e a n 如何从客户端接受数据,对它进行处理( 如 果需要) ,并将其发送到企业信息系统层以作存储的过程。一个e n t e r p r i s eb e a n 也 可以从存储器获取数据,对它进行处理( 如果需要) ,并将其发送到客户端应用程序。 企业信息系统层( e i s 层) 处理企业信息系统软件并包含诸如企业资源计划( e r p ) 、 主机事务处理、数据库系统和其它传统系统这样的底层系统。j 2 e e 应用程序组件可 能需要访问企业信息系统,例如获得一个数据库连接。 机务信息化辅助系统 客户层 j 2 e e 服务器 浏览器 臣e 商 a p p l e t t 业、叫 数 逻 据 搬 库 4 - 应用程序 层、叫 w c b 层 e i s 层 图2 4 商业层和e i s 层 2 2 3j 2 e e 平台上的封装与部署 j 2 e e 组件设计并完成后要被分别打包并绑定到一个j 2 e e 应用程序中以供部署。 每一个组件、它的诸如g i f 、h t m l 文件和服务器端功能类这样的相关文件以及一个部 署说明组成了一个模块并被添加到j 2 e e 应用程序中。一个j 2 e e 应用由一个或几个 e n t e r p r i s eb e a n 组件模块、w e b 组件模块或应用程序客户端组件模块组成。根据不 同的设计需求,最终的企业解决方案可以是个j 2 e e 应用程序,也可以由两个或更 多的j 2 e e 应用程序组成。 一个j 2 e e 应用程序以及它的每一个模块都有它自己的部署说明。一个部署说明 就是一个具有x m l 扩展名的x m l 文件,它描述了一个组件的部署设置。例如,一个 e n t e r p r i s eb e a n 模块的部署说明,描述了一个e n t e r p r i s eb e a n 的事务属性和安全 性授权。因为部署说明信息是公开的,因此它可以被改变而不必修改b e a n 的源代码。 在运行时,j 2 e e 服务器将读取这个部署说明并遵照执行。 一个j 2 e e 应用以及它的所有模块被提交到一个e n t e r p r i s ea r c h i v e ( e a r ) 文件 中。一个e a r 文件就是一个具有e a r 扩展名的标准的j a v aa r c h i v e ( j a r ) 文件。在 j 2 e es d k 应用程序部署工具的g u i 版本中,需要先建立一个e a r 文件,然后在其中 添加j a r 文件和w e ba r c h i v e ( w a r ) 文件。然而,如果使用的是命令行的打包工具, 则必须先建立j a r 和w a r 文件,然后才是建立e a r 文件。 l 、 每一个e j bj a r 文件包含一个部署说明、e n t e r p r i s eb e a n 文件以及相关的 文件。 2 、每一个应用程序客户端j a r 文件包含一个部署说明、应用程序客户端的类文 件以及相关的文件。 3 、 每一个w a r 文件包含一个部署说明、w e b 组件文件以及相关的资源。 使用模块和e a r 文件使得运用同一组件以装配许多不同的j 2 e e 应用程序成为可 8 南京航空航天大学硕士学位论文 能。不需要额外的编程工作,唯一要做的是在j 2 e ee a 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 服务器以容器的形式为每一个组件类型提供 底层服务,而不需要自己开发。 容器是一个组件和支持组件的底层平台特定功能之间的接口,在一个w e b 组件、 e n t e r p r i s eb e a n 或者是一个应用程序客户端组件可以被执行前,它们必须被装配进 一个j 2 e e 应用程序并且部署到它们的容器中。 装配的过程包括为j 2 e e 应用程序中的每一个组件以及j 2 e e 应用程序本身指定容 器的设置。容器设置定制了由j 2 疆服务器提供的底层支持,这将包括诸如安全性、 事务管理、j a v a 命名目录接m ( j n d i ) 搜寻以及远程连接。下面是其中的主要部分: 1 、j 2 e e 的安全性模式可以对一个w e b 组件或e n t e r p r i s eb e a n 进行配置以使得 只有授权用户才能访问系统资源。 2 、j 2 e e 的事务模式可以指定方法之间的关系以组成一个单个的事务,这样在一 个事务中的所有方法将被视为一个单一的整体。 3 、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 ) 搜寻服务为企业中的多种命 名目录服务提供一个统一的接口,这使得应用程序组件可以访问命名目录服务。 4 、j 2 e e 远程连接模式管理客户端和e n t e r p r i s eb e a n 之间的底层通信。在一个 e n t e r p r i s eb e a n 被建立后,客户端在调用其中的方法时就象这个e n t e r p r i s eb e a n 就运行在客户端同一个虚拟机上一样 容器还管理诸如一个e n t e r p r i s eb e a n 和s e r v l e t 的生存周期、数据库连接资源 池等。 容器有多种类型,就象图2 - 5 中所示那样。 l 、j 2 f _ e 服务器:是j 2 e e 产品的运行部分。一个j 2 9 9 服务器提供e j 3 容器和w e b 容器。 2 、e n t e r p r i s ej a v a b e a n s ( e j b ) 容器 管理j 2 e e 应用程序的e n t e r p r i s eb e a n 的执行。e n t e r p r i s eb e a n 和它的容器运行在j 2 e e 服务器中。 3 、w e b 容器:管理j 2 e e 应甩程序的j s p 页面和s e r v l e t 组件的执行w e b 组件 和它的容器也运行在j 2 e e 服务器中。 4 、客户端应用程序容器:管理应用程序客户端组件的运行。应用程序客户端和 它的容器运行在客户端中。 5 、a p p l e t 容器:管理a p p l e t 的执行由运行在客户端的一个w e b 浏览器和j a v a 插件一同组成。 9 机务信息化辅助系统 图2 - 5j 2 e e 服务器和容器 2 3 w e bs e r v i c e 技术 2 3 。1w e bs e r v i c e 技术由来及概述 莉面在论述三层多层模式时所给出的客户端是浏览器包括m i c r o s o f t 的i e , 网景的n e t s c a p e 等,之所以有以基于浏览器的瘦客户端应用程序的开发倾向,不是 因为瘦客户能够提供更好的用户界面,而是因为它能够避免花在桌面应用程序发布上 的高成本。 传统的w i n d o w s 三层多层模式应用程序使用d c 嘶( d i s t r i b u t e dc o m p o n e n t o b j e c tl n o d e l ) 分布式组件技术来与服务器进行通信和调用远程对象。丙配置好d c 傩 使其在一个大型的网络中正常工作是极其复杂的一项工作。事实上,谗多i t 工程师 宁愿忍受浏览器所带来的功能限制,也不愿在局域网上去运行一个d c 叫。在我看来, 结果就是个发布容易,但开发难度大,部署难度更大,而且用户界面极其受限的应 用程序。或者泌,就是花了更多的资金和时闯,却开发出从用户看来功能更弱的应用 程序。而绝大多数商用程序用户则希望使用更加友好的w i n d o w s 用户界面。 许多商用程j 芋还面临另一个问题,那就是与其他程序的互操作性。如果所有的 应用程序都是使用j a v a 语言写的,并且都运行在w i n d o w s 平台上,后台只有一种数 据库管理系统,那就没有这方面的问题了。然而,事实上大多数商业数据仍然在不同 级别的主机( 微机,大型机,小型机等) 上以多种数据库管理系统管理。而且,目前 还有很多商用程序继续在使用c + + 、p a s c a l 、v i s u a lb a s i c 和其他各种各样的语畜编 写。如果客户端不用浏览器,而用如c + + ,p a s c a l ,j a v a 等丁i :发的应用程序,则主要 l o 南京航空航天火学硕士学位论文 是要解决小删种语苦丌发的应用程序客户端与彳;问种语言开发的服务器端组件通信 问题。 现存,在i n t e r n e t 上开发企业应用程序基本上都需要与运行住其他异构、f 台上 的应用程序集成并进行数据交换。实际上在论述j 2 e e 时已经涉及到了j a v a 应用程序 客户端,但这个客户端在j 2 e e 三层多层模式下只可调用j a v a 开发的组件;而用c + + 开发的应用程序客户端只可调用c + + 开发的组件,而且操作系统受限只可在w i n d o w s 系列的操作系统上运行。在以前,没有一个应用程序通信标准,是独立于平台和编程 语言的。 现在w e bs e r v i c e 技术的使用解决了这方面的难题。w e bs e r v i c e 用一套通用协 议来实现分和式应用程序的创建。任何平台都有它的数据表示方法和类型系统,要实 现它们之闻的互操作,w e bs e r v i c e 平台提供了套标准的类型系统,用于沟通不同 平台、编程语言和组件模型“。在传统的分布式系统中,基于界面( i n t e r f a c e ) 的平 台提供了些方法来描述界面、方法和参数,如c 吨和c o b a r 中的i d l ( i n t e r a c t i y e d a t al a n g u a g e ) 语言。同样,w e bs e r v i c e 平台也提供了一种标准来描述w e bs e r v i c e , 让客户端可以得到足够的信息来调用这个w e bs e r v i c e ,并提供了方法来对这个w e b s e r v i c e 进行远程调用。这种方法实际是一种远程过程调用协议( r p c ) ,而这种r p c 协议是与平台和编程语言无关的,达到了互操作性。 当实现了互操作性的平台和编程语言无关,三层多层开发模式公式即发展为: 三层多层开发模式= 多应用程序客户端+ 多应用程序服务器+ 多数据库服务器 2 3 2w e bs e r v i c e 技术 从服务提供者的角度来看,只要会打字,就可以接受服务。从服务应用程序接口 ( a p i ) 的角度来看,互联网上绝大多数的活动都可以由三种方法( g e t ,p o s t ,和 p u t )以及一种标记语言来完成。w e bs e r v i c e 的兴起正是基于这样一个事实: w e b 不仅可以作为一个信息平台,也可以作为一个服务平台 这里的“s e r v i c e ”是指一种组件服务,其他开发者可以用来构造更强大的服务。 例如,某个服务提供者提供了p a s s p o r t 服务,提供w e b 上的认证功能,则一些内容 提供商就不必自己开发认证服务,只要交给p a s s p o r t 做就可以了。 w e bs e r v i c e 一个较为正式的定义: w e bs e r v i c e 是一种新的w e b 应用程序分支,是自包含、自描述、模块化的应用, 可以发布、定位、通过w e b 调用。w e bs e r v i c e 可以执行从简单的请求到复杂业务处 理的任何功能。一旦部署以后,其他w e bs e r v i c e 应用程序可以发现并调用它部署的 服务。 目前开发者所用的组件平台如j 2 e e ,c o r b a ,d c o m 等等。确实提供了强大的服务 机务信息化辅助系统 实现手段,但是,w e b 通过在这些组件平台上实现更有效的s e r v i c e ,来提供一个统 一且广泛适用的接口,这样就改善了这些平台。 从一个三层多层应用程序结构的角度来看,w e bs e r v i c e 只是一个方便程序访 问的包装,服务还是要靠中间层实现。访问包括服务请求处理( 监听者) 和一个支持 业务逻辑操作的接口,业务逻辑本身是由中闻层平台实现。 w e bs e r v i c e 最基本的平台是x m l x s d 加h t t p 。h t t p 是一个在i n t e r n e t 上广泛 使用的协议。可扩展的标记语言( x m l ) 是一种元语言,可以用它书写特定的语言来描 述客户和服务之间或者组件和复杂服务之间的交互。x m l 是w e bs e r v i c e 平台中表示 数据的基本格式。除了易于建立和易于分析外,x m l 主要的优点在于它既是平台无关 的,又是开发方无关的。x m l 解决了数据表示的问题,但它没有定义一套标准的数据 类型,更没有说明怎么去扩展这套数据类型。例如,没有详细定义整形数到底代表 1 6 位,3 2 位,还是6 4 位,丽这些细节对实现互操作性是很重要的。x m ls c h e m a ( x s d ) 就是专门解决这个问题的一套标准。它定义了一套标准的数据类型,并给出了一种语 言来扩展这套数据类型。w e bs e r v i c e 平台就是用x s d 作为其数据类型系统。当用某 种语言( 如j a v a 或c + + ) 来构造一个w e bs e r v i c e 时,为了符合w e b s e r v i c e 标准,所 有数据类型都必须被转换为x s d 类型。有时,所用的开发工具可能会自动完成这个转 换,有时也可能会根据需要修改一下转换过程。当x m l 格式的消息被传送到w e b s e r v i c e 时,转变成中阊层的请求,而中间层产生的结果也转化成x 讹格式返回。 w e bs e r v i c e 功能较全面的平台是瑚l x s d + h t t p + s o a p + w s d l + u d d i 。 简单对象访问协议( s o a p ) 是一个协议规范,定义了传递x m l 数据时的统一方式。 它还定义了使用h t t p 作为底层通信协议时执行远程调用( r p c ) 的方法。w e bs e r v i c e 建好以后,就要去调用它。s o a p 提供了标准的r p c 方法来调用w e bs e r v i c e 。s o a p 规范定义了s o a p 消息的格式,以及怎样透过h t t p 协议来使用s o a p 。 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 ns e r v i c e ) 为客户 提供了动态查找其它w e bs e r v i c e 的机制。使用u d d i 接口,业务处理可以动态的连 接到外部的合作者提供的服务上。一个u d d i 注册类似于网络中的域名服务d n s 。 w e bs e r v ic e 描述语言( w s d l ) 为服务提供者提供了描述构建在不同协议或编码方 式之上的w e bs e r v i c e 请求基本格式的方法,包括一个w e bs e r v i c e 能做什么,它的 位置在哪里,如何调用它等等。它用机器能阅读的方式提供一个正式的描述文档,这 个文档是基予x m l 语言的,用于描述w e bs e r v i c e 及其函数、参数和返回值。因为是 基于x m l 的,所以w s d l 既是机器可阅读的,又是人可阅读的。这样一些新的开发工 具即能根据开发者的w e bs e r v i c e 生成w s d l 文档,又能导入w s d l 文档,生成调用相 应w e bs e r v i c e 的代码在假定以s o a p h t t p m i m e 作为远程对象调用机制的情况下, w s d l 会发挥最大作用。u d d i 注册描述了w e bs e r v i c e 的绝大多数方面,包括服务的 绑定细节, w s d l 则可以看作是u d d i 服务描述的予集。 南京航空航天大学硕士学位论文 2 3 3w e bs e r v i c e 技术的优势 w e bs e r v i c e 技术开发i n t e r n e t 上的三层多层应用程序的优势主要表现在以下 几个方面: 1 、易于跨防火墙的通信 如果应用程序有成千上万的用户,而且分布在不同地点,那么客户端和服务器之 间的通信是一个很棘手的问题。因为客户端和服务器之间通常会有防火墙或者代理服 务器。在这种情况下,通常的做法是,选择用浏览器作为客户端,写下一大堆j s p a s p 页面,把应用程序的中间层暴露给最终用户。这样做的结果是开发难度大,程序很难 维护。比如,在应用程序里加入一个新页面,必须先建立好用户界面( w e b 页面) ,并 在这个页面后厩,包含相应商业逻辑的中间层组件,还要再建立至少一个j s p a s p 页面,用来接受用户输入的信息,调用中间层组件,把结果格式化为h t m l 形式,最 后还要把“结果页”送回浏览器。由这个过程看来,要是客户端代码不再如此依赖于 h t m l 表单,客户端的编程就简单多了。 如果中间层组件换成w e bs e r v i c e 的话,就可以从用户界面直接调用中间层组件, 从而省掉建立j s p a s p 页面的那一步。要调用w e bs e r v i c e ,可以直接使用b o r l a n d 公司的s o a p 客户端组件集,m c r j s o f 世s o a pt o o l k i t 或n e t 这样的s o a p 客户端, 也可以使用自己开发的s o a p 客户端,然后把它和应用程序连接起来。不仅缩短了开 发周期,还减少了代码复杂度,并能够增强应用程序的可维护性。同时,应用程序也 不再需要在每次调用中间层组件时,都跳转到相应的“结果页”。 2 、易于应用程序集成 在开发企业级的应用程序时,企业里经常都要把用不同语言写成的、在不同平台 上运行的各种程序集成起来,而这种集成将花费很大的开发力量。应用程序经常需要 从运行在i b m 主机上的程序中获取数据,或者把数据发送到w i n d o w s 主机或u n i x 应 用程序中去。即使在同一个平台上,不同软件厂商生产的各种软件也常常需要集成起 来。通过w e bs e r v i c e ,应用程序可以用标准的方法将功能和数据“暴露”出来,供 其它应用程序使用。这些标准的方法就是x m l x s d 、w s d l 、u d d i 等。 3 、易于b 2 bc b u s i n e s st ob u s i n e s s ) 的集成 用w e bs e r v i c e 集成应用程序,可以使公司内部的业务处理更加自动化。但当业 务处理跨越供应商和客户、突破公司的界限时,即跨公司的业务交易集成( b 2 b 集成) 时,w e bs e r v i c e 仍然是其成功的关键。通过w e bs e r v i c e ,公司可以把关键的商务 应用“暴露”给指定的供应商和客户。当然,这并不是一个新的概念,e d i ( 电子文 档交换) 早就是这样了。但是,w e bs e r v i c e 的实现要比e d i 简单得多,而且w e bs e r v i c e 运行在i n t e r n e t 上,在世界任何地方都可轻易实现,其运行成本就相对较低。不过, w e bs e r v i c e 并不像e d i 那样,是文档交换或b 2 b 集成的完整解决方案w e bs e r v i c e 机务信息化辅助系统 只是b 2 b 集成的一个关键部分,还需要许多其它的部分才能实现集成。 用w e bs e r v i c e 来实现b 2 b 集成的最大好处在于可以轻易实现互操作性。只要把 商务逻辑“暴露”出来,成为w e bs e r v i c e ,就可以让任何指定的合作伙伴调用这些 商务逻辑,而不管他们的系统在什么平台上运行,使用什么开发语言。这样就大大减 少了花在b 2 b 集成上的时间和成本,让许多原本无法承受e d i 的中小企业也能实现 b z b 集成。 4 、易于实现软件和数据重用 当前,象表格控件或用户界面控件这样的可重用软件组件,在应用开发中占有很 大的份额。但这类软件的重用有个很大的限制,就是重用仅限于代码,数据不能重 用。原因在于,发布组件甚至源代码都比较容易,但要发布数据就没那么容易,除非 是不会经常变化的静态数据。 w e bs e r v i c e 在允许重用代码的同时,可以重用代码背后的数据。使用w e b s e r v i c e ,再也不必像以前那样,要先从第三方购买、安装软件组件,再从应用程序 中调用这些组件,只需要直接调用远端的w e b s e r v i c e 就可以了。比如,要在应用程 序中确认用户输入的地址,只需把这个地址直接发送给相应的w e bs e r v i c e ,这个w e b s e r v i c e 就会自动查阅街道地址、城市、省区和邮政编码等信息,确认这个地址是否 在相应的邮政编码区域。w e bs e r v i c e 的提供商可以按时间或使用次数来对这项服务 进行收费。这样的服务要通过组件重用来实现是不可能的,那样的话必须下载并安装 好包含街道地址、城市、省区和邮政编码等信息的数据库,而且这个数据库还是不能 实时更新的。 另一种软件重用的情况是,把好几个应用程序的功能集成起来。例如,要建立一 个局域网上的门户站点应用,让用户既可以查询快递包裹,查看股市行情,又可以管 理自己的日程安排,还可以在线定购火车票。现在w e b 上有很多应用程序供应商,都 在其应用中实现了这些功能。一旦他们把这些功能都通过w e bs e r v i c e “暴露”出 来,就可以非常容易地把所有这些功能都集成到这个门户站点中,为用户提供一个统 一的、友好的界面。 将来,许多应用程序都会利用w e bs e r v i c e ,把当前基于组件的应用程序结构扩 展为组件w e bs e r v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年广东科贸职业学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 2025年广东江门中医药职业学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 2025年山东服装职业学院高职单招语文2019-2024历年真题考点试卷含答案解析
- 2025年山东中医药高等专科学校高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 2025年安徽体育运动职业技术学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 2024年5月水坝闸门液压系统同步拆除精度控制合同
- 自我介绍开场-展现你的精彩亮点
- CO的有关知识课件
- 新发展英语(第二版)综合教程2 课件 Unit 9 Remembrances
- 石家庄经济职业学院《儿童歌曲演唱与指挥》2023-2024学年第一学期期末试卷
- GB/T 18655-2025车辆、船和内燃机无线电骚扰特性用于保护车载接收机的限值和测量方法
- 吉林省吉林市2024-2025学年高三下学期3月三模试题 生物 含答案
- DZ∕T 0130-2006 地质矿产实验室测试质量管理规范(正式版)
- 《新疆大学版学术期刊目录》(人文社科)
- 卫生应急响应与处置
- 电子式交流电能表检定原始记录
- 最新整理【施耐德变频器故障代码】
- 供应商审厂报告模板
- 门诊特定病种待遇认定申请表
- 文化遗产学概论:第七讲 遗产的完整性问题
- 装修项目技术标(范本)
评论
0/150
提交评论