Hessian,Burlap是Caucho提供的兩種基于Http的輕量級遠程服務。
???????Hessian像RMI那樣,使用二進制消息來建立客戶端和服務端之間的交流。與其他二進制遠程技術(想RMI)不同的是,它可以移植到其他非Java的語言。
????? Burlap是一種基于Xml的遠程技術,這使得他可以移植到任何可以解析XML的語言中。比起Hessian,它的可讀性更強。和其他基于Xml的遠程技術(如SOAP和XML-RPC)不同,它的消息結構盡可能簡單,不需要額外的外部定義語言(如WSDL或IDL).
?針對前面的例子,看看spring對Hessian和Burlap是怎么簡化。
1.Hessian
1)客戶端的配置,只需要修改bean_client.xml的配置
<beans>
????
<!--客戶端-->
????
<bean?id="pf" class="org.springframework.remoting.caucho.HessianProxyFactoryBean">
????????
<property?name="serviceUrl" ?value="http://192.168.1.8:8080/spring/pay.service"/>
????????
<property?name="serviceInterface"?value="com.open.rmi.ex2.PerfectTimeI"/>
????
</bean>
????
<bean?id="test"?class="com.open.rmi.ex2.DisplayPerfectTime">
????????
<property?name="pf"?ref="pf"/>
????
</bean>
</beans>
Hessian和Burlap是基于Http的,http://192.168.1.8:8080/spring/pay.service是服務端的訪問地址
2)服務端的配置,這里
采用spring的mvc
先在web.xml中增加下面的配置
<servlet>
????????
<servlet-name>Dispatcher</servlet-name>
????????
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
????
<servlet-mapping>
????????
<servlet-name>Dispatcher</servlet-name>
????????
<url-pattern>*.service</url-pattern>
????
</servlet-mapping>

第一節中的bean_server.xml就改配置Dispatcher-servlet.xml文件中了
<beans>
????
<bean?id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
????????
<property?name="mappings">
????????????
<props>
????????????????
<prop?key="/pay.service">hessianService</prop>
????????????
</props>
????????
</property>
????
</bean>
????
<bean?id="hessianService"?class="org.springframework.remoting.caucho.HessianServiceExporter">
????????
<property?name="service"?ref="pt"/>
????????
<property?name="serviceInterface"?value="com.open.rmi.ex2.PerfectTimeI"/>
????
</bean>
????
<bean?id="pt"?class="com.open.rmi.ex2.PerfectTime"/>
</bean>
跟第一節的相比只是更換了代理類,啟動tomcat,在運行TestClient就可以看到輸出結果了
2.Burlap
只要把bean_client.xml中的HessianProxyFactoryBean改成BurlapProxyFactoryBean,Dispatcher-servlet.xml中的HessianServiceExporter改成BurlapServiceExporter,就可以了。
????? 通過上面可以看到,應用從純RMI轉換到Hessian,Burlap是多么容易啊!