B2B(Business to Business,即企業對企業)電子商務是當今電子商務中最重要、最具發展潛力的一種模式,它使用Internet或各種商務網絡來完成企業之間的商務過程,從而達到提高效率,減少庫存,降低采購、銷售及售后服務等方面成本的目的。一個實現良好的B2B電子商務平臺必須具備高可靠性、高可擴展性、高可用性、高度透明的分布性、高度異構性、高度模塊化和可重用性。為了適應這種需求,J2EE技術應運而生,成為當今大型B2B電子商務的主要開發平臺。
一、基于J2EE的B2B電子商務體系結構
1.電子商務體系結構
通常的B2B電子商務系統應是基于一個分布式的環境,應用B/S模式的三層體系結構,由表示層、邏輯層和數據層組成。
表示層——通過用戶界面負責與客戶之間進行交互。
邏輯層——Web服務器。大部分處理工作發生在邏輯層,可以在一個或幾個服務器上運行,負責電子商務系統業務的處理,實現完整的業務邏輯。
數據層數據庫服務器——負責數據存儲與維護,以及各項數據庫操作,實現事務邏輯和數據邏輯。
2.基于J2EE的B2B電子商務體系結構
J2EE是一種利用Java2平臺來簡化諸多與多級企業解決方案的開發、部署和管理相關的復雜問題的體系結構。J2EE提供了一個企業級的計算模型和運行環境,用于開發和部署多層體系結構的應用。它通過提供企業計算環境所必須的各種服務,使得部署在J2EE平臺上的多層應用可以實現高可用性、安全性、可擴展性和可靠性?;贘2EE模式的三層B/S結構如圖1所示。

三層結構主要由如下三部分組成:
(1)客戶端??蛻舳说闹饕蝿帐秋@示用戶界面,接收用戶事件。通過瀏覽器顯示,Web Server將應答最終以HTML為載體下載到客戶端瀏覽器,經瀏覽器進行解釋,得到最終的用戶界面。
(2)中間件服務器。中間件服務器由Web服務器和應用服務器兩部分組成,有的中間件將這兩部分集成到了一起,如BEA Web Logic。應用服務器是中間件的核心部分,是真正實現業務功能的服務。結合圖2,具體的實現步驟是:Web服務器接收來自Web客戶機的請求,并把這一請求轉送給控制器Servlet,Servlet對EJB/JavaBean組件模型進行必要的操作,然后把處理結果轉發給JSP視圖;JSP視圖對模型進行格式化以備顯示,并把HTML結果回送給Web Server,Web服務器再把信息回送給Web客戶機。
(3)數據庫服務器。數據庫服務器是業務對象的屬性得以永久性保存的載體。對象持久化工作通常需要一個關系數據庫。目前用得較多的關系型數據庫有Oracle,DB2,Sybase等。
3.基于J2EE的B2B電子商務系統主要特點
(1)J2EE平臺是建立在Java語言基礎上的,其面向對象的設計方法,可以使開發的電子商務應用程序具有良好的擴充性和維護性。
(2)J2EE平臺獨立的特性使得基于J2EE開發的電子商務應用不依賴任何特定操作系統。只需開發一次就可部署到各種平臺。具有較好的可移植性,這在電子交易市場這種由眾多企業參與的典型異構計算環境中是十分關鍵的。
(3)J2EE框架結構是以分布式的多層應用體系為基礎,使J2EE應用天然就具有可擴充性和可維護性。
(4)J2EE作為是一種基于組件的分布式應用技術,把商務邏輯從一般的應用中分離出來;每一種組件都有容器提供相應的環境,以實現對事務、安全性、組件的生命周期和資源的管理等功能。
(5)J2EE安全控制和狀態控制機制非常完善。J2EE簡化、統一的安全模型為電子交易市場的開發提供了更大的靈活性和更好的安全控制。
(6)一個完善的電子交易市場要求能與企業的原有的信息系統進行集成,而J2EE平臺以其豐富的系統功能,通過JDBC、JTA、JMS、XML、JNDI等API可以與幾乎所有關系型數據庫、事務處理服務器和郵件服務器等進行無縫的集成,有效的保護了企業原有的投資。
二、基于J2EE開發B2B電子商務系統的方式
(1)JSP(Java Server Page)。JSP是一種基于Java的技術,它其實是一種高層的Servlet。但在執行時有一些不同。JSP引擎將它和它所在的HTML文件一起合成Servlet的代碼,其執行就和Servlet的一樣。通常在JSP頁面中可以使用JavaBean來進行更加靈活的處理。
(2)Servlet。Servlet可以被看作是服務器端的applet,它通過ServletResponse以及ServletRequest這兩個對象來輸出和接收用戶傳遞的參數,然后在內部的方法中執行操作,最后將處理結果返回給客戶端。在集成化的工具中都已經構建好一個框架,程序員只需要熟悉html標簽以及熟悉一般的java語言就可以進行開發了。
(3)EJB。EJB如果除去它的語言特點外,非常類似于微軟的DCOM。EJB有一個自己要存活的容器,為了讓客戶對其進行透明調用,它還必須有一個本地和遠程接口,同時還應該有一個相關的配置文件。采用集成化的開發工具,可大大減少工作量。如在JBuilder中通過配置相關的服務器路徑、容器信息,就可以通過模板來完成一個EJB組件的開發,非常方便。在開發過程中,建議的開發方式是在會話bean內部調用實體bean。
三、基于J2EE的B2B電子商務系統實現
下面僅以產品搜索和生成訂單為例,簡單說明在傳統B2B電子商務系統中如何通過核心應用程序整合,實現基于J2EE的B2B電子商務系統。
客戶在搜索向導頁面填入搜索條件后,在User Search表中就會增加相應的記錄,此時該表中ID列為自動加一的序列,User Session為系統自動生成的唯一串號,唯一標識該客戶的該次訪問。User Name此時記為Guest User Psw為空。Order Id=User Session。其余各列即為客戶所定義的搜索條件。這部分的數據庫操作通過一個JavaBean完成,非常安全高效,同時大大拓展了編程人員的可操縱范圍。JavaBean的具體實現過程如下:
(1)編寫Java文件,定義名稱為GetInfo的公共類public class GetInfo,在此公共類中編寫函數public void saveToDB(String order id),將數據庫操作功能代碼在此函數中實現。這里通過JDBC-ODBC橋加載JDBC驅動程序,來建立和數據庫系統的連接。連接成功則返回一個Connection類的對象。然后創建Statement聲明,執行SQL語句,完成對數據庫的操作。
(2)編譯Java文件,編譯通過后將產生相應的class文件,否則返回出錯信息。
(3)在JSP文件中調用JavaBean。生成一個GetInfo類的reqInfo對象,然后調用reqInfo對象的方法saveToDB(),完成對數據庫的操作。
當客戶根據搜索向導填完所有信息后,系統會自動給客戶和OxFind工作人員同時發送Email。發送Email功能通過JavaMail組件完成,非常便捷。工作人員根據Email啟動OxFind后臺服務系統,通過人工輔助工具幫助客戶搜索所需商品。
(作者單位:南京工程高等職業學校)