在意識到軟件架構的重要性后,應用服務器必然成為程序員的一件必不可少的"武器"。對應用服務器技術的透徹理解可以為程序員提供熟悉軟件架構的更大的空間,這種方式影響著軟件工程學文化。它接下來會用一些有用的工具來武裝現代的IT人,提升價值鏈。
本文標題中出現的數字七只是能夠讓我們同時記住的條目數量--我不希望給讀者的壓力過大。
第一種武器:信心——理解應用服務器并不困難
某些技術創造自己的傳奇的方法是很有趣的。我還記得自己在作為程序員時處理包含源代碼注釋(例如"不要放入此處"或者稍微文雅一點"此處危險")的產品。我們感覺非常復雜的代碼是不可治理的。應用服務器也成了相似的情況,人們毫無理由地懼怕的領域。在市場上,很多雇主把人們對于應用服務器的應用知識作為強制性的工作要求。實際上應用服務器并不是很復雜。例如,Sun微系統公司在自己的基于J2EE的應用服務器中包含了大量的文檔信息。你甚至于可以免費下載它,并在一個很基本的Windows xp專業版計算機上運行那些優秀的示例。
Sun的教程記述了大量的代碼示例,演示了J2EE和該公司的應用服務器產品的優勢和易用性。閱讀這些文檔是有價值的,因為它為我們洞察這種極其重要的軟件技術的工作情況提供了入口。Sun的競爭者還有BEA、IBM和開放源代碼應用服務器JBOSS。
BEA甚至于把應用服務器作為它的"透明計算"的第一步。它具有面向服務的架構的優點,在面向服務的架構中,我們可以利用舊的和新的應用程序來簡化不斷增長的靈敏型組織對服務的需求。BEA的觀點是可能出現一種情況:公司改變它們的IT系統和業務流程可以像從一個應用程序中剪切數據然后粘貼到另一個應用程序中那樣簡單。其要點在于這種努力是基于應用程序服務器技術的。
很明顯,應用服務器是成熟的軟件工業中的重要元素。它們內容豐富,并且依靠集中的應用程序治理,答應數據的集中存儲。這種技術是可以使用并且不難理解的。
第二種武器 平臺性——應用服務器是一種軟件平臺
應用服務器趨向于減少企業需要的中間件數量--因為它們是中間件!與包含了防火墻的Windows類似,應用服務器可能吸收一些現有的中間件產品所扮演的角色。這是因為應用服務器自身就是用于軟件部署以供多個客戶端使用的平臺。在應用服務器中使用的軟件有截然不同的生命周期,包括:
· 開發者建立應用程序或組件
· 包裝成可部署的元素
· 部署在應用服務器平臺上
· 被最終用戶使用
· 在再次部署中由開發者更新特性或修補
· 應用程序達到使用壽命后期的時候收回
在很多情況下,它與"正常的"應用程序軟件的治理方式是不同的。這一點對于多層分布式軟件系統尤其突出(在這種情況下客戶端用戶與后端服務器應用程序交互操作)。應用程序服務器與多層軟件應用程序套件之間最主要的區別在于,應用服務器提供了大量的軟件包裝支持。換句話說,應用服務器為很多領域(例如線程治理、數據庫連接、網絡訪問等等)提供了運行時(runtime)支持。應用服務器中的這些設施都是自由使用的,但是在傳統的軟件套件中,它們一般要求人們手動編寫代碼來實現。
簡單的說,應用服務器有效地分割了主機平臺與應用程序軟件的業務邏輯。通過提供對軟件的大量支持,應用服務器技術答應軟件設計者和開發者將精力集中在解決自己特定領域的問題上。適當地使用應用服務器技術可以減少軟件開發的費用。
在上面的軟件生命周期中,我們把標準的應用服務器工具(例如基于ant的工具)當作專用工具來使用。其它的一些與J2EE應用服務器部分綁定的應用程序還包括:
· 治理控制臺
· 部署工具
· 調試工具
· J2EE兼容性檢測程序
治理控制臺用于治理應用服務器上執行的軟件,例如激活/不激活、列舉組件等等。部署工具用于為應用服務器環境預備軟件。調試工具用于輔助解決那些發生的問題。J2EE兼容性檢查對于新軟件的作者來說是非常重要的,因為J2EE組件與標準的java類是不同的。
新聞熱點
疑難解答