项目成果展示:上海天马portal系统

发布者:软件工程学院发布时间:2018-11-07浏览次数:760

一、概述

上海天马Portal管理系统是为了在公司内部整合所有业务系统,规范统一入口,消息通知,业务处理,是业务统一入口,用户无需牢记各个应用系统的地址,降低用户使用时的困难,避免用户来回切换业务系统,提升用户工作效率。

二、范围定义

2.1 目标

Portal系统作为天马所有业务系统的门户集成者,主要覆盖人员管理系统,设备点检系统,设备管理系统,MES系统,产品品质管理系统等,需要各个业务系统信息数据展现,业务消息推送,业务办理。

2.2 原则

Portal门户不承担业务数据的持久化(或少量承担),为做到Portal信息的规范,我们必须制定Portal业务数据格式,消息格式的标准,Portal实现了用户一次登录后就能使用Potral中其他业务系统,用户不再进行登录操作。

2.3 系统功能

2.3.1 常规登录

通过输入用户名密码的方式,进行登录。该方式是最为常规的登录方式,为系统保留。

2.3.2 快捷登录

为了提高使用效率,系统提供快捷登录方式。在手机APP(NFC扫描工作卡)和工作站(读卡器扫描工作卡)的计算机上应用此方式。

2.3.3 用户信息显示

用户登录后,主要页面会显示用户的基本信息(文本)。

用户头像:由于用户信息不由本portal系统产生和维护,故仅显示用户头像,头像数据由甲方提供。

2.3.4 事件提醒

由于portal和多个系统有数据对接,当有新的事件发生时,应该主动提示用户:客户端程序通过闪烁或者弹出窗口的方式来主动提醒。 

2.3.5 异常反馈

对接异常系统,获取异常信息并显示,提供反馈处理的跳转(URL方式,直接跳转到异常系统的对应界面)。

2.3.6 活动追踪

提供登录用户的活动追踪功能,通过点击某个活动按钮,以开始某个活动,此时系统开始针对改活动进行时间记录。需要切换活动时,点击对应活动按钮即可,系统自动记录前一个活动结束, 后一个活动开始。

最后一个活动的结束由用户的“注销”操作,或者“用户切换”操作界定。

注意:由于活动开始和结束需要通知给活动业务系统,故存在着对接工作,portal系统主动调用业务系统活动相关接口。

2.3.7 历史活动查询和统计

仅实现简单的查询和统计功能。

仅提供以日为单位查询某一日的活动记录表格,以及当日活动时间比例饼图。

2.3.8 任务列表

与任务的来源业务系统对接,获取并显示当前用户的任务列表。

此处仅提供未完成任务列表,列表由业务系统调用portal系统的接口进行添加。当任务完成后,任务产生的业务系统亦需要调用portal系统的接口从列表移除。

2.3.9 待办列表

与待办事务的来源业务系统对接,获取并显示当前用户的待办列表。

此处仅提待办的列表,列表由业务系统调用portal系统的接口进行添加。当待办完成后,业务系统亦需要调用portal系统的接口从列表移除。Portal只缓存待办事务。

2.3.10 业务系统跳转

2.3.10.1 跳转授权

概念:IT行业的OAuth或者OAuth2的授权方式是指,系统通过此种方式,授权外部访问系统保护资源,而不用直接验证用户名和密码。

从内容上讲,portal对其他系统只提供用户基本信息,没有更多的资源和服务需要授权给第三方系统,故不太适用于此范畴。且采用OAuth或者OAuth2的授权对系统的工作量和对接难度,大大提升,更是没有必要。

此处所谓的跳转授权,其实只需要让各业务系统知晓是从portal跳转过来的,而且知晓是哪个用户便可。

他因此,在portal跳转到各业务系统的信息中,portal会带上2个信息:

portal系统的固定标识:告诉业务系统是来自于portal系统的跳转。

跳转用户的工号:告诉业务系统是哪个用户跳转

业务系统在检查跳转信息时,除了上述两个信息,还应该检查跳转请求的源IP地址和MAC地址,以确定是portal系统的请求,借此提高安全性。

跳转之后,各业务系统后台直接从中间数据库拉取用户信息,或者调用portal系统的接口,以获取用户信息。

2.3.10.2 跳转方式

为了方便使用各业务系统,portal提供系统的跳转。

Web跳转:如果以web的方式使用portal,则跳转至业务系统的web页面    APP跳转:若果以app方式使用portal,则打开对应业务系统的app

客户端跳转:若依客户端方式使用portal,则打开对应业务系统的客户端程序

若在某种类型的portal终端程序上(web、app或客户端),无对应业务系统的跳转方式,则尝试以web方式跳转。

2.3.10.3 业务系统列表显示

Portal系统存储各个业务系统的访问权限设置,并在用户登录portal之后,只显示拥有访问权限的业务系统的跳转按钮。

2.3.11 注销

已登录的用户,直接点击注销按钮进行注销,同时系统自动完成与注销相关的业务操作和数据记录。

2.3.11 切换登录

与常规登录和快捷登录的使用方式完全相同,不同之处在于,常规登录或者快捷登录的时候,当前已有用户登录。如果切换登录的用户与当前用户相同, 则不产生任何状态变更和多余的处理;若不同,则属于真正的切换,此时相当于执行了前一个用户的注销动作,和后一个用户的登录动作。

