ImageVerifierCode 换一换
格式:PPT , 页数:75 ,大小:833.50KB ,
资源ID:13119429      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/13119429.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(软件中间件.ppt)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

软件中间件.ppt

1、Slide Title,Articles and prepositions are not caps in titles,Unless,of course,the title starts with one,Proper names always have leading caps,Acronyms are always all caps,Fifth level,Capitalize the first word of all bullet items,This applies to sub-bullets too,Rose,Apex,and Ada,not ROSE,APEX,and ADA

2、Distributed Computing Middleware,沈备军,Module:Distributed Computing Middleware,分布计算中间件,高级专题,本节内容,概述,分布对象中间件,Web,服务中间件,开发分布系统面临的问题,网络通信,分布系统 往往建立在传输层之上,协调,同步,激活,/,去活,并发等,可靠性,通信可靠性,事务性,容错性等,伸缩性,访问透明性,位置透明性,迁移透明性,复制透明性 等,异构性,平台异构,编程语言异构等,中间件的定义,IEEE,中间件通过提供简单、一致、集成的分布编程环境,简化分布应用的设计、编程和管理。本质上,中间件是一个分布软

3、件层(或平台),抽象了底层分布环境(网络、主机、操作系统、编程语言)的复杂性和异构性。,CMU-SEI,中间件是一组支持软件连接的服务的集合,允许在一个或多个主机上运行的多个过程通过网络进行交互。,美国国家自然基金委员会,中间件是连接分布在,Internet,或局域网上的多个应用的软件。具体而言,中间件是一组驻留在网络与传统应用之间的一组服务,用以管理安全、访问以及信息交换。,中间件的分类,1),数据访问中间件,允许应用程序和本地或者异地的数据库进行通信,并提供一系列的应用程序接口(如,ODBC,、,JDBC,等)。该类中间件技术上最成熟,但局限于与数据库相关的应用。,2),消息中间件,可以屏

4、蔽平台和协议上的差异进行远程通信,实现应用程序之间的协同,如,IBM,的,MQSeries,、,BEA,的,MessageQ,等、其优点在于提供高可靠的同步和异步通信,缺点在于不同的消息中间件产品之间不能互操作,开放性差,3),远程过程调用,RPC,中间件,该类中间件解决了平台异构的问题,但编程复杂且不支持异步操作。,Gartner Group,将目前可用的主流中间件划分为五类:,中间件的分类 (,2,),4,)事务中间件,是在分布、异构环境下提供保证事务完整性和数据完整性的一种平台,如,BEA,的,TUXEDO,和,IBM,的,CICS,。事务中间件的优势在于对关键业务的支持,但机制复杂、对

5、用户要求较高。,5,)对象中间件,在分布、异构的网络计算环境中,可以将各种分布对象有机地结合在一起,完成系统的快速集成,是中间件技术发展的主流。主流的对象中间件包括,CORBA,、,RMI,和,DCOM,。,中间件的发展趋势,支持基于构件的软件开发,对象中间件,=,构件中间件,如,J2EE/EJB,、,CORBA/CCM,、,COM+/.NET,支持,Internet,应用,Internet,中间件技术,Web Services,支持移动应用,-,移动计算中间件,支持自治计算,XML,、工作负载管理、软件,Agent,技术等,下一代中间件的主要特性之一,支持服务质量,中间件的,QoS,,包括,

6、QoS,规约、映射和执行等,支持自反(,Reflection,)机制,“黑盒”,=”,白盒”,两种基本能力:,introspection,与,intercession,本节内容,概述,分布对象中间件,Web,服务中间件,构件接口技术的基本概念,从构件的开发和使用角度看:,构件使用者,构件,接口,构件开发者,开发,使用,构件接口技术的基本概念,从构件的运行角度看:,构件,运行协议,构件运行环境的标准化将更好地支持构件之间的互操作,构件运行的环境,(,container,),协议保证了构件的易移植性,构件接口技术的基本概念,从构件的部署和维护角度看:,构件,部署和维护,部署和维护的工具构件运行的环

7、境,(,App Server,),部署和维护的工具应符合一定的标准。,企业应用构架,-,n-tier C/S,架构,HTML,Script Languages,.,JSP,Servlets,CGI,.,EJB,CORBA,COM+,Native languages,Client/,Browser,Web,Server,Application,Server 1,Legend,System,Database,Server,Application,Server n,客户机,表示层,业务服务层,后端系统,应用服务器,-,服务器端的构件容器和中间件服务,获得多层体系结构的优点是需要代价的,服务器端存在着

