posts - 189,comments - 115,trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(35)

          我參與的團隊

          隨筆檔案

          文章分類

          文章檔案

          相冊

          收藏夾

          Android

          BLOGS

          Econormic

          Friend-Blog

          Guitar

          J2ME

          JAVA

          Linux

          Linux_driver

          MUSIC

          MY--BLOG

          NET

          NEWS

          ORACLE

          Project

          SOFT

          STUDY

          Sutra<==>Research

          SVN

          Translate

          Vim

          在線翻譯

          娛樂

          文檔教程

          考研

          裝修

          軟件開發

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          現代Java Web開發架構分析



          ? ? 當主流計算機應用軟件開始遷移到客戶/服務器體系結構時,程序員們開始尋找方法以簡化使用類似技術并且在結構也類似的工程的開發。這就為現代軟件開發框架打好了基礎。

            隨著基于萬維網的應用程序服務器的發展及其相關的應用軟件的膨脹,支持這些技術的開發框架也隨著蓬勃發展。當前,在企業開發領域中出現了許多特別適合于Java J2EE平臺的軟件開發框架。

            在本文中,我將集中討論現代的Java開發框架,分析它們的特征和各自的使用優點。另外,我還想比較目前流行的生產質量框架,例如Struts,Spring和Hibernate,并詳細討論其基本相似性及有關基本概念。

            我將簡短分析被用于支持這些框架的企業開發環境或工具箱,例如Borland JBuilder,Eclipse以及BEA Workbench。請記住,市場上有許多有關這些開發框架的圖書;然而,在任何一篇文章中,要對它們進行深入描述是不可能的。不過,我將盡力討論最廣泛地使用的概念。

            1. 共同點

            幾乎所有現代的網絡開發框架都遵循了模型-視圖-控制(MVC)設計模式--商業邏輯和描述被分開,由一個邏輯流控制器來協調來自客戶端的請求和服務器上將采取的行動。這條途徑成為了網絡開發的事實上的標準。每個框架的內在的機制當然是不同的,但是開發者們使用來設計和實現他們的Web應用軟件的API是很類似的。差別還存在于每個框架提供的擴展方面,例如標簽庫,JavaServer Faces或JavaBean包裝器等。

            所有的框架使用不同的技術來協調在Web應用程序之內的導航,例如XML配制文件,java屬性文件或定制屬性。所有的框架在控制器模塊實現的方法方面也存在明顯的不同。例如,EJB可能實例化在每個請求中需要的類或使用Java反射動態地調用一個適當的行動(Action)類。另外,不同框架在各自引入的概念上也有所不同。例如,一個框架可能定義用戶請求和反應(以及錯誤)場所,而另外一個框架可能僅僅定義一個完整的流--從一個請求到多個響答和隨后的再請求……

            各種Java框架在它們組織數據流的方法方面是很類似的。在請求發出后,在應用程序服務器上產生一些行動;而作為響應,一些可能包含對象集的數據總是被發送到JSP層。然后,從那些對象--可能是有setter和getter方法的簡單類,javabeans,值對象,或者一些集合對象--中提取數據。現代的Java框架還想方設法簡化開發者的開發任務,如通過使用簡易的API,數據庫連接池,甚至數據庫調用包等提供自動化的追蹤方式來實現。一些框架或者能夠鉤進(hooked into)另外的J2EE技術中,例如JMS(Java消息服務)或JMX,或把這些技術集成到一起。服務器數據持續性和日志也有可能成為框架的一部分。

            2. 企業開發環境

            一些框架在Web開發者社區和企業發展領域變得相當流行。隨著這些框架的日漸成熟并開始發行穩定的版本,商業的IDE(集成發展環境)開始為這些框架提供支持并把他們納入到自己的產品中。一些IDE甚至基于框架的概念開發出整個的產品,例如,BEA WebLogic Workshop就是基于Struts框架建立起來的。

            Borland Jbuilder為Struts提供了內建的支持,也支持JSF和JSTL。



            Eclipse平臺已成為一個很流行的開發工具,部分因為它是基于插件的,部分因為它對于Web框架的支持。現在,出現了眾多的Eclipse插件,甚至完整的基于Eclipse的IDE。許多插件被設計適合于Struts框架開發,例如MyEclipse(www.myeclipse.org)或M7(www.m7.com)。



            大多數IDE都具有圖形化的流程和可視化對象(類代理)。例如,下面是一個JBuilder的行動(Action)設計器,用于規劃Web應用程序的頁面順序。

            WebLogic Workshop引入Java頁面流程技術,它擴展了Struts框架而提供了一個簡化的開發模型并增加了另外一些特性。Workshop使用頁面流(Page Flows),實現輕易地把用戶接口與導航和商業邏輯分離開來。頁面流由JSP頁組成,這些頁面包含用戶接口元素和一個控制器文件(JPF)--它包含由用戶提供的數據將怎樣被處理的指令以及下一步什么頁面將被返回到用戶的信息。頁面流動提供給開發者一個可視化的Web應用程序總體輪廓,它讓開發者能夠看到直觀地分析不同的JSP頁彼此相關聯,并實現Web應用程序整體結構的快速建立。



            MyEclipse提供類似的特征,并帶有更多吸引人的代價標簽。



            3. Apache Struts框架

            Struts框架是一開源產品,基于模型-視圖-控制器(MVC)設計范例來開發Web應用軟件。它使用并且擴展了Java Servlet API,最初由Craig McClanahan創建。在2000年5月,它被捐贈到Apache Foundation。Struts框架展示了一個強有力的定制標簽庫,平鋪顯示,表單檢驗和I18N(國際化)。另外,Struts支持許多描述層,包括JSP,XML/XSLT,JavaServerFaces(JSF)和Velocity;還支持一些模型層,包括JavaBeans和EJB。

            4. Spring框架

            Spring框架是一個分層的Java/J2EE應用程序框架,基于Expert One-on-One J2EE設計和發行的代碼。Spring框架提供一種簡單的開發技術,用于自動化處理工程中大量的屬性文件和助理類。

            Spring框架包括的主要特色有:

            ·強有力的基于JavaBeans的配置管理,使用Inversion-of-Control(IoC)原則。

            ·一個核心bean工廠,可用在任何環境,從applets到J2EE容器程序。

            ·通用的抽象層適合于數據庫事務管理,允許可插入的事務管理器,并且不需要處理低層次的問題就可容易地劃分各事務的界限。

            ·一個很有意義的異常處理的JDBC抽象層。

            ·與Hibernate集成到一起,DAO實現支持以及事務策略。

            5. Hibernate框架

            Hibernate是一適合于Java語言的對象-關系映射(ORM)解決方案。它也是開源軟件,類似Struts,并且在LGPL保護下發布。Hibernate被一群來自世界各地的Java軟件開發者所共同開發。它提供一個易用的框架來實現把一個面向對象的域模型映射到一傳統的關系數據庫。它不僅負責從Java類到數據庫表格(以及來自Java數據類型的SQL數據類型)的映射,而且還提供數據查詢和檢索能力,并能大大減少花在SQL和JDBC手工數據處理上的開發時間。

            Hibernate的目標是減輕開發者的與大量普通的數據持續性相聯系的編程任務。Hibernate還能夠適應開發進程,無論它是剛開始設計還是來自一現成的數據庫。Hibernate可以自動生成SQL,使開發者擺脫了手工處理結果集和進行對象轉化的繁瑣任務,并能使應用程序移植到所有的SQL數據庫。它還能提供透明的持續性,對持續性類的唯一的要求的是實現一個無參數的構造器。

            這個框架典型地使用在JavaSwing應用軟件、基于Servlet的Java應用軟件和使用EJBsession beans的J2EE應用軟件中。

            6. 結論

            本文概述了現代最流行的Java Web開發框架。當然,還有更多框架尚未描述,開源和商業化的都有,例如WebWork(http://www.opensymphony.com/webwork/)或Tapestry(http://jakarta.apache.org/tapestry/);而許多框架通過擴展另外的MVC框架在內部被成功開發。當前,最流行的框架是Apache Struts。當Web開發競技場繼續演變它的工具和編程方法時,Java應用程序框架也將繼續成長下去。Java Web開發框架的未來一片明亮!
          posted on 2006-03-20 10:56 MEYE 閱讀(219) 評論(0)  編輯  收藏 所屬分類: JAVA
          主站蜘蛛池模板: 怀来县| 望谟县| 盈江县| 东莞市| 瓮安县| 拜泉县| 达州市| 延安市| 察隅县| 黄山市| 姜堰市| 阳信县| 安达市| 盐亭县| 秭归县| 比如县| 湖南省| 山东省| 景德镇市| 临高县| 闽清县| 新晃| 巫溪县| 灵山县| 延吉市| 安吉县| 唐山市| 永昌县| 洪洞县| 佛冈县| 黄陵县| 平原县| 巴塘县| 霍城县| 济源市| 安宁市| 咸阳市| 泸水县| 楚雄市| 萨迦县| 英吉沙县|