为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

12_数据中间件在恒生系统集成平台中的应用

2023-03-03 30页 ppt 1MB 21阅读

用户头像 个人认证

is_923180

暂无简介

举报
12_数据中间件在恒生系统集成平台中的应用数据中间件在恒生系统集成平台中的应用答辩所用第一章引言1.1数据中间件在系统集成平台中的应用现状1.2基于数据中间件的系统集成平台目前存在的不足1.3恒生公司现有管理信息系统的不足1.4本文的主要内容1.5本文的章节安排1.1数据中间件在系统集成平台中的应用现状我国的企业管理应用系统建设从七十年代开始起步,八十年代进行铺垫,九十年代中、后期进入了快速发展阶段。目前,传统的管理应用系统都普遍存在系列问题,不同软件间,尤其是不同部门间的数据信息不能共享,设计、管理、生产的数据不能进行交流,数据出现脱节,即产生“信息孤岛“,势必给企...
12_数据中间件在恒生系统集成平台中的应用
数据中间件在恒生系统集成平台中的应用答辩所用第一章引言1.1数据中间件在系统集成平台中的应用现状1.2基于数据中间件的系统集成平台目前存在的不足1.3恒生公司现有管理信息系统的不足1.4本文的主要内容1.5本文的章节安排1.1数据中间件在系统集成平台中的应用现状我国的企业管理应用系统建设从七十年代开始起步,八十年代进行铺垫,九十年代中、后期进入了快速发展阶段。目前,传统的管理应用系统都普遍存在系列问,不同软件间,尤其是不同部门间的数据信息不能共享,、管理、生产的数据不能进行交流,数据出现脱节,即产生“信息孤岛“,势必给企业的运用带来以下问题:信息需要重复多次的输入,信息存在很大的冗余,大量的垃圾信息以及信息交流的一致性无法保证。1.2基于数据中间件的系统集成平台目前存在的不足现阶段,我国大部分企业的系统集成平台虽然大多突破了基于文件服务器的资源共享模式,而采用Client,Server结构模式,从而避免了用网络将整个数据传到工作站,减轻了网络负担。数据中间件在企业信息管理系统中的应用克服了由于传统客户机/服务器模型的缺陷给企业的信息管理系统带来的影响,但是目前,大部分企业对数据中间件在系统集成平台中的应用,存在以下问题,所以导致了传统数据中间件不能很好的在企业的系统集成平台中发挥更大的作用。1、用户网络的复杂性现代企业,尤其是大中型企业规模不断扩充,导致用户网络因为安全、跨地区设置分支机构等原因,要求内外网隔离,慢速广域网,导致客户端不能直接访问集中式服务器。2、管理信息数据的专门性数据库的分布与集中是一个动态过程(分布的数据会集中,集中的数据也可以要分布下去,比如总公司数据集中以后,根据需要各地分公司的个性化数据仍然有可能要前移到各地的分公司网点),要求中间件能做到业务逻辑与数据库物理部署无关。业务和系统模块要求会快速变动,但对性能与稳定性又有很高的要求。目前,大多数数据中间件应用的系统集成平台中,存在着系统运行不够稳定的缺陷。3、开发周期过长导致成本增加现在的企业系统集成平台在企业的管理、运营当中发挥的作用越来越重要,系统的开发已经不能承受过长的开发周期。基于传统数据中间件的系统集成平台的开发,虽然开发周期较之以前已经缩短了很多,但是基于其局限性,还是不能很好的满足企业系统集成平台开发的周期要求。4、资金成本因素商用中间件成本较高,影响应用系统的性价比。如IBM,BEA,Oracle,HP,Iona等这些国外的主流中间件厂商,虽然功能强大,但是价格不菲,不适合目前国内中小企业的实际应用。1.3恒生公司现有管理信息系统的不足多年来跟踪各种技术的发展,恒生公司适应自身业务功能发展和管理的需要,实施和部署了互联网站系统、人力资源系统、客户服务系统以及办公自动化系统等多种商业应用,这些商业应用分别解决了公司在不同方面的需求。目前恒生公司的内部管理系统存在的问题主要以下几个方面:1用户认证和管理机制混乱(1)能实现所有应用系统中的用户信息资源共享,分散的用户管理较吃力。(2)维护多个的用户信息资料库,增加数据冗余,提高维护成本。(3)办法分析客户的贡献度,差别服务也就无从谈起。(4)不利于进行客户分类分析,无法对产品行销策略的定制提供相应的帮助,从而也不能提供丰富的经营、决策分析数据。2、管理信息的整合不畅大量分散的管理系统导致计算环境非常复杂,各种管理服务之间缺乏信息交互通道。恒生公司的网站系统,人力资源管理系统和客户服务系统等企业应用之间有相似的业务逻辑,但系统没有整合起来,不仅造成了开发成本大,同时导致了系统维护困难。恒生公司往往为了上新系统就会开发一套新的体系,以往的经验没有积累,导致系统过于分散,难于扩展。公司迫切需要一套能将各子系统数据有机集成的解决。3、缺少完善的信息管理恒生公司的产品信息资源丰富,客户信息繁多,长久以来,已经形成了多种多样的信息数据格式,公司经常会产生各种各样的报告文件和报表;公司的产品宣传往往采用图片等形式;公司原有系统的多个数据库。为了维护这些信息,没有一个集成的数据管理是很难实现的。而且面对繁多的客户信息资源,需要有良好的管理系统进行管理和维护,恒生公司的客户上千,客户选用的产品众多,需要管理的客户信息量在百万以上,为了维护这样的信息数据,没有良好的数据系统是很难想象的。恒生公司需要能够提供方便检索功能的系统数据集中,来保证灵活自如的驾驭信息。4、数据接入机制不健全恒生公司现有的个信息系统,各有个的信息数据源,包括员工信息数据源,各业务部门的内部数据源,客户的客户资料和产品数据源等等。由于没有统一的接入架构体系,运营和维护的工作较大,增加一种数据源时,往往需要大量的开发工作;不能够很好的利用已有的系统架构和系统资源。恒生公司技术部门的运行维护人员或者系统开发人员往往希望通过配置文件对数据源接入模式和系统参数进行调整。这需要一套合理的数据接入机制来体现。5、缺乏个性化服务在系统运作初期,客户或者员工往往通过选择希望看到的信息分类来定制自己的登录首页,当个性化服务逐渐上升到更高层次的时,比如交叉销售,产品推介等,则需要整个系统本着以客户为中心的原则,设计一个完整的客户信息系统,能够将所有客户的各类资料进行集中、归类、统一管理的信息管理系统。客户信息是客户服务系统的基础,是从以“面向帐户”服务类型向“面向客户服务”类型转变的关键,通过该系统对客户信息的集中管理,要求使所有应用系统实现客户信息资源共享,并通过对客户信息的分析,可对不同贡献度的客户实现差别服务,和支持管理层和领导层的决策。如果没有完善的数据集成机制来支持多个系统的数据集成和分析,这是很难实现的。1.4本文的主要内容在充分了解了恒生公司目前管理系统存在的问题,以及目前国内数据中间件在企业系统集成平台中的现状,有必要提供一套适合国内中小型企业现状,并且能够解决上述局限性的全面解决方案。本文的系统集成平台基于开放的、易于扩展的应用体系框架。运用.NET的架构基础,基于一套专门的数据中间件来开发,实现了企业的管理信息的集成和共享,包括不同部门之间、企业内部与外部间的管理信息集成和共享,解决企业“信息孤岛”。使用数据中间件后,系统集成平台的应用程序被分割成三个不同的逻辑组件:用户服务层、业务处理层和数据服务层。同时将系统集成平台需求划分成明确的服务,并以组件的形式实现,一个组件用以完成系统中的一种或N种服务,如名字服务、事务服务等。由于这些组件根据业务不同,可以让系统管理员更灵活的部署与修改,而且这些组件逐渐向通用化方向发展,如基于某一接口,所以完全可以被重用。因此这种数据中间件模型具有可重用性、灵活,性、可管理性、可维护性等一系列优良的特性。1.5本文的章节安排本文共分为五个章节,详细地探讨了系统集成平台的问题现状、业务需求、系统设计、基于数据中间件技术的功能开发、实施总结和展望。本章从现有的企业系统集成平台现状入手,分析了恒生公司现有系统管理存在的问题,简单介绍了本文的现实意义。第二章在了解现有管理系统弊端基础上,简单介绍了本文所采用的数据中间件的基本框架,原理及其实现,本文所采用的数据中间件为企业的系统集成平台的需求多样性提供了很好的解决方案。第三章在了解了恒生公司系统集成平台所采用的数据中间件技术的基础上,讨论了公司对系统集成平台的业务需求,以典型的客户服务,人力资源管理等子系统为例,具体分析了公司系统集成平台的技术实现和功能特点、地位与作用。重点是深入讨论了数据中间件在系统集成平台中的数据逻辑集成。最后一章对系统的不足之处进行了分析,并对未来的工作进行了展望。第二章数据中间件2.1数据中间件的发展2.2数据中间件原理2.3数据中间件的选型2.4数据中间件的通用性与专用性2.5数据中间件的特点2.1数据中间件的发展Boing公司在对中间件的开发工作进行总结的基础上,归纳出六种不同类型的中间件:面向数据库的中间件、远程程序调用(RPc)、报文系统(安全报文)、面向对象的中间件、事务处理监视和专用中间件。1、数据中间件概念2、数据中间件在系统集成平台中的发展1、数据中间件概念简而言之,面向数据库的中间件就是指一切连接应用程序和数据库的软件。与一般的中间件一样,面向数据库的中间件允许开发人员通过单一的、定义良好的API访问另一台计算机上的资源,如数据库服务器。数据中间件用于特定的数据库环境.如果要访问服务器数据库数据的客户机应用程序—日使用一种数据库类型,那么数据库中间件将在客户机和服务器之间提供链路。这类中间件如Oracle的SQLnet。如果一个关系数据库中的数据要被作为一个对象来访问,面向数据库的中间件可以将存储在关系数据库中的信息映射成源应用程序或目标应用程序可以访问的对象。对于其它类型的数据库(如:层次型数据库、多维数据库等)也是如此。面向数据库的中间件还可以提供对任意数量数据库的访问,而不需考虑数据库的模型和运行平台,这样无论是哪一种数据库,SQLServer、DB2、Oracle还是Sybase,都可以同时通过同一界面进行访问。通过这种机制,就可以把不同类型的源数据库和目标数据库映射成相同的模型,使他们易于集成。2、数据中间件在系统集成平台中的发展(1)层次化在三层(N层)体系结构建立后,客户端和数据库的一些业务逻辑被提取出来形成一个中间层,于是出现了相应的中间件。中间件的出现使三层体系模式向多层体系发展,而数据库中间件因异构环境的复杂性也形成多种层次,这些层次同时也在不断的抽象、总结,并有逐步统一的趋势。(2)集成化为提高网络开发的效率,各大软件厂商在自己的系统及开发环境中都集成自己的一些数据中间件产品。如ASP中内置有ADO等数据库中间件,用于应用程序和数据库进行交互。为系统集成平台的部署和快速开发提供了良好条件。(3)组件化组件化的思想最初来源于软件复用,其目的是利用别人的成果来集成最终的系统,而不必重复编写己有的代码。这种思想完全可以应用于数据库中间件技术。如在利用ASP访问WEB数据库时,每次都要建立连接,都要重新编写代码。若将这部分内容做成Activex控件,以动态连接库的形式进行访问,则可大大提高编程的效率[7]。在企业的系统集成平台的开发中,这种应用将大大缩短系统集成平台的开发周期。2.2数据中间件原理本系统集成平台所采用的数据中间件是作为数据中间件系统统一技术平台而开发的,数据中间件包括:应用服务器(HSAS,在文中鉴称AS),应用路由器(HSAR,在文中简称AR),集中管理平台(HSAdmin)及客户端框架(HSClient)四部分。作为服务端系统的HSAS,HSAR运行于windows/linux/unix多种操作系统下,面向最终用户客户端系统的HSClient,HSAdmin运行于windows下。2.2.1、理解AS2.2.2、数据中间件采用的技术2.2.1、理解AS在恒生公司采用的数据中间件技术架构中,AS是业务逻辑的实现平台,位于数据存储层(数据库服务器)及通信接入层(AR)中间。如图2.1所示。2.2.1、理解ASAS的对象模型,主要描述了AS通用基础平台的组成,对行业个性化定制服务,一般采用功能组件的形式实现。2.2.1、理解ASAS的业务流程示意如图2.3所示。2.2.2、数据中间件采用的技术本文的数据中间件采用了以下技术,可以有效解决目前数据中间件在系统集成平台中存在的问题:(1)多平台数据库访问技术,支持在不同操作系统(windows,linux,unix)下,以统一的接口访问不同的数据库(oracle,mssqlserver,Sybase,db2)。(2)分布式内存数据库技术,支持大容量内存数据库(1G以上)缓存数据,实现多点之间的缓存同步。(3)中间件集群,中间件网络中的任何逻辑节点都可以由多个物理节点以群组方式实现集群,通过集群防止单点故障、实现负载均衡及处理能力的线性扩展。(4)应用路由技术,中间件可以组成复杂的网络拓朴结构,根据应用数据的特征,实现高效的应用路由(数据转发)。(5)全面应用数字证书技术,通过数字证书保证数据通信通道安全性和不可抵赖性;通过数据签名保护系统的各类组件及配置文件免遭非法修改。(6)集中式应用网管技术,通过集中的应用网管平台,实现对整个中间件网络的统一规划、系统部署、软件版本管理和运行监管。(7)面向组件的设计技术,中间件的各环节均采用面向组件的小核心设计模式,确保系统的可扩展性与可维护性。2.3数据中间件的选型根据数据中间件的类型和各自采用的技术,恒生公司系统集成平台所采用的数据中间件是采用OLEDB,以XML数据交换格式为基础的数据中间件:(1)常见的数据中间件有以下几种:ODBC、JDBC、OLEDB。常被戏称为ODBC的“大哥”,它定义了一个数据访问服务器的集合,通过这些服务器可以很容易地连接到任意数目的数据源。这样,开发者就可以把多种不同的数据源作为单一的虚拟数据库来管理。OLEDB允许使用标准的COM接口访问数据。(2)在数据中间件的发展中,有两个主要的技术发展对数据中间件起着重要的影响。它们是纯Java开发和以XML作为企业间和因特网的数据交换格式。XML作为一种用于企业间和企业内信息交换的de.facto标准出现。许多机构正大量投资,以实现各种应用系统间的无缝信息交换。这为基于XML的数据中间件开发商带来了机遇和挑战。2.4数据中间件的通用性与专用性企业的新一带的系统集成平台的重要使命,就是加快应用的开发时间和部署时间,提高商业的敏捷度。数据中间件具有融合性、集成性、面向业务、可扩张性、客户需求个性化、跨平台性和技术平台无关性等特点,具备使原先的单纯管理(信息孤岛)转向统一管理的能力。作为专门开发的数据中间件,AS在通用性与专用性两方面,提供了多层次的服务。2.4.1、通用基础平台上提供三个层次的服务2.4.2、个性化定制提供三个服务2.4.1、通用基础平台上提供三个层次的服务恒生公司系统集成平台所采用的数据中间件在通用基础平台方面,提供了如下三个层次的服务:(1)数据访问服务层DataServices提供对关系式数据库、平面文件系统、LDAP等数据存储的访问封装;尤其重要的是对上述数据的数据缓存及缓存同步的封装。(2)通用基础服务层BaseServices通用基础服务提供在各类行业应用系统中有必须有的通用服务,包括日志服务、配置服务、消息通信服务、远程调用服务(非阻塞子服务调用)、安全服务等。(3)高级关键服务层AdvanceServices提供基于上述两层服务构建的更高层次的服务,如业务脚本引擎、状态管理服务(会话、分页查询缓存、计时器、主动任务)、文件上传与下载、集中式应用网管支持等。2.4.2、个性化定制提供三个服务恒生公司系统集成平台所采用的数据中间件在通用平台的基础上,提供了如下三个层次的服务:(1)用户认证服务随着系统集成平台的集中趋势,要求对用户信息进行统一管理;即时数据的主动推送服务。(2)即时信息服务结合实际应用的复杂性,支持多服务器的即时信息服务,可以通过即时信息服务,为公司用户提供最新的资讯即时推送等服务。如系统集成平台中系统管理子系统,需要知道系统用户认证状况,系统日志状况等服务。系统管理子系统的即时信息服务模型如图2.4所示。图2.4即时信息服务模型2.5数据中间件的特点恒生公司系统集成平台采用的数据中间件具有以下几个方面的特点:1、提供高效性2、提供可扩展性3、提供安全可靠性保证4、提供可维护性5、业务逻辑的实现特点1、提供高效性数据中间件提供的高效性有效预防了在系统集成平台中可能会出现的性能瓶颈问题:(1)在系统架构各层次上预防性能瓶颈,数据库层动态透明扩展,使用按逻辑名访问的数据库连接池;AR/AS成组配置。(2)数据缓存,应用服务器缓存不常变化的数据,应用服务器缓存查询频率高的数据,客户端缓存个性化数据。(3)通信机制的改进,促进业务流程的转变,从而提升性能,以主动推送替换请求应答,从而减少对数据库的查询频率,以业务会话的方式,用有状态的服务替换无状态服务,减轻数据库处理压力,以并发子服务替换阻塞的函数调用,提升系统并发吞吐能力。(4)先进的应用路由算法,保证关键业务的及时传送与处理。2、提供可扩展性数据中间件提供的扩展性能确保了系统集成平台中数据存储能力的线性扩展。(1)性能的线性扩展通过堆叠低成本AR/AS,确保通信能力,与业务处理能力线性扩展,通过支持业务逻辑与物理数据库的分离,确保数据库数据存储能力的线性扩展。(2)面向组件的设计应用服务器通过动态加载的功能组件扩展应用业务能力,通过动态加载的基础服务组件,扩展AS可共用的服务组件,提升公共服务,通过动态加载的命令组件,扩展对AS的管理能力,通过动态加载的数据库驱动组件,扩展AS的数据库访问能力。应用路由通过加载不同的加解密组件,保证通信安全,通过加载不同的压缩算法组件,保证通信能力,通过加载不同的桥接组件,保证专用中间件与其他系统的互连互通。客户端框架通过客户端界面组件,实现不同业务的用户界面,通过加载客户端插件,扩展框架本身的处理能力。3、提供安全可靠性保证数据中间件采用标准的数字证书应用,提供标准化的系统安全保证:身份认证与通道安全。合理的容错冗余机制(AR/AS成组配置),提供可靠性保证。有效解决了系统集成平台的安全机制问题。4、提供可维护性数据中间件提供客户端开发工具,降低开发维护难度,方便用户进行个性化二次开发,提供统一的集中管理界面,方便用户在任何位置接入,即可对整个中间件网络进行规划、部署、监控;AR/AS组按组名配置,自动进行名字解析,简化系统配置;统一的在线管理接口设计,统一的日志记录设计,也确保了系统的可维护性;在开发管理上,面向组件、面向接口的设计和开发,采用先进的文档生成工具,保证代码与文档的一致性和可读性,确保系统的可维护性。采用自动测试工具,提高测试效率和测试覆盖率。数据中间件的这种特性为系统集成平台的开发提供了快捷,方便的开发方式,大大减短了系统集成平台的开发周期,降低了系统集成平台的开发成本,有效解决了目前企业系统集成平台存在的开发周期太长的问题。5、业务逻辑的实现特点数据中间件支持以统一的接口调用不同数据库的存储过程,同时也充分支持在AS上实现业务逻辑。目前主流系统集成平台大量使用存储过程实现业务逻辑,从而导致业务逻辑与数据严格绑定,数据库移植困难,昂贵的数据库服务器成为性能瓶颈。将业务逻辑前移到AS上实现,可以减轻数据库服务器压力,使同样档次的服务器可以支持更大的交易容量;由于AS的运行硬件平台相对低廉,可以通过成组配置低成本扩展处理性能。更重要的是,业务逻辑前移后,可以实现系统集成平台的业务逻辑与数据物理位置的无关性,从而使数据库服务器的分割与扩展更加灵活、透明。第三章数据中间件在恒生系统集成平台中的应用3.1目标用户3.2系统总体设计原则和规划3.3人力资源子系统的数据集成3.4客户服务子系统的数据集成3.5在系统集成平台中的数据集成3.6数据中间件在系统集成平台中的配置管理3.1目标用户对目标用户进行分析是系统需求分析的第一步,恒生公司系统集成平台的目标用户分成如下几种:1、恒生公司的内部员工2、恒生公司的产品客户3、系统管理和运行维护人员4、公司领导决策层5、恒生公司中的其他的应用系统3.2系统总体设计原则和规划恒生公司的系统集成平台应该具备易用性、可扩展性、开放性和实用性等一系列要素,并且功能齐全,在充分调研的基础上尽量把各种用户、各类业务的合理需求覆盖进去,能满足现在以及将来可能会有的各种服务需求;站在使用者的角度去考虑问题,从用户的使用习惯方便来设计系统,而不应单从计算机实现的方便性来考虑问题,要真正使用户感到一致、简洁、方便、快速;系统在设计时应有合理的模块结构,做到层次清晰,设计风格统一,使系统可调试性良好,具有很好的稳定性;系统在设计时应充分考虑系统的可扩充性,尽量将系统抽象化、参数化,使系统尽可能地应付各种业务变化,便于加入各种新的业务需求。公司系统集成平台通过人力资源子系统,客户服务子系统等多个子系统模块,集成多方用户信息,形成完整的管理信息数据源,进行系统化、规范化和网络化管理,在公司现有条件下实现最大限度共享。为公司决策层对企业的发展状况和方向决策提供完整数据分析。在采用先进的系统整体架构基础上,将公司的系统集成平台划分为多个子系统。如图3.1所示。图3.1恒生公司管理系统结构图图3.2恒生公司系统集成平台逻辑结构简图公司的系统集成平台通过整合不同的子系统信息数据源,并加工处理相关信息和业务流程,按照需求返回给用户。恒生公司系统集成平台数据逻辑架构如图3.2所示。3.3人力资源子系统的数据集成3.3.1人力资源信息系统现状与需求3.3.2人力资源系统的结构模块3.3.3资源系统的数据逻辑模型3.3.4人力资源系统的数据集成3.3.1人力资源信息系统现状与需求1、恒生公司目前的人力资源现状因公司发展的需要,部门和人员的规模不断增加,组织机构随之调整,优胜劣汰,人员流动率提高。岗位工资的改革要求加强对员工的考核力度,这就迫切要求对公司的人力资源信息进行系统化、规范化和网络化管理,最大限度实现信息共享。而原来是借助Excel、Word以及简单的人力资源信息库进行人工管理,一个员工的60余项属性数据都集中在一张表中,一方面是难于管理;另一方面存在着很多的不足,数据间一对一、一对多的关系普遍存在,数据的冗余度很大;数据的共享层次很低(只能通过文件复制)。不同格式的数据流以及不规范的数据库支持导致在统计的时候难以避免的会出现文档丢失、统计遗漏、统计工作量巨大等弊病。2、人力资源系统的需求‘以人为本’,人是企业的最大资源。需要对公司人力资源信息进行管理、查询和统计,其功能包括员工基本信息、劳动合同、岗位工资套改、员工离职、应聘、通讯录查询、系统管理等。建设人力资源的信息数据集成,进行系统化、规范化和网络化管理,在公司现有条件下实现最大限度共享。3.3.2人力资源系统的结构模块在充分了解了人力资源系统的现状和功能需求以后,规划设计了人力资源子系统的功能模块,如图3.3所示。3.3.3资源系统的数据逻辑模型人力资源系统的数据逻辑模型是成功运用数据中间件的关键,数据中间件根据人力资源系统的数据逻辑模型将分散的数据源集中。系统逻辑模型即数据流程图如图3.4在人力资源子系统中,数据流程的复杂是它的一个特点,将复杂的数据业务流程模块化,缩短开发时间,提高开发效率,也是本文采用的数据中间件当初设计的一大初衷。了解人力资源子系统的数据概念模型(E-R实体关系图),也是成功运用数据中间件将复杂数据源集成的关键之一。人力资源子系统的数据概念模型(E-R实体关系图)如图3.5所示。图3.4人力资源子系统数据流程图图3.5人力资源子系统的数据概念模型3.3.4人力资源系统的数据集成1、集成多样数据格式2、多样数据格式集成实现3、对不同数据源的集成4、不同数据源集成实现1、集成多样数据格式人力资源系统数据信息格式多种多样,如经常产生的公司人力资源现状分析报告(MSWord文档);公司的各层机构,各分公司的组织结构图;公司的特殊员工名单、工资报表(MSExcel文档);以及员工信息库等等,这些数据除了人力资源系统,很多数据都存储在其他不同的系统中。以上人力资源系统的数据源格式多样性的特点体现了数据中间件对数据源的支持:在同一框架下支持不同类型的信息源。能够接入结构化和非结构化的信息。能够同时支持数据库类型、文件系统等不同的类型。数据中间件对人力资源系统的数据流格式集成如图3.6所示。图3.6人力资源数据流格式集成2、多样数据格式集成实现以数据中间件对员工的工资信息和岗位信息的集成为例。数据集成后最终返回的客户端显示界面为WEB浏览器。员工每月的工资存贮在一张EXECL表中,而员工的岗位信息说明存放在数据表中,如图3.7所示。图3.7工资信息数据集成图3、对不同数据源的集成本系统采用的数据中间件采用了多平台数据库访问技术,所以支持在不同操作系统(windows,linux,unix)下,以统一的接口访问不同的数据库(oracle,mssqlserver,Sybase,db2)。数据中间件不仅将原来分布的人力资源数据信息集成在一起,同时,可以将其他各系统的数据集成在人力资源系统中体现。如领导对员工所有信息的查询。员工的花名册信息包含了员工在恒生公司的所有信息,这些信息分别存储在不同的数据库,不同的系统中,要对员工的全部信息进行检索,必须建立在数据中间件的逻辑集成上。员工的基本信息存放在人力资源的员工信息库中,劳动合同信息存放在劳动合同库中,员工的部门信息存放在部门信息库中,员工所负责跟踪的客户信息存放在客户服务系统中…要实现对一个员工所有信息的检索,其数据逻辑图如3.8所示。图3.8员工信息数据集成图4、不同数据源集成实现以上面的对员工所有数据集成查询为例。数据集成后最终返回的客户端显示界面为WEB浏览器。(1)声明中间件的接口类库:InterFace,FunctionClass,Midware,Midware.HS_CRM_ConnRemoting,CommonClass。InterFace是接口类,FunctionClass是接口调用的函数类,他们都是由中间件接口宏所生成。HsSecurity是中间件数据安全加密类,它能保证数据在通讯层之间安全,有效的传输。CommonClass是通用的函数类。在需要调用数据中间件的功能模块中,这几个类库是必须事先定义声明的,不然数据中间件将无法正确调用。(2)验证用户登陆是否有效if(Session["OperatorInfo"]==null)Response.Redirect("../Frame/TimeOut.aspx");elsethis.ChangeProductName("page");Operator=(TOperator)Session["OperatorInfo"];员工花名册的查询受权限的控制,如果用户信息无效,则重新返回一个界面,强制用户必须是一个有效用户。如果用户通过有效检验,则将用户信息返回给操作员信息。系统集成平台的菜单模块调用数据中间件集成验证操作员权限,返回给操作员允许操作的菜单模块。(3)员工花名册检索信息返回TFunctionfuncProc22010002=newTFunction()是建立了一个新的数据中间件功能函数组件。funcProc22010002.Execute(sRequest)!=1,根据提供的参数,中间件执行了一个查询过程,并且这个查询过程返回的是空值。StringReaderstrReader=newStringReader(funcProc22010002.HSCrmAnswer.GetXml()),因为中间件的数据查询过程是以xml的形式将数据流返回,所以首先,必须将数据流转换成.NET的数据集格式。dtAnswer=dsAnswer.Tables["Record"],将数据集赋给数据表才能在前台界面上显示出来,下面的代码函数,是将返回的值再调用给各个参数;如果查询失败,数据中间件会返回给用户出错的提示:MessageInfo.Add(funcProc22010001.iResult_no,funcProc22010001.sResult_info),然后再将返回的错误信息显示出来:Session["Info"]=MessageInfo;ShowMessage()。员工花名册信息检索发布的方式,这里采用的是WEB浏览与客户端共存的方式,员工信息查询是每个员工都必须用到的,所以通讯录的模块,采用了WEB发布的方式,但是根据用户不同的权限,所看到的员工的信息内容是不一样的,员工的权限数据被数据中间件集成验证用户信息时得到体现。人力资源系统的权限管理等一些管理模块,并非人人都用到,所以采用了客户端的方式,不管哪一种方式,数据中间件都提供了良好的接口性能。员工基本信息管理模块、劳动合同管理模块、岗位工资套改管理模块、员工离职管理模块、应聘管理模块、通讯录查询模块、系统管理模块的业务逻辑过程实现以后,被数据中间件加载在AS层,客户端通过模块的编号来调用存储在数据中间件中的这些逻辑过程来实现将各个不同子系统的数据集成。3.4客户服务子系统的数据集成1客户服务子系统的现状与需求2客户服务系统的模块划分和体系结构3客户服务子系统的数据集成1客户服务子系统的现状与需求正确了解客户服务子系统的需求是成功运用数据中间件进行数据集成的关键。恒生公司原来的客户维护工作是把维护结果、统计情况记录在Excel,Word文档中,这样在统计的时候难以避免的会出现文档丢失、统计遗漏、统计工作量巨大等弊端。而且没有规范化的数据库的支持,以后的查询分析工作无法完成,也难以把维护结果量化地作为程序改进的指标,更无从谈起为产品决策做铺垫。维护人员的维护记录丢失情况严重,维护量和维护结果得不到正确反映。同时公司内部客户管理、产品管理、合同管理等内容更需要规范化的运作,这样才能理顺公司内部信息,把客户、产品、市场、服务等各种信息有机地集合起来,通盘考虑,互相参考,互相制约,为公司的考核体制和公司经营决策提供必要的依据。2客户服务系统的模块划分和体系结构客户服务子系统用户对象包括:包括公司客户服务部、市场、合同管理部等部门的员工,同时对同一个工作流程可能有几个部门的员工都有权修改,如对客户基本信息上述几个部门都要修改。所以改子系统的模块组合总体上是按操作功能来划分的,即相关的业务流程组装在一起构成独立功能模块,存储在数据中间的AS层中。整个系统分为客户管理、产品管理、日常维护管理、修改及测试管理、代码管理、统计、系统管理等七个大的组合。其中的每一项是专门为某一类操作对象而设计的,而不完全是为某部门操作而设计,在数据中间件AS层里面,模块被独立存放,然后被系统根据权限来调用。如客户管理是对客户有关信息进行操作,它可能由不同类别的操作对象完成(如合管部和维护部等)。七大模块通过一些业务流程进行相互操作从而形成整个系统的活动,系统模型如图3.9所示。图3.9客户服务子系统模型结构图模块分类每个模块又分为若干个子模块,这些子模块可以分为四类,如图3.10。1、第一类纯输入模块,如客户信息输入、客户信息修改、产品信息输入/修改、日常维护输入/修改等,此类模块主要用于各业务部门向系统数据库中添加基础信息,这是系统进行统计分析的基础,也是系统运行的前提条件。2、第二类查询模块,如客户查询、产品/模块查询、维护情况查询、程序修改/测试查询等,这是丰富、延伸业务流程,总结业务经验、扩大应用的必须手段。3、第三类数据统计模块,包括产品汇总表、程序修改统计表、维护周报、产品日常维护情况统计表等等,为公司的相关业务提供参考依据,这是系统的高层次目标。4、第四类系统维护模块,包括数据库备份、数据表备份、查询结果与文件之间的倒入倒出等。这是维护系统正常运行所必须的工作。这些具体的功能模块,根据各各自的功能模块编号,数据中间件将他们封装在业务逻辑层里面,即加载在AS层里面。四类模块功能互补、相辅相成,与公司局域网和数据库一起构成整个客户服务管理系统的体系结构,如图3.10所示。图3.10客户服务子系统体系结构图3客户服务子系统的数据集成1、多样数据格式集成2、多种数据驱动集成和业务逻辑集成3、客服服务数据集成实现1、多样数据格式集成客户服务系统的数据信息格式多种多样,如客户的软件使用情况报告说明(MSWord文档);客户的日常维护统计报表(MSExcel文档);修订或者升级的新程序(文件形式)以及客户使用的产品信息库。以上客户服务系统的数据源格式多样性的特点体现了数据中间件对数据源的支持:在同一框架下支持不同类型的信息源。能够接入结构化和非结构化的信息。能够同时支持数据库类型、文件系统等不同的类型。数据中间件对客户服务系统的不同数据格式逻辑集成如图3.11所示。图3.11客户服务系统的数据格式集成2、多种数据驱动集成和业务逻辑集成客户管理、产品管理、日常维护管理、修改及测试管理、代码管理、统计、系统管理分别根据业务的需求大小,稳定性能要求使用了不同的数据库,如客户选用的产品众多,需要管理的客户产品信息量在百万以上,所以使用数据仓库。恒生公司系统集成平台使用的数据中间件采用多平台数据库访问技术,所以支持以统一的接口访问不同的数据库(oracle,mssqlserver,Sybase,db2),如图3.12。客户管理、产品管理、日常维护管理、修改及测试管理、代码管理、统计、系统管理的每个业务逻辑流程都有一个数据中间件的功能函数组件构成,在AS启动的时候自动加载,形成客户服务子系统的业务逻辑层,如图3.13。图3.12客户服务系统不同数据源集成图图3.13客户服务子系统的业务逻辑层3、客服服务数据集成实现有权限的客户从系统集成平台的互联网站系统登陆,取出客户服务子系统数据得到其平时的维护记录,个性化确定其要升级的程序补丁,返回互联网站系统。虽然请求的发出与答复都是在互联网站系统中,但是数据的系统集成是在客户服务系统的逻辑过程中实现。如图3.14所示。图3.14互联网站系统通过客服系统获取补丁程序逻辑图3.5在系统集成平台中的数据集成3.5.1系统用户权限认证的实现3.5.2定义数据集成接口3.5.1系统用户权限认证的实现恒生公司经过多年的发展,在系统集成平台出现以前多个系统并存,各个系统中都有一套独立的用户认证和管理机制,导致员工使用起来很不方便,不仅要记多个用户名和密码,而且登录地址和界面又是各不相同。恒生公司采用数据中间件集成各系统认证条件,对用户权限进行统一认证和管理,不再需要单独登陆各子系统,在系统集成平台中,权限的数据集成逻辑结构图3.15。图3.15用户权限认证逻辑图举例分析用户认证逻辑层是一个功能函数组件,包括两个业务逻辑过程:取登陆客服系统的条件。从人力资源系统的员工信息库检索数据。下面的代码说明取自用户信息模块,功能为集成用户信息:(1)要调用数据中间件,必须首先声明引用要调用的数据中间件类库文件:usingHandsome.CRM.HsBroker.InterFace;usingHandsome.CRM.HsBroker.FunctionClass;usingHandsome.CRM.HsSecurity;usingHandsome.CRM.HsBroker.CommonClass;InterFace是接口类,FunctionClass是接口调用的函数类,他们都是由中间件接口宏所生成。我们定义的接口其实都是在中间件的宏里面定义的,不需要在调用的程序当中另外声明。因为接口及其声明函数都是由中间件自动生成,所以我们在定义模块的功能时非常方便,只需要在宏中输入编号以及相应的字段,这样,大大减少了开发和维护的工作量,而且对于模块的扩充非常灵活和方便。HsSecurity是中间件数据安全加密类,它能保证数据在通讯层之间安全,有效的传输。CommonClass是通用的函数类,因为本中间件是专门为信息平台而开发的,所以预定义了很多功能函数,在这里实现,开程序开发中,只需要很简单的调用,大大节省了程序员的工作时间。(2)用模块接口调用数据中间件,并且返回数值说明是否取得用户信息:sRequest11010038sRequest38=newsRequest11010038();sRequest38.op_branch_no="0";其中sRequest是中间件特有的有效参数声明,如果参数无效则不必声明,中间件自己会判断。TFunctionfuncProc=newTFunction()是建立一个中间件特有的函数,funcProc.Execute(sRequest38)==1如果函数能够正确的执行,HSCrmAnswer是中间件执行数据操作过程以后所得到的数据集,它是基于标准的XML数据格式。funcProc.HSCrmAnswer.First()是将数据集当中的值读取出来,转化为可以赋给变量的值。branch_no=funcProc.HSCrmAnswer.FieldByName("branch_no").AsString().Trim();employee_no=funcProc.HSCrmAnswer.FieldByName("employee_no").AsString().Trim();password=funcProc.HSCrmAnswer.FieldByName("employee_password").AsString().Trim()是将刚才通过数据中间件读取出来的数据经过字符串类型的转换后赋给系统的参数变量,返回给前台界面用户。newStringReader(funcProc.HSCrmAnswer.GetXml())是将数据中间件的XML数据流读取出来到一个数据流集合中。dsAnswer.Tables["Record"]是将刚才读取到的数据流集合的值赋给数据表[Record]。dgAnswer.DataBind()将数据表绑定到前台的datagrid控件。this.tbLoginUser.Visible是设置前台用户界面的控件属性。如果调用数据中间件没有成功,或者调用数据中间件出错的话,系统会自动生成错误消息框提示,MessageInfo=newTMsgInfo("登录失败")。在数据中间件里面,也定义了很多错误的类型,如果中间件的数据查询过程没有被正确的执行,中间件会根据错误的类型返回给用户,MessageInfo.Add(funcProc.iResult_no,funcProc.sResult_info),大大节约了用户参与系统开发和维护的工作量。(3)验证用户信息的有效性,确定是否是有效用户。if(Session["OperatorInfo"]==null)elseOperator=(TOperator)Session["OperatorInfo"];(4)通过用户的有效性验证以后,用户信息放在SESSION里面,信息数据将一直保持在这个会话里,直到用户注销出去。用户信息的值将赋给系统菜单模块,系统的菜单模块调用数据中间件的菜单返回得到用户有权限执行的菜单项。系统集成平台通过用户信息调用数据中间件,数据中间件接收到用户信息,以后调用的接口参数以后,执行相应的业务逻辑过程,最后,由数据中间件返回菜单项内容。3.5.2定义数据集成接口在数据中间件的逻辑层里面,所有的对象都有其自己的对象属性ID,包括每个模块功能,即数据中间件的功能函数组件。功能函数组件是AS开发中最常见的组件,每个一个功能函数响应一个特定的功能号请求,完成该功能号相应的业务逻辑,对应系统集成平台中的每一个模块功能。功能函数组件将多个功能号的业务逻辑实现函数,按接口规范封装成一个动态库/共享库,由AS在启动时动态加载;由于AS是以多线程方式响应AR转发过来的客户端请求,所以某个功能的实现函数,必须保证线程安全。一个完整的功能函数组件,至少由以下三部分函数组成:1、能函数本身,不同的功能有不同的函数,一个组件内可以有多个功能函数。2、能组件注册函数,AS调用此函数,由此获得当前组件功能函数相关信息。3、能组件事件响应函数,AS在相应的事件发生时,调用相应的事件响应函数。1、系统集成平台的功能接口编号规则2、系统集成平台的功能接口生成3、系统集成平台的数据集成实现1、系统集成平台的功能接口编号规则系统集成平台中的所有的功能都必须用一个function_id来编号,function_id是一个int类型的字段,如前所述,int类型的数据长度是10位,有效表示长度为9位,我们确定function_id针对每个系统的定义如表3.2所示。表3.2function_id的字段定义表12345678910具体每一位的解释如下:第1、2位:系统集成平台预留。第3、4位:表示不同系统的类型,比如人力资源子系统,客户服务子系统系统等。第5、6位:表示某一系统的业务模块类型,比如认证模块,查询模块等。第7-10位:表示具体的对象号序列,每一个子系统的业务模块预留有9999个功能号,足已够用。2、系统集成平台的功能接口生成以客户服务子系统的验证用户登陆功能为例,根据上面的功能号编码规则定义功能号,以及参数的字段名称、类型,用数据中间件的宏自动生成功能接口文件:InterFace.cs,即自动生成和数据中间件匹配的功能函数接口文件,供程序调用数据中间件。自动生成的功能函数接口代码,以用户登陆为例,如下:TFunc1001001midproc=newTFunc1001001();midproc.sLanguage="2052";midproc.sRequest.branch_no=int.Parse(this.tbBranchNo.Text);midproc.sRequest.ip_address=Convert.ToString(Request.ServerVariables["remote_addr"]);midproc.sRequest.funcid=Convert.ToInt32(Const.Client_Op_Login);midproc.sRequest.operator_no=int.Parse(this.tbOperatorNo.Text);midproc.sRequest.password=(CrmSecurity.Encrypt(this.tbPassword.Text,CrmSecurity.CryptoKind.Rijndael)).ToCharArray();iErrorNo=midproc.Execute();sErrorMsg=midproc.sResult_info;if(iErrorNo!=0){al.Add("分公司:["+(string)(Session["BranchNo"])+"],用户号:["+(string)(Session["OperatorNo"])+"],登录失败!");al.Add("错误号:"+iErrorNo.ToString());al.Add("错误信息:"+sErrorMsg);returnfalse;}sBrokerName=midproc.Unpack.FieldByName("operator_name").AsString;Session["OpRight"]=midproc.Unpack.FieldByName("operator_rights").AsString.Trim();//初始化系统Session参数InitSession();//取得操作员对应的客服系统服务号Session["BrokerAccount"]=midproc.Unpack.FieldByName("relative_account").AsString;TFunc1001001midproc=newTFunc1001001()根据功能编号声明函数,branch_no,ip_address,funcid等这些表示接口参数的名称和类型,iErrorNo表示数据中间件执行出错的编号。3、系统集成平台的数据集成实现系统集成平台的数据集成实现是在数据中间件的业务逻辑过程中实现的。数据中间件里面AS的启动,加载了数据业务逻辑实现过程,每个具体的业务逻辑实现过程对应一个具体的对象号object_id,每一个功能组件函数的编号即功能号function_ic对应一个object_id,而一个function_id可能对应好几个object_id,因为一个功能组件可能含有多个业务逻辑的实现过程。如:从客户服务子系统中取出进入客户服务子系统的用户约束条件,再集成人力资源子系统的数据,这就是一个业务逻辑实现的过程。3.6数据中间件在系统集成平台中的配置管理数据中间件在系统集成平台中采用xml格式的标准配置,下面加以详细说明:3.6.1数据中间件AS网络连接配置3.6.2数据中间件的接口管理3.6.3数据中间件AS配置3.6.1数据中间件AS网络连接配置连接中间件的配置文件采用xml标准数据格式,自定义标签,更加灵活:(1)参数key="IP"是指定连接到数据中间件服务器的地址;参数key="Port"是指定连接到数据中间件的端口,这是和数据中间件的应用服务器是对应的,必须在数据中间件应用服务器上也指定连接的端口;参数key="Protocol"是指定连接用的协议,数据中间件采用TCP协议连接。(2)分别指定了连接中间件服务器的地址和端口。(3)11.22:33:44.55表示11天22小时33分钟44.55秒更新一次。输入格式有误时12小时更新一次。3.6.2数据中间件的接口管理数据中间件在系统集成平台中采用接口的标准化管理,下面加以详细说明。1、接口管理2、接口定义1、接口管理通过数据中间件内部管理接口,Admin客户端可以管理整个数据中间件网络上的所有中间件实例,如人力资源子系统和客户服务子系统的各功能模块。数据中间件内部管理接口是一个基于AR通信服务的协议接口,包类型为:内部请求、内部应答。内部管理请求功能号,采用面向对象的方式划分,AR/AS上的每个被管理对象有着统一分配的对象ID,每个对象可处理最多256个专门的管理功能号。2、接口定义数据中间件的接口定义工作全部在宏里面完成,非常快捷、方便,这也是基于本数据中间件开发一个非常显著的特点。以上面的用户信息模块个别属性为例,在excel表格中,定义模块编号和属性。如表3.3调用宏接口,会出现宏调用界面,如图3.16。3.3功能接口定义图3.16生成接口文件的宏调用界面举例分析会分别生成功能接口文件和功能类动态链接库,生成的功能类文件以人力资源子系统中的用户信息模块为例:namespaceHandsome.CRM.HsBroker.FunctionClass{//////取用户信息///publicsealedclassTFunc10000001:TFunction{privateHS_CRM_RequestHSCrmRequest;//////请求参数集///publicsRequest10000001sRequest;publicTFunc10000001():base(){sRequest=newsRequest10000001();}//////执行请求///源代码publicintExecute(){try{HSCrmRequest=newHS_CRM_Request();Marshal();HSCrmAnswer=newHS_CRM_Answer(f.Func(HSCrmRequest.GetRequest(Option.bEncrypt,Option.iEncryptType,Option.bCompress,Option.iCompressType)));iResult_no=HSCrmAnswer.ErrorNo;sResult_info=HSCrmAnswer.ErrorMsg;returniResult_no;}catch(HS_CRM_ConnRemotingExceptione){sResult_info=e.Message;r
/
本文档为【12_数据中间件在恒生系统集成平台中的应用】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索