论文部分内容阅读
摘要:简要回顾了常见的办公OA系统结构和开发技术,分析了B/S结构下OA开发的系统架构、办公应用需求以及开发中存在的问题,设计了一种集成办公软件RedOffice的OA系统。实践证明,该系统可以满足办公需求。
关键词:B/S结构;OA系统;办公应用需求;RedOffice
中图分类号:TP317 文献标识码:A 文章编号:1009-3044(2007)03-10744-02
1 引言
自计算机应用于管理领域以来,短短的30多年中,在信息系统开发与应用方面的进展相当神速。计算机技术、网络技术已经渗透到企业的日常工作中,大量的公文、报告、报表、数据等各类信息量越来越大,涉及到的部门、合作伙伴越来越广泛。传统的手工处理方式,文件、报表的传递方式和信息的利用方式已经不能满足企业发展的需要,迫切需要利用已经拥有的计算机、网络资源,实现企业的信息化,加快内部的信息流通与信息的有效利用。
目前企业的办公自动化程度可以划分为以下四类[1]:(1)起步较慢,还停留在使用没有联网的计算机,使用MS Office系列、WPS系列应用软件以提高个人办公效率;(2)已经建立了自己的Intranet网络,但没有好的应用系统支持协同工作,仍然是个人办公。网络处在闲置状态,企业的投资没有产生应有的效益;(3)已经建立了自己的Intranet网络,企业内部员工通过电子邮件交流信息,实现了有限的协同工作,但产生的效益不明显;(4)已经建立了自己的Intranet网络;使用经二次开发的通用办公自动化系统;能较好得支持信息共享和协同工作,与外界联系的信息渠道畅通。
总体上看,办公自动化的口号虽然提了多年,但效果并不明显,人们虽然拥有一定数量的计算机设备和网络设备,但是没有支持网络运行的应用软件,即使建成内部的计算机网络,也没有改善信息化应用的状态。一些部门和业务购买通用的业务管理软件,一定程度上实现个别业务的信息化,解决了部门的一些问题,但是,对企业管理者而言,得到的信息很少,没有发挥出计算机网络系统的作用。信息的交流和共享,以及团队的协同运作等无法完美的实现,极大地限制了工作的效率。而Internet/Intranet的迅猛发展,为信息的交流和共享,团队的协同运作提供了技术的保证,同时也预示着网络化办公时代来临。
2 OA系统的开发工具与技术
从OA系统的发展过程来看,开发OA的技术主要集中分为两大类:基于C/S结构的应用程序开发和基于B/S结构的动态网页技术,这两类技术的各自特点如下[2]:
(1)C/S结构系统:是传统开发模式,一般以数据库和客户端的两层结构实现,在OA早期是标准的系统模式,有些系统在开发过程中也在C/S基础上加入Web技术来实现对远程数据的获取。由于C/S结构的软件需要针对不同的操作系统开发不同版本的软件,加之产品的更新换代十分快,随着计算机技术的发展和网络的发展,它不能很好地解决数据及时更新,软件升级,系统维护等问题,已经无法满足现在的远程网络办公和移动办公,逐渐在被取代;
(2)B/S结构系统:即浏览器/服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握,成本也是较低的。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效,完全适应网络办公和移动办公需求,也是现代办公自动化系统的首选技术。
就B/S结构的开发,具体技术又有多种选择[3]:JSP+J2EE、ASP+IIS、ASP.NET+Microsoft.NET Framework,这几门技术可以说各有其优缺点。
JSP技术:具有良好的跨平台性,强大的可伸缩性,且有许多免费开发工具支持,它的面向对象特性使开发人员的协作成为一件简单的事。J2EE功能也十分强大,但J2EE的布置使开发成本显得略高;ASP技术:开发简便,快速,低访问量下能体现一定的效率,加上IIS的功能支持,是比较简易快速的开发技术,缺点是无法实现跨平台应用,且不能完成一些企业级的功能,如集群、负载均衡等;
ASP.NET:ASP技术的替代技术,在Microsoft.NET Framework的强大支持下,可以使用C#、VB、JavaScript三种语言来编写代码,采用预先编译技术,使得代码安全性加强。ASP.NET对大型站点(Web farms)有更好的支持,当需要更强大的功能时,仅仅只需要增加一台服务器,整个.NET框架已经充分地提供了这个方法。而ASP.NET还有价格方面的优势,因为所有的组件将是服务器操作系统的一部分。缺点同样是其跨平台能力,.NET核心只工作在Windows环境下。
中小型企业用户,一般可考虑采用ASP.NET技术,该技术易于服务器的维护,开发周期较短;而在政府部门用户,目前多采用JSP或ASP.NET技术,因为政府部门服务器很多已经改装为Linux系统,在该平台下采用JSP技术较成熟;而对于服务器仍是Windows系统的用户,则还是采用ASP.NET技术为佳。
3 B/S架构的OA系统开发方法
3.1 系统架构
信息化应用大致可以分为三个方面的内容:通用办公应用、业务管理和决策支持。通用办公应用是各个单位在日常运行中最基本的信息化需求,例如:信息共享、信息检索、文件管理、电子邮件、请示与审批、公文处理等等。业务管理系统有很强的行业特点,政府部门、企业、科研机构、学校等单位都有各自的业务需求。决策支持系统是对单位各个部门的业务数据进行综合性分析的基础上,为科学决策提供信息支持。
整个信息管理平台使用“客户/WWW服务器/应用服务器/数据库服务器”的结构来构造单位内部的信息管理系统。客户端采用浏览器模式使信息管理系统的易用性更强,不需要安裝专用的客户端软件,使整个系统的管理维护工作大量减少。用浏览器作为统一的信息访问工具,避免访问各种业务系统数据时需要启动、进入不同编程工具设计的应用系统,更有利于管理人员使用计算机获取各个方面的业务数据。系统的结构示意图如下所示:
图1OA系统结构示意图
3.2 办公应用需求
办公自动化工作的最终表现形式大多是文件信息和行业信息,文件、行业信息的延伸是档案,档案又是现行工作的信息源。而目前处理文书和档案最主要的工具是桌面Office软件。因此,构建实用、便捷、高效、低投入的OA系统,不但要考虑文档一体化,同时还要考虑文书工作应用一体化。
(1)“群件平台+Office软件”开发中存在的问题
当前的许多OA系统开发是基于“群件平台+Office软件”模式,群件平台多为使用Domino/Notes,有的也使用Exchange/Outlook。在这种方案中,通常由操作人员在本地用相关的Office 软件拟好初稿,通过应用系统的界面入口将文件提交到服务器,开始进入流转过程,下一个节点的操作人员将公文下载到本地,用Office软件查看和修改,并再一次提交回流转系统中。
这种方案的缺陷有如下几个方面:a) 流转和处理被分离成两个独立的部分,用户总是需要频繁的下载和上传公文文档,操作不方便,并且公文存储到本地将面临一系列文档的安全性问题;同时,作为应用系统,为了记录文档的版本历史,也不得不将一个文档保存成多个副本;b) 公文有严格的版面格式,在文档编辑过程中,排版工作给操作人员带来了额外的工作量;c) 信息的检索和统计是应用系统的核心功能,然而公文文档是一个个格式不公开的文件,这中间就存在矛盾,于是应用开发商不得不强制用户在文档和Web上重复输入需要检索统计的信息。造成这种问题的根源在于:在与其他业务系统的接口方面、定制复杂应用方面和集成其他软件及设备方面,由于群件平台建得太“高”,使得可供开发商发挥的空间太小,许多功能很难实现。
(2)B/S结构开发中存在的问题
以浏览器为客户端的应用构架在实施过程中,也存在一系列的技术问题。因为浏览器是适应网络应用而发展起来的,而大多数中文字处理办公软件是适应办公文书应用而发展起来的,所以目前中文字处理的复杂排版、编辑功能用Web脚本语言无法实现,以至于用浏览器实现的办公流转系统在编辑排版方面遇到了很大的障碍。
办公自动化系统中文档的信息量相当大而且繁琐,事实证明优秀的客户端对文档的处理有着相当大的作用,而且除了办公自动化系统外,办公人员个人书写文档以及与外界信息交流离不开客户端字处理软件,因此桌面Office软件在现阶段必然是应用系统的一个基本支撑部件,而且随着Office软件对应用系统集成应用的支持,B/S结构应用系统和Office应用软件相结合的必将大大拓展办公自动化系统构架的思路。
综上所述,解决两个一体化及应用系统跨平台的关键就是办公系统自动化和桌面Office软件的集成技术。
3.3 一种跨平台集成Office软件的实现方法
系统开发采用的主要软件如下:
操作系统:红旗Linux5.0 DC Server;
OA应用组件:红旗RedOffice3.0专业版;
服务器端技术:JSP+J2EE;
数据库系统:Sybase Adaptive Server Enterprise for Linux OA。应用组件没有使用MS Office而是采用红旗RedOffice,一是考虑MS Office的版本种类繁多,当个人的桌面办公软件MS Office版本不一致时,经常会出现文档格式不兼容现象;二是MS Office无法在Linux操作系统上使用,不适合多操作系统共存的办公环境。而RedOffice本身就是一个跨平台的中文办公套件,所以采用RedOffice与OA系统进行集成开发,可以有效的屏蔽不同结构、不同平台等诸多问题带来的麻烦。
RedOffice提供多种嵌入方式同OA系统集成,加强了OA系统的整体性和系统性,基于JSP+J2EE的系统开发,可选择JAVA的Applet程序集成方式,架构图如下:
图2 系统集成架构图
RedOffice的底层基础是UNO组件模型,通过建立Java至UNO的橋接,可以在Java中编程控制RedOffice,通过创建操作RedOffice的Java Bean,可以调用RedOffice的若干开发接口,尤其是OA应用所需的各种功能接口;在这个层次之上可以进而封装自己的Java Applet小程序,这样的话就可以在系统中集成Office应用[4]。
以下是一段JavaScript代码示例:
4 结束语
本文介绍了当前OA系统的概况,分析了常用的OA开发工具和技术,并针对办公需求设计了一种OA与办公软件RedOffice集成的方案,实践证明,该方案避免了以往应用系统中反复上传、下载文档的过程,使得公文编辑和公文的流转作为一个整体紧密的结合在一起,很好的满足了OA系统的办公需求。
参考文献:
[1]杨卓然,办公自动化系统(OA)及其应用[J],工程设计与应用研究,2005,(4):24-31.
[2]杨杰,刘丹,基于工作流和B/S结构的OA系统设计[J],武汉理工大学学报,2005,29(1):56-59.
[3]王欢,王社国,闰丽颖,网络办公自动化系统开发分析[J],中国科技信息,2006,(4):32.
[4]北京红旗中文贰仟软件技术有限公司,RedOffice & OA 开发手册[M],2006.
本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
关键词:B/S结构;OA系统;办公应用需求;RedOffice
中图分类号:TP317 文献标识码:A 文章编号:1009-3044(2007)03-10744-02
1 引言
自计算机应用于管理领域以来,短短的30多年中,在信息系统开发与应用方面的进展相当神速。计算机技术、网络技术已经渗透到企业的日常工作中,大量的公文、报告、报表、数据等各类信息量越来越大,涉及到的部门、合作伙伴越来越广泛。传统的手工处理方式,文件、报表的传递方式和信息的利用方式已经不能满足企业发展的需要,迫切需要利用已经拥有的计算机、网络资源,实现企业的信息化,加快内部的信息流通与信息的有效利用。
目前企业的办公自动化程度可以划分为以下四类[1]:(1)起步较慢,还停留在使用没有联网的计算机,使用MS Office系列、WPS系列应用软件以提高个人办公效率;(2)已经建立了自己的Intranet网络,但没有好的应用系统支持协同工作,仍然是个人办公。网络处在闲置状态,企业的投资没有产生应有的效益;(3)已经建立了自己的Intranet网络,企业内部员工通过电子邮件交流信息,实现了有限的协同工作,但产生的效益不明显;(4)已经建立了自己的Intranet网络;使用经二次开发的通用办公自动化系统;能较好得支持信息共享和协同工作,与外界联系的信息渠道畅通。
总体上看,办公自动化的口号虽然提了多年,但效果并不明显,人们虽然拥有一定数量的计算机设备和网络设备,但是没有支持网络运行的应用软件,即使建成内部的计算机网络,也没有改善信息化应用的状态。一些部门和业务购买通用的业务管理软件,一定程度上实现个别业务的信息化,解决了部门的一些问题,但是,对企业管理者而言,得到的信息很少,没有发挥出计算机网络系统的作用。信息的交流和共享,以及团队的协同运作等无法完美的实现,极大地限制了工作的效率。而Internet/Intranet的迅猛发展,为信息的交流和共享,团队的协同运作提供了技术的保证,同时也预示着网络化办公时代来临。
2 OA系统的开发工具与技术
从OA系统的发展过程来看,开发OA的技术主要集中分为两大类:基于C/S结构的应用程序开发和基于B/S结构的动态网页技术,这两类技术的各自特点如下[2]:
(1)C/S结构系统:是传统开发模式,一般以数据库和客户端的两层结构实现,在OA早期是标准的系统模式,有些系统在开发过程中也在C/S基础上加入Web技术来实现对远程数据的获取。由于C/S结构的软件需要针对不同的操作系统开发不同版本的软件,加之产品的更新换代十分快,随着计算机技术的发展和网络的发展,它不能很好地解决数据及时更新,软件升级,系统维护等问题,已经无法满足现在的远程网络办公和移动办公,逐渐在被取代;
(2)B/S结构系统:即浏览器/服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握,成本也是较低的。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效,完全适应网络办公和移动办公需求,也是现代办公自动化系统的首选技术。
就B/S结构的开发,具体技术又有多种选择[3]:JSP+J2EE、ASP+IIS、ASP.NET+Microsoft.NET Framework,这几门技术可以说各有其优缺点。
JSP技术:具有良好的跨平台性,强大的可伸缩性,且有许多免费开发工具支持,它的面向对象特性使开发人员的协作成为一件简单的事。J2EE功能也十分强大,但J2EE的布置使开发成本显得略高;ASP技术:开发简便,快速,低访问量下能体现一定的效率,加上IIS的功能支持,是比较简易快速的开发技术,缺点是无法实现跨平台应用,且不能完成一些企业级的功能,如集群、负载均衡等;
ASP.NET:ASP技术的替代技术,在Microsoft.NET Framework的强大支持下,可以使用C#、VB、JavaScript三种语言来编写代码,采用预先编译技术,使得代码安全性加强。ASP.NET对大型站点(Web farms)有更好的支持,当需要更强大的功能时,仅仅只需要增加一台服务器,整个.NET框架已经充分地提供了这个方法。而ASP.NET还有价格方面的优势,因为所有的组件将是服务器操作系统的一部分。缺点同样是其跨平台能力,.NET核心只工作在Windows环境下。
中小型企业用户,一般可考虑采用ASP.NET技术,该技术易于服务器的维护,开发周期较短;而在政府部门用户,目前多采用JSP或ASP.NET技术,因为政府部门服务器很多已经改装为Linux系统,在该平台下采用JSP技术较成熟;而对于服务器仍是Windows系统的用户,则还是采用ASP.NET技术为佳。
3 B/S架构的OA系统开发方法
3.1 系统架构
信息化应用大致可以分为三个方面的内容:通用办公应用、业务管理和决策支持。通用办公应用是各个单位在日常运行中最基本的信息化需求,例如:信息共享、信息检索、文件管理、电子邮件、请示与审批、公文处理等等。业务管理系统有很强的行业特点,政府部门、企业、科研机构、学校等单位都有各自的业务需求。决策支持系统是对单位各个部门的业务数据进行综合性分析的基础上,为科学决策提供信息支持。
整个信息管理平台使用“客户/WWW服务器/应用服务器/数据库服务器”的结构来构造单位内部的信息管理系统。客户端采用浏览器模式使信息管理系统的易用性更强,不需要安裝专用的客户端软件,使整个系统的管理维护工作大量减少。用浏览器作为统一的信息访问工具,避免访问各种业务系统数据时需要启动、进入不同编程工具设计的应用系统,更有利于管理人员使用计算机获取各个方面的业务数据。系统的结构示意图如下所示:
图1OA系统结构示意图
3.2 办公应用需求
办公自动化工作的最终表现形式大多是文件信息和行业信息,文件、行业信息的延伸是档案,档案又是现行工作的信息源。而目前处理文书和档案最主要的工具是桌面Office软件。因此,构建实用、便捷、高效、低投入的OA系统,不但要考虑文档一体化,同时还要考虑文书工作应用一体化。
(1)“群件平台+Office软件”开发中存在的问题
当前的许多OA系统开发是基于“群件平台+Office软件”模式,群件平台多为使用Domino/Notes,有的也使用Exchange/Outlook。在这种方案中,通常由操作人员在本地用相关的Office 软件拟好初稿,通过应用系统的界面入口将文件提交到服务器,开始进入流转过程,下一个节点的操作人员将公文下载到本地,用Office软件查看和修改,并再一次提交回流转系统中。
这种方案的缺陷有如下几个方面:a) 流转和处理被分离成两个独立的部分,用户总是需要频繁的下载和上传公文文档,操作不方便,并且公文存储到本地将面临一系列文档的安全性问题;同时,作为应用系统,为了记录文档的版本历史,也不得不将一个文档保存成多个副本;b) 公文有严格的版面格式,在文档编辑过程中,排版工作给操作人员带来了额外的工作量;c) 信息的检索和统计是应用系统的核心功能,然而公文文档是一个个格式不公开的文件,这中间就存在矛盾,于是应用开发商不得不强制用户在文档和Web上重复输入需要检索统计的信息。造成这种问题的根源在于:在与其他业务系统的接口方面、定制复杂应用方面和集成其他软件及设备方面,由于群件平台建得太“高”,使得可供开发商发挥的空间太小,许多功能很难实现。
(2)B/S结构开发中存在的问题
以浏览器为客户端的应用构架在实施过程中,也存在一系列的技术问题。因为浏览器是适应网络应用而发展起来的,而大多数中文字处理办公软件是适应办公文书应用而发展起来的,所以目前中文字处理的复杂排版、编辑功能用Web脚本语言无法实现,以至于用浏览器实现的办公流转系统在编辑排版方面遇到了很大的障碍。
办公自动化系统中文档的信息量相当大而且繁琐,事实证明优秀的客户端对文档的处理有着相当大的作用,而且除了办公自动化系统外,办公人员个人书写文档以及与外界信息交流离不开客户端字处理软件,因此桌面Office软件在现阶段必然是应用系统的一个基本支撑部件,而且随着Office软件对应用系统集成应用的支持,B/S结构应用系统和Office应用软件相结合的必将大大拓展办公自动化系统构架的思路。
综上所述,解决两个一体化及应用系统跨平台的关键就是办公系统自动化和桌面Office软件的集成技术。
3.3 一种跨平台集成Office软件的实现方法
系统开发采用的主要软件如下:
操作系统:红旗Linux5.0 DC Server;
OA应用组件:红旗RedOffice3.0专业版;
服务器端技术:JSP+J2EE;
数据库系统:Sybase Adaptive Server Enterprise for Linux OA。应用组件没有使用MS Office而是采用红旗RedOffice,一是考虑MS Office的版本种类繁多,当个人的桌面办公软件MS Office版本不一致时,经常会出现文档格式不兼容现象;二是MS Office无法在Linux操作系统上使用,不适合多操作系统共存的办公环境。而RedOffice本身就是一个跨平台的中文办公套件,所以采用RedOffice与OA系统进行集成开发,可以有效的屏蔽不同结构、不同平台等诸多问题带来的麻烦。
RedOffice提供多种嵌入方式同OA系统集成,加强了OA系统的整体性和系统性,基于JSP+J2EE的系统开发,可选择JAVA的Applet程序集成方式,架构图如下:
图2 系统集成架构图
RedOffice的底层基础是UNO组件模型,通过建立Java至UNO的橋接,可以在Java中编程控制RedOffice,通过创建操作RedOffice的Java Bean,可以调用RedOffice的若干开发接口,尤其是OA应用所需的各种功能接口;在这个层次之上可以进而封装自己的Java Applet小程序,这样的话就可以在系统中集成Office应用[4]。
以下是一段JavaScript代码示例:
4 结束语
本文介绍了当前OA系统的概况,分析了常用的OA开发工具和技术,并针对办公需求设计了一种OA与办公软件RedOffice集成的方案,实践证明,该方案避免了以往应用系统中反复上传、下载文档的过程,使得公文编辑和公文的流转作为一个整体紧密的结合在一起,很好的满足了OA系统的办公需求。
参考文献:
[1]杨卓然,办公自动化系统(OA)及其应用[J],工程设计与应用研究,2005,(4):24-31.
[2]杨杰,刘丹,基于工作流和B/S结构的OA系统设计[J],武汉理工大学学报,2005,29(1):56-59.
[3]王欢,王社国,闰丽颖,网络办公自动化系统开发分析[J],中国科技信息,2006,(4):32.
[4]北京红旗中文贰仟软件技术有限公司,RedOffice & OA 开发手册[M],2006.
本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。