分布式计算范型
范型是一种模式,例子或者模型。SOA的基本思想是以服务为核心,将IT资源整合成可操作的,基于标准的服务,可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署,组合和使用。
分布式计算环境由低到高的抽象层次依次为:消息传递(Socket API)->远程过程调用(RPC)-> 远程方法调用(RMI),对象请求代理(ORB)->分布式组件模型->面向服务架构(SOA).
1.消息传递范型利用网络API,完成用户请求进行打包,传送和解包的工作,必要时还需考虑通信缓冲区操作及跨平台数据格式表示问题。
消息传递通常分为面向无连接和面向连接的两种方式,面向无连接的通常是send和receive操作,面向连接的通常是connect和disconnect操作。互连进程间可以实现文本输入,输出等类似的操作。
2. 远程过程调用。rpc通常通过使用某一类型的接口定义语言IDL描述接口来达到。通常指通过网络从远程计算机程序上请求服务,而不需要了解底层网络协议。在七层模型中,rpc协议跨越了传输层和应用层。rpc为开发网络分布式多程序提供了捷径。
3.分布式对象范型。在分布式环境下,跨语言,跨平台的基于面向对象的分布式计算技术,是的对象用于可以在使用对象时访问网络上的任意有用对象,而不必知道对象的位置。分布式对象技术室构建业务应用框架和软件架构的核心技术,如COM+,SUN JAVABEANS/RMI, OMG,CORBA.
4.分布式组件模型。 COM+, EJB, COM.
5. 面向服务的体系结构。 为了实现重用性,松散耦合,粗粒度,互操作性等目标,SOA侧重于服务的发布,发现和使用。服务是现实世界中业务活动的一种抽象与建模。
进程间通信
网络和分布式程序设计中,进程间通信(IPC)非常重要。通信分为两种,在同一节点上的通信包括管道,FIFO,信号,消息队列,共享内存。另一类是在不同节点上的通信方法,主要是套接字通信。
可以讲Java理解为JVM进程,其进程间通信依靠系统调用来实现。Java欲实现进程间通信,可以使用RMI或者CORBA,而事实上,CORBA是通过RMI实现的,RMI又是通过Socket实现的,所以可以说,Java实现进程间通信最基本的手段是socket不为过。
Java中,生产者和消费者模型,通过一个文件,映射共享内存区域获得。Java通道可以映射内存。