中间件技术(报告ppt)
OMG推动CORBA标准的发展
❖ 1993年:CORBA 1.0-IDL ❖ 1995年7月:CORBA 2.0-GIOP/IIOP ❖ 1996年7月:CORBA 2.0修改 ❖ 1997年8月:CORBA 2.1-Dynamic Any ❖ 1998年2月:CORBA 2.2-POA ❖ 1999年7月:CORBA 2.3-Object by Value ❖ 1999年10月:CORBA 2.3.1 ❖ 2000年10月:CORBA 2.4-实时、容错、异步… ❖ 2002年6月:CORBA3.0-构件,实时…
OMG:CORBA /OMA
主流面向对象中 间件技术
中间件的技术发展
Microsoft:DCOM
❖ 1999年底,微软引入DCOM。 DCOM是一套 基于RPC机制的COM技术扩展,它使COM对 象具有分布式功能。
❖ 因为平台支持有限, COM更多的被看作是一 个组件体系结构,而不是一个远程体系结构。
❖ J2EE适合大型应用开发。因为基于J2EE应用的 开发都是遵循构件创建、组装、配置而成,但 对于一般应用,无需使用J2EE平台做很多烦复 的工作。
❖ J2EE构件模型的缺陷。对构件模型的研究发 现,构件的重用性事实上并不高,原因在于接 口定义的不完整。
❖ 构件应如何进行自描述,采用什么方式,抽象 哪些信息,是一个很有意义的课题。
国内在中间件领域的起步阶段正是整 个世界范围内中间件的初创时期。东方通 科技早在1992年就开始中间件的研究与开 发,1993年推出第一个产品TongLINK/Q。 而中科院软件所、国防科技大学等研究机 构也对中间件技术进行了同步研究。可以 说,在中间件领域,国内的起步时间并不 比国外晚多少
中间件的技术发展
CORBA中ORB结构
Client
Object Implementation
Dynamic Invocation
Client IDL Stubs
Server IDL Skeletons
Object Adapter
Request Object Request Broker
中间件的技术发展
面向Agent
面向过程的分 布计算
面向技术发展
面向过程的分布计算技术
❖ 80年代中、后期,以支持信息共享的应用需求为核心, 形成了面向过程的第一代分布计算技术;
❖ 体系结构:经典的客户/服务器计算模型
▪ 将分布式系统中的自主行为实体固定地分解为客户(Client)和 服务器(Server)两种角色,前者为服务请求者,后者是服务受 理者;
❖ 人们自然想到了在80年代软件工程领域大放异采的面 向对象(Object Oriented, OO)技术。
中间件的技术发展
面向对象的分布计算技术
❖ 面向的主要问题:异构环境下的应用互操作。
❖ 体系结构:面向对象的多层C/S结构。
▪ 客户与服务器是相对于对象的请求方和实现方而言的; ▪ 客户与服务器关系是一种交互关系,不是静态的角色
中间件的技术发展
三种主流技术比较
支持语言 运行环境 表示层 逻辑层 数据层 名字服务 消息服务 事务服务
J2EE Java JVM Servlets,JSP EJB JDBC JNDI JMS JTA
.NET VC++,VC#
CLR COM+
ADSI MSMQ MS-DTC
❖ J2EE集成了大量技术,不但为应用提供多种功 能,而且也提供了多种完善的服务。例如事务 服务和安全服务。
中间件的技术发展
J2EE的成分
中间件的技术发展
J2EE的体系结构
中间件的技术发展
J2EE的技术特点
❖ 采用纯Java语言,在标准的Java解释器和J2EE平 台的支持下,能够获得很好的平台无关性,便于 系统移植;
中间件的技术发展
COM的缺点
❖ COM是一个很成熟的主流组件体系结构。 ❖ COM成为理想解决方案的缺点:
▪ COM支持平台有限。 ▪ COM在Java内的使用必须有微软的Java虚拟机。 ▪ 依赖单一的软件开发商。
中间件的技术发展
J2EE(Java 2 Enterprise Edition)
❖ J2EE中间件技术,以构件化为主要特点,主要 目标是简化分布式应用的开发,由此满足开发 时间快,成本低、易扩展的特性。
面向对象的分布计算技术
❖ 人们在分布式客户/服务器计算机系统的建立及其应用 系统的开发过程中,开始深刻体会到分布式系统比想象 的要复杂得多,如异构环境下的应用互操作问题、系统 管理问题等等。
❖ 这些问题在集中计算模式下是不曾出现的或不突出的。 传统的面向过程的技术在开发大型软件系统中已经暴露 出很大的局限性,应付复杂的分布式应用系统当然更加 力不从心。
中间件的技术发展
J2EE中间件的缺陷
❖ 对于J2EE这种将很多底层细节隐藏的平台,使 用者希望能对底层进行更多控制及管理监视, 显然管理相关服务的缺乏,无疑给J2EE应用的 使用者带来不便。
❖ ❖ J2EE平台规范尚在发展和完善过程中,所以整
个中间件距离完备尚有时日 。
中间件的技术发展
CORBA是主流分布对象技术
❖ OMG推出CORBA的目标是为了解决异构平台之间的 互操作问题。
❖ CORBA提供了跨语言、跨平台、跨开发商的互操作性。 因此许多开发商在大多数硬件平台上实现了CORBA规 范,已经成为目前使用的主流分布对象技术。
中间件的技术发展
CORBA体系结构
Application Objects
Common Facilities(CORBA Facilities)
远程过程调用中间件(Remote Procedure Call) 面向消息的中间件(Message-Oriented Middleware) 对象请求代理中间件(Object Request Brokers)
中间件的技术发展
分布计算的三个发展阶段
面向过程
面向对象
Vertical Common Facilities
Horizontal Common Facilities
Distributed Information Systems
Task
Documents Management ManagementManagement
Object Request Broker
CORBA C++,Java,… TCP/IP CORBA Script CCM JDBC,ODBC Name Service CORAB MS OTS
中间件的技术发展
典型的技术成果
❖ 已经发展成为当今分布异构环境下开发应用服务器集成框 架和标准构件的核心技术。
❖ 出现了以OMG的CORBA、Microsoft的 COM/DCOM和SUN的Java/EJB为代表的技术。
▪ 客户与服务器之间的交互关系是客户主动请求、服务器被动 响应的交互关系。
中间件的技术发展
关键技术
❖ 需要解决的主要问题:
▪ 客户与服务器的交互机制 ▪ 信息的表示、组织与管理
❖ 解决问题的思路:将单机上的概念研拓到网络环 境中。
▪ 交互机制:RPC ▪ 信息:XDR,网络文件系统,SQL Server
中间件的概念
❖中间件的特点
▪ 满足大量应用的需要 ▪ 运行于多种硬件和OS平台 ▪ 支持分布式计算,提供跨网络、硬件和OS平
台的透明性的应用或服务的交互功能 ▪ 支持标准的协议 ▪ 支持标准的接口
中间件的概念
❖中间件的分类
中间件的概念
❖什么是中间件
▪ 中间件是一种独立的系统软件或服务程序,分 布式应用软件借助这种软件在不同的技术之间 共享资源。中间件位于客户机/ 服务器的操作 系统之上,管理计算机资源和网络通讯。是连 接两个独立应用程序或独立系统的软件。相连 接的系统,即使它们具有不同的接口,但通过 中间件相互之间仍能交换信息。执行中间件的 一个关键途径是信息传递。通过中间件,应用 程序可以工作于多平台或 OS 环境。
尽管中间件的概念很早就已经产生,但中间件技术的 广泛运用却是在最近10年之中。BEA公司1995年成立后收购 Tuxedo才成为一个真正的中间件厂商,IBM的中间件 MQSeries也是90年代的产品,其它许多中间件产品也都是 最近几年才成熟起来。
中间件的历史
❖ 特点:以程序设计技术为基础。
中间件的技术发展
典型的技术成果
❖ 以OSF (Open Software Foundation)的 DCE(Distributed Computing Environment) 为代表的通用产品。
❖ 以数据库和中间件厂商为代表的数据库服务器和事务 处理中间件。
中间件的技术发展
Common Object Services (CORBA Services)
NamingPersistenceLife CycleEventsPropertiesConcurrencyCollectionSecurity
ExternalizationTransactionsQueryRelationships Time StartupLicensingTrader
中间件的技术发展
CORBA技术解决方案
❖ 异构平台下的异构对象如何跨越:接口语言 ❖ 网络环境下的对象交互:基于IDL的ORB ❖ 对象如何相互发现:命名服务和交易服务 ❖ 网络环境下的安全:安全服务机制 ❖ 对象之间的相互关联:事件服务 ❖ 对象之间的协同控制:并发服务和计时服务 ❖ 领域级应用系统构作:公共设施
❖ EJB是基于软件重用思想,在对象基础上发展 起来的移植性更强,编程更简单的一种可重用 软件实体。
中间件的技术发展