圖 5. 將介面與產生的服務元件相關聯
現在介面已與組件關聯。我們可以通過使用“Generate Implementation”選項產生實現的架構。
圖 6. 為新服務元件產生實現
圖 7. 將實現添加到產生的架構中
我們需要在上述類中添加 convert 方法的實現,如下所示:
清單 1. Convert 方法實現
public Double convert(Double celsius) {
double dCelsius = celsius.doubleValue();
double fahr;
fahr = (((0.9/0.5) * dCelsius) + 32);
return new Double(fahr);
}
將服務元件與獨立引用關聯
接下來,我們將建立獨立引用,並將其與服務元件相關聯,以便 JSP 客戶機能夠通過獨立引用訪問該組件。
圖 8. 建立獨立引用
我們可以通過“Add Reference”按鈕將 TemperatureConverterInterface.wsdl 與獨立引用相關聯。預設情況下,獨立引用將被命名為 TemperatureConverterInterfacePartner。
圖 9. 將獨立引用與服務元件串連
建立客戶機,並通過獨立引用訪問服務
接下來,我們需要開發客戶機 JSP 來測試服務元件。此 JSP 將允許使用者輸入攝氏度值。隨後 JSP 會將該值傳遞給服務,以將其轉換為華氏度,並最後顯示結果。
圖 10. 新 JSP 檔案模板
將隨後使用下面所示的 ServiceManager 類通過 JSP 調用組件。
清單 2. JSP 實現
String cel = request.getParameter("celcius");
if(cel != null && cel.length() > 0){
try{
ServiceManager serviceManager = new ServiceManager();
Service service = (Service) serviceManager.locateService
("TemperatureConverterInterfacePartner");
Double celDouble = Double.valueOf(cel);
DataObject respObject = (DataObject) service.invoke("convert", celDouble);
if(respObject!= null){
out.println(respObject.getDouble("Fahrenheit"));
}
}catch(Exception e){
//handele it
}
}
打包並在 WebSphere ESB 中部署應用程式
組件和客戶機現在已經準備好,可以打包並在 WebSphere ESB 中部署,以便進行測試。將應用程式匯出為 Integration Module EAR,如下所示。
圖 11. 將項目作為整合模組匯出
圖 12. 整合模組匯出
在 WebSphere ESB 中通過 Admin Console 部署 EAR 檔案,並在瀏覽器中訪問其“URL”。
圖 13. 最終輸出
結束語
通過本文,您已經瞭解了如何使用自底向上方法(從介面到實現)建立服務元件以及如何在 IBM WebSphere ESB 中發布它。另外,還瞭解了如何通過獨立引用從客戶機訪問此服務元件。