烟草商业企业应用集成架构的设计与实现
 

2009-12-02 作者:蔡喆,侯杰华 来源:网络

 

【摘 要】在烟草行业信息化建设的进程中,集成、整合和协同成为当前的关键点,如何实现系统集成、资源整合和信息共享?本文结合湖南烟草商业系统应用集成项目实践,从数据集成、流程集成、界面集成三个层面入手,提出了基于J2EE标准的应用集成架构,并阐述了门户应用层、数据交换平台与数据集成平台、工作流平台的作用和相关的技术标准和集成规范,探讨了“在统一规划下,以应用集成架构为蓝图、以一套完整的技术标准与规范体系为依据,以一个有效的集成操作方案与系统软件支撑平台为手段”的应用系统间的集成、整合和信息共享方法。

【关键词】应用集成架构、J2EE、工作流、门户、集成、共享

中图分类号:文献标识码:A

1 引言

企业的组织结构、产品研发和业务流程需要适应市场竞争的激烈变化,旨在实现企业活动中三要素(人、经营、技术)和四流(物流、商流、信息流、资金流)的集成与优化,从而改善企业的T(时间)、Q(质量)、C(成本)、S(服务),提高竞争能力。随着信息时代的来临,信息技术成为企业变革与创新的有力武器,其迅速发展加快了企业信息化的进程。现在的计算技术实现了从以机器为中心、以应用为中心到以企业为中心的转变,信息系统的建设也由技术驱动向业务驱动转变,企业信息化也开始改变过去“重硬件,轻软件”、“重建设,轻规划”的传统观点。

当前烟草行业正经历着用信息化全面带动业务流程程序化、管理规范化和决策科学化的过程,烟草商业企业的组织结构和业务流程等都将需要适应市场竞争的激烈变化,从最初业务的电算化、管理的规范化到集成的数字化的阶段,在实现“数字烟草”的过程中,怎样实现由信息集成、过程集成以及到企业间的集成?同时,伴随着应用系统关联度加大而导致的应用集成范围的不断扩大,集成度的不断提高,应用集成架构如何适应更高的要求?

本文结合项目实践,以业务流程为驱动,通过统一规划,以应用集成架构为蓝图、以一套完整的技术标准与规范体系为依据,以一个有效的集成操作方案与系统软件支撑平台为手段,阐述了基于J2EE标准的应用集成架构的设计与实现方式,探讨了烟草商业企业各应用系统间的集成、整合和信息共享的方法。

2 应用集成分析

根据湖南省烟草商业系统的改革和发展要求,湖南省烟草商业系统于2004年初制订了未来三年的信息化发展规划,在未来三年中建设支持业务发展的烟草专卖管理、卷烟营销管理、烟叶管理、财务管理、人力资源管理、办公自动化和决策支持等应用系统。为了避免信息化孤岛,发挥信息化建设的整体优势,借鉴信息化建设的经验和教训,我们绕过“先上应用后集成”的老路,将应用集成提到首要位置,在信息化建设之初展开应用集成项目。从集成规划和设计的角度着手,形成统一的集成架构和集成技术标准指导后续应用系统的开发和定制。

Gartner 公司副总裁兼研究主管Yefim Natis认为:“新的基于Internet的全球范围的计算真正好处不可能通过按功能设计的相互孤立且古老的烟囱式应用系统来实现。企业认识到在它们不同的系统中的信息是相互关联的,信息、过程和事件只有在整个企业被看作是一个统一的超越任何一个系统的规范和界限的整体后才可以使用。”因此,统筹考虑湖南烟草商业系统信息化的现状与发展,我们一方面面临的是对新建应用系统进行总体规划、统一架构,从数据、流程和应用三个层面集成,确保新系统能整合并协同运作;另一方面是对已经存在的第三方系统(如国家局的一、二号工程、专卖打假系统、专卖准运证系统、卷烟网上交易系统和烟厂的信息系统等)提供集成的技术手段和方法,同时保持对未来系统集成可扩展性。

因此在设计应用集成架构时,本着业务流程驱动的原则,仔细分析企业的业务流程,分析理解各部门的功能及它们之间的信息流动,立足点是要能揭示企业各部门间相互联系和相互制约关系。如烟草商业企业业务涉及专卖与卷烟营销、卷烟营销与国家局一号工程、专卖与烟叶、烟叶与财务、卷烟与财务、人力资源与各业务系统的绩效、办公自动化与国家局二号工程等采用什么交互方式、交互的数据量、实时性要求等都是应用集成架构必须提供技术手段支持的。

对于新建的应用系统,各应用系统在投入使用时,不能出现多套人员、权限信息,不应该分别登录应用系统和出现不同的界面展示;同时,人员、组织等信息是各应用系统都需要的,因此在有基础集成产品支持的前提下,信息资源规划和有效的应用集成架构是很重要的。

3 基于J2EE标准的企业应用集成架构设计与实现

