1、1 1课程内容概述概述J2EE架构基础架构基础Servlet、JSP、EJB开发开发J2EE应用部署应用部署J2EE应用开发架构应用开发架构实例实例2 2中间件技术最早具有中间件技术思想及功能的软件是最早具有中间件技术思想及功能的软件是最早具有中间件技术思想及功能的软件是最早具有中间件技术思想及功能的软件是IBMIBM在在在在6060年代开发的年代开发的年代开发的年代开发的CICSCICS(Customer Information Customer Information Control SystemControl System)。)。)。)。8080年代初期,年代初期,年代初期,年代初期,S
2、un Sun MicrosystemsMicrosystems开发了一种最早的中间件,作为其开发了一种最早的中间件,作为其开发了一种最早的中间件,作为其开发了一种最早的中间件,作为其开放网络体系结构的一部分,这种中间件是基于开放网络体系结构的一部分,这种中间件是基于开放网络体系结构的一部分,这种中间件是基于开放网络体系结构的一部分,这种中间件是基于RPCRPC协议的。但由于协议的。但由于协议的。但由于协议的。但由于CICSCICS不是分布式环境的产物,不是分布式环境的产物,不是分布式环境的产物,不是分布式环境的产物,而而而而Sun MicrosystemsSun Microsystems开发的
3、不是完整的中间件产开发的不是完整的中间件产开发的不是完整的中间件产开发的不是完整的中间件产品,因此人们一般把品,因此人们一般把品,因此人们一般把品,因此人们一般把TuxedoTuxedo作为第一个严格意义作为第一个严格意义作为第一个严格意义作为第一个严格意义上的中间件产品,上的中间件产品,上的中间件产品,上的中间件产品,TuxedoTuxedo是在是在是在是在19841984年由年由年由年由AT&TAT&T的的的的贝尔实验室开发完成的。到贝尔实验室开发完成的。到贝尔实验室开发完成的。到贝尔实验室开发完成的。到9090年代,中间件技术年代,中间件技术年代,中间件技术年代,中间件技术得到了巨大的发
4、展和广泛的应用,出现了大量具得到了巨大的发展和广泛的应用,出现了大量具得到了巨大的发展和广泛的应用,出现了大量具得到了巨大的发展和广泛的应用,出现了大量具有广泛影响的中间件产品,如有广泛影响的中间件产品,如有广泛影响的中间件产品,如有广泛影响的中间件产品,如OMGOMG的的的的CorbaCorba、MicrosoftMicrosoft的的的的DCOM/COM+DCOM/COM+、IBMIBM的的的的MQSMQS等。等。等。等。3 3中间件技术中间件是基础软件,处于操作系统(或网中间件是基础软件,处于操作系统(或网络协议)与分布式应用之间,从而络协议)与分布式应用之间,从而屏蔽操屏蔽操作系统(或
5、网络协议)的差异作系统(或网络协议)的差异,实现,实现分布分布式异构系统之间的互操作。式异构系统之间的互操作。中间件的定义:中间件的定义:中间件是一种独立的系统软件或服务程序,分中间件是一种独立的系统软件或服务程序,分中间件是一种独立的系统软件或服务程序,分中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间布式应用软件借助这种软件在不同的技术之间布式应用软件借助这种软件在不同的技术之间布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系共享资源,中间件位于客户机服务器的操作系共享资源,中间件位于客户机服务器的操作系共享资源,中间件位于客
6、户机服务器的操作系统之上,管理计算资源和网络通信。统之上,管理计算资源和网络通信。统之上,管理计算资源和网络通信。统之上,管理计算资源和网络通信。4 4中间件技术通过功能分类:通过功能分类:消息中间件消息中间件消息中间件消息中间件(MOM:Message-Oriented(MOM:Message-Oriented Middleware)Middleware)基于消息传递模式基于消息传递模式基于消息传递模式基于消息传递模式 两台机器之间传递消息时,可将消息打成包,发送两台机器之间传递消息时,可将消息打成包,发送两台机器之间传递消息时,可将消息打成包,发送两台机器之间传递消息时,可将消息打成包,发
7、送到消息中间件服务器,由这个服务器完成消息传送。到消息中间件服务器,由这个服务器完成消息传送。到消息中间件服务器,由这个服务器完成消息传送。到消息中间件服务器,由这个服务器完成消息传送。若连接不成功,则自动连接,成功传送为止。若连接不成功,则自动连接,成功传送为止。若连接不成功,则自动连接,成功传送为止。若连接不成功,则自动连接,成功传送为止。提供一些接口提供一些接口提供一些接口提供一些接口 如:如:如:如:IBMIBM公司的公司的公司的公司的MQMQ产品。产品。产品。产品。5 5中间件技术通过功能分类:通过功能分类:数据库中间件数据库中间件数据库中间件数据库中间件(Database Midd
8、leware)(Database Middleware)不同数据库的编程接口不同,当数据库需要进行数不同数据库的编程接口不同,当数据库需要进行数不同数据库的编程接口不同,当数据库需要进行数不同数据库的编程接口不同,当数据库需要进行数据库迁移时,必须对程序代码进行修改。据库迁移时,必须对程序代码进行修改。据库迁移时,必须对程序代码进行修改。据库迁移时,必须对程序代码进行修改。可用数据库中间件软件帮助屏蔽数据库操作的差异。可用数据库中间件软件帮助屏蔽数据库操作的差异。可用数据库中间件软件帮助屏蔽数据库操作的差异。可用数据库中间件软件帮助屏蔽数据库操作的差异。想调用数据库功能时通过数据库中间件所提供
9、的接想调用数据库功能时通过数据库中间件所提供的接想调用数据库功能时通过数据库中间件所提供的接想调用数据库功能时通过数据库中间件所提供的接口,告诉你需要访问的数据库类型,以及需要的操口,告诉你需要访问的数据库类型,以及需要的操口,告诉你需要访问的数据库类型,以及需要的操口,告诉你需要访问的数据库类型,以及需要的操作,数据库中间件可以帮助完成操作。数据库中间作,数据库中间件可以帮助完成操作。数据库中间作,数据库中间件可以帮助完成操作。数据库中间作,数据库中间件可以帮助完成操作。数据库中间件还可以完成不同类型数据库之间的数据转换,以件还可以完成不同类型数据库之间的数据转换,以件还可以完成不同类型数据
10、库之间的数据转换,以件还可以完成不同类型数据库之间的数据转换,以及数据同步等工作。及数据同步等工作。及数据同步等工作。及数据同步等工作。6 6中间件技术通过功能分类:通过功能分类:远程过程调用中间件(远程过程调用中间件(远程过程调用中间件(远程过程调用中间件(RPC:Remote Process RPC:Remote Process CallCall)用于特定的操作系统,尤其是用于特定的操作系统,尤其是用于特定的操作系统,尤其是用于特定的操作系统,尤其是UNIXUNIX环境下使用。环境下使用。环境下使用。环境下使用。用于一个应用必须由多台计算机完成的情况。用于一个应用必须由多台计算机完成的情况
11、。用于一个应用必须由多台计算机完成的情况。用于一个应用必须由多台计算机完成的情况。UNIXUNIX环境下的一种标准化的调用过程环境下的一种标准化的调用过程环境下的一种标准化的调用过程环境下的一种标准化的调用过程7 7中间件技术通过功能分类:通过功能分类:对象请求代理中间件对象请求代理中间件对象请求代理中间件对象请求代理中间件(ORB:Object Request(ORB:Object Request Broker)Broker)CORBACORBA 一个对象需要调用另外一个对象的功能,两个对象一个对象需要调用另外一个对象的功能,两个对象一个对象需要调用另外一个对象的功能,两个对象一个对象需要调
12、用另外一个对象的功能,两个对象可能在不同机器上。通过对象请求代理中间件来调可能在不同机器上。通过对象请求代理中间件来调可能在不同机器上。通过对象请求代理中间件来调可能在不同机器上。通过对象请求代理中间件来调用另外一个对象的服务。由代理查询对象在哪里,用另外一个对象的服务。由代理查询对象在哪里,用另外一个对象的服务。由代理查询对象在哪里,用另外一个对象的服务。由代理查询对象在哪里,如何调用。如何调用。如何调用。如何调用。编程复杂,使用不太多编程复杂,使用不太多编程复杂,使用不太多编程复杂,使用不太多8 8中间件技术通过功能分类:通过功能分类:事务处理中间件事务处理中间件事务处理中间件事务处理中间
13、件(TP Monitor:Transaction(TP Monitor:Transaction Process Monitor)Process Monitor)应用应用应用应用 程序调用一个事务,由中间件帮助完成这个事程序调用一个事务,由中间件帮助完成这个事程序调用一个事务,由中间件帮助完成这个事程序调用一个事务,由中间件帮助完成这个事务。务。务。务。中间件可以做到事务要么可以正确结束,要么可以中间件可以做到事务要么可以正确结束,要么可以中间件可以做到事务要么可以正确结束,要么可以中间件可以做到事务要么可以正确结束,要么可以恢复到事务处理之前的状态。恢复到事务处理之前的状态。恢复到事务处理之前
14、的状态。恢复到事务处理之前的状态。9 9中间件技术通过功能分类:通过功能分类:J2EEJ2EE中间件中间件中间件中间件将消息中间件,数据库中间件,事务中间件等功能将消息中间件,数据库中间件,事务中间件等功能融合在一起。融合在一起。1010软件开发技术的发展基于主机的系统基于主机的系统两层的两层的Client/Server系统系统三层三层(n层层)体系架构体系架构表示层表示层业务逻辑层业务逻辑层数据层数据层基于基于Web的三层的三层(n层层)体系架构体系架构1111C/S(客户端(客户端/服务器模式)服务器模式)优缺点优缺点服务器端运行负荷较轻服务器端运行负荷较轻数据的存储管理功能较为透明数据的
15、存储管理功能较为透明C/S体系维护成本高且投资大体系维护成本高且投资大客户端客户端数据库数据库1212B/S(浏览器(浏览器/服务器模式)服务器模式)优缺点优缺点Web系统功能比较难实现系统功能比较难实现技术开发复杂技术开发复杂HTTP可靠性低,可能造成应用故障可靠性低,可能造成应用故障Web服务器负载大服务器负载大业务逻辑和数据访问控制程序分散,难于共享业务逻辑和数据访问控制程序分散,难于共享Browser浏览器浏览器Web服务器服务器数据库数据库1313企业级应用的要求分布式分布式可移植可移植面向面向Web体系体系满足企业计算要求满足企业计算要求一致性一致性事务性事务性安全性安全性好的特性
16、好的特性可伸缩可伸缩可扩展可扩展易维护易维护遗留系统集成遗留系统集成以上要求需要一个良好的基础架构来支持以上要求需要一个良好的基础架构来支持1414企业级应用环境1515JMS 消息服务功能消息服务功能Servlet,JSP做做web页面开发功能页面开发功能Connector用来跟遗留系统连接用来跟遗留系统连接XSLT是是XML比较好的数据共享的解决方案比较好的数据共享的解决方案可以做数据绑定和数据转换的功能可以做数据绑定和数据转换的功能1616App Server用来安放所开发软件的服务器用来安放所开发软件的服务器Web Server支撑支撑Web的访问的访问Components组件是一些写
17、好的现成代码,被放到组件是一些写好的现成代码,被放到 应用服务器上,提供了编程接口。应用服务器上,提供了编程接口。DatabasesObject to DB tools对象和数据库的映射工具对象和数据库的映射工具以上都是第三方厂商做好的,性能比较稳定的高以上都是第三方厂商做好的,性能比较稳定的高可靠性的软件。可靠性的软件。1717什么是J2EE?Java 2 Platform,Enterprise Edition(J2EE)Java 2 Platform,Enterprise Edition(J2EE)Open and standard based platform for developin
18、g,deploying and managing n-tier,Web-enabled,server-centric,and component-based enterprise applications运用运用JavaJava技术开发企业应用的标准技术开发企业应用的标准包括了包括了多层应用开发模型多层应用开发模型开发平台开发平台 -APIs-APIs 和服务和服务测试软件包测试软件包 参考实现参考实现将所有将所有SunSun的企业技术集合在一个体系结构下的平台的企业技术集合在一个体系结构下的平台特定版本下的特定版本下的EJB,Servlet,JSPEJB,Servlet,JSPJava We
19、b Server Java Web Server JNDI,JDBC,JTA,JMS,JavaMail,CORBAJNDI,JDBC,JTA,JMS,JavaMail,CORBA1818Java 2 Platform1919J2EE可以提供什么分布式、可移植分布式、可移植构件构件的框架的框架简化服务器端中间层构件的设计简化服务器端中间层构件的设计为构件和应用服务器提供标准为构件和应用服务器提供标准API2020J2EE可以为开发者和用户带来更短的开发时间更短的开发时间可重用组件可重用组件JSPEJB自由的选择自由的选择基于开放的标准基于开放的标准简化的连接简化的连接XML,JDBC,RMI-I
20、IOP,Web Service2121J2EE 技术架构任何平台Java虚拟机J2EE Framework安安全全组件组件组件组件组件组件组件组件J JC CA Ae eb bX XMML LJ JT TA AJ JMMS S 2222BrowserBrowserServletServletororJSPJSPContainersContainersEJB ServerEJB ServerB BC CHTTPHTTPEntityEntityBeanBeanHOMEHOMEREMOTEREMOTESessionSessionBeanBeanHOMEHOMEREMOTEREMOTEDataData
21、A ADataDataJDBCJDBCRMI/IIOPRMI/IIOPJDBCJDBCAppServerAppServerJ2EE 应用体系结构2323J2EE是端到端的解决方案2424N层J2EE体系架构2525J2EE主要技术概览展示层展示层 ServLet/JSP ServLet/JSP中间层中间层 EJB EJB中间层可用的企业服务中间层可用的企业服务事务服务事务服务 JTAJTA目录服务目录服务 JNDIJNDI消息服务消息服务 JMSJMS异步组件异步组件Message-Driven EJBMessage-Driven EJB数据层数据层 -JDBC-JDBC远程调用远程调用 RM
22、I/IIOP RMI/IIOP使用现有资源使用现有资源 -JCA-JCA2626J2EE 1.4 Contents2727.Net与J2EE 的比较WS-IWindowsCLR.NET.NET 安安全全适适配配器器编编排排服服务务企企业业服服务务消消息息队队列列LinuxJVMJ2EE J2EE S Se ec cu ur ri it ty yJ JC CA Ae eb bX XMML LJ JT TA AJ JMMS S 2828Web 架构:J2EE vs.NET表示层表示层表示层表示层业务逻辑层业务逻辑层业务逻辑层业务逻辑层数据层数据层数据层数据层J2EEJ2EECLR.NET Asse
23、mblyADO.NET(可使用 COM+服务;比如事务)Web 表单Server 控件Code-BehindASP.NETIISJavaBeansEJBsJSPServlets可运行于大多数主要应用及Web服务器支持大多数数据库(通过 JDBC 驱动程序)J2SE/EEJDBC(事务使用 JTA).NETSQL ServerOracleDB/2,etc.SQL ServerOracleDB/2,etc.状态:ASP.NET Session,.NET 数据缓存状态:封装于 EJB 中,也可在 Web Sessions 中2929J2EE/.NET主要技术比较JDBC JTAJNDIJMSJava
24、MailRMI/IIOPJAFADO.NET .NET TransactionActive Directory.NET MessagingSmtpMailWeb Service/Remoting.NET JIT3030技术的成熟性MicrosoftJ2EE199619971998199920002001MSXMLJAXPASPJSPMTS/COM+EJBODBCJDBCMar 1992ADSIJNDIQCMDBLCEMMCWinDNAJ2EEMSMQJMSVS.Net.Net3131J2EE的移植性与互操作性理论上理论上J2EE应用可以采用多个厂商的产品应用可以采用多个厂商的产品只要符合只要符
25、合J2EE的标准的标准实际情况实际情况J2EE标准不完整,如标准不完整,如 Web ServiceJ2EE的技术需改进,如的技术需改进,如 EJB各厂商发展各自的技术各厂商发展各自的技术不同产品很难协同和移植不同产品很难协同和移植J2EE可选择同一厂商支持的不同操作系统可选择同一厂商支持的不同操作系统3232.Net的移植性与互操作性理论上理论上.Net应用可移植到任何平台应用可移植到任何平台CLS提交给标准化组织提交给标准化组织只要支持只要支持CLR实际情况实际情况只有只有Windows/Free BSD.Net支持支持Web Service可以使用任何平台运行的可以使用任何平台运行的Web
26、 Service任何平台可使用任何平台可使用.Net Web Service3333技术比较结论.Net和和J2EE应用有着相似的架构应用有着相似的架构.Net和和J2EE有相应的主要技术有相应的主要技术.Net所有技术来自所有技术来自MicrosoftJ2EE的技术有多个厂商的实现的技术有多个厂商的实现.Net和和J2EE可以满足大多数应用的需求可以满足大多数应用的需求主要的差别不在技术的可行性上主要的差别不在技术的可行性上开发效率开发效率性能性能成本成本稳定性稳定性3434开发工具JBuilder商用商用功能完备功能完备EclipseOpen Source插件丰富插件丰富myEclipse版本管理版本管理CVS
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100