管理支撑办公系统技术架构选型及相关技术应用范围、方法分析

时间:2021-01-07 19:40:29

1、前言

        信息化改造项目,在启动前,必要时,需要对技术方案先做方向性的评估。在投资有限、硬件资源有限的条件下,为了满足改造需求,需要进行技术方案选型、技术点使用范围进行分析。主要技术选型度量点如下:

  • 技术成熟度;
  • 性能;
  • 界面展现速度;
  • 稳定性;
  • 开发投资。

        现今,软件信息系统架构和开发技术都很多,而且,在云计算的概念炒作情况下,容易迷失方向。在这里,结合系统现状、开发资源和需求等条件,可选的技术架构有J2EE、SOA、PaaS,可选的开发技术和语音有HTML、JavaScript、Java、Bean、Web Service、Restful、Soap、XML、Json、JSP等等。

        本文将结合现状,提出与具体技术无关的架构,在此架构上选择适合的技术,以满足各个方面的需求。


2、管理支撑办公系统现状及需求分析

2.1、系统现状

        现系统核心是2009年建设的全省集中办公系统,目前架构是Apache HTTP + Cordys平台的SOA架构,硬件资源为4台PC Server组建的集群,以及1台IBM P570小型机。另外还包括,从2005年开始,陆续建设的部室办公和专业系统,如下图所示,现存在5种平台的信息系统。

管理支撑办公系统技术架构选型及相关技术应用范围、方法分析

        当前,核心系统用户数为近2万,以流程为主的并发量为1500。


2.2、需求及需求分析

  • 优化需求
    • 业务流程平台功能优化
    • 公文管理平台功能优化
    • 公文管理业务优化
    • 各系统兼容高版本IE优化
    • 公文管理平台与业务流程平台拆分
  • 新增专业应用需求
    • 成本预算管理系统
    • 阳光大厅(信息公开)
    • 市场竞争信息管理系统
  • 提升能力需求
    • 发房产土地经营管理系统
    • 工程审计系统
    • 工资查询系统
    • 纪检监察信息专栏
    • 集团客户生产过程跟踪系统
  • 整合需求
    • 9个独立的部门垂直管理系统功能整合

3、业务模型分析

3.1、流程业务模型分析

3.1.1、流程审批表单

        流程审批表单是由表单、流程、数据规则、操作、意见等业务项构成,对这些原子业务单元就行管理,在具体流程业务中,把这些原子业务按规则装配绑定在一起,来形成具体的业务。

        例如“操作”业务,归纳主要功能有:保存、送出、选择人员、选择下一步、查看流转记录等;“数据规则”业务就是在不同的流程环境,对业务表单上的操作权限,以及内部业务逻辑。


管理支撑办公系统技术架构选型及相关技术应用范围、方法分析

3.1.2、工作流

        流程服务是在Opentext Cordys工作流引擎的基础上,按云技术规范封装API服务,并与平台集成,以满足系统中流程业务应用的需求,规范管理工作流开发的接口,提供通用的开发功能支撑。

        1、任务处理功能

        确认受理、追派、追回、撤销、挂起、激活、*跳转、传阅、协办、会签、审核、退回、提交、工作移交。

        2、流程控制及跨流程控制功能

        启动流程、流程中启动流程、主流程结束、子流程结束、流程互调、流程回调、分支、合并。

        3、平台技术

        ⑴、流程服务技术支撑

        流程定义、流程调度、流程调用、流程实例对象管理、流程模拟、流程建模、流程监控、流程生命周期管理。

        ⑵、架构

        核心架构、运行环境、设计开发环境、流程控制、业务规则支持。

        3、系统

        可用性、可扩展性和性能要求、一致性、存储要求。

        4、集成

        ⑴、4A集成

        用户和组织集成、角色、SSO集成。

        ⑵、能力集成

        能力集成、管理控制台集成、应用隔离及多租户实现。


3.2、信息业务模型分析

        信息业务主要包括:静态信息展现、数据信息汇总与分发。

        这里所说的信息类似网站上新闻信息、信息系统上的数据填报信息,以及信息互动,类似微博形式。为省公司本部、地市等部门办公提供信息交互、信息共享功能,这样,各个部室功能类似,形式和数据内容有差异,因此,需要通过业务原子化,再通过业务装配来复合出具体信息专栏,为某个部室或全公司提供信息服务。

管理支撑办公系统技术架构选型及相关技术应用范围、方法分析


4、系统技术架构

4.1、目标

        1、统一开发平台

        整合企业现有独立的系统到统一平台上,通过规范接口、规范开发技术,改造现有系统,逐步迁移到新平台上。

        2、快速开发组件

        以信息专栏为例,通过展现模版、通用信息发布功能等在平台上预置的功能,组合原子功能来实现快速开发、部署业务。

        3、通过负载均衡等技术满足高并发、性能稳定需求。

        系统要满足注册用户数21000个、并发压力用户数1500个(其中,80%为流程类流程流转业务)、页面响应不超过3秒的能力。

4.2、系统技术架构

管理支撑办公系统技术架构选型及相关技术应用范围、方法分析

        如图所示,在统一开发平台上提供基础技术服务,例如流程服务、表单服务、统一用户服务、统一组织服务,并提供规范开发平台;在开发平台上构建应用软件平台,首先,把应用软件进行有限的原子化,例如信息发布功能、流转记录查看功能等,按一定的业务规则,组合开发具体业务功能。

