软件是信息化建设的重点,软件架构也是IT技术架构的重点内容。所以本节先来看一下如何从企业全局角度来规划软件的技术架构。
1.企业软件系统技术架构分析思路
与传统的软件架构不同,软件技术架构的整体设计思路如图7-2所示。
图7-2 企业软件架构模式分析思路
该分析包括3部分工作。
第一,技术支撑模式划分:根据应用架构和数据架构要求,共同划分应用功能实现的技术模式,这是上下承接的关键。
第二,支撑模式实现分析:回答如何对应用架构和数据架构的支撑,主要从以下几个方面来进行分析:应用场景、架构需求和设计要点等。
第三,支撑模式产品规划:回答产品采购的需求。
下面就分别对这3方面的内容进行介绍。
2.应用系统模式划分
软件技术架构总体上采用模式设计的方法。模式是指一种想法被证明在某个实践环境中是有用的,而且可能在其他环境同样有用的方法。也就是说,模式提供一种承诺来帮助识别架构的组成部分哪些已经存在,并被过去证明是有效的解决方案或者实现途径。按照软件实现的模式进行划分,企业常见的应用系统总体上看可以分为两大类,这两类应用实现的技术是有很大差异的。
(1)应用功能实现类
● 交易类:核心数据处理类业务,如电信的话费缴纳类业务系统。
● 流程类:流程驱动类业务,主要是各种审批类的管理型业务。
● 决策类:包括自定义查询、报表、OLAP分析和数据挖掘等内容。
● 内容管理类:电子影像、档案、文档和知识管理等。
(2)应用功能集成类
● 界面集成类:面向内部工作人员进行业务办理的界面集成,一般指内部门户。
● 门户网站类:信息类的门户集成,一般指外部门户。
● 应用集成类:服务集成类业务,即应用集成平台。
● 数据集成类:数据集成类业务,如内部系统之间、跨层级之间,以及与外部门之间的数据集成。
在明确了基本的技术实现模式之后,可以结合总体应用架构对涉及的应用系统进行分类,并对不同类别的应用系统进行支撑模式的分析。
3.软件架构分析
上面按照应用模式对企业的应用系统进行了分类,接下来就要从技术角度分别对各系统如何实现进行探讨。软件架构模式分析一般从以下几个方面进行:应用对应关系分析、功能需求、非功能需求和关键技术等,其中应用对应分析是看该系统对应应用架构的哪个部分,是技术架构与应用架构连接的关键点。
限于篇幅,不能对上述每种类型的应用都进行分析,下面仅以企业中较通用的电子档案管理系统为例进行简单论述。
电子档案管理属于内容管理模式,但是是一种比较特殊的内容管理应用,特别是在电子档案的采集、处理、存储和运用方面,有别于一般性的内容管理应用。电子档案库的建设主要有两个目的:实现档案的电子化存储,方便进行档案的专业化和规范化管理;信息单点采集并高度共享,把电子档案系统抽象成一种公共服务的提供者。
电子档案管理系统的技术参考架构如图7-3所示。
图7-3 电子档案管理系统总体参考架构
电子档案管理在电子档案的采集、处理、存储和运用方面具有较高的技术要求,具体来说包括以下几种技术。
2)条码识别:建立电子档案与纸质档案的对应。
3)数据解析:图像解析或者其他规定格式数据文件解析。
4)数字水印技术:保证电子档案不被复制后用于非法用途。(www.daowen.com)
5)虚拟录入:屏蔽底层的硬件接口。
由于电子档案涉及海量的电子影像存储,其在实现上需要采用海量存储解决方案,如SAN存储网络,而且采用数据分布设计,分为前置存放数据、在线存放数据、近线存放数据、离线存放数据和缓存数据,以保证电子档案的存储与处理。所以电子档案管理的非功能性需求包括以下3个。
1)高效性:存储量大,且在业务应用时对检索速度要求较高。
2)高可靠性:由于电子档案的特殊性,要求有冗余备份机制,并提供多层安全管理控制功能来保证系统的可维护性,即使系统崩溃也不会丢失业务数据,并马上可恢复系统。
3)数据传输量大:采取技术手段减少档案信息的重复传输。
4.软件产品选购建议
前面两节讲述了如何对企业内部的软件系统按照架构模式进行细分,如何对每种模式下的主要系统进行总体的架构设计,做完这些工作后还要考虑系统如何实现。
系统实现方式一般有两种,一是购买成熟软件包并进行二次开发,二是自主开发。由于多种原因,采用第一种方式是主流。因此,在对所有的系统进行了总体架构分析之后,下一步要考虑如何用最低成本采购到最合适的软件产品,这也是企业软件技术架构规划的重要内容之一。
在对所有的应用系统进行架构分析之后,会发现不同的系统之间会有很多复用的软件产品,在没有总体技术架构设计时,很多企业会频繁重复采购这些软件。软件技术架构的一个主要工作就是要站在全局角度对复用的软件进行归类和统计,对相同的需求进行统一采购、统一管理,避免重复投资和浪费。
表7-1所示是某企业在进行完所有软件系统的架构分析后统计的可以复用的软件产品清单,这些产品在全公司内要坚持一次采购重复复用的原则,以最大程度提高软件的利用率。
表7-1 某企业共性软件产品采购清单
仅仅列出这样一个清单是不够的,还要从应用场景分析、功能要求和技术要求等几个维度对每个软件进行详细分析,以指导采购和选型。每一个企业需要采购的IT软件产品都是很多的,限于篇幅,不能对这些产品一一介绍,本节仅以ESB(Enterprise Service Bus,企业服务总线)这样一个比较常用的软件为例,介绍一下如何进行全局性的产品选型规划。
(1)ESB产品应用场景分析
应用集成平台是其中的重要组成部分,而目前应用集成领域最佳实践模式是企业服务总线ESB,它也是构建面向服务体系架构的基础设施,因此采用ESB架构来构建应用集成平台是当前比较有前瞻性的选择。ESB使系统之间能够互联互通,能有效解决系统之间的交叉调用,减轻系统维护的难度,并且能够通过服务标准的梳理和规划,使企业内部的应用系统架构趋向合理化,能更有效地适用未来业务架构的需求,灵活应对业务的转变,使IT架构逐渐转变为以业务为导向IT支撑架构。
(2)ESB产品功能要求
ESB功能可以划分为6个部分,具体如图7-4所示。
图7-4 ESB软件系统的主要功能
1)集成服务:提供总线基础的通信连接、消息转换、服务路由、服务调度、服务组合及服务发布订阅等基础的集成服务;在此基础上支持服务的封装、重用、服务组合和服务调度。
2)公用服务:提供内置多公用服务,包括服务等级、异常处理,服务版本的管理、流量控制、服务控制和故障隔离、对文件附件的支持、异步流水和统一流水号、日志服务、冲正服务,以及穿透等公用服务。
3)服务标准:提供服务分析和识别的方法论,以此为基础通过分析和抽象制定符合企业的服务标准,并对标准进行有效的管理。
4)服务管理:提供服务的全面管理功能,服务配置管理能有效地配置服务策略,并且能够动态生效;服务注册管理能进行服务注册的管理和路由信息的动态分发;服务元数据管理能对服务生命周期中的元数据进行管理,从服务分析识别阶段的服务标准到服务监控所需的参数等。
5)系统监控:提供多角度的系统监控功能,包括实时的流量、响应时间等指标的监控;提供故障与告警机制;针对相关的监控参数可进行自定义配置,并生成所需的监控报表信息。
6)安全体系:提供多种安全机制,包括ESB的消息安全传输、服务访问的权限管理,以及多种验签方式,并支持和第三方安全系统的有效集成,提供有效的安全监控机制,能完整地跟踪分析交易日志信息。
(3)ESB产品技术要求
对于ESB的关键技术指标,通过分析和归纳,总结如表7-2所示。
表7-2 某企业ESB产品选型技术要求列表
(续)
(续)
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。