程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2EE >> J2EE與電子商務應用

J2EE與電子商務應用

編輯:J2EE
----電子商務的發展對傳統的Web技術提出了強有力的挑戰,由於電子商務的內部邏輯復雜,安全性要求苛刻,商務形式發展變化快,這就要求Web技術提供足夠的復雜度和靈活性以適應電子商務的需求。


----J2EE(Java 2 Enterprise Edition)技術於是脫穎而出,並且日益完善,成為電子商務的主要開發平台。它是一個技術標准,並不是一個產品。符合J2EE標准的產品有BEA公司的Weblogic、Sun公司的NetDynamics、IBM的Websphere,還有包括著名數據庫廠家Informix、Oracle、Sybase在內的上百個產品(具體信息請參見鏈接http://Java.sun.com/J2EE/industry.Html)。它們基本上都是應用服務器產品,因此J2EE平台通常指的是應用服務器的平台。


----但是,在Web服務器之後架設應用服務器,會對Web服務的響應速度帶來較大的影響(盡管上述大多數產品本身都可用作Web服務器,但在內部結構上,Web服務器和應用服務器仍是分開的)。有經驗的J2EE開發人員都會知道,要適應同等數量的用戶,J2EE平台需要更高的硬件配置。按理來說,響應速度是Web服務質量的重要方面,既然J2EE平台降低了響應的速度,那它究竟帶來了什麼好處使電子商務平台的開發者如此青睐它?


面向對象的編程語言


----J2EE平台是建立在Java語言基礎上的,Java是真正面向對象的語言,具有豐富的數據類型和強大的功能,能完成幾乎任何復雜的功能,這是一般Web CGI編程語言所無法比擬的。面向對象的設計方法,不但可以設計龐大而復雜的系統,還可以使Web應用程序具有良好的擴充性和維護性,能夠方便地實現國際化和本地化的功能,深受web開發人員的喜愛。


平台獨立的特性


----J2EE平台獨立的特性包括兩個方面,一是Java語言本身的平台獨立性,二是J2EE標准的平台獨立性。Java是一個跨平台的語言,在任何平台上,只要有Java Virtual Machine,就能在不同平台上執行同一個Java程序。例如,BEA的Weblogic在任何平台下都是同樣的產品,因為它是100%純Java的。


----另外,J2EE標准的平台獨立性使得任何符合J2EE標准的應用服務器之間可以共用標准的組件。也就是說,在Weblogic下開發的組件也能用於Websphere中。這樣,在電子商務應用的開發中可以任意選擇或購買符合標准的通用組件,加快開發的過程。


----J2EE的平台獨立性使程序的移植變得輕松簡單。在J2EE中,你可以把一個Weblogic+Oracle的應用程序移植到Websphere+Informix上,不需要改動任何源碼,只需要進行一些不算復雜的配置即可,這也是J2EE為何如此流行的主要原因之一。


高性能的服務器端編程語言


----Java以前給人的印象是功能強而性能較差的解釋執行語言,實際上從Java 1.2 開始,特別是Java 1.3,性能有了飛躍,即時編譯技術(JIT)使Java的執行效率大大提高。


----由此可見,Java是服務器端編程的優秀語言。但筆者認為,Java不適合客戶端的應用,比如Applet。因為各種桌面浏覽器的JVM版本可能不同,安全設置也不盡相同,會造成應用程序的不通用;而在服務器端,一切盡在你的掌握之中。


J2EE提供了標准的系統框架和服務


----J2EE平台提供了事務處理、對象生存控制、狀態維持、並發控制、安全檢測、資源共享等系統服務。需要這些服務的代價並不高,不用編程,而只要通過簡單的配置就行。這使電子商務開發者從繁瑣的系統設計中解脫出來,將精力主要放在商業邏輯上,提高應用的質量和加快開發的速度。


----標准化的框架結構是以分布式的多層應用體系為基礎,使J2EE應用天然就具有可擴充性和可維護性(如圖)。在系統的任意層面中可以增加新的功能,而不影響原有的系統,這種優點是平時需要花大量的設計、實現的功夫才能達到的,而使用J2EE平台可自然獲得。


適合團體開發


----J2EE的構架非常適合團體開發的模式。標准的結構自然將應用分成表現層、企業邏輯層和數據層。可以使企業中的美工、系統分析員、編程人員各司其職,發揮各人的長處。特別是J2EE構架通用的MVC (Model,VIEw,Control)模式,能夠將系統各個層面的功能獨立開來,使得一個美工修改界面根本不需要和Java程序員打交道。這種構架非常適合團隊開發的模式,提高工作的效率。


可控性好


----J2EE安全控制和狀態控制機制非常完善,這種控制機制使得整個應用擁有統一的狀態轉換規則。這樣,不會讓用戶進入到不該進入的頁面而引起狀態的混亂,增加了系統的安全性。在J2EE中,狀態的可控性使電子商務的開發更加簡單和可靠,為顧客提供更好的服務。


與其他資源的集成


----一個電子商務的應用很大程度上可能建立在原有的信息系統之上,這就要求應用開發平台能夠和遺留系統具有很好的集成能力。J2EE平台以其豐富的系統功能,通過JDBC、JTA、JMS、XML、 JNDI、CORBA等API可以與幾乎所有關系型數據庫、事務處理服務器、消息處理服務器、目錄服務器和郵件服務器等進行無縫的集成,完美地結合成一個整體,保護原有的投資,並且為將來的發展留出廣闊的空間。


----J2EE有如此多的優勢,一定就適合任何電子商務的模式嗎?其實不然,對於用戶來說,在選擇J2EE平台時,一定要考慮以下幾個問題:


是否有足夠的技術力量


----J2EE雖然功能強大,可是它的學習曲線長,對設計人員的要求很高,需要將整個應用設計成多個抽象的邏輯的層次和大量獨立的對象,以及層次之間和對象之間的接口和協議,這都需要較強的技術團體和熟練的編程人員。


----另外,Java語言作為Web服務編程語言也有它的缺點:大部分程序需要編譯(JSP除外),這比起各種CGI Script語言來說是很不方便的,修改、調試、維護工作量都很大。


----整個J2EE技術不是一個“循序漸進”的系統平台。J2EE從一開始就將它所有的技術深度展現給技術人員,面向對象的設計和編程技術也並非短時間就能掌握的,就連一些簡單的應用配置文件也是XML格式的。因此要找一些ASP程序開發者容易,找J2EE工程師可就難了。


是否真需要分布式平台


----各種J2EE的產品都給大家展示了一幅分布式平台的美好畫面:你可以在多台不同的服務器上運行同一個服務應用,能將各種不同J2EE對象分布到不同的服務器上,進行負載均衡,而不破壞應用的整體完整性。這樣就能夠大大提高響應性能,並且大大提高系統容錯能力和高可用性,因為無論哪一台服務器出現了故障,都會有其他的機器接替它的工作。但是,這對於你未必實用。首先,您要確認是否有多台服務器可供運行應用服務器。即使有,也不一定就能得到很好的性能。因為大多數Web應用都是建立在數據庫管理系統之上的,系統的背後一定運行著Oracle8i、Informix Foundation 2000、 Sybase或SQL Server。當有多台應用服務器時,系統的性能瓶頸一定會在數據庫系統。如果數據庫系統性能下降或癱瘓,應用服務器將無法發揮作用。


是否有足夠的經費運行J2EE


----運行J2EE的電子商務平台,除了要多負擔J2EE平台的費用以外,還要負擔硬件平台的費用。因為J2EE的運用會使整個Web響應的速度降低,這主要是因為大量的遠程組件調用的延時和大量的中間對象的維護。因此,對於一些速度是關鍵因素的Web應用,不得不提高硬件平台的質量或數量來提高整個系統的性能。


----因此在選擇J2EE平台時,一定要考慮清楚什麼是對自己最重要的。如果是系統的開放性、可維護性、可移植性很重要,並且用戶狀態維護很復雜,那麼選J2EE肯定會事半功倍;如果是響應的速度、開發的時間和開發的費用是最重要的,傳統的web開發系統就已經足夠了。另外,使用J2EE平台時,深藏在服務中的動態頁面是不會被各種搜索工具查到的,所以,以廣告為主要業務的應用大可不必使用J2EE平台。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved