第1章中间件技术导论_第1页
第1章中间件技术导论_第2页
第1章中间件技术导论_第3页
第1章中间件技术导论_第4页
第1章中间件技术导论_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、李桃迎管理科学与工程Java WebJava Web中间件技术中间件技术2第第1章章 中间件技术导论中间件技术导论1.1 中间件的定义1.2 中间件的分类1.3 平台与中间件1.4 中间件特点及优势1.5 软件构件技术的产生1.6 软件构件的定义1.7 基于构件的软件工程1.1 中间件的定义中间件的定义中间件是一种独立的系统软件或服务程序, 分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之 上,管理计算资源和网络通信。 中间件运行在分布式环境下网络通信功能 屏蔽分布式系统的异构性和复杂性中间件的定义中间件的定义OSOS中间件中间件应用应用网络OSOS中间件

2、中间件应用应用中间件 = 平台 通信中间件 = 平台 通信For Example JDBC、ODBC是数据库中间件使应用程序独立于特定的数据库产品Oracle、Sybase、Informix、DB2、Ingres、SQL Server、Access、MySQL、CloudScape、数据库中间件是应用程序和数据库系统的连接器 ODBC提供C语言的接口JDBC提供Java语言的接口JDBC既支持两层结构,又支持三层结构和多层结构 Java语言和工具的设计目标:write it once and run it anywhere!For Example:JDBC 建立数据库连接发送SQL语句 处理S

3、QL语句执行结果1.2 中间件的分类中间件的分类按照IDC的分类方法,中间件分为六类:1.终端仿真/屏幕转换2.数据访问中间件(UDA)3.远程过程调用(RPC)中间件4.消息中间件(MOM)5.交易中间件(TPM)6.对象中间件中间件的分类中间件的分类 可以把中间件分为两大类:底层中间件:用于支撑单个应用系统或解决单一类的问题交易中间件应用服务器(WAS)消息中间件数据访问中间件高层中间件:更多的用于系统整合,通常会与多个应用系统打交 道,在系统中的层次较高,并大多基于前一类的底层中间件运行企业应用集成中间件(EAI Suites)工作流中间件(Workflow)门户中间件(Portal)网

4、格中间件终端仿真终端仿真/屏幕转换屏幕转换 终端仿真/屏幕转换中间件用以实现客户机图形用户接口与已有的字符接口方式的服务器应 用程序之间的互操作。 应用它们应用于早期的大型机系统,主要功能是将终端机的字符界面 转换为图形界面,目前此类中间件在国内已没有应用市场。数据访问中间件数据访问中间件 数据访问中间件为了建立数据应用资源互操作的模式,对异构环境下的数据库实 现联接或文件系统实现联接的中间件如OGSA-DAI等 应用适用于应用程序与数据源之间的互操作模型客户端使用面向数据库的API,以直接访问/更新服务器端数据源基于SQL语句,是应用开发更加简单远程过程调用中间件远程过程调用中间件 远程过程

5、调用(RPC)中间件通过远程过程调用(RPC)实现异构分布式环境下不同应用之间 进行通信访问的中间件。 应用从一台机器或一个进程调用另一台机器或另一进程的服务或方 法,这种调用是通过网络来实现的。一个应用程序使用RPC来“远程”执行一个位于不同地址空间里的 过程,并且从效果上看和执行本地调用相同。RPC是一种广泛使用的分布式应用程序处理方法。远程过程调用中间件远程过程调用中间件 工作原理:一个RPC应用分为两个部分:server和clientServer提供一个或多个远程过程,client向server发出远程调用Stub提供数据转换和通信服务,屏蔽操作系统和网络差异。ClientServer

6、交易中间件交易中间件 交易中间件交易中间件就是一组程序模块,用以大大减少开发一个联机交易 处理系统所需的编程量为应用程序提供运行环境及各种服务,如程序加载、程序启动、 并发进程处理等交易中间件是专门针对联机交易处理系统而设计的 联机交易处理系统联机交易处理系统需要处理大量并发进程,处理并发涉及到操作 系统、文件系统、编程语言、数据通讯、数据库系统、系统管理、 应用软件交易中间件交易中间件 分布式交易处理的标准及参考模型X/OPEN 组织专门定义了分布式交易处理的标准及参考模型把一个联机交易系统划分成资源管理(RM)、交易管理(TM) 和应用(AP)三部分,定义了应用程序、交易管理器、多个资源

