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

为什么80%的码农都做不了架构师?>>>   hot3.png

 

开篇

        系统架构的文章,准备在这段时间好好的梳理和整理一下,然后发布基于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和接口方式的集成。

相关信息

image_thumb8_thumb_thumb_thumb

下载信息。

如果您在使用AgileEAS.NET开发平台中有什么问题,请使用如下几种联系方式或者沟通方式。

1、电话-邮箱方式:

何戈洲:hegezhou_hot@163.com 手机:18691480181 博客:http://www.cnblogs.com/hegezhou_hot/

2、QQ交流:

308961614 -网名:H.O.T

3、QQ交流群:

185074255 新建

 

AgileEAS.NET快速开发平台下载

download 请点击图片下载。


原文链接: http://www.cnblogs.com/hegezhou_hot/archive/2011/11/05/2236999.html

转载于:https://my.oschina.net/dtec/blog/43702

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/548592.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

修改Visual Studio类模板注释信息

背景资料 在开发过程中,经常需要给新增的类和接口添加 public 修饰符和一些相关的注释信息,这个工作是机械而且枯燥的,这个可以通过修改VS自带的类模板来实现。 1、首先找到VS的安装目录,例如如下目录: D:\Program F…

CGDC

为什么80%的码农都做不了架构师?>>> 听了两天, eve online的讲服务器不错,涉猎较少,所以只能谈下当时记得东西。 eve服务器用stackless python来编程,由于分布式做的比较好,可以通过扩展硬件来…

SQLPLUS 使用的一些技巧

为什么80%的码农都做不了架构师?>>> SQLPLUS 使用的一些技巧 在ORACLE的维护过程中,目前ORACLE有很多易用的客户端 工具,如pl sql、delveloer、TOAD,但作为 数据库 管理员也需要经常和SQLPLUS 打交道,一些…

RMAN 还原与恢复

为什么80%的码农都做不了架构师?>>> -- -- RMAN 还原与恢复 -- 在Oracle中,三大文件即控制文件,数据文件,日志文件的丢失与破坏都将需要使用还原或恢复来使数据库正常化。而RMAN还原与恢复 是实现数据库完整性、可靠性…

在阿里云服务器Windows Server 2012r IIS 上部署.NET网站

本文转载自这篇文章,转载记录一下,万一以后要用到可以作为参考。 1、添加站点 首先创建连接池,如下图所示: 然后添加网站,如下图所示: 添加网站这里,需要注意上图中这个画框的这个位置&#xf…

ASP.NET MVC 利用AreaRegistration进行Area区域模块化开发

背景资料: 随着业务的需要,结构需求越来越多,View文件夹下的文件夹也越来越多,又或者需要更改结构的页面路径,另外可能是多个人合作开发,有多个WEB项目需要合并在一个网站中访问。 用Areas可以解决上述问…

【吼吼睡cocos2d学习笔记】第四章 - 第一个游戏

来让我们开始第一个游戏的制作。 这个过程可能有点艰辛,但是只要坚持下来,第一个游戏往往能给我们带来巨大的收益(当然这个收益不是经济上的:-P) 先上截图: iPad中: 游戏构思 角色 在屏幕的上方,有一定数量…

如何从iPhone / iPod Touch / iPad连接

如何从iPhone / iPod Touch / iPad连接 本文将介绍从iPhone / iPod Touch / iPad等设备连接到已启用L2TP over IPsec功能的PacketiX 服务器的方法。 操作前需要按照“在服务器上启用IPsec功能”的提示,在服务器端进行设置。如何增加一个连接设置 首先,你…

POJ 3250 Bad Hair Day【单调队列】

Description Some of Farmer JohnsNcows (1 ≤N≤ 80,000) are having a bad hair day! Since each cow is self-conscious about her messy hairstyle, FJ wants to count the number of other cows that can see the top of other cows heads. Each cowihas a specified heig…

2012年3月编程语言排行榜:JavaScript超越Perl和Python

2012年3月编程语言排行榜:JavaScript超越Perl和Python TIOBE 于昨日公布了2012年3月编程语言指数排行榜。排名前三的语言是:Java、C 和 C#。 在本月排行榜中,JavaScript上升至第8位。由于网站越来越依赖JavaScript,因此JS的流行程…

ASP.NET MVC 多语言开发简单案例

首先,新建一个空的MVC项目,增加一个名叫Language的文件夹用于存放资源文件,如下图所示: 在Language文件夹中,增加两个资源文件,分别用于存储中文和英文,如下图所示: 如何添加资源文件…

C#中使用NPIO实现导入导出Excel简单操作

本文介绍了在Winform中使用NPOI(PIO项目下的.Net组件)来操作Excel文件,而无需安装Office。 要实现的效果是这样的: 1、导出Excel:根据指定datatable,弹出导出窗口,用户自定义路径、导出名,然后导出。 2、…

3招seo技巧让你把关键词做进百度前三

这个技巧也没有什么,说白了就是个百度点击原理!当然,这个标题也就是一个标题党,但是的确能让你的排名靠前,因为我之前测试过,我做过一个词,有10个人,点击一下,隔天就第一…

ASP.NET MVC 中删除无用视图引擎

默认情况下,ASP.NET MVC 同时支持 WebForm 和 Razor 引擎,而我们通常在同一个项目中只用到了一种视图引擎,如Razor,那么我们就移除没有使用的视图引擎,提高View视图的检索效率。在没有删除WebForm引擎之前,…

VRRP在生产环境中的应用

该案例是笔者做过的一个网络改造项目,同时为了保密只介绍VRRP方面的配置以及要注意的事项。 该方案时某医院核心网络,通过两台S8610走VRRP(和网关相连)。网络拓扑如下 S8610_1配置 en config hostname S8610_1 enable sec ******* line vty 0 4 pass ***…

隐藏ASP.NET MVC版本

默认情况下,ASP.NET MVC网站会把版本号提供给浏览器,如下图所示: 只需在Global.asax中添加一句代码即可: MvcHandler.DisableMvcResponseHeader true; 如下图所示: protected void Application_Start(){MvcHandler.…

ASP.NET MVC 使用Log4Net记录系统运行中问题

log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。 在NuGet程序包中下载log4Net组件,如下图所示: 打开Web.config文件,在&…

ASP.NET MVC 使用Log4Net在不同目录中记录不同类型的日志

在上一篇文章中,实现了利用Log4Net记录系统中出现的问题。如果同时还需要记录用户操作的监控日志,就需要一些修改 修改Web.Cofig配置文件 ,增加一个logger节点和appender节点,用于监控操作日志配置,并且设置不同的日志文件路径&am…

简明python教程 --C++程序员的视角(七):异常

当你的程序中出现某些 异常的 状况的时候,异常就发生了。例如,当你想要读某个文件的时候,而那个文件不存在。或者在程序运行的时候,你不小心把它删除了。上述这些情况可以使用异常来处理。 假如你的程序中有一些无效的语句&#x…

【流媒體】Android 实时视频采集—Camera预览采集

【流媒體】Android 实时视频采集—Cameara预览采集 SkySeraph Mar 26th 2012 SZ Email:skyseraph00163.com 更多精彩请直接访问SkySeraph个人站点:www.skyseraph.com 流媒体系列: http://skyseraph.com/2012/04/11/Media/流媒体专题/ 1 概…