|
Size: 2973
Comment:
|
Size: 3238
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 3: | Line 3: |
| 老麦的Amowa终于有了一个实现:Buffalo[http://www.amowa.net/buffalo],而且客户端封装的确实不错,整体走了一遍他的JS和JAVA代码,越觉得有意思,尤其核心的Buffalo[http://www.caucho.com/resin-3.0/protocols/burlap.xtp]协议,感觉确实比Xmlrpc来的简洁,上网找了找,还没有Python的实现,OK,那就自己写一个PyBurlap吧,我相信肯定比JAVA来的简洁方便,在配上老麦封装的JS端,肯定会让使用上更加方便:) | 老麦的Amowa终于有了一个实现:Buffalo[http://www.amowa.net/buffalo],而且客户端封装的确实不错,整体走了一遍他的JS和JAVA代码,越觉得有意思,尤其核心的Burlap[http://www.caucho.com/resin-3.0/protocols/burlap.xtp]协议,感觉确实比Xmlrpc来的简洁,上网找了找,还没有Python的实现,OK,那就自己写一个PyBurlap吧,我相信肯定比JAVA来的简洁方便,在配上老麦封装的JS端,肯定会让使用上更加方便:) |
| Line 81: | Line 81: |
| * Burlap是一种类似xmlrpc的技术,只是比xmlrpc更为简洁。这篇文章还不够规范,等完全开发完成以后,也会按照模板的格式详细写出的::) P.S Burlap规范 http://www.caucho.com/resin-3.0/protocols/burlap-1.0-spec.xtp -- Wind |
PyBurlap一个Burlap协议的Python实现
OK,开始第一步,搭建环境 打开尘封以久的Eclipse,建立Burlap的服务器端环境,首先写一个简单的接口IHello
public interface IHello
{
public abstract String hello();
}然后是他的实现
public class HelloService extends BurlapServlet implements IHello
{
public String hello()
{
System.out.println("Hello");
return "Hello World!";
}
}把HelloService当作一个普通的Servlet配置一下,然后把Tomcat跑起来
客户端调用
public class Client
{
public static void main(String[] args)
{
String url = "http://localhost:8080/buffalo/Hello";;
BurlapProxyFactory factory = new BurlapProxyFactory();
IHello basic = null;
try
{
basic = (IHello) factory.create(IHello.class, url);
}
catch (MalformedURLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("now(): " + basic.hello());
}
}以上的代码基本也就是按照Burlap的文档删删改改。 调用后效果如下: 此主题相关图片
http://www.faridea.com/bbs/images/upload/2005/04/21/233055.gif
OK,现在我们尝试在Python中调用这个HelloService,也不用开什么特定的编辑器,只要打开Python的脚本环境即可,然后输入如下命令。 此主题相关图片
http://www.faridea.com/bbs/images/upload/2005/04/21/233125.gif
我们看到在http.getfile.read()之后得到了正确的反馈: '<burlap:reply><string>Hello World!</string></burlap:reply>'
OK,Burlap整个环境流程搭建测试完毕,接下来就是封装我们的PyBurlap了:)
P.S:有关Burlap协议的Specification http://www.caucho.com/resin-3.0/protocols/burlap-1.0-spec.xtp
目前版本0.1a,已经完成了string的传参与接收,实现了<burlap:call>和<burlap:reply>的发送与接收
调用方法如下:
proxy = Burlap("http://localhost:8080/buffalo/Hello")#burlap服务的地址
print proxy.hello("Wind")#调用远程方法hello(str)调用后,成功返回Hello Wind
反馈
Great!!如此easy 的快速实现想法正是PythonIc 精神!不过,可以扫盲一下子?什么是 Burlap?为什么会有此技术诞生? -- ZoomQuiet
Burlap是一种类似xmlrpc的技术,只是比xmlrpc更为简洁。这篇文章还不够规范,等完全开发完成以后,也会按照模板的格式详细写出的::) P.S Burlap规范 http://www.caucho.com/resin-3.0/protocols/burlap-1.0-spec.xtp -- Wind
