簡單ESB的服務架構


簡單ESB的服務架構

這幾個月一直在修改架構,所以遲遲沒有更新博客。

  新的架構是一個基於簡單esb的服務架構,主要構成是esb服務注冊,wcf服務,MVC項目構成。

  首先,我門來看一看解決方案,

  1.Common

  在Common文件夾中主要是基礎設施層common.Infrastructure 以及ESB面向於web端的請求層 ESBLayout。

  基礎設施層主要包含了一些基本的幫助類,第三方dll,和常用的組件,比如緩存,ioc,日志,郵件,支付等。

  ESBLayout這個項目主要集成服務的一些調用,在此項目中添加了對與esb服務的引用,所有的服務請求通過該esb服務進行路由。請求方式如下

復制代碼
 public List<Test_StudentDto> GetStudentListByPage(int pageIndex, int pageSize, string queryPredicate, object[] paramValues, string orderBy, ref int record)
        {
            using (var client = new ESBServiceClient())
            {
                string str = string.Format("{0}{1}{2}{3}{4}{5}",
                pageIndex, pageSize, queryPredicate, paramValues, orderBy, record);
                string sign = ServiceEncrypt(str, key);

                var param = new object[] { pageIndex, pageSize, queryPredicate, paramValues, orderBy, record };
                var res = client.InvokeRef("689745d4-2218-4464-b207-d7dd61ce6bf8", sign, ref param);
                record = Convert.ToInt32(param[5]);

                if (res != null)
                {
                    return ConvertJsonTo<List<Test_StudentDto>>(res.ToString());
                }
                else
                {
                    return null;
                }
            }

        }
復制代碼

  通過方法的guid code進行查找服務。

  2.Persistence

  該文件夾中的sln 主要是數據庫訪問層,該架構數據庫訪問層,主要是用EF框架進行交互,數據庫采用Mysql(至於為什么使用Mysql,原因在於公司沒有自己的機房,使用的是阿里雲,但是阿里雲的SQLServer RDS數據庫 對於主從服務器的支持不是太完美)。

  Tonsin.IRepositories 倉儲接口,定義訪問數據庫的操作接口

  Tonsin.Repositories.Mysql 倉儲實現,基於EF框架對Mysql數據庫進行訪問

  Tonsin.Model 數據庫實體

  Tonsin.Model.DTO 服務傳輸實體

  3.PlatFormService

  該文件夾中主要是ESB的實現,以及系統技術平台的服務實現。

  下圖為技術平台的展示

  

  該平台集成了esb服務注冊,服務器管理,系統管理,以及日志處理,定時任務,控件庫等需求。

  目的在於打造公司系統實時的技術支持平台。

  4.Service

  這一層就不用細說了,根據需求分化的服務站點項目。

  5.Web

  基於MVC的web站點。

 

  大致的項目解決方案說明就是這些,該項目可以說是從0開始的一個大型項目,對於我這種初學者來說,壓力很大,動力十足,也許會有很多不足的地方,希望能夠在日后的時間內逐一改善。

  PS:本人博客寫的很亂,后續慢慢加強文筆。

放學別走丶 2016-03-17 17:05 閱讀:354 評論:11
 
放學別走丶 2015-12-22 09:44 閱讀:142 評論:0
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM