程序设计方法-第五讲中间件技术.ppt
《程序设计方法-第五讲中间件技术.ppt》由会员分享,可在线阅读,更多相关《程序设计方法-第五讲中间件技术.ppt(51页珍藏版)》请在三一办公上搜索。
1、1,中间件技术,程序设计方法第五讲,2,参考书,1.李华飚等.Java中间件技术及其应用开发.水利水电出版社、2007-92.杨放春等.异构网络中间件与开放式API技术.北京邮电大学出版社.2007-33.廖洪涛.数字电视交互系统:中间件.中国广播电视出版社.2005-14.邹国平、黄铮.高速公路机电工程软件开发技术.电子工业出版社,2008-105.宁焕生、张彦.RFID与物联网射频、中间件、解析与服务.电子工业出版社,2008-4 6.成际镇、林晓勇.计算机电信集成技术及应用.人民邮电出版社,2007-12,3,现代应用系统的基本特征,分布:任务已不只是在单机上运行,而是由网络中多台计算机
2、上的相关应用共同协作完成,需考虑网络传输、数据安全、数据一致性、同步等诸多问题;异构:计算机硬件、操作系统、网络协议、数据库系统以及开发工具种类繁多,需考虑数据表示、调用接口、处理方式等诸多问题;动态协作:参与协作的应用允许位置透明性、迁移透明性、负载平衡性等需求。,4,应用1,应用2,应用3,服务器1,服务器2,服务器3,图1 传统应用系统结构,5,应用1,应用2,应用3,服务器1,服务器2,服务器3,中间件,图2 现代应用系统结构,6,图3 系统层次关系结构,7,中间件(Middleware)是一种软件,处于系统软件(操作系统和网络软件)与应用软件之间,它能使应用软件之间进行跨网络的协同工
3、作(也就是互操作),这时允许各应用软件之下所涉及的“系统结构、操作系统、通信协议、数据库和其它应用服务”各不相同。,中间件定义,中间件的出现使计算机软件设计真正进入如平台无关的阶段。,8,如果一个网络的各个节点上安装了EE软件,各节点上的应用软件之间就可以实现相互合作。这时允许各节点可为不同的机器和操作系统。即EE软件使各节点下层的设备对应用软件来说变成了透明的。所以EE软件是实现可互操作功能的关键,是中间件中的主体部分。,执行环境(Execution Environment)软件,9,应用开发(Application Development)工具,应用软件要能透明地使用远程的资源,该软件中应
4、有作出此种透明操作的相应指示。为此必定要有一组工具,它可以用来开发含“透明操作远程资源”成份的应用软件,或改造原有的无透明操作能力的应用软件。这组AD工具含有一些专用语言(如界面描述语言和界面调整语言等)和有关的编译器,使用户(特别是应用软件开发人员)更方便设计网络应用软件,所以AD工具是一个完善的中间件所必备的部分。,10,图4 具有中间件的网络系统结构,11,提供了合作对象透明设施T1:有了它,合作一方不必知道合作的另一方为谁和它在何处,只要说明自己需要怎样的服务,T1就能为其物色到一个合适的合作方。提供了下层设备透明设施T2:有了它,合作一方不必关心合作的另一方所用的节点设备(机器和操作
5、系统)与本节点的差异。,12,按照IDC的分类方法,中间件分为:,远程过程调用中间件分布式对象中间件数据库访问中间件事务处理中间件消息中间件,中间件分类,13,本地过程调用的扩展,可透明地调用远程提供的服务。需要解决数据表示、可靠传递、服务定位等问题 应用实例:分布式计算环境,DCE,远程过程调用中间件,14,对象中间件就是用面向对象技术实现的、支持面向对象开发和集成应用的中间件。对象技术的封装、继承及多态性提供了良好的代码重用功能,并且对象的对外透明性也符合中间件技术的要求。面向对象的中间件技术基本思想是提供一种统一的接口使对象之间的调用和数据共享不再关心对象的位置、实现语言及所驻留的软硬件
6、系统。OMG组织的CORBA、Microsoft的COM/DCOM、SUN的J2EE等,分布式对象中间件,15,数据库访问中间件,连接应用程序和数据库的软件,允许通过单一的、定义良好的接口访问网络中来自不同厂商的数据库产品。(1)通用网关接口CGI(驻留在WebServer上)(2)专用API:DLL形式 NSAPI(Netscape)、ISAPI(Microsoft)(3)通用数据库接口 JDBC(SUN)、ODBC(Microsoft),16,事务处理中间件(Transaction Processing Middleware,TPM),TPM又称分布式事务处理中间件。专门针对联机交易处理系
7、统而设计。事务是对共享的系统资源所完成的一件工作,它通常是由一些列操作所组成。事务必须具有ACID(原子Atomicity,一致Consistency,隔离Isolation和耐用Durability)属性。,17,原子性(Atomicity)指的是:事务要么完整地执行(即做完上述系列操作中的每一个),要么根本不执行,而绝不会出现只执行一部分操作的情况。一致性(Consistency)指的是:一个事务执行完成,必定进入某个稳定状态;若进入的是另一个不一致的状态,则这一事务将被丢弃而不予执行。,18,隔离(Isolation)指的是:一个事务与其它事务并行作用于一共享资源上时,前者的进行是与后者
8、之间完全隔离开的。耐用性(Durability)指的是:当一个事务完成时,即使系统或者共享资源发生故障,该事务的执行结果也不会因此而丢失。,19,联机交易处理系统需要处理大量的分布式事务。分布式事务涉及到多个数据库,且允许这些数据库异构,如在不同的银行间进行资金转账。分布式事务需要处理大量并发进程,涉及到操作系统、文件系统、编程语言、数据通讯、数据库系统、系统管理及应用软件,是一个相当艰巨的任务。通过事务处理中间件简化应用开发。由它来负责处理联机交易过程中分布式交易的完整性、并发控制、负载均衡以及出错恢复等。,20,X/Open DTP模型包括3个组成部分:应用程序(Application P
9、rogram,AP)是事务的使用者,它是开始(Begin)、提交(Commit)和卷回(Rollback)事务的发出者。它规定一个事务的界限,并给出事务所包含的操作。资源管理器(Resource Manager,RM):提供对共享资源的访问,数据库管理系统(DBMS)或文件访问系统都可以成为RM。事务管理器(Transaction Manager,TM):是AP与RM之间的协调员,它给每个事务分配标示符,监视其进展,保证事务处理的顺利进行,并负责事务在失败情况下的恢复。,21,图5 TMP系统结构示意,22,分布式事务涉及到多个结点的数据的更新,任何一个结点或结点间通信的失效都可能导致分布式事
10、务的失败。因此,为了保证事务的完整性,分布式事务通常采用两阶段提交协议(Two Phase Commitment Protocol,简称2PC)来提交。两阶段提交协议的思路是TM向所有RM发出正式提交请求之前,先询问所有RM是否已准备好提交,仅当所有的RM都给出肯定的回答时,TM才发出提交的请求;如果其中有一个RM给出否定地回答,TM就指示所有的RM进行回卷,23,阶段1(准备阶段)TM询问所有的RM是否已准备提交。阶段2(提交阶段)TM检查所有RM的回答,只要有一个RM给出否定的回答,TM指示所有的RM进行回滚。否则,TM指示所有的RM进行提交。,24,在两阶段提交中,一个主节点被指派为事务
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 方法 第五 中间件 技术
链接地址:https://www.31ppt.com/p-2676026.html