基于AgileEAS.NET企业应用平台实现基于SOA架构的应用整合方案-开篇

 

开篇

        系统架构的文章,准备在这段时间好好的梳理和整理一下,然后发布基于AgileEAS.NET平台之上的企业级应用架构实践,结合具体的案例来说明AgileEAS.NET平

台之上如何进行系统的逻辑架构设计与物理架构设计,包括一些数据架构和运行架构,开发架构也是我们也会讲述。

        关于平台的功能介绍或者是开发案例和配置说明可以参考如下文章:

        [置顶]AgileEAS.NET平台开发Step By Step系列-药店系统-索引

        上述药店的代码是一个完整的方案,当然还包括SAAS方式的应用部署方式。我们后续等AgileEAS.NET5.0发布的时候,会跟大家介绍如何使用和配置SAAS应

用,当然目前关于药店系统的SAAS应用配置方式,在如下文章中找到

AgileEAS.NET平台视频会议培训第一辑-AgileEAS.NET平台介绍及药品系统的SAAS搭建演练

        通过上面的文章,我相信大家对平台有个感性的认识。目前不少的朋友提出了不少好的建议,目前平台没有提供可视化的配置工具,不少的朋友下载下去了之

后,不知道如何使用,这个问题的确是个比较头疼的问题。

         也许下面的步骤能够帮助到你。

    第一步:下载AgileEAS.NET平台最新版

                  点击下载

                  从上述地址打开,会看到如下下载内容

                  image,选择最新的源码下载。

    第二步:下载完毕后,解压文件,找到平台的基础数据库备份文件,还原数据库

         有不少的朋友,纠结在这里了,为啥,因为我们提供的数据库的还原方式太多了,你不知道如何是好了,呵呵,这一切,都是归于我们没有一个AgileEAS.

NET平台的配置管理工具,等到下一个版本AgileEAS.NET5.0我们将会提供该工具,通过可视化的配置界面,自动完成数据库的还原和相关配置文件的设置,即可实现

分布式与直连数据库的热切换。

         下载文件,解压缩后,看到如下的文件夹与文件列表:

          image文件及目录结构如上图。

          我们目前第一步,先把AgileEAS.NET平台的数据库给配置起来,那么药店系统的配置过程与平台的配置过程一样,如果您不会的话,我会表示,鸭梨很大的。

          下面我们就来看看具体的过程吧。

          1、找到“AgileEAS.NET平台-数据库备份”文件夹:

           image

           2、打开该文件夹后

           image

           3、我们这里以“数据库-备份文件”为例来说明,如何使用bak文件进行数据库的还原操作,我本来在之前的药店系统的数据库还原中说明了,但是还是有不少

的朋友,并不知道如何进行数据库的还原,所以我这里再次说下步骤。

           我这里以“SQL2005/2008”为例来说明:

           image

           然后点击“还原数据库”:

           image

           选择image文件夹内的文件。

           弹出的选择文件对话框,选择如下文件

           image

           点击确认后:

           image

           然后点击左侧菜单中的“选项”。

           image来设置还原数据库的物理存放路径及位置,数据库名称等,还包括数据库的还原设置选项。

           image

           务必保证:物理存放的路径存在,否则则会出现错误信息。我这里修改路径“D盘根目录”

           image

           点击“确定”后:

           image

           这样就完成了,数据库的还原操作了。我们可以刷新看看数据库实例中是否以存在“AgileEAS”:

           image

     第三步:配置AgileEAS.NET相关信息,为快速开发提供基础支撑。

           首先找到下载的“AgileEAS.NET4.0包”中的如下文件夹:

          image

          打开该文件夹后,请查找如下名称的.config文件:

          image 该配置文件是AgileEAS.NET快速开发平台的运行配置文件,如果没有该配置文件,那

么EAS.WinClient无法运行。我们这里使用vs2010打开来说明如何配置。

           image

          这样就好了,然后可以运行如下程序:

          image

          然后运行后,出现平台的登陆页面如下:

          image

          点击“确定”后即可进入AgileEAS.NET平台的运行管理界面:

          image

          这样就完成了,直连数据库方式的配置,后续,在我们进行SOA的集成方案时,我们会讲述基于平台之上的SOA集成方案的简易性,我们会把分布式的完整配

置过程,再详细的说明。

  本文大纲

           1、开篇

           2、本文大纲

           3、为什么要应用整合

           4、AgileEAS.NET平台的整合方案

 

为什么要应用整合    

         随着目前科技的发展,信息化技术的不断进步和成熟,从原来的早期的硬件编程,到C、C++到后来的高级语言和越来越多的优秀的编程语言的出现,一是提

高软件的生产力,二是加快科技的信息化普及步伐,目前不管是你所知道的还是你不知道的,都越来越和软件紧密耦合,原来我只知道眼前的看到和听到的,有很多

我们并不知道的东西,真的很多。    大伙都在讨论什么语言优秀的时候,其实,我也很想参与几句,但是我一般也不会表达什么,因为我知道,不管什么编程语言的

出现,不是为了取代某个语言,而是为了解决之前语言出现的问题或者是不便,他不是为了取代,而是为了更好的适应发展和需求的变化。每个语言都有他的优点和

缺点,我们应该客观,不应该因为自己所在的领域或者擅长的方面,就去从主观意识出发,去不客观的评价。

         最近,就有不少的朋友问道,如何解决企业的多种异构软件之间的整合问题,让我整理出企业内部的整合方案,相信这不是一个什么新的话题,早在上个世纪

