`

Burlap开发学习

阅读更多

Burlap 简介
Burlap也是有caucho提供,它和hessian的不同在于,它是基于XML-RPC协议的。
1、是基于什么协议实现的?
基于XML-RPC协议实现。
2、怎么发起请求?
根据Burlap提供的API。
3、怎么将请求转化为符合协议的格式的?
将请求信息转化为符合协议的XML格式,转化为流进行传输。
4、使用什么传输协议传输?
Http协议。
5、响应端基于什么机制来接收请求?
监听Http请求。
6、怎么将流还原为传输格式的?
根据XML-RPC协议进行还原。
7、处理完毕后怎么回应?
返回结果写入XML中,由Burlap返回至调用端。

声明服务端接口:

package com.easyway.caucho.burlap.ws;

import java.util.List;

/**
 * 声明服务端相关的服务
 * 
 * @author longgangbai
 * 
 */
public interface BurlapService {

	public String getUserName();

	public List<String> getList();

	public void setGreeting(String greeting);

	public String hello();

}

 实现服务端的服务代码示例如下:

package com.easyway.caucho.burlap.ws;

import java.util.ArrayList;
import java.util.List;

import com.caucho.burlap.server.BurlapServlet;

/**
 * 
 * 在Burlap中服务端的必须继承BurlapServlet 类同时实现相关的服务的接口
 * 
 * @author longgangbai
 * 
 */
public class BurlapWS extends BurlapServlet implements BurlapService {
	private String _greeting = "Hello, world";

	/** 
	 *  
	 */
	public void setGreeting(String greeting) {
		_greeting = greeting;
	}

	/**
	 *
	 */
	public String hello() {
		return _greeting;
	}

	/** 
	 *  
	 */
	public List<String> getList() {
		List<String> strList = new ArrayList<String>();
		strList.add("a");
		strList.add("c");
		strList.add("b");
		strList.add("d");
		strList.add("e");
		strList.add("g");
		strList.add("h");
		strList.add("j");
		strList.add("k");
		strList.add("l");
		strList.add("q");
		return strList;
	}

	/**
	 * 
	 */
	public String getUserName() {
		return _greeting;
	}

}

 

客户端访问代码如下:

package com.easyway.caucho.burlap.ws;

import java.net.MalformedURLException;

import com.caucho.burlap.client.BurlapProxyFactory;

/**
 * Burlap客户端测试代码
 * 
 * @author longgangbai
 * 
 */
public class BurlapServiceWSClient {
	public static void main(String[] args) {
		String url = "http://localhost:8080/BurlapWS/remoting/burlapWs";

		BurlapProxyFactory factory = new BurlapProxyFactory();
		BurlapService basic;
		try {
			basic = (BurlapService) factory.create(BurlapService.class, url);

			System.out.println("hello(): " + basic.getUserName());
			System.out.println("getList(): " + basic.getUserName());

		} catch (MalformedURLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}

 

web.xml配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
	<display-name>BurlapDemo</display-name>
	<servlet>
		<servlet-name>burlapWs</servlet-name>
		<servlet-class>com.easyway.caucho.burlap.ws.BurlapWS</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>burlapWs</servlet-name>
		<url-pattern>/remoting/burlapWs</url-pattern>
	</servlet-mapping>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
</web-app>

 

分享到:
评论
3 楼 gq2010 2015-08-04  
怎么在caucho的官网上都找不到Burlap的下载地址啊?
2 楼 李君寻 2013-06-04  
非常感谢你的讲解。要是能把"Burlap和hessian的不同处"写出来就更好了,再把"XML-RPC协议"简单的介绍一下,就完美了。
1 楼 onedaykoo 2012-03-30  

相关推荐

    java笔试题算法-burlap:Brown-UMBC强化学习和规划(BURLAP)java库的持续开发存储库

    代码库,用于使用和开发单代理或多代理规划和学习算法以及伴随它们的域。 该库使用高度灵活的状态/观察表示,您可以在其中使用自己的 Java 类定义状态,从而支持离散域、连续域、关系域或其他任何域。 规划和学习...

    RLinBURLAP:BURLAP 中的原型设计算法和强化学习技术

    《RLinBURLAP:BURLAP中的原型设计算法与强化学习技术》 RLinBURLAP项目专注于在BURLAP(Behavioral Representations, Utility Learning, and Planning in Action Spaces)框架内研究和实现强化学习(Reinforcement...

    spring开发手册

    通过深入学习这本《Spring2.x 开发手册》,开发者不仅可以掌握Spring的基本用法,还能理解其设计哲学,从而在实际项目中灵活运用,提升开发效率和代码质量。手册中的实例和最佳实践将帮助读者快速上手,并逐步成为...

    spring framework中文开发参考手册

    在服务调用上,Spring的Remoting模块支持远程过程调用(RPC),如RMI、Hessian、 Burlap等协议,使得分布式系统间的通信更为便捷。 最后,Spring Boot和Spring Cloud的出现简化了Spring应用的开发和部署,提供了...

    Spring应用开发实战Web Service WS

    1. **Spring支持的远程访问技术**:Spring框架支持多种远程访问技术,包括RMI(Remote Method Invocation)、JAX-RPC(Java API for XML-based Remote Procedure Call)、Hessian、Burlap、XFire以及Spring自带的...

    Java学习之路-Spring的HttpInvoker学习

    Hessian和Burlap都是基于HTTP的,他们...  Spring开发团队意识到RMI服务和基于HTTP的服务之前的空白,Spring的HttpInvoker应运而生。  Spring的HttpInvoker,它基于HTTP之上提供RPC,同时又使用了Java的对象序列化机

    dwr入门学习第一课范例

    - **Caucho Hessian/Burlap**:DWR使用Caucho的Hessian和Burlap协议来序列化和反序列化Java对象,使得它们可以在网络上传输。 - **AutoComplete**和**Echo**:这两个是DWR提供的一些特殊服务,AutoComplete用于实现...

    spring学习笔记

    Spring框架是Java开发中不可或缺的一部分,它以IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入)为...学习和理解Spring的这些核心概念,对于提升Java开发技能和优化项目结构至关重要。

    AJAX技术框架及开发工具

    它是许多其他JS组件库(如Rico和script.aculo.us)的基础,这些库进一步增强了Prototype的功能,使其成为一种易于学习和使用的底层框架。Prototype尤其适合Ruby on Rails(RoR)集成,因为它在RoR社区中广泛使用。 ...

    Ajax技术实现代码和需要用的ajax的十个地方

    DWR的特色在于其自定义的简单文本协议,这种协议使得数据传输更高效,同时降低了学习和使用的难度。 **Buffalo** 另一个Web Remoting框架,与DWR不同的是,它采用burlap协议,这是一种基于XML的RPC(Remote ...

    javaeye热点阅读

    4. Java、PHPRPC、Hessian、Burlap、AMF3、XML序列化的效率对比:这些是不同的数据序列化技术,对比它们在性能上的差异,对于优化服务端通信和数据传输有指导意义。 5. Effective Java Second Edition中文版:该书...

    外文翻译-Spring的web-MVC-构架模式讲解学习.pdf

    - **技术兼容性**:Spring鼓励与标准技术(如Servlet、JSP、JTA、JNDI、JDBC、JDO)以及第三方工具(如Hibernate、Velocity、Log4J、Hessian/Burlap)的集成。 5. **事务管理** - **Spring的事务管理**:Spring...

    spring2.0中文参考手册

    此外,还有Spring的远程访问支持,如RMI、Hessian和 Burlap,这些都使得分布式系统开发变得可行。 总的来说,"Spring 2.0中文参考手册"是一个全面了解和学习Spring 2.0框架不可或缺的资源。它涵盖了从基本概念到...

    dwr中文教程~转载的,共享一下

    - 简化AJAX开发,降低学习成本。 - 提供强大的安全特性。 - 自动处理序列化和反序列化。 缺点: - 对旧版本浏览器支持有限。 - 如果不恰当使用,可能导致大量服务器请求,影响性能。 通过提供的"DWR中文文档.pdf...

    spring in action 最新

    此外,书中的服务远程调用(Service Remoting)章节讲解了如何利用Spring支持的不同远程调用技术,如RMI、HTTP Invoker、Hessian和 Burlap等,以便实现分布式系统的构建。 在Web层,本书对Spring MVC进行了深度剖析...

    Spring In Action 2005

    讲解如何利用Spring框架实现远程服务调用,包括RMI、Hessian、 Burlap等多种远程调用技术的集成。 **第7章:访问企业服务** 介绍如何使用Spring框架与企业级服务进行交互,如JMS、JNDI、JTA等,以及如何处理复杂的...

    spring远程调用和xfire aegis 源代码上传

    Spring提供了多种RPC实现,如RMI、Hessian、 Burlap和Web服务。 3. **XFire**:XFire是一款基于Java的轻量级Web服务框架,它简化了创建和消费Web服务的过程。XFire支持多种协议,如SOAP、REST,并能与Spring框架...

    外文翻译-Spring的web-MVC-构架模式讲解学习 (2).pdf

    同时,Spring鼓励使用标准技术如Servlet、JSP、JTA、JNDI、JDBC和JDO,以及与其他工具(如Hibernate、Velocity、Log4J和Hessian/Burlap)的配合使用。 6. 选择性使用: Spring的设计使得在需要时可以轻松地添加新...

    Spring技术内幕:深入解析Spring架构与设计原理

    本书适合具有一定Java基础,对Spring框架有一定了解的开发者,尤其适合那些希望通过深入学习Spring框架来提高开发水平的读者。通过阅读本书,读者不仅能够掌握Spring的使用,更能够理解其背后的设计哲学和技术深度,...

Global site tag (gtag.js) - Google Analytics