课程内容中间件产生基础和起源(1个学时)描述应用模式的演变与分层处理、软件结构与软件发展潮流中间件概念(1个学时)中间件定义、作用中间件基本类型介绍(1个学时)描述中间件的主要种类、以及各种中间件解决的问题和适用范围中间件综述(1个学时)中间件的发展历史中间件的应用现状课程目的对中间件的整体认识了解中间件的历史、起源、作用、分类、发展趋势为深入学习中间件技术奠定基础中间件产生的基础及起源计算环境的演变分布式计算环境的演变中间件诞生的意义主机终端系统DBMSDC(DataComm)OperatingSystemTerminal1Terminal2Terminal3AP1AP2AP3Database主机/终端方式的应用构成输入/输出的表示逻辑–管理客户从键盘上的输入.–把内容和结果显示在终端屏幕上.处理–数据确认–业务处理存储–数据的存储与恢复.主机终端系统的特点优点–系统的可靠性、效率、扩展性保证均在主机上–终端位置简单–大量用户公用资源–单一厂家的技术、系统无须集成缺点–对中心的压力很大–效率偏低–扩展困难–依赖单一厂家分布式系统定义–由许多独立的计算机组成一个系统,对使用这个系统的用户来说,就象面对一台计算机一样。这样的系统我们称之为分布式系统。客户/服务器结构客户方服务器计算机计算机网络应用处理逻辑分布在不同的计算机上通常是表示层逻辑在客户方、处理逻辑在服务方特点–系统有多台计算机构成–互相构成网络系统–计算机各自完成不同的工作–系统结构灵活、处理效率高–网络负担较小客户/服务器结构数据文件服务器文件存储网络返回数据客户方请求数据应用程序:业务处理界面处理。。。客户方客户方典型客户/服务器结构:文件服务器数据数据库服务器数据存储网络应答客户方请求应用程序:业务处理界面处理。。。客户方客户方典型客户/服务器结构:文件服务器典型客户/服务器结构:三层结构数据库PC机界面业务逻辑业务逻辑业务逻辑PC机界面数据库管理系统Browser应用服务器(第二层)数据库服务器(第三层)客户方(第一层)客户方应用软件结构的变化单一计算机–操作系统–数据库系统(文件系统)–编程语言(编程工具)问题–如何使不同计算机上的应用共享资源,–如何把不同计算机上的应用连接起来–如何实现不同计算机上的应用互操作分布式操作系统一种紧偶合的操作系统,用于操作多处理器的单个计算机或者多个同构的计算机。分布式操作系统通过屏蔽和管理硬件资源,来实现应用的分布式处理分布式操作系统分布式操作系统的一般结构网络操作系统针对网络互连的多台异构计算机的操作系统为远程客户提供本地服务通常基于文件系统实现互操作网络操作系统网络操作系统的一般结构网络操作系统客户/服务器方式之一分布式数据库提供开发分布式应用的手段–客户程序开发工具–客户程序与服务程序连接工具–服务程序开发工具举例–Oracle:Form、Pro*C、Developer2000、SQL*net–Informix:4GL、ESQLC、PB、I-STAR–Sybase:PB、VB,NetLibary分布式数据库过程调用SQL语句过程调用方法一:方法二:客户/服务器方式之二分布式系统更深层次的问题•跨平台,包括不同的网络,主机、数据库等•支持复杂的应用模式•不同应用系统的集成•保证系统的处理效率•保证系统的高可用性•保证系统的动态扩展能力•提供调试,维护,管理工具•保障系统安全•加快开发周期,保证质量问题特点原有系统软件未能解决与业务逻辑无关应用软件实现困难多数问题与网络有关涉及应用软件开发、管理和部署等各方面角色分工操作系统数据库我不干太麻烦应用太难了中间件我来搞掂从软件的分层看中间件的诞生和发展-相应的软件产品•操作系统•数据库•辅助工具类软件(如编译程序、文字编辑器)•操作系统•数据库•辅助工具类软件•网络基础设施类•专用系统•中间件应用系统裸机应用系统系统软件应用系统中间件裸机网络软件传统系统软件裸机应用系统中间件网络软件传统系统软件裸机平台平台软件应用组件中间件的概念中间件是一组程序,应用于分布式系统各应用之中,为系统屏蔽底层通讯和提供公用服务,并保障系统的高可靠性、高可用性、高灵活性中间件的概念中间件是一个通道,保障应用信息的可靠传递中间件是一个桥梁,达成商务构件的互连互通中间件是一个框架,促成企业应用的完整集成中间件是一个平台,实现分布式应用的顺利部署中间件是“客户/服务器”结构中的“/”中间件的定位操作系统API操作系统通讯处理存储中间件API中间件分布式应用操作系统API操作系统通讯处理存储中间件API中间件分布式应用计算机1计算机2网络中间件概念那些已知的软件是中间件–CICS–SQL*NET–RPC–HTTP–CORBA–J2EE–.NET这些是中间件吗–邮件系统–LotusNotes–Exchange中间件概念的几个要点中间件是软件中间件在应用软件和系统软件之间中间件是一类软件而不是一种中间件与网络是“亲戚”中间件不是开发工具,通常包含开发、管理和部署终端访问数据访问远程过程调用消息交易对象中间件的分类——IDG的分类中间件的分类——GIGA的分类来源:GigaInformationGroup,1998来源:GigaInformationGroup,1998续:来源:GigaInformationGroup,1998续:中间件的分类——Aberdeen的分类中间件的分类——EITO的分类中间件的分类——我们的观点目前流行的主流中间件技术数据访问消息交易分布式对象分布式构件(应用服务器、DCOM)工作流应用集成门户其他中间件的作用缩短开发周期节约应用程序开发成本降低运行成本降低故障率改善决策应用系统群集/集成减少软件维护提高质量改进技术提高产品吸引力来源:StandishGroupInternational,Inc.,1998中间件的新发展—平台概念屏蔽复杂细节,提供简单接口提供个性化服务贴近行业应用应用软件平台适合特定行业应用的基础构件及服务的整合一个具体的平台——个性化平台=中间件+应用构件+专业服务中间件的新发展—平台概念应用软件业务基础软件平台软件基础架构平台硬件平台操作系统平台基于业务基础软件平台的应用软件是新一代的应用软件资料来源:计世资讯(CCWResearch)(SybaseNetlib,SQL*NET,I_Star,ODBC,JDBC,etc.)数据访问•连接数据库的客户端与服务端•实现分布式数据库•传输SQL语句及数据库操作结果•支持存储过程中间件分类介绍数据访问SQL语句过程调用数据访问中间件数据访问中间件数据访问中间件数据访问中间件中间件分类介绍高可靠性,高效率,高可用性,易用性,安全性交易管理功能交易管理机制高速数据甬道机制网络通讯压缩网络调度功能应用管理机制服务优先权机制动态伸缩机制故障恢复机制监控管理机制名字服务和路由机制多个层面的安全机制加密机制中间件分类介绍RMAPITXTxRPCCPI-CXATMIXAP-TP接口TCP/IPAPPCOSIX/OPENDTP模型XAXA+联机交易处理系统:处理大量并发交易的交易处理系统(涉及到操作系统、文件系统、编程语言、数据通讯、数据库系统、系统管理、以及应用软件开发)(Tuxedo,TongEASY,CICS)交易管理体系结构资源管理器(RM)交易管理器(TM)通信资源管理器(CRM)OSI-TP中间件分类介绍数据业务逻辑界面客户端交易中间件AS数据库服务器传统技术实现三层结构的主力产品SQL、XA消息(MOM)功能•高效、可靠的数据传输•交易包/文件包•各种通讯服务(名字服务)•点到点、端到端通讯•实时网络监控及管理•结点状态控制•多种通讯机制中间件分类介绍面向消息(MOM)异步通信APIs(端到端)(发送消息/接收消息)大量/重复多节点实时性高队列/可靠传输接近实时广域网(MQSeries)(TongLINK/Q)发布/订阅(频道/听众)(股市信息/每秒上千条)实时大批量(Subject-based)(Content-based)IPMulticast支持TCP/IP协议(Internet)同一IP包只需传送一次通信机制接口函数/包装模板,队列,数据交换,路由中间件分类介绍同步通信异步通信永久连接应需连接文件传输程序启动并行处理分布处理(核心:队列管理)IBMMQSeries,TongLINK/Q面向消息特性:中间件分类介绍O-O分析O-O设计O-O数据库O-O编程O-O操作系统UMLC++,Java?????芯片(32位,64位,128位,….)对象中间件分类介绍分布式构件化的应用的部署与管理平台CORBA(CommonObjectRequestBrokerArchitecture)ORB,OTS,IDL,POA,GIOP,IIOP,Services对象中间件ObjOp()本地调用ObjOp()远程调用中间件分类介绍CORBA公共对象请求代理结构(CommonObjectRequestBrokerArchitecture)各种服务中间件分类介绍CORBAClientIDLSpecServerStubSkeletonORB-LibraryStubClientORB-LibrarySkeletonServer中间件分类介绍对象:-封装性,继承性,多元性-软件基本单元,单一体小颗粒构件:-封装性,复用性,包容性-软件基本结构单元,具有容器特性大颗粒构件技术中间件分类介绍O-O开发工具构件模型(COM+/DNA/.NET,J2EE/CCM)分布式应用分布式构件化应用中间件分类介绍浏览器小应用程序容器J2SEWeb服务器Web容器JSPJ2SEEJB服务器EJB容器EJBJ2SE应用客户容器J2SE应用客户数据库AppletHTMLJDBCJTAJMSJNDIJDBCJTAJMSJNDIJDBCJTAJMSJNDIJavaMailRMI/IIOPJAFJavaMailRMI/IIOPJAFJ2EE体系结构中间件分类介绍WEB应用服务器服务器端:基于WEB的底层服务库与APIs–主要是J2EE功能包括:事件管理,安全管理,对象管理,通信管理和交易管理(两阶段提交)客户端:Browser功能支持:HTML,JavaApplet,JSP,SERVLET,EJB,JMSHTTP,IIOP,RMI,etc.WAS中间件分类介绍应用服务器“将不同的应用技术集成在一起,使多层分布式应用的开发、部署、管理变得更加容易“ApplicationServer基于三层(应用)结构的应用服务器基于Web的应用服务器---GigaInformationGroup“应用服务器提供了跨网络的各应用程序之间的集成“---AMR中间件分类介绍数据业务逻辑界面浏览器WEB应用服务器AS数据库服务器基于BS技术的三层结构JDBC数据表示/业务逻辑界面浏览器WEB应用服务器数据库服务器多层结构业务逻辑交易中间件AS工作流定义设计工作流程管理工作流执行工作流监视和干预工作流的执行工作流就是在计算机技术的帮助下对商业流程部分或者全部实现自动化设计和管理IBMMQworkflow、Webmethods中间件分类介绍工作流模型中间件分类介绍应用集成来源:GigaInformationGroup,1998EnterpriseApplicationIntegration(EAI)中间件分类介绍应用集成的类别中间件分类介绍门户是访问各种企业应用、内容的统一入口提供统一的用户界面为企业提供协同工作环境为最终用户提供个性化的信息服务支持通过不同的设备访问企业信息–PC–手机–PDAIBMPortalServer、ORACLE、BEAWeblogicPortal中间件分类介绍功能体系PIM服务内容提供工作协同内容定制搜索服务多设备支持内容联合高速缓存索引应用集成单点登录工作流用户管理及安全内容管理