java分布式应用

今天我们来一起了解下java分布式的应用,至于代码部分请参照下面的java分布式开发.pdf内容,本博客也是参照这本电子书进行学习总结的。

分布式JAVA应用 基础与实践.pdf的下载地址:

http://www.chm-pdf.com/ebook/download/distributed-java-applications.html



 一 、什么叫做java的分布式

定义:大型系统通常会将其拆分为多个子系统来实现,对于java而言这些系统可能部署在同一机器的不同jvm中或许部署在不同机器中,但是这些子系统又不是完全独立的,它们之间需要相互通信来共同实现业务功能。对于此类java应用就成为java分布式。

二、java分布式的 实现方式

1、 基于消息方式实现系统间相互通信

      系统间要进行通信就要发送和接收系统间传递的消息,然后根据自身业务进行相应处理,而消息的存在方式可以是字节流、字节数字甚至java对象。基于消息的通信方式通常是以网络协议来实现的(TCP/IP或者UDP/IP)至于这两种协议的区别这里就不在说明了。

2、基于远程调用方式实现系统间相互通信

       系统间另一种通信方式就是通过调用本地的java接口来获取数据,这种方式在java中主要用来实现基于RMI和WebService的应用。

三、大型分布式java应用与SOA

随着用户和访问量的增多,系统往往会面临两个问题

1、系统多元化 2、系统多元化,所以在构建了共同业务逻辑系统和系统拆分后最明显的问题就是各个系统间如何交互,如果不控制的话就会出现多种交互方式:http、TCP/IP+NIO、RMI、WebService等这样就会造成开发团队重复的造轮子的局面。对于上面的各种情形能想到就是提供统一的交互标准,所以就会先到SOA了。

SOA:面向服务架构,它强调系统之间以一种标准的服务方式进行交互,各个系统可以使用不同的语言不同的架构来实现,交互则全部通过服务方式进行。

SOA这种思想提出后受到评价都不错,但是SOA只是一种思想,并不是一个具体的实现,所有业界一些知名的企业制定了它的一些实现的相关规范。主要有SCA(service component Architecture服务组件架构)、ESB(Enterprise Service Bus企业服务总线)、Tuscany、Mule等,这边我选择Tuscany,原因很简单我熟悉的语言为java而且该规范作为apache的一个顶级项目,最主要的是该规范目前使用最广泛。(服务的发布、调用以及如何配置请参见电子文档的相关部分)

你可能感兴趣的:(java)