末就已经有很多优秀的大师们提出了这些,随着21世纪以来,这方面的需求越来越强烈,话说这方面在大企业尤为明显,也非常的迫切。

         不少的企业的信息化程度很早,也很成熟,但是企业的成本和各方面的投入都是需要测算的,如果一个企业经常的更换软件,对企业来说成本太大,除非是逼不得已,一般都会是旧软件+新功能的新软件,这样的组合方式,那么新的问题又来了,旧软件更换的成本太大,回报不明显,新软件与旧软件之间如果独立,那么

可能对企业的发展和管理等各方面并不是有很大的价值,但是企业对新软件这部分的功能又必不可少。这时候就要去,旧系统的数据信息与新系统之间的数据信息必

须是共享的,那么当然有这方面动作的企业,都会考虑如何实现新旧系统之间集成,那么EAI这个名称,也是早早的就出现了。但是这个词,渐渐的被SOA这个名次

给取代了,SOA最近甚是火热。我也来掺合参合。

        对企业来说最麻烦的就是企业内部的异构系统太多,整合企业内部的异构系统,如何实现信息共享,消除信息孤岛,这是个迫切要解决的问题,那么如何去做,

采用什么样的方案,以下是最简单的方案,不需要使用任何的平台。

        image

        上图是不同的异构系统,他们都有各自的数据库,那么如果实现集成,可以通过数据库来实现,实现数据库之间的数据库同步,但是这个最容易,也是成本最低

的方案,但是这个方案并不好,不但每个数据库的信息都对外暴露,安全是个问题,而且数据多份,同步失败的可能因素太多,而且这样数据的耦合性太高,不好不

好。所以慢慢的衍生出如下的集成方案:

        image

        从上图,我们可以看出来,如果应用系统与其他的应用系统交互,那么必须通过应用服务总线来完成数据的交互与通信,例如CRM系统要访问MIS系统,那么必

须通过MIS系统提供的服务来访问,这个就有点类似接口或者webservice调用方式。

        一般来说,异构系统的集成方案,无非就是二种,一种是接口调用和通过webservice协议的方式来完成,关于底层的数据通信方式,一般就是XML的方式,当然

如果是企业内部,可能通过文本流的形式,也是没有什么问题,关键是看不同的异构系统的构建方案,例如如果是使用不同的开发语言和开发工具,那么可能通过协

议的方式来传递,会比较容易,因为目前主流和大部分的开发语言,都是支持webservice服务的调用方式的。可能使用接口调用的方式,会因为不同的语言平台,使

用起来有限制。总之:具体问题具体分析,选择最优方式。

        上面我们只是简述,后续我们后面的更多的文章,将会就实现的细节,来一一的说明,如何实现异构系统的集成。

AgileEAS.NET的整合方案

         关于更多的AgileEAS.NET平台的相关的介绍和功能说明请参考官方的博客:

         官方网站

         AgileEAS.NET平台是基于SOA架构思想作为架构范式,基于.NET平台实现的SOA平台,该平台提供了强大的开发工具与应用部署支撑,提供了丰富的中间件,

通过这些中间件来实现应用的集成和快速开发。      AgileEAS.NET平台内置了WCF的全部消息方式。并且将这些通信方式结合平台的应用配置来实现分布式与异构系

统间的通信。

        下面我们就来说说基于AgileEAS.NET平台之上的SOA整合方案。

        我们还是以上图为例来说明,使用AgileEAS.NET平台集成的结构图:

        image该图适应于基于.NET平台上的应用集成,可以理解为接口的集成,如果是不同语言开发的系统,

那么采用如下的集成方式。

        image上图是基于webservice协议上的集成,根据应用和场景的不同来进行集

成。相比第二种方式,第一种方案,基于接口的集成的方案会有很多的局限性,我们指导.NET开发的应用,必须安装.NET FrameWork后才能运行,那么如果我们开

发成DLL,通过接口形式提供给VB,PB,Delphi或者是C++等调用时就会是个麻烦事,比如和java的应用集成时,如果java的应用运行在UNIX环境下,那么就没办法完成

消息通信服务。根据具体的应用场景来决定。

        AgileEAS.NET平台提供了一种集成快速开发的方式,通过从AgileEAS.NET平台提供的服务对象继承,通过AgileEAS.NET平台会自动将该自定义服务对象,发布成

webservice服务对象,这样无疑是加快了开发,同时在.NET平台之上的不同应用系统间的集成变得容易,通过服务组件间的调用,来实现不同系统间的交互。

        并且,服务对象的开发方式与平时我们书写的代码风格完全相同,可通过平台提供的快速开发工具来生成相关的代码,大大提供了异构系统间的应用集成,提高

了开发的效率,降低了集成的风险和成本。

       代码的写法如下:

       image 

        后续代码,我们来说明下,举个简单的例子来说明如何集成,我们会通过我们最近的一次客户的集成经历来说明如何实现不同应用间的集成,我们是通过.NET

下的应用与PB的应用程序间的集成,我们选择的是最简单的集成方案,通过数据库的方式来集成,后续展示通过webservice和接口方式的集成。

相关信息

       关于更多的系统架构方面的知识,我已建立了交流群,相关资料会第一时间在群里分享,欢迎大家入群互相学习交流:

       微信群:(扫码入群-名额有限)                                                                                              

       

posted @ 2011-11-05 13:28 何戈洲 阅读(...) 评论(...) 编辑 收藏