基本架構
J2EE Java2平台企業版(Java 2 Platform,Enterprise Edition)
J2EE核心是一組技術規範與指南,其中所包含的各類組件、服務架構及技術層次,均有共通的標準及規格,讓各種依循J2EE架構的不同平台之間,存在良好的兼容性,解決過去企業後端使用的信息產品彼此之間無法兼容,導致企業內部或外部難以互通的窘境。
在J2EE架構下,開發人員可依循規範基礎,進而開發企業級套用;而不同J2EE供貨商,同會支持不同J2EE版本內所擬定的標準,以確保不同J2EE平台與產品之間的兼容性。換言之,植基J2EE架構的套用系統,基本上可部署在不同的套用伺服器之上,無需或者只須要進行少量的代碼修改,即能大幅提高套用系統的可移植性(Portability)。
J2EE主由昇陽與IBM等廠商協同業界共同擬定而成的技術規範,以企業與企業之間的運算為導向的JAVA開發環境。J2EE架構定義各類不同組件,如Web Component、EJB Component…等,而各類組件可以再用(reuse),讓已開發完成的組件,或者是經由市面採購而得的組件,均能進一步組裝成不同的系統。
對於開發人員而言,只需要專注於各種套用系統的商業邏輯與架構設計,至於底層繁瑣的程式撰寫工作,可搭配不同的開發平台,以讓套用系統的開發與部署效率大幅提升。
J2EE的核心規範是 Enterprise Java Beans(EJBs)。EJB依照特性的不同,目前共分為三種,分別是Session Bean、Entity Bean,以及 Message Driven Bean 。其中 Session Bean 與Entity Bean 算是EJB的始祖,這兩種EJB規格在EJB 1.x版本推出時就已經存在,而Message Driven Bean則是出現在EJB 2.0的規格之中。
目前業界許多程式設計師,或者是網頁設計人員,多利用JSP/Servlet的便利性,進而在J2EE伺服器之上開發相關的套用,或是整合公司內部的各種資源。
Java 2平台依照套用領域的不同,共分為三大版本,分別是J2EE、標準版本J2SE(Java 2 Platform, Standard Edition)、微型版本J2ME(Java 2 Platform, Micro Edition),以及Java Card等。
從整體上講,J2EE是使用Java技術開發企業級套用的一種事實上的工業標準(Sun公司出於其自身利益的考慮,至今沒有將Java及其相關技術納入標準化組織的體系),它是Java技術不斷適應和促進企業級套用過程中的產物。Sun推出J2EE的目的是為了克服傳統Client/Server模式的弊病,迎合Browser/Server架構的潮流,為套用Java技術開發伺服器端套用提供一個平台獨立的、可移植的、多用戶的、安全的和基於標準的企業級平台,從而簡化企業套用的開發、管理和部署。J2EE是一個標準,而不是一個現成的產品。各個平台開發商按照J2EE規範分別開發了不同的J2EE套用伺服器,J2EE套用伺服器是J2EE企業級套用的部署平台。由於它們都遵循了J2EE規範,因此,使用J2EE技術開發的企業級套用可以部署在各種J2EE套用伺服器上。
為了推廣並規範化使用J2EE架構企業級套用的體系架構,Sun同時給出了一個建議性的J2EE套用設計模型:J2EE Blueprints。J2EE Blueprints提供了實施J2EE企業級套用的體系架構、設計模式和相關的代碼,通過套用J2EE Blueprints所描述的體系模型,能夠部分簡化架構企業級套用這項複雜的工作。J2EE Blueprints是開發人員設計和最佳化J2EE組件的基本原則,同時為圍繞開發工作進行職能分工給出了指導性策略,以幫助套用開發設計人員合理地分配技術資源。
Microsoft; .NET 是 Microsoft XML Web services 平台。XML Web services 允許應用程式通過 Internet 進行通訊和共享數據,而不管所採用的是哪種作業系統、設備或程式語言。Microsoft .NET 平台提供創建 XML Web services 並將這些服務集成在一起之所需。對個人用戶的好處是無縫的、吸引人的體驗。</p> 組成.net軟體技術的組件 組件之一,“智慧型”客戶端套用軟體和作業系統,包括PC、PDA、手機或其他移動設備通過網際網路、藉助Web Services技術,用戶能夠在任何時間、任何地點都可以得到需要的信息和服務。例如:可以在手機上閱讀新聞、定購機票、瀏覽線上相冊等等。現在我們假設一種場景,如公司內使用的CRM系統,套用了.NET的解決方案後所有的業務人員便可以通過手機或PDA直接訪問客戶信息了。 如何創建“智慧型”終端 Web Services是智慧型終端軟體的基礎,微軟為用戶創建智慧型終端提供了一整套豐富的解決方案,包括: .NET Framework - 智慧型終端實現跨平台(設備無關性)的執行環境 Visual Studio .NET – 建立並集成Web Services和應用程式的快速開發工具 Microsoft Windows Server 2003 – 新一代的企業伺服器,用於提供建立和發布各種解決方案 Microsoft Office Professional Edition 2003 – 內建的工具集也能幫助開發智慧型終端 現在發展最快的終端非手機莫屬了,有兩大陣營在開發SmartPhone技術,一個是微軟為代表的Stinger套用於三星,另一個就是以NOKIA、愛立信、摩托羅拉組成的Symbian Web Services是.NET的核心技術。那什麼是Web Services呢?正如Web是新一代的用戶與套用互動的途徑,XML是新一代的程式之間通訊的途徑一樣,Web Services是新一代的計算機與計算機之間一種通用的數據傳輸格式,可讓不同運算系統更容易進行數據交換。Web Services有以下幾點特性:Web services允許套用之間共享數據;Web services分散了代碼單元;基於XML這種internet數據交換的通用語言,實現了跨平台、跨作業系統、跨語言。那微軟的ASP和Web services究竟有什麼不同呢,ASP仍然是一個集中式計算模型的產物,只不過是披著一層網際網路的外衣。但Web Services卻是一個迥然不同的精靈,它秉承“軟體就是服務”的真言,同時順應分散式計算模式的潮流。而它的存在形式又與以往軟體不同。這種組件模式,小巧、單一,對於開發人員來講,開發成本較低。 在這裡指出Web services不是微軟發明的,同樣也不屬於微軟專有。Web services是一個開放的標準,和HTTP、 XML、SOAP一樣。他們是一個工業標準而非微軟標準,WS-I是為了促進Web Services互通性的聯盟組織,最初是由IBM和微軟所發起,其它的成員包括BEA System、惠普計算機(HP)、甲骨文(Oracle)、英特爾(Intel)和SUN 計算機(Sun Microsystem)。如今網路上存在的大多Web services其實沒有使用.NET構架,Web services具有互操作屬性,你同樣可以使用Windows開發客戶端來調用運行於Linux上面的Web services的方法。 先前提到的接口規範問題,在.NET中,Web service接口通常使用Web Services Description Language (WSDL)描述。 WSDL 使用XML來定義這種接口操作標準及輸入輸出參數,看起來很像COM和CORBA的接口定義語言(IDLS)Interface Definition Languages。接口定義後就必須使用一些協定調用接口,如SOAP協定,SOAP源於一種叫做XML RPC(XML遠程進程調用remote procedure calling)的協定,而Java則根據XML-RPC發展了自己的JAX-RPC協定用來調用Web Services。發布和訪問Web Services的接口就用到UDDI了,這裡我們只需要知道WSDL使用XML定義Web Services接口,通過SOAP訪問Web Services,在internet上尋找Web Services使用UDDI就行了,更多的Web Services將在最後一課介紹。 Microsoft提供了最佳的伺服器構架—Microsoft Windows Server System—便於發布、配置、管理、編排Web Services。為了滿足分散式計算的需要微軟構造了一系列的伺服器系統,這些內建安全技術的系統全部支持XML,這樣加速了系統、應用程式以及同樣使用Web Services的夥伴套用之間的集成。 Microsoft Windows Server System包括: Microsoft Application Center 2000 - 配置和管理Web應用程式 Microsoft BizTalk Server 2002 - 建立基於XML的跨套用和組織的商業邏輯 Microsoft Commerce Server 2002 – 能夠迅速建立大規模電子商務的解決方案 Microsoft Content Management Server 2002 – 管理動態電子商務網站的目錄 Microsoft Exchange Server 2000 – 用於進行隨時隨地的通訊協作 Microsoft Host Integration Server 2000 – 用於和主機系統之間傳輸數據 Microsoft Internet Security and Acceleration Server 2000 (ISA Server) – internet連線 Microsoft Mobile Information Server 2002 – 用於支持手持設備 Microsoft Operations Manager 2000 – 描述企業級解決方案的操作管理 Microsoft Project Server 2002 - 提供項目管理的最佳方案 Microsoft SharePoint Portal Server 2001 – 查詢、共享、發布商業信息 Microsoft SQL Server 2000 – 企業級資料庫 Microsoft Visual Studio .NET和Microsoft .NET Framework對於建立,發布並運行Web Services是一個完美的解決方案。
Microsoft; .NET 是 Microsoft XML Web services 平台。XML Web services 允許應用程式通過 Internet 進行通訊和共享數據,而不管所採用的是哪種作業系統、設備或程式語言。Microsoft .NET 平台提供創建 XML Web services 並將這些服務集成在一起之所需。對個人用戶的好處是無縫的、吸引人的體驗。</p> 組成.net軟體技術的組件 組件之一,“智慧型”客戶端套用軟體和作業系統,包括PC、PDA、手機或其他移動設備通過網際網路、藉助Web Services技術,用戶能夠在任何時間、任何地點都可以得到需要的信息和服務。例如:可以在手機上閱讀新聞、定購機票、瀏覽線上相冊等等。現在我們假設一種場景,如公司內使用的CRM系統,套用了.NET的解決方案後所有的業務人員便可以通過手機或PDA直接訪問客戶信息了。 如何創建“智慧型”終端 Web Services是智慧型終端軟體的基礎,微軟為用戶創建智慧型終端提供了一整套豐富的解決方案,包括: .NET Framework - 智慧型終端實現跨平台(設備無關性)的執行環境 Visual Studio .NET – 建立並集成Web Services和應用程式的快速開發工具 Microsoft Windows Server 2003 – 新一代的企業伺服器,用於提供建立和發布各種解決方案 Microsoft Office Professional Edition 2003 – 內建的工具集也能幫助開發智慧型終端 現在發展最快的終端非手機莫屬了,有兩大陣營在開發SmartPhone技術,一個是微軟為代表的Stinger套用於三星,另一個就是以NOKIA、愛立信、摩托羅拉組成的Symbian Web Services是.NET的核心技術。那什麼是Web Services呢?正如Web是新一代的用戶與套用互動的途徑,XML是新一代的程式之間通訊的途徑一樣,Web Services是新一代的計算機與計算機之間一種通用的數據傳輸格式,可讓不同運算系統更容易進行數據交換。Web Services有以下幾點特性:Web services允許套用之間共享數據;Web services分散了代碼單元;基於XML這種internet數據交換的通用語言,實現了跨平台、跨作業系統、跨語言。那微軟的ASP和Web services究竟有什麼不同呢,ASP仍然是一個集中式計算模型的產物,只不過是披著一層網際網路的外衣。但Web Services卻是一個迥然不同的精靈,它秉承“軟體就是服務”的真言,同時順應分散式計算模式的潮流。而它的存在形式又與以往軟體不同。這種組件模式,小巧、單一,對於開發人員來講,開發成本較低。 在這裡指出Web services不是微軟發明的,同樣也不屬於微軟專有。Web services是一個開放的標準,和HTTP、 XML、SOAP一樣。他們是一個工業標準而非微軟標準,WS-I是為了促進Web Services互通性的聯盟組織,最初是由IBM和微軟所發起,其它的成員包括BEA System、惠普計算機(HP)、甲骨文(Oracle)、英特爾(Intel)和SUN 計算機(Sun Microsystem)。如今網路上存在的大多Web services其實沒有使用.NET構架,Web services具有互操作屬性,你同樣可以使用Windows開發客戶端來調用運行於Linux上面的Web services的方法。 先前提到的接口規範問題,在.NET中,Web service接口通常使用Web Services Description Language (WSDL)描述。 WSDL 使用XML來定義這種接口操作標準及輸入輸出參數,看起來很像COM和CORBA的接口定義語言(IDLS)Interface Definition Languages。接口定義後就必須使用一些協定調用接口,如SOAP協定,SOAP源於一種叫做XML RPC(XML遠程進程調用remote procedure calling)的協定,而Java則根據XML-RPC發展了自己的JAX-RPC協定用來調用Web Services。發布和訪問Web Services的接口就用到UDDI了,這裡我們只需要知道WSDL使用XML定義Web Services接口,通過SOAP訪問Web Services,在internet上尋找Web Services使用UDDI就行了,更多的Web Services將在最後一課介紹。 Microsoft提供了最佳的伺服器構架—Microsoft Windows Server System—便於發布、配置、管理、編排Web Services。為了滿足分散式計算的需要微軟構造了一系列的伺服器系統,這些內建安全技術的系統全部支持XML,這樣加速了系統、應用程式以及同樣使用Web Services的夥伴套用之間的集成。 Microsoft Windows Server System包括: Microsoft Application Center 2000 - 配置和管理Web應用程式 Microsoft BizTalk Server 2002 - 建立基於XML的跨套用和組織的商業邏輯 Microsoft Commerce Server 2002 – 能夠迅速建立大規模電子商務的解決方案 Microsoft Content Management Server 2002 – 管理動態電子商務網站的目錄 Microsoft Exchange Server 2000 – 用於進行隨時隨地的通訊協作 Microsoft Host Integration Server 2000 – 用於和主機系統之間傳輸數據 Microsoft Internet Security and Acceleration Server 2000 (ISA Server) – internet連線 Microsoft Mobile Information Server 2002 – 用於支持手持設備 Microsoft Operations Manager 2000 – 描述企業級解決方案的操作管理 Microsoft Project Server 2002 - 提供項目管理的最佳方案 Microsoft SharePoint Portal Server 2001 – 查詢、共享、發布商業信息 Microsoft SQL Server 2000 – 企業級資料庫 Microsoft Visual Studio .NET和Microsoft .NET Framework對於建立,發布並運行Web Services是一個完美的解決方案。
組成.net軟體技術的組件
組件之一,“智慧型”客戶端套用軟體和作業系統,包括PC、PDA、手機或其他移動設備通過網際網路、藉助Web Services技術,用戶能夠在任何時間、任何地點都可以得到需要的信息和服務。例如:可以在手機上閱讀新聞、定購機票、瀏覽線上相冊等等。現在我們假設一種場景,如公司內使用的CRM系統,套用了.NET的解決方案後所有的業務人員便可以通過手機或PDA直接訪問客戶信息了。
如何創建“智慧型”終端
Web Services是智慧型終端軟體的基礎,微軟為用戶創建智慧型終端提供了一整套豐富的解決方案,包括:
.NET Framework - 智慧型終端實現跨平台(設備無關性)的執行環境
Visual Studio .NET – 建立並集成Web Services和應用程式的快速開發工具
Microsoft Windows Server 2003 – 新一代的企業伺服器,用於提供建立和發布各種解決方案
Microsoft Office Professional Edition 2003 – 內建的工具集也能幫助開發智慧型終端
現在發展最快的終端非手機莫屬了,有兩大陣營在開發SmartPhone技術,一個是微軟為代表的Stinger套用於三星,另一個就是以NOKIA、愛立信、摩托羅拉組成的Symbian
Web Services是.NET的核心技術。那什麼是Web Services呢?正如Web是新一代的用戶與套用互動的途徑,XML是新一代的程式之間通訊的途徑一樣,Web Services是新一代的計算機與計算機之間一種通用的數據傳輸格式,可讓不同運算系統更容易進行數據交換。Web Services有以下幾點特性:Web services允許套用之間共享數據;Web services分散了代碼單元;基於XML這種internet數據交換的通用語言,實現了跨平台、跨作業系統、跨語言。那微軟的ASP和Web services究竟有什麼不同呢,ASP仍然是一個集中式計算模型的產物,只不過是披著一層網際網路的外衣。但Web Services卻是一個迥然不同的精靈,它秉承“軟體就是服務”的真言,同時順應分散式計算模式的潮流。而它的存在形式又與以往軟體不同。這種組件模式,小巧、單一,對於開發人員來講,開發成本較低。
在這裡指出Web services不是微軟發明的,同樣也不屬於微軟專有。Web services是一個開放的標準,和HTTP、 XML、SOAP一樣。他們是一個工業標準而非微軟標準,WS-I是為了促進Web Services互通性的聯盟組織,最初是由IBM和微軟所發起,其它的成員包括BEA System、惠普計算機(HP)、甲骨文(Oracle)、英特爾(Intel)和SUN 計算機(Sun Microsystem)。如今網路上存在的大多Web services其實沒有使用.NET構架,Web services具有互操作屬性,你同樣可以使用Windows開發客戶端來調用運行於Linux上面的Web services的方法。
先前提到的接口規範問題,在.NET中,Web service接口通常使用Web Services Description Language (WSDL)描述。 WSDL 使用XML來定義這種接口操作標準及輸入輸出參數,看起來很像COM和CORBA的接口定義語言(IDLS)Interface Definition Languages。接口定義後就必須使用一些協定調用接口,如SOAP協定,SOAP源於一種叫做XML RPC(XML遠程進程調用remote procedure calling)的協定,而Java則根據XML-RPC發展了自己的JAX-RPC協定用來調用Web Services。發布和訪問Web Services的接口就用到UDDI了,這裡我們只需要知道WSDL使用XML定義Web Services接口,通過SOAP訪問Web Services,在internet上尋找Web Services使用UDDI就行了,更多的Web Services將在最後一課介紹。
Microsoft提供了最佳的伺服器構架—Microsoft Windows Server System—便於發布、配置、管理、編排Web Services。為了滿足分散式計算的需要微軟構造了一系列的伺服器系統,這些內建安全技術的系統全部支持XML,這樣加速了系統、應用程式以及同樣使用Web Services的夥伴套用之間的集成。
Microsoft Windows Server System包括:
Microsoft Application Center 2000 - 配置和管理Web應用程式
Microsoft BizTalk Server 2002 - 建立基於XML的跨套用和組織的商業邏輯
Microsoft Commerce Server 2002 – 能夠迅速建立大規模電子商務的解決方案
Microsoft Content Management Server 2002 – 管理動態電子商務網站的目錄
Microsoft Exchange Server 2000 – 用於進行隨時隨地的通訊協作
Microsoft Host Integration Server 2000 – 用於和主機系統之間傳輸數據
Microsoft Internet Security and Acceleration Server 2000 (ISA Server) – internet連線
Microsoft Mobile Information Server 2002 – 用於支持手持設備
Microsoft Operations Manager 2000 – 描述企業級解決方案的操作管理
Microsoft Project Server 2002 - 提供項目管理的最佳方案
Microsoft SharePoint Portal Server 2001 – 查詢、共享、發布商業信息
Microsoft SQL Server 2000 – 企業級資料庫
Microsoft Visual Studio .NET和Microsoft .NET Framework對於建立,發布並運行Web Services是一個完美的解決方案。
深入分析
文章來源:知道,
文章簡介:作者簡述自己的經歷並對.Net和J2EE做些對比,不深入不系統。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
提到.NET和J2EE,一般都會想到它們之間兵戎相見,水火不容的關係,畢竟兩者都在努力地去虜獲程式設計師的青睞,占領更多的市場份額。我無意去鼓吹.NET是如何如何之強大,J2EE是如何如何的成熟,也無意去探究NHibernate,Sprint.NET等等Project的起源,只想從一個程式設計師的角度去看待兩者在互相競爭的過程當中到底相互借鑑了什麼,同時探討一下同時了解兩個領域知識的必要性。好,讓我們言歸正傳。
還記得2003年初,我到了DELL公司實習,所承擔的工作任務就是建立一個Web Application供多個有密切聯繫的部門使用,以提高部門間的協作程度。在選擇用什麼技術來做這個Web Application的時候,我放棄了比較熟悉的ASP,進而選擇了Asp.Net。正是做這個Project,我跟ASP.NET乃至.NET結下了不解之緣。當時第一次接觸到ASP.NET,第一個感覺就是,它比ASP好多了,再也不用像寫ASP那樣在Html嵌套著一堆堆的Scriptlet,動態內容的呈現都包含在一個個方法中,如Page.OnInit()和Page.OnLoad()等等,這些方法讓我看到Client端JS方法的影子。在開發ASP.NET頁面的過程中,我需要做的就是在頁面中引入不同的Web Control或者是HTML Control,這些Controls與HTML標籤是何等的類似,除了它有ASP的prefix和那時看起來如Magic一般的runat="server"。這樣的相似性讓熟悉HTML和JS的我很快掌握了ASP.NET的基本套用,而我也以極高的效率完成了公司分配給我的任務,儘管我對諸如Request、Response、Session和Application這樣的對象並不是十分了解。ASP.NET所帶來的進步是革命性的,難怪有朋友認為ASP.NET是.NET家族中最為成功的產品了。我當時只是拿ASP.NET來跟ASP作對比,其優越性自然顯露無遺,尤其是在控制項設計方面的優勢。事實上直到後來進入J2EE的開發領域,我依然對ASP.NET的開發方式讚賞有加。Microsoft在技術的創新上一直秉持削弱領域開發特性的原則,讓開發人員能夠在不同的開發領域中都可以輕鬆上手,遊刃有餘。ASP.NET的出現帶來了WebForm,而在桌面程式開發中則有WinForm,兩者相通的地方隨處可見,這讓原有的桌面程式開發人員可以平滑的過渡到Web Application開發中來;ASP.NET對於控制項在設計以及使用上的支持堪稱完美,也為網頁設計人員進入ASP.NET開發領域掃除了不少的障礙。反觀J2EE領域,做Swing開發的人員,如果要學習Web的開發,原有的知識幾乎無用武之地了。在這個人氣就是財富的年代,在一定層面上求同存異,讓開發人員能夠一通百通,無疑是一個十分明智的做法。J2EE領域也開始意識到了這一點,將Swing概念套用到Web開發的Wicket Framwork的發布著實是一個極大的進步啊。J2EE在降低Web開發的難度,吸引入門級開發人員方面需要向.NET好好請教一番了。
好,個人經歷接著說。2003年底,我進入了一家軟體公司從事J2EE的開發工作。當時公司技術部門負責人在面試我的時候提到了我缺乏J2EE的開發經驗的問題,我信心滿滿的告訴他,我做過.NET的項目,而.NET和J2EE都是專注在企業級套用上的,因此肯定會很快上手,不會有什麼問題。然而後來的工作證明了平台之間的差異性是很大的,從.NET過渡到J2EE並不是一件輕鬆的事情。沒有了熟悉的Web Control,取而代之的是簡陋的Tag Library;沒有了簡單易用的Event-Driven的方法,呈現眼前的是doGet、doPost、doHead和service這樣看似醜陋的面孔。蛻變的過程是痛苦的,但是蛻變帶來了進化。開發方式的改變讓我可以從一個更加深入的層面去看待Web開發,而我開始重新認識Web Application。Web開發的複雜性在很大程度上源於Http是一個無狀態的連線協定,Web Server不管你是Michael,還是Jordon,只要你在瀏覽器上使用了相同的URL,就會得到相同的資源。在這裡,你必須清楚URL到底是什麼的縮寫。也許你會站出來反駁我剛才所說的結論,但是這種情況在只有靜態HTML網頁的年代是絕對正確的。隨著時代的發展,資源已經不再局限於靜態的HTML網頁,隨之出現了所謂的動態網頁。這裡的動態不是指充滿Flash動畫的網頁,而是指網頁的內容會根據不同的Request而發生變化。雖然Web的內容開始個性化了,但是仍然沒有脫離Client傳送Request,Server返回Response這樣的模式。由於Http是一個無狀態的連線協定,為了能夠識別用戶訪問同一資源的狀態,在J2EE的世界裡,我們就得從Request、Response和Session這樣的對象入手,控制這些對象的Life Cycle。因此,我們哪怕要進行最為簡單的Web應用程式,都必須對Request、Response和Session這樣的對象有充分的了解。關注這些基本的對象,讓我們對於應用程式的Flow有更為準確的把握,能夠更好地進行模組地劃分,便於開發人員進行協作。然而在.NET的世界裡,對Request和Session這樣的對象關注遠不如對Page的關注,從振河兄的Post就可見一斑了。ASP.NET開發降低了開發難度,卻在一定程度上阻礙了開發人員對Web Application的整體把握,正如春魚兄的Feedback中提到的,過分糾纏頁面之間關係,“不利於系統整體架構的良好設計”。J2EE的應用程式可以讓程式設計師在Web Application的整體架構上有一個很好的體現,.NET還是得好好努力啊!建議.NET的程式設計師能夠嘗試著利用J2EE的技術來開發一個簡單的Web Application,我相信這樣的一個過程會讓你對Web開發有進一步的認識。
進入了J2EE的領域,除了開發方式變了,buzz Words也跟著改變了。兩個使用頻率極高的辭彙充斥著每天的工作,一個是MVC,另一個則是Framework。我感慨於Pattern在J2EE中使用的廣泛性,感慨於套用實現了MVC模式的Framework竟然可以讓龐大的團隊協同開發一個Project。那時的我開始相信Pattern的廣泛套用給軟體開發帶來的變化是巨大而深遠的,也開始閱讀《Core J2EE Patterns》並從中獲益。而在.NET的世界裡,對Pattern的重視則遠不如J2EE,儘管這樣的情況在改變。說到了MVC,不得不對這樣一個份量很重的辭彙做些陳述了。jsp的發展經歷了兩個階段:JSP Model1和JSP Model2。在Model1中是JSP和JavaBean的結合,在一定程度上實現了MVC,但是Model與Control之間的耦合仍然普遍存在;而Model2則真正實現了MVC:JSP作為Presentation層,負責數據的顯示;Servlet充當著一個Request Dispatcher的角色,將Request分發至不同的處理Business的模組中,它就是一個指揮官,扛著Controller這面大旗;而VO則是一個數據的載體,是MVC三角中的Model。MVC的概念是進入J2EE開發領域必備的,從你做第一個簡單的應用程式開始,從你看第一篇關於J2EE開發的文章開始,而豐富的開源MVC Framework也成為了我們學習MVC Pattern的良好教材。對J2EE有了初步的認識之後,就可以選擇一些優秀的MVC Framework來研究了,例如WebWork和Spring。這對於學習系統整體架構設計方面是大有裨益的。
也許物極必反真的是一條不變的真理,J2EE領域中對於開發Framework的追求可謂之瘋狂,大家朝這裡看:Wicket - IntrodUCtion。你會發現可以用來開發Web Application的Framework竟然達到了55個,並且還在日益增加。事實上J2EE開發的軟肋不在於Control這個層面,而是在View。許多天才的精力都耗在重複製造輪子上,卻沒有想辦法去完善一個或者多個Framework,這不得不讓人感到痛心啊!在這一點,J2EE是不是得向.NET好好學習一下呢?在.NET的世界裡,最受關注的應該是控制項的開發了,一個設計良好,功能強大的控制項對於提高開發效率無疑是極好的助推器。很多.NET的開發人員都將精力花在設計控制項上,.NET就像一個聚寶盆一樣,不斷匯聚開發人員智慧結晶。在J2EE的世界裡,為了減少這種資源浪費的情況,Wicket Framework的出現了。它強調組件設計和組件重用,讓開發人員集中精力於組件的開發,從而增強Framework的功能已經易用性。但願,Wicket Framework能夠為J2EE世界帶來少許的改變吧!
對比
文章來源:開發者線上,
文章簡介:文章寫的比較早,並且很零散和淺顯。
目前而言J2ee於.net之爭已經開始,由於競爭引起技術的快速發展,將傳統的ASPPHPCGI大大拋在後面,隨著預編輯技術的不斷提高,以後程式設計師將面臨著兩大選擇,一是從傳統的ASP轉行到ASP+(C#) +vb.net的格局,或著投入J2ee +J2se的懷抱。
大家現在可能對與J2ee與.net到底哪裡好,憑什麼說PHP、CGI將無法與這些新的技術競爭呢?
其實J2ee也不是什麼新技術了,97年就有了。最近由於最近單位搞 J2ee的工程,我有性事實的領略到了J2ee + J2se的魅力。
J2ee是JAVA的整體解決方案,J2se是客戶端解決方案,我了解的是IBM的