8、诸如构件的生命周期管理、多层次间的负载平衡、同一构件的多客户并发访问控制、安全认证等一系列复杂问题。,解决这些问题需要专家级别的中间件知识和行业规范,应用服务器的诞生就是为了让人们能够共享这样的服务,而不需要自己去开发。,应用服务器为构件提供了服务器端的运行环境,提供常用的中间件服务,比如资源缓冲,网络操作等等,构件接口模型,-,服务器端构件容器的标准化及其与构件的接口协议,应用服务器在保证可靠性和可扩展性的前提下,提供了构件所需要的运行环境和中间服务。但仅此不够,我们还需要一个统一的服务器端构件接口模型。,构件接口模型为构件的应用服务器及其部署工具提供了一个接口标准,并完善地定义应用服务器和

9、构件本身之间的接口,从而保证了构件的易移植性。,构件接口模型,-,三种主流的模型,Microsoft:DNA/COM+,Distributed interNet Application Architecture/Common Object Mode+,OMG:OMA/CORBA,Object Management Architecture/Common Object Request Broker Architecture,Sun:J2EE/EJB,Java 2 Platform Enterprise Edition/Enterprise JavaBean,EJB/J2EE 技术,1 J2EE,

10、概述,1)Java,平台的发展历程,2)J2EE,核心技术,3)J2EE,应用开发过程中的不同角色,2 EJB,技术,1),EJB,简介,2),EJB,的体系结构,3),EJB,的编程模型,4),EJB,构件的开发,Java,平台的发展历程,Java,平台的第一个参考实现是,JDK,。但,JDK,并未支持服务器端构件开发。,为了提供服务器端部署的企业级服务,,Sun,公司开始开发一些,Enterprise API,。这些服务包括命名和查找服务,事务服务,和,EJB 1.0 API,为了解决,Enterprise API,的问题,,Sun,公司提出了三个不同的,Java,平台:,J2ME,(,J

11、ava 2 Platform,Micro Edition,)、,J2SE,(,Java 2 Platform,Standard Edition,)和,J2EE,(,Java 2 Platform,Enterprise Edition,)。,J2EE,核心技术,-,n-tier 应用架构,RMI,客户机,表示层,业务服务层,后端系统,浏览器,应用程序,浏览器,Applet,Web/HTTP,服务器,JSPs,Servlets,分布式,CORBA,对象,遗产系统,数据库,应用服务器,Java IDL,JNDI,JDBC,JMS,EJB,EJB,EJB,EJB,J2EE,核心技术,J2EE1.3/E

12、JB2.0,规约,Java 2 Platform,Enterprise Edition(J2EE)v1.3,JSPs,和,Servlets,安全认证服务,/JAAS,Java 2 Platform,Standard Edition(J2SE)v1.3,Java IDL/IIOP,RMI/JRMP,JDBC,核心,HTTP,Java Security,JDBC,扩展,RMI/IIOP,命名目录接口,JNDI,XML/JAXP,消息服务,JMS,交易管理,JTS/JTA,Connectors,会话、实体、消息驱动等类型,EJB,的容器,BMP,和,CMP,机制,EJB 2.0,EJB,部署,EJB

13、 QL,EJB,异常处理机制,J2EE,核心技术,-EJB(Enterprise JavaBeans),EJB,是,J2EE,规约中最重要的部分。,EJB,提供了让客户端使用远程的分布式对象的框架,极大地简化了具有良好的可扩充性的企业级软件的开发。,EJB,规约规定了,EJB,构件(指符合,EJB,规约的构件)如何与,EJB,容器(,container,)进行交互,而,EJB,容器则提供诸如目录服务、事务管理、安全、连接池管理、容错等服务。,J2EE,核心技术,-RMI,和,RMI-IIOP,Java RMI(Remote Method Invocation),是,EJB,构件和客户端的通信,

