EAI(企业应用集成)将进程、软件、标准和硬件联合起来,在两个或更多的企业系统之间实现无缝集成,使它们就像一个整体一样。尽管EAI常常表现为对一个商业实体(例如一家公司)的信息系统进行业务应用集成,但当在多个企业系统之间进行商务交易的时候,EAI也表现为不同公司实体之间的企业系统集成,例如B2B的电子商务。
EAI的简要历史
在20世纪60年代到70年代期间,企业应用大多是用来替代重复性劳动的一些简单设计。当时并没有考虑到企业数据的集成,惟一的目标就是用计算机代替一些孤立的、体力性质的工作环节。
到了20世纪80年代,有些公司开始意识到应用集成的价值和必要性。这是一 种挑战,很多公司的技术人员都试图在企业系统整体概念的指导下对已经存在的应用进行重新设计,以便让它们集成在一起。然而这种努力收效甚微。20世纪90年代,ERP应用开始流行的时候,同时也要求它们能够支持已经存在的应用和数据,这就必须引入EAI。所以说,EAI的发展是合乎逻辑的,企 业利用客户机/服务器技术实现了分布应用,但后来认识到连接多样业务处理的好处。其他推动EAI市场的因素还有应用软件包的发展、针对Y2K问题的应用、供应链管理(B2B集成)、流式业务处理以及Web应用集成。
EAI的内容EAI包括的内容很复杂,涉及到结构、硬件、软件以及流程等企业系统的各个层面。
● 业务过程集成 当对业务过程进行集成的时候,企业必须在各种业务系统中定义、授权和管理各种业务信息的交换,以便改进操作、减少成本、提高响应速度。业务过程集成包括业务管理、进程模拟以及综合任务、流程、组 织和进出信息的工作流,还包括业务处理中每一步都需要的工具。
● 应用集成 为两个应用中的数据和函数提供接近实时的集成。在一些B2B 集成中用来实现CRM系统与企业后端应用和Web的集成,构建能够充分利用多个业务系统资源的电子商务网站。
● 数据集成 为了完成应用集成和业务过程集成,必须首先解决数据和数据库的集成问题。在集成之前,必须首先对数据进行标识并编成目录,另外还要确定元数据模型。这三步完成以后,数据才能在数据库系统中分布和共享。
● 集成的标准 要实现完全的数据集成,必须首先选择数据的标准格式。集 成的标准化促成了信息和业务数据的共享和分布,构成了企业应用集成的核心,包括COM+/DCOM、CORBA、EDI、JavaRMI和XML。
● 平台集成 要实现系统的集成,底层的结构、软件、硬件以及异构网络的特殊需求都必须得到集成。平台集成处理一些过程和工具,以保证这些系统进行快速安全的通信。
EAI实施10条准则准则1:Align Plans to Strategy
制定短期计划和长期策略准则2:Consolidate First, Integrate Second
联合为先,整合在后准则3:Use a process-driven approach to develop end-to-end solutions.
采用流程驱动方式来开发端到端解决方案准则4:Establish clear lines of ownership and accountability.
确定明晰的属主和责任准则5:Enforce EAI architecture
明确EAI体系结构准则6:Mandate integration requirements for new applications
在新应用中考虑整合需求准则7:Develop a common representation of data and process.
建立数据和过程的通用表示准则8:Test early and often
早测试,常测试准则9:Re-factor interfaces constantly so they never become legacy
经常重构系统接口,防止过时准则10:Evolve business practices through experimentation.通过实践演化业务流程
说到在SharePoint Server中整合其他应用系统,其实是一个挺复杂的问题,需要考量多方面的问题,并在各种选项中做出最佳的选择。在这篇blog中,将SharePoint Server在整合这方面的方法比较系统的描述一下,希望对大家有帮助。这篇blog里面说的SharePoint Server是泛指,并不针对特定的SharePoint Portal Server 2003或Office SharePoint Server 2007。看到这里,可能会有朋友问了,整合应用系统?这不是BizTalk Server应该干的活吗?是的,EAI(企业应用集成)正是BizTalk Server的强项。但是首先,BizTalk Server更擅长的在应用层对各个应用和系统进行整合,也就是说,BizTalk Server和各个系统打交道的方式大多数是通过这些系统的各种API,而在很多场合我们除了在应用层需要对各个系统进行整合之外,我们还希望在界面上对各个应用也能有整合,也即展现层的整合,展现层的整合能够让用户在一个统一的界面上访问和操作多个应用系统,看到各个系统中的信息。对于展现层的整合,我们同样需要有一个基于Web的平台来干这个,而这就是SharePoint Server的强项了。
其次,很多时候我们可能不一定需要BizTalk Server这样的“重型武器”,在文章的后面我们会看到,只有在某些复杂的场合,更确切的说,是客户已经有了较多的应用,而且各个应用间的确有互联、整合、集成的需求,才有BizTalk Server的用武之地。
一般,我们将SharePoint Server的应用整合方式分为下面的四种(下面的图片摘自PPT,所以非常抱歉比较大):
第一种:基于Web界面的整合
这种方式简单来说,就是直接把其他系统的Web界面直接拿过来,放到SharePoint Server的页面上去,让用户可以在SharePoint这一个界面里面能够访问到其他系统。
这种方式是几种整合方式中最简单的一种,但是简单并不意味着不实用,有的时候,基于Web界面的整合可能就是最好,也是最省事的方法。使用这个方法有一个先决条件,就是要整合的应用必须有Web展现,否则就无从谈起了,幸好现在是一个Web大行其道的年代,几乎大部分企业应用系统都是通过Web方式展现给客户的。
SharePoint Portal Server 2003中已经提供了两个现成的Web Part,来帮助我们完成基于Web界面的整合。第一个是网页查看器Web Part,给它一个URL,它能把指定的页面以IFrame的方式直接嵌到SharePoint页面中。另外一个是网页截取器Web Part,它能让我们指定一个网页中的一个部分,然后它会自动把这个部分截取下来,显示在SharePoint页面中,而且我们还能指定一个更新周期,这个Web Part会隔一段时间就检测指定的网页是否发生的变化,然后更新要显示的网页部分块。
当然,除了使用SharePoint自带的Web Part之外,我们还可以用自己的方式,来进行这种进行Web界面的整合。只要你的方法基本原理是将另外一个应用系统的Web界面弄到SharePoint里面,那么就应该属于这第一种方法。
使用基于Web界面的整合可能遇到的一大挑战就是单点登录(SSO),因为要整合的那个Web应用很可能是需要登录后才能访问的,而用户显然不希望在SharePoint里面查看另外一个应用系统的信息时,还需要再登录一次,所以我们需要帮助用户来自动完成这个登录过程。
第二种:基于数据源的整合
由于某种原因,比如要整合的系统根本就没有Web展现,或者SSO不好做,难以整合,同时用户也只需要能够在SharePoint里面看到那个系统里面的数据而已,并不需要做什么交互操作(比如,客户只需要看到上个月的销售数据报表,或者客户信息表),而且我们也可以直接访问到要整合的系统的数据库,那么用这第二种方法也许是一个不错的主意。
基于数据源的整合,就是直接去连接要整合系统的数据库,然后利用某些Web Part将一个表、或者多个表的数据直接展现出来。SharePoint提供了现成了Web Part,允许我们使用ODBC方式去连接任何数据库,然后把数据展现在SharePoint页面上。当然,自己做一个定制的展现数据库数据的Web Part也并不是一件难事。
这种方法的一个重要好处是,你根本不需要考虑那个应用系统是怎么做的、如何做的、接口是什么,只要你能访问到它的数据库,就能搞定。
基于数据源的整合有一个重要的前提条件,就是你知道要整合的系统数据库在哪、如何访问,以及了解它的数据库结构(数据字典),就是说,你要清楚的知道,应该将哪个Database的哪个Table的哪些Field的数据展现出来,才是客户想看到的数据。
第三种:点对点的整合
点对点的整合是指,让开发人员开发出定制的Web Part,在Web Part的代码里面,访问要整合的系统的特定的API(可能是各种类型的,比如Web Service,或者对象模型),以在Web Part里面来完成某件任务。由于可能需要针对每一个应用系统,甚至应用系统中的每一项功能,来开发出一个对应的Web Part,所以这种方法被成为点对点的方法。
点对点整合可以带来最大的灵活性和最大的功能性,因为只要其他的应用系统带有相应的接口,我们就可以在Web Part里面完成任意的功能:从其他应用系统中获取数据、与其他应用系统进行交互操作,等等。
但这种方法也有自己的前提。首先,要整合的应用系统必须有相应的接口,如果面对一个根本就没有考虑过被第三方访问,根本没有设计任何API的应用,那就没法子了(这种类型的应用系统并不少见!)。其次,如果有API,Web Part开发人员还需要了解这些API,知道怎么调用,调用哪个才是自己需要的,有很多应用系统是非常复杂的,提供了庞大繁杂的API,如果不熟悉这些应用系统的接口,学习成本还是不小的。
点对点整合的一个典型例子就是专门访问SAP系统的SAP iView Web Part Toolkit,另外,对于如何将SAP整合到SharePoint里面,这个网站是非常有价值的
第四种:应用集成方式的整合
终于,在面对最复杂的场景,我们要用上BizTalk Server这样的EAI服务器了。如果我们需要整合多个系统,比如在一个Web Part里面能够操作多个系统按照某个流程完成某项任务,那么使用这种整合方式应该是最合适的了。
在这种方式里面,我们需要有一台专门的应用集成与整合服务器,通过它与各个应用系统打交道,在它上面完成业务流程的编制和创建,然后通过在Web Part中调用这个应用集成与整合服务器的接口,来完成整合功能。
OK,现在,我就将最常见的四种整合方式介绍完了,最后,我想让大家了解一下Office SharePoint Server 2007中提供的一个新的,用于进行应用整合的组件:Business Data Catalog。
上面的图片(同样摘自某张PPT,所以再次抱歉图片较大)展示了BDC的整体架构和作用。BDC提供了一种中间层,在这个中间层里面,我们可以定义出数据的Metadata,然后BDC会根据Metadata,从后台的应用系统中将相应的数据抽取上来,以供SharePoint Server使用。
在BDC中,我们首先可以定义Application,Application基本对应于应用系统,然后,我们可以在一个Application中定义多个Entity(实体,比如“客户”、“员工”),基于Entity,我们可以再定义它的属性、方法、动作。将这些Metadata定义好了之后,BDC就能够透过两种方式根据Metadata从后端应用系统中得到这些Entity的数据:一种是使用ADO.NET直接去访问数据库,一种是去访问后端应用系统的Web Service接口。
BDC从后端应用系统中将定义好的数据抽取上来之后,SharePoint Server 2007中有自带的Web Part能够直接显示这些数据,而且可以对这些数据进行过滤查询等等,另外,SharePoint Server 2007的搜索引擎可以将BDC数据作为内容源进行检索,这样,SharePoint Server 2007无形中就实现了对业务系统的数据搜索功能了。当然,BDC也提供了完善的API,让我们能够在自己的应用或者Web Part里面访问BDC中抽取出来的数据,或者将更新的数据写回到后端应用系统中。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)