JAVA 之RMI、Webservice

一:RMI

1、解决什么问题?

解决:JVM之间通信问题,让不同JVM之间对象调用的时候,犹如调用本JVM对象一样。RMI是面向对象的JAVA RPC

2、如何做?

解决:

2.1:定义服务端D、定义客户端A(jdk1.5后客户端的stub和服务端的Skeleton都由JVM自动生成,不需要单独定义

D:由接口1和实现类1组成

A:由接口1组成

2.2:注册服务


  1. MyRmiImpl server=new MyRmiImpl ();

  2.  //获得本地RMI注册表对象

  3. Registry registry=LocateRegistry.getRegistry();

  4.  //在注册表中绑定远程对象

  5. registry.bind("Hello",server);   //类似于表结构里的字段和值

2.3:客户端调用

  1. //获得运行rmiregistry服务的主机上的注 册表

  2. Registry registry=LocateRegistry.getRegistry(host);

  3.  //查询并获得远程对象的存根

  4. MyRmiInterface stub=(MyRmiInterface) registry.lookup("Hello"); //stub是由服务端生成的

  5.  //像在使用本地对象方法那样,调用远程方法

  6. String response=stub.sayHello();


二:WS:

1、执行流程

1206283249.jpg


实现一个完整的Web服务包括以下步骤:

 Web服务提供者设计实现Web服务,将正确的Web服务通过Web服务中介者发布,并在UDDI注册中心注册 (发布)

 Web服务请求者向Web服务中介者请求特定的服务,中介者根据请求查询UDDI注册中心,为请求者寻找满足请求的服务; (发现)

 Web服务中介者向Web服务请求者返回满足条件的Web服务描述信息,该描述信息用WSDL写成,各种支持Web服务的机器都能阅读;(发现)

◆ 利用从Web服务中介者返回的描述信息生成相应的SOAP消息,发送给Web服务提供者,以实现Web服务的调用;(绑定)

 Web服务提供者按SOAP(该协议是基于http的协议)消息执行相应的Web服务,并将服务结果返回给Web服务请求者。(绑定)


你可能感兴趣的:(java,webservice,之RMI)