14、API,,它和,Java,语言本身紧密结合,允许进程间通信并提供其他通信相关的服务。,RMI-IIOP,是一个可移植的,RMI,扩展,它利用,OMG,的,IIOP(Internet Inter-ORB Protocal),协议作为通信协议,,IIOP,对,J2EE,与,CORBA,系统集成也是必需的。,J2EE,核心技术,-JNDI,JNDI,(,Java Naming and Directory Interface,)是命名和目录服务的标准。,EJB,依赖,JNDI,通过网络来查找分布式构件。,JNDI,是客户端代码连接,EJB,构件所必需的关键技术。,J2EE,核心技术,-JDBC,JDB

15、C(Java Database Connectivity),同,ODBC,一样,隐蔽了程序访问数据库的细节,允许程序员使用相同的接口来访问各种不同的数据库。,JDBC,是使用纯,Java,写的,它可以跨平台的访问各种数据库。,J2EE,核心技术,-JTA,和,JTS,JTA,:,Java Transaction API,JTS,:,Java Transaction Service,J2EE,核心技术,-JMS,JMS,(,Java Messaging Service,)是一套与面向消息的中间件,(MOM),通信的,API,。,JMS is an API that describes an in

16、terface to client/server messaging systems.Client/server messaging systems are commonly referred to as message-oriented middleware(MOM),JMS,同时支持点对点的消息队列服务和发布,-,订阅消息服务。,JMS,支持可靠消息传递、消息传递事务、持续消息等特性。,JMS,是实现,EJB,中消息驱动,Bean,的基础。,J2EE,核心技术,-JSP,和,Servlets,JSP:Java Server Pages,客户端请求,JSP,页面时,服务器会先对该页面中的,J

17、ava,代码进行处理,将返回的,HTML,送还给客户端。,Servlet,是一种扩展,Web Server,功能的,Java,代码,是服务器端的程序,在用户请求时执行。,Servlet,是纯粹的,Java,代码,但它可以输出合法的,HTML,代码。,J2EE,核心技术,-JCA,JCA:,Java Connector Architecture,JCA,定义了,J2EE,平台连接异构的企业信息系统,EIS,的标准架构。,J2EE,核心技术,-XML,XML(eXtensible Markup Language,,广泛标记语言,),是由万维网联盟,(W3C),制订、得到业界广泛支持的标准,被专门设

18、计为描述数据的标准元语言。,在,Java,中可以使用,JAXP,(,Java API for XML Parsing,)来对,XML,文件进行解析。,J2EE,中的许多配置文件使用了,XML,。,J2EE,应用开发过程中的不同角色,应用组装者,容器提供者,服务器提供者,应用部署者,系统管理员,EJB,EJB,模块部署描述,JAR模块,EJB JAR模块,J2EE应用,部署描述,WEB WAR,模块,EAR应用,构件开发者,EJB,构件,Develop,Package,Enterprise Application Server,(Vendor Implementation of J2EE API

19、s/Services),Enterprise Application Container(J2EE Container),Develop,Develop,Package,Deploy,Manage,EJB,的架构,对象池,EJB,客户机,业务方法,创建、删除、查找,Bean,实现,EJB,部署描述,Bean,代理,。,Home,接口,Remote,接口,EJB,服务器,EJB,容器,EJB,架构,-EJB,客户机,EJB,客户机是指请求,EJB,构件服务的应用程序。,EJB,规约为创建,EJB,构件的客户接口定义了一套标准。这套标准主要包括:,EJB Home,接口:,EJB Home,接口为

20、客户机创建、删除、查找,EJB Remote,接口对象的句柄提供了相应的操作。,EJB,客户机使用,JNDI,来查找对,EJB Home,接口的引用。,EJB Remote,接口:,EJB,客户机通过,EJB Remote,接口调用,EJB,构件的业务方法。,RMI/IIOP,或,RMI/JRMP,协议:,RMI/IIOP,或,RMI/JRMP,是,EJB,客户机与,EJB,服务器进行通信的标准协议,这些底层的分布式通信机制对于,EJB,客户机和,EJB,构件开发者都是透明的。,EJB,架构,-EJB,服务器,EJB,服务器为使用,EJB,构件的应用程序提供操作环境,并提供所有必需的服务,来支

21、持,EJB,架构。,EJB,规约为每个支持,Java,的应用程序服务器定义了一个标准模型。任何厂商都可以使用此模型来实现对,EJB,构件的支持。,多种系统(如,TP,监视器、,CORBA,运行系统、,COM,运行系统、数据库系统、,Web,服务器系统或其它基于服务器的运行系统)都可以调整到能够支持易移植的,EJB,构件。,EJB,架构,-,EJB服务器的,主要功能,管理,EJB,容器,(EJB,容器则管理,Bean),提供对操作系统服务的存取,提供,Java,相关的服务,尤其是,-,通过,JNDI,访问命名空间,-,基于,OTS,的事务处理服务,EJB,架构,-EJB,容器,EJB,构件并不在

