已阅读5页,还剩54页未读, 继续免费阅读
(计算机应用技术专业论文)基于bs和智能客户端船机备件管理系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 随着世界经济和现代科学技术的快速发展,企业信息化已经成为全球的发展 趋势。船机备件管理系统作为中交天津航道局有限公司企业信息化的一个核心模 块,对企业的发展起着及其重要的作用。 本文首先通过对中交天津航道局有限公司船机备件管理业务流程的分析,对 总体体系结构和功能进行了设计,为解决恶劣网络条件下使用信息系统的难题, 引用了智能客户端技术。接着,分别从b s 架构和智能客户端架构两方面介绍具 体实现。在b s 架构实现部分,应用业务实体和数据访问组件封装了业务逻辑和 对数据库的操作,实现了用户界面、业务逻辑和数据库的分离;在智能客户端架 构实现部分,采用面向服务的体系结构,应用w 曲服务作为智能客户端与服务 器端的通信方式,用x m l 文件保存需缓存的业务数据,采用、m n d o w s 消息队列 ( m s m o ) 以消息形式缓存用户对服务器的请求,改进了w 曲服务检测算法, 采用数据分区和加锁技术解决数据冲突,从身份认证、客户端数据安全、异常处 理三方面保证数据的安全。最后,在总结全文的基础上,提出了今后有待进一步 深入研究和探讨的问题。 目前,论文中实现的系统已经在中交天津航道局有限公司投入使用,客户认 为本系统b s 结构部分充分满足了备件管理的业务要求,同时,船用智能客户端 也很好地解决了船舶工作人员在恶劣网络条件下使用信息系统的难题。 关键词:b s 智能客户端w 曲服务m s m q a b s t r a c t w i t ht 1 1 e r 印i dd e v e l o p m e n to fw o r l de c o n o i n ya n dm o d e n lt e c l l n o l o g y , e m 唧r i s ei n f o m l a t i z a t i o nh a sa l r e a d yb e e l lt h et e l l d e n c yo fg l o b a ld e v e l o p m e n t a s m ec o r ep a no ft h et i a n j i l ld r e d g i n gc o i n p a n y ( t d c ) m f o r n l a t i z a t i o 也s p a r ep a n m 锄喀锄e n ts y s t 锄p l a y sa ni n l p o r t a n tr o l ei nt h ee n t 唧r i s ed e v e l o p m e n t 啦sp 印e rf i r s ti n 仃o d u c e dt h eb u s 斑e s sp r o c e s so fs p a r ep a nm a n a g 锄e n t s y s t e m t h em a j ns 仃u c t u r ea n dt h em o d e 】sw e r ed e s j g n e dt h e n t h ei m p 】锄e 1 1 t a t i o n o fb sp a i ta n ds m a r tc l i e n tp a r tw e r ed i s c u s s e dm d e t a i l s i nm ef - o m l e rs t r i l c m r e 衄e el a y e r e ds 饥l c t u r e ( p r e s e n t a t i o n ,b u s i i l e s sl o g i c ,d a t a b a s e ) w a se m p l o y e di 1 1 1 e d e s i g n t o s a t i s 矽 a l lt h eb u s i n e s sn e e d s i i lt h el a t t e r m o d u l e ,w ea d o d t e d s e r y i c e i 砥e n t e ds 仃u c t u r et 0d e s 蜘t h es m a nc l i e n t t 0s u p p o nt 1 1 i ss 觚c n 鹏,s m a n c l l e mc o m m m l i c a t e dw i t hs e e ru s i n gw 曲s e i c e ,o 昏l i l l eb u s m e s s d a t aw e r ek e d t i n 舭f i l e ,1 er e q u e s t 仔o mc l i e n tw e r ec a c h e db ym i c r o s o rm e s s a g eq u e u e ,t h e d a t aw a sd i v i d e da n d1 0 c k e dt or e s o i v ec o n n i c t s ,a n dd a t as e c u r i t yw a s g u a r a n t e e di 1 1 t h r e ew a y sh l c l u d i n gi d e m i t ) r a u m e n t i c a t i o n ,c l i e n td a t as e c u d t ) ,a r l de x c 印t i o n h a n d l e r a tm ee 1 1 do f t h e 血e s i s ,t h e 血n h e rd e v e l o p m e ma b o u to p e r a t i o no r d e rw a s d i s c u s s e do nt h eb a s i so ft h es l l i i 】m a r 泣a t i o no fo u rr e s e a r c hw o r k n es y s t 锄h a sa h e a d yb e e l lu s e d 主nt i a n j i i ld r e d g i n gc o m p a n y - n e f e e d b a c k 丘d mo l l rc l i e n ts h o w st h a tb ss 订u c t u r ec a l lp e r f e c t l ys a t i s 匆a l l 吐1 e i rb u s i n e s sn e e d s a n ds m 抓c l i e mc a n s l l c c e s s m l l yd e a lw i t l ln l ep r o b l e mc a u s e db yt h eb a dn e 觚o r ki n t h es 1 1 i dt o o 1 ( e yw o l m s :b s ,s m a nc l i e n t ,w e bs e i c e ,m s m q 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得墨鲞盘堂或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:琴云啐 签字日期:么勰年多月乡日 学位论文版权使用授权书 本学位论文作者完全了解鑫鲞盘堂有关保留、使用学位论文的规定。 特授权丕鲞叁堂可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:习云璋导师签名: 力t 碳 签字日期:知。占年月夕日 签字r 期:一q 8 年6 月s 日 第一章绪论 1 1 课题研究的背景和意义 第一章绪论 随着社会的进步和信息技术的发展,企业信息化已经是全球的趋势。中交天 津航道局有限公司是以港口航道疏浚、吹填造地施工为主营业务的大型施工企 业,下设5 个全资子公司,拥有类型齐全的现代化挖泥船及辅助船8 4 艘。近些 年企业发展迅速,需要管理的船舶备件迅速增加,原有的信息系统已经不能适应 企业的发展。 目前对船舶备件的管理主要包括备件的采购、供应、认领、调拨、消耗等。 具体流程:有船子公司( 包括中交烟台环保疏浚有限公司、天津航道局船舶管理 分公司) 根据船舶备件的消耗情况采购船舶备件,供给船上。船舶备件主管向公 司汇报备件的消耗情况。目前天津航道局船舶管理分公司采用用友软件股份有限 公司的u 8 系统进行备件的采购和财务管理,而中交烟台环保疏浚有限公司则采 用手工式的账本管理。 在启用本文开发的系统之前,船舶备件主管主要采用手工方式管理船舶上的 备件,将消耗备件的信息以e x c e l 工作表或者纸质报表的形式汇报给公司进行核 算。备件的日常管理,采用纸质账本的形式进行。通过近年来船机备件管理系统 的开发,中交天津航道局有限公司积累了比较完备的备件注册信息。所谓注册信 息就是备件的中文名称、英文名称、规格型号等备件的基本信息。如何充分利用 这些注册信息是本系统需要解决的一个问题;施工船采用g p r s 上网,网络连接 无法保证,b s 架构的应用程序,无法在船上顺利运行,如何保证系统在低带宽, 高延迟并且偶尔连接的网络情况下仍能顺利的工作,成为本课题的另一个难题。 综上所述,如果能够开发出一套既能满足中交天津航道局有限公司备件管理 的需要,又能支持船上人员在线和离线使用的系统,将具有重要的使用价值。 1 2 课题的提出和解决方案 本课题是基于如下的应用场景:有船子公司备件主管为其下辖船舶供应备 件,船舶备件主管对供应到其船上的备件进行认领分箱,分到备件箱后,船舶备 件主管进行日常的备件管理,包括备件调箱,备件消耗,生成电子台帐等。总公 第一章绪论 司和有船子公司备件主管可以根据权限查询备件信息。 根据此应用场景,通过对b s 、c s 和智能客户端架构的分析,本课题采用 b s 架构和智能客户端架构来开发此应用程序。一方面,网络条件好的陆上工作 人员通过浏览器访问系统,另一方面,网络条件不好的船上工作人员应用智能客 户端,保证系统可以在高延迟、低带宽、偶尔连接的网络条件下工作。既最大限 度的利用了b s 架构的优点,又支持了系统的离线工作。 1 3 本文的工作及内容组织 以船机备件管理系统的需求分析为基础,本文介绍了基于b s 架构和面向服 务的智能客户端架构的船机备件管理系统的设计策略、总体框架设计、b s 模块 设计与实现以及船用智能客户端设计与实现。 论文的组织结构如下: 1 ) 第一章绪论,介绍了本课题的研究背景和意义、课题的提出与解决方案; 2 ) 第二章相关技术,介绍了系统相关的关键技术,包括智能客户端、w 曲 服务、m s m q 、数据访问等; 3 ) 第三章需求分析及总体设计,从中交天津航道局有限公司企业现状和业 务需求入手,对船机备件管理系统的体系结构、功能模块作了总体设计; 4 ) 第四章b s 架构船机备件管理系统的设计与实现,首先对b s 架构下的 数据库进行了分析和设计,着重介绍了典型模块的设计与功能实现,并对一些关 键问题进行了阐述; 5 ) 第五章船用智能客户端的设计与实现,设计了客户端类和服务器端w 曲 服务,重点分析并解决了离线情况下的数据同步、w 曲服务可用性检测、数据冲 突、数据安全、自动更新等问题; 6 ) 第六章总结与展望,在总结全文的基础上,对系统的进一步优化提出意 见,并针对智能客户端今后的应用和发展方向进行了展望。 2 第二章相关技术 2 1 智能客户端 2 1 1 智能客户端概述 第二章相关技术 1 ) 定义 智能客户端应用程序是瘦客户端应用程序的强大替代产品,是易于部署和管 理的客户端应用程序。通过统筹使用本地资源和到分布式数据资源的智能链接, 提供快速响应和丰富的交互式用户界面。它可以将胖客户端应用程序与瘦客户端 应用程序的优点结合起来,提供了新一代的客户端应用程序设计模型【l j 。 2 ) 基本特征 智能客户端在设计和实现方面差异极大,这既包括应用程序的要求,也包括 可以使用它们的方案和环境。但是一般都具有下列部分或全部特征【2 j : 使用本地资源 设计良好的智能客户端应用程序最大限度地利用了代码和数据部署在客户 端上并且在本地执行和访问这一事实,为应用程序提供了内容丰富且响应迅速的 用户界面,以及强大的客户端处理能力; 使用网络资源 智能客户端可以通过网络消耗和使用不同的服务和数据。它们是从许多不同 的源检索数据的有效方式,并且可以设计为对数据进行分析或整合,从而使用户 能够进行更为有效和明智的决策。智能客户端应用程序可以与w r e b 服务方便地 集成应用,这样便可以轻松享受c s 应用程序的完美用户体验而不需担心防火墙 等的一系列问题; 支持在线和离线两种状态 可以将智能客户端设计为向偶尔连接到网络的用户提供功能,从而使用户可 以在明确脱机、使用低带宽或高延迟网络,或者连接时断时续的情况下继续高效 地工作。即使当客户端大多数时间都连接到网络时,智能客户端应用程序也可通 过以智能方式缓存数据和管理连接来改善性能和可用性; 提供智能安装和更新 n e t 框架可以对应用程序组件进行强命名,这意味着应用程序可以指定用 来生成和测试其确切版本的组件,并通过这些组件来运行。n e t 框架使应用程 第二章相关技术 序可以相互隔离,以便在安装一个应用程序时不会破坏另一个应用程序,并且同 一应用程序的多个版本可以并列部署。这些功能大大简化了应用程序部署,并且 消除了许多与胖客户端应用程序相关联的应用程序脆弱性问题; 提供客户端设备灵活性 在许多情况下,需要设计多个版本的智能客户端应用程序,每个版本都面向 特定的设备类型,以便充分利用该设备所支持的特定功能。因为小规模设备通常 在提供完整范围的智能客户端应用程序功能方面受到限制,所以它们可能只提供 对功能完善的智能客户端应用程序所提供的数据和服务子集的移动访问,或者它 们可用于在用户移动时收集和整合数据。最后,可以由功能更加完善的智能客户 端应用程序或服务器端应用程序来分析或处理这些数据。 3 ) 分类 根据智能客户端应用程序所面向的平台,可以将这些形式划分为三大类【3 】: w 协d o w s 智能客户端应用程序; o m c e 智能客户端应用程序; 移动智能客户端应用程序。 4 ) 网络连接方式 在n e t 框架类库中提供如下四种通讯连接方式: n e te n t e 叩r i s es e i c e n e te n t e r p r i s es e i c e 具有许多可以在智能客户端应用程序中使用的强大 组件功能,然而,通常只应该在单个进程、单台客户计算机上或者在服务器上的 服务边界内使用这些功能。由于e n t e 叩r i s es e r v i c e s 所具有的紧耦合性,它们通 常不是在智能客户端应用程序和位于远程系统上的服务之间进行通讯的最佳选 择。如果智能客户端应用程序需要在本地使用c o m + 服务,则应使用e m e 印r i s e s e r v i c e : n e tr 锄o t i i l g n e tr e m o t i l 培提供了灵活且可扩展的远程过程调用( r p c ) 机制,n e t 组件 可以通过该机制进行通讯。通过n e tr e m o t i n g ,可以使用多种通讯协议( 如h t t p 或t c p ) 、数据编码选项( 包括v 几,s o a p 和二进制编码) 和各种对象激活模型。 它可以提供在对象之间进行通讯的快速而有效的手段; 消息队列 消息队列”是m i c r o s o r 的消息处理技术,借助于m i c r o s o rw i n d o w s 消息队 列,可以很容易地通过发送和接收消息,快速而可靠地与应用程序通讯。消息处 理提供了有保证的消息传递以及执行许多业务过程的可靠方式【4 1 ; w 曲服务 4 第二章相关技术 w 曲服务使智能客户端解决方案能够利用行业标准协议( 例如) ( m l 、h t t p 和s o a p ) 来与任何类型的远程系统交换信息。在许多情况下,智能客户端应用 程序可以向用户提供类似于门户的功能,从而将完全不同的数据和服务加以协调 并集成到总体解决方案中。较之于以前的任何技术,s u a ls t u d i o n e t f r 锄e w o r k 和n e tc o i n p a c tf r a m e w o r k 让w 曲服务的使用更为容易【5 1 。 2 1 2 智能客户端与传统模式的比较 随着计算机技术的迅速发展,基于c s 、b s 模式的管理系统在不同行业得 到广泛应用。但是c s 、b s 模式受到自身技术的限制,功能上存在一定的局限 性【6 】。 c s 模式的问题是:通讯难以跨越防火墙的技术障碍,并且需要比较复杂的 安装和升级步骤;b s 模式的问题则为:依赖网络连接,无法在断线状况下使用, 而且所有的工作在服务器端完成,加大了服务器的负担,又难以利用客户端的资 源【7 】,网络传输量大。 智能客户端除了具备胖客户端诸多特性外,还具备有瘦客户端的部署方便的 优点,具体对比如表2 1 所示: 表2 1 智能客户端、b s 模式和c s 模式的比较雕9 】 问题c s 模式b s 模式智能客户端 快速响应,良好的用户体验是受w e b 开发技术的限制是 易于部署,维护和更新需要额外的是,正是基于浏览器应用程支持 时间和资源序的初衷 离线、低带宽、高延迟网络环不一定 否是 境下可以很好的执行 充分利用本地资源是通过c o m 组件可以使用 是 可以多线程工作可以否可以 可以部署到具有不同功能的多困难 是 能在支持n e t 种客户端上框架的任何平 台上部署 2 1 3 智能客户端部署与更新 1 ) 部署 智能客户端相对于c s 模式的一个显著优点就是能够方便地进行客户端版 第二章相关技术 本的管理和维护,部署方式包括【l o j : 无接触部署:也称为“c l i c ko n c e ”部署方式,它使得发布w i n d o w s 窗 体应用程序与发布a sp n e t 应用程序一样轻松,开发人员将应用程序编译发布 到服务器端,客户从客户端通过浏览器启动安装或更新功能,从而实现应用程序 的部署; 带有应用程序更新存根的无接触部署:使用该方法,可以使用无接触部 署下载应用程序存根,该存根随后会将应用程序的其余部分下载到本地硬盘; 从文件共享运行代码:使用该方法时,可以将文件复制到共享的文件夹 中,然后从该文件夹中运行应用程序; x c o p y :使用该方法,可以将文件直接复制到客户端,n e tf r 锄e w o r k 允许应用程序及其所有从属程序集位于单个目录结构中,因此无需在客户端注册 任何组件; w m d o w s 安装程序软件包部署:使用该方法时,可以将应用程序的文件 打包到w i n d o w s 安装程序软件包中,然后将该软件包安装到客户端上。该方法 能够不受限制地在目标计算机上安装任何应用程序,尽管应用程序在运行时会受 到安装它的最终用户的安全上下文的限制。 2 ) 更新 根据不同的部署方式,分别有不同的更新方式 1 o 】 无接触部署更新 更新的程序集被添加到w e b 服务器,以供客户端自动下载。如果已经使用 无接触部署方法部署了简单应用程序或更为复杂的应用程序的组成部分,则通过 在w 曲服务器上放置新文件即可更新这些程序集。在应用程序加载程序集之 前,n e tf r a m e w o r k 会自动在本地以及在w r e b 服务器上检查该程序集的时间戳, 以便确定是否需要重新下载该程序集,或者是否可以只是从用户的程序集下载缓 存中运行该程序集; 自动更新 应用程序被配置为自动从服务器下载并安装更新。在大多数情况下,修补、 重新打包和更新应用程序的最佳方法是将更新基础结构构建到应用程序本身内。 在此情况下,可以将客户端应用程序设计为自动从服务器下载并安装更新,并且 由i t 管理员将这些更新发布到服务器以供客户端获取; 从文件共享获取更新 更新的程序集被添加到网络共享,以供客户端自动下载。将程序集复制到文 件共享时,则应用程序每次运行时,这些程序集都会被下载到客户端并且不会缓 存。像无接触部署一样,要更新原来通过从文件共享运行代码部署的应用程序, 6 第二章相关技术 只需将新代码添加到文件共享,然后,客户端在下次运行时将下载新代码; x c o p y 更新 更新被直接复制到客户端。无论原来的部署机制如何,当更新比较简单时, 文件复制仍然可能是更新应用程序的最有效方法之一。在这样的情况下,部署更 新时,只需复制新文件,并且删除任何不再需要的旧文件。通常只需通过复制新 版本的程序集以覆盖旧版本,更新专用程序集。然而,尽管可以使用简单的复制 操作对具有强名称的程序集进行初始部署,但无法以这种方式更新具有强名称的 程序集并且让应用程序自动使用该程序集; w i n d o w s 安装程序软件包部署更新 更新w m d o w s 安装程序软件包,创建新的软件包,或者使用修补软件包更 新客户端。w l l l d o w s 安装程序提供了一种用于更新n e tf r a m e w o r k 应用程序的 全面解决方案。它的几项功能经过专门设计,以便解决应用程序更新问题。 、i n d o w s 安装程序软件包内置了对版本控制的支持。如果正确地对应用程序进行 了版本控制,则w m d o w s 安装程序软件包能够自动确保更新正确发生,并且可 以指定在安装新的应用程序时是否要删除以前版本的应用程序。 2 2w 曲服务 2 2 1w _ e b 服务的定义 w 曲服务就是用标准i n t e m e t 技术建立的、提供应用程序功能的一个网络访 问接口,换句话说,如果应用程序能够在网络上通过h t t p 、x m l 、s m t p 等协 议的组合被访问,那么这个应用程序就是一个w 曲服判1 1 1 。 2 2 2w 曲服务的技术特点 w 曲服务完全基于x m l 技术。w 曲服务提供者和请求者均使用v 几传递 消息和数据流,使用s o a p 消息调用访问服务,使用w s d l 进行界面描述,并 通过u d d i 进行公共注册发布。从外部的使用者的角度而言,w 曲服务是一种部 署在w e b 上的对象组件。它具备良好的封装性、松耦合性、使用协议的规范性 和高度可集成性的特点。 正是上述的特点,使得应用w 曲服务主要有以下的优点【1 2 】: 可以跨过防火墙进行通信; 方便应用程序的集成; 保证b 2 b 的成功集成; 第二章相关技术 方便软件和数据的复用。 当然,w 曲服务也不是万能的,在单机和局域网的应用程序中应用w e b 服 务,就不会带来任何的好处。 2 2 3w 曲服务的协议 w 曲服务的协议主要包括以下三个协议:s o a p 、w s d l 、u d d i 。 s o a p 是一个标准,该标准定义了如何对发送到w 曲服务的消息进行格式化 和编码。s o a p 标准明确规定了h t t p 协议并不是惟一能够发送s o a p 消息的传 送方法。s o a p 仅仅是消息的格式,可以通过任何所要求的通讯系统发送它们。 使用简单和无状态的h t t p 协议可以提供巨大的伸缩性,还能够不受阻拦地穿越 现有的防火墙软件。对于所有的设备和系统来说,h t t p 协议同样可以完成这一 任务,因为在设备和w 曲服务之间发送的消息都是标准化的,因此,s o a p 支持 任意设备对任意w 曲服务进行请求。 w s d l 是w 曲服务描述语言,它提供了一个较好的解决方案。w s d l 语言 被设计用来描述w 曲服务和w 曲服务中所有的方法。这种语言的代码是以x m 的格式进行编写的,因此,所有的系统都能识别并解释其中的信息。在一个w s d l 文档中,所有的参数和w 曲服务的方法名称都有说明,同时还包括了w 曲服务 本身的位置。最终的结果是,可以生成用于具体的w r e b 服务所必需的有效s o a p 消息,而且所生成的s o a p 消息也被发给了该w 曲服务。 u d d i 协议适用于存储业务信息和发布服务的注册表。使用u d d i 协议,潜 在的客户端能够通过任何已注册的业务信息搜索并找到所提供的w 曲服务。 u d d i 注册表本身提供了几个w 曲服务,以允许任何客户端都可以使用标准的 s o a p 消息来搜索注册表。 2 3m s m q 2 3 1m s m q 概述 m s m q 是微软消息队列的英文缩写。消息队列是w i n d o w s2 0 0 0 ( n t 也有 m s m q ,w 协9 5 9 8 m e x p 不含消息队列服务但是支持客户端的运行) 操作系统 中通讯的基础,也是用于创建分布式、松散连接通讯应用程序的开发工具。这些 应用程序可以通过不同种类的网络进行通讯,也可以与脱机的计算机通讯。消息 队列分为用户创建的队列和系统队列。 1 ) 用户队列分类 第二章相关技术 公共队列 在整个可传递消息的“消息队列”网络中复制并传输,并且可以由网络连接的 所有站点访问; 专用队列 不在整个网络中发布,相反,它们仅在所驻留的本地计算机上可用。专用队 列只能由知道队列的完整路径名或标签的应用程序访问; 管理队列 包含确认在给定“消息队列”网络中发送的消息回执的消息,指定希望 m e s s a g e q u e u e 组件使用的管理队列; 响应队列 包含目标应用程序接收到消息时返回给发送应用程序的响应消息,指定希望 m e s s a g e q u e u e 组件使用的响应队列。 2 ) 系统队列分类 日记队列 可选地存储发送消息的副本和从队列中移除的消息副本; 死信队列 、 存储无法传递或已过期的消息的副本; 专用系统队列 是一系列存储系统执行消息处理操作所需的管理和通知消息的专用队列。 2 3 2 n e t 对m s m q 的支持 使用m s m q 之前,首先要保证机器上安装了m s m q 消息队列组件,n e t 平台提供了一个m s m q 类库”s y s t e m m e s s a g i n g d l l ”来支持m s m q ,下面介绍具 体的使用过程。 1 ) 引用s y s t e m m e s s a g i l l g d 1 1 到开发环境; 2 ) 通过u s 啦s y s t e m m e s s a g i n g 语句,允许在命名空间中使用消息队列: 3 ) 创建消息队列: q u e u e = m e s s a g e q u e u e c r e a t e ( m s m 吐n 锄e ) ; 其中:m s m qn 锄e 为消息队列的名称,如“p r i v a t e $ s p a r e ”; 4 ) 发送消息: m e s s a g em e s s a g e = n e ws y s t e m m e s s a g i n g m e s s a g e ( ) ;创建消息 m e s s a g e b o d y = m s g t r i m ( ) ; q u e u e s e n d ( m e s s a g e ) ;将消息发送到队列 其中:p a t h 为消息队列的名称,m s g 为消息的内容; 9 第二章相关技术 5 ) 消息的接收 消息的接收分成同步和异步方式两种。同步接收在规定时间内从消息队列中 取出收到的第一条消息,当消息队列中没有消息时,程序处于等待状态;异步接 收方式则是定义了一个事件处理函数,当消息队列中第一个消息到达时立即触发 该函数。 同步方式 m e s s a g e q u e u eq u e u e = n e wm e s s a g e q u e u e ( p a 1 ) ;打开队列 m e s s a g em s g = n e ws y s t e m m e s s a g i n g m e s s a g e ( ) ;创建消息 m s g = q u e u e r e c e i v e ( n e wt i m e s p a n ( 0 ,0 ,1 ) ) ;同步的r e c e i v e 方法阻塞当前执 行线程,直到一个消息可以得到,过期时间设为一秒 其中:p a m 为消息队列的名称 异步方式 q u e u e r e c e i v e c o m p l e t e d + = 1 1 e w r e c e i v e c o m p l e t e d e v e n t h a n d l e r ( r e c e i v e d e v t ) ; q b e g i n r e c e i v e ( ) ; 其中r e c e i v e d e v t 或者为静态函数,或者是属于实例化的对象的可访问函数。 2 4 数据访问 任何一个大型的信息系统,数据库都是必不可少的,数据库的访问技术,也 就显得至关重要了,在本系统中,采用业务实体通过数据库访问组件来访问数据 库,而数据库访问组件访问数据库的基础正是a d o n e t 。 2 4 1a d o n e t a d o n e t 是与c 和m i c r o s o r n e tf r 锄e w o r k 一起使用的类集的名称,用 于以关系型的、面向表的格式访问数据。a d o n e t 被集成到n e tf r 锄e w o r k 用于n e t 语言,尤其是c 撑【1 3 j 。 a d o n e t 主要包括以下对象: c o r h l e c t i o n :建立与特定数据源的连接; c o i n m a l l d :对数据源执行命令; d a t a r e a d e r :从数据源中读取只前进且只读的数据流; d a t a a d a p t e r :用数据源填充d a t a s e t 并解析更新。 通过图2 1 来说明a d o n e t 的体系结构: l o 第二章相关技术 2 4 2 业务实体 图2 1a d o n e t 体系结构 实体指业务活动中所涉及到的物或人的计算机描述,如单据,凭证等,通常 表现为数据。实体以自定义的类来表示。每个实体类对应一个数据库表,属性对 应于相应的数据库表的字段,对象对应数据库表的一条记录。实体并不包含对实 体的操作,所有实体的方法都被封装到实体对应的方法类中,这样,实现了数据 和操作的分离。所有与数据库的操作都通过方法类中的方法调用数据访问组件来 进行。 2 4 3 数据访问组件 微软提供的数据访问应用程序块( d a t a a c c e s s a p p l i c a t i o nb l o c l 【s ) 中有一个 密封的类s q m e l p e r ,它是一组通用的访问数据库的代码,通过s q m e l p e r ,调用 存储过程或者向数据库发出s q l 命令时,无需一一指定存储过程参数和数据类 型,而是直接包含在方法中,从而使用较少的代码就可以完成存储过程的调用。 s q m e l p e r 常用的功能如下: e x e c u t d n o n q u e 巧:执行不返回数据的t - s q l 语句或存储过程; e x e c u t e s c a l a r :执行返回一个字段的t - s q l 语句或存储过程; e x e c u t e r e a d e r :返回一组数据( s q l d a t a r e a d e r 对象) ; e x e c u t e d a t a s e t :返回d a t a s e t 对象,该对象包含某一命令返回的结果集; c a c h e p a r 锄e t e r s :缓存参数列表; g e t c a c h e d p a r a m e t e r s :读取缓存的参数。 第二章相关技术 2 4 4 存储过程 在数据访问层的实现过程中,我们使用了大量的存储过程,存储过程是一组 预先编译好的t r a n s a c t s q l 代码。存储过程作为一个独立的数据库对象,可以 作为一个单元被用户的应用程序调用。使用存储过程有很多好处【l 5 】: 1 ) 允许模块化程序设计 存储过程经过了一次创建以后,可以被调用无数次,用户可以独立于应用程 序对存储过程进行修改,可以按照独特的功能模块,设计不同的存储过程; 2 ) 允许更快执行 存储过程在创建时就经过了语法检查和性能优化,因此在执行时不必再重复 这些步骤,存储过程在经过了第一调用以后,就驻留在内存中,不必再经过编译 和优化,所以执行速度很快,在有大量批处理的t r a n s a c t s q l 语句要重复执行 的时候,使用存储过程可以极大地提高运行效率; 3 ) 减少网络流量 一个需要数百行t r a n s a c t s q l 代码的操作由一条执行存储过程的单独语句 就可实现,而不需要在网络中发送数百行代码; 4 ) 可作为安全机制使用 可以设置用户通过存储过程对某些关键数据进行访问,但不允许用户直接使 用t r a l l s a c t s q l 或企业管理器对数据进行访问。 第三章需求分析及总体设计 3 1 需求分析 3 1 1 客户现状 第三章需求分析及总体设计 随着海洋资源的大量开发利用,中交天津航道局有限公司发展迅速,新增了 大量施工船,随之而来的是各件消耗量的大大增加。原有的手工管理备件方式和 现有的应用系统已经无法满足目前公司的业务需求。经过几年的建设,企业信息 化的软硬件环境得到了进一步的完善。 公司现有的应用系统主要包括疏浚工程管理信息系统( 工程定义、计划、施 工费用、生产情况等) 、人力资源基本信息系统( 人员基本信息和综合统计) 、 u 8 系统( 账目、合同、库存等) 和薪酬管理系统( 劳动工资、社会保险) 。原有 的海辉版备件管理信息系统已经不能满足现阶段备件管理的要求。 中交天津航道局网络连接情况如图3 1 所示。总公司和有船子公司采用 a d s l 上网,而船舶上采用g p r s 无线方式上网船舶上的网络连接不能保障, 开发时需充分考虑这一特殊情况。 总公司 圈3 1 中交天津航道局有限公司网络连接示意图 1 3 第三章需求分析及总体设计 3 1 2 系统设计目标 根据中交天津航道局有限公司的要求,我们需要建立一个完善的船舶备件管 理平台,为公司各级备件主管提供方便,具体建设目标如下: 1 ) 有船子公司备件主管能够给其下辖船舶供应备件。对于启用u 8 的有船 子公司( 天津航道局船舶管理分公司) ,可以导入从u 8 中导出的备件供应信息 表到备件管理系统,从而达到批量供应的目的:对于没有采用u 8 的有船子公司 ( 中交烟台环保疏浚有限公司) ,允许逐条选择备件进行备件供应; 2 ) 有船子公司备件主管能够查看已供应备件信息的认领情况; 3 ) 船舶备件主管( 所在部门分为甲板和机舱) 可以认领备件,即将备件分 配到备件箱中; , 4 ) 船舶备件主管,能够对自己备件箱中的备件进行管理,包括登记消耗情 况、备件箱之间的备件调动; 5 ) 船舶备件超级主管( 所在部门为船舶,级别高于甲板和机舱) 可以管理 全船的备件箱( 增加、修改、删除备件箱,分配备件箱给用户等) ; 6 ) 船舶备件主管能够生成电子台帐,并可以上报给上级部门,有船子公司 和总公司备件主管能够查看其下辖船舶的电子台帐; 7 ) 船舶备件超级主管可以维护所在船的备件注册信息,总公司备件主管可 以维护整个公司备件的体系信息; 8 ) 在船舶上的网络条件好时,船舶备件主管可以通过浏览器来工作。反之, 系统应该支持离线工作; 9 ) 系统管理员可以查看系统日志,包括综合日志查询和实时日志监控。 3 1 3 系统的业务流程 系统的工作流程如下:有船子公司备件主管向其下辖船舶供应备件,船舶备 件主管收到后,将其分配到自己管辖的备件箱中,然后即可进行日常操作,包括 在自己管辖备件箱之间调动备件、登记消耗等。如果需要对备件箱信息进行维护, 可以通知船舶上的备件超级主管,由他来添加、删除、修改备件箱以及分配备件 箱给船舶备件主管。如果船舶备件主管误领了备件,则可以由船舶备件超级主管 进行调整。如果出现了以前从未使用过的备件或者备件的注册信息有了变化,则 由船舶备件超级主管或者有船子公司备件主管对备件的注册信息进行维护。整个 公司的备件体系信息由总公司备件主管进行维护。 下面是各个业务流程的具体介绍: 1 ) 手工选择供应备件 1 4 第三章需求分析及总体设计 中交烟台环保疏浚有限公司,通过手工选择备件方式向其下辖船舶供应备 件。为了减轻录入人员的负担和保持录入的规范性,操作人员既可以通过备件体 系查找备件,也可以通过输入备件的名称或编码查询,从而获得备件的注册信息 ( 一般包括中文名称、英文名称、规格型号、计量单位等) ,而不需要用户手工 输入备件信息。获得备件注册信息后,只需填写供应数量、单价、供应日期等少 量信息,即可完成供应备件操作。供应备件并不意味着备件的入库,尚需要船舶 备件主管的确认( 认领备件) 。 2 ) 导入备件供应信息 天津航道局船舶管理分公司,可以从u 8 系统中导入相关的报表对其下辖船 舶供应备件。有船子公司备件主管从u 8 导出的报表( e x c e l 工作表) 的列名称、 数据排列顺序、格式要符合一定的要求。通过导入e x c e l 工作表,达到了批量供 应备件的目的,既提高了工作效率,又与u 8 系统达到了很好的结合。 3 ) 认领备件 船舶备件主管收到有船子公司供应的备件后,选择自己管辖的备件箱及要存 放到该备件箱中的备件数量,将备件认领到备件箱。备件箱由船舶备件超级主管 分配给船舶备件主管。只有将备件认领到备件箱中之后,才最终完成了备件的入 库。 4 ) 部门内调箱 船舶备件主管认领备件到备件箱之后,备件的存放位置不是一成不变的。某 个备件箱存货已满,或者备件箱出现损坏后,都需要调整备件的存放位置。为了 掌握备件的最新状况,需要在系统中及时更新备件的存放位置,以便需要时可以 迅速找到相应的备件。 5 ) 部门之间调箱 船舶备件超级主管可以在其管辖的船上所有的备件箱之间调整备件。主要用 于备件认领时,船舶备件主管误认领备件后的备件调整。船舶备件超级主管不负 责备件日常的认领、消耗等。 6 ) 消耗备件 船舶备件主管首先选择要消耗的备件所在的备件箱,系统列出该备件箱现存 的所有备件,然后备件主管查找要消耗的备件,填写消耗数量,生成备件消耗单, 完成备件的消耗。 第三章需求分析及总体设计 3 2 总体设计 3 2 1 总体设计策略 为了达到系统的设计目标,在深入了解客户需求并查阅相关资料后,我们采 用b s 架构和智能客户端结合的方式来进行系统开发。 应用b s 架构 总公司和有船子公司备件主管工作地点是陆上办公室,网络连接质量相对较 好,船舶备件主管回到陆地上也可在良好的网络条件下工作,应用b s 架构,可 以充分发挥瘦客户端易于部署,客户使用方便的优势; 引入智能客户端 公司的信息化同样包括船上备件管理的信息化。目前,施工船上已经配备了 比较先进的计算机设备,不足的是船上的计算机采用g r r s 上网,带宽低、延迟 高、时断时续。b s 架构的应用程序,无法在船上正常使用。智能客户端的一个 最显著的特点就是支持离线操作,再加上它支持自动更新功能和其他的一些特 性,它的引入也就成为了必然的选择。 3 2 2 总体体系结构 综合以上的分析,为了更好的实现用户的需求,根据总体的设计策略,设计 总体体系结构如图3 2 所示: 面向服务的智能客户端架构 当前版本信息 请求的w e b 服务及其参 数 w e b 服务的执行情况或 数据集 图3 2 总体体系结构图 梦一毋一 第三章需求分析及总体设计 b s 架构是由浏览器、应用程序服务器和数据库服务器组成的多层网络体系 结构。浏览器主要负责人机交互;应用程序服务器存放系统的业务逻辑;数据库 服务器则主要存储和管理数据库。 在智能客户端架构中,我们采用面向服务的方式同步数据;使用x 池文件 存储业务数据;使用w i i l d o w s 消息队列缓存用户的发出的请求;与服务器的通 讯通过调用w - e b 服务来进行,智能客户端不直接访问数据库,所有的与数据库 的操作都需要调用w 曲服务来进行;智能客户端部署,通过制作安装程序软件 包将运行系统必须的组件打进安装包,省去了用户的搜索安装;安装完毕后可以 通过自动升级组件( a p p u p d a t e r ) 访问客户端升级服务器来进行版本的更新。 本项目的所有功能都己在b s 架构中实现,充分发挥了b s 架构易于部署和 维护的优势;而船用智能客户端实现了需要在船上操作的功能,主要是便于在高 延迟、低带宽、时断时续的网络条件下工作。 3 2 3 总体功能设计 根据船机备件管理系统的各部分业务功能,可以将整个系统分为基础档案管 理、系统管理、业务操作管理三大模块。 基础档案管理主要负责维护船机系统中的档案性质的信息;系统管理主要负 责用户管理、权限管理、角色管理、模块管理、日志监控等;业务操作管理实现 备件管理的实际业务流程。如图3 3 所示。 第三章需求分析及总体设计 图3 3 船机备件管理系统的功能模块 3 3 开发环境与运行环境 3 3 1 开发环境 “工欲善其事,必先利其器”。为了完成一个系统,开发工具的选择无疑是 非常重要的。综合考虑各种开发工具的优劣,并结合客户的实际情况,我们选用 第三章需求分析及总体设计 c 作为系统的开发语言,m i c r o s o r s u a ls 砌i o2 0 0 5 作为集成开发环境,它在 开发环境的新特性【l6 】极大地方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年工程项目法规模拟试题(含答案)
- 2026年上海市公务员考试模拟题及答案详解
- 2026年齐河社工考试模拟题及答案详解
- 2026年工程监理模拟试题模拟试卷及答案详解
- 2026年商业策划师综合能力测验模拟题及答案详解
- 2026年融资担保笔模拟题目及答案详解
- 2026-2031年中国农村电商市场深度研究与行业前景预测报告
- 2026年初中教师综合模拟试题(含答案)
- 2026年8月公需科目乡村振兴模拟试题(含答案)
- 2026年北大秋令营模拟试题(含答案)
- GB/Z 270-2026安全与韧性业务连续性管理体系业务连续性策略指南
- 2026年医疗废物分类及处理培训考试试题(附答案)
- GB/T 48315-2026鲁班工坊运行质量评估指南
- 2026年健康科普大赛基础测试题含答案
- 八年级物理上册期末《声现象》6大易错题专项训练
- 2026年内蒙古自治区中考生物试卷(含答案及解析)
- 公路城乡结合部交通事故处理手册 标准版
- 冷轧硅钢及金属制品深加工项目可行性研究报告模板拿地申报
- 2026年4月自考04184线性代数(经管类)试题及答案含评分参考
- 某化工产品企业质量管理办法
- 2025-2026学年北京市西城区某中学九年级上学期期中语文试题
评论
0/150
提交评论