Hessian,Burlap是Caucho提供的兩種基于Http的輕量級(jí)遠(yuǎn)程服務(wù)。
???????Hessian像RMI那樣,使用二進(jìn)制消息來建立客戶端和服務(wù)端之間的交流。與其他二進(jìn)制遠(yuǎn)程技術(shù)(想RMI)不同的是,它可以移植到其他非Java的語言。
????? Burlap是一種基于Xml的遠(yuǎn)程技術(shù),這使得他可以移植到任何可以解析XML的語言中。比起Hessian,它的可讀性更強(qiáng)。和其他基于Xml的遠(yuǎn)程技術(shù)(如SOAP和XML-RPC)不同,它的消息結(jié)構(gòu)盡可能簡單,不需要額外的外部定義語言(如WSDL或IDL).
?針對(duì)前面的例子,看看spring對(duì)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是服務(wù)端的訪問地址
2)服務(wù)端的配置,這里
采用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>

第一節(jié)中的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>
跟第一節(jié)的相比只是更換了代理類,啟動(dòng)tomcat,在運(yùn)行TestClient就可以看到輸出結(jié)果了
2.Burlap
只要把bean_client.xml中的HessianProxyFactoryBean改成BurlapProxyFactoryBean,Dispatcher-servlet.xml中的HessianServiceExporter改成BurlapServiceExporter,就可以了。
????? 通過上面可以看到,應(yīng)用從純RMI轉(zhuǎn)換到Hessian,Burlap是多么容易啊!