先來看經典的3層架構,看下圖:
涉及到平台可以是:
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是這樣的:
以上這個只是邏輯圖,真實環境實現是有些層在相同服務器上,有一些層被拆分在不同物理服務器上。這個取決於系統如何使用,還受限於規則環境策略。
再來看一下基於DDD的 .net平台的架構圖:
看以下稍微復雜一點兒架構:
復雜應用與邏輯層示例圖:
上面的圖中提及負載均衡,應用服務器,Web服務器,文件服務器,工作流服務,郵件服務器。有一點兒工作經驗的人不能理解。
在這兒不再詳述。
其它提示Tips:
架構設計要達到如下的目標:
·可靠性(Reliable)。軟件系統對於用戶的商業經營和管理來說極為重要,因此軟件系統必須非常可靠。
·安全性(Secure)。軟件系統所承擔的交易的商業價值極高,系統的安全性非常重要。
·可擴展性(SCAlable)。軟件必須能夠在用戶的使用率、用戶的數目增加很快的情況下,保持合理的性能。只有這樣,才能適應用戶的市場擴展得可能性。
·可定制化(CuSTomizable)。同樣的一套軟件,可以根據客戶群的不同和市場需求的變化進行調整。
·可擴展性(Extensible)。在新技術出現的時候,一個軟件系統應當允許導入新技術,從而對現有系統進行功能和性能的擴展。
·可維護性(MAIntainable)。軟件系統的維護包括兩方面,一是排除現有的錯誤,二是將新的軟件需求反映到現有系統中去。一個易於維護的系統可以有效地降低技術支持的花費。
·客戶體驗(Customer Experience)。軟件系統必須易於使用。
·市場時機(Time to Market)。軟件用戶要面臨同業競爭,軟件提供商也要面臨同業競爭。以最快的速度爭奪市場先機非常重要。
軟件架構是對軟件系統運行時元素的抽象,軟件系統可能有很多層抽象,或由多重業務流程所組成,每層抽象或每個業務流程都有自己的軟件架構。
軟件架構是平衡的藝術。
今天先這兒,希望對您有幫助。
來資料收集與整合,希望對您軟件開發與企業信息化有幫助。 其它您可能感興趣的文章:
N-Tier Entity Framework開源項目介紹
IT基礎架構規划方案一(網絡系統規划)
IT基礎架構規划方案二(計算機系統與機房規划規划)
IT基礎架構規划方案三(IT基礎軟件和系統規划)
企業應用之性能實時度量系統演變
雲計算參考架構幾例
智能移動導游解決方案簡介
人力資源管理系統的演化
如有想了解更多軟件研發 , 系統 IT集成 , 企業信息化 等資訊,請關注我的微信訂閱號:
作者:Petter Liu
出處:http://www.cnblogs.com/wintersun/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
該文章也同時發布在我的獨立博客中-Petter Liu Blog。