基于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平台最新版
从上述地址打开,会看到如下下载内容
,选择最新的源码下载。
第二步:下载完毕后,解压文件,找到平台的基础数据库备份文件,还原数据库
有不少的朋友,纠结在这里了,为啥,因为我们提供的数据库的还原方式太多了,你不知道如何是好了,呵呵,这一切,都是归于我们没有一个AgileEAS.
NET平台的配置管理工具,等到下一个版本AgileEAS.NET5.0我们将会提供该工具,通过可视化的配置界面,自动完成数据库的还原和相关配置文件的设置,即可实现
分布式与直连数据库的热切换。
下载文件,解压缩后,看到如下的文件夹与文件列表:
文件及目录结构如上图。
我们目前第一步,先把AgileEAS.NET平台的数据库给配置起来,那么药店系统的配置过程与平台的配置过程一样,如果您不会的话,我会表示,鸭梨很大的。
下面我们就来看看具体的过程吧。
1、找到“AgileEAS.NET平台-数据库备份”文件夹:
2、打开该文件夹后
3、我们这里以“数据库-备份文件”为例来说明,如何使用bak文件进行数据库的还原操作,我本来在之前的药店系统的数据库还原中说明了,但是还是有不少
的朋友,并不知道如何进行数据库的还原,所以我这里再次说下步骤。
我这里以“SQL2005/2008”为例来说明:
然后点击“还原数据库”:
选择文件夹内的文件。
弹出的选择文件对话框,选择如下文件
点击确认后:
然后点击左侧菜单中的“选项”。
来设置还原数据库的物理存放路径及位置,数据库名称等,还包括数据库的还原设置选项。
务必保证:物理存放的路径存在,否则则会出现错误信息。我这里修改路径“D盘根目录”
点击“确定”后:
这样就完成了,数据库的还原操作了。我们可以刷新看看数据库实例中是否以存在“AgileEAS”:
第三步:配置AgileEAS.NET相关信息,为快速开发提供基础支撑。
首先找到下载的“AgileEAS.NET4.0包”中的如下文件夹:
打开该文件夹后,请查找如下名称的.config文件:
该配置文件是AgileEAS.NET快速开发平台的运行配置文件,如果没有该配置文件,那
么EAS.WinClient无法运行。我们这里使用vs2010打开来说明如何配置。
这样就好了,然后可以运行如下程序:
然后运行后,出现平台的登陆页面如下:
点击“确定”后即可进入AgileEAS.NET平台的运行管理界面:
这样就完成了,直连数据库方式的配置,后续,在我们进行SOA的集成方案时,我们会讲述基于平台之上的SOA集成方案的简易性,我们会把分布式的完整配
置过程,再详细的说明。
本文大纲
1、开篇
2、本文大纲
3、为什么要应用整合
4、AgileEAS.NET平台的整合方案
为什么要应用整合
随着目前科技的发展,信息化技术的不断进步和成熟,从原来的早期的硬件编程,到C、C++到后来的高级语言和越来越多的优秀的编程语言的出现,一是提
高软件的生产力,二是加快科技的信息化普及步伐,目前不管是你所知道的还是你不知道的,都越来越和软件紧密耦合,原来我只知道眼前的看到和听到的,有很多
我们并不知道的东西,真的很多。 大伙都在讨论什么语言优秀的时候,其实,我也很想参与几句,但是我一般也不会表达什么,因为我知道,不管什么编程语言的
出现,不是为了取代某个语言,而是为了解决之前语言出现的问题或者是不便,他不是为了取代,而是为了更好的适应发展和需求的变化。每个语言都有他的优点和
缺点,我们应该客观,不应该因为自己所在的领域或者擅长的方面,就去从主观意识出发,去不客观的评价。
最近,就有不少的朋友问道,如何解决企业的多种异构软件之间的整合问题,让我整理出企业内部的整合方案,相信这不是一个什么新的话题,早在上个世纪
末就已经有很多优秀的大师们提出了这些,随着21世纪以来,这方面的需求越来越强烈,话说这方面在大企业尤为明显,也非常的迫切。
不少的企业的信息化程度很早,也很成熟,但是企业的成本和各方面的投入都是需要测算的,如果一个企业经常的更换软件,对企业来说成本太大,除非是逼不得已,一般都会是旧软件+新功能的新软件,这样的组合方式,那么新的问题又来了,旧软件更换的成本太大,回报不明显,新软件与旧软件之间如果独立,那么
可能对企业的发展和管理等各方面并不是有很大的价值,但是企业对新软件这部分的功能又必不可少。这时候就要去,旧系统的数据信息与新系统之间的数据信息必
须是共享的,那么当然有这方面动作的企业,都会考虑如何实现新旧系统之间集成,那么EAI这个名称,也是早早的就出现了。但是这个词,渐渐的被SOA这个名次
给取代了,SOA最近甚是火热。我也来掺合参合。
对企业来说最麻烦的就是企业内部的异构系统太多,整合企业内部的异构系统,如何实现信息共享,消除信息孤岛,这是个迫切要解决的问题,那么如何去做,
采用什么样的方案,以下是最简单的方案,不需要使用任何的平台。
上图是不同的异构系统,他们都有各自的数据库,那么如果实现集成,可以通过数据库来实现,实现数据库之间的数据库同步,但是这个最容易,也是成本最低
的方案,但是这个方案并不好,不但每个数据库的信息都对外暴露,安全是个问题,而且数据多份,同步失败的可能因素太多,而且这样数据的耦合性太高,不好不
好。所以慢慢的衍生出如下的集成方案:
从上图,我们可以看出来,如果应用系统与其他的应用系统交互,那么必须通过应用服务总线来完成数据的交互与通信,例如CRM系统要访问MIS系统,那么必
须通过MIS系统提供的服务来访问,这个就有点类似接口或者webservice调用方式。
一般来说,异构系统的集成方案,无非就是二种,一种是接口调用和通过webservice协议的方式来完成,关于底层的数据通信方式,一般就是XML的方式,当然
如果是企业内部,可能通过文本流的形式,也是没有什么问题,关键是看不同的异构系统的构建方案,例如如果是使用不同的开发语言和开发工具,那么可能通过协
议的方式来传递,会比较容易,因为目前主流和大部分的开发语言,都是支持webservice服务的调用方式的。可能使用接口调用的方式,会因为不同的语言平台,使
用起来有限制。总之:具体问题具体分析,选择最优方式。
上面我们只是简述,后续我们后面的更多的文章,将会就实现的细节,来一一的说明,如何实现异构系统的集成。
AgileEAS.NET的整合方案
关于更多的AgileEAS.NET平台的相关的介绍和功能说明请参考官方的博客:
AgileEAS.NET平台是基于SOA架构思想作为架构范式,基于.NET平台实现的SOA平台,该平台提供了强大的开发工具与应用部署支撑,提供了丰富的中间件,
通过这些中间件来实现应用的集成和快速开发。 AgileEAS.NET平台内置了WCF的全部消息方式。并且将这些通信方式结合平台的应用配置来实现分布式与异构系
统间的通信。
下面我们就来说说基于AgileEAS.NET平台之上的SOA整合方案。
我们还是以上图为例来说明,使用AgileEAS.NET平台集成的结构图:
该图适应于基于.NET平台上的应用集成,可以理解为接口的集成,如果是不同语言开发的系统,
那么采用如下的集成方式。
上图是基于webservice协议上的集成,根据应用和场景的不同来进行集
成。相比第二种方式,第一种方案,基于接口的集成的方案会有很多的局限性,我们指导.NET开发的应用,必须安装.NET FrameWork后才能运行,那么如果我们开
发成DLL,通过接口形式提供给VB,PB,Delphi或者是C++等调用时就会是个麻烦事,比如和java的应用集成时,如果java的应用运行在UNIX环境下,那么就没办法完成
消息通信服务。根据具体的应用场景来决定。
AgileEAS.NET平台提供了一种集成快速开发的方式,通过从AgileEAS.NET平台提供的服务对象继承,通过AgileEAS.NET平台会自动将该自定义服务对象,发布成
webservice服务对象,这样无疑是加快了开发,同时在.NET平台之上的不同应用系统间的集成变得容易,通过服务组件间的调用,来实现不同系统间的交互。
并且,服务对象的开发方式与平时我们书写的代码风格完全相同,可通过平台提供的快速开发工具来生成相关的代码,大大提供了异构系统间的应用集成,提高
了开发的效率,降低了集成的风险和成本。
代码的写法如下:
后续代码,我们来说明下,举个简单的例子来说明如何集成,我们会通过我们最近的一次客户的集成经历来说明如何实现不同应用间的集成,我们是通过.NET
下的应用与PB的应用程序间的集成,我们选择的是最简单的集成方案,通过数据库的方式来集成,后续展示通过webservice和接口方式的集成。
相关信息
下载信息。
如果您在使用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快速开发平台下载
请点击图片下载。
作者:CallHot-何戈洲
出处:http://www.cnblogs.com/hegezhou_hot/
关于作者:专注于微软平台项目架构、管理和企业解决方案。熟悉设计模式、极限编程、架构设计、敏捷开发和项目管理。现主要从事WinForm、ASP.NET、等方面的项目开发、架构、管理工作。目前,主要负责一些系统架构,项目管理,技术培训等方面的工作。如有问题或建议,请多多赐教!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过hegezhou_hot@163.com 联系我,非常感谢。
基于AgileEAS.NET企业应用平台实现基于SOA架构的应用整合方案-开篇的更多相关文章
- 基于AgileEAS.NET企业应用开发平台的分布式解决方案
开篇 分布式应用 AgileEAS.NET基于Microsoft .Net构件技术而构建,Microsoft .Net最吸引人的莫过于分布式应用技术,基已经提供了XML WebService. .Ne ...
- 基于SharePoint 的企业信息平台架构
- 基于Hadoop的大数据平台实施记——整体架构设计[转]
http://blog.csdn.net/jacktan/article/details/9200979 大数据的热度在持续的升温,继云计算之后大数据成为又一大众所追捧的新星.我们暂不去讨论大数据到底 ...
- 基于Hadoop的大数据平台实施记——整体架构设计
大数据的热度在持续的升温,继云计算之后大数据成为又一大众所追捧的新星.我们暂不去讨论大数据到底是否适用于您的组织,至少在互联网上已经被吹嘘成无所不能的超级战舰.好像一夜之间我们就从互联网时代跳跃进了大 ...
- [转]企业创新平台—Power Platform 的架构与应用场景
本文转自:https://www.microsoft.com/china/events/video_311
- 基于AgileEAS.NET SOA 平台SAAS架构技术的开源分销ERP系统-SmartERP.NET下载配置说明
一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...
- DevOps实践之一:基于Docker构建企业Jenkins CI平台
基于Docker构建企业Jenkins CI平台 一.什么是CI 持续集成(Continuous integration)是一种软件开发实践,每次集成都通过自动化的构建(包括编译,发布,自动化测试)来 ...
- 基于AngularJS的企业软件前端架构[转载]
这篇是我参加QCon北京2014的演讲内容: 提纲: 企业应用在软件行业中占有很大的比重,而这类软件多数现在也都采用B/S的模式开发,在这个日新月异的时代,它们的前端开发技术找到了什么改进点呢? B/ ...
- Monotype推出基于HTML5的Web字体平台
著名字体公司Monotype近日宣布推出基于HTML5的Web字体平台,设计者可以访问近10万字体的目录. Monotype推出基于HTML5的Web字体平台 Monotype推出基于HTML5的We ...
随机推荐
- 一个WebForm中连接SQL Server的例子
.cs using System; using System.Collections; using System.ComponentModel; using System.Data; using Sy ...
- Server.UrlEncode、HttpUtility.UrlDecode的区别
Server.UrlEncode.HttpUtility.UrlDecode的区别 在对URL进行编码时,该用哪一个?这两都使用上有什么区别吗? 测试: string file="文件上(传 ...
- 苹果在Xcode6中弃用segue的push和model
苹果在Xcode6中弃用了segue的push和model.被show和present取代. 下面是新版本中每种类型的使用总结和例子.建议自己使用前先在测试项目中自己试一试 Show 根据当前屏幕中的 ...
- (转)mongodb常用命令脚本化-自动化运维
mongodb常用命令脚本化-自动化运维 把一些运维中常用到的mongodb命令写成shell脚本,极大的方便了维护 1 设置副本集 #!/bin/bash#mongodb 进入client ...
- 冒泡,快排算法之javascript初体验
引子:javascript实际使用的排序算法在标准中没有定义,可能是冒泡或快排.不用数组原生的 sort() 方法来实现冒泡和快排. Part 1:冒泡排序(Bubble Sort) 原理:临近的两数 ...
- 【风马一族_Java】java的一种IDE
IntelliJ IDEA 14 下载地址: IntelliJ IDEA 14 下载 分享几个license: (1) key:IDEA value:61156-YRN2M-5MNCN-NZ8D2-7 ...
- javascript中for-in的用法
for(var 变量名 in object) alert(变量名[第n个]) : 如果object是josn对象的话,变量名就是属性名 如果object是数组的话,变量名就是数字下标 例子:JOSN对 ...
- 文件墙 CFilewall
文件墙 CFilewall 记于 2013-09-26 == @[代码] [C#] []WPF] #### 使用了一些公司的组件和放大,但是不多,可以单独抽取出来 --- 程序结构 - Control ...
- 【Qt】Qt Linguist介绍【转】
简介 Qt提供了一款优秀的支持Qt C++和Qt Quick应用程序的翻译工具.发布者.翻译者和开发者可以使用这款工具来完成他们的任务. 发布者:承担了全面发布应用程序的责任.通常,他们协调开发者和翻 ...
- 【Qt】Qt Assistant介绍【转】
简介 Qt Assistant也就是我们常说的Qt助手,是一款用于呈现在线文档的工具. 简介 一分钟学会使用 Qt参考文档 Qt Assistant详解 命令行选项 工具窗口 文档窗口 工具栏 菜单 ...