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

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

使用Forte for Java開發EJB(下)

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


  在邏輯bean中鼠標右擊一個組件也會彈出上下文菜單,菜單中顯示可用于該組件的特定的子操作集。例如,本地接口的上下文菜單中只提供增加新的create和find方法的操作。而遠程接口的上下文菜單只提供創建新的business方法的操作。
  不使用邏輯bean也可以直接加工bean的接口與類。例如,在需要創建bean的類與接口的子類,或是將其映射到數據庫表時你可能希望直接去編輯它,或單獨對某個類或接口進行編譯。
  在定義bean的新的方法或字段的過程時,會有對話框引導你。這些對話框會提示輸入方法或字段的名稱,字段的類型,方法的返回類型,所有的方法參數及其類型,所有除了EJB必要的異常外的附加異常(必要的異常已經缺省添加了)。IDE 會在bean的類,遠程或本地接口處加入正確的方法簽名。圖4展示了創建一個新的商務方法時的對話框。
   使用Forte for Java開發EJB(下)(圖一)
  Figure 4: 創建一個商務方法
  如何編寫方法的實現:首先,在FORTE FOR java企業版資源編輯器(Source Editor)窗口中打開bean的實現類,接著,找到方法聲明,敲入代碼。注重ForteJava企業版把Java保留字用蘭色顯示。另外,編譯bean時如有編譯錯誤將用紅色標出。
  Bean的引用(reference),諸如EJB引用,環境表項(environment entries),資源構造引用(resource factory references),安全角色引用(security role references)等皆可以在屬性編輯器(PRoperty Editor)中的References 標簽內指定。在這里可以添加,編輯和刪除這些引用和環境表項。References標簽如圖5所示。
   使用Forte for Java開發EJB(下)(圖二)
  Figure 5: 屬性編輯器中的References 標簽
  驗證和編譯EJB
  Forte for Java企業版包含一個驗證EJB(Validate EJB)命令和編譯所有EJB的類的命令。驗證類似于編譯。執行Validate EJB時,Forte for Java企業版會檢查bean的類是否正確遵守J2EE規范。源代碼中的錯誤被提亮顯示,必須予與更正。
  除了可以編譯或驗證單個的bean組件之外,也可以通過企業版的邏輯bean窗口,使用單條命令就編譯或驗證所有組件。瀏覽器窗口中標明了哪些bean需要編譯,哪些bean已經成功編譯了。其中bean的接口與類用一連串的點加以標記的表示需要編譯。如圖6中,名為ProdUCt 和Mysession的bean它們的類、遠程接口與本地接口都需要進行編譯(注重邏輯bean旁沒有這些標記)。相比之下, bean CustomerTbl沒有這種標記,表示它已經成功編譯了。
   使用Forte for Java開發EJB(下)(圖三)
  Figure 6: 瀏覽器窗口中bean的編譯標記
  打包與部署
  編譯之后,EJB類就可以打包到需要的JAR文件、創建一個EJB模塊,然后部署到J2EE應用服務器。使用Forte for Java企業版,不僅可使打包與部署過程縮減到一步,而且IDE 還能生成測試程序---一個jsp客戶端,可以從瀏覽器調用它來測試bean。
  在打包EJB和創建EJB模塊之前,任何有bean的開發者指定的EJB引用都需要人工解析(resolve)。測試客戶端應用程序不能自動處理含有EJB引用的EJB模塊的打包。EJB引用使從特定的EJB模塊的屬性編輯器里解析的。
  在組裝(assembly)過程中,bean的開發者指定的引用和環境表項可以被EJB模塊上執行的操作覆蓋(overridden)。EJB模塊的部署描述符也可以人工編輯。假如覆蓋了表項或引用,新的值將只應用于引用此EJB的模塊。也就是說,并不會影響為EJB設置的初始值。假如同一個EJB也包含在另一個EJB模塊中,則后一個EJB模塊將引用bean的初始環境表項和引用值。一個EJB模塊的覆蓋過程如圖7所示。
   使用Forte for Java開發EJB(下)(圖四)
  Figure 7: 覆蓋一個 EJB 引用
  EJB模塊通過在一系列被引用的java類上執行傳遞性關閉(transitive closure)來協助bean的打包。傳遞性關閉在編譯時會算出一個類中所有可識別的類引用。這樣做的目的是減輕組裝器維護所有被引用的類的負擔。結果,組裝器只需要維護被動態引用的類就行了。
  解析bean的EJB引用之后,就可以鼠標右擊邏輯bean來完成它的打包和部署。然后從上下文菜單中選擇創建EJB測試程序的選項。IDE 將會提示你指定要部署應用的應用服務器。這個過程可以隨意分解成幾個步驟:例如,可以使用命令:New EJB Module(創建新的EJB模塊)將bean的類打包到一個EJB模塊中,接著在此模塊上調用部署的操作,然后再創建它的測試程序。
  為了使部署功能起作用,在此之前必須從IDE 的Server Registry(服務器注冊)里選擇缺省服務器。Server Registry列出你的系統上所有可用的服務器。同時還必須創建服務器的一個實例,啟動服務器進程。
  盡管J2EE應用服務器的部署過程一般是一致的,每一種應用服務器卻都有自己的部署方式。目前,J2EE平臺正在定義一個標準的服務器部署API。此API通過提供標準的在與J2EE相兼容的應用服務器上部署EJB的方法,將會增加EJB在J2EE應用服務器的可移植性。
  鑒于服務器API有望成為一種平臺標準,FORTE FOR JAVA企業版提供了一個可以插入應用服務器軟件的服務器API。該服務器API包含了整個部署過程,從而實現FORTE FOR JAVA企業版對部署過程的標準化。應用服務器廠商可以向該API提供他們自己的插件。基于特定的應用服務器,每個插件的兼容性有所不同。這些插件在FORTE FOR JAVA企業版開發環境和每個支持J2EE的服務器間運行。他們實現服務器API,將各個服務器的部署過程與FORTE FOR JAVA企業版集成在一起。圖8示描述了這個結構。
   使用Forte for Java開發EJB(下)(圖五)
  Figure 8: 應用服務器部署插件
  指定了即將使用的應用服務器,FORTE FOR JAVA企業版就會自動插入相應的服務器API,好預備部署EJB。從開發者的角度看,不管使用哪一種服務器,開發過程都很簡單,直截了當。因為FORTE FOR JAVA企業版懂得不同的服務器之間部署上的差別,它可以自動處理好這些差別。
  測試 bean
  Figure 9: Generating a Test application
  在成功部署這些bean之后,FORTE FOR JAVA企業版會為bean創建一個EJB和一個Web模塊,以及bean的測試程序。其中EJB模塊包含已編譯的EJB類。Web模塊則包含測試客戶端的JSP(Java Server Pages)。要測試bean時,只需簡單地在瀏覽器內調用測試程序即可。
  例如,在部署會話bean MySession時,FORTE FOR JAVA企業版會創建EJB模塊:ySession_EJBModule, Web模塊:MySession_WebModule,和測試程序:MySession_TestApp。如圖9所示。
   使用Forte for Java開發EJB(下)(圖六)
  在瀏覽器窗口內輸入URL來測試應用程序,如以下所示:
  http://server:8000/test application
  (其中server是我們的web服務器的名稱,test application則是開發環境中創建的測試程序的名稱。例如:MySession_TestApp)
  通過瀏覽器視圖可以訪問本地和遠程接口的實例,從本地接口開始。接口中的方法可以被調用。例如,用create方法來創建遠程接口的一個實例。方法需要的任何參數都可由瀏覽器中輸入,它則會顯示方法的返回值。這個視圖還會保留測試會話中創建的一系列對象。比如,圖10顯示的是運行MySession_TestApp時瀏覽器內顯示的測試頁面。
  使用Forte for Java開發EJB(下)(圖七)
  Figure 10: 在瀏覽器中使用IDE 生成的測試程序
  結論
  這篇文章描述了如何使用FORTE FOR JAVA企業版產品來進行EJB的開發,部署與測試,使整個過程更輕易,以便我們把精力集中編寫在bean的商務邏輯,這也是作為bean開發者的正務。這個目標是能夠達成的,因為FORTE FOR JAVA企業版自動治理許多EJB的開發工作,例如保持本地與遠程接口和bean 實現類之間的同步,生成需要的方法,保證正確的方法返回類型,等等。
  開發完EJB后,FORTE FOR JAVA企業版可以一步完成組成bean的類與接口的編譯。接著對已編譯的bean打包和部署到符合J2EE規范的應用服務器上,最后,創建一個測試客戶端。這個測試客戶端可以從瀏覽器一端調用以測試該bean的邏輯。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吉首市| 洛阳市| 滨州市| 通许县| 神农架林区| 甘洛县| 怀柔区| 昂仁县| 漳州市| 鹿邑县| 类乌齐县| 贡觉县| 盐城市| 朝阳区| 阿图什市| 温宿县| 珠海市| 香河县| 罗田县| 九江市| 徐水县| 岳西县| 松滋市| 尼木县| 祁门县| 合肥市| 渑池县| 永宁县| 交城县| 白沙| 错那县| 盐边县| 陈巴尔虎旗| 竹溪县| 吉林省| 饶平县| 伊吾县| 神池县| 新民市| 长子县| 马龙县|