`
longgangbai
  • 浏览: 7251059 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Burlap中hessian协议研究-自定义远程协议实现(九)协议信息模型

阅读更多

O(∩_∩)O哈哈~,经过前面的详细研究我们终于学习完了的Burlap的远程服务技术:

现在我们开始编写自己的远程开发技术文档信息

首先说以下我的思路:

        在客户端将请求的信息以对象的信息封装成一个远程访问模型(Call对象)加密后发送到服务端,通过Socket发送到服务端,服务端接收客户端请求解析接受的信息。调用响应的服务端类,得到结果然后将响应响应在封装远程访问模型(Call对象),加密后发送到客户端,客户端解析响应的服务端响应得到相应请求的结果。从而实现远程访问技术^_^!简单吧

       开发远程服务框架我的步骤如下:

     1。开发响应的服务类,必须使用响应的接口服务接口(面向接口编程)

         注意我实现的远程服务使用的JDK代理方式实现,所以必须实现相应的服务接口。如果有时间可以使用从新使用CGLIB动态字节码转换技术实现也可以。O(∩_∩)O哈哈~。 笔者仅仅时提供一个开发远程服务的Demo。(+﹏+)~狂晕   (+﹏+)~狂晕

     2。将响应框架和服务jar文件在客户端根路径放置一份在调用使用。

     

现在开始开发远程服务框架:

 

   package cn.com.huawei.socket.remote.rpc;
/**
 * 远程访问的模型类
 * @author bailonggang
 * 2009-2-21
 * 下午05:22:49
 */
public class Call implements java.io.Serializable {
 /**
  *
  */
 private static final long serialVersionUID = 1L;

 private String className;

 private String methodName;

 private Class[] paramTypes;

 private Object[] params;

 private Object result;

 public Call() {

 }

 public Call(String className, String methodName, Class[] paramTypes,
   Object[] params) {
  this.paramTypes = paramTypes;
  this.params = params;
  this.methodName = methodName;
  this.className = className;
 }

 public String getClassName() {
  return className;
 }

 public void setClassName(String className) {
  this.className = className;
 }

 public String getMethodName() {
  return methodName;
 }

 public void setMethodName(String methodName) {
  this.methodName = methodName;
 }

 public Object[] getParams() {
  return params;
 }

 public void setParams(Object[] params) {
  this.params = params;
 }

 public Class[] getParamTypes() {
  return paramTypes;
 }

 public void setParamTypes(Class[] paramTypes) {
  this.paramTypes = paramTypes;
 }

 public Object getResult() {
  return result;
 }

 public void setResult(Object result) {
  this.result = result;
 }

 @Override
 public String toString() {
  return "ClassName" + this.className + "methodName :" + this.methodName;
 }

}

分享到:
评论

相关推荐

    burlap-spring-demo

    Burlap是一个轻量级的XML RPC协议 这使得他可以移植到任何可以解析XML的语言中 比起Hessian 它的可读性更强 和其他基于Xml的远程技术(如SOAP和XML RPC)不同 它的消息结构尽可能简单 不需要额外的外部定义语言 如...

    Spring配置hessian远程服务

    使用eclipse maven工程搭建hessian远程服务demo 分服务端的整合和客户端 建议阅读相关博客http://blog.csdn.net/heisemuyangquan/article/details/79460528

    burlap-2.1.12.jar

    burlap-2.1.12.jar

    Spring 实现远程访问详解——rmi

    7. JMS:远程访问通过类JmsInvokerServiceExporter和JmsInvokerProxyFactoryBean使用JMS的底层协议实现。 二. 远程访问------RMI 1. RMI远程访问基本流程 1). 服务端定义远程访问接口; 2). 服务端通过...

    Java远程通讯可选技术及原理

    在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、 Burlap、Hessian、SOAP、EJB和JMS 等,这些名词之间到底是些什么关系呢,它们...

    hessian 实例

    远程调用方法就是HttpInvoker:他也是将参数和返回值通过Java的序列化机制进行编组和反编组,它具有RMI的支持所有可序列化对象的...试使用Http协议传输二进制流的,同时又具有Hessian、Burlap(传输xml文本)的优点。

    burlap-2.1.7.jar

    jar包,亲测可用

    Mastering+Resin.rar

    Mastering Resin (英文版) by Richard Hightower and Joseph D. Gradecki ISBN:0471431036 ... Appendix D - Burlap and Hessian APIs Index List of Figures List of Tables List of Listings

    Python库 | burlap-0.9.2.tar.gz

    python库。 资源全名:burlap-0.9.2.tar.gz

    分布式服务架构之java远程调用技术浅析

    在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后...

    学生选课系统中所用的60个jar包

    antlr.jar asm.jar asm-attrs.jar burlap-2.1.12.jar c3p0-0.9.0.2.jar cglib-2.1.jar cglib-nodep-2.1_3.jar commons-attributes-api.jar commons-attributes-compiler.jar commons-beanutils.jar commons-...

    Burlap开发学习

    NULL 博文链接:https://qq85609655.iteye.com/blog/970266

    Spring-Reference_zh_CN(Spring中文参考手册)

    5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的PropertyEditor实现 5.4.2.1. 注册用户自定义的PropertyEditor 6. 使用Spring进行面向切面编程(AOP) ...

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

    DWR和Buffalo都是Web Remoting框架,区别在于DWR使用自定义的简单文本协议,而Buffalo使用burlap协议;DWR的服务器端实现要比Buffalo完善一些……

    Spring中文帮助文档

    2.2.5. 在classpath中自动搜索组件 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@AspectJ 切面的支持 2.3.3. 对bean命名pointcut( bean name pointcut element)的支持 2.3.4. 对AspectJ装载...

    burlap-seed:应该与Ant一起使用的默认项目

    cp ./lib/burlap.jar:./build/jar/burlap-seed.jar main.java.HelloGridWorld java -cp ./lib/burlap.jar:./build/jar/burlap-seed.jar main.java.GridWorldDemo 转换为适用于Windows的斜杠等这似乎在Windows中工作...

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

    (BURLAP) java 库的持续开发存储库。 BURLAP 是一个 Java 代码库,用于使用和开发单代理或多代理规划和学习算法以及伴随它们的域。 该库使用高度灵活的状态/观察表示,您可以在其中使用自己的 Java 类定义状态,从而...

Global site tag (gtag.js) - Google Analytics