4.3、复合应用方案

        以市场竞争信息专栏为例,通过组合信息发布、信息交互、信息展现等原子组件,形成市场竞争信息业务功能,在功能底层,例如信息统计,使用统计适配器,抓取竞争信息数据报表。

管理支撑办公系统技术架构选型及相关技术应用范围、方法分析

        如图所示,新的信息栏目需求,通过系统配置及原子组件组合、个性开发、部署来实现。

5、服务软件及其相关技术应用范围分析

5.1、主要服务软件和协议简介

  • Apache HTTP Server是普通WEB服务器,本身只支持html即普通静态网页。常用于高并发、高访问量的网站;
  • Spring是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本。
    • 强大的基于 JavaBeans 的采用控制翻转(Inversion of Control,IoC)原则的配置管理,使得应用程序的组建更加快捷简易。
    • 一个可用于从 applet 到 Java EE 等不同运行环境的核心 Bean 工厂。
    • 数据库事务的一般化抽象层,允许宣告式(Declarative)事务管理器,简化事务的划分使之与底层无关。
    • 内建的针对 JTA 和 单个 JDBC 数据源的一般化策略,使 Spring 的事务支持不要求 Java EE 环境,这与一般的 JTA 或者 EJB CMT 相反。
    • JDBC 抽象层提供了有针对性的异常等级(不再从SQL异常中提取原始代码), 简化了错误处理, 大大减少了程序员的编码量. 再次利用JDBC时,你无需再写出另一个 '终止' (finally) 模块. 并且面向JDBC的异常与Spring 通用数据访问对象 (Data Access Object) 异常等级相一致。
    • 以资源容器,DAO 实现和事务策略等形式与 Hibernate,JDO 和 iBATIS SQL Maps 集成。利用众多的翻转控制方便特性来全面支持, 解决了许多典型的Hibernate集成问题. 所有这些全部遵从Spring通用事务处理和通用数据访问对象异常等级规范。
    • 灵活的基于核心 Spring 功能的 MVC 网页应用程序框架。开发者通过策略接口将拥有对该框架的高度控制,因而该框架将适应于多种呈现(View)技术,例如 JSP,FreeMarker,Velocity,Tiles,iText 以及 POI。值得注意的是,Spring 中间层可以轻易地结合于任何基于 MVC 框架的网页层,例如 Struts,WebWork,或 Tapestry。
    • 提供诸如事务管理等服务的面向方面编程框架。

  • JBOSS是一个基于J2EE的开放源代码的应用服务器,支持SOA,JBoss 企业SOA平台是第一个全面的开源SOA产品,其设计目标是加快企业内部和企业之间的业务执行速度。因为JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用它,而不用支付费用;
  • Cordys是一个流程服务,Cordys 的产品是一款基于SOA开放体系架构的、功能完整、紧密集成的业务流程管理套件;
  • Restful是 Representational State Transfer (表述性状态转移)的缩写,通过超文本传输协议(HTTP)发送简单的消息来实现 SOA,这基本上就是 REST 风格的 Web 服务  的工作方式。REST并不是一个协议或技术,它是一种体系结构风格;
  • JSON是 Javascript 内在的一种数据结构表示方式,主要用于HTTP REST接口中,用来表示复杂的数据结构 。
  • Seesion与Cookie,具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案(注:由于关闭浏览器不会导致session被删除,迫使服务器为seesion设置了一个失效时间,当距离客户端上一次使用session的时间超过这个失效时间时,服务器就可以认为客户端已经停止了活动,才会把session删除以节省存储空间)。

5.2、技术选型及技术应用范围原则

        1、用适合的技术开发业务功能(15%);

        2、技术成熟,最好有相关的实施案例(25%);

        3、有合适的人力资源适合此项技术的应用(25%);

        4、满足并发压力、性能的需求(30%);

        5、满足用户体验需求(30%)。

        按上述原则,填写下表,进行决策分析。

管理支撑办公系统技术架构选型及相关技术应用范围、方法分析


5.3、技术适用性初步分析

        1、采用Restful规范,是针对Soap XML协议的,以此来减少网络数据传输量,降低客户端解析数据压力,也可降低服务器数据端口吞吐量;

        2、Apache HTTP Server,提供的静态页面WEB服务,相对于动态页面Java容器,性能较好,但是,静态页面的动态及数据处理需要通过JavaScript(JQuery)编程开发来处理,不如JSP容器处理方便。

        另外,关于J2EE需要Session予以支持,这个方面比较耗费资源。

        3、SOA技术使用,便于使用无状态技术,这样,可以不使用Session,特别在负载均衡时,不必进行Session复制,可以降低系统资源消耗。

6、个人总结

        从项目经理的角色,依据用户需求,个人的想法,没有平台的倾向性,具体技术要求原则:

        1、为了更好的用户体验,界面开发采用HTML(静态页面)+JavaScript技术;

        2、为了降低网络带宽和提高性能,请求和数据采用Restful和JSON;

        3、功能开发原子化;

        4、事务管理使用无状态机制的Cookie(或其它类似技术),尽量不使用Session;

        5、不同业务间的业务数据尽量隔离,避免相互影响,便于维护。


       由于文者技术水平有限,不足或意见的请反馈。