企業級應用架構模式N-Tier多層架構


          先來看經典的3層架構,看下圖:

593px-Overview_of_a_three-tier_application_vectorVersion.svg

涉及到平台可以是:

Ruby on Rails, Java EE, ASP.NET, PHP, ColdFusion, Perl, Python

層之間的數據傳輸使用協議可以是:

SNMP, CORBA, Java RMI, .NET Remoting, Windows Communication Foundation, sockets, UDP, web services

我們經常說的3層架構就是N-Tier架構, 通常的N-Tier是這樣的:

image

以上這個只是邏輯圖,真實環境實現是有些層在相同服務器上,有一些層被拆分在不同物理服務器上。這個取決於系統如何使用,還受限於規則環境策略。
再來看一下基於DDD的 .net平台的架構圖:

DDD-NET-Architecture-Diagram


看以下稍微復雜一點兒架構:

image

 

復雜應用與邏輯層示例圖:

image

上面的圖中提及負載均衡,應用服務器,Web服務器,文件服務器,工作流服務,郵件服務器。有一點兒工作經驗的人不能理解。
在這兒不再詳述。

其它提示Tips:

架構設計要達到如下的目標:
 
·可靠性(Reliable)。軟件系統對於用戶的商業經營和管理來說極為重要,因此軟件系統必須非常可靠。
·安全性(Secure)。軟件系統所承擔的交易的商業價值極高,系統的安全性非常重要。
·可擴展性(SCAlable)。軟件必須能夠在用戶的使用率、用戶的數目增加很快的情況下,保持合理的性能。只有這樣,才能適應用戶的市場擴展得可能性。
·可定制化(CuSTomizable)。同樣的一套軟件,可以根據客戶群的不同和市場需求的變化進行調整。
·可擴展性(Extensible)。在新技術出現的時候,一個軟件系統應當允許導入新技術,從而對現有系統進行功能和性能的擴展。
·可維護性(MAIntainable)。軟件系統的維護包括兩方面,一是排除現有的錯誤,二是將新的軟件需求反映到現有系統中去。一個易於維護的系統可以有效地降低技術支持的花費。
·客戶體驗(Customer Experience)。軟件系統必須易於使用。
·市場時機(Time to Market)。軟件用戶要面臨同業競爭,軟件提供商也要面臨同業競爭。以最快的速度爭奪市場先機非常重要。

軟件架構是對軟件系統運行時元素的抽象,軟件系統可能有很多層抽象,或由多重業務流程所組成,每層抽象或每個業務流程都有自己的軟件架構。
軟件架構是平衡的藝術。

 

今天先這兒,希望對您有幫助。


來資料收集與整合,希望對您軟件開發與企業信息化有幫助。 其它您可能感興趣的文章:
N-Tier Entity Framework開源項目介紹
IT基礎架構規划方案一(網絡系統規划)
IT基礎架構規划方案二(計算機系統與機房規划規划) 
IT基礎架構規划方案三(IT基礎軟件和系統規划)
企業應用之性能實時度量系統演變
雲計算參考架構幾例
智能移動導游解決方案簡介
人力資源管理系統的演化

如有想了解更多軟件研發 , 系統 IT集成 , 企業信息化 等資訊,請關注我的微信訂閱號:

MegadotnetMicroMsg_thumb1_thumb1_thu[1]


作者:Petter Liu
出處:http://www.cnblogs.com/wintersun/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
該文章也同時發布在我的獨立博客中-Petter Liu Blog


免責聲明!

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



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