首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

RMI与Web服务.什么是Java2Java远程处理的最佳选择?

RMI(Java远程方法调用)与Web服务是Java技术领域中两种重要的技术。

RMI是一种Java服务器端到客户端之间的远程通信技术,用于在分布式环境下进行跨进程或跨机器的交互。在Java虚拟机(JVM)内部定义了一个远程调用的接口,客户端和服务器之间通过Java语言编写的类实现这个接口,并传递参数、返回值以实现交互。

Web服务是一种基于HTTP协议的技术,可以跨平台、跨操作系统的服务。它可以将不同的应用程序、数据、资源结合在一起,构建一个分布式、可扩展的服务。通过Web服务的API(Application Programming Interface),客户端可以访问这些服务。

总的来说,RMI是一种Java的远程通信技术,Web服务是一种基于HTTP协议的应用程序接口,它们都可以在分布式环境下实现客户端和服务器之间的通信交互。在开发过程中,可以根据项目的实际需求选择使用哪种方式进行交互。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

为什么 NodeJS 是构建微服务的最佳选择?

这些服务是松散耦合的,可独立部署。 这种架构的出现是为了解决旧的 Web 应用开发的单体方法。在单体软件中,所有的东西都是作为一个单元构建的,所有的业务逻辑都被归入一个广泛的应用。...如果有的话,或许你应该考虑转向微服务。如果没有,那就坚持下去——没有必要把时间花在一个根本不存在的问题上。 微服务通信是如何工作的? 由于服务之间彼此独立,所以与微服务的通信需要好好选择。...我们的另一个选择是异步通信,这是一个非阻塞模式。如果你想要一种有弹性的微服务,那么,与同步通信相比,异步通信是一种更好的选择。在这种情况下,客户端会发送一个请求,收到请求的确认,并将其遗忘。...为什么 NodeJS 用于微服务? 在构建微服务时,有很多顶级编程语言可供选择。NodeJS 就是其中之一。那么,为什么 NodeJS 是最佳选择呢?...通过上面的代码,我们使用 ClientProxy 注入一个新的对象,代表与我们的用户 - 微服务的连接。这个 NestJS 类提供了几个内置的工具来与远程微服务交换信息。

1.8K20

web开发中 web 容器的作用(如tomcat)什么是web容器?web容器的作用容器如何处理请求URL与servlet映射模式

我们讲到servlet可以理解服务器端处理数据的java小程序,那么谁来负责管理servlet呢?这时候我们就要用到web容器。它帮助我们管理着servlet等,使我们只需要将重心专注于业务逻辑。...什么是web容器?...我们最常见的tomcat就是这样一个容器。如果web服务器应用得到一个指向某个servlet的请求,此时服务器不是把servlet交给servlet本身,而是交给部署该servlet的容器。...web容器的作用 servlet需要由web容器来管理,那么采取这种机制有什么好处呢? 通信支持 利用容器提供的方法,你可以简单的实现servlet与web服务器的对话。...How the Container handles a request02.PNG 容器识别出这个请求索要的是一个servlet,所以创建两个对象: httpservletrequest httpservletresponse

