论文部分内容阅读
摘要:通过对J2EE架构的分析,提出了基于J2EE体系的办公自动化总体架构和子系统的分块,然后分别阐述了各子系统的功能及设计方法。
关键词:J2EE架构;办公自动化;设计
中图分类号:TP317文献标识码:A文章编号:1009-3044(2008)09-11656-03
The Analysis and Design of OA System Based on J2EE Frame
LIN Kai
(Computing Center of Jiaying University, Meizhou 514015, China)
Abstract: Based on the analysis of J2EE Frame,the article proposes the general frame of OA system based on J2EE,and elaborates each subsystem’s function and design method.
Key words: J2EE frame; OA; Design
1 引言
近几年来,计算机网络的飞速发展提供了功能强大的信息处理平台,同时随着社会节奏的加快,社会信息迅速膨
胀,竞争日益激烈,各单位、现代企业都迫切需要一整套从信息采集、信息处理到信息传递与共享高度自动化的办公系统。而以Internet/Intranet为核心和代表的当代信息技术特别是Web技术的迅速
发展,又使得传统的OA、MIS的体系结构、计算模式等必须与Internet融合。自20世纪80年代中期以来,国内办公自动化应用系统已经经历了三个发展阶段,实现了二次革命性的飞跃。从80年代中期第一代办公系统以个人电脑、办公套件为主要标志,实现了数据统计和文档写作电子化,完成了办公信息载体从原始纸介质方式向电子比特方式的飞跃,第二代办公自动化系统以网络技术和协同工作技术为主要特征,实现了工作流程自动化,实现了收、发文从传统的手工方式向工作流自动化方式的飞跃,第三代办公自动化系统以知识管理为核心。
2 系统实现技术
办公自动化系统分为三大类:首先是基于Lotus Notes这样的国外平台做二次开发的系统。第二种是以类MIS系统转变而来的,把日程表、会议、考勤、人事独立的模块组合在一起,再加上统一的用户认证和菜单界面调用。第三种就是采用现在的分布式技术来实现,例如,J2EE(Java 2 platform, enterprise edition),该系统由表示层、中间层以及数据存储层三层组成,目前分布式的主流技术平台有微软的.NET,SUN的 J2EE以及OMG的CORBA,从系统的开放性、移植性以及可扩展性等方面考虑,SUN的J2EE比较有优势。
3 J2EE体系架构及技术特性
J2EE是SUN公司定义的一个开放式企业级应用的规范,它提供了一个多层次的分布式应用模型和一系列开发技术规范,多层次分布式应用模型是根据功能把应用逻辑分成多个层次,每个层次支持相应的服务器和组件,组件在分布式服务器的组件容器中运行,如Servlet组件在Servlet容器上运行,EJB组件在EJB(enterpriseJavabeans)容器上运行,容器间通过相关的协议进行通讯,实现组件间的相互调用。遵从这个规范的开发者将得到行业的广泛支持,使企业级应用的开发变得简单、快速。
3.1 J2EE组件和层次
J2EE规范规定了以下四个层次:
3.1.1 客户端层(client tier)
客户端层用来实现企业级应用系统的操作界面和显示层,另外,某些客户端程序也可实现业务逻辑,客户端分为基于Web的客户端和非基于Web的客户端。基于Web的客户端主要是作为企业Web服务器的浏览器,非基于Web的客户端层则是独立的应用程序,可以完成瘦客户机无法完成的任务。
3.1.2 Web层
Web层用来为企业提供Web服务,包括企业信息发布等。Web层由Web服务器和Web组件组成,J2EE Web组件包括JSP页面和Servlets,Web层也可以包括一些JavaBeans。Web层主要用来处理客户请求,调用相应的逻辑模块,并把结果以动态网页的形式返回给客户端,运行在客户层的Web组件依赖容器来支持诸如客户请求和响应及Enterprise Bean查询等。
3.1.3 业务层(business tier)
业务层也叫EJB层或应用层,由EJB服务器和EJB组件组成。一般情况下,许多开发商把Web服务器和EJB服务器产品结合在一起发布,称为应用服务器。EJB层用来实现企业级信息系统的业务逻辑,EJB运行在容器中,容器本身解决了底层的问题,如事务处理、生命周期、状态管理、多线程、安全管理、资源池等。
3.1.4 企业信息系统层(enterprise information system tier)
集成企业系统软件,包括企业基础系统、数据库系统及其他遗留的系统。J2EE将来的版本支持连接架构(connector architecture),它是连接J2EE平台和企业信息系统层的标准API。
业务层和Web层共同组成了三层J2EE应用的中间层,其他两层是客户端层和存储层或企业信息系统层。
3.2 J2EE的分布式应用技术
为实现企业级分布式应用,J2EE定义了丰富的技术标准,符合这些标准的开发工具和API为开发企业级应用提供了支持。这些技术涵盖了数据库访问、分布式通信、安全等,为分布式应用提供支持的诸多方面。
3.2.1 组件技术
J2EE的核心思想是基于组件/容器的应用,每个组件提供了方法、属性、事件的接口。组件可以由多种语言开发,并且是可以重用的、共享的、分布的。
3.2.2 Sevlets和JSP
Sevlets用来生成动态页面或接收用户请求产生相应操作(调用EJB),JSP基于文本,通过容器产生相应的Sevlets,使内容和显示分开。J2EE中提供了Sevlets API,用于创建Sevlets。
3.2.3 EJB技术
EJB规范提供了一种开发和部署服务器端组件的方法,每个EJB是按功能逻辑划分的,开发时不必关心系统底层细节问题,只关注具体的事务分析。EJB开发完毕后,按规划部署在EJB容器中完成相应的事务功能。EJB支持分布式计算,真正体现了企业级的应用。
3.2.4 数据库访问
无论是传统的企业信息系统还是将来的企业信息系统,数据库都占有重要的地位。开发分布式系统要求数据库访问具有良好的灵活性和扩展性,JDBC(Java database connectivity)是一个独立的、特定的数据库管理系统的开发接口,提供了一个通用的访问SQL数据库和存储结构的机制。支持基本SQL功能的一个通用底层的应用程序编程接口,它在不同的数据库界面上提供了一个统一的用户界面,提供了多种多样的数据库连接方式,J2EE中提供了JDBC API,使得多种数据库的操作变得简单、可行。
3.2.5 分布式通信技术
分布式通信技术是分布式企业系统的核心技术。J2EE框架为Web应用和EJB应用提供了多种通信模式。为了使运行于某一机器上的对象能够调用另一台机器上的对象,J2EE实现了如下通信方式:(1)Java RMI(remote method invoke),远程方法调用,Java RMI能够实现Java对象间的远程通信,服务器用注册把一个名字和远程对象绑在一起,客户机通过名字从注册服务器上查找远程对象,找到后下载远程对象的本地代理,调用远程对象的方法;(2)Java IDL(Java interface defilation language),接口定义语言,可以实现Java对象和符合CORBA规范的远程对象通信;(3)JNDI(Javanaming and directory interface),Java命名和目录接口,JNDI为分布式系统访问远程对象提供了一个标准的命名接口,EJB主接口对象、数据源、消息服务器等都可以用JNDI树的形式注册到名称服务器中,调用它们的对象通过符合JNDI的程序接口在JNDI名称服务器中查找指定名称的远程对象。
4 基于J2EE架构的办公自动化系统的设计
办公自动化系统实质上是基于不同部门、角色、用户基础上的多层次、实时性和安全性要求高的一种应用系统。这种应用系统的关键是既能够适应机构、部门、人员和业务处理流程的经常性的变化。又能够为新增的应用服务提供良好的接口,即能够完全适应应用变化的需求J2EE多层架构,能够很方便地将办公自动化的实际应用需求模块化,并确定模块之间的关系。通过创建各类EJB应用组件来构建整个应用系统。
如图2所示,办公自动化系统由用户管理、公文答理、消息管理、模块管理、安全管理等功能子系统构成。
在公文管理中,除了复杂的业务逻辑之外,还必须考虑到用户的工作习惯及公文传输过程的留痕等问题,需要提供与Word、Excel、WPS等流行常用的Office软件无缝连接。在公文流转过程中,同一公文提交多人同时办理或依次办理时,能够自动地对每次操作进行控制,并将多人处理结果进行有机整合,通过留痕管理对文件的修改过程进行全方位跟踪,对修改人、修改时间作出明确的记录。
4.3 消息管理子系统
在传统办公自动化系统中,由于受通信条件的限制,用户的待办事宜唯有通过被动的查询方式获得业务的办理情况。消息管理子系统主要是利用当前能够提供公共通信服务,如:电信、移动等提供与手机、电话通信的功能,提供手机短信提示、电话提醒等功能。使待办公文能够主动及时地通知办理者,从而提高公文办理效率。消息答理子系统除了对登录用户实时提醒外,还能够通过手机、固定电话等通信工具通过公共通信网与本地的信息传输服务器、应用服务器系统连接,查询到相关信息的功能。信息传输服务器主要是按照传输协议处理公共通信网与内部应用系统之间的通信和数据转换。
4.4 模块管理子系统
模块管理子系统主要用于组织模块的层次结构。通过定义模块的分组、分层结构,使各模块按照配置好的层次加以展现。模块配置管理组件化可以增强系统的灵活性和可扩展性,可以快速将二次开发完成的模块或组件发布到系统中。模块管理主要包括如下配置项:模块所属目录、模块所在服务器、模块位置等。
4.5 安全管理子系统
安全管理子系统具备统一的身份认证、统一的门户管理、多重安全保护等功能。通过对数据链路层、网络层的信道加密和数宇证书应用答理系统(或与第三方PKI/ CA体系)进行身份认证、访问和系统的监控、日志分析,保证办公自动化应用系统能够方便地管理和访问不同的硬件平台、操作系统、网络协议和数据,使系统的安全风险降到最低限度,从而实现“单点登录,Web应用漫游”。
5 结束语
上述办公自动化系统已在某地方大型企业开发成功、投入使用,该系统具有完备的接口和良好的耦合性,与原先建立的基础数据库连接,实现了与以前开发的应用系统有效整合。实际应用表明。应用J2EE多层次架构开发的办公自动化系统具有很好的开放性、实用性、安全性、可扩展性和可维护性,应用效果良好。
参考文献:
[1] Jreg Barish. J2EE web应用高级编程[M]. 北京:清华大学出版社,2002.
[2] Khanar Zaman Ahmed, Cary E umrysh. 用J2EE和UML开发Java企业级应用程序[M]. 北京:清华大学出版社,2002.
[3] 吴建平, 冯晓冬. Java程序设计语言[M]. 北京:清华大学出版社,2003.
关键词:J2EE架构;办公自动化;设计
中图分类号:TP317文献标识码:A文章编号:1009-3044(2008)09-11656-03
The Analysis and Design of OA System Based on J2EE Frame
LIN Kai
(Computing Center of Jiaying University, Meizhou 514015, China)
Abstract: Based on the analysis of J2EE Frame,the article proposes the general frame of OA system based on J2EE,and elaborates each subsystem’s function and design method.
Key words: J2EE frame; OA; Design
1 引言
近几年来,计算机网络的飞速发展提供了功能强大的信息处理平台,同时随着社会节奏的加快,社会信息迅速膨
胀,竞争日益激烈,各单位、现代企业都迫切需要一整套从信息采集、信息处理到信息传递与共享高度自动化的办公系统。而以Internet/Intranet为核心和代表的当代信息技术特别是Web技术的迅速
发展,又使得传统的OA、MIS的体系结构、计算模式等必须与Internet融合。自20世纪80年代中期以来,国内办公自动化应用系统已经经历了三个发展阶段,实现了二次革命性的飞跃。从80年代中期第一代办公系统以个人电脑、办公套件为主要标志,实现了数据统计和文档写作电子化,完成了办公信息载体从原始纸介质方式向电子比特方式的飞跃,第二代办公自动化系统以网络技术和协同工作技术为主要特征,实现了工作流程自动化,实现了收、发文从传统的手工方式向工作流自动化方式的飞跃,第三代办公自动化系统以知识管理为核心。
2 系统实现技术
办公自动化系统分为三大类:首先是基于Lotus Notes这样的国外平台做二次开发的系统。第二种是以类MIS系统转变而来的,把日程表、会议、考勤、人事独立的模块组合在一起,再加上统一的用户认证和菜单界面调用。第三种就是采用现在的分布式技术来实现,例如,J2EE(Java 2 platform, enterprise edition),该系统由表示层、中间层以及数据存储层三层组成,目前分布式的主流技术平台有微软的.NET,SUN的 J2EE以及OMG的CORBA,从系统的开放性、移植性以及可扩展性等方面考虑,SUN的J2EE比较有优势。
3 J2EE体系架构及技术特性
J2EE是SUN公司定义的一个开放式企业级应用的规范,它提供了一个多层次的分布式应用模型和一系列开发技术规范,多层次分布式应用模型是根据功能把应用逻辑分成多个层次,每个层次支持相应的服务器和组件,组件在分布式服务器的组件容器中运行,如Servlet组件在Servlet容器上运行,EJB组件在EJB(enterpriseJavabeans)容器上运行,容器间通过相关的协议进行通讯,实现组件间的相互调用。遵从这个规范的开发者将得到行业的广泛支持,使企业级应用的开发变得简单、快速。
3.1 J2EE组件和层次
J2EE规范规定了以下四个层次:
3.1.1 客户端层(client tier)
客户端层用来实现企业级应用系统的操作界面和显示层,另外,某些客户端程序也可实现业务逻辑,客户端分为基于Web的客户端和非基于Web的客户端。基于Web的客户端主要是作为企业Web服务器的浏览器,非基于Web的客户端层则是独立的应用程序,可以完成瘦客户机无法完成的任务。
3.1.2 Web层
Web层用来为企业提供Web服务,包括企业信息发布等。Web层由Web服务器和Web组件组成,J2EE Web组件包括JSP页面和Servlets,Web层也可以包括一些JavaBeans。Web层主要用来处理客户请求,调用相应的逻辑模块,并把结果以动态网页的形式返回给客户端,运行在客户层的Web组件依赖容器来支持诸如客户请求和响应及Enterprise Bean查询等。
3.1.3 业务层(business tier)
业务层也叫EJB层或应用层,由EJB服务器和EJB组件组成。一般情况下,许多开发商把Web服务器和EJB服务器产品结合在一起发布,称为应用服务器。EJB层用来实现企业级信息系统的业务逻辑,EJB运行在容器中,容器本身解决了底层的问题,如事务处理、生命周期、状态管理、多线程、安全管理、资源池等。
3.1.4 企业信息系统层(enterprise information system tier)
集成企业系统软件,包括企业基础系统、数据库系统及其他遗留的系统。J2EE将来的版本支持连接架构(connector architecture),它是连接J2EE平台和企业信息系统层的标准API。
业务层和Web层共同组成了三层J2EE应用的中间层,其他两层是客户端层和存储层或企业信息系统层。
3.2 J2EE的分布式应用技术
为实现企业级分布式应用,J2EE定义了丰富的技术标准,符合这些标准的开发工具和API为开发企业级应用提供了支持。这些技术涵盖了数据库访问、分布式通信、安全等,为分布式应用提供支持的诸多方面。
3.2.1 组件技术
J2EE的核心思想是基于组件/容器的应用,每个组件提供了方法、属性、事件的接口。组件可以由多种语言开发,并且是可以重用的、共享的、分布的。
3.2.2 Sevlets和JSP
Sevlets用来生成动态页面或接收用户请求产生相应操作(调用EJB),JSP基于文本,通过容器产生相应的Sevlets,使内容和显示分开。J2EE中提供了Sevlets API,用于创建Sevlets。
3.2.3 EJB技术
EJB规范提供了一种开发和部署服务器端组件的方法,每个EJB是按功能逻辑划分的,开发时不必关心系统底层细节问题,只关注具体的事务分析。EJB开发完毕后,按规划部署在EJB容器中完成相应的事务功能。EJB支持分布式计算,真正体现了企业级的应用。
3.2.4 数据库访问
无论是传统的企业信息系统还是将来的企业信息系统,数据库都占有重要的地位。开发分布式系统要求数据库访问具有良好的灵活性和扩展性,JDBC(Java database connectivity)是一个独立的、特定的数据库管理系统的开发接口,提供了一个通用的访问SQL数据库和存储结构的机制。支持基本SQL功能的一个通用底层的应用程序编程接口,它在不同的数据库界面上提供了一个统一的用户界面,提供了多种多样的数据库连接方式,J2EE中提供了JDBC API,使得多种数据库的操作变得简单、可行。
3.2.5 分布式通信技术
分布式通信技术是分布式企业系统的核心技术。J2EE框架为Web应用和EJB应用提供了多种通信模式。为了使运行于某一机器上的对象能够调用另一台机器上的对象,J2EE实现了如下通信方式:(1)Java RMI(remote method invoke),远程方法调用,Java RMI能够实现Java对象间的远程通信,服务器用注册把一个名字和远程对象绑在一起,客户机通过名字从注册服务器上查找远程对象,找到后下载远程对象的本地代理,调用远程对象的方法;(2)Java IDL(Java interface defilation language),接口定义语言,可以实现Java对象和符合CORBA规范的远程对象通信;(3)JNDI(Javanaming and directory interface),Java命名和目录接口,JNDI为分布式系统访问远程对象提供了一个标准的命名接口,EJB主接口对象、数据源、消息服务器等都可以用JNDI树的形式注册到名称服务器中,调用它们的对象通过符合JNDI的程序接口在JNDI名称服务器中查找指定名称的远程对象。
4 基于J2EE架构的办公自动化系统的设计
办公自动化系统实质上是基于不同部门、角色、用户基础上的多层次、实时性和安全性要求高的一种应用系统。这种应用系统的关键是既能够适应机构、部门、人员和业务处理流程的经常性的变化。又能够为新增的应用服务提供良好的接口,即能够完全适应应用变化的需求J2EE多层架构,能够很方便地将办公自动化的实际应用需求模块化,并确定模块之间的关系。通过创建各类EJB应用组件来构建整个应用系统。
如图2所示,办公自动化系统由用户管理、公文答理、消息管理、模块管理、安全管理等功能子系统构成。
在公文管理中,除了复杂的业务逻辑之外,还必须考虑到用户的工作习惯及公文传输过程的留痕等问题,需要提供与Word、Excel、WPS等流行常用的Office软件无缝连接。在公文流转过程中,同一公文提交多人同时办理或依次办理时,能够自动地对每次操作进行控制,并将多人处理结果进行有机整合,通过留痕管理对文件的修改过程进行全方位跟踪,对修改人、修改时间作出明确的记录。
4.3 消息管理子系统
在传统办公自动化系统中,由于受通信条件的限制,用户的待办事宜唯有通过被动的查询方式获得业务的办理情况。消息管理子系统主要是利用当前能够提供公共通信服务,如:电信、移动等提供与手机、电话通信的功能,提供手机短信提示、电话提醒等功能。使待办公文能够主动及时地通知办理者,从而提高公文办理效率。消息答理子系统除了对登录用户实时提醒外,还能够通过手机、固定电话等通信工具通过公共通信网与本地的信息传输服务器、应用服务器系统连接,查询到相关信息的功能。信息传输服务器主要是按照传输协议处理公共通信网与内部应用系统之间的通信和数据转换。
4.4 模块管理子系统
模块管理子系统主要用于组织模块的层次结构。通过定义模块的分组、分层结构,使各模块按照配置好的层次加以展现。模块配置管理组件化可以增强系统的灵活性和可扩展性,可以快速将二次开发完成的模块或组件发布到系统中。模块管理主要包括如下配置项:模块所属目录、模块所在服务器、模块位置等。
4.5 安全管理子系统
安全管理子系统具备统一的身份认证、统一的门户管理、多重安全保护等功能。通过对数据链路层、网络层的信道加密和数宇证书应用答理系统(或与第三方PKI/ CA体系)进行身份认证、访问和系统的监控、日志分析,保证办公自动化应用系统能够方便地管理和访问不同的硬件平台、操作系统、网络协议和数据,使系统的安全风险降到最低限度,从而实现“单点登录,Web应用漫游”。
5 结束语
上述办公自动化系统已在某地方大型企业开发成功、投入使用,该系统具有完备的接口和良好的耦合性,与原先建立的基础数据库连接,实现了与以前开发的应用系统有效整合。实际应用表明。应用J2EE多层次架构开发的办公自动化系统具有很好的开放性、实用性、安全性、可扩展性和可维护性,应用效果良好。
参考文献:
[1] Jreg Barish. J2EE web应用高级编程[M]. 北京:清华大学出版社,2002.
[2] Khanar Zaman Ahmed, Cary E umrysh. 用J2EE和UML开发Java企业级应用程序[M]. 北京:清华大学出版社,2002.
[3] 吴建平, 冯晓冬. Java程序设计语言[M]. 北京:清华大学出版社,2003.