(交通运输工程专业论文)开源软件技术在运输船舶的应用.pdf_第1页
(交通运输工程专业论文)开源软件技术在运输船舶的应用.pdf_第2页
(交通运输工程专业论文)开源软件技术在运输船舶的应用.pdf_第3页
(交通运输工程专业论文)开源软件技术在运输船舶的应用.pdf_第4页
(交通运输工程专业论文)开源软件技术在运输船舶的应用.pdf_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

e 海海事大学交通运输t 程硕士论文 摘要 本论文主要研究将l i n u x 等开源软件技术运用到运输船舶的技术方案和实现手 段。 船舶信息化应用水平的提高对于提高船队的管理水平具有重要的作用。由于船舶 具有使用环境恶劣,长期远离陆岸的技术支持,船员的计算机操作水平有限等特点, 确保船舶计算机应用系统的高可靠性十分重要。以l i n u x 为代表的开源软件具有内核 稳定、源码公开、可裁剪、可定制等特点,版权和技术服务费用大大低于商业软件。 本文创造性地提出了“l i n u x + a p a c h e + p o s t g r es q l ”的技术方案,全面运用基于j 2 e e 的软件开发技术,解决了系统跨平台运行和交换数据的诸多技术难题。 本文从分析开源软件的技术特点和应用前景入手,结合船舶信息化需要,探索相 应的应用方案;通过对比分析,确定系统的技术架构,并提出了具体的跨平台开发和 数据同步技术方案、高可用性设计方案;通过对系统进行严格测试,依掘测试和实际 使用的结果,证明了系统的可行性、可用性和可靠性。该系统在中海集团的1 0 0 多艘 运输船舶上稳定使用一年多来,达到了低成本大规模部署的目的,为提高该集团的船 舶管理水平发挥了重要作用。该系统在易用性方面还存在一些问题,需要通过持续改 进,不断满足使用需要。 本文所述技术方案在其他领域和行业亦有推广使用价值。 关键词:开源软件j 2 e e 船舶信息系统 上海海事丈学交通运输工程硕十论文 a b s t r a c t t h i sd i s s e r t a t i o nc o n d u c t sas t u d yo nt h ei s s u e sr e l a t i n gt oa p p l i c a t i o no fo p e n s o u r c es o f t w a r e ( o s s ) t ob u s m e s sv e s s e l s t h ed e v e l o p m e n to fl e v e lo fs h i p si ts y s t e mi sp l a y i n gac r u c i a lr o l ei nd e v e l o p i n g ac o m p a n y sf l e e tm a n a g e m e n t b e i n gt h er e a s o n so fs h i p s i n t e r n a le n v i r o n m e n t , l a c ko fs u p p o r t i n gf r o mt h el a n da n dp o o rc o m p u t e ro p e m t i o no fc r e w , i ti s i m p o r t a n tt oe n s u r et h eh i g hr e l i a b i l i t yo f t h ec o m p u t e ra p p l i c a t i o ns y s t e m f e a t u r e d b yl i n u x ,t h eo s s h a st h ec h a r a c t e r so fs t a b l e ,o p e n ,c u s t o m i z e d w h i c hm a k e si t s c o s t so fc o p y r i g h ta n dt e c h n o l o g ys e r v i c ea r em u c hm o r el o w e rt h a nt h ec o m m o n c o m m e r c i a ls o f t w a r e t h i sa r t i c l ef i r s t l yp r o p o s e st h et e c h n o l o g yp l a no f l i n u x + a p a c h e + p o s t g r es q l ”b yu s i n gt h es o f t w a r et e c h n o l o g yb a s e do nj 2 e e t h i sp a p e ra n a l y z e st h et e c h n i q u ec h a r a c t e r sa n da p p l i c a t i o np r o s p e c t so ft h e o s sb a s e do nt h er e q u i r e m e n to fs h i p si ts y s t e m a n ds e a r c h sf o rt h er e l e v a n t a p p l i c a t i o np l a n sa sw e l l b ym e a n so fp a r a l l e la n a l y s i sa n ds t r i c tt e s t so ft h e s y s t e m ,i tf i x e so nt h et e c h n o l o g ys t r u c t u r e p r e p o s ed e t a i l e dp l a n s ,s o l v e ss e v e r a l d i f f i c u l t i e ss u c ha so f f - l i n ec o p yb e t w e e no p e ns o u r c ed a t a b a s ea n db u s i n e s s d a t a b a s e 。h i g hu s a b i l i t yo ft h es y s t e m ,o v e r - p l a t f o r mc h a r a c t e r , e t c t h ep a p e r p r o v e st h ef e a s i b i l i t y , u s a b i l i t ya n dr e l i a b i l i t yo ft h es y s t e mb yt h er e s u l t so ft h et e s t s a n dp r a c t i c a lu s a g er e s p e c t i v e l y a f t e rs m o o t hp r a c t i c a la p p l i c a t i o ni nm o r et h a n 10 0s h i p s o fc h i n as h i p p i n gg r o u p ,t h i ss y s t e mh a sa c h i e v e di t s g o a l st ob e b r o a d l yd e p l o y e da tl o w e rc o s t s 。w h i c hh a sb e e ni m p o r t a n ti ni m p r o v i n gt h es h i p s m a n a g e m e n to ft h eg r o u p y e t ,w ew i l lp r o m o t et h ec o n s u m m a t i o na f t e r u n c e a s i n g l ye f f o r ta n di m p r o v e m e n t ,t om e e tt h es h i p p i n gc o m p a n y si n c r e a s i n g n e e d t h ei e c h n o l o g yp l a n sr e c o m m e n d e db yt h i sp a p e ra l s oh a v et h ep r o m o t i o nv a l u e s u 上海海事大学交通运输丁程硕七论文 i no t h e ri n d u s t r i e s l i uj i a n w u ( t r a f f i ct r a n s p o r t a t i o ne n g i n e e r i n g ) d i r e c t e db yy a oc h o n g m i n g k e y w o r d s :o s s j 2 e ev e s s e li ts y s t e m i l l 论文独创性声明 本论文是我个人在导师指导下进行的研究工作及取得的研究成 果。论文中除了特另j j j r l 以标注和致谢的地方外,不包含其他人或其 他机构已经发表或撰写过的研究成果。其他同志对本研究的启发所 嫩的贡献均已在论文中作了明确的声明并表示了谢意。 作者签名:左丝丝丝墨晶期:壁掣 论文使用授权声明 本人同意上海海事大学有关保留、使用学位论文的规定,即: 学校有权保留送交论文复印件,允许论文被查阅和借阅;学校可以 上网公布论文的全部或部分内容,可以采用影印、缩印或者其它复 制手段保存论文。保密的论文在解密后遵守此规定。 储签名劾锄蕲签鳓般m 嘿挪- , 上海冉事大学交通运输丁程硕十论文 前言 随着航运企业管理信息化水平的提高,需要将信息录入终端前移到船舶,并 实现船岸之间数据共享。运输船舶的流动性,要求其应用系统必须具备良好的可 靠性和高可用性;许多大型航运企业的运输船舶数十上百乃至数百艘,广泛部署 还应尽量寻求更经济的方案。 开放源代码软件( o p e ns o u r c e ) 是一种与商业软件相对应的,技术架构开 放,完全开放源代码的软件。当前,开源软件在国际i t 界发展蓬勃,深入应用 到科研、教育、商业等各领域。结合航运业点多、面广、线长的特点,研究开 源技术在航运业的应用的可行性,利用其可裁剪、易维护、技术支持广泛的特 点,使航运企业以较低的投入,广泛部署i t 项目,达到长期可靠稳定运行的目 的,具有重要的现实意义和经济价值。 上海海事大学交通运输t 程硕士论文 1 1 选题背景 第一章概述 许多大型航运企业普遍在船舶安装了用于管理船舶维修保养、备件物料等 日常运营的管理软件,与公司的管理系统实现了数据自动交换。这些软件都是基 于w i n d o w s 操作系统、o r a c l e 或m ss q ls e r v e r 等商业软件的运行。商业软件目 前在版权费用、专业服务方式等方面都存在某些制约。 w i n d o w s 操作系统容易成为病毒攻击的对象。在运输船舶上,难以及时升级 杀毒软件和更新病毒库,更难以及时从微软公司的网站上下载新的系统安全补 丁,升级操作系统,成为船舶管理信息系统运行的安全隐患。 1 2 选题目的 通过技术研究和试验,探索开源软件在运输船舶上应用的可能性,并寻求可 行的技术方案,以相对低廉的费用,实现运输船舶管理信息化。 1 3 国内外研究现状 开源软件已在国内外得到广泛应用,但尚无应用于航运业,尤其是应用于运 输船舶的相关研究和案例。 1 4 课题内容 一、分析开源技术在运输船舶应用的可行性。 二、基于开源技术,研究和确定供船舶使用的数据库应用环境。 三、基于开源技术,研究和解决在船舶的开源技术环境上运行的数据库 应用程序的各种问题。 四、在实现船舶的开源软件技术平台与管理机关的商业软件技术平台之 间,实现数据同步。 五、实现基于开源技术的船舶数据库应用程序的离线升级与维护。 4 1 z 海海事大学交通运输工程硕十论文 1 5 研究方法 一,遵循计算机信息系统设计的一般原则和方法。 二、运用模块测试法,检验各模块的功能和稳定性;运用压力测试法, 检验系统的运行性能。 上簿海事大学交通运输t 程硕士论文 第二章在运输船舶上的应用开源软件的可行性分析 2 1 开源软件的基本概念 开源软件直接的字面意思是公开源代码的软件。公开了源代码,人们就可 以研究源代码,进而发现软件中的“后门”、漏洞。与开源软件相近且容易混淆 的概念有自由软件、免费软件、公共软件等等。自由软件基金会( f r e es o f t w a r e f o u n d a t i o n ) 的创始人理查德斯托曼先生( r s t a l l m a n ) 有过非常精辟的阐 释。他说:“f r e es o f t w a r e 这种术语有时会被误解一一事实上它和价格毫无关 系。它的涵义是自由。这是自由软件的定义所决定的。对于你,某个特定的用户 来说,如果某个程序称为自由软件,那么: 1 你拥有运行该程序的自由,而且可以用于任何目的。 2 你拥有修改该程序适应你个人需要的自由。( 为了在实践中实现“自由”, 你必须能够获锝源码,因为没有源码而试图修改程序是极端困难的。) 3 你拥有再发行拷贝的自由,可以是无偿的,也可以收费。 4 你拥有发行该程序修改后版本的自由,从而使社团可以从你所作的改进 中获益。 ” 由于英文“f r e e ”有“免费”的含义,为了避免歧义,g n u 社团( g n u 是“g n u n o tu n i r 的同义词,g n u 发行的软件必须是自由软件) 中部分成员停止使用“自 由软件”,代之以“开放源码软件”。理查德斯托曼认为:。开放源码软件 的词义着重于创造强大的、高质量软件的潜力,而回避了自由、社会和原则这些 概念。来自公司的支持可以在很多方面为社团做出贡献,如果其他条件不变,那 么是大有裨益的。然而,通过少提自由与原则以获取它们的支持将会是灾难性的, 它会使自由软件外延的影响对自由软件内涵的认识之间己存在的不平衡进一步 恶化。自由软件与开放源码软件多多少少描述了软件的同一范畴,但强 调了软件的不同侧面和价值观。6 n u 工程继续使用自由软件这一名词,以表 示自由、而不仅仅是技术,才是重要的。”显然,“自由软件”和。开放源代码 软件”基本表达了同一概念,只是侧重点有所不同。从商业用户的角度,可以将 两者等同理解。 纵上所述,开源软件是一种技术架构开放,完全开放源代码的软件。任何 人都可以自由地运行、修改和传播源代码程序。当然,源代码也是有授权范围的, 以上行为只能在同一范围里面的源代码进行,一对于不同范围的源代码,还必须 遵守它们各自的授权许可证约束。目前,开放源代码的几个著名的授权许可方式 有“g n u 一般公众许可”( g n ug e n e r a lp u b li cl i c e n s e ) 、“b s d ”和“a r ti s t i c 6 上海海事大学交通运输t 程硕十论文 2 2 开源软件的技术体系的完整性和可靠性 从开源软件诞生以来,涌现出大量遵循g p l 规则的基础软件开发工具、公 共应用软件和其它应用软件,各种实用程序将近1 4 0 0 个,g n u 计划正在执行软 件约有1 8 0 个。本文主要探讨以下几种影响较大的歼源软件: 一、l i n u x 操作系统 1 9 8 9 年,芬兰赫尔辛基大学的学生l i n u st o r v a l d s 为超越m i n i x 发布了 一个u i n x 的变种一一l i n u x 。作为一种操作系统,l i n u x 具有开放性、多用户、 多任务、良好的用户界面、设备独立性、网络功能丰富、安全可靠、良好的可移 植性等特点,功能之强大,能被广泛应用在数据库服务器,嵌入式设备,操作电 脑等各种领域。 早期的l i n u x 只是些研发部门、学校、黑客们的宠物。到了1 9 9 8 年情况 发生改变,国际上几个最著名的计算机软硬件企业,纷纷宣布在自己的产品上支 持l i n u x 。以“蓝色巨人”i b m 为首的各大i t 巨头,包括o r a c l e 、h p 、s y b a s e 纷纷拥抱l i n u x ,微软的“老搭档”一一英特几、戴尔也加强了对l i n u x 的支持, 最近连一向攻击l i n u x 的s u n 公司也迫不及待地推出l i n u x 服务器。目前,有 r e d h a t 、s u s e 、t u r b o 及红旗、中标普华等国内外知名厂商提供改进版本和服务 支持,全球大约有2 0 0 0 万l i n u x 用户,l i n u x 在网络架构和数据库服务器领域 的新装机仅次于w i n d o w s 系列,“l i n u x + i n t e l 芯片”的“l i n t e l 组合”逐渐成 为i t 厂商和用户的新宠,进入银行、证券等行业核心业务等高端领域,桌面l i n u x 也取得长足进步,易用性明显提高。 二、a p a c h e 网络服务器 a p a t c h e 源自n c s a ( u n i v e r s i t yo f1 1 1 i n o i s ,u r b a n a - c h a m p a i g n ) 所开 发的h t t p d 。在1 9 9 4 年中期,许多w e b 主管自行发展自己的外加功能及修正码。 小批的w e b 主管透过私人e - m a i l 聚集在一起,以“p a t c h e s ”即补丁形式完 成他们的改善工作。在9 5 年2 月底,八位核心贡献者成立原始的a p a c h e 组织( 取 自ap a t c h e ) ,1 9 9 5 年4 月,a p a c h e0 6 2 公布。 在1 9 9 5 年5 月到7 月,一个新的服务器架构被开发出来( 程序名 s h a m b h a l a ) ,包含了模块结构及a p i ,基于存储池的存储器配置及要调整的预设 分支处理模式。这个开发群体在7 月份转换到新的服务器,于8 月推出了a p a c h e 0 8 8 。这是一个只有几岫大小的软件,却拥有强大的功能和极佳的稳定性。在 一年之内,a p a c h e 服务器超过了n c s ah t t p d 成为w e b 服务器市场领域的绝对的 领导者。据来自n e t c r a f t ( h t t p :w w w n e t c r a f t c o m s u r v e y ) 的数据,在1 5 3 0 万个活跃的公共站点中,有6 7 ( 这其中有6 3 使用的是a p a c h e ) 使用的是o s s , 7 上海海事大学交通运输丁程硕十论文 只有2 5 的站点在使用微软的i i s 。a p a c h e 具有以下特点: 1 起源于h t t p 协定降低了用户加入协定来支援新的应用软件的能力; 2 给u n i x l i n u x 带来生机一一a p a c h e 走到哪里,u n i x l i n u x 就走到哪里; 3 支援厂商的支持,为a p a c h e 提供的工具模块持续成长增加。特别是 i b m 宣布把a p a c h e 做为其w e b s p e h r e 应用服务器的一部分,被称为是开放源码 软件的一次突破。 三、m y s q l 和p o st g r es q l 等数据库软件 大多数人所了解的数据库只有o r a c l e 、d b 2 、m ss q l 、s y b a s e ,事实上, 当今应用最广泛的并不是上述四大商业数据库,而是名不见经传的m y s q l 和 p o s t g r e s q l 等数据库软件。据调查,“l i n u x + a p a c h e + m y s q l ”已经成为当今绝 大部分网站的标准配置。p o s t g r e s q l 则应用于中小型数据库应用领域。 m y s q l 是瑞典的t c x 公司负责开发和维护的多用户、多线程的s q l 数据 库服务器。m y s q l 主要特点是快速、健壮和易用,它短小精悍,对硬件配置要求 低,完全多线程,支持多处理器,在网站上甚至具有比商业数据库更快的响应速 度。m y s q l 主要的缺点是其安全系统不够完善,不支持存储过程、子查询,触发 器、热备份等商业开发常用功能,不适用于处理复杂的业务逻辑。由用户在l i n u x 下自行安装m y s q l 是免费的,由第三方安装则必须付许可费。据估计,目前使用 m y s q l 的用户已经超过4 0 0 万,其中包括y a h o o 、c i s c o 、n a s a 、6 0 0 9 l e 、朗讯、 惠普、施乐、索尼、西门子等大公司。 p o s t g r e s q l 的前身是i n g r e s ,于1 9 7 7 年至1 9 8 5 年问由着名的柏克莱大 学研究发展而来。p o s t g r e s q l 用c 语言写成,可以在l i n u x 、f r e e b s d 、s c ou n i x 、 h pu n i x 、s o l a r i s 、a i x 等平台上运行。p o s t g r e s q l 可以说是最富特色的开源数 据库管理系统,甚至可以说是最强大的开源软件数据库管理系统: 1 p o s t g r e s q l 的特性覆盖了s q l - 2 s q l - 9 2 和s q l - 3 ,支持目前世界上最 丰富的数据类型。实践证明,由于两者都对s q l - 3 支持得很好,在o r a c l e9 i 上开发的程序可以直接在p o s t g r e s q l7 0 上运行。p o s t g r e s q l 的很多特性正是 当今许多商业数据库的前身。 2 p o s t g r e s q l 是全功能的开源软件数据库。长期以来,p o s t g r e s q l 是唯 一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的一种开源 软件的数据库管理系统。直到最近i n p r i s e 的i n t e r b a s e 加入开放源码软件数据 库的行列才打破了这一局面。 3 p o s t g r e s q l 是目前支持平台最多的一种数据库管理系统,至今,它仍然 保持着支持平台最多的数据库管理系统的称号。 4 p o s t g r e s q l 拥有极其强大的扩展能力,可以轻松地扩展数据类型、内 部函数、聚集、操作符等等。而且,拥有所有的源程序,理论上可以做任何事情。 8 上海海事大学交通运输t 狸硕士论文 5 p o s t g r e s q l 拥有一支非常活跃的开发队伍,而且在许多黑客的努力下, 其质量和性能日益提高。 与m y s q l 相比,p o st g r e s q l 的运行速度明显较低,生成网页的速度馒,权 限控制不够完善。作为一种数据库管理系统,p o s t g r e s q l 并不象l i n u x 那样得 到迅速广泛的承认,是可以理解的。正如p o s t g r e s q l 的核心成员t o m l a n 所说: “商业数据库系统的质量还是非常高的,与之相比,p o s t g r e s q l 仍然有差距” 但同时他也相信“我们已经达到商业级的数据库系统的质量了,只不过不能说是 最好的。” 综合而言,m y s q l 是一种在互联网广为使用的轻量级数据库,p o s t g r e s q l 则是一种功能最强大、对s q l 标准支持最完整开源数据库软件,完全可以胜任任 何中上规模应用范围的业务。目前有报道的生产数据库的大小已经有2 0 g 的数据 量,测试数掘库已经超过6 0 g ,逼近3 2 位计算的极限,其质量和特性还在日臻 完善,相信在不久的将来,p o s t g r e s q l 将能成为一种优秀的、开源的、商业数 据库的替代产品。 除了以上详细介绍的几种开源软件外,还有许多开源软件在各自的领域占 据了举足轻重的地位。如在网络d n s 服务器上占统治地位的b i n d ( b e r k e l e y i n t e r n e tn a m ed a e m o n ) ,头号邮件服务器s e n d m a i l ,在网络世界统治i 1 l i s t 服务器的m a j o r d o m o 等等。 2 3 开源软件的安全性,高可用性与可裁剪性 以开源软件中的l i n u x 操作系统为例,由于其体系结构与w i n d o w s 操作系统 完全不同,极少受到病毒攻击。大量的使用案例已经证明,l i n u x 系统内核稳定 可靠,作为船舶使用的数据库服务器,可以长期稳定可靠地运行而无需船员去维 护。 由于开源软件的源码公开,具有很好的可裁剪性,用户可以根据需要做个性 化裁剪。比如,通过修改其底层代码或命令,可以自动将系统错误发给技术人员, 或者利用邮件进行远程诊断和故障排除,这些对于船舶信息系统的可靠运行和维 护起到很重要的作用。 开源软件的技术公开,用户既可以从专业的厂家获得技术支持,又可以从网 上的开源社区获得丰富的资讯,能便于及时解决应用中的技术问题。 9 上海海事大学交通运输工程硕十论文 2 4 开源软件技术的经济性 自由软件的源代码是免费的,但如果需要获得软件包、支持,培训等其它 商业服务,就必须付费了。否则,开放源代码运动也难以维持自身发展。例如, 目前最流行的r e dh a tl i a u x 允许任何人免费下载使用,但是如果你需要张含 有r e dh a tl i n u x 和简易安装程序指南的光盘,就需要付钱了。你所需要的商业 服务越多,付费也就越高,最高可达1 0 0 0 多美元。当然,与那些动辄上万美元 的软件相比,开放源代码软件显得低廉多了。 以运输船舶需要使用的版权软件为例,典型的微软w i n d o w s2 0 0 0 高级服务 器操作系统加上m ss q l 2 0 0 0 或者o r a c l e ,至少需要版权费用4 5 万元;如果 选用l i n u x 操作系统和p o s t g r e ls q l ,费用仅相当于前者的二十分之一。如果船 队规模以数十上百,乃至数百艘计算,那么总共节省的费用就非常可观了。详见 下表 开源软件与商业软件应用成本比较表 表2 1 比较项目开源软件商业软件 操作系统版权费l i n u x 约2 0 0 0 元w i n d o w s2 0 0 0a d v a n c e d s e r v e r 约2 万元 数据库版权费 om ss q l 2 0 0 0 约3 万元 技术支持与服务费2 0 0 元套年一般不提供 合计( 按1 0 0 艘船)约2 0 多万约5 0 0 多万 2 5 开源软件技术的市场日趋成熟 一、开源软件在资金、技术和市场上得到了i b m 、s u n 、h p 等i t 巨头 的鼎立支持,在全球无数爱好者的参与下发展迅猛,目前已经形成了包括操作系 统、数据库、中问件、邮件软件、安全软件、网页开发,乃至各种常用小工具在 内的完整的产品体系。许多开源软件在技术上普遍比较成熟,如l i n u x 操作系统、 m y s q l 数据库、a p a c h e 中间件得到了非常广泛的应用,三者组合占当今6 0 以 上网站服务。 1 0 上海海事大学交通运输t 程硕十论文 二、开源软件在国内的邮政、教育、电信等领域积累了许多成功案例, 在国外的政府、航空等领域已得到广泛应用。 三、 一些开源软件,如l i n u x 和m y s q l 已经形成了独特的商业运营模式, 促进了商业化推广。国内已经有红旗、中标普华等专业的l i n u x 厂商。用户可以 向这些厂商购买软件和服务,获得长期的充分的技术支持。 四、开源软件技术得到了中国、韩国、日本、德国等许多政府的支持, 在研发方面得到政府的资金资助,在政府采购中占据了越来越大的份额。 2 6 开源软件技术的可持续发展前景 开源软件的发展具有跳跃性,当开发者云集的时候,因为开发者大多是利 用空余时间进行歼发,新的东西可能在短期内大量涌现;而如果在开源软件运动 的低潮时,因为缺少开发者,可能会有一长段时间的沉寂,而后又会随着社会的 发展而出现新的活动,是一种螺旋上升的曲线。经过二十多年的发展,涌现出了 s e n d m a i l 、a p a c h e 、p e r l 和l i n u x 、m y s q l 等一大批被广泛应用的优秀的开源软 件产品。时至今日,开源软件运动已经历尽艰难,迎来了它的黄金阶段: 1 i n t e r n e t 技术走向成熟,i t 技术人员大量增加,为开源软件的普及奠 定了良好的基础。 2 除微软之外的几乎所有i t 巨头,都出自自身的商业利益,投巨资直接赞 助开源软件的开发,或者调整产品策略,努力兼容歼源软件,或者提出完整的开 源软件( 主要是l i n u x ) 实施解决方案,并提供技术支持。如i b m 公司全面支持 l i n u x ,直接赞助a p a c h e 的研发,s u n 大力支持o p e n o f f i c e 等等。与商业世界 的良好结合,给开源软件运动注入了“强心剂”。 3 随着开源软件的技术不断成熟,性能不断提高,越来越多的用户,特别 是政府和大商业机构为了降低i t 成本,开始接受开源软件,使开源软件逐步“登 堂入室”,进入中高端应用领域。 4 与开源软件相关的开发工具大量出现。例如,r p m 是一款软件包管理工 具,g t k + 是一款用来创建图形化用户界面的工具包,在2 0 0 2 年l i n u x w o r l d 大会 上获得资助的开源软件是惠普公司开发的用于简化网络管理的o p e ns o u r c e s s i 。 开源软件是充满朝气的领域,只要拥有良好的创意,一个软件编程人员就 能够为下个重要的计划播下希望的种子。可以预见,开源软件运动虽然还会在 发展的过程中面临各种问题,但必将拥有广阔的发展空间:l i n u x 、a p a c h e 、m y s q l 等优秀软件在各自领域将保持并强化其优势地位;桌面l i n u x 、o p e n o f f i c e 将得 到广泛应用,从而在一定程度上动摇微软在桌面电脑的垄断地位:开源软件的商 业化应用将继续改变市场规则和市场格局;用户将继续从开源软件的发展中获 t 海在事大学交通运输1 = 程硕十论文 益;开源软件运动的支持者和参与者将不断增加。 2 7 开源软件技术应用于运输船舶的可行性结论 综上所述,开源软件在技术成熟程度和可靠性等方面,都能满足运输船舶 的使用需要。特别是考虑到运输船舶远离岸基支持,一般不具备上网下载大的系 统升级数据包的能力,使用开源软件,可以通过光盘等方式进行必要的个性化升 级和维护,使系统始终保持较高的安全级别,相对于w i n d o w s 操作系统需要频 繁升级,优势明显。此外,船员的计算机实操水平有限,l i n u x 等开源软件的稳 定性极好,十分适合船舶使用。因此,开源软件应用于运输船舶不但可行,而且 相对商业软件而言,具有更高的可靠性,更佳的经济性。 1 2 上海海事大学交通运输t 程硕上论文 第三章基于开源软件技术的船舶应用系统的总体设计 3 1 运输船舶的管理信息系统应用需求 一、搭建基于关系型数据库的应用环境。开发船舶的维修保养,备件、物料 等管理方面的应用软件,并安装在船舶上使用。 二、船舶的应用软件与管理机关之间的数据同步和共享。船舶与管理机关通 过先进的通讯手段和计算机技术,实现数据之间的交换和共享。 三、船舶的应用软件能做到远程离线自动升级。船舶的流动性,要求其应用 软件必须具备较强的自我维护能力,做到在不能保持网络在线链接的情况下,通 过电子邮件或光盘,实现软件包和系统的自动升级。 四、船舶的应用软件具备跨平台运行的能力。为船岸分别开发不同的应用软 件,必然会带来接口程序复杂,开发量大,软件不够稳定等问题,本方案立足于 开发一套船岸通用的管理软件,并具备在船岸不同的环境上运行的能力。 3 2 开源软件在运输船舶的应用组合方案 从前文分析的与运输船舶应用所需密切相关的几种开源软件可以看出,不 同软件的技术成熟程度不一,在各自领域的地位和作用也有所不同: 一,l i n u x 在服务器领域不管是技术水平,还是解决方案、商业支持都非 常成熟; 二、a p a c h e 短小精悍、功能强大,适用于中小型应用,在网络服务器领 域占领导地位; 三、m y s q l 性能优秀,特别是在对单表海量数据的检索速度上超越了商业 数据库,在网站应用非常普遍,但不擅长处理复杂的业务逻辑,不适于作为复杂 业务系统的后台数据库; 四、p o s t g r e s q l 符合标准的s q l 规范,足以支持中等规模的数据库应用, 但其对海量数据的处理能力逊色于商业数掘库。 综上所述,在运输船舶上,如果应用软件是客户端服务器架构( c s ) 。可 在服务器端采用。l i n u x + p o s t g r e s q l ”的组合方案;如果是浏览器服务器架 构( b s ) ,可选择在服务器端“l i n u x + a p a c h e + p o st g r e s q l ”的组合方案。 t 海海事大学交通运输t 程硕士论文 3 3 设计原则 系统设计兼顾先进性和实用性,其原则是: 一、 适应性原则;既要满足当前的经营管理、业务的要求,又要能够满 足今后大规模、大容量、高业务量运营的需要; 二、先进性原则:在系统的实施过程中应用科学的项目管理、计划和实 旌方法,采用先进的技术,使系统的建设能处在同类科技的前列; 三、安全性与可靠性原则:系统具有很强的安全与冗错性,能保障系统 的可用性与不间断运行功能,以维持和提高运营水平; 四、灵活性原则:系统能够根据业务发展需要,灵活地修改、调整系统 功能,适应未来的发展变化; 五、开放性原则:系统应遵循行业标准,采用标准的、开放性的技术, 能够实现与其他厂商产品的无缝连接; 六、技术独立性原则:系统所采用的技术不偏向任何一种网络或设备, 采用标准的协议,而不依赖于某些厂商的特殊协议技术,提供最优的独立解决方 案: 七、一体化解决方案原则:系统能够实现全过程的流程化( f l o wt h r o u g h ) 的一揽子自动化解决方案,各种功能模块可以紧密集成、无缝连接,而不是一个 个的“孤岛”应用; 3 4 技术标准 构) 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 ( j 2 e e ) ,j d k l 4 1 使用s t r u t s 工具实现m v c ( 模型一视图一控制器,面向对象的设计架 三、标准s q l 2 ( 数据库标准,可以保证在不同数据库上运行) 1 4 t 海海事大学交通运输工程硕士论文 3 5 系统结构图 - 一岸上系统, 3 6 系统技术体系结构 图3 1 系统结构图 船上系统, 针对目前的各种分布计算平台技术,即c o r b ac c m ( c o r b ac o m p o n e n tm o d e l ) 技术、s u n 的基于j 2 e e 架构的e j b ( e n t e r p r i s ej a v a b e a n ) 技术和d n a2 0 0 0 中的 1 5 上海海事大学交通运输1 二程硕士论文 c o m d c o m c o m + 技术;我们采用业界常用的做法从以下三个方面进行分析: 集成性:集成性主要反映在基础平台对应用程序互操作能力的支持。它要求 分布在不同机器平台和操作系统上、采用不同的语言或者开发工具生成的各类商 业应用必须能集成在一起,构成一个统一的企业计算框架。这一集成框架必须建 立在网络的基础之上,并且具备对于遗留应用的集成能力; 硼,笸:要求所采用的软件构件技术必须是成熟的技术,相应的产品也必须 是成熟的产品,在至关重要的企业应用中能够稳定、安全、可靠地运行。另外, 由于数据库在企业计算中扮演着重要角色,软件构件技术应能与数据库技术紧密 集成; 可扩展性:集成框架必须是可扩展的,能够协调不同的设计模式和实现策略, 可以根据企业计算的需求进行裁剪,并能迅速适应市场的变化和技术的发展趋 势。通过保证当前应用的可重用性,最大程度地保护企业的投资。 表3 1三种主流分布计算平台的比较结果 项目c o r b a ( c c m )e j bd 0 0 m 跨语言性能好差( 限于j a v a )好 跨平台性能好好差 网络通讯好好一般 公共服务构件好好一般 事务处理好一般一般 消息服务 一般一般一般 安全服务好好一般 目录服务好一般一般 容错性般一般一般 软件开发商支持度般好好 产品成熟性一般一般好 可扩展性好好一般 3 7 软件体系结构 企业应用系统的开发一直面临着重大挑战:一方面,企业应用系统面对的 是一个异构的分布式环境,它必须支持与已有系统的集成性和与其他系统的互操 作性;另方面,作为为客户、合作伙伴和企业内部提供信息服务的平台,企业 系统还必须具有很高的可用性、安全性、可靠性和伸缩性。这些要求再加上复杂 多变的用户需求和不断伸缩的交付时间,使企业系统的开发越来越困难。开发商 和广大程序员一直在努力推动和殷切期待个成熟、标准的企业平台来简化和规 1 6 上海毒事大学交通运输工程硕十论文 范企业系统的开发和部署。j a v a 技术的出现,尤其是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 ) 平台的推出正是这种努力的结果,也使得企业系统的开发 由此交得更加快速和方便。 j 2 e e 平台由一整套服务( s e r v i c e s ) 、应用程序接口( a p i s ) 和协议构成, 它对开发基于w e b 的多层应用提供了很强的功能支持。为开发b s 模式的系统应 用架构提供了很好的技术支持,也是本系统选用j 2 e e 架构的重要依据。 3 8 基于j 2 e e 架构的b s 应用结构 为了降低成本并加快企业应用程序的设计和开发,j 2 e e 平台提供了一个基于 组件的方法来设计、开发、装配及部署企业应用程序。j 2 e e 平台提供了多层的 分布式的应用模型、组件再用、一致化的安全模型以及灵活的事务控制。使用户 不仅可以比以前更快地向市场推出创造性的客户解决方案,而且,平台独立的基 于组件的j 2 e e 解决方案不会被束缚在任何一个厂商的产品和a p i 上。 j 2 e e 提供了一个企业级的计算模型和运行环境,用于开发和部署多层体系结 构的应用。基于j 2 e e 的b s 应用的示意图如下: p r e s e n t a t i o nl o g i cb u s i n e s sl o g i c 。i # 厂、l 已f u 夫l o ,矗、 j d b s e r v l e t 佃一 c 斟 剥 。l 、匕y 图3 3j 2 e e 架构的8 s 应用结构 它的各部分说明如下: 3 7 1 客户层 j 2 e e 应用可以是基于w e b 的,也可以是不基于w e b 的。 1 7 画脑弋 上海海事大学交通运输t 程硕士论文 在基于w e b 的j 2 e e 应用中,用户的浏览器在客户层中运行,并从一个w e b 服务器上下载w e b 层中的静态h t m l 页面或由j s p 或s e r v l e t s 生成动态h t m l 页 面。 j 2 e ew e b 组件可以由j s p 页面、基于w e b 的a p p l e t s 以及显示h t m l 页面的 s e r v l e t s 组成。 调用s e r v l e t s 或者j s p 页面的h t m l 页面在应用程序组装时与w e b 组件打包 在一起。就像客户层一样,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 s 类来处理。 运行在客户层的w e b 组件依赖容器来支持诸如客户请求和响应e n t e r p r i s e b e a n 查询等。 3 7 3 业务层 实现业务逻辑的代码由运行在业务层的e n t e r p r i s eb e a n s 来执行。一个 e n t e r p r i s eb e a n s 从客户程序处接收数据,对数据进行处理( 如果需要) ,再 将数据发送到企业信息系统层存储。一个e n t e r p r i s eb e a n s 还从存储中检索数 据,并将数据送回客户程序。运行在业务层的e n t e r p r i s eb e a n s 依赖于容器来 为诸如事务、生命期、状态管理、多线程及资源存储池等提供非常复杂的系统级 代码。 业务层经常被称作e n t e r p r i s ej a v a b e a n s ( e j b ) 层。业务层和w e b 层一起 构成了3 层j 2 e e 应用的中间层,而其它两层是客户层和企业信息系统层。 上海海事大学交通运输工程硕上论文 第四章应用系统的跨平台开发技术设计 由于管理机关数据量和访问量大,对运行性能、可用性和可靠性要求更高, 应当选用商业的数据库和操作系统。商业数据库主要有甲骨文公司的o r a c l e , i b m 公司的d b 2 ,微软公司的m ss q ls e r v e r ,s y b a s e 公司的s y b a s e 等。商业 操作系统主要有中小型应用上的w i n d o w s 系列,大中型应用上的各种u n i x 版 本,i b m 公司的a s 4 0 0 以及大型机系列。在本方案中,为使应用系统具备在船 岸两种不同平台上运行的能力,必须解决以下技术问题: 4 1 跨数据库操作系统开发技术 不同操作系统在处理很多底层任务时有较大差别。目前,各种操作系统都提 供对j a v a 的良好支持。本方案选用j a v a 技术,能很好地解决跨操作系统运行 的问题。 4 2 跨w e bs e r v e r 开发技术 各种w e b s e r v e r 都会有一些自己开发好的组件供

温馨提示

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

评论

0/150

提交评论