彭晓惠,温 明,任媛媛
(新疆电子研究所有限公司 新疆 乌鲁木齐 830049)
随着社会的进步,科技的飞速发展,软件已经作为一种提高工作效率的重要工具而应用于各行各业中,跨部门和地区的协作也在迅速扩大。为了加快软件的开发周期,更多的开发者通过面向对象的编程语言来实现低层次的代码复用,但是它并不适合于特定领域大型软件的生产需要。因此在软件生产过程中,不仅可以重复使用旧的代码,还可以在相似的分析结果前提下复用相似的体系架构,以减少软件生产的代价,提高软件的稳定性、可靠性。本文提出的基于SOA(Service-Oriented Architecture)面向服务的体系结构就是对协作完成的一系列相关的类和接口集合的抽象设计,从而提供一种可复用的体系架构,它是一种松散耦合的应用程序体系结构。由于提供了一个抽象的服务层,对服务使用者隐藏了服务的实现细节,使得SOA在需求和应用环境需求不断变化的应用程序开发中得到了很好的应用。互联网的发展,特别是Web Service的应用支持,为部门内部及部门之间提供了简便的通讯支持。同时,基于SOA的体系结构与以应用为中心的一体化应用程序相比,具有高度开放性、灵活性和可重用性等特点,因此,采用SOA体系结构和开发模式能够实现管理信息系统的应用开发[1]。笔者根据科技成果管理信息系统的实际需求,并为了满足系统业务的流程变化和异构系统的集成,建立了一种基于SOA模式的综合业务管理系统软件体系结构,对系统运行流程、各软件层和组件的功能进行了论述,提出了系统关键层的设计要求和实现方法。
SOA是一种面向企业级服务的系统架构,简单来说,SOA就是一种进行系统开发的新的体系架构,在基于SOA架构的系统中,它将应用程序的不同功能单元(称为服务)之间定义良好的接口和规范按松耦合方式整合在一起,即将多个现有的应用软件通过网络将其整合成一个新的系统[2-3]。因此,基于SOA的架构也一定是从企业的具体需求开始构建的。但是,SOA和其它企业架构的不同之处就在于SOA提供的业务灵活性。业务灵活性是指企业能对业务变更快速和有效地进行响应、并且利用业务变更来得到竞争优势的能力。对企业级架构设计师来说,创建一个业务灵活的架构意味着创建一个可以满足当前还未知的业务需求的IT架构。利用基于SOA的系统构建方法,一个基于SOA架构的系统中的所有的程序功能都被封装在一些功能模块中,利用这些已经封装好的功能模块组装构建所需要的程序或者系统,而这些功能模块就是SOA架构中的不同的服务 (Service)。因此,SOA架构本质上来说体现了一种复合的概念:它不仅为一个企业中商业流程的组织和实现提供了一种指导模式,同时也为具体的底层Service开发提供了指导。
1)科技成果管理信息系统平台主要包括如下子系统:
①科技成果管理信息系统,系统包括:科技成果鉴定申报系统,成果业务处理(鉴定、勘验、登记)信息管理系统(MIS系统),鉴定会会议系统;
②科技成果科技进步奖系统,系统包括:项目申报系统,审核系统,评奖项目管理系统(MIS系统),科技进步奖评审会议系统,评奖计算发布(决策)系统;
③专家信息管理系统:专家库系统,专家管理系统,专家工作评价系统。
④科技成果档案管理及进步奖档案管理系统;
⑤科技成果展示/公示系统,展示/公示科技成果项目及科技进步奖项目。
2)科技成果管理系统及科技进步奖系统部署模式:
这两个系统部署模式相同,都采用如下3个模式:内部网络的办公管理信息系统、基于互联网络的申报系统、移动式专家会议系统,3种系统以内部办公系统为核心,分别通过独立的数据包将相应的信息结合起来,系统共计6个模块,之间没有物理连接方式。
3)科技成果管理系统的主要特点:
①基于互联网的网站,具有单位注册、科技成果鉴定申请、科技进步奖申报、网上推荐、审核等功能。系统可支持在线申报、审核、打印、流程通报等能力。
②基于科技部门内部网络的业务管理信息系统(MIS),可管理科技成果管理,如鉴定等的各类业务,管理科技进步奖评奖管理各类业务。
③成果鉴定专家会议系统,能够实现查阅材料、打分、统计、鉴定书打印等功能。
④科技进步奖专家会议系统,能够实现查阅材料、打分、统计、评分打印等功能。
⑤系统全部采用B/S架构,建立数据库系统,以浏览器为操作手段,系统具有权限管理功能,其中会议系统稳定可靠运行至少满足30个专家在线评审。
4)项目应用的主要功能:
按照SOA的架构改造原有的系统,采用面向业务应用服务的SOA架构,建立4套应用软件系统、一套基础信息系统及安全权限管理系统,分别是:
科技成果鉴定管理信息系统,该系统由3个独立运行的子系统构成:
第1子系统:(主要供申请鉴定单位使用)基于互联网的单位申请鉴定系统,主要内容:单位注册,填报鉴定申请,WEB打印等。
第2子系统:(成果处内网专用)科技成果管理MIS系统。
主要内容:项目管理,业务流程,专家管理,会议处理,数据接口等。
第3子系统:专家评审会用,移动式评审会议系统。主要内容:项目申报材料浏览,专家评分,统计,数据接口等。
《科技成果评奖管理信息系统》,该系统由3个独立运行的子系统构成:
第1子系统:(主要供申请科技奖项的单位使用)基于互联网的单位请奖申报统,主要内容:单位注册,填报请奖理由,数据互传,在线WORD打印等。
第2子系统:(成果管理机构内网专用)科技进步奖管理MIS系统。
主要内容:项目管理,评奖流程管理,专家管理,会议处理,评分管理,数据接口等。
第3子系统:专家评审会,移动式科技奖评审会议系统。
该系统又分为4个独立运行的子系统:科技进步奖专家会议系统,个人奖项(如:突出贡献奖)专家会议系统,特别奖专家会议系统,综合评审会议系统。主要内容:项目申报材料浏览,专家评分,循环式打分统计,数据接口,综合决策等。
(基于互联网的)科技成果网,是以上两个系统的信息入口,采用Web Service技术以平台的形式搭建。该平台整合了单位注册,单位审核;成果鉴定申请,中介机构网上评审;科技进步奖(进步奖、特等奖、突出贡献奖)推荐书填报,推荐单位审核,业务办公室形式审查;各类业务操作流程记录,项目动态等各种业务,同时具有各类信息发布、信息查询等功能。
专家管理系统,专家信息管理,专家评价管理,专家工作记录管理等。该系统按将内容服务作为核心,为各类会议系统提供服务。
基础信息系统,是各类科技成果、科技进步奖的评价体系的载体,具有各类标准化的信息,如:学科分类、国民经济行业分类、党派、地域等等。该系统主要以数据字典方式提供服务。
权限管理系统,包括业务流程管理,角色管理,权限管理,软件模块管理等,是整个系统的核心内容。
搭建科技进步奖互联网网站及移动会议网络硬件系统。
科技成果管理信息系统逻辑上主要分为客户表示层、服务发布层、业务逻辑层、数据访问层4层,客户层主要负责人机交互,服务发布层实现各种服务的发布,业务层提供业务服务,包括业务数据和业务逻辑,集中了系统大多数业务处理,数据访问层主要负责与数据库的一切交互,基于多层分布式组件模型,结合面向服务的设计思想,提出如图1所示的业务组件化、服务化的应用分层体系结构。
1)表示层(UI):实现用户交互,系统主要为 Web界面。通过表示层,与用户进行交互,将表示层与业务逻辑层连接起来,让用户的要求可以从表示层经由业务逻辑层传递到数据访问层,同样,数据访问层从数据服务器取得相应的内容,经由业务逻辑层传递到表示层展示给用户。
图1 业务应用分层体系结构图Fig.1 Business application of hierarchical structure char
2) 服务发布层(Web Service):通过 Web Service发布各系统服务。将业务逻辑层中的各种业务封装成粒度较大的、易用的业务中间件,接受界面逻辑层调用,通过Ticket认证实现调用的安全性[4-6],该层是面向服务的一层,通过该层实现SOA架构的服务发布。
3)业务逻辑层(BLL):封装各种业务逻辑,形成业务中间件,实现各子系统的业务逻辑。该层还管理着对事务的处理。该层被设计成无状态面向服务的模式,通过该层实现SOA架构的服务功能。
4)数据访问层(DAL):数据访问逻辑组件从数据库中检索数据并把实体数据保存回数据库中,完成对数据的持久化操作。数据访问逻辑组件还包含实现数据相关操作所需的所有保持逻辑。
5)数据访问辅助工具(SQLHelper类):利用数据访问辅助工具可实现多种类型数据库的访问,利用抽象工程模式实现数据库访问无关性。
6)业务实体组件(Data):通过封装数据来表示科技成果管理信息系统的业务实体。用于业务实体的表示与层间传输数据。
1)面向服务的需求分析:在这一阶段确定SOA的服务功能范围,制定出各层服务,并将各个服务作为包含主要的初步SOA所需要的服务候选并模块化。
2)面向服务的概要设计:这是一个标准驱动阶段,它将行业标准和合服务原则合并到服务设计过程中,确定程序由哪些模块组成和各模块之间的关系。
3)服务的开发:在确定的开发平台、编程语言和开发环境中,选择决定服务编排业务流程所采用的物理形式,用选定的语言编写程序,并且仔细测试编写的每一个模块。
4)服务的测试:将服务的通用特性在不同情况中复用和组合,对不可预测的情况进行反复的、综合的测试。
5)服务的部署:在服务期上安装和配置分布式组件,各类服务接口和相关的中间件产品。
6)服务的管理与维护:服务部署以后,对这些服务进行标准的应用管理和维护。
文中论述了基于.NET技术和面向服务架构(SOA)的科技成果管理信息系统平台的设计和实现方案,该技术方案通过建立和应用基于SOA模式的软件体系结构。科技成果管理信息系统实现了Web Service安全认证、压缩算法、异步操作、事务处理、异常处理等机制,该系统运行至今约有一年多时间,当某一个子系统出现问题时,在对该部分软件进行维护的同时其它子系统依然能够保证业务的继续运转 ,达到了理想的效果。由于各服务间低耦合,并可根据需求快捷地组合实现新的服务,具有可复用、灵活和可扩展等优点,能够较好地适应科技行业业务部门的要求。
[1]张大鹏,邱锦伦.SOA中Data Service的分析与设计[J].计算机工程,2009,35(24):56-59.
ZHANG Da-peng,QIU Jin-lun.SOA Data Service analysis and design[J].Computer Engineering,2009,35(24):56-59.
[2]林闯,封富君.新型网络环境下的访问控制技术[J].软件学报,2007,18(4):955-966.
LIN Chuang,FENG Fu-jun.In new network environment access control technology[J].Journal of Software,2007,18(4):955-966.
[3]吴浩明,周宁.基于LDAP的信息共享平台研究与实现[J].计算机应用,2008,28(4):1042-1043.
WU Hao-ming,ZHOU Ning.LDAP based information sharing platform for research and implementation[J].Journal of Computer Applications,2008,28(4):1042-1043.
[4]张丽,赵洋.身份认证技术的研究与安全性分析[J].计算机与现代化,2007(5):48-52.
ZHANG Li,ZHAO Yang.Study on the identification authentication and security analysis[J].Computer and Modernization,2007(5):48-52.
[5]白建坤.WEB服务安全研究[J].计算机应用,2005,25(11):2533-2535.
BAI Jian-kun.WEB service security research[J].Journal of Computer Applications,2005,25(11):2533-2535.
[6]邓帆.应用组合方法设计安全协议[J].计算机应用,2010,30(4):1033-1037.
DENG Fan.Application of combined method of security protocol design[J].Journal of Computer Applications,2010,30(4):1033-1037.