金蝶ApusicReadySOA解决方案分为五个实施层,从门户集成和身份管理、业务流程集成、数据集成与数据管理、应用集成、云计算平台五个层面全面整合企业的IT架构。
怎样通过SOA实现企业IT架构的整合框架呢?互联互通是整合的基本内涵,其主要目的就是打破企业内部、企业之间的层层壁垒,消除信息孤岛,实现纵向和横向的关键信息资源的全面融合,实现以业务驱动的无边界信息流。毋庸置疑,任何系统之间都存在边界。边界的产生源自于种类繁杂的信息系统间不可避免的数据异构、应用异构、基础设施异构,因此,针对性的解决途径自然就是在各个系统之间搭建起一条统一的交互通道,即所谓的“企业服务总线”,把数据和应用在标准封装之后,接入总线进行统一管理;然后在总线上提供一个跨系统的流程集成和管理平台,将目前功能驱动的架构转变成流程驱动;最后将整合后的业务流程、应用和数据,通过一个统一的交互入口,即门户,经过统一的身份认证之后,推送到用户的桌面,形成统一的工作台界面。这个过程十分鲜明的体现了SOA最根本的理念:标准化、松耦合、可编排。为了打破基础设施异构性导致的边界,还可以基于虚拟化技术,将所有的基础设施资源进行虚拟化之后,形成云计算平台的统一计算资源池,形成跨企业的无边界。
综上所述,按照平台架构分层设计的原则,金蝶ApusicReadySOA解决方案分为五个实施层,从门户集成和身份管理、业务流程集成、数据集成与数据管理、应用集成、云计算平台五个层面全面整合企业的IT架构。
信息门户是企业信息化平台中信息、应用聚合交互的工作平台。信息门户直接面向终端用户,从人机交互方式的角度,在统一的安全访问策略控制下,展现跨企业IT架构全景的信息资源整合和综合利用的效果。信息门户为企业各部门以及下属企业的用户(例如管理人员、业务人员、系统操作人员等),提供企业内网门户的接入服务,涵盖应用聚合、身份认证和管理、单点登录、报表展现、流程操作等等,实现企业统一界面下的可灵活定制的个性化工作台界面展现。此外,还可以为企业的供应商、伙伴以及公众用户提供外网门户服务,实现面向Internet的企业信息发布和浏览,业务办理和业务状态查询等能力。
在企业门户整合的解mu决方案中,信息门户的角色和作用在于将企业所有信息系统的交互都整合进一个统一的工作平台,这个工作平台负责连接现有的系统,打破系统之间的原有的交互壁垒。传统软件采用的是通过菜单来调用各个功能模块的思想,而在基于SOA的应用模式中,将通过流程调用业务对象来重构业务过程,同时把信息从菜单驱动的功能调用模式,转变为通过流程将目标业务推送到相关用户的个性化门户界面之上,构成了应用的动态个性化的展现,从而形成了一种新的软件运行和服务方式。通过流程把业务所要处理的对象和数据、所要了解的信息推送到桌面,实现各种结构化和非结构化数据的统一,还有各个系统之间的端对端聚合。
在集中存放、管理和获取企业用户身份基础数据信息的基础上,需要对企业所有IT用户进行身份认证和单点登录管理。认证平台通过统一用户帐户对用户的身份进行认证,通过认证后,用户就可访问与其权限对应的目标业务系统,在多业务系统之间实现用户身份认证信息的共享,从而完成多系统的单点登录。在技术上,系统应实现基于安全断言标记语言SAML(SecurityAssertionMarkupLanguage)的单点登录,为多业务系统整合提供安全服务,使用户得以“一次登录,全网通行”,享受“一站式”服务。
在实际的企业经营场景中,业务审批、单据流转等业务场景非常常见。并且往往这些业务流的场景需要跨部门、跨业务领域之间的协同。例如最为常见的订单业务,除了涉及到订单自身的业务领域外,还有可能会涉及到生产、库存、物流等多个业务领域。即使单一领域内的业务单据审批业务,也往往涉及到多个不同部门的用户的交互。如某个业务部门的工作电脑采购审批,也有可能会涉及到信息部门、采购部门的多级审批交互。在整合的企业IT架构中,除了有效地打破了应用领域的边界,实现各个不同应用领域业务功能的服务的统一管理,我们还需要实现业务流程的协同和串联,通过对服务的引用,根据实际的业务需求将各个孤立的、离散的、实现单一功能的服务有机的串联起来,解决业务的流程流转问题。
业务流程管理以业务为基础,并最终面向业务,因此强调业务流程的建模和业务流程的定制这两个与业务息息相关的问题。
业务流程的建模由业务驱动,也就是流程的设计由业务人员完成,保障所得到的业务流程一定是符合实际的业务场景的。而不是业务人员告诉技术人员,并由技术人员“翻译”过的。
业务流程的定制,在实际的运行中,已有的业务流程不一定就是最合理的,且实际工作中可能会出现一个个业务瓶颈。业务流程管理强调业务流的绩效监控,不断对业务流进行改善,提高效率。
由此,业务流程管理能力,首先在流程建模方面需采用业务人员可以看懂并识别,并能够进行业务流程建模的图形缄默语言。从开放性看,BPMN建模语言符合这样的一个目标。通过符合BPMN规范和标准的建模工具,业务建模人员可以快速建立真实符合实际应用业务的业务流程。
业务流程管理还需要提供对业务流程绩效的全面监控。详细记录每一条业务流程实例的运行起信息,包括执行的次数、每个节点执行的时间与效率等信息。通过定期对这些信息进行分析和发掘,可以从时间、业务领域、组织等多个维度察看业务流程运行的情况,从而发现业务上的瓶颈,例如如果发现某条流程的某个节点处理时长总是很长,定位了这个瓶颈之后,就可以进行进一步的跟踪,定位出实际的业务问题,如人力资源不够或者员工消极怠工等,为业务流程优化提供关键的量化数据。
业务流程管理将有效利用和调用已有的各个标准服务,抽取和整合现有的业务流程,将服务所代表的信息流和业务流合二为一,形成合力,实现业务流程的信息化,实现跨应用领域、跨部门的流程协同。
业务流程集成所面向的基础单元包括三个部分。其一是谁来做,其二是做什么,其三是做的次序。业务流通过绑定特定的组织架构模型来解决第一个问题。业务流程集成可以跟企业应用环境中存在的统一用户管理模块无缝集成,在流程中的每一个节点实现任务、用户、组织、角色之间的绑定。在流程配置中,可以指定每一个节点的任务,是由哪一个角色、哪一个岗位、哪一个具体的人员来处理。业务流与整合IT架构中的服务体系相结合,解决了第二个“做什么”的问题。流程建模得到的图形中,每一个节点代表了流程中需要执行的任务。每个具体的任务,对应于整合IT架构中的一个服务。业务流在执行到该节点的时候,会自动地调用对应的服务,完成实际的业务操作。通过绑定和调用服务,工作流中的每一个节点有效的诠释了其所执行的业务操作,解释了第三个“做的次序”的业务问题。
对于流程监控和管理,也是业务流程集成的重要组成部分。业务流程管理可以实时地监控业务流程的执行情况,帮助用户快速响应出现的问题并感知潜在未知的问题。用户以可视化的方式查看任意流程实例当前的运行状况,了解当前流程引擎健康状况,迅速地作出相应调整,甚至可以根据业务需要对任意流程实例进行后台干预,例如挂起、恢复、强行跳转等。
对于大型企业而言,业务数据的集成包括两个方面:横向业务的数据交换与集成和纵向的业务数据集成与整合。前者主要是指在各独立信息系统之间进行数据交换与集成,使得业务数据能在各部门及各应用系统之间顺畅的流转。比如在采购系统中的采购付款流程,就要去整合合同信息系统中付款条款、合同金额;财务系统中的相关已付金额;ERP系统中的原料入库数量等等。后者主要是指集团公司和下属公司之间的业务数据集成及整合,使得集团能通过及时、准确的各种业务数据对下属公司进行掌控。如集团可通过下属公司生产数据的每日上报、汇总、分析和挖掘,来分析各下属公司的生产是否正常和潜在的问题。
数据集成平台,是一个底层的系统,全面负责企业各应用系统运行过程中的数据集成工作,为业务集成提供数据支持。通过调用标准的信息共享交换接口,实现企业内部应用系统数据的自由交换。通过数据集成和交换,实现跨平台、跨系统、跨应用、跨地区的互联互通和信息共享,为大型企业经营组织之间进行公文交换、并联审批、数据挖掘等提供支持。
数据交换提供基于事件和消息的多种会话模式,包括:
数据交换必须能够支持多种不同的会话策略,包括
数据交换的过程,必须能够支持跨平台、跨协议、跨存储介质、跨数据结构的数据交换、影射、转换,提供不重、不漏、不错、不丢的可靠、安全、稳定的数据传输。
数据集成平台总体功能应该从以下几个角度去考虑:
在公共数据的采集、共享、交换过程中,不同部门不同的数据库,有数据提供方,相应地也有数据需求方,由哪个系统提供哪些数据,哪个系统需要其它系统提供什么样的数据,这就是数据共享规则。有了共享规则,数据提供方就可以自己定义对外共享的数据格式,而各应用系统则可以根据这些格式来获取数据并解析,达到数据共享的目的。
数据交换平台能够支持多种数据资源,包括各种主流的关系数型据库产品,并且能够支持各种如Excel、文本文件等文件存储资源,以及入LDAP等成熟的数据存储资源。数据交换平台能够从上述的多种多样的数据资源中采集数据,也能够将数据写入到各种数据存储资源中,实现和数据资源之间的双向数据操作。
数据交换平台应支持两种类型的数据共享和集成,即分布式的数据汇集和分布式的数据访问。对于新的应用系统,以及已有的采用中间件的应用,可以实现分布式的数据访问。在这种情况下,数据存放在应用系统自己的数据库中,每个应用节点通过建立WebService来展示自己所能提供的数据的模式,在接到数据服务请求时,通过WebService调用来向外提供数据服务,在交换过程中使用XML来封装数据。对于网络状况不好的一些应用,或者基于C/S结构的应用,可以将其需要共享的数据通过节点服务器把数据提取到数据中心来,并定期进行更新。平台在接到数据服务请求时,直接从数据中心提供数据服务。
平台利用按需连接,多路复用,优先级管理,压缩传输等技术,保障数据高效、可靠、灵活地传输;平台对传送数据包可以加解密,平台本身提供传输节点间的身份认证机制,另外还提供了对第三方安全策略的支持,多层次保证数据传输过程中的安全。
经过多年的IT建设,信息对于组织的日常运营已经日益重要,并逐渐成为组织内重要的资产,信息资产的管理已经成为组织日常管理中一个非常重要的环节。如何管理和利用好组织内部纷繁的数据资产也越来越成为组织管理的一项重要工作。
然而,在以业务为驱动的信息化建设时代,由于信息化应用的构建多是自下而上构建,主要以满足某个领域或某个部门的业务功能为主,从而造成了一个个分立的应用,分立的应用导致了一个个的静态竖井。由于数据从属于应用,缺乏组织全局的单一视图,形成了一个个信息孤岛,分立的系统之间缺乏沟通,同样数据的孤岛导致只能获得片面的信息,而不是全局的单一视图。存储这些信息的载体可能是各种异构的关系型数据库,比如DB2、ORACLE、MSSQLSERVER或SYBASE,也有可能是XML、EXCEL等文件。因此,当组织开始发现数据的价值而准备利用这些数据时,却发现梳理这些异构的数据,面临着前所未有的困难。
从数据的变化和共享性来的话,我们也可以把组织中的数据分为交易数据和主数据(或称为基础数据)。
交易型数据:它是在应用系统运行中不断产生并且随着业务发生变化的数据。典型的交易数据是股票的价格,它在股票交易中不断的发生变化,而且不同的交易数据往往只被某个应用所使用。所以交易数据的应用属性很强,往往一类的交易数据只在一个单独的应用系统中存在。当然根据业务流程的复杂程度不同,交易数据也可能被几个应用系统所共享或修改,但是这并不具有普遍性,而且交易数据在不同的应用系统内的格式往往也不完全相同。
主数据:主数据是在应用系统间共享的数据,是组织内部的关于业务实体的参照数据,例如下面的一些类型数据都是主数据:
主数据作为组织数据中最为重要的基础性数据,其管理需求在组织数据集成与整合中占据重要地位。主数据管理的目标是使得主信息从不同的应用程序中分离出来,其中主信息定义为描述核心业务实体(如客户和产品)的事实。这种主数据、可以通过一组规则、技术和解决方案来实现,它们可以用来为所有的信息保管者创建和维护一致的、完整的、上下文相关的和精确的业务数据。主数据可能位于许多隔离的系统中,以不同的格式进行存储和维护,从而导致高度的不一致性和不完全性,这是主数据管理的驱动因素。为了生成精确的和一致的信息集(可以在中央主数据管理系统中对其进行管理),需要对数据进行收集、将其转换为主数据模型、并整合到主数据存储库中。
主数据管理平台建设,目的是覆盖生产、经营各个环节的关键业务数据,完善元数据管理,形成全局的数据字典、业务数据规范和统一的业务指标含义,能够灵活获取企业业务数据的单一视图(为保证数据的一致性、完整性、准确性和及时性,需要实现数据的联邦、多个数据源的抽取、转换、装载、汇总等)。数据的交换和共享主要发生在上下级组织机构之间或同级的不同部门(或分公司,比如不同省或地市公司之间)之间。最终,这些数据可以为生产分析、决策支持(多维分析、即席查询、数据挖掘)等应用提供更及时、准确、有效的支持。
主数据管理由信息资源标准、数据交换服务、数据加工存储、数据分析应用和信息安全保障五个部分组成。总体架构如下图所示:
信息资源标准体系实现了数据中心的标准制定和规范管理;信息安全保障体系实现了数据中心的安全可控和有序运行;数据交换服务体系实现了数据中心的数据汇集和服务通道;数据加工存储体系实现了数据的规范加工和存储管理;数据分析应用体系实现了数据的科学分析和增值服务。
一、信息资源标准体系
信息资源标准体系主要规定数据定义和处理的标准与规范。信息资源标准体系是主数据管理系统总体架构中的基础部分,影响着数据的完整性、规范性和一致性,决定着主数据管理功能建设的质量与效果,所有进入主数据管理模块的数据要符合相应的信息资源标准。信息资源标准体系主要包括数据元标准、信息分类及编码标准、数据交换标准等。信息资源标准体系结构图如下:
信息资源标准体系
二、数据交换服务体系
数据交换服务体系是统一的、具有一致性和可扩展性的数据交换及服务共享平台,满足横向应用系统间的数据交换和信息共享需求。数据交换服务体系可作为数据集成解决方案的一部分,由数据集成解决方案统一实现。
三、数据加工存储体系
数据加工存储体系主要是从数据源采集数据,并对数据进行清洗、整理、加载和存储,构建数据仓库。数据加工存储体系主要包括数据收集、数据整理、数据仓库建设等。数据加工存储体系如下图所示:
数据加工存储体系结构
四、数据分析应用体系
数据分析应用体系主要是为用户提供数据应用的工具和平台,推进信息资源的有效开发利用,包括为管理、决策提供随需而变的信息查询、报表生成和分析结果展现等,以及为用户的个性分析应用提供工具。
五、信息安全保障体系
主数据管理方案将依照安全总体架构建立严格有效的管理机制和制度,运用先进的安全技术,保证主数据管理功能的安全可靠、运行高效。信息安全保障体系的主要功能是依据主数据管理的安全保护等级实施不同的安全策略,保证数据的传输安全、数据的存储安全以及数据的使用安全。
应用集成的核心是如何将分散在企业各应用中的业务功能包装成标准的业务服务组件,打通应用系统间固有的边界,实现企业范围的IT资产(应用)重用和流转。在大中型企业中,经过长期的信息化建设,会留下各种各样的应用系统,如集团财务FI、人力资源管理HR、企业资源计划ERP、办公自动化OA、客户关系管理CRM、供应链管理SCM等等,这些应用系统往往在企业中发挥重要的IT支撑作用,对企业的战略落地和业务发展不可或缺。但是,伴随企业的发展,各个单一、封闭的应用系统已经成为企业业务联动、业务整合、业务变革的新的“篱笆”,现代企业逐渐从企业信息化转向信息化企业,因此需要通过松散耦合、扁平化、快速应用、快速实施、快速扩展的方式,将支撑企业核心业务的各个应用系统有机结合起来。
应用集成一般需要考虑集团型企业集中控制、多级分布部署的模式,以及不同应用间的通信协议转换和路由问题,同时应用集成需要考虑一种通用的技术模型来屏蔽企业底层技术架构间的异构性,为用户提供一个统一、标准的应用功能调用框架,将企业的多个隔离的业务系统之间形成完全的松耦合关系,将网状的应用系统之间的依赖关系扁平化。成功的应用集成技术,依托服务封装、注册、发布、寻址和交互等技术手段,可以极大提高应用的可移植性、可扩展性和可靠性,实现企业内各业务线和下属公司之间,以及企业和外部上下游供应商、客户、伙伴的业务系统的之间端到端的功能互操作。
支撑应用集成的重要解决途径是搭建一个企业范围的统一的企业服务总线。企业服务总线的一个重要职责是在运行期充当服务的运行支撑平台,为运行期服务的创建、业务绑定、组装、调用提供基础引擎。通过企业服务总线的服务支撑能力,一方面将业务功能的提供方和业务功能的使用方解耦,增加企业IT架构的适应性和可扩展性,业务功能的提供方可以随时被替换,而业务功能的使用方不受这种替换的任何影响;另一方面,通过企业服务总线,可以获得标准的、统一的、规范的业务功能服务,提高企业IT架构在面向业务支持能力上的标准性和权威性。
在企业IT架构整合过程中,通过对业务的梳理,可能会形成一系列业务接口规范。这些业务接口规范可能包括但不限于:
根据这些规范,通过服务开发工具,把规范化的业务接口以计算机语言描述,形成标准的、统一的、规范的业务服务。这些业务服务运行在企业服务总线所提供的服务容器之上。由企业服务总线负责维护其运行期的创建、调用与销毁。
这些根据接口规范所定义得到的服务,本身不具备业务处理功能,仅仅描述了调用该服务的调用契约(服务输入以及服务输出),这些服务可以称之为“标准服务”。标准服务对外提供了一组规范化和标准化的业务功能,为业务调用提供了标准与规范。
企业服务总线提供了一组对标准服务进行业务功能实现的技术规范,其他的软件供应商、开发人员可在这组技术规范的指导下,完成和实现满足标准服务接口规范中所要求功能的业务服务(接口),这些服务可以称之为厂商服务。
企业服务总线能够实现标准服务和厂商服务之间的适配与绑定,实现两者之间的消息路由、消息转换、协议转换等适配中介功能。当业务使用者需要调用一个服务的时候,不会直接调用厂商服务,而是以标准化的方式调用标准服务,标准服务将调用请求转发到厂商服务,也就是业务功能的提供者,并完成业务功能的调用。实现业务使用者和提供者之间的解耦。
同时,标准服务的功能界定来源自业务接口规范,其颗粒度取决于业务梳Kc理的粒度。在这样的情况下,有可能面临着一个标准服务的功能实现,来自于多个不同的厂商服务。企业服务总线提供服务组装的能力,多个服务能够根据需要和技术规则进行组装,组装后的构件可以以服务的形态展现。多个细粒度的服务能够被有效组装成为一个粗粒度的服务。在这样的功能框架下,多个细粒度的不同的厂商服务,可以被组装在一起,实现一个粗粒度的标准服务。
企业服务总线的服务管理能力分为两个部分,一部分是服务的治理,包括对服务的生命周期管理、版本管理、演化管理等功能,通过服务储存库来实现。一部分是服务的调用地址透明化,实现在运行期服务的注册与查找,通过服务注册库来实现。