22、EJB,服务器的顶部直接执行。一个称为,EJB,容器的中间件在,EJB,服务器环境中运行,,EJB,容器为,EJB,构件提供操作环境。主要来说,,EJB,容器管理了以下的系统级问题:,持久性(,Persistence,):容器决定何时载入储存状态,又可分为,CMP,(Container-Managed Persistence),和,BMP(Bean-Managed Persistence),。,生成周期管理(,Life Cycle Management,):容器管理,EJB,构件的实例,使,EJB,构件实现最大的效能和内存利用率。容器能够激活和失效,EJB,构件,管理实例池,等等。,事务管理

23、Transaction Management,):容器负责管理分布式事务处理的复杂问题。,安全性(,Security,):,部署描述文件定义了客户能够访问的不同的应用函数。容器只允许授权的客户访问这些函数。,远程连接(,Remote Connectivity,):容器为远程连接管理底层的通信问题,而且对,EJB,构件的开发者和客户都隐蔽了通信问题。,EJB,的编程模型,-,EJB构件的分类,会话,(Session)Bean,无状态会话,(,Stateless Session),Bean,:仅对单个用户提供服务,并不保留任何程序状态。系统结束时其生成周期也同时结束。,有状态会话,(State

24、ful Session)Bean,:提供与单个用户的交互,为每个用户记录各自的状态,但系统结束时其生命周期也同时结束。,实体,(Entity)Bean,:,提供了持久数据的操作与表示。可以同时与多个客户机进行交互,系统结束时其运行状态仍能保留。,消息驱动,(Message Driven)Bean,:,不能由客户端直接获得其引用而调用其方法,只能由系统消息来启动。,在,EJB v2.0,规约中,,EJB,构件分为,3,种类型:,EJB构件的开发,本机接口(,Home Interface,):,本机接口主要提供与构件的生命周期相关的方法,如建立、销毁、查找等。,远程接口(,Remote Inter

25、face,):,远程接口则表示构件所实现的业务功能。,Bean,类(,Bean Class,):,每一个远程接口都有一个实现类,该实现类实现了远程接口中所定义的业务方法。,所有的,EJB,构件都有,3,个基本组成部分:,EJB构件的开发-实体Bean的例子,EJB构件的开发-JAR归档文件,一个,EJB,构件的远程接口、本机接口及自身的类文件及其控制信息,(,部署描述文件、环境属性文件和清单文件,),将被封装成一个,JAR,文件。,部署描述文件:容器为,EJB,构件自动处理持久性、事务、一致性及访问控制等工作。,EJB,规约提供了一种说明这些操作是如何处理的机制,这就是,XML,格式的部署描述

26、文件。,环境属性文件:环境属性作为键,-,值对存储在一个文件中,可通过,java.util.Properties,访问此文件。,清单文件是标识,EJB,构件及其相关文件所必需的。,EJB构件的开发-部署,EJB,构件是在称为部署,(Deploy),的特定过程中被安装的,由容器提供对部署过程的支持。,在部署时,容器分析,JAR,文件的内容,并采取必要的操作使此构件可用。这些操作包括:,生成实现构件的本地和远程接口的新,Java,类;,将本地接口实现绑定到,JNDI,命名空间中;,生成桩和骨架类,这是支持,RMI,通信所必需的;,生成,Bean Class,的子类,加入容器专用的代码;,部署时由容

27、器生成的类通常是容器专用的,而不像,JAR文件,那样具有易移植性。,EJB构件的开发-客户端编程,CustomerHome home;Object ref;,/,通过,JNDI,得到服务器上,bean,的引用,ref=jndiContext.lookup(java:comp/env/ejb/Customer);,/,将引用的类型转换到,Customer,home=PortableRemoteObject.narrow(ref,CustomerHome.class);,/,用本机接口生成实例并将其引用传给远程接口,Customer customer=home.create(customerID)