7、管理器是如何协同工作的。交易管理器可归入交易中间件 应用只适用于联机交易系统,如银行业务系统、订票系统等。尽管交易信息也是消息,基于消息传输,但应用范围较小。消息中间件消息中间件 消息中间件(Message-Oriented Middleware,MOM)利用高效可靠的消息传递机制进行平台无关的数据交流,并基于 数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展 进程间的通信,并支持多通讯协议、语言、应用程序、硬件和软 件平台。 目前流行的MOM中间件产品 IBM的MQSeries BEA的MessageQ消息传递和排队技术消息传递和排队技术 消息传递和排

8、队技术有以下三个主要特点:通讯程序可在不同的时间运行对应用程序的结构没有约束程序与网络复杂性相隔离 消息中间件可以既支持同步方式,又支持异步方式 异步中间件技术可以分为两类广播方式:把消息分发给系统的所有用户发行/订阅方式:可以指定哪种类型用户可以接收哪种类型的消息消息中间件消息中间件 消息中间件采用的两种形式:消息传递(message passing) 消息队列(message queuing)对象中间件对象中间件 面向对象的中间件提供一个标准的构件框架,能使不同的厂家的软件通过不同的地 址空间、网络和操作系统互相交互访问。该构件的具体实现、位 置及所依附的操作系统对客户来说都是透明的。例如

9、:用户通过简单组装或扩展已有构件就可以建立一个客户/服 务器结构的信息系统。 面向对象的中间件技术的目标为软件用户及开发者提供一种应用级的即插即用的互操作性,就 像现在使用集成块和扩展板一样。对象中间件对象中间件 对象中间件的标准 :OMG组织的CORBAMicrosoft的COMIBM公司的SOM应用对象ORB通用工具对象服务应用服务器应用服务器 Web应用服务器主要是指基于Java和J2EE/EJB的应用服务器软件国内市场上应用的Web应用服务器主要有三类:国外、国内厂家 的商业化产品及一些Open Source(开源)软件例如:Tomcat、JBoss、IBM WebSphere、BEA

10、 WebLogic、 SunAppServer、Oracle iAS应用服务器应用服务器 技术方面在技术方面的更新主要是对标准的支持、新的开发工具和对Web 服务的支持等方面。 解决的问题体系结构:应用服务器应当具备至少三个层次的服务器端体系结 构:请求接收层、业务处理层、数据层。负载均衡:应用服务器系统,都具有负载均衡的能力,即将用户 发来的请求,恰当地分配给各个应用服务器,使大家可以分别负 担系统的负载。高可靠性、数据库连接池、分布会话管理、企业应用集成中间件企业应用集成中间件 企业应用集成中间件Enterprise Application Integration (EAI),通常指的是企

11、业应用集 成服务器。EAI服务器通常是一个有着重量级“价格”的软件系统。软件通常运 行在消息中间件之上,可以和Web应用服务器等中间件集成。应用系统1应用系统2EAI企业应用集成中间件企业应用集成中间件 应用EAI服务器强调的是应用系统之间相互访问与集成的需求与能 力,访问是双向的。集成的中心是作为枢纽的EAI服务器,枢纽向外的辐射(通过消 息中间件等技术)把各个应用系统连接集成在一起。枢纽执行应用之间格式的转换 消息传递的路由选择与控制及 传输任务。企业应用集成中间件企业应用集成中间件 一个完整的 EAI 解决方案应当包含以下五个层面:用户交互:用户界面统一接入,利用门户技术进行构建。应用连

12、接:通过 HUB 或总线架构,实现应用之间连接,完成相 关的数据路由与数据格式转换。业务流程整合:实现业务流程管理,包括工作流管理和自动化流 程两个方面。构建整合:该层面包含两个部分:构建与现有应用兼容的新应 用;对现有资源重用以适应新环境的需要。信息集成:实现数据集成,在异构的数据源之间实现数据层整合工作流中间件工作流中间件 工作流中间件定位于支持商务流程的自动化,即能够方便地进行处理集成。以文档为中心,支持文档流转的工作流软件。 应用支持与Web应用服务器的集成,并提供使用浏览器获得工作列表、 执行流程实例和监控管理工作流的能力。工作流引擎运行在Web应用服务器上,以浏览器作为工作流程中

