面向對象數據庫技術在電子商務中的應用(下)
之前為大家介紹了面向對象數據庫技術在電子商務中的應用的部分知識,即面向對象數據庫技術在電子商務中的應用(上),下文會繼續為大家介紹面向對象數據庫技術在電子商務中的應用。
2.3軟件體系結構
整個系統既要和原有企業管理進行結構上的整合,又要使整個系統結構具有延續性和可擴充性,所以我們將電子商務系統應用體系結構分為三個部分:用戶表現層、業務邏輯層、數據服務層。該三層體系結構架構的電子商務系統有利于資源的優化。由于一個電子商務系統功能被分為三個部分,因此可以根據各層負載的情況,可升級以相應的硬件平臺來滿足不斷增加的負載需求,使得系統具有良好的可擴展性。當由用戶表現層向業務邏輯層發出請求時,業務邏輯層決定使用哪個數據源來滿足其請求,通過使用相同的調用接口,電子商務邏輯層就可以對任何可用的數據源進行訪問。同時,訪問特權又可以指定或內置于三個層次的每一個層次中,以便提供三個級別的安全性。
2.4對象交流及子表的操作
對象之間的“交流”是對面向對象數據庫訪問的基礎。如果把面向對象數據庫看成是一個系統,那么存儲于面向對象數據庫中按照一定數據模型和結構關系組織起來的數據對象,就是這個系統中的一個個子系統。敏感對象所能夠接收的消息,實際上是根據對象中可能的操作來決定的。每一類操作設計一類消息,稱之為消息模式,它規定了消息的基本格式。在給定的消息模式中設定一定參數,就可以形成具體的消息,對應對象中的各種具體操作。一個對象可以接受多種消息模式,對應對象內部的多種消息具體操作。施加子表的約束主要是為了防止碎片的產生。一個明顯的區別是,在一些情況下,一個子女(子表中的記錄)只有在當其兄弟存在時才能被刪除或修改,如在O-M,M-M約束中,即最后一個存在的子女是不能被刪除或修改的。此時,可以對父記錄進行即時的更新,或者禁止該操作。而子表約束的實現可以通過在數據庫中加入觸發器;更合理、可行的方法是將子表一方的限制,在業務層中實現
2.5對象布置的實現
Servlets和EJBs都需要被部署,然后J2EE服務器才能管理他們。部署的主要步驟如下:創建EAR-JAR文件;將EJB和Web模塊組合,在部署描述符文件中加入結構和裝配信息;加入安全角色和環境屬性;運行效驗工具,找出模塊中的錯誤;如果沒有錯誤,則執行裝配程序,運行無誤后,則進一步創建J2EE應用。實現的關鍵代碼如下所示:
import java.rmi.*;
import javax.ejb.*;
public interface ShoppingCartEJBRemote extends EJBObject
{
…}
當一個Servlet調用EJB對象時,需要先通JNDI服務搜索,一旦獲得對象的引用,便可以找到其Home Interface:
try{
InitialContext ctx=new InitialContext();
Object ref=ctx.lookup("t3://localhost:8080/Shopping-
CartEJB");
ShoppingCartEJBHome homeCart=(ShoppingCartEJB-
Home)
PortableRemote0bjec.narrow(ref,ShoppingCartEJBHome.
class);
}
catch(Exception e){
e.printStackTrace();
}
獲得會話Bean的Home Interface后,通過它的create方法來創建EJB的遠程接口對象。最后利用Remote Interface,調用EJB商業方法實現客戶要求的功能,如將商品添加到購物籃,購買商品:
ShoppingCartRemote=ShoppingCartHome.create("Your-
Company","000001");
ShoppingCartRemote.addGoodsltem("nut",7);
ShoppingCartRemote.addGoodsItem("screw cap",8);
ShoppingCartRemote.purchase();
結語
面向對象數據庫系統是為了適應數據庫應用領域的不斷擴大和需求的日益復雜而研究開發的,經過廣大研究工作者的努力,己有一些研究成果,出現了一些面向對象數據庫系統的產品和原型,并且在電子商務中有了一定的應用。但是,要真正使其象關系數據庫一樣被廣泛應用,還需要進一步的工作。一方面,面向對象數據庫系統本身還不夠完善,還需要深入的研究和探討;另一方面,要讓用戶接受一種新的數據庫系統還需要一段時間。希望上文中講到的內容能對大家有所幫助。
【編輯推薦】