2.4 访问终端程序

系统提供三种访问终端程序:

2.4.1 Web页面

提供Web服务器,通过常用浏览器在PC上进行访问。

2.4.2 手机App访问

提供App在手机上进行访问。App实现NFC登录功能。通过NFC扫描员工卡,获得工号,以实现快捷登录。

2.4.3 客户端程序访问

在工作站中,一般只提供了PC作为访问终端,此时我方提供一套基于Windows系统的客户端程序,以实现访问。

登录后,该客户端程序需常驻系统通知栏,当有新的消息时,需要使得通知栏闪动或主动弹出窗口,达到消息及时提醒用户的目的。

该客户端程序提供读卡器登录功能:工作站计算机连接读卡器,用户通过再读卡器上刷员工卡,或得工号,以实现快捷登录。

2.5 对外接口

对外接口指:portal系统提供并开发,供各个业务系统来调用,完成某一个具体业务的接口。

所有接口均使用近年最为主流的Restful接口,数据均使用json格式传递。

所有的接口均需要带上业务系统编号(届时需要统一约定),用于portal识别是哪个业务系统调用了接口。待定:所有接口的具体调用地址、参数、返回值等内容待以后确定。

2.5.1 用户登录验证

传递工号和密码,返回登录是否成功,若成功,则同时返回用户基本信息。

业务系统仍然可以绕过该接口,自行从中间数据库获取数据,实现登录验证。

2.5.2 用户信息获取

传递工号,若用户存在,在直接返回用户信息;若不存在,则返回错误。

2.5.3 事件通知

各个业务系统把事件按照工号和分类(如异常、任务、待办等)来通知给portal系统;portal系统返回事件ID给各业务系统,并暂存事件;在事件消失前,各个业务系统需要暂存业务ID及其他相关信息,便于信息缓存。

2.5.4 事件消失通知

当事件消失时(如异常关闭、任务完成、待办完成),各业务系统需要向portal取消事件,通过调用此接口,并传递事件ID的方式,以确定具体要取消的事件。

2.6 业务系统接口

业务系统接口指:相关的所有业务系统均需要提供的接口,供portal系统调用。需要业务系统主动对接各个业务系统, 故工作量对比对外接口更多。

所有接口均使用近年最为主流的Restful接口,数据均使用json格式传递。

所有的接口均需要带上业务系统编号(届时需要统一约定),用于portal识别是哪个业务系统调用了接口。

待定:所有接口的具体调用地址、参数、返回值等内容待以后确定。

2.6.1活动开始

用户在portal系统中的活动操作,需要通知给业务系统,以便业务系统做相应处理。

Portal需要调用业务系统的接口,传递自身系统编号、用户工号、活动类型、开始时间等参数。

2.7 不包含的

2.7.1 用户数据的来源和管理

数据由甲方自行同步到中间数据库,并进行数据的管理。需提供相关说明或文档,来解释数据结构、数据含义等,便于我方的使用。(我方仅根据自身存储附加和辅助的数据)

2.7.2 用户头像数据

同上,用户数据来源于中间数据库,故系统也不提供用用户头像数据,而是甲方自行同步到中间服务器,并提供访问方式(通常是一个图片文件的URL)以供portal系统访问。

三、解决方案

3.1系统信息表

3.1.1提供用户表,统一登录 

3.1.2建立异常表,记录一般异常信息和统计异常信息

3.1.3建立活动表,记录相关活动信息

3.1.4建立任务表,统一任务功能

3.1.5建立代办表,统一代办功能

3.1.6建立业务表,统一业务管理功能

3.2权限系统

3.2.1建立人员业务表,对人员的业务进行统一管理

3.3其他子系统需提供接口

3.3.1每一套系统提供一套OAuth或者OAuth2的授权方式Api,并能获取人员的详细信息

3.3.2根据提供时间查询异常接口

3.3.3根据提供时间查询异常接口

3.3.4根据人员和时间查询活动信息列表接口

3.3.5根据人员和时间查询任务信息列表接口

3.3.6根据人员和时间查询代办信息列表接口

3.4三种产品:PC版、Android版本、Web

3.4.1 PC版对桌面程序和Web进行操作

3.4.2 Android版本对Android应用控制和Web进行操作

3.4.3 Web版

3.5服务器配置和技术架构



3.5.1采用以上体系架构,其中客户端有window桌面程序、Html网页程序、android应用程序。

3.5.2Web服务器(rest)作用有两个

1.定期从各应用服务器获取数据。

2.给客户端提供数据。其中给客户端提供数据也有两种方式:

A、客户端通过接口和从Web服务器获取数据。

B、通过当Web服务器数据发生变化时,通过socket向客户端推送数据

3.6使用到的技术

3.6.1 程序window面板要使用VC++(尽量使用C#),方便对其他桌面程序和Web程序控制

3.6.2 Web网页使用html、css、es6、react.js等前端技术

3.6.3 Android程序需要Android编程相关技术,可能会使用综合开发,比如rn

3.6.4 后端服务器采用Java开发,数据库是Oracle

3.6.5 Web服务器和各种客户端socket通讯技术

3.7界面信息

界面适合桌面版和App版本,桌面版可以在任务栏托盘区显示

四、作品截屏