3.1 J2EE关键技术说明

在J2EE中,Sun给出了完整的基于Java语言开发面向企业分布式应用规范,其中在分布式互操作协议上,J2EE同时支持RMI和IIOP,而在服务器端分布式应用的构造形式,则包括了Java Servlet、JSP(Java Server Page)、EJB等多种形式,以支持不同的业务需求,而且Java应用程序具有"Write once,run anywhere"的特性,这意味着以Java开发构件能够做到跨平台的执行,开发的应用可以配置到包括Windows平台在内的任何服务器端环境中去,使得J2EE技术在分布式计算领域得到了快速发展。基于J2EE的多层体系结构如下图所示:

图1-1 基于J2EE标准的多层体系结构示意图

由上图可以看出,J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用需求。J2EE中最值得提及的一个方面是构件/容器的思想,J2EE中的容器就是一个用于管理根据API技术规范开发的应用程序构件以及提供对J2EE API访问的运行环境,如WEB容器用于驻留JSP和Sevlets、EJB容器用于驻留EJB构件、Applet容器用于驻留Applet,构件对于容器来说就是一个管理对象。J2EE应用程序是由构件构成的,J2EE构件是具有独立功能的软件单元,它们通过相关的类和文件组装成J2EE应用程序,并与其他构件交互。

在应用集成架构中,涉及到几个关键技术:JMS,Java消息服务,提供了J2EE应用中一种标准的企业消息处理服务。它就像一个智能的交换机,用于路由分布式应用中各应用组件和处理过程中的消息。它采用消息队列方式,异步地传递消息。JDBC,是J2EE访问应用数据库资源的标准,JDBC标准定义了一组Java API,以此来向数据库提交SQL语句。XML,是基于符号和标识信息的简单文本,可以实现向应用发送和接收信息的松耦合。WebService/SOA: Web 服务是一个软件接口,它描述了一组可以在网络上通过标准化的 XML 消息传递访问的操作。SOA不是一个软件或产品,而是一种方法,一种建立、维护和管理IT系统和业务流程的方法论,目前业界流行的是用WebService来实现SOA。

事实上,Sun设计J2EE的初衷正是为了解决两层模式(C/S)的弊端,在传统模式中,客户端有过多的业务逻辑显得“胖”。在这种模式中,第一次部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且经常基于某种专有的协议—通常是某种数据库协议使得重用业务逻辑和界面逻辑非常困难。现在符合J2EE标准的产品克服了上述不足,成为在大型企业应用集成项目中使用的首选。

3.2 企业应用集成架构设计与实现

国家局《行业卷烟生产经营决策管理系统运行管理办法》(以下简称《办法》)中对平台提出了如下要求:“决策管理系统是行业重要的基础系统,其他面向全行业的信息系统都应按照国家局“统一信息平台”的总体要求集成整合到决策管理系统提供的平台上来。对国家局已有的信息系统如专卖管理、交易系统、统计系统和财务管理的业务子系统要成熟一个开展一个,逐步与决策管理系统实现对接,在实施系统对接中不断积累经验,逐步完善。以后国家局新建的信息系统应在决策管理系统平台上进行开发和部署……”。

按照国家局的《办法》规定和“统一平台、统一网络、统一数据库”的要求,湖南省烟草专卖局(公司)在党组的统一领导下实行公开招标,选择了IBM的Portal、WBI-SF、DB2等产品,搭建了应用系统的软件支撑平台。目前我们面临的主要问题是同构下的集成,不用过多考虑技术平台本身的整合,而将注意力放在应用系统之间的关联,以及怎么将业务与技术平台实现匹配的中心点上来。当然,集成架构的设计一定要考虑遗留系统和异构系统集成。

基于J2EE标准的企业应用集成架构不是产品就能搭建起来的,产品是刚性的,是没有包含行业特征和实际业务需求的,应用集成架构必须有相关标准和规范的支撑,才是一个有机的整体,一个柔性的架构。在有成熟产品的支撑下,技术与业务需求的结合、相关的技术标准和集成规范便是重点了。在标准和规范的制定过程中,应参考国内外标准和烟草行业内标准。涉及到的技术和规范是开放的、业界共同遵守的。具体的技术标准和集成规范,如IT技术标准:XML、SOAP、WebService、DOM、JCA、JMS等符合J2EE1.3以上的标准、JSR 168/162、WFMC标准、安全体系和认证标准等;国家和烟草行业内标准:统一的行业编码、行业既定的数据格式标准、数据交换标准、技术路线等标准。集成规范有界面集成规范、数据集成规范、流程集成规范等。

下图描述了基于J2EE标准的应用集成架构的主体部分和关键技术,其中安全整体解决方案和系统管理平台不在本文具体阐述。

图1-2 基于J2EE标准的企业应用集成架构图

3.1 应用门户层