2.3K20
  • 消息推送原理

    Web Service提供的服务是基于web容器的,底层使用http协议,类似一个远程的服务提供者,比如天气预报服务,对各地客户端提供天气预报,是一种请求应答的机制,是跨系统跨平台的。...RPC 与其它远程调用方式比较,RPC 与 HTTP、RMI、Web Service 都能完成远程调用,但是实现方式和侧重点各有不同。...RPC与RMI RMI(Remote Method Invocation)是指 Java 语言中的远程方法调用,RMI 中的每个方法都具有方法签名,RMI 客户端和服务器端通过方法签名进行远程方法调用。...RPC与Web Service Web Service 是一种基于 Web 进行服务发布、查询、调用的架构方式,重点在于服务的管理与使用。...RPC 是一种远程访问协议,而 Web Service 是一种体系结构,Web Service 也可以通过 RPC 来进行服务调用,因此 Web Service 更适合同一个 RPC 框架进行比较。

    3.4K30

    115个Java面试题和答案——终极列表(下)

    异常处理 Java小应用程序(Applet) Swing JDBC 远程方法调用(RMI) Servlet JSP 异常处理 43.Java中的两种异常类型是什么?他们有什么区别?...远程引用层(Remote Reference Layer):RMI体系结构的第二层用来解析客户端对服务端远程对象的引用。这一层解析并管理客户端对服务端远程对象的引用。连接是点到点的。...81.RMI中的远程接口(Remote Interface)扮演了什么样的角色? 远程接口用来标识哪些方法是可以被非本地虚拟机调用的接口。远程对象必须要直接或者是间接实现远程接口。...83.RMI的绑定(Binding)是什么意思? 绑定是为了查询找远程对象而给远程对象关联或者是注册以后会用到的名称的过程。...最后,通过POST请求传递的敏感信息对外部客户端是不可见的。 97.什么是Web应用程序? Web应用程序是对Web或者是应用服务器的动态扩展。有两种类型的Web应用:面向表现的和面向服务的。

    56340

    分布式通信的几种方式

    ,这些名词之间到底是些什么 关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就 是必须的了。...所以在学习应用级的远程通信协议时,我们可以带着这几个问题进行学习: 1、传输的标准格式是什么? 2、怎么样将请求转化为传输的流? 3、 怎么接收和处理流? 4、传输协议是?...不过应用级的远程通信协议并不会在传输协议上做什么多大的改进,主要是在流操作方面,让应用层生成流和处理流的这个过程更加的符合所使用的语言或标准,至 于传输协议则通常都是可选的,在java领域中知名的有:RMI...不支持异步调用 WebService Web Service提供的服务是基于web容器的,底层使用http协议,类似一个远程的服务提供者,比如天气预报服务,对各地客户端提供天气预报,是一种请求应答的机制...与EJB 对这两个常常有点迷惑人,因为他们都实现了分布式应用调用,虽然他们很相似但是还是有很多区别的,首先通信协议是不一样的,EJB采用rmi-iiop协 议,Web service利用http协议传输数据

    4.7K20

    【续】Java面试基础必备知识点,怼死面试官,从我做起

    远程引用层(Remote Reference Layer):RMI体系结构的第二层用来解析客户端对服务端远程对象的引用。这一层解析并管理客户端对服务端远程对象的引用。连接是点到点的。...81.RMI中的远程接口(Remote Interface) 扮演了什么样的角色? 远程接口用来标识哪些方法是可以被非本地虚拟机调用的接口。远程对象必须要直接或者是间接实现远程接口。...83.RMI的绑定(Binding)是什么意思? 绑定是为了查询找远程对象而给远程对象关联或者是注册以后会用到的名称的过程。...最后,通过POST请求传递的敏感信息对外部客户端是不可见的。 97.什么是Web应用程序? Web应用程序是对Web或者是应用服务器的动态扩展。有两种类型的Web应用:面向表现的和面向服务的。...当浏览器访问Web页面的时候,Web服务器会用对应的servlet产生的文本来替换Web页面中的servlet标签。 99.什么是Servlet链(Servlet Chaining)?

    1.6K50

    115个Java面试题和答案——终极列表(下)

    异常处理 Java小应用程序(Applet) Swing JDBC 远程方法调用(RMI) Servlet JSP 异常处理 43.Java中的两种异常类型是什么?他们有什么区别?...远程引用层(Remote Reference Layer):RMI体系结构的第二层用来解析客户端对服务端远程对象的引用。这一层解析并管理客户端对服务端远程对象的引用。连接是点到点的。...81.RMI中的远程接口(Remote Interface)扮演了什么样的角色? 远程接口用来标识哪些方法是可以被非本地虚拟机调用的接口。远程对象必须要直接或者是间接实现远程接口。...83.RMI的绑定(Binding)是什么意思? 绑定是为了查询找远程对象而给远程对象关联或者是注册以后会用到的名称的过程。...最后,通过POST请求传递的敏感信息对外部客户端是不可见的。 97.什么是Web应用程序? Web应用程序是对Web或者是应用服务器的动态扩展。有两种类型的Web应用:面向表现的和面向服务的。

    54310

    tomcat weblogic 对比

    这几天接触到两种Java的web服务器,做项目用的Tomcat,看视频看的是WebLogic Server(WLS),都是web服务器,有什么区别和联系呢?   ...(二)相同点:   WebLogic和Tomcat都是基于java的基础架构来满足实时处理需求,不同的版本与jdk版本兼容和有所不同;因为都是要和前台交互,所以他们都基于sun公司的servlet来实现的...当然,项目大的时候,WLS肯定再合适不过,而且Tomcat也无法满足太多需求,但是,WLS的费用也是不可小觑的。   总之,关键看你做什么,权衡利弊做选择。   ...这样通过客户端的调用实现了业务的封装 实现分布式   首先要认识到RMI技术(远程调用),EJB的基础是RMI,通过RMI,J2EE将EJB组件创建为远程对象,EJB虽然用到了RMI,但是只需要定义远程接口无需实现...所谓的服务器群   既然已经知道了,RMI是将各种任务与功能的类放到不同的服务器上,然后通过各个服务器间建立的调用规则实现分布式的运算,也就明白EJB所谓的"服务群集"的概念。

    2.9K10

    2021最新100道Java面试题【附答案解析】

    RMI体系结构分以下几层: 存根和骨架层(Stub and Skeleton layer):这一层对程序员是透明的,它主要负责拦截客户端发出的方法调用请求,然后把请求重定向给远程的RMI服务。...远程引用层(Remote Reference Layer):RMI体系结构的第二层用来解析客户端对服务端远程对象的引用。这一层解析并管理客户端对服务端远程对象的引用。连接是点到点的。...最后,通过POST请求传递的敏感信息对外部客户端是不可见的。 97.什么是Web应用程序? Web应用程序是对Web或者是应用服务器的动态扩展。有两种类型的Web应用:面向表现的和面向服务的。...面向表现的Web应用程序会产生包含了很多种标记语言和动态内容的交互的web页面作为对请求的响应。而面向服务的Web应用实现了Web服务的端点(endpoint)。...一般来说,一个Web应用可以看成是一组安装在服务器URL名称空间的特定子集下面的Servlet的集合。 98.什么是服务端包含(Server Side Include)?

    4.9K00

    java常考面试题

    远程方法调用可以看做是激活远程正在运行的对象上的方法的步骤。RMI对调用者是位置透明的,因为调用者感觉方法是执行在本地运行的对象上的。看下RMI的一些注意事项。 RMI体系结构的基本原则是什么?...远程引用层(Remote Reference Layer):RMI体系结构的第二层用来解析客户端对服务端远程对象的引用。这一层解析并管理客户端对服务端远程对象的引用。连接是点到点的。...最后,通过POST请求传递的敏感信息对外部客户端是不可见的。 什么是Web应用程序? 参考答案 Web应用程序是对Web或者是应用服务器的动态扩展。...而面向服务的Web应用实现了Web服务的端点(endpoint)。一般来说,一个Web应用可以看成是一组安装在服务器URL名称空间的特定子集下面的Servlet的集合。...什么是cookie?session和cookie有什么区别? 参考答案 cookie是Web服务器发送给浏览器的一块信息。浏览器会在本地文件中给每一个Web服务器存储cookie。

    34710

    分布式通信的几种方式(EJB、RMI、RPC、JMS、web service杂谈)

    ,经过处理再把处理后的结果发送回客户端。...不支持异步调用 RMI(remote method invocation) rmi也是远程方法调用,似乎和RPC一样都是调用远程的方法,我们可以把RMI看作是用java语言实现了RPC协议,由于RPC...Web service与EJB 对这两个常常有点迷惑人,因为他们都实现了分布式应用调用,虽然他们很相似但是还是有很多区别的,首先通信协议是不一样的,ejb采用rmi-iiop协议,Web service...SOA与Web Service SOA是面向服务体系架构,是一种编程思想,SOA不是Web Service,WebService是目前最适合实现SOA的技术。...小结 这些通信标准或实现各有个的优点和缺点,在实际使用中根据具体情况合理选择。

    2.2K80

    java中RMI、Hessian、Burlap、Httpinvoker、WebService的比较

    RMI是java语言本身提供的远程通讯协议,稳定高效,是EJB的基础。但它只能用于JAVA程序之间的通讯。...测试结果显示,几种协议的通讯效率依次为: RMI > Httpinvoker >= Hessian >> Burlap>> web service RMI不愧是JAVA的首选远程调用协议,非常高效稳定,...为 了充分发挥RMI的性能,另外做了测试类,不使用Spring,用原始的RMI形式(继承UnicastRemoteObject对象)提供服务并远程调用,与Spring对POJO包装成的RMI进行效率比较...另 外,Hessian与WEB服务器结合非常好,借助WEB服务器的成熟功能,在处理大量用户并发访问时会有很大优势,在资源分配,线程排队,异常处理等方 面都可以由成熟的WEB服务器保证。...5、HttpInvoker调用 HttpInvoker是SpringFramework提供的JAVA远程调用方法,使用java的序列化机制处理对象的传输。

    51320

    Java面试题及答案解析

    远程引用层(Remote Reference Layer):RMI体系结构的第二层用来解析客户端对服务端远程对象的引用。这一层解析并管理客户端对服务端远程对象的引用。连接是点到点的。...81.RMI中的远程接口(Remote Interface)扮演了什么样的角色? 远程接口用来标识哪些方法是可以被非本地虚拟机调用的接口。远程对象必须要直接或者是间接实现远程接口。...83.RMI的绑定(Binding)是什么意思? 绑定是为了查询找远程对象而给远程对象关联或者是注册以后会用到的名称的过程。...最后,通过POST请求传递的敏感信息对外部客户端是不可见的。 97.什么是Web应用程序? Web应用程序是对Web或者是应用服务器的动态扩展。有两种类型的Web应用:面向表现的和面向服务的。...服务端包含(SSI)是一种简单的解释型服务端脚本语言,大多数时候仅用在Web上,用servlet标签嵌入进来。SSI最常用的场景把一个或多个文件包含到Web服务器的一个Web页面中。

    92920

    java基础复习

    远程引用层(Remote Reference Layer):RMI体系结构的第二层用来解析客户端对服务端远程对象的引用。这一层解析并管理客户端对服务端远程对象的引用。连接是点到点的。...81.RMI中的远程接口(Remote Interface)扮演了什么样的角色? 远程接口用来标识哪些方法是可以被非本地虚拟机调用的接口。远程对象必须要直接或者是间接实现远程接口。...83.RMI的绑定(Binding)是什么意思? 绑定是为了查询找远程对象而给远程对象关联或者是注册以后会用到的名称的过程。...最后,通过POST请求传递的敏感信息对外部客户端是不可见的。 97.什么是Web应用程序? Web应用程序是对Web或者是应用服务器的动态扩展。有两种类型的Web应用:面向表现的和面向服务的。...服务端包含(SSI)是一种简单的解释型服务端脚本语言,大多数时候仅用在Web上,用servlet标签嵌入进来。SSI最常用的场景把一个或多个文件包含到Web服务器的一个Web页面中。

    1.4K20

    3.4 Spark通信机制

    RPC 远程过程调用协议(Remote Procedure Call Protocol, RPC)是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。...RMI 远程方法调用(Remote Method Invocation, RMI)是Java的一组拥护开发分布式应用程序的API。...比如,一个EJB可以通过RMI调用Web上另一台机器上的EJB远程方法。RMI可以被看作是RPC的Java版本,但是传统RPC并不能很好地应用于分布式对象系统。...JMS Java消息服务(Java Message Service, JMS)是一个与具体平台无关的API,用来访问消息收发。...当一个Actor收到其他Actor的信息后,它可以根据需要做出各种响应。消息的类型和内容都可以是任意的。这点与Web Service类似,只提供接口服务,不必了解内部实现。

    1.7K50

    Java的面试基础题(一)

    远程方法调用可以看做是激活远程正在运行的对象上的方法的步骤。RMI对调用者是位置透明的,因为调用者感觉方法是执行在本地运行的对象上的。 RMI体系结构的基本原则是什么?...远程引用层(Remote Reference Layer):RMI体系结构的第二层用来解析客户端对服务端远程对象的引用。这一层解析并管理客户端对服务端远程对象的引用。连接是点到点的。...RMI中的远程接口(Remote Interface)扮演了什么样的角色? 远程接口用来标识哪些方法是可以被非本地虚拟机调用的接口。远程对象必须要直接或者是间接实现远程接口。...RMI的绑定( Binding ) 是什么意思? 绑定是为了查找远程对象而给远程对象关联或者是注册以后会用到的名称的过程。...最后,通过POST请求传递的敏感信息对外部客户端是不可见的。 什么是Web应用程序? Web应用程序是对Web或者是应用服务器的动态扩展。 有两种类型的Web应用:面向表现的和面向服务的。

    1.6K20

    性能基础之常见RPC框架浅析

    引言 在性能基础之浅谈常见接口性能压测一文中我们有简单介绍常见的 RPC 接口,本文将单篇详细介绍 RPC 框架。 什么是RPC?...RMI 的代理模式是通过代理对象将方法传递给实际对象的。stub 驻留客户端,承担着代理远程对象实现者的角色。skeleton 类帮助远程对象与 stub 连接进行通信。 ?...Java RMI 基本概念 Java RMI 是 Java 领域创建分布式应用的技术基石。后续的 EJB 技术,以及现代的分布式服务框架,其中的基本理念依旧是 Java RMI 的延续。...在 RMI 调用中,有以下几个核心的概念: 通过接口进行远程调用 通过客户端的 Stub 对象和服务端的 Skeleton 对象的帮助将远程调用伪装成本地调用 通过 RMI 注册服务完成服务的注册和发现..., 通过 UnicastRemoteObject.exportObject生成可以与服务端通讯的 Stub 对象, 创建一个本地的 RMI 注册服务,监听端口为 1099。

    1.7K40

    Log4j史诗级漏洞,从原理到实战,只用3个实例讲明白

    JNDI到底是个什么鬼?好吧,如果你已经有一两年的编程经验,但还不了解JNDI,甚至没听说过。那么,要么赶紧换工作,要么赶紧读读这篇文章。 JNDI是个什么鬼?...目录服务是对命名服务的扩展,是一种特殊的命名服务,提供了属性与对象的关联和查找。一个目录服务通常拥有一个命名服务(但是一个命名服务不必具有一个目录服务)。...执行上述程序,就可以获得远程端的对象并调用,这样就实现了RMI的通信。当然,这里Server和Client在同一台机器,就用了”localhost“的,如果是远程服务器,则替换成对应的IP即可。...在JNDI中,有一个更好利用的方式,涉及到命名引用的概念javax.naming.Reference。 如果一些本地实例类过大,可以选择一个远程引用,通过远程调用的方式,引用远程的类。...第二步:构建Web服务器 Web服务用于RMI调用时返回攻击类文件。

    1.3K20

    关于RPC协议的通俗理解

    首先了解什么叫RPC,为什么要RPC,RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据...比如基于Web服务协议栈的RPC,就要提供一个endpoint URI,或者是从UDDI服务上查找。如果是RMI调用的话,还需要一个RMI Registry来注册服务的地址。...RPC 会隐藏底层的通讯细节(不需要直接处理Socket通讯或Http通讯) RPC 是一个请求响应模型。...5.通用的远程调用实现,采用async方式来减少业务服务的开销,并通过future分离远程调用与数据流程的关注。...6.具有状态查看及统计功能 7.当然,最终要的是,具备以下通用的远程容错处理能力,超时、重试、负载均衡、failover…… QiuRPC是一个采用JAVA实现的小巧的RPC框架,一共3K多行代码

    61010

    Java RMI之HelloWorld,你不可不知的RPC协议

    可以用此方法调用的任何对象必须实现该远程接口。 Java RMI不是什么新技术(在Java1.1的时代都有了),但却是是非常重要的底层技术。...在大力鼓吹Web Service、SOA的时代,是不是每个应用都应该选用笨拙的Web Service组件来实现,通过对比测试后,RMI是最简单的,在一些小的应用中是最合适的。...下面通过一个简单的例子来说明RMI的原理和应用,下面这个例子是一个简单HelloWorld,但已涵盖RMI的核心应用与开发模式。 /** * Created by IntelliJ IDEA....运行RMI客户端程序: ? 总结: 从上面的过程来看,RMI对服务器的IP地址和端口依赖很紧密,但是在开发的时候不知道将来的服务器IP和端口如何,但是客户端程序依赖这个IP和端口。...RMI的局限性之二是RMI是Java语言的远程调用,两端的程序语言必须是Java实现,对于不同语言间的通讯可以考虑用Web Service或者公用对象请求代理体系(CORBA)来实现。

    65960
    领券