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是多么容易啊!
???????Hessian像RMI那樣,使用二進制消息來建立客戶端和服務端之間的交流。與其他二進制遠程技術(想RMI)不同的是,它可以移植到其他非Java的語言。
????? Burlap是一種基于Xml的遠程技術,這使得他可以移植到任何可以解析XML的語言中。比起Hessian,它的可讀性更強。和其他基于Xml的遠程技術(如SOAP和XML-RPC)不同,它的消息結構盡可能簡單,不需要額外的外部定義語言(如WSDL或IDL).
?針對前面的例子,看看spring對Hessian和Burlap是怎么簡化。
1.Hessian
1)客戶端的配置,只需要修改bean_client.xml的配置










2)服務端的配置,這里采用spring的mvc
先在web.xml中增加下面的配置








第一節中的bean_server.xml就改配置Dispatcher-servlet.xml文件中了














2.Burlap
只要把bean_client.xml中的HessianProxyFactoryBean改成BurlapProxyFactoryBean,Dispatcher-servlet.xml中的HessianServiceExporter改成BurlapServiceExporter,就可以了。
????? 通過上面可以看到,應用從純RMI轉換到Hessian,Burlap是多么容易啊!