13、参与人员的操作界面,具备可视化的流程定义工具等必要的功能 模块。 开源工作流中间件包括jBPM、Shark等门户中间件门户中间件 门户中间件指的是门户服务器(Portal Server)。门户服务器是Web应用服 务器上的“应用”。Portal门户portal是一种web应用,通常用来提供个性化、单次登录、聚集各 个信息源的内容,并作为信息系统表现层的宿主。 完整的Portal通常由Portal服务器、Portlet容器、Portlet构成。应用开发上可以开发很多这样的“门户组件”同时集成别人开发的“门户组件”来构建企业门户。安全中间件安全中间件 安全中间件以公钥基础设施(PKI)为核心、建立

14、在一系列相关国际安全标 准之上的一个开放式应用开发平台对PKI基本功能如对称加密与解密、非对称加密与解密、信息摘 要、单向散列、数字签名、签名验证、证书认证,以及密钥生成、 存储、销毁等进一步扩充,进而形成系统安全服务接口、应用安 全服务接口、储存安全服务接口和通信安全服务接口。安全中间件安全中间件 应用优势可以跨平台操作,为不同操作系统上的应用软件集成提供方便, 满足用户对系统伸缩性和可扩展性的要求。在频繁变化的企业计算机环境中,能够将不同的应用程序无缝地 融合在一起,使用户业务不会因计算环境的改变遭受损失。屏蔽了安全技术的复杂性,使设计开发人员无须具备专业的安全 知识背景就能够构造高安全性

15、的应用。1.3 平台与中间件平台与中间件平台 = 中间件 + 业务组件 “平台”中包含中间件,中间件是构造平台的基础; 在中间件之上有一层和应用有关联的“业务组件”,以进 一步简化应用系统的开发。1.4 中间件的特点中间件的特点 满足大量应用的需要 运行于多种硬件和操作系统(OS)平台 支持分布式计算,提供跨网络、硬件和操作系统(OS)平 台的透明性的应用或服务的交互功能 支持标准的协议 支持标准的接口中间件的十大优越性中间件的十大优越性 (1)应用开发业务逻辑和应用逻辑程序仅占总程序量的30%,而基础程序占了 70%,使用传统意义上的中间件一项就可以节省25%60%的应 用开发费用。如是以新

16、一代的中间件系列产品来组合应用,同时 配合以可复用的商务对象构件,则应用开发费用可节省至80%。 (2)系统运行没有使用中间件的应用系统,其初期的资金及运行费用的投入要 比同规模的使用中间件的应用系统多一倍。 (3)开发周期基础软件的开发是一件耗时的工作,若使用标准商业中间件则可 缩短开发周期50%75%。中间件的十大优越性中间件的十大优越性 (4)减少项目开发风险研究表明,没有使用标准商业中间件的关键应用系统开发项目的 失败率高于90%。企业自己开发内置的基础(中间件)软件是得 不偿失的,项目总的开支至少要翻一倍,甚至会十几倍。 (5)合理运用资金借助标准的商业中间件,企业可以很容易地在现有

17、或遗留系统之 上或之外增加新的功能模块,并将它们与原有系统无缝集合。 (6)应用集合依靠标准的中间件可以将现有的应用、新的应用和购买的商务构 件融合在一起进行应用集合。中间件的十大优越性中间件的十大优越性 (7)系统维护基础(中间件)软件的自我开发是要付出很高代价的,此外,还 要每年维护自我开发的基础(中间件)软件和应用软件。而在一般情况下,购买标准商业中间件每年只需付出产品价格的15%20%的维护费。 (8)质量标准的中间件在接口方面都是清晰和规范的。标准中间件的规范 化模块可以有效地保证应用系统质量及减少新旧系统维护开支。 (9)技术革新标准的商业中间件,则对技术的发展与变化可以放心,中间

18、件厂 商会责无旁贷地把握技术方向和进行技术革新。中间件的十大优越性中间件的十大优越性 (10)增加产品吸引力不同的商业中间件提供不同的功能模型,合理使用,可以让你的 应用更容易增添新的表现形式与新的服务项目。从另一个角度 看,可靠的商业中间件也使得企业的应用系统更完善,更出众。1.5 软件构件技术的产生软件构件技术的产生 为什么要研究软件构件技术? 软件复用:以构件技术为核心 软件体系结构:构件 + 构件之间的关系 网络环境:软件分布在不同结点上软件构件技术的产生软件构件技术的产生 1968 年 NATO 软件工程会议上Mcllroy的论文提出了“大量生产的软件构件” 第一次引入了 软件复用

