您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 湖北工业大学java中间件期末复习文件
一、了解中间件背景:课本上1,为了解决分布异构问题二、什么是中间件:还是第一面三、IDC的中间件分类:第2面,六大类或者新版本2类四、中间件的特点及优势:第7面:优势在8,9面吧五、中间件在应用软件开发中的作用。举例说明!第二章应用服务器与JavaEE一、什么是应用服务器:一个可以通过Internet来实施电子商务和企业计算的平台,所以有人将它称之为“Internet上的操作系统”二、为什么ApplicationServer是中间件,流行的产品有哪些:应用服务器是提供运行环境,处理业务逻辑的,也就是通过特定的网络通道来传输数据进行特定的数据交换来实现一些功能。符合中间件的定义文件服务器-如Novell的NetWare:数据库服务器-如Oracle数据库服务器,MySQL,PostgreSQL,MicrosoftSQLServer等邮件服务器-Sendmail,Postfix,Qmail,MicrosoftExchange,LotusDomino等网页服务器-如Apache,thttpd,微软的IIS等FTP服务器-Pureftpd,Proftpd,WU-ftpd,Serv-U等应用服务器-如Bea公司的WebLogic,JBoss,Sun的GlassFish代理服务器-如Squidcache计算机名称转换服务器-如微软的WINS服务器三、多层应用体系的优势(相比C/S和B/S):瘦客户:提供简洁的人机交互界面,完成数据的输入/输出。业务服务(中间层):完成业务逻辑、实现与数据库通信、实现分布式管理负载均衡、Fail/Recover、安全隔离等。数据服务:提供数据存储。安全性:中间层隔离了客户直接对数据库的访问,保护数据。稳定性:中间层缓冲了客户端与数据库的实际连接,使数据库的连接数量远小于客户端应用数量。易维护:业务逻辑在中间服务器,当业务规则变化后,客户端基本不变。快速响应:通过负载均衡以及缓存数据能力,客户端能够快速响应。系统扩展灵活:可以在中间层部署更多的应用服务。四、什么是JavaEE:JavaEE是一种利用Java2平台简化企业解决方案的开发、部署和管理相关复杂问题的体系结构。五、JavaEE是多层的应用体系:13面那个图六、面向对象编程(Object-OreintedProgramming)基于组件开发(Component-BasedDevelopment)面向服务架构(Service-OreintedArchitecture)七、JavaEE开发模式:分为非分布式和分布式两大体系结构:非分布式体系结构比较适合于Web应用,它们在一个容器里处理所有的页面逻辑和业务逻辑,所有的应用组件都只运行在同一个JVM里面。系统变得简单而有效。1.1数据库构建业务逻辑的Web应用企业的业务逻辑主要在数据库服务器端,通过使用存储过程、触发器等数据库特有技术完成。Web容器利用JDBC调用数据库的存储过程获取数据,利用Servlet、Jsp、HTML等处理表示层的逻辑。优点:简单性。速度。测试容易。系统部署简单。缺点:整个应用对数据库的功能和容量要求高。维护不易。数据库代码可能会很复杂。系统扩展性差,数据库性能要求高,性能调整代价大。1.2具有处理业务逻辑组件的Web应用:Web容器不仅负责表示层,还要处理业务逻辑。优势J2EE中最常见,结构最简单的开发模式,所谓的“轻量级”企业开发模式。结构简单。不需EJB容器支持的J2EE应用服务器(Tomcat、Resin)相应速度快。整个应用运行在同一个JVM内,没有远程调用。调试和测试容易。代码本地化,无需部署就可调试。系统部署容易灵活。利用Web应用服务器的负载均衡技术,在多台机器上部署同一应用。缺点对外只有一个Web接口,除非增加一个WebService,否则很难支持其它独立GUI客户端。2.整个应用只能运行在一个JVM,无法将组件自由地部署在其它机器上。3.没有用到EJB容器的事务支持,需要自己在代码里创建和管理事务。4.应用服务器不支持EJB容器,对于开发复杂的企业应用显得力不从心。1.3使用本地接口EJB的Web应用:中间业务层的业务接口使用本地EJB实现,而不是采用普通JavaBean优势具备第二种模式(使用JavaBean)的所有优点。利用了EJB容器的各种服务,而又没有分布式EJB应用那么复杂。本地EJB不用远程调用,不需要窜行化,系统性能开销小。缺点开发相对复杂。对外也只是一个Web接口,很难支持其它客户端,除非增加WebService。整个应用运行在同一JVM,所有组件必须部署在同一物理机器上。调试不容易。需要运行J2EE应用服务器。即使是本地调用,仍然慢于普通方法调用。2.11.使用远程EJB的分布式应用通过EJB及其调用EJB的组件部署在不同JVM的方式对应用进行物理的以及逻辑的划分优点:很容易地使用J2EE应用服务器的各种现成的服务,减低开发分布式系统的难度。通过标准的RMI远程接口来支持所有的J2EE客户类型。提供灵活的部署方式。允许应用组件在不同物理机器上部署。缺点:复杂,开发难度大。业务逻辑和表示逻辑的合理划分和设计。影响性能。应为使用了RMI远程调用。业务层组件都必须运行在EJB容器内,对J2EE应用服务器要求高。分布式应用调试和测试都是最难的。分布式系统使异常的处理变得复杂。还必须考虑网络故障等引起的传输问题2.2具有WebService接口的分布式应用:非分布式开发体系结构中各种开发模式为了实现分布式开发的一个扩展模式。在原有的各种模式上增加一个WebService服务层,不需要RMI和EJB来支持远程客户,而是通过SOAP与中间业务服务器通信。优点:通信协议SOAP比RMI/IIOP更开放,支持JAVA外其他语言的客户端。对企业来说,提供标准的Web服务接口比提供远程EJB接口更有好处。WebService基于Http协议,与RMI相比,防火墙更友好。缺点:性能差。通过SOAP和XML协议传递对象的性能比RMI差。如果客户端都是基于J2EE技术,没有必要采用SOAP。传输对象编码复杂。Java对象与XML之间作转换,对复杂的Java对象支持差。第三章数据访问中间件一、JDBC类型JDBC(JavaDatabaseConnectivity)是Java访问数据库的应用程序接口。JDBC是数据访问中间件(UDA),该接口基于SQL语言,采用同步通信。连接池基本的思想是在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。而连接的建立、断开都由连接池自身来管理。同时,还可以通过设置连接池的参数来控制连接池中的初始连接数、连接的上下限数以及每个连接的最大使用次数、最大空闲时间等等。也可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。二、DAO模式:DataAccessor模式:实现了数据访问和业务逻辑的分离,业务层无需关心CRUD操作避免了业务代码中混杂JDBC调用语句。ActiveDomainObject模式:实现了业务数据的对象化封装。三、ORM框架:ORM框架采用元数据来描述对象一关系映射细节,元数据一般采用XML格式,并且存放在专门的对象一映射文件中。只要提供了持久化类与表的映射关系,ORM框架在运行时就能参照映射文件的信息,把对象持久化到数据库中。当前ORM框架主要有三种:Hibernate,iBATIS,EclipseLink。消费者的案例?xmlversion=1.0encoding=utf-8?!DOCTYPEhibernate-mappingPUBLIC-//Hibernate/HibernateMappingDTD3.0//EN=dao.Customertable=customer!--主键设置--idname=idtype=stringcolumnname=id/columngeneratorclass=uuid/generator/id!--属性设置--propertyname=usernamecolumn=usernametype=string/propertypropertyname=balancecolumn=balancetype=integer/propertysetname=ordersinverse=truecascade=allkeycolumn=customer_id/keyone-to-manyclass=dao.Order//set/class/hibernate-mapping第四章消息中间件MOM一、什么是MessageOrientedMiddleware消息中间件作为一个中间层软件,它为分布式系统中创建、发送、接收消息提供了一套可靠通用的方法,实现了分布式系统中可靠的、高效的、实时的跨平台数据传输。二、企业什么需要MOMMOM指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。三、Queue和Topic模式四、同步和异步通信:(UDA数据访问中间件RMI同步)、(RPC、ORB、TMP同)、MOM(异)、同步通信易编程输出立即可知更易恢复错误(通常)更好实时响应(通常)但是服务必须启动、在线请求方阻碍占用资源通常要求面向连接的通信协议。异步请求无需指定服务器服务无需在线由于没有占用,资源可以释放可以使用非连接协议。缺点是响应时间不可预测错误处理通常复杂难以设计程序?五、MOM特点时间独立性、安全可靠、支持多种数据传送、断点续传、数据压缩等onceandonlyonce消息传递和排队技术有以下三个主要特点:1.通讯程序可在不同的时间运行。2.对应用程序的结构没有约束。3.程序与网络复杂性相隔离。第五章JMS一、什么是JMS为Java程序提供了一种创建、发送、接收和读取企业消息系统中消息的通用方法。二、JMS的消息类型三、被管理的对象ConnectionFactory:客户端用来创建同JMS提供者之间的连接的对象。Destination:这个对象是客户端用来指明消息被发送的目的地以及客户端接收消息的来源。被管理的对象一般被管理员放在JNDI名字空间中,通常在JMS客户端应用的文档中说明它所需要的JMS被管理对象,以及应以何种JNDI名字来提供这些JMS被管理对象。四、JMS客户端编程五、JMS中的Session:JMS会话是一个用来生产和消费消息的单线程的上下文。会话服务于以下几个目的:1.它是MessageProducers和MessageConsumers的工厂。2.它是TemporaryTopics和TemporaryQueues的工厂。3.它为那些需要动态操作提供者指定目的名称的客户端创建Queue或Topic对象。4.它支持独立序列的事务。5.它定义了消息的顺序。6.它保留消费的消息,直到这些消息确认已经接收。7.有顺序地执行MessageListener。8.它是QueueBrowser的工厂(直接浏览)六、JMS与RMI:1.通信方式不同JMS支持同步和异步消息处理模式。RMI基于请求/应答的同步通信模式。2.耦合度不同JMS建立了一个松散耦合的通信框架。图RMI是紧耦合结构。图二3.需求对象获得方式JMS:对象从网络的某个节点移动到另一个节点。RMI:对象是绑定在本地JVM中,只有参数和返回值是通过网络传送。第六章CORBA分布对象技术一、什么是CORBA公共对象请求代理结构,为解决分布式处理环境(DCE)中,硬件和软件系统的互连而提出的一种解决方案。二、ORB对象请求代理(ORB,ObjectReque
本文标题:湖北工业大学java中间件期末复习文件
链接地址:https://www.777doc.com/doc-2245177 .html