在您開發商業整合應用程式時,可能需要使用 JSP 檔、JAR 檔、Web 專案、 Java™ 專案和 J2EE 專案之類的資源。這個主題所提供的資訊有助您設定您的專案和資源, 以便能順利建置和部署到 WebSphere® Process Server 中。
如果 Web 專案位於另一個 EAR 檔中, 則 JSP 檔會放在另一個模組中, 而且它需要匯入項目及匯出項目,才能使用另一個模組中的服務。
以下的部分 JSP 程式碼範例採用模組組合檔中的獨立式參照:
com.ibm.websphere.sca.Service bankService = (com.ibm.websphere.sca.Service)com.ibm.websphere.sca.ServiceManager.INSTANCE.locateService("BankServicePartner"); => "BankServicePartner" 參照名稱取自模組中的 sca.references 檔(例如:<reference name="BankServicePartner">...). 當在佈線編輯器中建立獨立式參照後, 這個檔案即會存在。 com.ibm.websphere.sca.scdl.OperationType operationType = bankService.getReference().getOperationType("openAccount"); => 我們將使用作業類型來取得需要傳遞給呼叫作業的 DataObject 類型 com.ibm.websphere.bo.BOFactory factory = (com.ibm.websphere.bo.BOFactory) new com.ibm.websphere.sca.ServiceManager().locateService("com/ibm/websphere/bo/BOFactory"); => 此為標準方法,用以取得建立商業物件所需的 Factory。commonj.sdo.DataObject input = factory.createByType(operationType.getInputType()); => 建立適當的資料物件種類,而作業會將它視為輸入 commonj.sdo.DataObject customer = input; => 假設我們沒有包裝的輸入,則 if(operationType.isWrapperType(operationType.getInputType())) { => 在本例中,為了呼叫參照,必須傳入定義在介面之 WSDL 檔中的封套。因此, 我們將建立包裝的資料物件,並將它設在封套上(內容名稱取自列入在 WSDL 檔中的綱目)。 customer = factory.createByType(operationType.getInputType().getProperty("customer").getType()); input.set("customer", customer); } customer.setString("firstName", "Bob"); customer.setString("lastName", "Smith"); customer.setString("address", "7 Holly Drive"); customer.setBoolean("isGold", true); customer.setInt("birthYear", 1976); => 上述 5 行是設定 Customer 的屬性。commonj.sdo.DataObject output = (commonj.sdo.DataObject)bankService.invoke("openAccount",input); commonj.sdo.DataObject account = null; if(operationType.isWrapperType(operationType.getOutputType())) account = output.getDataObject("account"); else account = output; => 所傳回的輸出可能會也可能不會包裝。
最佳實務:如果您需要開發 Java 應用程式或匯入將在商業整合模組中使用的 JAR 檔, 您應為程式碼建立一個 Java 專案,並在將使用 Java 程式碼的模組中新增對 Java 專案的相依關係。
商業整合程式庫或模組的 Java 內容不應變更,以免在產生部署程式碼時可能造成問題。因此, 不建議您開發複雜的 Java 應用程式或將 JAR 檔匯入到要使用它們的程式庫或模組中。此外, 當為組合圖中的元件產生 Java 實作時,應以產生的 Java 實作作為呼叫其他 Java 類別的啟動點。
請注意,「商業整合」視圖只會顯示組合圖中所用的 Java 實作和介面。這些會列在使用它們的模組下。如果您需要使用 Java 專案,您可以切換成在 Java 視景中工作。
切換至 Java 視景
請遵循下列步驟來開啟 Java 視景:
在 Java 視景中,兩個已開啟的視景會出現在「工作台」視窗右上方, 您可以按一下下圖所示的「商業整合」視景按鈕,以切換至「商業整合」視景:
最佳實務:如果您想在組合圖中使用匯入項目及匯出項目, 較好的做法是將匯入項目及匯出項目所用的商業物件和介面放到程式庫中以供共用。然後, 在所有會用到這些共通資源的模組中新增對程式庫的相依關係。請避免將相同的商業物件和介面複製到使用它們的不同模組中。
如果您需要在模組中使用 WSDL 檔, 請將它複製到模組中。您可以選擇性地將 WSDL 檔複製到程式庫中, 並在模組中設定對程式庫的相依關係, 以便能使用程式庫的資源。如果您試著從某種類型的專案(如 Web 專案)中拖曳 WSDL 檔, 將會出現錯誤訊息提示您將 WSDL 複製到模組或程式庫中。
您應避免在相依關係編輯器外修改超出模組相依關係。
在您新增對程式庫、 Java 專案或 J2EE 專案的相依關係時, 模組的內容將有所變更。亦即,會按如下所示變更模組的內容:
請使用相依關係編輯器來管理您模組和程式庫的專案相依關係, 而不要編輯其內容。模組和程式庫的內容中設有一些重要的 Java 假設項, 因此您不應修改 Java 內容, 例如,變更其來源和輸出資料夾。