熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

Java的各種架構優缺點分析和展望

2013-11-23 19:30:12  來源: Java核心技術 

  首先是UI層很難由美工和系統設計師來總體設計由於即使是Delphi之類的可視化開發工具界面問題還是要程序員自己調整解決這個問題可以走兩條路用自己的皮膚系統和美工本來就會IDE
  
  其次是服務層的標准缺少雖然Corba之類早已出現但是昂貴的費用和實施的難度太大了事實上這樣的服務層確實有象BEA的TuxedoIBM的CICS等但伸縮性小使用范圍小不算是老少鹹宜
  
  最後是數據層一般是直接存取數據庫高級一點的是通用性強一點能多訪問幾個數據庫但遠沒有到對象持久化這種程度
  
 

  傳統三層架構B/S
  JEE架構的推出帶來了很大的進步先前推出的PHPASP等嵌入式腳本語言只限於一種模板腳本語言而已真正的架構還是從JEE開始起的
  
  早期JEE還未成熟這張圖應該是JEE以後的至少是EJB以後的
  
  在UI層與其他腳本嵌入語言類似模板+腳本仍然沒有較好的Action功能這直到Struts之類的出現才開始改觀
  
  SeesionBean的出現加速了服務層的建立讓業務邏輯真正可以獨立出現盡管現實沒有這麼理想
  
  Entity Bean的出現特別是CMP的出現建立了對象持久層數據庫再也不需要了解細節了甚至對象數據存在哪裡都沒人想知道了雖然有這樣那樣的困難和問題
  
 

  現代多層架構
  多層架構是從開源開始的
  
  Struts是著名的MVC盡管現在看來問題還是不少但是不可否認它的功勞是顯著的
  
  AspectJ帶來了AOP讓開發換個思路
  
  Spring讓這些看上去很簡單重新發掘Bean的力量
  
  WebWorkJSTLTapestryJSFPIOHibernateCastor等等一系列的開源計劃層出不窮我可以列到你開始嘔吐為止
  
  有很多顯著的特點
  
  注重UI層的簡化開發強化模板引擎和組件開發使Action或Lisnter成為標准配備
  
  服務層強調弱耦合可以與多個輪子一起工作方便更換合適的框架甚至考慮兼容傳統系統
  
  對象持久大行其道都是針對EJB的軟肋去的的發布會彌補EJB的問題
  
  各大廠商爭相搶奪市場工具和服務器和版本飛漲跳得比計價器還快
  
  XML大行其道已經成為標准格式至少是配置文件和轉換模板的標准
  

  現代架構簡介
  View 展示層顯示內容接受用戶人工信息
  
  Template Engine 模板引擎層使用模板的方式產生最終View展示層的內容
  
  Action或Listener 動作或監視層接受用戶人工動作根據動作反饋
  
  Control 控制UI層控制UI的動作反饋頁面流程
  
  Service 服務層除業務邏輯以外的系統邏輯訪問域邏輯的接口轉發訪問域邏輯的請求
  
  Domain Logic 域邏輯層業務邏輯與傳統遺留系統的業務邏輯接口
  
  Domain Model 域模型層業務模型與業務有關的對象模型樹包括對象屬性和之間的關系
  
  XML Model用XML定義的域模型鑒於XML的重要性單獨列出
  
  Object Model用Object對象來定義的域模型
  
  Object Persistent 對象持久層將域模型對象持久化
  
  Database System 數據庫系統關系型或對象型數據庫系統代表了存儲系統
  
  應用級架構
  可能應該稱為實用架構因為以下這些架構與現代架構不沖突是建立在現代架構基礎上的應用級架構
  
  光有現代架構當然對開發來說並沒有省心反而是更增加溝通和培訓成本因此應用級架構或可稱為中間件非常重要
  
  應用級架構是用來解決各種業務問題的高層次架構
  
  Workflow 工作流解決一切依賴流程的業務系統中的流程部分的問題工作流只管流程
  
  EForm 電子表單解決一切業務系統中需要頻繁變動界面包括電子表單設計器和編譯器
  
  Protal 門戶解決多個業務系統的高級集成多業務系統不僅是展示層上的集成更深入到互動地集成將可能產生相互影響
  
  Data Exchange 數據交換數據傳輸和格式轉換解決多個業務系統的數據交換問題
  
  Message 消息中間件解決異步消息傳輸問題
  
  Instance Message 即時消息解決即時溝通交流問題並且允許與業務系統互動
  
  RealTime 實時系統對時間和高可靠性的要求
  
  Embedded 嵌入式系統開發各種其它設備上的應用系統
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26990.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.