(计算机应用技术专业论文)基于net平台的工作票生成系统的开发与研究.pdf_第1页
(计算机应用技术专业论文)基于net平台的工作票生成系统的开发与研究.pdf_第2页
(计算机应用技术专业论文)基于net平台的工作票生成系统的开发与研究.pdf_第3页
(计算机应用技术专业论文)基于net平台的工作票生成系统的开发与研究.pdf_第4页
(计算机应用技术专业论文)基于net平台的工作票生成系统的开发与研究.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(计算机应用技术专业论文)基于net平台的工作票生成系统的开发与研究.pdf.pdf 免费下载

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

文档简介

原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本 论文不包含任何其他个人或集体已经发表或撰写过的科研成果。 对本文的研究作出重要贡献的个人和集体,均已在文中以明确方 式标明。本声明的法律责任由本人承担。 论文作者签名:奎垄畦日期:鲨垒:三:! 墨 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学 校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论 文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段 保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:甚础导师签名:塑日期:塑垒:主l 摘要 随着i n t e r n e t 的发展,基于w e b 的开发技术日趋成熟,管理信息系统 m i s ( m a n a g e m e n ti n f o r m a t i o ns y s t e m ) 也逐步由传统的c s 模式向b s 模式转变。 本课题对n e t 技术做了深入研究,并成功地开发了基于n e t 平台的工作票生成 系统( 发电厂管理信息系统中的一个主要子系统) 。 本文首先阐述了,n e t 开发平台的基本架构n e tf r a m e w o r k 的构成及其特点, 并详细分析了n e t 开发平台的核心开发技术:i l e bs e r v i c e 远程调用技术、 a s p n e tw e b 丌发技术、c # 丌发语言、a d o n e t 数掘库访问技术。随后本文详细 论述了使用n e t 技术来设计工作票生成系统以及在实现过程中对各种问题的解 决方法。 在分析比较c s 模式和b i s 的模式特点的基础上,本文提出了使用c s 和 b s 混合模式实现工作票生成系统的解决方案,充分发挥了c s 模式交互性强、 适于图形处理以及b s 模式易于发布、易于升级维护的优点。 工作票生成系统的编辑模块采用c s 模式,按照面向对象的程序设计理论, 设计了元件对象以及元件的控制对象一模板对象,实现了工作票的模板化编辑, 大大提高了系统的通用性和维护性。为了方便实现工作票流转过程中的级别控 制、签名控制和状态控制,为元件设定了动态编号、级别、分组、签名元件和保 护区等信息。 工作票生成系统的运行模块采用b s 模式。在其w e b 系统实现中,采用了分 层模型的设计思想。由于在工作票流转过程中的逻辑规则比较复杂,w e b 系统架 构没有采用典型的w e b 三层模型,而是采用f a c a d e ( 外观对象结构型模式) 设 计了w e b 层( w e bt i e r ) 、业务外观层( b u s i n e s sf a c a d et i e r ) 、业务规则层 ( b u s i n e s sr u l e st i e r ) 和数据访问层( d a t aa c c e s st i e r ) 。在数据访问层定 义了d a t a b a s e 类实现关于数据库的各利i 操作,在每层中设计了各种类的方法来 实现了层间的数据交互,此外还设计了通用层,定义了在各层间传递信息的数据 集。w e b 四层模型降低了系统的复杂性及各层之间的耦合度,增强了系统的可扩 展性。 在系统的运行中,工作票票面中的所有元件是根据设计的工作票模板在网页 山东大学硕士学位论文 中显示,本课题成功地解决了在网页中动态创建控件的问题。网页的打印问题一 直难于处理,本课题设计了a c t i v e x 控件较好地实现了网页的打印,并解决了网 页中控件下载、数字证书等a c t i v e x 控件在网页中应用所遇到的问题。此外本文 还详细论述了在a s p n e t 中页面的实现、页面之间的数据共享、异常的捕获与控 制、逻辑规则的实现思想以及如何实现图形文件的上传与显示等技术问题。 关键词:n e t ,w e b 四层模型,c s 和b s 混合模式,a c t i v e x 控件,工作票 4 a b s t r a c t w it ht h ed e v e l o p m e n to fi n t e r n e t t h ed e v e l o p m e n tt e c h n o l o g yb a s e d o nw e bb e c o m e sm a t u r e 。m i s ( m a n a g e m e n ti n f o r m a t i o ns y s t e m ) h a sb e e n c o n v e r t e df r o mt r a d i t i o n a ic sm o d e lt ob sm o d e l g r a d u a li y i nt h i s t h e s i sw em a k ed e e pr e s e a r c ho nt h e n e tt e c h n o l o g ya n dd e v e l o pw o r ks h e e t m a k es y s t e m am a i ns u b s y s t e mo fm i si np o w e re n t e r p r i s e b a s e do n n e t d e v e l o p m e n tp l a t f o r m f i r s tw e e x p o u n d t h es t r u c t u r ea n dc h a r a c t e r i s t i c so f n e t f r a m e w o r k t h eb a s i cf r a m e w o r ko f 。n e td e v e l o p m e n tp l a t f o r m ,a n a l y z et h e c o r ed e v e l o p m e n tt e c h n o l o g yo f n e tp l a t f o r m :r e m o t ec a l lt e c h n o l o g yi n w e bs e r v i c e ,a s p n e t w e bd e v e l o p m e n tt e c h n o l o g y ,c # p r o g r a n 】【n i n gl a n g u a g e a n da d o n e t - d a t aa c c e s st e c h n o l o g y t h e nw ed i s c u s st h et e c h n o l o g yw eu s e i nd e s i g n i n gw o r ks h e e tm a k es y s t e m j n dt h es o l u t i o n si nt h ep r o g r a m m i n g o nt h eb a s i so fc o m p a r i n gc sm o d e lw i t hb sm o d e l ,w eb r i n gf o r w a r d as o l u t i o no fi n t e g r a t i o nm o d e lo fc sa n db st od e s i g nw o r ks h e e tm a k e s y s t e m t h i ss o l u t i o nc o n t a i n sn o to n l ya d v a n t a g e so fb e t t e ri n t e r a c t i o n a n ds u i t a b i l i t yf o rg r a p h i c si nc sm o d e lb u ta l s ob e n e f i t so ff i t n e s s f o rp u b l i c a t i o n ,e a s yu p d a t ea n dm a i n t e n a n c ei nb s m o d e l t h ee d i tm o d u l eo fw o r ks h e e tm a k es y s t e ma d o p t sc sm o d e l a c c o r d i n g t ot h et h e o r yo fo b j e c to r ie n t e d ,w ed e s ig n “c e l ”o b j e c ta n dc o n t r o l o b j e c to f “c e l l ”一“t e m p l a t e ”o b j e c tw h i c hr e a l i z e t h ee d i to fs t y l e o fw o r ks h e e t ,i m p r o v i n gp e r f o r m a n c eoru n iv e r s a l i z a t i o o a n dm a i n t e n a n c e f o rt h ep u r p o s eo fl e v e lc o n t r o l ,s ig n a t u r ec o n t r o la n ds t a t u sc o n t r o l , w es e t u pt h ed y n a m i cn u m b e r ,i n p u t 1 e v e l ,g r o u p ,s i g n a t u r e c e l la n d p r o t e c t i v ea r e ae t c f o re v e r y c e l t h er u n n i n gm o d u l eo fw o r ks h e e tm a k es y s t e ma d o p t sb sm o d e l w eu s e m u l t i t i e rm e t h o dt od e s i g nt h ew e bs y s t e m 。d u et ot h ec o m p l e x i t yo fr u l e s i nt h ep r o c e s so fs e n d i n gw o r ks h e e t ,w e d o n ta d o p tc l a s s i c a l w e b 5 t h r e e t i e rm o d e lb u td e s i g nw e bf o u r t i e rm o d e l :w e b t i e r ,b u s i h e s sf a c a d e t i e r ,b u s i n e s sr u l e st i e r ,a n dd a t aa c c e s st i e rb yf a c a d eo b j e c ts t r u c t u r e m o d e l w ed e f i n et h ec l a s sd a t a b a s ei nt h ed a t aa c c e s sr i e rt oa c h i e v e t h e o p e r a t i o no fd a t a b a s e a n d d e s i g n s e v e r a lc l a s s e st or e a l i z et h e e x c h a n g eo fd a t aa m o n gt i e r s b e s i d e st h i s ,w ed e f i n et h ed a t as e tt o e x c h a n g e d a t ai nt h ec o m n l o nt i e r w e bf o u r t i e r m o d e lr e d u c et h e c o m p l e x i t yo fs y s t e ma n dc o u p l i n gd e g r e e ,i m p r o v i n gt h ee x p a n d a b i l i t yo f s y s t e m i nt h er u n n i n go ft h i ss y s t e m ,a 【lo ft h ec e ll so ft h ew o r ks h e e ta r e d i s p l a y e do nt h ew e bp a g ea c c o r d i n gt ot h ew o r ks h e e tp a t t e r nd e s i g n e d b yu s e r w es o l v et h ep r o b l e mo fc r e a t i n gc o n t r o ld y n a m i c a l l yo nt h ew e b p a g es u c c e s s f u l l y w ed e s i g na na c t i v e xc o n t r o lt or e a l i z ep r i n t i n gw e b p a g e a n ds o l v et h e p r o b l e mo f d o w n l o a do fa c t i v e x c o n t r o l ,d i g i t a c e r t i f i c a t ee t c w ea l s oe x p o u n dt h er e a l i z a t i o no fw e bp a g e ,t e c h n i q u e s o fd a t as h a r ea m o n gw e bp a g e s ,c a p t u r ea n dc o n t r o lo fe x c e p t i o n ,i d e ao f l o g i cr u l e sa n du p l o a da n dd i s p l a yo fg r a p h i c s i nt h i st h e s i s k e y w o r d s :n e t ;w e bf o u r t i e rm o d e l ;i n t e g r a t i o nm o d e lo fc sa n db s ; a c t i v e xc o n t r o i ;w o r ks h e e t 6 一山东大学硕士学位论文 第一章绪论 1 1 课题的背景和意义 随着信息时代的到来和企业改革的需要,企业对于管理信息系统m i s 的建设 有较大而较深的需求。工作票制度是电力生产企业在生产现场进行检修或安装工 作时,为了保证设备系统的安全运行,防止发生事故而制定的一项重要的技术措 施。工作人员作业时都要严格按照电气工作票的内容一步一步地执行。长期以来, 电力系统工作票填写、签发与许可一直沿用传统手工签发的方式,手工开票不仅 效率低,不利于工作票的存档管理和查询管理工作,而且还容易产生错票,威胁 到设备和人身安全,因此,为了增加工作票的可靠性,提高工作效率,开发电气 工作票管理系统使工作票在局域网上流转是十分必要的。 目前关于电气工作票的软件大都是采用c s 模型,但随着网络规模的日益扩 大,应用程序的复杂程度不断提高,c s 模型逐渐也暴露了一些缺点:开发成本 较高,移植困难;使用繁杂,维护和升级麻烦,不利于推广;客户端与后台数据 库服务器数据交换频繁且数据量大,当大量用户访问时容易造成网络瓶颈等等。 这种模式下的m i s 系统很难与企业内部i n t r a n e t 以及外部i n t e r n e t 集成起来, 减慢了企业的信息化发展。 为了克服目自u 工作票软件的弊端,有必要采用新的开发平台和软件体系结构 开发工作票管理系统,本课题正是根据这一背景而提出的,考虑到系统的安全性, 灵活性,实用性以及可扩展性,我们采用了微软的n e t 平台开发了具有通用性 的工作票管理系统,根据该系统的特点,设计了w e b 四层模型并合理地采用了 c s 和b s 混合模式,结合了二者的优点,有效地克服了以往采用单一c s 模式 的弊端。 1 2 n e i 概述 n e t 是微软提出的新一代互联网应刷软件和服务战略 1 | ,它代表一个集合, 一个环境。一个可以作为平台支持下一代i n t e r n e t 的可编程架构。其最终目的 就是让用户在任何地方、任何时间,以及利用任何设备都能访问所需的信息、文 山东大学a - 9 士学位论文 件和程序。 n e t 是m i c r o s o f t 的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 如何实现,应用程序都可以通过诸 如h t t p 、x m l 、s o a p 和w s d l 等标准w e b 协议和数掘格式来访问w e bs e r v i c e 。 w e bs e r v i c e 结合了组件技术和w e b 技术中优秀的方面,是。n e t 编程模型的基 石。n e t 采用的是基于x m l 的松耦合编程模式,在此模式下构建的w e bs e r v i c e 提供了内在的机制,能够让所有网站和服务商结成同盟,协调工作。 n e t 平台包括以下四个组成部分:n e t 服务器组、开发工具、智能客户端 和w e bs e r v i c e 。 n e t 服务器组主要包括服务器级别的操作系统和用于搭建n e t 平台的一些 企业级服务器。使用,n e tf r a m e w o r k 和v i s u a ls t u d i o 。n e t 可以创建、部署和 运行w e bs e r v i c e s ,它们是n e t 平台上的主要开发工具。在v i s u a ls t u d i o n e t 中支持3 种编程语言c # 、v j s u a c + + n e t 和v i s u a lb a s i c n e t 。其中,c # 是一 种新推出的编程语言,具有很多优秀的特点,非常适合n e t 平台的开发。智能 客户端是指能够访问w e bs e r v i c e 的客户端设备和设备上的软件。n e t f r a m e w o r k 能够支持开发人员开发出应用于智能客户端的应用程序。搭建下一代 互联网需要全世界信息产业的共同支持,提供丰富的w e bs e r v i c e ,将相关的w e b s e r v i c e 松耦合在一起就可以实现特定的功能。 1 3 本文的组织结构 本文是这样组织的,第一章介绍了课题的背景和意义以及对n e t 的概述: 第二章介绍了n e t 的各种技术;第三章是工作票系统的总体设计:第四章和第 五章分别介绍了本系统c s 部分和b s 部分的详细设计;第六章是本系统关键授 术的实现;第七章是对本课题的总结。 8 些壅盔堂硕士学位论文 。1 。_ _ _ _ _ l l _ _ _ t i e l i _ _ 一: =: 第二章n e t 技术 2 1 n e tf r a m e w o r k 2 1 1 构成 n e t f r a m e w o r k 是一个平台,用来创建、部署和运行x m lw e bs e r v i c e 以 及其它应用程序。n e tf r a m e w o r ks d e ( s o f t w a r e d e v e l o p m e n tk i t ) 是由 m i c r o s o f t 发行的,n e tf r a m e w o r k 软件工具包,其中除了n e tf r a m e w o r k 的全 部组件以外,还包括了开发n e tf r a m e w o r k 应用程序所必须的工具、代码实例 ( s a m p l e s ) 和相关文档。 n e t f r a m e w o r k 比j 包括三个主要的组成部分:c l r ( c o m m o nl a n g u a g e r u n t i m e ) 、服务框架( s e r v i c ef r a m e w o r k ) 和上层的两类应用模板一一传统的 w i n d o w s 应用程序模板( w i nf o r m s ) 和基于a s p ,n e t 的面向w e b 的网络应用程 序模板( w e bf o r m s 和w e bs e r v i c e s ) 。服务框架提供了基类库,包括集合、输 入输出、字符串及数据类。其中,c l r 和c l a s sl i b r a r y 构成了,n e t 平台的核 心。实际上,w i n d o w s 操作系统本身就是一个由r u n t i m e 引擎和函数库构成的集 合,向应用程序提供各种服务。图2 一l 显示了基于n e tf r a m e w o r k 的编程模型。 ij ,c r o s o f t 1l jf r 8 d 1 w o 臧_ 、鞭,鬻,。 a s p 眦t w i nf o r m s 7 w e bf o r m sw e bs e r v i c e s s e r v i c e sf r a m w o r k i b a s e l o a t a l d e n u s i ,i i c o m m o nl a n g u a g er u n t i m e , s y s l c ms e r v i c e s 图2 - 1 n e tf r a m e w o r k 应用程序开发模型 1 c l r c l r 是n e tf r a m e w o r k 的基础,为基于n e t 平台提供一个跨所有编程语言 的统一的运行环境。c l r 通过中间语言( 】i ) 等机制实现基于,n e t 的编程用来支持 9 山东大学硕士学位论文 代码的运行,提供内存和线程管理等核心系统服务,并且严格的校验代码安全。 在n e tf r a m e w o r k 中,源代码首先被编译器编译成6 s i l ( m j c r o s o f t i n t e r m e d i a t el a n g u a g e ) 代码,在程序运行的时候,c l r 中的即时编译器 ( j u s t i n t i m ec o m p i i e r ) 再将m s i l 代码即时编译成本地的机器语言在对应的系 统中运行。基于c l r 开发的代码被称为m a n a g e dc o d e ,而运行时不需要c l r 的 代码就被称为u n m a n a g e dc o d e 。受控代码指向的对象在执行过程中完全被c l r 所控制,在执行过程中,c l r 提供自动内存管理、调试支持、增强的安全性及与 非受控代码( 如c o m 组件) 的互操作性。 2 e l a s sljb r a r y c l a s sl i b r a r y 是建立在c l r 基础上的一个可被用于任何编程语言的类 库,n e t 平台提供的功能在c l a s sl i b r a r y 中被划分成不同的名字空间 ( n a m e s p a c e ) ,每个名字空间都是由相关功能的“类”组成。而且,利用面向对 象技术中的“类重载( o v e r l o a d ) ”可以实现使用相同的方法名来标识几个相近的 功能,通过方法参数的差异来区分不同功能。另外,面向对象技术提供的“继承 ( i n h e r i t a n c e ) ”和“多态( p o l y m o r p h i s m ) ”对于合理构建类库也具有重要的作 用。 3 a s p n e t a s p n e t 本身是一个完整的架构,使用它可以开发w e b 站点和基于m a n a g e d c o d e 的i n t e r n e t 分布对象。a s p n e t 应用程序分为w e bf o r m s 和w e bs e r v i c e s 两种,它们的发布都要通过i i s ( i n t e r n e ti n f o r m a t i o ns e r v e r ) 来实现。在n e t f r a m e w o r kc l a s sl i b r a r y 中有专门的类用来支持a s p n e t 技术。 2 1 2 n e tf r a m e w o r k 特点 n e tf r a m e w o r k 继承了w i n d o w s 平台具有的优点,同时又引入了许多具有 革命性的新特点。下面将介绍一些n e tf r a m e w o r k 的重要特点a 1 一致简化的编程模型 在以前的w i n d o w s 平台中,操作系统提供的功能有的是通过d l l 函数实现, 有的是通过c o m 对象实现。而n e tf r a m e w o r k 提供的所有底层服务都是采用一 种通用的面向对象编程模型。 1 0 山东大学硕士学位论文 2 克服了d l l 版本冲突 w i n d o w s 平台中存在d l l 版本冲突,它是指在安装应用程序的时候,新应用 程序的组件可能会覆盖己经安装好的其它应用程序的组件,从而引起其它应用程 序工作不正常甚至停止工作。在n e t 架构中,属于不同应用程序的组件被分离 开,每个应用程序总是加载自己的组件。一旦应用程序安装成功,那么它就会永 远正常的运行。 3 ,应用程序可以运行于多个平台( e x e c u t eo nm a n yp l a t f o r m s ) 用户编写的应用程序,只要被编译成基于n e tf r a m e w o r k 的m a n a g e dc o d e , 那么它就可以运行在任何一个支持c l r 的平台上,包括非w i n d o w s 平台。 4 语言集成( l a n g u a g ei n t e g r a t i o n ) c o m 技术允许不同的语言进行交互,而n e t 允许不同的语言集成在一起。例 如:在n e t 中可以使用v i s u a lb a s i c 编写一个父类,然后再使用c # 编写一个继 承自那个父类的子类。同时,c l r 还支持跨语言的联合调试( d e b u g ) 。n e t 技术 能够做到这一点是由于它提供了一个c o m m o nl a n g u a g es p e c i f i c a t i o n ,其中定 义了n e t 平台中各种编译器必须实现的方方面面,从而保证了各种不同的语言 能够真正的集成。微软提供的n e t 编译器有:c # 、v i s u a lb a s i c 、j s c r i p t 和 m a n a g e de x t e n s i o n sf o rc + + 。就c l r 而言,所有的语言都是平等的,任何基于 c l r 的语言都应当具有c l r 的特性。在4 种编译器中,只有c + + 的编译器能够生 成u n m a n a g e dc o d e 。另外,其它厂商也可以提供基于c l r 的其它种类编译器。 5 自动资源管理( a u t o m a t i cr e s o u r c em a n a g e m e n t ) n e tf r a m e w o r k 的资源管理机制是由c l r 自动的分配、跟踪和释放资源, 从而保证永远不会出现资源的泄漏。 6 类型安全( t y p es a f e t y ) 所谓类型安全就是指,所有被分配的对象都必须通过正确的方式进行访问。 c l r 能够保证应用程序中所有的代码都是类型安全的。例如:若某方法的一个输 入参数被声明为接收4 个字节的值,那么c l r 将不允许该输入参数被当作8 字节 的值来使用。同样,如果一个对象在内存中占据了1 0 个字节,那么访问这个对 象的程序将无论如何也不能读取超过1 0 个字节的信息。另外,类型安全还意味 着程序的运行仅仅只能在方法的入口点( m e t h o de n t r yp o i n t ) 之间转移,不能对 内存空间进行任意的引用,也不能将程序转移到内存的任意位置运行。这样就可 i i 山东大学硕士学位论文 以避免许多常见的编程错误,同时也可以防止利用“内存溢出( b u f f e ro v e r t u n ) ” 进行系统攻击。 2 2w e bs e r v ic e w e bs e r v i c el 3 j 是微软n e t 战略计划的基础。一个w e bs e r v i c e 就是一个应 用w e b 协议的可编程的应用程序逻辑,应用的这些协议中就包含简单对象访问协 议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 ) 。 从表面上看,w e bs e r v i c e 就是一个程序,它向外界公布了一个能够通过w e b 进行调用的a p i 。这就是说,能够用编程的方法通过w e b 来调用这个程序。在 w i n d o w s 平台上,可以用c o m 或者d c o m 建立基于组件的分布式应用程序,但是 它不能有效地进行跨平台的调用和操作。w e bs e r v i c e 平台是一套标准,它定义 了应用程序如何在w e b 上实现相互操作,用任何语言、在任何平台上写的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 是一种全新的w e b 应用程序分支,它们是自包含、自描述、模 块化的应用,可以发布、定位、通过w e b 调用。一旦部署以后,其他w e b s e r v i c e 应用程序可以发现并调用它部署的服务。可将w e b 服务视作w e b 上的组件编程。 2 2 1w 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 提供者、请求者和代理三个角 色以及发布、发现和绑定三个动作构建的,其关系如图2 2 所示。 图2 2w e bs e r v i c e 面向服务的体系结构( s o a ) s o a 体系结构定义了3 种角色和角色之问的3 种操作: 服务提供者角色:发布自己的服务,并且对使用自身服务的请求进行响应: 服务代理者角色:注册己经发布的服务提供者,对其进行分类,井提供搜索 服务; 山东大学硕士学位论文 服务请求者角色:利用服务代理者查找所需的服务,然后使用该服务: p u b l i s h 操作:使服务提供者可以向服务代理者注册自己的功能及访问接口: f i n d 操作:使服务请求者可以通过服务代理者查找特定种类的服务: b i n d 操作:使服务请求者能够真正使用服务提供者。 2 2 2w 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 e bs e r v i c e 还需要标准的格式和协议用以 对x m l 进行合理的解释。这些标准的格式和协议就是w e bs e r v i c e 所基于的x m l 的3 大关键技术:s o a p 、w s d l 和u d d i 。 ( 1 ) 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 ) 一可扩展的标记语言,是一个基于 文本的w 3 c ( 万维网联盟) 规范的标记语言,是s g m l ( 标准通用标记语言) 针对特定 应用领域的一个子集。其最大的特点是将信息的描述与信息的处理分丌,使得数 据具有自我描述能力。x m l 有很好的扩展性、开放性,而且具有可验证的特性等。 x m l 严格地定义可移植的结构化数据,并对数据赋予上下文相关功能,x m l 可以 使w e bs e r v i c e 十分方便地处理数据。 ( 2 ) 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 ) 简单对象访问协议,是一种基 于x m l 的表示层协议,它用来在应用程序之间以对象的形式对等地、方便地交换 数掘。s o a p 采用h t t p 作为底层通信协议、r p c 作为致性的调用途径、x m l 作 为数据传送的格式,并通过防火墙使服务提供者和服务客户在i n t e r n e t 上进行 通信交互,支持s m t p 、f t p 、t c p 、p o p 3 等标准协议。s o a p 完全独立于任何厂商, 可以相对于任何编程语言、对象模型、操作系统和平台独立实现。 ( 3 ) w s d l ( w e bs e r v i c ed e s c r i p t i o nl a n g u a g e ) - - w e b 服务描述语言,定 义了一个基于x m l 的组件描述标准机制。w s d l 将w e b 服务定义为进行消息交换 的网络通信端点集。w s d l 描述的服务信息可以是发稚的内容、查找的返回结果 以及绑定的信息。w s d l 为服务提供者提供了一个简单的方法用以描述申请的形 式并响应远程方法调用信息( r m i ) 。w s d i 。提供一个抽象的语言,利用参数和数掘 类型柬定义被发布的操作、服务的位置i u 绑定的细节等。w s d l 不依赖于底层的 机议和编码要求。 山东大学硕士学位论文 ( 4 ) 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 ) 一通用 描述、发现和集成协议,提供了一个基于w e b 的、分布式的注册、发布和发现 w e bs e r v i c e 的标准机制。u d d i 的核心组件是u d d i 商业注册,它使用一个x m l 文档来描述企业及其提供的w e bs e r v i c e 。 图2 3 播述了w e bs e r v i c e 关键技术之间的关系。服务提供者向服务客户提 供服务前,先使用w s d l 描述其服务,并在u d d i 注册中心注册。u d d i 注册中心 保存有指向w s d l 描述和指向服务的指针。一旦服务客户需要使用服务,则先查 询u d d i 注册中心找到相应的服务并获取相应的w s d l 描述和指向服务的指针。服 务客户使用所得到的w s d l 描述构造一条s o a p 消息,服务客户与w e bs e r v i c e 之 间使用此消息进行通信。 图2 - 3w e bs e r v i c e 的关键技术 2 2 3w e bs e r v ic e 调用的工作过程 进行一个w e bs e r v i c e 调用所进行的工作过程与进行个通常的方法调用 非常类似,唯一不同的是w e bs e r v i c e 的调用信息和返回信息都要经过网络传输, 具体的工作过程如图2 4 所示。客户端首先创建了一个w e bs e r v i c ep r o x y 对象, 并调用它的一个方法。该方法的参数被客户机的底层系统串行化( s e r i a l i z e ) 成 s o a p 信息,并把它通过网络传递给w e bs e r v i c e 。实现w e bs e r v i c e 的w e b 服务 器接收到该s o a p 信息,并使用其底层系统反串行化( d e s e r i a l i z e ) 接收到的x m l 信息。同时,w e b 服务器会刨建一个实现w e bs e r v i c e 的类的对象,并调用该对 象的指定方法,传递给它经过反串行化得到的参数。对应的方法在运行后会得到 返回值,并设置相应的输出参数。w e b 服务器的底层系统会把返回值和输出参数 串行化成s o a p 信息,通过网络传递给指定的客户端。客户端在接收到该s o a p 信息后,会使用底层系统反串行化x m l 信息得到返回值和输出参数,并把它们传 递给那个w e bs e r v i c ep r o x y 对象。这样就完成了一个w e bs e r v i c e 调用的工作 过程。 图2 - 4w e bs e r v i c e 调用的工作过程 在w e bs e r v i c e 和客户之间的通信可以分为同步( s y n c h r o n o u s ) 和异步 ( a s y n c h r o n o u s ) 两种。客户发出一个w e bs e r v i c e 请求后,在同步模式下客户会 停止进行其它的操作等待返回的r e s p o n s e ,而在异步模式下客户会在等待 r e s p o n s e 的同时进行其它的操作。 2 。3a s p n e t 2 3 1a s p n e t 概述 a s p n e t ( a c t i v es e r v e rp a g e n e t ) l 5 1 是统一的w e b 开发平台,提供了仓0 建 w e b 应用程序所必须的服务,是n e tf r a m e w o r k 的重要组成部分。与其它w e b 开 发技术相比,它提供了个全新的开发模型和相关的底层结构,能够用来实现安 全、稳定、易于升级的w e b 应用程序。 a s p n e t 应用程序可以利用n e tf r a m e w o r k 提供的所有资源,并且允许使用 功能强大的v i s u a lb a s i c 和c # 进行开发。它的运行要基于i i s5 0 ( i n t e r n e t i n f o r m a t i o ns e r v i c e s ) 中的w e b 服务器。i i s 是由m i c r o s o f t 推出的基于w i n d o w s 平台的i n t e r n e t 服务器,可以支持w e b 、f t p 、s m t p 和n n t p 等网络服务。i i s 5 0 己经成为w i n d o w s2 0 0 0 操作系统( s e r v e r 版) 的一个组成部分。图2 5 显示了 a s p n e t 应用程序的运行环境。 图2 - 5a s p n e t 应用程序的运行环境 山东大学硕士学位论文 a s p n e t 应用程序主要分为两类:w e bf o r m 和w e bs e r v i c e 。它们基于相同 的底层结构,并且可以结合起来构成w e b 应用程序。w e bf o r m 是基于f o r m 的w e b 页面,是在n e tf r a m e w o r k 平台提出的全新开发模型。它使w e b 丌发工作更加 简单,而且可以在其中使用最新推出的a s p n e ts e r v e r 控件。使用它不仅可以 创建面向标准客户浏览器的w e bf o r mp a g e ,还能够开发出面向移动设备的 m o b i l ew e bf o r m ,其中要使用专用于移动设备的控件。w e bs e r v i c e 是n e t 平 台的核心,它采用x m l 、h t t p 和s o a p 等标准能够顺利的通过防火墙,远程访问 服务器。更重要的是w 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 的优秀 技术。 与p e r l 、a s p 和p h p 等w e b 开发技术相比,a s p n e t 作为新一代的w e b 技术 具有许多优点,下面给以简单的介绍。 由于a s p n e t 基于n e tf r a m e w o r k 平台,因此它具有平台提供的稳定性和可 扩展性。而且,它还可以使用n e tf r a m e w o r k 提供的所有资源,能够开发出 功能丰富而又强大的a s p n e t 应用程序。 以前的w e b 技术采用瓣释执行,而a s p n e t 程序先被编译器编译成m s i l 代 码,在运行的时候再被j i t 编译成本地代码运行,因此具有更高的性能和效 率。 a s p n e t 提供了i h t t p h a n d l e r 和i h t t p m o d u l e 两个接口,可以替代早期的 i s a p i ( i n t e r n e ts e r v e ra p i ) 。实现i h t t p h a n d l e r 接口就能够与i i sw e b s e r v e r 底层的r e q u e s t 和r e s p o n s e 服务交互,提供类似于i s a p i e x t e n s i o n 的功能。但是,与i s a p i 相比,i h t t p h a n d l e r 是一个更简单的编程模型。实 现

温馨提示

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

最新文档

评论

0/150

提交评论