基于AgileEAS.NET企业应用平台实现基于SOA架构的应用整合方案-开篇
為什么80%的碼農都做不了架構師?>>> ??
?
開篇
??????? 系統架構的文章,準備在這段時間好好的梳理和整理一下,然后發布基于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快速開發平臺下載
請點擊圖片下載。
原文鏈接: http://www.cnblogs.com/hegezhou_hot/archive/2011/11/05/2236999.html
轉載于:https://my.oschina.net/dtec/blog/43702
總結
以上是生活随笔為你收集整理的基于AgileEAS.NET企业应用平台实现基于SOA架构的应用整合方案-开篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux中查看进程
- 下一篇: 2010年开年的一地鸡毛