版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件(ruǎnjiàn)中间件第一页,共75页。本节内容(nèiróng)概述分布对象(duìxiàng)中间件Web服务中间件第二页,共75页。开发分布系统面临(miànlíng)的问题网络通信分布(fēnbù)系统往往建立在传输层之上协调同步,激活/去活,并发等可靠性通信可靠性,事务性,容错性等伸缩性访问透明性,位置透明性,迁移透明性,复制透明性等异构性平台异构,编程语言异构等第三页,共75页。中间件的定义(dìngyì)IEEE中间件通过提供简单、一致、集成的分布编程环境,简化分布应用的设计、编程和管理。本质上,中间件是一个分布软件层(或平台),抽象了底层分布环境(网络、主机、操作系统、编程语言)的复杂性和异构性。CMU-SEI中间件是一组支持软件连接的服务的集合,允许在一个或多个主机上运行的多个过程通过网络进行交互。国家自然委员会中间件是连接分布在Internet或局域网上的多个应用的软件。具体而言,中间件是一组驻留在网络与传统应用之间的一组服务,用以管理安全、访问(fǎngwèn)以及信息交换。第四页,共75页。中间件的分类(fēnlèi)1)数据访问中间件允许应用程序和本地或者异地的数据库进行通信,并提供一系列的应用程序接口(如ODBC、JDBC等)。该类中间件技术上最成熟,但局限于与数据库相关的应用。2)消息中间件可以(kěyǐ)屏蔽平台和协议上的差异进行远程通信,实现应用程序之间的协同,如IBM的MQSeries、BEA的MessageQ等、其优点在于提供高可靠的同步和异步通信,缺点在于不同的消息中间件产品之间不能互操作,开放性差3)远程过程调用RPC中间件该类中间件解决了平台异构的问题,但编程复杂且不支持异步操作。GartnerGroup将目前可用的主流(zhǔliú)中间件划分为五类:第五页,共75页。中间件的分类(fēnlèi)(2)4)事务中间件是在分布、异构环境下提供保证事务完整性和数据完整性的一种平台,如BEA的TUXEDO和IBM的CICS。事务中间件的优势在于对关键(guānjiàn)业务的支持,但机制复杂、对用户要求较高。5)对象中间件在分布、异构的网络计算环境中,可以将各种分布对象有机地结合在一起,完成系统的快速集成,是中间件技术发展的主流。
主流的对象中间件包括CORBA、RMI和DCOM。第六页,共75页。中间件的发展趋势支持基于构件的软件开发
对象(duìxiàng)中间件=〉构件中间件,如J2EE/EJB、CORBA/CCM、COM+/.NET支持Internet应用
Internet中间件技术——WebServices支持移动应用-移动计算中间件支持自治计算
XML、工作负载管理、软件Agent技术等,下一代中间件的主要特性之一支持服务质量
中间件的QoS,包括QoS规约、映射和执行等支持自反(Reflection)机制
“黑盒”=〉”白盒”,两种基本能力:introspection与intercession第七页,共75页。本节内容(nèiróng)概述分布(fēnbù)对象中间件Web服务中间件第八页,共75页。构件(gòujiàn)接口技术的基本概念从构件的开发(kāifā)和使用角度看:构件
使用者构件(gòujiàn)接口构件
开发者开发使用第九页,共75页。构件(gòujiàn)接口技术的基本概念从构件(gòujiàn)的运行角度看:构件运行(yùnxíng)协议构件运行环境的标准化将更好地支持构件之间的互操作
构件运行的环境(container)
协议保证了构件的易移植性
第十页,共75页。构件(gòujiàn)接口技术的基本概念从构件的部署(bùshǔ)和维护角度看:构件部署(bùshǔ)和维护部署和维护的工具构件运行的环境(AppServer)
部署和维护的工具应符合一定的标准。
第十一页,共75页。企业应用构架(ɡòujià)-n-tierC/S架构HTML,ScriptLanguages,...JSP,Servlets,CGI,...EJB,CORBA,COM+NativelanguagesClient/BrowserWebServerApplicationServer1LegendSystemDatabaseServerApplicationServern…客户机表示层业务(yèwù)服务层后端系统第十二页,共75页。应用服务器-服务器端的构件容器(róngqì)和中间件服务获得多层体系结构的优点是需要代价的,服务器端存在着诸如构件的生命周期管理、多层次间的负载平衡、同一构件的多客户并发访问控制、安全认证等一系列复杂问题。解决这些问题需要专家级别的中间件知识和行业规范应用服务器的诞生就是为了(wèile)让人们能够共享这样的服务,而不需要自己去开发。应用服务器为构件提供了服务器端的运行环境,提供常用的中间件服务,比如资源缓冲,网络操作等等第十三页,共75页。构件接口(jiēkǒu)模型
-服务器端构件容器的标准化及其与构件的接口(jiēkǒu)协议应用服务器在保证可靠性和可扩展性的前提下,提供了构件所需要的运行环境和中间服务。但仅此不够,我们还需要一个统一的服务器端构件接口(jiēkǒu)模型。构件接口(jiēkǒu)模型为构件的应用服务器及其部署工具提供了一个接口(jiēkǒu)标准,并完善地定义应用服务器和构件本身之间的接口(jiēkǒu),从而保证了构件的易移植性。第十四页,共75页。构件接口模型(móxíng)-三种主流的模型(móxíng)Microsoft:DNA/COM+DistributedinterNetApplicationArchitecture/
CommonObjectMode+OMG:OMA/CORBAObjectManagementArchitecture/
CommonObjectRequestBrokerArchitectureSun:J2EE/EJBJava2PlatformEnterpriseEdition/
EnterpriseJavaBean
第十五页,共75页。EJB/J2EE技术(jìshù)1J2EE概述1)Java平台的发展历程(lìchéng)2)J2EE核心技术3)J2EE应用开发过程中的不同角色2EJB技术1)EJB简介2)EJB的体系结构3)EJB的编程模型4)EJB构件的开发第十六页,共75页。Java平台(píngtái)的发展历程Java平台的第一个参考实现是JDK。但JDK并未支持服务器端构件开发。为了提供服务器端部署的企业级服务,Sun公司开始开发一些EnterpriseAPI。这些服务包括命名和查找服务,事务服务,和EJB1.0API为了解决
EnterpriseAPI的问题(wèntí),Sun公司提出了三个不同的Java平台:J2ME(Java2Platform,MicroEdition)、J2SE(Java2Platform,StandardEdition)和J2EE(Java2Platform,EnterpriseEdition)。第十七页,共75页。J2EE核心技术-n-tier应用(yìngyòng)架构RMI客户机表示层业务(yèwù)服务层后端系统浏览器应用程序浏览器AppletWeb/HTTP
服务器JSPsServlets分布式CORBA对象遗产系统数据库应用服务器JavaIDLJNDIJDBCJMSEJBEJBEJBEJB第十八页,共75页。J2EE核心技术–Java2Platform,EnterpriseEdition(J2EE)v1.3JSPs和Servlets安全认证服务/JAASJava2Platform,StandardEdition(J2SE)v1.3JavaIDL/IIOPRMI/JRMPJDBC核心HTTPJavaSecurityJDBC扩展RMI/IIOP命名目录接口JNDIXML/JAXP消息服务JMS交易管理JTS/JTAConnectors会话、实体、消息驱动等类型EJB的容器BMP和CMP机制EJB2.0EJB部署EJBQLEJB异常处理机制第十九页,共75页。J2EE核心技术-EJB(EnterpriseJavaBeans)EJB是J2EE规约中最重要的部分。EJB提供(tígōng)了让客户端使用远程的分布式对象的框架,极大地简化了具有良好的可扩充性的企业级软件的开发。EJB规约规定了EJB构件(指符合EJB规约的构件)如何与EJB容器(container)进行交互,而EJB容器则提供(tígōng)诸如目录服务、事务管理、安全、连接池管理、容错等服务。第二十页,共75页。J2EE核心技术-RMI和RMI-IIOPJavaRMI(RemoteMethodInvocation)是EJB构件和客户端的通信API,它和Java语言本身紧密结合,允许进程间通信并提供其他通信相关的服务。RMI-IIOP是一个可移植的RMI扩展(kuòzhǎn),它利用OMG的IIOP(InternetInter-ORBProtocal)协议作为通信协议,IIOP对J2EE与CORBA系统集成也是必需的。第二十一页,共75页。J2EE核心技术-JNDIJNDI(JavaNamingandDirectoryInterface)是命名和目录服务的标准(biāozhǔn)。EJB依赖JNDI通过网络来查找分布式构件。JNDI是客户端代码连接EJB构件所必需的关键技术。第二十二页,共75页。J2EE核心技术-JDBCJDBC(JavaDatabaseConnectivity)同ODBC一样,隐蔽(yǐnbì)了程序访问数据库的细节,允许程序员使用相同的接口来访问各种不同的数据库。JDBC是使用纯Java写的,它可以跨平台的访问各种数据库。第二十三页,共75页。J2EE核心技术-JTA和JTSJTA
:JavaTransactionAPIJTS:JavaTransactionService第二十四页,共75页。J2EE核心技术-JMSJMS(JavaMessagingService)是一套与面向消息的中间件(MOM)通信的API。JMSisanAPIthatdescribesaninterfacetoclient/servermessagingsystems.Client/servermessagingsystemsarecommonlyreferredtoasmessage-orientedmiddleware(MOM)JMS同时支持点对点的消息队列服务和发布(fābù)-订阅消息服务。JMS支持可靠消息传递、消息传递事务、持续消息等特性。JMS是实现EJB中消息驱动Bean的基础。第二十五页,共75页。J2EE核心技术-JSP和ServletsJSP:JavaServerPages客户端请求(qǐngqiú)JSP页面时,服务器会先对该页面中的Java代码进行处理,将返回的HTML送还给客户端。
Servlet是一种扩展WebServer功能的Java代码,是服务器端的程序,在用户请求(qǐngqiú)时执行。Servlet是纯粹的Java代码,但它可以输出合法的HTML代码。第二十六页,共75页。J2EE核心技术-JCAJCA:JavaConnectorArchitectureJCA定义(dìngyì)了J2EE平台连接异构的企业信息系统EIS的标准架构。第二十七页,共75页。J2EE核心技术-XMLXML(eXtensibleMarkupLanguage,广泛标记语言)是由万维网联盟(W3C)制订(zhìdìng)、得到业界广泛支持的标准,被专门设计为描述数据的标准元语言。在Java中可以使用JAXP(JavaAPIforXMLParsing)来对XML文件进行解析。
J2EE中的许多配置文件使用了XML。第二十八页,共75页。J2EE应用开发(kāifā)过程中的不同角色应用
组装者容器
提供者服务器
提供者应用
部署者系统
管理员EJBEJB模块
部署描述JAR模块EJBJAR模块J2EE应用部署描述WEBWAR模块EAR应用构件
开发者EJB
构件DevelopPackageEnterpriseApplicationServer
(VendorImplementationofJ2EEAPIs/Services)EnterpriseApplicationContainer
(J2EEContainer)DevelopDevelopPackageDeployManage第二十九页,共75页。EJB的架构(jiàɡòu)对象(duìxiàng)池EJB
客户机业务方法创建、删除、查找Bean实现EJB部署描述Bean代理。。。Home接口Remote接口EJB服务器EJB
容器第三十页,共75页。EJB架构(jiàɡòu)-EJB客户机EJB客户机是指请求EJB构件服务的应用程序。EJB规约为创建EJB构件的客户接口定义了一套标准。这套标准主要(zhǔyào)包括:EJBHome接口:EJBHome接口为客户机创建、删除、查找EJBRemote接口对象的句柄提供了相应的操作。EJB客户机使用JNDI来查找对EJBHome接口的引用。EJBRemote接口:EJB客户机通过EJBRemote接口调用EJB构件的业务方法。RMI/IIOP或RMI/JRMP协议:RMI/IIOP或RMI/JRMP是EJB客户机与EJB服务器进行通信的标准协议,这些底层的分布式通信机制对于EJB客户机和EJB构件开发者都是透明的。第三十一页,共75页。EJB架构(jiàɡòu)-EJB服务器EJB服务器为使用EJB构件的应用程序提供操作环境,并提供所有必需的服务,来支持EJB架构。EJB规约为每个支持Java的应用程序服务器定义了一个标准模型。任何厂商都可以使用此模型来实现对EJB构件的支持。多种系统(xìtǒng)(如TP监视器、CORBA运行系统(xìtǒng)、COM运行系统(xìtǒng)、数据库系统(xìtǒng)、Web服务器系统(xìtǒng)或其它基于服务器的运行系统(xìtǒng))都可以调整到能够支持易移植的EJB构件。第三十二页,共75页。EJB架构-EJB服务器的主要(zhǔyào)功能管理EJB容器(EJB容器则管理Bean)提供对操作系统服务的存取提供Java相关的服务,尤其是
-通过(tōngguò)JNDI访问命名空间
-基于OTS的事务处理服务第三十三页,共75页。EJB架构(jiàɡòu)-EJB容器EJB构件并不在EJB服务器的顶部直接执行。一个称为(chēnɡwéi)EJB容器的中间件在EJB服务器环境中运行,EJB容器为EJB构件提供操作环境。主要来说,EJB容器管理了以下的系统级问题:持久性(Persistence):容器决定何时载入储存状态,又可分为CMP(Container-ManagedPersistence)和BMP(Bean-ManagedPersistence)。生成周期管理(LifeCycleManagement):容器管理EJB构件的实例,使EJB构件实现最大的效能和内存利用率。容器能够激活和失效EJB构件,管理实例池,等等。事务管理(TransactionManagement):容器负责管理分布式事务处理的复杂问题。安全性(Security):部署描述文件定义了客户(kèhù)能够访问的不同的应用函数。容器只允许授权的客户(kèhù)访问这些函数。
远程连接(RemoteConnectivity):容器为远程连接管理底层的通信问题,而且对EJB构件的开发者和客户(kèhù)都隐蔽了通信问题。第三十四页,共75页。EJB的编程模型-EJB构件(gòujiàn)的分类会话(Session)Bean无状态会话(StatelessSession)Bean:仅对单个用户提供(tígōng)服务,并不保留任何程序状态。系统结束时其生成周期也同时结束。有状态会话(StatefulSession)Bean:提供(tígōng)与单个用户的交互,为每个用户记录各自的状态,但系统结束时其生命周期也同时结束。实体(Entity)Bean:提供(tígōng)了持久数据的操作与表示。可以同时与多个客户机进行交互,系统结束时其运行状态仍能保留。消息驱动(MessageDriven)Bean:不能由客户端直接获得其引用而调用其方法,只能由系统消息来启动。在规约中,EJB构件分为(fēnwéi)3种类型:第三十五页,共75页。EJB构件(gòujiàn)的开发本机接口(HomeInterface):本机接口主要提供与构件的生命周期相关(xiāngguān)的方法,如建立、销毁、查找等。远程接口(RemoteInterface):远程接口则表示构件所实现的业务功能。Bean类(BeanClass):每一个远程接口都有一个实现类,该实现类实现了远程接口中所定义的业务方法。所有的EJB构件(gòujiàn)都有3个基本组成部分:第三十六页,共75页。EJB构件的开发-实体(shítǐ)Bean的例子第三十七页,共75页。EJB构件(gòujiàn)的开发-JAR归档文件一个EJB构件(gòujiàn)的远程接口、本机接口及自身的类文件及其控制信息(部署描述文件、环境属性文件和清单文件)将被封装成一个JAR文件。部署描述文件:容器为EJB构件(gòujiàn)自动处理持久性、事务、一致性及访问控制等工作。EJB规约提供了一种说明这些操作是如何处理的机制,这就是XML格式的部署描述文件。环境属性文件:环境属性作为键-值对存储在一个文件中,可通过java.util.Properties访问此文件。清单文件是标识EJB构件(gòujiàn)及其相关文件所必需的。第三十八页,共75页。EJB构件的开发(kāifā)-部署EJB构件(gòujiàn)是在称为部署(Deploy)的特定过程中被安装的,由容器提供对部署过程的支持。在部署时,容器分析JAR文件的内容,并采取必要的操作使此构件(gòujiàn)可用。这些操作包括:生成实现构件(gòujiàn)的本地和远程接口的新Java类;将本地接口实现绑定到JNDI命名空间中;生成桩和骨架类,这是支持RMI通信所必需的;生成BeanClass的子类,加入容器专用的代码;部署时由容器生成的类通常是容器专用的,而不像JAR文件那样具有易移植性。第三十九页,共75页。EJB构件(gòujiàn)的开发-客户端编程CustomerHomehome;Objectref;//通过(tōngguò)JNDI得到服务器上bean的引用ref=jndiContext.lookup("java:comp/env/ejb/Customer");//将引用的类型转换到Customerhome=PortableRemoteObject.narrow(ref,CustomerHome.class);//用本机接口生成实例并将其引用传给远程接口Customercustomer=home.create(customerID);
//用户通过(tōngguò)远程接口执行所需的工作customer.setName(someName);第四十页,共75页。EJB应用开发(kāifā)实例-服务器端Arith<<EJBRemoteMethod>>add()<<EJBRemoteInterface>>ArithBean<<EJBCreateMethod>>ejbCreate()ejbRemove()ejbActivate()ejbPassivate()setSessionContext()<<EJBRemoteMethod>>add()<<EJBSession>>ArithHome<<EJBCreateMethod>>create()<<EJBSessionHomeInterface>><<EJBRealizeRemote>><<EJBRealizeHome>><<instantiate>>EJBHomegetEJBMetaData()getHomeHandle()remove()remove()(fromejb)<<Interface>>EJBObjectgetEJBHome()getHandle()getPrimaryKey()isIdentical()remove()(fromejb)<<Interface>>SessionBeanejbActivate()ejbPassivate()ejbRemove()setSessionContext()(fromejb)<<Interface>>第四十一页,共75页。isIdentical()publicvoidejbCreate()throwsCreateException{}EJBRemote接口:主流的对象中间件包括CORBA、RMI和DCOM。随着因特网应用的日益广泛,企业级应用的体系结构越来越重要。所有的EJB构件(gòujiàn)都有3个基本组成部分:通信可靠性,事务性,容错性等因此,一个WSDL文档将服务定义为一组端口(port)的结合。PROVIDER_URL,url);是在分布、异构环境下提供保证事务完整性和数据完整性的一种平台,如BEA的TUXEDO和IBM的CICS。同步,激活/去活,并发等生成桩和骨架类,这是支持RMI通信所必需的;GartnerGroup将目前可用的主流(zhǔliú)中间件划分为五类:SessionBean持久性(Persistence):容器决定何时载入储存状态,又可分为CMP(Container-ManagedPersistence)和BMP(Bean-ManagedPersistence)。lookup("java:comp/env/ejb/Customer");packagej2eetest;importjavax.ejb.*;importjava.util.*;importjava.rmi.*;publicinterfaceArithextendsjavax.ejb.EJBObject{publicintadd(inta,intb)throwsRemoteException;}第四十二页,共75页。packagej2eetest;importjavax.ejb.*;importjava.util.*;importjava.rmi.*;publicinterfaceArithHomeextendsjavax.ejb.EJBHome{publicArithcreate()throwsCreateException,RemoteException;}第四十三页,共75页。packagej2eetest;
importjavax.ejb.*;publicclassArithBeanimplementsSessionBean{SessionContextsessionContext;publicvoidejbCreate()throwsCreateException{}publicvoidejbRemove(){}publicvoidejbActivate(){}publicvoidejbPassivate(){}publicvoidsetSessionContext(SessionContextsessionContext){this.sessionContext=sessionContext;}publicintadd(inta,intb){returna+b;}}第四十四页,共75页。EJB应用开发(kāifā)实例-客户端ArithHome<<EJBCreateMethod>>create():j2eetest.Arith(fromj2eetest)<<EJBSessionHomeInterface>>Jsp1Beanaa:int=234bb:int=567Init():voidsetA(a:String):voidsetB(b:String):voidgetRes():StringgetInitialContext():javax.naming.Context-arithHomeArith<<EJBRemoteMethod>>add(a:int,b:int):int(fromj2eetest)<<EJBRemoteInterface>><<instantiate>>-arith第四十五页,共75页。publicvoidInit(){try{Contextctx=getInitialContext();//lookupjndinameObjectref=ctx.lookup("Arith");//casttoHomeinterfacearithHome=(ArithHome)PortableRemoteObject.narrow(ref,ArithHome.class);arith=arithHome.create();}catch(Exceptione){e.printStackTrace();}}第四十六页,共75页。privateContextgetInitialContext()throwsException{Stringurl="t3://localhost:7001";Propertiesproperties=null;try{properties=newProperties();
properties.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");properties.put(Context.PROVIDER_URL,url);returnnewInitialContext(properties);}catch(Exceptione){throwe;}}res=arith.add(aa,bb);第四十七页,共75页。COM+技术(jìshù)COM+技术的发展历程微软分布式网络应用体系结构WindowsDNACOM+基本(jīběn)结构COM+主要特点第四十八页,共75页。COM+技术的发展(fāzhǎn)历程COM(ComponentObjectModel)起源于OLE(ObjectLinkingandEmbedding,对象(duìxiàng)连接和嵌入);当时的OLE使用一种称为动态数据交换(DynamicDataExchange,简称DDE)机制来支持程序之间的通信,而DDE建立在Windows消息机制基础上,稳定性和效率都很差;COM定义了客户与构件之间互操作的标准,包括规约与实现两部分。规约部分定义了构件之间的通信机制,这些规约不依赖于任何特定的语言和操作系统。实现部分即COM库,为COM规约的具体实现提供一些核心服务。以COM技术为基础的OLE后改名为ActiveX。随着NT4.0的发布,COM技术需要延伸到分布计算环境,这就产生了所谓的DCOM(DistributedCOM,分布构件对象(duìxiàng)模型)。第四十九页,共75页。COM+技术(jìshù)的发展历程(续)DCOM用网络协议来代替本地进程之间的通信,并针对分布环境提供了一些新的特性,例如位置透明、网络安全性、跨平台调用等。COM/DCOM技术为基于构件的软件开发提供了基础。但是,如果用它来开发企业级应用系统(xìtǒng),显然还需要功能强大的基础设施,这些基础设施将为构件提供基本的运行和部署环境。为了满足企业级应用的需求,微软公司推出了一种微软事务服务器(MicrosoftTransactionServer,简称MTS)。MTS把应用系统(xìtǒng)的客户程序、应用构件和各种资源有机结合起来,弥补了COM/DCOM的不足,为分布式企业应用提供了一种服务器端的构件运行和部署环境。MTS是从NT4.0+SP4的OptionPack开始,随Windows操作系统(xìtǒng)免费提供的。第五十页,共75页。COM+技术(jìshù)的发展历程(续)随着因特网应用的日益广泛,企业级应用的体系结构越来越重要。为了使Windows真正成为企业应用平台,微软公司又推出了WindowsDNA(DistributedinterNetApplicationsArchitecture,分布式网络应用体系结构)。WindowsDNA是一个完整的、多层的新一代企业应用体系结构,它包含工具、数据库、操作系统(cāozuòxìtǒnɡ)、编程模型和应用服务等。在新的企业应用体系结构下,微软公司希望进一步把COM、DCOM和MTS统一起来,形成真正适合于企业级应用的构件技术,这就是COM+。COM+仍然以COM/DCOM为基础,包含了MTS。COM+是一种中间件技术的规约,其要点是提供建立在操作系统(cāozuòxìtǒnɡ)上的、支持分布式企业级应用的“服务”。COM+是在20世纪末随着Windows2000发布才面世的。第五十一页,共75页。微软分布式网络应用架构(jiàɡòu)WindowsDNAWindowsDNA是一个服务器端的开发平台,包含了以下(yǐxià)产品:WindowsNT/2000:操作系统,为所有微软公司技术提供运行环境和支持。DCOM:支持分布式构件的核心技术。MSMQ(MicrosoftMessageQueue):消息队列产品,支持构件间的异步通信。MTS(MicrosoftTransactionServer):管理构件的应用服务器。MicrosoftWolfpack:支持集群服务器的软件。MicrosoftSQLServer:一个关系型数据库管理系统。MicrosoftIIS(InternetInformationServer):Web服务器。MicrosoftManagementConsole:部署和管理工具。COM+技术是以上产品(尤其是DCOM、MTS、还有MSMQ的一部分)的相互结合。第五十二页,共75页。<<EJBRemoteInterface>>通信可靠性,事务性,容错性等MicrosoftSQLServer:一个关系型数据库管理系统。构件接口(jiēkǒu)模型为构件的应用服务器及其部署工具提供了一个接口(jiēkǒu)标准,并完善地定义应用服务器和构件本身之间的接口(jiēkǒu),从而保证了构件的易移植性。部署(bùshǔ)和维护第六十三页,共75页。JavaArchitectureforXMLBinding(JAXB):
将XML文档中的各个元素按照层次关系映射成Java对象,从而简化XML文档的处理;WindowsNT/2000:操作系统,为所有微软公司技术提供运行环境和支持。中间件通过提供简单、一致、集成的分布编程环境,简化分布应用的设计、编程和管理。J2EE核心技术-RMI和RMI-IIOP第七十三页,共75页。EJB规约规定了EJB构件(指符合EJB规约的构件)如何与EJB容器(container)进行交互,而EJB容器则提供(tígōng)诸如目录服务、事务管理、安全、连接池管理、容错等服务。第六十二页,共75页。WindowsDNA是一个完整的、多层的新一代企业应用体系结构,它包含工具、数据库、操作系统(cāozuòxìtǒnɡ)、编程模型和应用服务等。第五十一页,共75页。publicArithcreate()COM+的架构(jiàɡòu)COM+的核心是改进的COM/DCOM和MTS的集成,但是COM+增加了一些非常重要的构件服务,比如负载平衡、驻留内存(nèicún)数据库、事件模型、队列服务等。COM+还提供了一个比MTS更好的构件管理环境COM+Explorer,用来设置COM+应用和COM+构件的属性信息。另外,COM+还支持所谓的申述式编程模型(declarativeprogrammingmodel),它允许开发人员以较通用的方式开发构件,而一些细节则留到部署时再确定。COM+COM+目录负载平衡驻留内存数据库对象池新的事件模型构件管理和部署(bùshǔ)JIT激活事务支持资源分发管理安全模型易于管理MTSCOM基于接口的编程模型基本的构件服务远程支持分布式构件服务DCOM第五十三页,共75页。COM+主要(zhǔyào)特点(1)真正的异步通信COM+底层提供了队列构件服务,允许客户和构件进行异步通信。(2)事件服务新的事件机制利用系统服务简化了事件模型,避免了COM可连接对象机制的琐碎细节,使事件源和事件接收方实现事件功能更加灵活。(3)灵活性动态负载平衡以及(yǐjí)驻留内存数据库、对象池等系统服务为COM+的灵活性提供了技术基础。(4)可管理和可部署性COM+的申述式编程模型和构件管理环境支持应用系统在开发完成后的管理和部署。(5)易于开发COM+开发模型比以前的COM构件开发更为简化。第五十四页,共75页。CORBA概述(ɡàishù)CORBA:CommonObjectRequestBrokerArchitecture,公共对象请求代理体系结构,由OMG制定的分布对象模型。要点:通过IDL定义接口,使用不同编程语言、不同编译器实现的构件,可以通过ORB连接,形成一个跨平台的应用。CORBA产品(chǎnpǐn):CORBA是一套规约,而不是一个产品(chǎnpǐn),开发商可以开发不同的产品(chǎnpǐn)来实现CORBA规约。著名的产品(chǎnpǐn)有IONA公司的Orbix、Inprise公司的VisiBroker、IBM公司的ComponentBroker等。第五十五页,共75页。CORBA发展(fāzhǎn)第一代:CORBA规约的第一代主要集中在为分布式对象定义一个基础,其核心是ORB和IDL。CORBA2.0:1995年颁布,增加了ORB互操作性规约,主要是基于TCP/IP的IIOP协议(InternetInter-ORBProtocal,因特网ORB互联协议)。CORBA2.1:1997年颁布,增加了COM/CORBA互操作规范。CORBA2.2:1998年颁布,增加了易移植的对象适配器(PortableObjectAdapter,简称POA)和IDL到Java语言的映射规约。CORBA3.0草案:1999年提交,打算(dǎsuàn)在2001年正式发布。第五十六页,共75页。CORBA3.0以前的版本只注意到对象本身,而没有进一步考虑可部署的、由应用服务器管理的构件。CORBA3.0增加了CCM(CORBAComponentModel)CCM步微软公司的COM+和Sun公司的EJB的后尘,这三者的核心概念是相似的。它们(tāmen)均提供容器作为构件的运行环境,而诸如事务处理、安全处理、事件处理、持久性等公共服务都是通过公共API访问。但是,目前还没有成熟的、完全实现CORBA3.0规约的产品。第五十七页,共75页。OMA基准(jīzhǔn)模型应用(yìngyòng)对象公共设施对象(duìxiàng)服务对象请求代理ORB
该模型描述了分布式对象系统的基本成分,有四个主要层次:
应用对象(applicationobjects)、公共设施(commonfacilities)、
对象请求代理(ORB)和对象服务(objectservices)。第五十八页,共75页。OMA基准(jīzhǔn)模型1)对象服务是一组系统级的对象,为实现和管理对象提供了基本的功能,包括名字、生存周期服务、事务服务、安全服务等等。2)ORB是核心,它提供了一种机制,使得对象可以透明地发送请求和接受响应。3)公共设施是适用于众多应用领域的通用构件,例如信息管理、系统管理、任务管理和用户界面等。4)应用对象是专用于特定领域的应用构件,OMG没有(méiyǒu)为它制定标准。第五十九页,共75页。ORB的架构(jiàɡòu)ORBCoreGIOP/IIOPDynamic
Invocation
InterfaceIDL
StubeClientInterface
RepositoryObjectImplementationIDL
SkeletonObject
AdapterDynamic
Skeleton
InterfaceORB
InterfaceImplementation
RepositoryIDL
CompilerOperation()输出(shūchū)参数+回送值输入(shūrù)参数第六十页,共75页。CORBA应用(yìngyòng)开发客户机程序开发者ORB库IDL
compilier客户机客户机桩服务器程序开发者ORB库IDL
compilier服务器服务器骨架(gǔjià)IDL典型的CORBA应用(yìngyòng)开发过程第六十一页,共75页。本节内容(nèiróng)概述分布(fēnbù)对象中间件Web服务中间件第六十二页,共75页。产生(chǎnshēng)背景WebServices的产生具有如下四个主要原因:软件产业模式的发展——从以产品为中心(zhōngxīn)的制造业转变为以客户为中心(zhōngxīn)的服务业;WWW的发展——从两层体系转变为三层体系;B2B的发展——从复杂专用转变为简单通用;分布计算中间件的发展——从Intranet到Internet第六十三页,共75页。Web服务(fúwù)的概念按照W3C的定义(dìngyì),Web服务是:用URI标识的;可通过标准Web协议存取的;能接受,发送基于XML的消息,并按照行动;能与应用和程序交互,不必通过人驱动的用户界面第六十四页,共75页。Web服务(fúwù)模型Web服务采用面向(miànxiànɡ)服务的概念计算模型,包括三类角色:服务提供者,服务用户和服务注册机构第六十五页,共75页。Web服务(fúwù)的核心技术SOAP、WSDL与UDDI是WebService的三大核心技术SOAP:简单对象存取协议SOAP是递交W3C的标准,它是一个RPC协议,用标准的互联网协议进行传输XML数据,以HTTP做同步调用,SMTP做异步调用。WSDL:Web服务描述语言WSDL也是递交W3C的标准,由Web服务描述它能做些什么,接受(jiēshòu)什么输入信息,以及响应返回什么。UDDI:通用描述,发现和集成UDDI是WebServices的发布与发现的标准机制,它于2000年9月由ARIBA、IBM和MICROSOFT三家公司共同提出。第六十六页,共75页。SOAPSOAP是一种基于XML的轻载协议,用于在松散的分布环境中对等地交换结构化和类型化的信息。SOAP本身并不涉及任何应用语义,如编
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度车辆质押贷款合同模板5篇
- 二零二五版白酒市场调研与分析服务合同2篇
- 二零二五版便利店区域代理合作合同范本2篇
- 二零二五年度花卉市场花卉供货与品牌孵化服务合同3篇
- 二零二五年环境监测地形图测绘与污染防控合同3篇
- 二零二五版电影影视基地建设赞助合同3篇
- 2025版金融机构出纳人员现金担保责任合同范本3篇
- 二零二五年建材城商铺租赁合同环保及安全责任承诺书3篇
- 二零二五年度民间借贷合同管辖权变更协议3篇
- 二零二五年度房地产买卖居间合同模板(含税费缴纳)下载3篇
- 餐饮行业智慧餐厅管理系统方案
- EGD杀生剂剂化学品安全技术说明(MSDS)zj
- GB/T 12229-2005通用阀门碳素钢铸件技术条件
- 超分子化学-第三章 阴离子的络合主体
- 控制变量法教学课件
- 血压计保养记录表
- 食品的售后服务承诺书范本范文(通用3篇)
- 新外研版九年级上册(初三)英语全册教学课件PPT
- 初中中考英语总复习《代词动词连词数词》思维导图
- 植物和五行关系解说
- 因式分解法提公因式法公式法
评论
0/150
提交评论