日期:2023-01-24 阅读量:0次 所属栏目:信息管理
随着信息技术发展,为适应挖泥船内部深化信息化管理,提高管理水平和工作效率的需要,以Restful技术为基础,构建基于Restful服务的挖泥船信息管理云平台,为工作人员提供便利的信息化工作平台,工作人员通过平台自由高效地沟通、交互信息、协同工作。
1 引言
随着信息技术的发展,信息化管理越来越深入到每个行业,管理信息化提高行业的管理水平,促进信息的有效流通,能显著提高工作效率。目前,挖泥船规模越来越大,船上业务部门随着规模增大而增多,船上工作人员数量也在增加,并且各个部门职位也越来越细化,为了提高挖泥船日常业务管理水平,我们构建挖泥船信息管理云平台,为工作人员提供便利的信息化工作平台,在平台中,工作人员可以自由高效地沟通、交互信息、协同工作。考虑到平台的可扩展性及良好的伸缩性,我们采用开放式的松耦合架构,基于Restful框架来实现解耦合系统设计,提供良好的系统性能。
2 Restful框架
Rest(Representational State Transfer),也即“表现层状态转化”,其中表现层指资源(Resources)的表现层,资源是网络中的一个实体,或称为网络中的一个具体信息,可以是一张图、一个人、一种服务等,比如在挖泥船信息管理云平台中,一个工作人员是一个实体资源,一个工作任务也是一个资源。每个资源都有一个特定的URI(Uniform Resource Identifier,统一资源标识符)指向它,用户通过URI访问资源。REST 指的是一组架构约束条件和原则,满足这些约束条件和原则的应用程序或设计就是 RESTful。
Rest原则之一是客户端和服务器间的交互是无状态的,也即客户端的每个请求都必须包含能使服务器端为响应该请求所必需的信息,如果服务器在响应期间崩溃重启,客户端不会得到通知,此外请求可以由任何可以服务器响应,非常适合云计算这种分布式部署平台。Rest另一个重要原则是系统分层。系统中的组件模块通过松散耦合方式交互,层次之间有明显的分隔,可以限制整个系统复杂性,促进系统底层的独立性。
状态表述转移:在Rest规范中,资源即状态,把整个互联网看成一个庞大的状态机,URI即为资源一个状态表述,每个页面就是一种状态。比如在挖泥船信息管理云平台中,有两个任务A和B,有两个工作人员工号分别1和2,假设1和2都参加了任务A和B,要访问A任务中的1,就用URI:http://task/A/1,要访问B任务中的2,就用URI:http://task/B/2。因此,基于Restful框架的云平台天然地具有服务器无状态特征,在状态转移过程中,服务器不需要记录任何Session,所有状态都通过URI的形式记录在客户端。
3 云平台服务器端体系结构
云平台服务器端体基于Restful规范构建,Web应用服务通过两种方式对外提供业务逻辑服务,对于客户端来的请求,通过SPI调用服务URI获得服务,对于部署在同一JVM中其它底层服务模块的服务请求,通过BUS接口直接对象方法调用获得服务。图1为云平台基础服务对外提供服务的体系结构。
(1)SPI:Service Provider Interface,即服务提供者接口,如果把所有的业务都看作“服务”,这个模块就是业务系统的外部接口定义。这些接口的实现能以特定方式提供相同的服务。除了下文提及的Server、REST client、Bus实现,SPI的实现也可以是对现有软件系统的适配。例如云平台中即时信息互动系统定义了一套SPI,办公应用中的任务管理系统基于这套SPI与即时信息系统交互。
(2)Server:服务器端,整个体系结构里最重要、最核心的组件。只要服务器端完成,就能够对外提供服务。其他组件是为了方便系统之间的集成,核心业务功能最终都是通过服务器端的代码完成。服务器端对外提供http REST服务。服务器端又分成三层结构:REST资源、内部接口、实体模型。
REST资源:REST资源的作用有两个:一是向外提供具体的http REST服务;二是实现SPI,作为系统集成的最小粒度组件。REST资源依赖内部接口,多个REST资源可能使用同一个内部接口实现。
内部接口:业务系统内部模块交互的窗口,业务逻辑在这个层次实现,事务也在这一层次控制。
实体模型:实体模型用类表示业务数据模型,隐藏数据的存储结构。
(3)REST Client:用程序实现的http客户端,通过远程访问服务器端的http REST url,实现远程调用业务功能。主要作用是提供一个远程调用的客户端,隐藏http REST url的细节,需要集成该业务系统的程序使用该客户端就不需要知道具体的REST接口定义。REST client实现SPI。
(4)Bus:业务接口总线。如果业务系统与被调用的业务系统部署在同一个JVM里,使用SPI的服务器端实现而不是REST Client实现显然会更有效率,因为只需要在JVM里找到相应的组件,不需要发送http请求走网络通信。为了提高部署时的灵活性,使用业务接口总线屏蔽掉SPI的实现选择,这样集成其他业务系统只需要调用该业务系统的业务接口总线,使用远程调用还是使用本地Java类调用来做系统集成只需要改动部署配置文件,不需要改动代码。
4 挖泥船信息管理云平台架构
挖泥船信息管理云平台提供挖泥船内部信息管理功能,包括挖泥船人员管理、行政管理、办公管理、群组活动、微博互动、网络硬盘。平台架构上分三层,分别是系统服务、基础服务、应用服务。图2为平台架构示意图。
其中,系统服务器层提供数据库服务、分布式文件存取服务、权限管理等系统服务。
基础服务层包含AD:实现用户注册、登录、服务路由服务;AC:实现应用服务管理、应用服务注册、注销、自发现;应用服务层中人员管理:对挖泥船内部工作人员进行分组分部门管理,并对不同人员赋予不同系统应用权限;行政管理:对挖泥船内部设备设施、商务合同、产权资质、合作企业进行有效管理;办公管理:管理内部办公流程审批、会议通知、日程安排以及工作计划;群组活动:建立内部群组和活动,内部人员以群组或活动的方式进行沟通交流;微博互动:以内部微博形式,工作人员自由即时交流互动;网络硬盘:提供网络云硬盘文件存取服务。
5 结束语
为了提高挖泥船内部管理效率,实现信息化管理,构建基于Restful挖泥船信息管理云平台,云平台以Restful框架为基础,利用Restful服务无状态特性,构建体系上松耦合、结构灵活、底层可扩展性强、水平伸缩度大的应用云平台。
作者:钟荣柏 朱楷 来源:信息安全与技术 2016年2期
本文链接:http://www.qk112.com/lwfw/jsjlw/xinxiguanli/258330.html上一篇:浅谈工程项目信息管理
下一篇: Veritas四大业务战略布局信息管理