国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

回眸Java10周年:J2EE從起源到目的一

2019-11-18 12:26:27
字體:
來源:轉載
供稿:網友

  起點
  
  在“J2EE”這個縮略語被第一次介紹給世人的時刻,也許沒有幾個人可以預料出它在日后的奇異歷程。那是在1999年6月的javaOne年會上,時任Sun公司Java企業開發部門主管的Mala Chandra興奮地預告了Java世界的這位新成員。
  
  那些不熟悉背景的聽眾們,揣摩著她演說中出現的一串串全新術語,表情大概又是驚喜、又是迷惑:一個完整的“多層企業開發架構”、以“容器”和“組件”的形式提供服務、一套“廠商中立的開放技術規范”、對開發者隱藏了不同平臺和“中間件”的技術細節、實現了企業級應用間的“無縫集成”等等。
  
  在今天的開發者看來,這些似乎都已經是老生常談,但在當時的場景下,閃動在幻燈片上的每一個口號,都意味著聽眾們事后又要經歷一段困難的學習過程。
  
  幸虧Chandra有一副了不起的口才;這位本科念建筑學的印度裔高層主管,談起軟件架構來也有特強的空間想象力。她清楚地說明了設計J2EE架構的兩個初衷:首先,對于廠商,J2EE意味著一套開放標準,加入這個標準,他們的產品就可以運行在各種不同的操作系統和工作環境下,成為一個成熟的企業運算體系中可替換的部件。
  
  其次,對于開發者,J2EE是一套現成的解決方案,采用這個方案,企業應用開發中的很多技術難題(包括跨平臺移植、事務處理、安全性等等)就會迎刃而解,“信息像一條不間斷的河流,經過各種各樣的平臺和設備,從企業應用系統的這一端流向那一端”。
  
  要想理解這段話在當時的實際效應,我們仍然要把時間指針撥回1999年。除了預備迎接千年蟲之外,99年你做了什么?為了回答這個犀利的問題,我翻出6年前的工作記錄,發現了自己那時參與的一個項目的規格說明書,它正好能提供一幅“Java企業開發”在1999年的標準照。
  
  這是一家日本知名IT廠商的企業信息治理系統,運行在NetScape 3.0 Gold瀏覽器中的Java Applet界面,通過一個專用的中間層系統與Oracle 8數據庫連接。這個中間層已經相當現成、完善,能夠提供遠程對象調用、事務處理等一系列的底層服務;留給我們的任務只是完成服務器端業務對象代碼,以及相應的客戶端交互開發。
  
  除了Applet客戶端有些非凡之外,上述系統與今天常見的J2EE架構很接近;尤其是業務對象編碼也由home類、PK(主鍵)類、entity類等部分構成,很多機制都與EJB如出一轍——只不過這些類并沒有繼續javax.ejb包的接口,而是采用了專用的API。它與EJB之間的相似不像是偶然的,設計者肯定參照了Sun在1997年底推出的EJB 1.0技術規范。
  
  換言之,在J2EE誕生伊始的語境中,市面上已經存在著很多程度不一的“準J2EE中間件”了。它們主要用于解決三大類問題:事務處理、分布式對象治理和Web請求處理。首先,事務處理治理器(Transaction PRocessing Monitor)一直是高端企業計算領域的熱門產品,聞名的應用服務器廠商BEA,正是通過收購事務處理軟件Tuxedo進入中間件市場的。另一方面,從90年代初開始,越來越多的人把“N層分布式對象架構” 當成傳統的客戶端/服務器架構的替代方案。
  
  那時剛剛興起的CORBA技術是推動這一趨勢的重要力量(比如說,前面提到的那個由日本廠商自行開發的專用中間層,就采用了CORBA作為基礎架構)。最后,Java技術在Web領域中的應用也是當時初露頭角的熱點。
  
  1997年6月,Sun在發布一款“Java Web Server”的同時第一次公布了Servlet API;沒想到這項技術副產品(連同1998年問世的jsp)正好迎合了廠商的戰略需要。對于上面提到的N層架構來說,HTTP服務是一個非常理想的前端;所以基于Java的Web引擎,也在此時成了企業級Java解決方案的一個必不可少的部分。
  
  Java、Web、事務、分布式對象,這幾股開發潮流匯合在一處,形成了當時最熱門的產品“應用服務器(application Server)”或“中間件(Middleware)”。
  
  為了給定語“最熱門”作個注釋,我們可以參照一下BEA公司在1998年收購Web應用服務器廠商Weblogic的成交價:1.92億美元。而這并不是一樁孤立的收購,NetScape和Sun也以相近的價格買下了另外兩家企業Kiva和NetDynamics。
  
  而這也正是J2EE規范出臺的背景:幾乎所有要廠商都推出了、或是正在趕制自己的應用服務器產品,但這個“應用服務器”究竟應該是什么東西,競爭者們又各有表述、莫衷一是。
  
  說到這里,我們才梳理出了J2EE技術規范的第一個版本在1999年12月問世的實際意義。首先,它為Java企業開發提供了一幅清楚的全景,各項分支技術在這個領域中的地位和作用得到了客觀、準確的定義。
  
  至此大家才對一個Java企業解決方案的構成要素有了基本共識。其次,它使用“容器”和“組件”等概念描繪了Java企業系統的一般架構,明確地劃分了中間件廠商和應用開發者的職責所在。
  
  最后(但絕非最不重要地),J2EE通過一套公開標準規定了應用服務器產品的具體行為,在執行此標準的廠商產品之間實現了一定程度的可替換性和互操作性。
  
  當時的媒體用“B2B開發的默認標準”之類的說法歡呼這項里程碑式的成就——那些撰稿人哪里知道,在J2EE與那個被稱為“B2B” 的短命新貴之間,其實并不會有太多故事發生;同樣,他們也不會想到,J2EE要想成為一種真正成熟的開發范式,前方還有一段遠為艱辛的旅程。
  
  社區的形成
  
  記得Kruglinski在名著《Inside Visual C++》的某個版本中給出了一個Web瀏覽器的代碼例子;在這一節的開頭他說到:假如你幾年前開發了一個Web瀏覽器,那肯定會給你帶來上千萬的收益;但假如你現在才想到開發這個東西——那也就是個C++語言的練習罷了。
  
  在今天的程序員眼中,應用服務器似乎也成了價格低廉(假如不是全然免費)的日用消費品。所以,想要理解它們在那幾年的大行其道,就非得借助Kruglinski這樣的聰明不可。
  
  在1999年底,市面上可以找到30種以上自稱“Java應用服務器”的產品,可見當時這類軟件是網絡風險投資的寵兒。但是此時出臺的J2EE規范就像是一陣席卷整個產業的勁風,在一夜之間,所有人都有了判定什么是一個“應用服務器”的權威途徑。
  
  為了獲得一張J2EE競技場的入場券,各家廠商面臨兩項考驗:首先,要具有能夠覆蓋J2EE中所有主要技術的產品線。這在當時是一項非常苛刻的要求,在沒有開源產品可供參照的情況下,短時間內推出包括EJB容器、Web引擎和JMS中間件的整體解決方案,這決不是隨便哪家創業公司都能辦到的。
  
  完成了若干次成功的并購之后,BEA在這一點上搶占了先機,完整的產品線使它成了人們心目中的首選J2EE平臺提供商。其次,要讓產品通過Sun的J2EE兼容性測試。要做到這一點同樣不易:就連IBM的WebSphere也一時還沒達到百分之百的EJB支持。
  
  到2000年底為止,共有15家廠商能夠提供完整的J2EE解決方案,其中9家(包括Sun本身)實現了“J2EE兼容”,他們中間包括了日后這個領域的主要競爭者。毫無疑問,這是一次非常殘酷的行業洗牌,但留在場內的廠商也相應地形成了推動J2EE發展的主體力量。
  
  上面說過,在它的孵化階段,Sun的J2EE團隊主管是女強人Mala Chandra,她本人雖不是工程師出身,但對技術有著很強的感知能力和想象力;J2EE一出臺就能夠為人們提供一幅完整、直觀而不失深邃的圖景,此中當然有Chandra本人的大量貢獻。
  
  在她直接領導下工作的幾位工程師,也都是Sun內部非常杰出的人才。無論是制定了JDBC、JMS等規范的Mark Hapner、JavaMail的設計者Bill Shannon,還是EJB的主要設計者Vlada Matena,后來都是業界一言九鼎的技術領袖。
  
  這個班子的合作時間并不太長:2000年左右的那個時期正是IT界創業的黃金年月,Chandra很快就和Sun公司Java部門的總裁(也是創造Java的功臣之一)Alan Baratz一起,到一家剛起步的Email中間件公司Zaplet淘金去了;捷克裔的開發天才Matena也離開Sun開辦了自己的公司。留下的兩個人Hapner和Shannon先后擔任了J2EE技術的首席設計師。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 博乐市| 巴彦淖尔市| 鄂托克旗| 新河县| 永兴县| 穆棱市| 贺兰县| 札达县| 金乡县| 红安县| 壶关县| 双流县| 桐庐县| 钦州市| 伊吾县| 大理市| 绿春县| 云安县| 信阳市| 闽清县| 邯郸市| 于田县| 苍溪县| 和田市| 利川市| 陈巴尔虎旗| 叙永县| 集贤县| 五华县| 塘沽区| 延安市| 郯城县| 珲春市| 微山县| 兴和县| 达日县| 长岛县| 吉首市| 邢台市| 包头市| 曲阜市|