随着信息技术的飞速发展和其在各行业各方面中的广泛应用,利用信息技术构建管理平台及人员调度已成为管理发展的主流方向,推动各行业及整个社会的管理水平和工作效率显著提高。
当今船舶科技的重大发展和全球经济水平的变化使得全球港湾开辟和港口建设频率更高,需要大量的挖泥船对泥沙、泥土甚至岩石进行疏浚[1]。内河方面,在国家大力推行环保政策的条件下,内河拓宽与挖深也对挖泥船提出了更高的要求。当前,为提高挖泥船效率及疏浚能力,挖泥船正向着大型化、复杂化和信息化方向发展[2]。挖泥船上工作人员越来越多,各个业务部门数量逐渐增加,分工也变得越来越细,传统的管理方式已不再适用于当前大型挖泥船管理的要求,为了提高挖泥船的常规业务管理水平和工作效率,并满足挖泥船工作人员和业务部门对相互沟通、交流和协作的要求,本文构建了一款基于Restful框架的信息管理云平台,工作人员和业务部门可通过该平台自由沟通和交流,同时,Restful框架和开放式的松耦合框架保证了该信息管理云平台具有良好的伸缩性和拓展性。
1 Restful架构2000年,Roy fielding首次提出REST的概念,通过定义一组架构体系原则,依托这些原则设计的Web服务以资源中心,包括不同语言编写的程序通过http传递和处理[3]。当前,在WEB服务设计模型中,REST已成为最主要方式,这种架构能够有效提高系统的伸缩性,REST架构具有以下特征:
1)网络上一切事物都被抽象为资源;
2)每个资源被设定一个URI(Uniform Resource Identifier);
3)工作人员利用通用接口(Generic Connector Interface)处理和传递资源(常为http);
4)资源标识在各种操作中不会被改变;
5)各种操作保持无状态模式;
运行信息管理云平台的互联网环境具有以下特征:
1)具有难以预估和控制的可伸缩性要求,在云平台构建中,工作人员的并发访问量是开发和研究中无法控制和预估的;
2)具有难以预估和控制的安全性要求,在云平台构建中,接收到的请求格式是系统无法控制和估计的,有可能会出现恶意请求格式;
3)具有最大的松耦合程度,容纳大量存在异构的系统;
4)具有简单性,降低开发者进行云平台构建的门槛;
可以看出,Restful架构因其高效简洁的特性,很好的满足了云平台构建的要求。
2 信息管理系统中云平台构建 2.1 云平台架构及接口设计利用Restful架构和Web应用请求构建云平台,构建云平台需要进行Web API接口设计。Web API接口满足各挖泥船信息管理系统进行二次应用开发的要求,能够将自身的程序通过API提供给二次开发者,使得云平台具有强大的扩展性。选择Restful API接口,由于XML格式冗长且兼容性差,本文选择JSON数据格式[4-5]。根据上文分析可知,在Restful架构里,每一个实体信息都被当作资源,并通过特定的URI进行指向,在HTTP请求的信息中,资源的表现形式通过Accept和Content-type两个字段进行设定。值得注意的是,URI只是表示资源的制定,并不能代表对资源的操作。
对云平台来说,首先要具有一个服务器端,它是整个云平台体系架构的核心部分,任何可对外提供的服务都建立在服务器已完成的基础上,云平台关键业务都是通过服务器中的程序进行处理的。服务器端包含了实体模型、REST资源和内部接口3层结构。实体模型指的是业务数据模型;REST资源包括向外提供具体http服务和实现SPI两个作用,它依赖于内部接口,并可通过一个内部接口实现多个REST资源;内部接口主要是为了实现业务逻辑和控制业务,在云平台中,它是子系统交互的窗口。为实现远程控制和业务调用功能,云平台需要能够提供给客户一个具有远程调用功能的客户端,能够隐藏具体内部信息,客户端不需要知道底层定义和相关代码就能进行相关操作。当请求来临时,云平台会调用2个接口进行应对。云平台调用SPI(Service Provider Interface)应对客户端发来的请求,SPI通过调用URI获得服务。云平台调用BUS应对来自于底层模块的请求,可以利用直接调用对象的方法获得服务。
2.2 挖泥船云平台需求分析与设计对挖泥船信息系统云管理平台的需求进行分析发现,从结构上可以将其分为3层,面向系统底层的系统服务、面向用户管理的基础服务、面向管理功能拓展的应用服务。
对底层系统来说,系统需要具备的功能需求如表 1所示。
对面向用户的基础服务来说,所需要具备的功能需求如表 2所示。
对面向管理功能拓展的应用服务来说,所需要具备的功能需求如表 3所示。
由以上的云平台需求可知,本文构建的挖泥船管理系统的云平台必须满足这些功能要求,此外,该平台能够提供足够的拓展性,保证挖泥船和用户在需要进行功能拓展时,能够有效的兼容拓展的新功能,并将其高效地实现。
2.3 云平台构建本文构建的云平台示意图如图 1所示。要实现该云平台,其关键在以下几点:
1)数据层的实现;
2)权限管理模型可配置的实现;
3)管理云服务化的实现;
4)Restful API在服务器端解读的实现;
本文的数据层实现采用MongoDB,它是一种无模式高性能的文档数据库,能够较好的支持整个云平台上层结构的实现。
本文设计的云平台作为挖泥船信息系统的服务平台,需要处理的资源主要分为2类,第1类是结构化数据资源,第2类是文件资源。本平台实现的结构化数据资源访问权限配置包括平台管理者和平台用户,在结构化数据表中设定平台管理者对平台用户结构化数据的权限配置,平台用户和应用分组之间属于从属关系,并由平台管理员进行配置,通常以RBAC权限模型进行数据表级的访问控制[6]。为设定用户对数据表内非自身数据的访问权限,以otherUserRowpermission字段进行设置。本平台具有2级权限控制模型,每一级权限都可以设置读写/只读/无权限3种,通过两位二进制数控制。此外,结构化访问数据模型对增删改查的控制分为2类,第1类为创建、更新、删除,此类命令需要写权限。第2类为读取,这个命令只需要读权限。对于文件访问控制模型而言,参与者也包括平台管理员和平台用户,平台管理员利用虚拟路径配置访问权限;平台用户在已配置完成的权限下进行文件访问操作。
利用开源工作流引擎activiti实现管理云服务化,该引擎基于Apache许可,从底层开始构建,提供对新的BPMN2.0标准的支持,包括对象组管理、互操作性和云架构。由于该引擎具有可嵌入性、高扩展性和轻量级的特点,能够满足本文挖泥船信息管理系统中云平台的要求。
为实现Restful API在服务器端的解读,提高该平台对不同挖泥船的普适性,并考虑开发者的用户体验,要求对外API接口易于使用简单、灵活性高。本文设计的云平台采用分层设计方法,第1层设计的主要目的是为了面向不同类别的用户,第2层设计的主要目的是面向用户下不同类别的资源。采用Java编程语言对Restful API架构进行设计,当其路由到资源模块后,会清晰的表现出所要获取的资源目标。为了准确地实现身份认证、平台数据保密、表现数据完整,本平台通过Myfilter类对接收到的请求进行预处理和后置处理,通过设计进行封装写入响应体进一步提高了平台的安全性。
3 结语挖泥船信息管理系统中的云平台具有广阔的发展和应用前景。本文对Restful架构进行了研究,根据云平台的应用需求,并基于Restful架构构建了一款适用于挖泥船信息管理系统的云平台,从接口设计、平台结构、数据层实现、权限管理模型配置、管理云服务化、Restful API在服务器解读进行了详细的设计,最终,成功实现了一款云平台的研究。
[1] | 何炎平, 谭家华. 大型自航绞吸式挖泥船的发展和有关问题的思考[J]. 中外船舶科技, 2008 (2): 8–13. |
[2] | 刘厚恕. 国外挖泥船发展新态势[J]. 船舶, 2009 (6): 1–7. |
[3] | 唐明伟, 卞艺杰, 陶飞飞. RESTful架构下图书管理系统的研究与实现[J]. 现代图书情报技术, 2010 (9): 84–89. |
[4] | 洪重阳, 李晨英, 王雁, 等. 一种用于不同系统平台间XML格式元数据交换的实用方法[J]. 现代图书情报技术, 2005 (8): 16–19. |
[5] | 谷方舟, 沈波. JSON数据交换格式在异构系统集成中的应用研究[J]. 铁路计算机应用, 2012 (2): 1–4. |
[6] | 欧阳荣彬, 王倩宜, 李丽, 等. 基于属性规则的数据权限模型研究与实现[J]. 大连海事大学学报, 2010 (2): 81–83. |