19、概念软件复用思想的历史背景软件复用思想的历史背景 子程序的概念即体现了复用的思想 程序库将一些通用子程序收集到程序库中供其他程序员在 编程时使用,例如:数学程序库等。 在其后的发展过程中有许多复用技术的研究成果和成功的 复用实践活动。但是技术上的不成熟,使得软件复用未得 到应有的进展。软件复用思想的历史背景软件复用思想的历史背景 近十几年来,面向对象技术逐步成为主流技术,为软件复 用提供了基本的技术支持,软件复用研究重新成为热点。 软件复用被视为解决软件危机 提高软件生产效率和质量的现实可行途径对比传统工业对比传统工业 这是软件复用与软件构件技术受到高度重视的根本原因 分析传统工业,如机械、建

20、筑等行业以及计算机硬件产 业,其成功的基本模式是:符合标准的零部件(构件)生产基于标准零部件的产品生产(组装) 其中:复用是必需的手段,构件是核心和基础 这种模式是产业工程化、工业化的必由之路软件产业发展的必然途径软件复用的两种方法软件复用的两种方法 产品复用 是目前现实的、主流的途径 产品复用复用已有的软件构件,通过集成(组装) 构件得到新系统 过程复用复用已有的软件开发过程,使用可复用的 应用生成器来自动或半 自动生成系统 过程复用 依赖于软件自动化技术的发展,目前只适用于 一些特殊应用领域产品复用的两种方式产品复用的两种方式黑盒复用:不需对构件作任何修改即可直接复用这是理想的复用方式白盒

21、复用:已有构件并不能完全符合用户需求需要根据用户需求进行适应性修改产品复用的两个过程产品复用的两个过程 可复用软件构件的开发如何开发出便于复用的软件构件 基于可复用软件构件的应用系统构造如何利用现有的软件构件开发出目标系统实现软件复用的关键因素实现软件复用的关键因素 软件构件技术(Software Component) 领域工程(Domain Engineering) 软件体系结构(Software Architecture) 软件再工程(Software Reengineering) 开放系统(Open System) 软件过程(Software Process) CASE技术 非技术因素C

22、ASE技术软 件 过 程软件过程非 技 术 因 素非技术因素领域工程领域工程 软件再工程 软件构架技术 开放系统技术构件、构架应应用用系系统统 领领域域构件标准构件分类、构件组装遗遗产产软软件件 系系统统软件构件技术是软件复用的关键技术CASE技术1.6 什么是软件构件什么是软件构件 从一般意义上讲构件是 系统中可以明确辨识的构成成分软件构件则是软件系统中具有一定意义的相对独立的构成成分 由于目前讨论的软件构件主要着眼于其复用意义, 因此软件构件主要是指可复用软件构件 (Reusablesoftware component,RSC)软件构件的定义软件构件的定义构件是一个不透明的功能实现体 能够

23、被第三方所组装,且符合一个构件模型 定义1 Szyperski 1996 一个构件是一个组装单元 它具有约定式规范的接口以及明确的依赖环境 构件可以被独立地部署,由第三方组装 定义2 SEI 2001 构件是一个不透明的功能实现体 能够被第三方所组装,且符合一个构件模型构件是可以被复用的软件实体,由构件规约与构件实现两部分组成复用 可以发生在不同应用领域的软件系统之间 可以发生在相同领域内的不同系统之间, 可以发生在一个系统在演化过程中的不同阶段之间 定义3:构件是可以被复用的软件实体,由构件规约与构件实现两部分组成复用可以发生在不同应用领域的软件系统之间 可以发生在相同领域内的不同系统之间,

24、 可以发生在一个系统在演化过程中的不同阶段之间分为基础构件、领域构件、专用构件软件构件的定义软件构件的定义构件规约构件信息(组装合约)构件的运行管理规约(运行合约) 构件规约用于描述如何对构件进行使用与管理是对构件外部特征的形式化描述是关于构件的知识构件接口(客户合约) 构件的使用规约构件规约(构件规约(specification)构件实现构件实现(Implementation) 构件实现是构件内部的代码实现体对于一个面向过程的系统一个构件由系统的一个或多个紧耦合的模块组成对于一个面向对象的软件系统一个构件由系统的一个或多个紧耦合的对象组成(a)(b)(c)构件实现构件规约构件规约1构件规约2构件实现1构件规约构件实现2构件的规约与实现构件的规约与实现构件构件规约构件实现构件的规约与实现构件的规约与实现 例如:假设有一组有用行为被定义为管理一组人员的姓名 和地址。其中可以包括:设定某个人的住址,查询这个人 在这个地址已经住了多少年,以及查询三年以前这个人住 在哪里等功能。这组行为称为接口IAddress

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论