一、J2EE感悟
程序语言只是入门的1+1而已,程序员学了JAVA之后,基本上什么也做不了,就像学会了中文,离文学家的距离一样远,一个程序员要有整体概念才能开发大型系统。
J2EE框架(Java中间件)几乎包含了所有目前最先进的Web程序设计技术,作为一个程序员,必须全面理解和掌握J2EE框架的整体结构及其相关的技术细节,才能在未来的软件行业立于不败之地!
二、分布式对象
分布式对象技术是在面向对象技术的基础上发展起来的,它要解决的主要问题是位于不同进程中的对象之间的调用问题。在中间件系统、Web服务以及SOA(Service Oriented Architecture,面向服务架构)的研究与开发等许多重要领域,分布式对象技术都发挥着不可替代的作用。·主要有:OMG的CORBA,Microsoft的COM/DCOM,Sun的EJB,SOA等。
三、EJB(Enterprise JavaBean)概述
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共 享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。中间件 =平台 + 通信。
>>运行在分布式环境下
>>网络通信功能
>>屏蔽分布式系统的异构性和复杂性
按照IDC的分类方法,中间件分为六类:
1. 终端仿真/屏幕转换
2. 数据访问中间件(UDA)
3. 远程过程调用(RPC)中间件
4. 消息中间件(MOM)
5. 交易中间件(TPM)
6. 对象中间件
可以把中间件分为两大类:
• 底层中间件:用于支撑单个应用系统或解决单一类的问题
• 高层中间件:更多的用于系统整合,通常会与多个应用系统打交道,在系统中的层次较高,并大多基于前一类的底层中间件运行
四、一些中间件介绍
>>数据库中间件:JDBC和ODBC就是数据库中间件。
其中,ODBC提供C语言的的接口,JDBC提供JAVA语言的接口。
>>远程过程调用(RPC)中间件:通过远程过程调用(RPC)实现异构分布式环境下不同应用之间进行通信访问的中间件。
应用
• 从一台机器或一个进程调用另一台机器或另一进程的服务或方法,这种调用是通过网络来实现的。
• 一个应用程序使用RPC来“远程”执行一个位于不同地址空间里的过程,并且从效果上看和执行本地调用相同。
• RPC是一种广泛使用的分布式应用程序处理方法。
工作原理:
•一个RPC应用分为两个部分:server和client
•Server提供一个或多个远程过程,client向server发出远程调用
• Stub提供数据转换和通信服务,屏蔽操作系统和网络差异。
>>消息中间件(Message-Oriented Middleware,MOM)
• 利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。
• 通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信,并支持多通讯协议、语言、应用程序、硬件和软件平台。
消息传递和排队技术有以下三个主要特点:
• 通讯程序可在不同的时间运行
• 对应用程序的结构没有约束
• 程序与网络复杂性相隔离
消息中间件可以既支持同步方式,又支持异步方式
异步中间件技术可以分为两类
• 广播方式:把消息分发给系统的所有用户
• 发行/订阅方式:可以指定哪种类型用户可以接收哪种类型的消息
目前流行的MOM中间件产品
•IBM的MQSeries
•BEA的MessageQ
以上是对中间件的一些介绍。