刘诏书
(1.武汉理工大学 机电工程学院,湖北 武汉430070;2.广东联塑科技实业有限公司 信息管理中心,广东 顺德528318)
对于很多应用企业来说,摆在IT 管理和开发人员面前的问题是:企业内部业务信息系统繁多,例如OA 系统、ERP 系统、邮件服务系统等,不同的系统是企业在不同的时期采购或开发的不同技术架构和平台的软件应用系统。但随着业务发展往往需要在这些系统之间,完成跨平台的数据交换,此时系统间的交互变得困难。而对于新增的应用需求,IT 人员也有一个艰难的选择:是选择外购模块或系统,还是在已有平台上做二次开发;是在已有平台甲系统上做开发,还是在平台乙系统上做开发。笔者以某OA 平台上应用模块的二次开发为例,具体阐述集成开发的模式及其应用。
单点登录模式是一种简单的、部分的信息集成。单点登录是在原生平台或系统(所谓原生平台,是指某系统的原有开发平台,相对于外置平台而言)上配置外置平台或系统的入口地址、用户名和密码,然后通过后台链接,跳过外置平台的登录页面,直接登录外置系统,形成对操作用户透明的一种集成模式,使用户感觉到一次登录,使用外置系统好像就是使用原生平台中的某一模块一样。其优点是:
(1)不依赖于原生平台,不受原生平台的制约;
(2)可以根据设计开发人员的偏好,选择后续系统或模块的开发平台;
(3)平台之间,不会有数据的交换,系统之间可以做到很好的隔离;
(4)对于操作用户来说,不需要多次登录。
其缺点是:
(1)原生平台与外部平台之间,需要建立两套权限验证机制;
(2)对于需要数据交换的应用,该方案不能很好解决问题;
(3)维护人员需要维护两套独立的系统;
(4)开发人员需要掌握多种开发平台。
依赖于原生平台的二次开发集成,是目前比较流行的做法。因为直接在原生平台做开发,可以最大限度地利用原生平台的优势,亦可使数据结构统一,交互方便。其优点是:
(1)集成的开发可以避免企业业务系统过多、数据不集中的问题;
(2)便于数据的统一管理;
(3)开发技术的统一可减轻开发人员的负担。
其缺点是:
(1)依赖于原生平台,同时也会受制于原生平台;
(2)平台的升级,可能会影响二次开发集成应用模块的稳定性;
(3)随着平台上集成模块或系统的增多,平台会变得臃肿。
由于应用领域和开发模式各不相同,越来越多的企业需要集成自己的软件开发工具,定制适合自身应用的开发平台。随着以Eclipse 和Net-Beans 为代表的软件集成开发平台的迅速发展,人们在开发软件和相关应用技术方面的能力都有了很大的提升,但现有的软件集成开发产品,大多停留在发展完善阶段,相关的研究多集中在软件集成开发平台的扩展机制上[1]。统一开发平台虽然在开发与应用中具有很大的优势,但其开发具有较苛刻的前提条件和较大的局限性:依赖于完整而全面的规划;已有的应用系统无法采用该种方式实现信息集成。
某OA 系统是在Java 平台上开发的办公自动化软件。该系统包括知识文档管理、工作流管理、邮件管理、公司组织架构管理及人力资源管理等模块[2-4]。
随着制造企业向高新技术企业的转型升级,企业专利和商标的管理越来越重要。而大多数制造企业的专利和商标信息仅仅通过Excel 进行简单管理,这导致了其信息无法在不同的部门之间实现共享,无法实现信息快速查找和用户权限的控制,并且Excel 表格的崩溃会导致信息的丢失。专利和商标都涉及到大量的图文档,随着公司专利的发展,商标不断增加,因此需要一个平台来管理这些商标和专利信息。
专利商标的功能模块分为系统设置、专利管理、商标管理、著作权管理和统计与搜索5 大模块。其包括以下信息管理和功能需求:
(1)专利基础信息。专利基础信息包括专利名称、专利号、专利类型、提交时间、申请日、申请人、发明人和有效期等。
(2)商标管理信息。商标信息包括商标名称、编号、申请类别大类、申请类别小类、有效期、续展期、状态和申请国家等。
(4)专利流程文档、费用。该类信息包括专利编号、专利流程节点ID、文档ID、费用ID 和时间等。
(5)商标状态信息。商标状态信息包括编号、商标ID、商标状态和时间等。
(6)商标文档、费用信息。该类信息包括编号、商标流程节点ID、文档ID、费用ID 和时间等。
(7)费用信息。费用信息包括费用编号、费用类型、费用名称、金额、凭证号和费用发生时间等。
(8)系统基础信息。系统基础信息包括专利类型、专利种类、专利状态、商标申请类别大类、商标申请类别小类、商标状态、费用类型和费用名称等。
(9)专利搜索功能。搜索功能包括按申请日、专利类型、申请人、发明人、授权时间、有效期和状态等的搜索。
通过覆盖各种有色塑料薄膜,防止光的照射,抑制杂草的光合作用,造成杂草幼苗死亡或阻碍种子萌发的方法是目前应用较为普遍的物理除草方法之一。如利用黑色地膜等覆盖线辣椒田,不仅可以控制杂草危害,并且能够增温保水,促进线辣椒增产。
(10)专利商标的图和文档管理。
(11)专利商标续费提示功能。
(12)人员的权限控制。该功能将信息录入和信息查询的角色分开。
2.3.1 专利商标系统的技术结构
为实现在OA 原生平台上的二次开发集成,专利商标模块基于原OA 系统上的集成开发,运用与OA 相同的开发平台Java +Oracle,采用如图1 所示的3 层技术结构。
图1 系统开发技术结构
用户通过浏览器发出请求至Action 层,Action 层判断用户的请求类型,然后转至对应的JSP页面。数据库与模块的接口通过Hibernate 实现数据表与Java 数据库映射对象类一一对应。各层的主要功能如下[5-7]:
(1)Action 层。该层负责接收用户的请求,调用服务层,获取或修改数据库数据,然后返回相应的结果至对应的JSP 页面。专利商标的Action 层包括了专利模块、费用模块、文档模块、查询模块和商标模块等功能层。
(2)JSP 页面。由基本的HTML 页面元素和Javabean 组成,负责页面的显示。
(3)数据库映射对象。数据库映射对象与数据库的表一一对应,程序不直接操作数据库的表,而是通过操作数据库映射对象,达到读取和更改数据库数据的目的。通过这些数据库对象,可以增加缓存机制,减少对数据库的操作。
2.3.2 专利商标模块
专利商标模块在OA 原生平台上开发,集成了OA 系统权限、人员和文档功能,可以直接利用OA 系统中的人员信息、权限控制、知识文档管理模块和系统提醒工作流等。因此需要调用OA 原生平台上的相应接口[8-10]。
调用人员接口(javascript)程序如下:
返回的结果是一个object 对象,object 有两个属性,分别为id 和name。
returnVal.id :人员ID 串
returnVal.name :人员名字串
调用触发系统提醒工作流程序如下:
2.3.3 模块发布方案
(1)添加需要用到的Servlet 到web.xml。
(2)添加新应用需用到的jar 包到lib。
(3)迁移应用JSP 文件夹到ptsystem。
(4)迁移Java Class 到classbean。
(5)迁移hibernate 相关的xml 文件。其中包括文件daoContext.xml,* .hbm.xml 和hibernate.cfg.xml。如果是在eclipse 环境下调试,需要复制xml 文件至classbean 目录下。
(6)添加功能菜单,用sysadmin 添加左侧菜单。
(7)添加权限,包括运行SQL 脚本插入权限,创建权限组(专利商标权限组)。
(8)添加角色。包括专利商标信息维护角色和专利商标信息浏览角色。
(9)创建数据表,sequence,表外键约束,运行SQL_SCRIPT 里面的* .sql 脚本。
系统设置提供给用户定义系统用到的公共参数,其界面图如图2 所示。系统设置包括专利状态、专利类型、商标分类、商标状态、著作权状态、费用名称和提醒类型配置。其中提醒类型配置是专利模块与OA 平台工作流的接口配置参数、定义需要提醒的提前天数和接收提醒的人员。
图2 专利商标管理系统设置界面图
专利管理模块给用户提供查找、添加和删除专利信息的功能,其中包括专利列表展示、添加专利、修改专利、专利文档和费用管理。专利有不同的状态节点,每个状态节点可以保存不同的文档和费用,方便用户分类保存各种文档和费用,
专利状态节点列表,每个专利都可以添加系统定义好的状态节点,记录每个状态节点下面的文档和费用。状态节点相当于一个项目的每个阶段,每个阶段都有一个里程碑,方便用户查看专利的生命历程。
OA 系统提醒模块集成了OA 的系统提醒工作流模块,用户可以选择是否需要专利或商标事项的到期提醒。在预定义的提前天数里面,触发提醒工作流,从而达到专利或商标到期的提醒效果,其界面图如图3 所示。
图3 触发OA 中的提醒流程界面图
统计模块给用户提供专利和商标的统计信息,方便用户分析系统的专利商标情况。搜索模块提供给用户一个搜索引擎,随着系统信息的增长,查找信息会变得越来越困难。因此考虑到用户的需要,搜索引擎提供多个条件的搜索,方便用户按自己的偏好查找需要的信息。
[1] 王锋.软件集成开发平台的设计与评价[D]. 长沙:国防科技大学图书馆,2008.
[2] 上海泛微网络科技股份有限公司. 泛微软件OA-工作流程模块[Z],2011.
[3] 上海泛微网络科技股份有限公司. 泛微软件OA-门户管理模块[Z],2011.
[4] 上海泛微网络科技股份有限公司. 泛微软件OA-知识管理模块[Z],2011.
[5] 夏明萍,孙雪,方遒. ECLIPSE 基础与应用[M]. 北京:清华大学出版社,2008:67-70.
[6] 孙璐. Java 存储过程在异构数据库访问中的应用[J].武汉理工大学学报:信息与管理工程版,2010,32(2):193-196.
[7] 易飞思科技产品研发科技中心. JSP 应用开发详解[M]. 北京:电子工业出版社,2007:85-92.
[8] 上海泛微网络科技股份有限公司. 泛微软件OA-二次开发培训文档[Z],2011.
[9] BERCHET C,HABCHI G.The implementation and deployment of an ERP system:an industrial case study[J].Computers in Industry,2005,56(6):588-605.
[10]UMBLE E J,HAFT R R,UMBLE M M.Enterprise resource planning:implementation procedures and critical success factors[J]. European Journal of Operational Research,2003,146(5):241-257.