管理支撑办公系统技术架构选型及相关技术应用范围、方法分析
2014-04-17 09:24
519 查看
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、不同业务间的业务数据尽量隔离,避免相互影响,便于维护。
由于文者技术水平有限,不足或意见的请反馈。
相关文章推荐
- 管理支撑办公系统技术架构选型对比讨论(J2EE与SOA对比)
- 管理支撑办公系统技术架构选型对照讨论(J2EE与SOA对照)
- 管理支撑办公系统技术架构选型对比讨论(J2EE与SOA对比)
- 千亿级数量下日志分析系统的技术架构选型
- open-iscsi/scst 追踪二 (open-iscsi 用户态管理系统技术架构分析)
- WEB应用 信息管理系统 数据分析展示系统 OA办公工作流 快速构建与开发平台
- 论软件需求分析方法和工具的选用—论文2:企业集团的信息管理系统应用
- DotNET企业架构应用实践-系统架构与性能-理论依据及相关技术
- DotNET企业架构应用实践-系统架构与性能-理论依据及相关技术
- 企业进行信息化顶层设计的核心方法 随着企业信息化建设的深入,应用层次和水平不断地提高,企业迫切需要集成化、自动化的信息管理系统来支撑企业业务的迅速发展需要,然而由于信息化建设的阶段性决定,企
- 管理类应用系统参数配置管理统一解决方法(含代码参考)
- 钟表维修管理系统技术解析(一) MVC架构搭建
- .NET企业级应用架构设计系列之技术选型
- 【分享】通用强大的主数据管理系统(最终分享版本)架构分析及源码下载
- Linux 学习笔记_9_文件系统管理_3_/etc/fstab文件分析与磁盘配额应用
- ebs系统架构简介6——应用管理工具总结
- F2FS文件系统架构与原理分析(五)——元数据组织及管理
- 如何搭建出类似央视C-Box的电视直播应用的后台管理支撑系统
- 毕业论文:白盒和黑盒测试技术在“手机信息管理系统模型”测试中的实际应用
- 系统集成项目管理工程师教程———活动历时估算所采用的主要方法和技术