28、/,用户通过远程接口执行所需的工作,customer.setName(someName);,EJB,应用开发实例,-,服务器端,Arith,add(),ArithBean,ejbCreate(),ejbRemove(),ejbActivate(),ejbPassivate(),setSessionContext(),add(),ArithHome,create(),EJBHome,getEJBMetaData(),getHomeHandle(),remove(),remove(),(from ejb),EJBObject,getEJBHome(),getHandle(),getPrimary

29、Key(),isIdentical(),remove(),(from ejb),SessionBean,ejbActivate(),ejbPassivate(),ejbRemove(),setSessionContext(),(from ejb),EJB,应用开发实例,-,Arith.java,package j2eetest;,import javax.ejb.*;,import java.util.*;,import java.rmi.*;,public interface Arith extends javax.ejb.EJBObject,public int add(int a,int

30、 b)throws RemoteException;,EJB,应用开发实例,-,ArithHome.java,package j2eetest;,import javax.ejb.*;,import java.util.*;,import java.rmi.*;,public interface ArithHome extends javax.ejb.EJBHome,public Arith create(),throws CreateException,RemoteException;,EJB,应用开发实例,-,ArithBean.java,package j2eetest;import j

31、avax.ejb.*;,public class ArithBean implements SessionBean,SessionContext sessionContext;,public void ejbCreate()throws CreateException ,public void ejbRemove(),public void ejbActivate(),public void ejbPassivate(),public void setSessionContext(SessionContext sessionContext),this.sessionContext=sessio

32、nContext;,public int add(int a,int b)return a+b;,EJB,应用开发实例,-,客户端,ArithHome,create():j2eetest.Arith,(from j2eetest),Jsp1Bean,aa:int=234,bb:int=567,Init():void,setA(a:String):void,setB(b:String):void,getRes():String,getInitialContext():javax.naming.Context,-arithHome,Arith,add(a:int,b:int):int,(from

33、j2eetest),-arith,EJB,应用开发实例,-,Jsp1Bean.java,public void Init(),try,Context ctx=getInitialContext();,/look up jndi name,Object ref=ctx.lookup(Arith);,/cast to Home interface,arithHome=(ArithHome)PortableRemoteObject.narrow(ref,ArithHome.class);,arith=arithHome.create();,catch(Exception e),e.printStac

34、kTrace();,EJB,应用开发实例,-,Jsp1Bean.java,private Context getInitialContext()throws Exception,String url=t3:/localhost:7001;,Properties properties=null;,try,properties=new Properties();,properties.put(Context.INITIAL_CONTEXT_FACTORY,weblogic.jndi.WLInitialContextFactory);,properties.put(Context.PROVIDER_

35、URL,url);,return new InitialContext(properties);,catch(Exception e)throw e;,-,res=arith.add(aa,bb);,COM+,技术,COM+,技术的发展历程,微软分布式网络应用体系结构,Windows DNA,COM+,基本结构,COM+,主要特点,COM+,技术的发展历程,COM,(,Component Object Model,)起源于,OLE,(,Object Linking and Embedding,,对象连接和嵌入);,当时的,OLE,使用一种称为动态数据交换(,Dynamic Data Excha

36、nge,,简称,DDE,)机制来支持程序之间的通信,而,DDE,建立在,Windows,消息机制基础上,稳定性和效率都很差;,COM,定义了客户与构件之间互操作的标准,包括规约与实现两部分。,规约部分定义了构件之间的通信机制,这些规约不依赖于任何特定的语言和操作系统。,实现部分即,COM,库,为,COM,规约的具体实现提供一些核心服务。,以,COM,技术为基础的,OLE,后改名为,ActiveX,。,随着,NT4.0,的发布,,COM,技术需要延伸到分布计算环境,这就产生了所谓的,DCOM,(,Distributed COM,,分布构件对象模型)。,COM+,技术的发展历程(续),DCOM,用

37、网络协议来代替本地进程之间的通信,并针对分布环境提供了一些新的特性,例如位置透明、网络安全性、跨平台调用等。,COM/DCOM,技术为基于构件的软件开发提供了基础。但是,如果用它来开发企业级应用系统,显然还需要功能强大的基础设施,这些基础设施将为构件提供基本的运行和部署环境。,为了满足企业级应用的需求,微软公司推出了一种微软事务服务器(,Microsoft Transaction Server,,简称,MTS,)。,MTS,把应用系统的客户程序、应用构件和各种资源有机结合起来,弥补了,COM/DCOM,的不足,为分布式企业应用提供了一种服务器端的构件运行和部署环境。,MTS,是从,NT4.0+

