图 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 中发布它。另外,还了解了如何通过独立引用从客户机访问此服务组件。