应用门户层主要实现界面的集成。界面的集成通过统一的应用门户,用户通过一次性输入用户名和密码,就可以访问到具有相应权限的应用系统功能,即通过门户实现统一的权限认证和登录。而不是传统地单独登录使用独立的应用系统。应用门户层提供统一的人员、组织管理和权限信息管理,使用业界标准的目录服务和SSO功能,对于不同的应用系统的界面采用构件进行封装等技术手段,使访问各个应用系统界面和谐集成。

为了实现界面集成,我们制定了相应的规范。如涉及到WEB界面和传统C/S用户界面设计的交互原则、信息显示原则、数据输入原则、出错信息和警告规范、表示层开发要求、色彩、字体、按钮命名等规范、鼠标和键盘对应要求、快捷键规范、用户帮助信息等。

对于构件的封装,如要求Web应用界面总体上分为三帧。B/S部分的平台所提供的界面框架基本参数如下:顶层依次包含系统Logo,应用列表栏以及各应用所包含的模块列表栏。行设置为rows=80,*;下层中左帧为“系统导航区”;左右帧之间有一个“帧控制页”,能够控制左帧的显示和隐藏;右帧为各应用或模块的“显示页”,是用户应用的功能容纳区;下层的列设置为cols=160,10,*;界面框架支持800×600分辨率和1024×768分辨率,能够自动伸缩在全屏幕方式进行显示。

3.2 数据交换平台和数据集成平台

数据交换平台和数据集成平台主要为了实现数据的集成和数据中心。数据集成是应用集成的核心,针对数据的集成,不能采用传统的点对点的集成,而应该采用数据交换和集成平台,从数据规划的角度出发,设计全省统一的数据及编码标准体系,从数据的完整性和一致性出发,规划公共数据库、元数据库和主题数据库。当数据交换发生时,要规定数据传输的载体、标准和数据传输格式,旨在实现数据的透明、实时、准确。当需要建立数据中心时,要建立数据的抽取、清洗和加工的规则,并建立挖掘模型和展现方式。

在实现数据交换时,针对基础数据部分,规定其使用的方式,如采用共享还是复制、视图还是中间表、同步还是异步、API还是XML等等。如编码同步数据包定义:

图1-3 编码同步数据包定义图

3.3 工作流平台

工作流平台主要为了实现流程集成,另一方面也提高了应用系统的柔性。从业务流程出发,抽象成计算机处理流程,实现对业务流程的定义和管理,通过工作流引擎实现跨多个应用系统的流程和流程的重组,在涉及多个应用系统流程时,对流程的接口须采用标准接口,如WebService。业务流程的集成旨在通过工作流技术,实现业务流程之间的衔接和交互,贯通业务系统之间的流程,如专销一体、烟叶与专卖、财务、人事、国家局交易系统之间流程的交互。

当利用工作流平台进行流程集成时,需要重点注意以下三个方面:首先从业务建模开始,从业务模型到计算机处理模型,尽量不要发生语义的丢失,尽量要采用业务人员与IT人员都能理解的模型;其次对于流程的功能点封装,要对封装的形式和封装的颗粒度进行较好的界定;然后是流程交换方式的确定,采用PUB/SUB方式,还是普通的调用方式等等。实现流程集成时,针对流程的服务接口,须规定其接口规范,定义协议标准,接口描述、交互方式等都要作出具体的定义和描述。

4 结束语

湖南省烟草商业系统应用集成平台采用与国家局生产经验决策管理系统平台一致的基础平台,在应用基础架构上也与国家局系统一致,符合国家局的要求。目前我们已经初步实现了专卖营销系统的集成,财务、办公自动化、人力资源等项目正在进行中,我们将以应用集成架构为蓝图,结合应用系统的业务需求,分析应用集成架构与应用系统的结合点,提炼成应用集成规范,指导各应用系统的建设,下一步要使应用集成架构与更多的业务需求实现匹配和结合,从而丰富企业应用集成架构,勾勒出湖南省烟草商业系统的应用模型。

总而言之,基于J2EE标准的企业应用集成架构,以业务流程为驱动,通过统一规划,以一套完整的技术标准与规范体系为依据,以一个有效的集成操作方案与系统软件支撑平台为手段,较好地满足了应用系统对扩展性、资源整合和信息共享的要求,是“以企业应用集成架构为中心,自顶向下的流程与自底向上的数据相结合”的分析与设计方法的最佳实践,也为信息系统的复用、重构、集成、协同奠定了良好的基础。

【参考文献】

[1] IBM信息集成技术原理及应用 刘晶炜 电子工业出版社 2004.5

[2] Chris Britton IT体系结构与中间件 人民邮电出版社 2003.7

[3] www.ibm.com

[4] 湖南省烟草商业系统应用集成方案总体设计 2005.5

[5] 湖南省烟草商业系统应用集成规范 2005.5

[6] 蔡喆 基于构件的N层体系结构研究与应用 2004.5

火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。

资源网站: UML软件工程组织