38、SP4,的,Option Pack,开始,随,Windows,操作系统免费提供的。,COM+,技术的发展历程(续),随着因特网应用的日益广泛,企业级应用的体系结构越来越重要。为了使,Windows,真正成为企业应用平台,微软公司又推出了,Windows DNA,(,Distributed interNet Applications Architecture,,分布式网络应用体系结构)。,Windows DNA,是一个完整的、多层的新一代企业应用体系结构,它包含工具、数据库、操作系统、编程模型和应用服务等。,在新的企业应用体系结构下,微软公司希望进一步把,COM,、,DCOM,和,MTS,统一起

39、来,形成真正适合于企业级应用的构件技术,这就是,COM+,。,COM+,仍然以,COM/DCOM,为基础,包含了,MTS,。,COM+,是一种中间件技术的规约,其要点是提供建立在操作系统上的、支持分布式企业级应用的“服务”。,COM+,是在,20,世纪末随着,Windows2000,发布才面世的。,微软分布式网络应用架构,Windows DNA,Windows DNA,是一个服务器端的开发平台,包含了以下产品:,Windows NT/2000,:操作系统,为所有微软公司技术提供运行环境和支持。,DCOM,:支持分布式构件的核心技术。,MSMQ(Microsoft Message Queue),

40、消息队列产品,支持构件间的异步通信。,MTS,(,Microsoft Transaction Server,):管理构件的应用服务器。,Microsoft Wolfpack,:支持集群服务器的软件。,Microsoft SQL Server,:一个关系型数据库管理系统。,Microsoft IIS,(,Internet Information Server,):,Web,服务器。,Microsoft Management Console,:部署和管理工具。,COM+,技术是以上产品(尤其是,DCOM,、,MTS,、还有,MSMQ,的一部分)的相互结合。,COM+的架构,COM+,的核心是,改

41、进的,COM/DCOM,和,MTS,的集成,但是,COM+,增加了一些非常重要的构件服务,比如,负载平衡、驻留内存数据库、事件模型、队列服务等。,COM+,还提供了一个比,MTS,更好的构件管理环境,COM+Explorer,,用来设置,COM+,应用和,COM+,构件的属性信息。另外,,COM+,还支持所谓的申述式编程模型(,declarative programming model,),它允许开发人员以较通用的方式开发构件,而一些细节则留到部署时再确定。,COM+,COM+,目录,负载平衡,驻留内存数据库,对象池,新的事件模型,构件管理和部署,JIT,激活,事务支持,资源分发管理,安全模型

42、易于管理,MTS,COM,基于接口的编程模型,基本的构件服务,远程支持,分布式构件服务,DCOM,COM+,主要特点,(1),真正的异步通信,COM+,底层提供了队列构件服务,允许客户和构件进行异步通信。,(2),事件服务,新的事件机制利用系统服务简化了事件模型,避免了,COM,可连接对象机制的琐碎细节,使事件源和事件接收方实现事件功能更加灵活。,(3),灵活性,动态负载平衡以及驻留内存数据库、对象池等系统服务为,COM+,的灵活性提供了技术基础。,(4),可管理和可部署性,COM+,的申述式编程模型和构件管理环境支持应用系统在开发完成后的管理和部署。,(5),易于开发,COM+,开发模型比

43、以前的,COM,构件开发更为简化。,CORBA,概述,CORBA,:,Common Object Request Broker Architecture,,公共对象请求代理体系结构,由,OMG,制定的分布对象模型。,要点:通过,IDL,定义接口,使用不同编程语言、不同编译器实现的构件,可以通过,ORB,连接,形成一个跨平台的应用。,CORBA,产品:,CORBA,是一套规约,而不是一个产品,开发商可以开发不同的产品来实现,CORBA,规约。著名的产品有,IONA,公司的,Orbix,、,Inprise,公司的,VisiBroker,、,IBM,公司的,Component Broker,等。,C

