Petals ESB 开发之一 代理Web Service

       今天要做的工作有如下三个:

       1)制作一个HelloESB的Web Serivce并且发布在中间件服务器上(Tomcat)。

       2)提供者(provide):把HelloESB发布在 Petals ESB总线上。

       3)  消费者(Consume):把提供者HelloESB服务组件发布出去或者消费。

       测试服务

       一、制作HelloESB 的Web Serivce.

              简单的使用XFire制作了一个Hello的Web Service,后附代码,核心代码先贴出来,以便看客了解工作思路。

      接口类IHelloESB.java:

/**
 * Hello Web Service 的接口类
 * @author Dukati
 *
 */

public interface IHelloESB {
	/**
	 * 喂!跟大家打个招呼!
	 * @param message 你的信息
	 * @return
	 */
	public String hello(String message);
	
}

    实现类HelloESBImpl.java:

   

/**
 * Hello Web Service的实现类
 * 
 * @author Dukati
 * 
 */

public class HelloESBImpl implements IHelloESB {

	public String hello(String message) {
		return "Hello " + message + ",I am here.";
	}

}

    这里WAR包可以在附件Hello.war当中下载,把你的Web Service发布在Tomcat服务器上。

    本人发布完成的地址是:http://localhost:8090/Hello/services/HelloESB?wsdl,你可以把这个WSDL另存为HelloESB.wsdl,保存后是一个XML文件,不能是一个HTML的网页文件。
     不保存为HelloESB.wsdl也可以,只是使用Petals studio时自动导入在Windows环境下,HelloESB.wsdl多出一些空格之类的东东,不好解决。

     如果你是一个懒人,你也可以直接下载HelloESB.rar,修改一个具体地址就可以。

      二,提供者(provide)

      这次要借助于Petals Studio来完成,这种使用方法有点像IBM的ESB,Oracle的ESB可以通过网页配置的方法直接完成提供者和消费者的任务。如下的示例把HelloESB发布在 Petals ESB总线上的示例。

      第一步,创建服务组件:如下图所示

     

     创建信息如下:

    

      因为暂时无提供者和消费者,所以这里先什么也不选择,等一会儿创建。


     点击完成后,会看到Service Assemblies下面有一个组件项目了,HelloAssemblies,默认打开jbi的图形配置界面。

      科普:JBI(Java Business Integration),是Java业务集成,多指规范。它是一种企业服务总线,用于形成一种关键基础设施片段,JBI的主要目的是提供一个基于服务的平台作为对现有Java/J2EE平台功能的扩展。

     第二步 创建服务提供者。

在Service Assemblies下面的HelloAssemblies,右键创建一个提供者,如下图所示。



 选择界面如下:



 这个界面,要选择刚才的WSDL的文件,会自动生成接口,服务和终端。如果你的Web Service不能直接访问,需要通过代理才能访问的话,可以在结束这个配置后,通过高级配置自己定义下。


保存消费者的名字如上,自动生成滴!继续Next


说明一下参数:

Soap Version:Soap的协议版本支持1.1和1.2

Chunked Mode:默认是False,有些Web Seriver在Http传输头时,使用Chunked编码。一般都没有,选择False

Cleanup Transport:调用结束后,是否清除连接。默认True,这个对性能有影响 。
 点击完成,则结束提供者的编程。

     第三步,把提供者服务加入到服务组件当中.


  如上图所示,操作的顺序是:HelloAssembly->jbi.xml->New->select su-SOAP-HelloESB-provide->OK.

 全部保存工作空间,然后导出服务组件包。

 如下图所示:



 
 得到HelloAssembly.zip包,其实,你现在这个包可以直接Petals ESB运行时的install目录,让ESB进行自动 安装,状态如下面的。

 其中的LINK应该连接到他的代理Web Service服务,但是如果只有提供者,只是把Hello Web Service提供给Petals ESB来调用,在没有创建消费者时,Link是不可用的。

    第三步,创建消费者

   消费者(Consume):把提供者HelloESB服务组件发布出去或者消费。方法也很简单,跟第二步当中的一样,进行一步一步操作,这里贴图出来。

    先创建消费者项目

 
 配置界面如下

 

 继续下一步,如下图所示:



 最后一步了。点击Finish

 然后在服务组件当中,导入刚才的消费者,如下图所示:



 然后保存所有项目,导出为安装部署zip文件,如下图所示。


     已经完成了开发的工作,接下来就是安装和部署。得到HelloAssembly.zip包,直接放在Petals ESB运行时的install目录,让ESB进行自动 安装,完成后,你可以通过Petals WebConsole得到如下的消息。

     开放和部署已经完成,下面进行测试。

     测试服务

    检查安装是否成功,如下标识表示已经成功!

 

            接着检查服务:

            

 

        其中这个服务默认的放在http://localhost:8084/petals/services/HelloESBPortType?wsdl.你可以通过SoapUI来进行测试,测试结果如下:



 

      呵呵。全文完成。

      

 导读:

  1.  Petals ESB 简介 
  2. Petals ESB 安装部署

  3. Petals ESB 开发之一 代理Web Service 

  4. Petals ESB 开发之二    协议转换
  5. Petals ESB 开发之三    服务消息转换

猜你喜欢

转载自heweiya.iteye.com/blog/2003410
ESB