(测试计量技术及仪器专业论文)分布式远程实验教学管理系统的研究与开发.pdf_第1页
(测试计量技术及仪器专业论文)分布式远程实验教学管理系统的研究与开发.pdf_第2页
(测试计量技术及仪器专业论文)分布式远程实验教学管理系统的研究与开发.pdf_第3页
(测试计量技术及仪器专业论文)分布式远程实验教学管理系统的研究与开发.pdf_第4页
(测试计量技术及仪器专业论文)分布式远程实验教学管理系统的研究与开发.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

(测试计量技术及仪器专业论文)分布式远程实验教学管理系统的研究与开发.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着网络技术和数据库技术的蓬勃发展,各个学校都在积极进行校园管理信 息系统的开发使用,不断实现网络化教学,网络化管理,网络化办公。基础物理 实验教学中心作为南开大学物理科学学院的实验教学基地,承担着大量的实验教 学任务。为了使学生能够在网上方便的进行实验成绩查询,了解实验相关信息; 使教师可以方便的在网上进行实验管理,完成成绩录入等繁琐的工作,也为了让 管理员清楚快捷的管理实验信息,我们提出了开发实验管理信息系统这个课题。 本论文的主要工作是针对基础物理实验教学中心实验管理的需求,基于面向 对象和w e bs e r v i c e 技术,设计完成了实验信息管理系统的开发。本系统采用三 层c s 与b s 相结合的结构,客户端用d e l p h i 开发出友好的交互界面,中间层 利用w e bs e r v i c e 技术来发布写好的j a v a 程序供客户端访问,并应用了t o m c a t 容器以及a x i s 框架,充分发挥了j a v a 语言的良好的跨平台性。中问层通过配 置t o m c a t 的数据库连接池与数据库服务器相连,将s q l 指令传给数据库服务器。 数据库服务器采用s q ls e r v e r 数据库。三层结构的设计不仅保证了系统的安全 性,也为日后系统的更新换代打好了基础。而c s 与b s 相结合的结构综合考 虑了本系统用户群的特殊性。 本论文也介绍了实验信息管理系统开发的背景和意义以及网络数据库的发 展历程,介绍了w e bs e r v i c e 等相关技术。从需求分析,系统设计,客户端开发, 功能层开发等几个方面描述了本实验信息管理系统的开发流程和开发思想。在论 文的最后进行了总结并指出了进一步的研究方向。 关键词:w e bs e r v i c e ,实验管理信息系统,分布式 1 1 1 a b s 廿o c t a b s t r a c t w i mt h ef l o u r i s h i n gd e v e l o p m e n to ft h en e t w o r kt e c h n o l o g ya n dd a t a b a s e t e c h n o l o g y , e a c hu n i v e r s i t yi sc a r r y i n go nt h ed e v e l o p m e n to f t h em i s ( m a n a g e m e n t i n f o r m a t i o ns y s t e m ) a n du s i n gi ti nt h ec a m p u sa c t i v e l y , t or e a l i z en e t w o r k e d t e a c h i n g ,m a n a g e m e n t a n db u s i n e s s t h e p h y s i c s f u n d a m e n t a l t e a c h i n g e x p e r i m e n t a lc e n t e ro fn a n k a iu n i v e r s i t yu n d e r t a k e sal a r g en u m b e ro fe x p e r i m e n t t e a c h i n gt a s k s t om a k ei tc o n v e n i e n tf o rs t u d e n t st og e tt h ee x p e r i m e n ti n f o r m a t i o n o nt h en e ta n df o rt e a c h e r st oc a r r yo ne x p e r i m e n tm a n a g e m e n to nt h en e t ,w h i c hc a r l r e d u c et h et e a c h e r s w o r kl o a dt oac e r t a i ne x t e n t ,a n dt om a k ea d m i n i s t r a t o r sc l e a r l y a r r a n g es t u d e n t s e x p e r i m e n tt i m e ,p l a c ee r e ,w ep u tf o r w a r dt h es u b j e c t o f d e v e l o p i n gt h ee x p e r i m e n tm a n a g e m e n ti n f o r m a t i o ns y s t e m a c c o r d i n gt ot h ed e m a n do ft h ep h y s i c sf u n d a m e n t a lt e a c h i n ge x p e r i m e n t a l c e n t e r , a n db a s i n gt h eo b j e c t o r i e n t e da n dw e bs e r v i c et e c h n o l o g y ,w eh a v e f i n i s h e dd e s i g n i n gt h ee x p e r i m e n tm a n a g e m e n ti n f o r m a t i o ns y s t e m t h i ss y s t e m a d o p t st h es t r u c t u r eo ft h r e el a y e r so fc sc o m b i n e dw i t hb s t h ec l i e n t i s d e v e l o p e di n t oaf r i e n d l yi n t e r a c t i v ei n t e r f a c ew i t hd e l p h i t h em i d d l el a y e rm a k e s u s eo fw e bs e r v i c et e c h n o l o g yt op u b l i s hj a v a p r o g r a mf o r t h ec l i e n tt oa c c e s s ,m a d u s e st o m c a tc o n t a l n e ta n da x i sf r a m et oe x e at h ec h a r a c t e r i s t i co fj a v a s e x c e l l e n ts p a n - t h e f l a t t h em i d d l el a y e rl i n k sw i t hd a t a b a s es e r v e rb yc o n f i g u i n g t h ed a t a b a s ep o o lo ft o m c a t ,a n dp a s ss q li n s t r u c t i o n st ot h ed a t a b a s es e r v e r t h e d e s i g no f t h r e el a y e r ss t r u c t u r ec a nn o to n l ye n s u r et h es e c u r i t yo fs y s t e m ,b u ta l s o l a yt h ef m m d a t i o n sf o rt h ef u t u r eu p d a t eo ft h es y s t e m a n dw eh a v es y n t h e t i c a l l y c o n s i d e r e dt h ep a r t i c u l a r i t yo f t h i ss y s t e m su s e r sa st ot h es t r u c t u r eo f c sc o m b i n e d w i t hb s i nt h i st h e s i sw ea l s oi n t r o d u c et h eb a c k g r o u n da n ds i g n i f i c a n c eo ft h e e x p e r i m e n tm a n a g e m e n ti n f o r n i a t i o ns y s t e m ,t h ed e v e l o p m e n t c o u r s eo f t h en e t w o r k d a t a b a s e ,a n dr e l e v a n tt e c h n o l o g y a b o u tw e bs e r v i c ee t c i td e s c r i b e st h e a b s t r a c t d e v e l o p m e n tp r o c e d u r ea n dt h ed e v e l o p m e n tt h o u g h t so ft h es y s t e mf r o mt h e r e s p e c t ss u c ha st h er e q u i r e m e n ta n a l y s i s ,t h ed e s i g no ft h es y s t e ms t r u c t u r e t h e d e v e l o p m e n to ft h ec l i e n tl a y e ra n dt h em i d d l el a y e re t c a tt h ee n do ft h et h e s i s w es u m m a r i z ea n d p o i n to u tt h e 向f f 2 1 e rs t u d yd i r e c t i o n k e y w o r d :w e bs e r v i c e ,t h e e x p e r i m e n tm a n a g e m e n t i n f o r m a t i o n s y s t e m ,d i s t r i b u t e dt y p e v 第一章绪论 1 1 研究开发背景 第一章绪论 i n t e m e t 的普及和应用使人们的生活方式发生了巨大的变化。随着网络技术 和数据库技术的蓬勃发展,将二者结合的网络数据库技术应用到了社会生产生 活的各个方面。目前,在国防军事,交通运输,财政金融,科学教育等各个领 域都实现了网络信息化管理,各种信息管理系统应运而生。学校作为接受新知 识的最前沿,各个学校都在积极进行校园管理系统的开发使用。常见的管理系 统比如学生学籍管理系统,研究生教育管理信息系统,高校人事管理系统,教 务管理系统等等。而将信息管理系统应用于实验教学管理领域的例子并不多见, 可以说在这一方面,我们进行了新的尝试。 基础物理实验教学中心作为南开大学物理科学学院的实验教学基地,承担 着大量的实验教学任务,不仅包括本学院学生的物理实验教学工作,也包括生 命科学学院,信息科学学院,数学学院,医学院的基础物理实验教学工作。参 加实验的学生人数众多并且分布在几个学院,这些都给实验教学带来了很多难 题。随着学校的逐年扩招,学生的人数有增无减,而教师人数是有限的,教师 们承担大量的实验教学工作已经很辛苦,而传统的实验人工管理工作,繁琐的 学生实验成绩录入工作又将分散了教师的大量精力。 经过综合比较分析,我们能确定网络平台应用于实验管理比之于传统的人 工管理方式有着以下优点: 1 存取信息更加方便和容易,网络化的平台使得成绩录入工作方便快捷, 也使教师换课,课程调整,查阅学生情况等信息的存取修改工作简单化,省略 了传统人工管理中很多繁琐的程序,也节省了教师,系统管理人员的宝贵时间, 使他们能够把更多精力有效的集中于实验教学上。 2 网络防议、结构及应用久经考验、健壮稳定。我们所建立的网络系统具 有良好的稳定性,安全性,保证信息安全有效的使用。 3 信息更准确、更安全,界面更友好。从数据库中对信息的直接存取,使 得教师用户能够直接将成绩增删修改到数据库之中,成绩录入环节的简单化, 第一章绪论 减少了传统多道程序填写成绩出错的可能性。 4 查询更方便更快捷,还可阱实现远程操作和办公 远程的操作和办公在本系统之中是很实用的。随着参加教学实习的研究生 逐年增多,而他们所在的实验室不一定能够提供充足的安装了客户端软件的电 脑供他们使用,所以我们设计了通过浏览器就可以登陆相关网页,经过用户信 息验证后可以进行成绩录入的子系统来解决这个问题,让参加教学实习的研究 生们能够在宿舍上网录入成绩,实现了远程的操作和办公,也使他们的工作时 间更灵活,不受限制。 综上所述,为了使复杂的实验管理工作能够清楚、方便、系统、简单化, 我们从事了这套实验教学管理系统的研制开发。 1 2 网络数据库的发展历程: 建立计算机网络的主要目的是实现资源共享和计算机之间的通信。资源共 享包括硬件资源共享,软件资源共享,数据资源共享和通信信道资源共享,其 中的数据资源共享作为网络的主要功能之一,其共享的方式随着网络数据库系 统结构模型的不同而不同。我们在设计一个系统时首先要考虑它的体系结构。 目前,网络技术和软件技术的飞速发展使计算机网络数据库系统的结构模式不 断发展变化。从主机终端模式发展到文件服务器( f s ) 模式,再到客户机 服务器( c s ) 模式和浏览器朋目务器( b s ) 模式,各有其特点和适用范围。 1 2 1 主机终端模式 早期由于主机价格昂贵,为了共享主机资源,一台主机要同时为多个用户 服务。由于没有和通信相结合,这种系统所连接的终端往往离主机很近。在“主 机+ 终端”模式中,终端几乎没有任何计算能力,所有处理都是由主机承担, 这就要求主机具有十分高的性能,也导致了主机的负载过大。 1 2 2 文件服务器( f s ) 模式 后来的文件服务器( f s ) 模式,所有处理几乎都由工作站承担,文件服 2 第一章绪论 务器只起共享磁盘的作用。在文件服务器( f i s ) 模式中,通常以一台或几台 服务器作为共享资源的主题,在文件服务器中提供高速存取的大容量磁盘,用 于存放网络中其他共享的文件和目录,包括各种应用程序和数据库。用户根据 自己所拥有的权限使用程序,访问数据库。采用这种方式访问数据库,通信量 特别大,所以效率比较低。 随着w e b 技术的发展以及对客户机与服务器效率要求的提高,近年来普遍 采用的模式为c s 和b s 模式。 1 2 3 客户机服务器( c s ) 模式 即c s ( c l i e m s e r v e r ) 模式。 这是一种大家熟知的系统模式,在c s 模式中,客户端运行数据库应用程 序,完成屏幕交互和输入输出处理等前端任务。服务器端运行数据库管理系统, 完成大量的存储管理和数据处理等任务。客户端和服务器具有协同处理,c p u 共享的能力。 客户机服务器模式中网络上传输的不是整个文件,而是客户请求命令和服 务器响应及数据记录。通过将处理工作合理分配到两个系统上,网上信息流量 大大减少,降低了系统的通讯开销,充分的利用了两端硬件环境的优势,发挥 了c l i e n t 和s e r v e r 两方面的处理能力。 传统的c s 结构是两层的,在过去应用系统开发过程中,两层c s 体系结 构得到了广泛的应用。其特点是,应用程序逻辑通常分布在客户和服务器两端, 客户端发出数据资源访问请求,服务器端将结果返回客户端。但这种两层的c s 结构存在着很多体系结构上的问题,比如:当客户端数目激增时,服务器端的 性能会因为负载过重而大大衰减;一旦应用的需求发生变化,客户端和服务器 端的应用程序都需要进行修改,给应用维护和升级带来了极大的不便;而且大 量的数据传输增加了网络的负载等等。 传统双层c s 模式的不足: 1 :客户端与服务器直接相连,服务器端将消耗部分系统资源用于处理与客 户端的连接工作,那么当同时存在大量客户端数据请求时,服务器有限的系统 资源将被用于频繁应付与客户端之间的连接,从而无法及时响应数据请求。客 第一章绪论 户端数据请求堆积的直接后果就是导致系统整体运行效率的大幅度降低甚至全 面崩溃。 2 :主从式的结构中,数据库服务器成为系统可靠性的极大隐患。 3 :客户端应用程序的分发工作很繁琐。对客户端程序的修改和升级也非常 的麻烦。 4 :这种结构是单- - n 务器并且以局域网为中心,难以扩展至大型企业网或 者i n t e m e t 。 5 :数据的安全性也不够好。由于客户端程序可以直接访问数据库服务器, 客户端计算机上的其他程序也可想办法访问数据库服务器,增加了数据的不安 全性。 1 2 4 三层c s 体系结构模式 近年来已普遍采用三层c s 模式,即“客户机一功能服务器一数据库服务 器”模式。 所谓三层体系结构,是在客户端与数据库之间加入了一个”中间层”。而这 个三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结 构,也不仅仅有b s 应用才是三层体系结构,三层是指逻辑上的三层,即使这 三个层放置到一台机器上。在多层分布式应用中,在客户端和服务器之间加入 了一层或多层应用服务程序,这种程序称为”应用服务器”。开发人员将应用的 商业逻辑放在中间层应用服务器上,把应用的业务逻辑与用户界面分开。在保 证客户端功能的前提下,为用户提供一个简洁的界面。这意味着如果需要修改 应用程序代码,只需要对中间层应用服务器进行修改,而不用修改成千上万的 客户端应用程序。从而简化了应用系统的开发、更新和升级工作。 简单的说,三层结构,即是把系统分为客户端,应用服务器( 即通常所说 的中间层) ,数据服务器三层。如图所示: 第一章绪论 在系统中客户端是应用的用户接口部分,担负着用户与应用间的对话功能。 用于检查用户从键盘输入的数据,显示应用输出的数据,一般采用图形用户接 口,操作简单。客户端的开发一般采用d e l p h i ,j a v a ,v b 等开发语言。 功能层是整个系统的关键,它必须具有事务处理和安全控制的能力。通常 在功能层中包含有确认用户对应用和数据库存取权限的功能以及记录系统处理 日志的功能。它相当于应用的本体,将具体的业务处理逻辑编入程序中。在有 数据库访问任务时,根据客户机的要求向数据库服务器发送s q l 指令。这层的 程序一半是用可视化编程工具开发的,例如接受请求数据,以及把数据处理结 果传送到客户端;另一半是由数据库管理系统来完成的,例如协调数据请求, 传送s q l 处理结果等等,其中数据的传送是以网络为基础。功能层的引入更易 于系统功能的扩展也提高了代码的重用性。 数据服务器就是数据库管理系统( d b m s ) 。用来执行功能层送来的s q l 指令,实现对数据库数据的读、写、删、改及查询等操作。操作完成后通过功 能服务器向客户机返回操作结果。d b m s 必须能迅速执行大量数据的更新和检 索,支持并发操作。 三层c s 结构的解决方案是:对三层进行明确分割并使其在逻辑上保持各 自的独立性。原来的数据层作为数据库管理系统已经独立出来,所以,关键就 在于将客户端和功能层分离成各自独立的程序,并且还要使这两层之间的接口 简洁明了。 第一章绪论 采用三层c s 结构的优点有: 1 :对三层结构清楚合理的划分并在逻辑上使其独立,这使得整个系统的逻 辑结构更清晰。有利于提高系统的可维护性和扩充性。 2 :三层结构中,各层可以并行开发。用户也可以分别选择最适合的开发语 言用于开发各层。这样提高了开发的效率,达到较高的性价比。 3 :维护升级方便,降低系统成本。三层结构的分割如果清晰合理,逻辑上 又各自独立,则可以使系统构成的变更非常简单。随着业务发展以及用户数、 数据量的增加,对系统的负荷能力与处理能力上就会有了更高的要求。而三层 结构的各层都具有良好的可升级性和开发性。为系统的进一步扩充打好了基础。 比如本来只有一台服务器,但是随着对系统更新升级的要求,我们可以将功能 层和数据层放在两台服务器上,也可以继续增加功能层服务器的数目,这些都 是可行的。 4 :严密的安全管理。在三层结构中,因为有功能层将客户端与数据库隔丌, 因此得不到授权的用户很难绕过功能层以非法手段访问数据库。这样增加了系 统的安全性,方便对系统进行严密的安全管理。 l - 2 5 浏览器朋艮务器( b s ) 模式: 即浏览器月艮务器( b r o w s e s e r v e r ) 模式。 在这种模式中,用户界面完全通过w w w 浏览器实现,一部分事务逻辑在 前端实现,但是主要事务逻辑在服务器端实现,形成所谓三层结构。 所有组成状态的事物,如操作系统,应用程序和数据等都从客户端移到了 服务器上。前端的客户机保留与客户进行交互的应用程序以及一些不需要在服 务器上运行的程序,这些程序平时并不存放在客户机上,它只是在需要的时候, 才通过网络从服务器下载到本机运行,并且可以在不同的硬件平台上运行,不 必针对不同平台来编写不同版本的应用程序并维护它。 这种结构是随着i n t e r n e t 技术的兴起,对c s 结构的一种变化或者改进。它 利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大 功能,同h , j - 节约了开发成本,是一种全新的软件系统构造技术。这种结构更成 为当今应用软件的首选体系结构。传统的c s 体系结构在特定的应用中无论是 第一章绪论 c l i e n t 端还是s e r v e r 端都还需要特定的软件,没能提供用户真正期望的开放环 境:b s 结构则不同,它的前端是以t c p i p 协议为基础的,企业内的w w w 服 务器可以接收安装有w e b 浏览程序的i n t e m e t 终端的访问,作为最终用户,只 要通过w e b 浏览器,各种处理任务都可以调用系统资源来完成,这样大大简化 了客户端,减轻了系统维护与升级的成本和工作量。b s 架构的软件只需要管 理服务器就行了,所有的客户端只是浏览器,并不需要做任何的维护。客户机 越来越”瘦”而服务器越来越”胖”是将来软件的主流发展方向,这使得升级和维 护越来越容易而使用越来越简单。 当然,这种模式也不是完美无缺的,”瘦”客户机”胖”服务器的模式必然会 导致服务器任务加重,由此会产生影响效率的问题。这种模式下,系统扩展能 力差,安全性难以控制。因此从安全和升级换代的角度来看,它也不是最理想 的选择。由此可见,传统的c s 体系结构并非一无是处,而新兴的b s 体系结 构也并非十全十美。由于c s 体系结构根深蒂固,技术成熟,原来的很多软件 系统都是建立在c s 体系结构基础上的,因此,b s 体系结构要想在软件开发 中起主导作用,还有很长的路要走。 1 3 本论文的工作 针对基础物理实验教学中心实验管理的需求,基于面向对象和w e bs e r v i c e 技术,设讣完成了实验信息傺理系统的开发。本系统采用三层c s 与b s 相结 合的结构,客户端用d e l p h i 开发出发好的交互界而,中问层利用w e bs e r v i c e 技术来发布写好的j a v a 程序供客户端访问,并应用了t o m c a t 容器以及a x i s 框架,充分发挥了j a v a 语言的良好的跨平台性,中间层通过配置t o m c a t 的数 据库连接池与数据库服务器相连,将s q l 指令传给数据库服务器。数据库服务 器采用s q ls e r v e r 数据库。通过本系统在实验教学管理中的应用,使得教师可 以方便的在网上进行实验管理,了解所教实验的学生状况,更容易的完成成绩 录入等繁琐的工作:使学生在宿舍通过校园网就可以方便的进行实验成绩查询, 了解实验课程,实验时间,实验地点的安排;也可以让实验管理人员清楚、快 捷的安排调整学生实验时间、地点以及任课教师的课程,可以方便的进行成绩 汇总等工作。本系统的使用也是学院实验管理信息化的一个重要标志。 第一章绪论 在本系统丌发过程中,我们始终本着以下几个原则: 1 实用性 开发出的这套系统不是单纯理论上的研究,也不能是纸上谈兵,而是要真 正方便教师学生使用的,因此实用性作为系统设计的重中之重。 2 易操作性 开发的系统要符合教师的操作习惯,要尽可能的简单操作,完成复杂的功 能。也要在简单的操作中提供出大量的所需信息。 3 安全性 本系统管理着几个学院学生的实验成绩,要保护成绩不能被别人轻易的改 动,因此安全性也很重要。 1 4 论文的组织结构 本论文分为六章: 第一章为绪论部分,简要介绍了实验信息管理系统丌发的背景和意义以及 网络数据库的发展历程。描述了本论文的研究内容以及完成的工作。 第二章主要介绍了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 bs e r v i c e 技术介绍 2 1w e bs e r v i c e 的产生背景 在w e bs e r v i c e 出现以前,综合的企业应用程序是很难建立起来的。很多程 序使用c + + 、j a v a 、v i s u a l 、b a s i c 和其他各种各样的语言来编写,那么编程语 言的不同和各个组织提供的软件中间件的标准的不同导致系统间的协同工作能 力差,难以实现集成合作。 许多商用程序都面临这样的问题:就是与其他程序的互操作性。因为事实 上目前除了最简单的程序之外,所有的应用程序都需要与运行在其他异构平台 上的应用程序集成并进行数据交换。 在这里有必要提到软件模块化的思想。软件模块化思想是指通过软件组合 实现用户需要的应用。要想实现软件模块化,一个很重要的要求就是软件和软 件之间能够相互通信。只有这样,这个软件才能被其它软件调用,软件工程师 才能把现有的软件模块组装成为满足客户特定需求的软件应用。其实,从应用 的角度看软件,软件就是一个能够接收外界输入、然后按照实际需求处理这个 输入、最后将结果输出的功能模块。也就是说,除了内部的处理逻辑外,某个 具体软件的最重要的部分就是它与外界交互的输入输出接口。一个具体软件可 以为人所用,也可以为其它软件所用。为人用的软件要提供面向人的接口,比 如图形用户界面:为其它软件用的软件要提供面向软件的接口,这里称作编程 接口。 以往由于没有一个应用程序通信标准,是独立于平台、组件模型和编程语 言的,所以我们通常都是由特殊的方法,如文件传输和分析,消息队列,还有 仅适用于某些情况的a p i 来完成这样的任务。早期编程接门技术就是通过a p i 函数库的方式实现,这种方式至今仍被很多软件采用。但随着网络的发展,网 络间软件互相通信的需求越来越大。要实现跨网络软件的通信,需要解决的一 个重要问题就是如何能让运行在不同硬件平台、不同操作系统、不同数据库和 不同编程语言上面的软件互相通信。为了解决这个问题,软件工程师们推出了 很多解决方案,比如r p c ( 远程过程调用) 、c o r b a 、c o m e j b 等等,但效果 9 第二章w e bs e r v i c e 技术介绍 都不太理想。 与此同时,网络的使用方式也在经历着翻天覆地的变化w w w 访问方 式席卷全球。所谓w w w 访问方式包括服务器软件( w e bs e r v e r ) 和客户机软 件( 浏览器) ,双方通过h t t p 通信。客户端与服务器的通信问题,最好的解决 方法是使用h t t p 协议来通信。这是因为任何运行w e b 浏览器的机器都在使用 h t t p 协议。并且,当前许多防火墙也配置为只允许h t t p 连接。因为x m l 语 言可以跨平台,所以这种通信方式能够实现软件间跨平台通信,而且事实上它 也做到了。软件工程师们从这种h t t p 通信方式得到启发,结合先前发展起来 的构件思想,推出了新的跨平台编程接口技术_ w c 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 的消息传递,这对于任何一个编程语言、中间件、平 台都是很容易实现的通信机制,能够轻松的实现w e bs e r v i c e 使得客户端和服务 器能够自由的用h t t p 进行通信,不论两个程序的平台和编程语言是什么。 2 2w 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 bs e r v i c e 是建立可互操作的分布式应用程序的新平台。是一种在i n t e r a c t 上进行分布式计算的新思路。w e bs e r v i c e 平台是一套标准,它定义了应用程序 如何在w 曲上实现互操作性。你可以用任何你喜欢的语言,在任何你喜欢的平 台上写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 建立于s e r v i c e - - o r i e n t e d a r c h i t e c t u r e ( 面向服务的体系结 构) 基础之上。s o a 是最新的分布式计算技术,可以将软件组件( 包括来自不 同系统的应用程序函数、对象和进程) 发布为服务。w e bs e r v i c e 是自描述的模 块化的业务应用程序,他们通过可编程接口经由i n t e r a c t 将业务逻辑发布为服 务,并通过i n t e r n e 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 集组件技术和网络技术的特点于一身,它与一般组件的类似之 处在于同样都是可重用的软件模块,并且外部无需关心其内部的实现细节。但 与目前普遍采用的组件技术有所不同,w e bs e r v i c e 并不通过特定的对象模型来 进行访问,而借助通用的w e b 协议和数据表示方法,如h t t p 、x m l 和s o a p 。 正因如此,w e bs e r v i c e 理论上可以在任何平台上,并借助任何编程语言来实现。 2 3w e bs e r v i c e 的特点 w e bs e r v i c e 具有如下一些特点: ( 1 ) w e bs e r v i c e 基于x m l 消息交换,因此w e b 服务提供商与用户之间交 换的数据是以x m l 格式定义的。 ( 2 ) 具有良好的封装性。w e bs e r v i c e 是部署在网络上的软件对象,因此自 然具有对象那样良好的封装性。对于使用者而言,他们仅能看到该对象向外提 供的功能接口,而无法获悉内部的实现细节。 ( 3 ) 开发人员可以使用任何常用编程语言及现有的应用程序组件构建w e b s e r v i c e 。所有平台( 包括j 2 e e 、c o b r o 等) 都可以很好的支持w e b 服务的创 建和部署。 ( 4 ) 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 bs e r v i c e 的任 何变更对他们来讲都将是透明的。 ( 5 ) 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 采用简单并易于理解的标准w e b 协议来描述服务接口,完全屏蔽了 不同软件平台之间的差异,因此无论是c o r b a 、d c o m 或者e j b ,都可以通 过这一标准来实现相互间的互操作性。 ( 6 ) 可通过基于业务标准( 如u d d i ) 的公共和私有注册表动态定位和调用 w e bs e r v i c e 。 第二章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 平台需要一套协议来实现分布式应用程序的创建。任何平台都 有它的数据表示方法和类型系统。要实现互操作性,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 bs e r v i c e 。最后,我们还必须有一种 方法来对这个w e bs e r v i c e 进行远程调用。这种方法实际是一种远程过程调用协 议( r p c ) 。为了达到互操作性,这种p p c 协议还必须与平台和编程语言无关。 下面就简要介绍了组成构建和使用w e bs e r v i c e 的核心标准和技术。 2 4 1x m l 可扩展的标记语言( 即e x t e n s i b l em a r k u pl a n g u a g e ,简称x m l ) 是w e b s e r v i c e 平台中表示数据的基本格式。除了易于建立和易于分析外,x m l 主要 的优点在于它既是平台无关的,又是厂商无关的。x m l 是构建电子文档的数据、 内容和数据格式的实际标准,它已经作为应用程序、系统和设备之间通过 i n t e m e t 交换信息的通用语言而被广泛接受。对于定义标礁且可扩展的语言以表 示命令和有类型数据,x m l 是一种显而易见的选择。x m l 是专门为描述数 獬而设计的标准元语言。 x m l 解决了数据表示的问题,x m l 是易于扩展的。的确,作为一种描述” 元数据”的标记语言,x m l 规范虽然为构建x m l 文档提供了一些基本语法,但 是并没有定义确切的标记,它没有定义一套标准的数据类型,更没有办法去扩 展这套数据类型。这些细节对实现互操作性有很重要的关系。w 3 c 制定的x m l s c h e m a 是专门解决这个问题的一套标准。它定义了一套标准的数据类型,并给 出了一种语言来扩展这套数据类型。w e bs e r v i c e 平台就是用x m l s c h e m a 来作 为其数据类型系统的。当我们用某种语言来构造一个w e bs e r v i c e 时,为了符合 w 曲s e r v i c e 标准,所有使用的数据类型都必须被转换为x m ls c h e m a 类型。有 的工具能自动完成这个转换,有的需要我们根据需要修改一下转换过程。 第二章w e bs e r v i c e 技术介绍 2 4 2s o a p 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 o l ,简称s o a p ) 。 s o a p 是在分散或分布式的环境中交换信息的简单的协议,它是基于x m l 标 准的、文本的协议。它包括四个部分:s o a p 封装( e n v e l o p ) ,封装定义了一个 描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它 们的框架;s o a p 编码规则( e n c o d i n gr u l e s ) ,用于表示应用程序需要使用的数 据类型的实例; s o a pr p c 表示( r p cr e p r e s e n t a t i o n ) ,表示远程过程调用和应 答的协定;s o a p 绑定( b i n d i n g ) ,使用底层协议交换信息。 它具有如下特点: ( 1 ) 自由的传输绑定( 不仅仅是h t t p ) ( 2 ) 自由的语言绑定( 比如j a v a c # ) ( 3 ) 可插入的数据格式( 当然必须基于x m l ) ( 4 ) 完全的中立( 中立、公开的标准) ( 5 ) 独立于任何编程语言、对象模型、操作系统、平台 它提供了标准的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 。s o a p 提供基于x m l 的 通信协议解决方案,以便使用基于x m l 的消息交换或远程调用方法来连接分 布式环境中分散的应用程序。在w e bs e r v i c e 中,s o a p 定义了服务提供方与请 求方之问数据传输的标准方式,提供了一种基于v i l 框架,可使服务提供商 与请求方以松散关联的形式交互操作,但无需了解底层应用程序体系结构的解 决方案模型。 s o a p 的简单原理如下图: 如上图所示,s o a p 的工作原理就是把对象间的访问请求和响应都打包成 x m l 文档,在对象间传递。而要实现划象无关的访问,各种对象就必须对这 个x m l 有规范性的要求,这样不同的对象才相互理解别的对象的请求或响 应,这个规范便是s o a p 。s o a p 是一个抽象的上层的通讯协议,它的实现 第二章w e bs e r v i c e 技术介绍 可以基于其它的通讯协议,因为s o a p 传递的是x m l 文档,所以最自然的 便是用h t t p 来实现。因为s o a p 通常是用h 1 y r p 作为下层通讯手段,所以 s o a p 服务也叫w e bs e r v i c e 。其分层通讯的原理如下图: 正是因为s o a p 提供了一种与具体实现无关的对象访问能力,所以它可以 将现有的、用不同的技术实现的系统互联起来,提供相互的数据交流和访问操 作。但这种系统间的耦合又是一种很松散的耦合,它并不要对原有系统进行修 改,不会影响原有系统的功能,它只需要在原有系统的基础上加上一个s o a p 接口即可,这可以算是对原有系统的一个扩展。借助于s o a p ,各种不同的系 统可以互相协作,形成一个更为强大的大系统。也许正是因为s o a p 具有这种 将各种不同的系统整合在一起的能力,所以它已经成为当前世界各主要i t 厂 商所竞相支持的技术,包括i b m ,o r a c l e ,s u n ,m i c r o s o f t ,b o r l a n d 等。 由于不同的实际对象要通过s o a p 实现相互访问,就必须将它们的访问请 求用x m l 打包,而在收到请求后解包,它们的响应也相应的要有打包和解包 的过程。简单表述如下图: 图中客户端对象向服务端发出的二进制请求( r e q u e s t ) 被用x m l 编码再包 卜一个信封( e n v e l o p ) 后用w e b 客户端( 一般是通过一些h t t p 控件或用浏览 器) ,通过h t t p 协议发送到服务端。服务端是一个w e b 服务器,它收到这 1 4 第二章w e bs e r v i c e 技术介绍 个x m l 请求后,拆开信封取出经x m l 编码的客户端请求,用x m lp a r s e r 解析出符合服务端要求的请求内容。虽然这里解析出的请求一般也是二进制的, 但如果服务端用的对象技术与客户端不同时,这个请求就与客户端发出的原始 请求不一样,不过它们都表示一样的意思,只是表示方式不同,在两端按各自 要求的方式表达。 图中的服务端对象和客户端对象可以是任何一种对象技术,甚至不一定是 对象都可以,只要它们之间的请求能够通过x m l 以各自都能识别的方式表达 即可。如服务端可能是用e j b 实现的一个中间层,而客户端却可能是一个嵌 在网页中的a c t i v e f o r m ,这在s o a p 诞生之前是不可思议的事。那时如果服 务端是用e j b ,那只能在网页中嵌入j a v aa p p l e t 才行,而如果要用 a c t i v e f o r m 的话,服务端就只能用c o m 技术实现,但现在有了s o a p ,一 切的障碍都不复存在了。 目前许多s o a p 应用程序供应商都推出了用于将w e b 应用程序开发为w e b 服务的、基于j a v a 的s o a p 实现方案。将j a v a 用于开发s o a p 应用程序可构 建灵活和可移植的应用程序,也可阱通过解决平台特定的不兼容和其他问题实 现驻留在不同平台上的异源应用程序的交互操作。并且,拥有采用基于j 2 e e 结构和组件框架的、基于s o a p 的应用程序还可以继承基于j 2 e e 容器的服务 的特征,如事务、应用程序安全性和后台应用程序、数据库连接性。 许多开放源代码团体、w e bs e r v i c e

温馨提示

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

评论

0/150

提交评论