44、ORBA,发展,第一代:,CORBA,规约的第一代主要集中在为分布式对象定义一个基础,其核心是,ORB,和,IDL,。,CORBA 2.0,:,1995,年颁布,增加了,ORB,互操作性规约,主要是基于,TCP/IP,的,IIOP,协议,(Internet Inter-ORB Protocal,因特网,ORB,互联协议,),。,CORBA 2.1,:,1997,年颁布,增加了,COM/CORBA,互操作规范。,CORBA 2.2,:,1998,年颁布,增加了易移植的对象适配器(,Portable Object Adapter,,简称,POA,)和,IDL,到,Java,语言的映射规约。,COR

45、BA3.0,草案:,1999,年提交,打算在,2001,年正式发布。,CORBA 3.0,CORBA 3.0,以前的版本只注意到对象本身,而没有进一步考虑可部署的、由应用服务器管理的构件。,CORBA3.0,增加了,CCM,(,CORBA Component Model,),CCM,步微软公司的,COM+,和,Sun,公司的,EJB,的后尘,这三者的核心概念是相似的。它们均提供容器作为构件的运行环境,而诸如事务处理、安全处理、事件处理、持久性等公共服务都是通过公共,API,访问。,但是,目前还没有成熟的、完全实现,CORBA3.0,规约的产品。,OMA,基准模型,应用对象,公共设施,对象服务,

46、对象请求代理,ORB,该模型描述了分布式对象系统的基本成分,有四个主要层次:应用对象,(application objects),、公共设施,(common facilities),、对象请求代理,(ORB),和对象服务,(object services),。,OMA,基准模型,1),对象服务是一组系统级的对象,为实现和管理对象提供了基本的功能,包括名字、生存周期服务、事务服务、安全服务等等。,2)ORB,是核心,它提供了一种机制,使得对象可以透明地发送请求和接受响应。,3),公共设施是适用于众多应用领域的通用构件,例如信息管理、系统管理、任务管理和用户界面等。,4),应用对象是专用于特定领域

47、的应用构件,,OMG,没有为它制定标准。,ORB的架构,ORB Core,GIOP/IIOP,Dynamic Invocation Interface,IDLStube,Client,Interface Repository,Object Implementation,IDLSkeleton,Object Adapter,Dynamic Skeleton Interface,ORBInterface,ImplementationRepository,IDL Compiler,Operation(),输出参数,+,回送值,输入参数,CORBA,应用开发,客户机程序开发者,ORB,库,IDLcom

48、pilier,客户机,客户机桩,服务器程序开发者,ORB,库,IDLcompilier,服务器,服务器骨架,IDL,典型的,CORBA,应用开发过程,本节内容,概述,分布对象中间件,Web,服务中间件,产生背景,Web Services,的产生具有如下四个主要原因:,软件产业模式的发展,从以产品为中心的制造业转变为以客户为中心的服务业;,WWW,的发展,从两层体系转变为三层体系;,B2B,的发展,从复杂专用转变为简单通用;,分布计算中间件的发展,从,Intranet,到,Internet,Web,服务的概念,按照,W3C,的定义,,Web,服务是:,用,URI,标识的;,可通过标准,Web,协

49、议存取的;,能接受,发送基于,XML,的消息,并按照行动;,能与应用和程序交互,不必通过人驱动的用户界面,Web,服务模型,Web,服务采用面向服务的概念计算模型,包括三类角色:服务提供者,服务用户和服务注册机构,Web,服务的核心技术,SOAP,、,WSDL,与,UDDI,是,Web Service,的三大核心技术,SOAP:,简单对象存取协议,SOAP,是递交,W3C,的标准,它是一个,RPC,协议,用标准的互联网协议进行传输,XML,数据,以,HTTP,做同步调用,,SMTP,做异步调用。,WSDL:Web,服务描述语言,WSDL,也是递交,W3C,的标准,由,Web,服务描述它能做些什

50、么,接受什么输入信息,以及响应返回什么。,UDDI:,通用描述,发现和集成,UDDI,是,Web Services,的发布与发现的标准机制,它于,2000,年,9,月由,ARIBA,、,IBM,和,MICROSOFT,三家公司共同提出。,SOAP,SOAP,是一种基于,XML,的轻载协议,用于在松散的分布环境中对等地交换结构化和类型化的信息。,SOAP,本身并不涉及任何应用语义,如编程模型或特定语义实现,仅仅定义了将应用数据编码与打包的简单机制。这使得,SOAP,可被广泛应用于各类系统,如基于消息的系统或基于,RPC,的系统。,SOAP,由四部分组成,:,SOAP,编码规则:定义了一种数据序列

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服