您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > _浙大中间件技术(J2EE)讲稿[1]
中间件技术中间件技术胡晓军中间件技术2课程内容概述J2EE架构基础Servlet、JSP、EJB开发J2EE应用部署J2EE应用开发架构实例中间件技术3软件开发技术的发展基于主机的系统两层的Client/Server系统三层(n层)体系架构表示层业务逻辑层数据层基于Web的三层(n层)体系架构中间件技术4中间件技术最早具有中间件技术思想及功能的软件是IBM在60年代开发的CICS(CustomerInformationControlSystem)。80年代初期,SunMicrosystems开发了一种最早的中间件,作为其开放网络体系结构的一部分,这种中间件是基于RPC协议的。但由于CICS不是分布式环境的产物,而SunMicrosystems开发的不是完整的中间件产品,因此人们一般把Tuxedo作为第一个严格意义上的中间件产品,Tuxedo是在1984年由AT&T的贝尔实验室开发完成的。到90年代,中间件技术得到了巨大的发展和广泛的应用,出现了大量具有广泛影响的中间件产品,如OMG的Corba、Microsoft的DCOM/COM+、IBM的MQS等。中间件技术5中间件技术中间件是基础软件,处于操作系统(或网络协议)与分布式应用之间,从而屏蔽操作系统(或网络协议)的差异,实现分布式异构系统之间的互操作。目前,对中间件还没有形成一个统一的定义,比较公认的IDC的定义是:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。中间件技术6中间件技术分类:消息中间件(MOM:Message-OrientedMiddleware)数据库中间件(DatabaseMiddleware)远程过程调用中间件(RPC:RemoteProcessCall)对象请求代理中间件(ORB:ObjectRequestBroker)事务处理中间件(TPMonitor:TransactionProcessMonitor)J2EE中间件中间件技术7企业级应用的要求分布式可移植面向Web体系满足企业计算要求一致性事务性安全性好的特性可伸缩可扩展易维护遗留系统集成以上要求需要一个良好的基础架构来支持中间件技术8企业级应用环境中间件技术9什么是J2EE?Java2Platform,EnterpriseEdition(J2EE)Openandstandardbasedplatformfordeveloping,deployingandmanagingn-tier,Web-enabled,server-centric,andcomponent-basedenterpriseapplications运用Java技术开发企业应用的标准包括了多层应用开发模型开发平台-APIs和服务测试软件包参考实现将所有Sun的企业技术集合在一个体系结构下的平台特定版本下的EJB,Servlet,JSPJavaWebServerJNDI,JDBC,JTA,JMS,JavaMail,CORBA„中间件技术10Java2Platform中间件技术11J2EE可以提供什么分布式、可移植构件的框架简化服务器端中间层构件的设计为构件和应用服务器提供标准API中间件技术12J2EE可以为开发者和用户带来更短的开发时间可重用组件JSPEJB自由的选择基于开放的标准简化的连接XML,JDBC,RMI-IIOP,WebService中间件技术13J2EE技术架构任何平台Java虚拟机J2EEFramework安全组件组件组件组件JCAebXMLJTAJMS…中间件技术14BrowserServletorJSPContainersEJBServerBCHTTPEntityBeanHOMEREMOTESessionBeanHOMEREMOTEDataADataJDBCAppServerJ2EE应用体系结构中间件技术15J2EE是端到端的解决方案中间件技术16N层J2EE体系架构中间件技术17J2EE主要技术概览展示层–ServLet/JSP中间层–EJB中间层可用的企业服务事务服务JTA目录服务JNDI消息服务JMS异步组件Message-DrivenEJB数据层-JDBC远程调用–RMI/IIOP使用现有资源-JCA中间件技术18J2EE1.4Contents中间件技术19.Net与J2EE的比较WS-IWindowsCLR.NET安全适配器编排服务企业服务消息队列LinuxJVMJ2EESecurityJCAebXMLJTAJMS……中间件技术20Web架构:J2EEvs.NET表示层业务逻辑层数据层J2EECLR.NETAssemblyADO.NET(可使用COM+服务;比如事务)Web表单Server控件Code-BehindASP.NETIISJavaBeansEJBsJSPServlets可运行于大多数主要应用及Web服务器支持大多数数据库(通过JDBC驱动程序)J2SE/EEJDBC(事务使用JTA).NETSQLServerOracleDB/2,etc.SQLServerOracleDB/2,etc.状态:ASP.NETSession,.NET数据缓存状态:封装于EJB中,也可在WebSessions中中间件技术21J2EE/.NET主要技术比较JDBCJTAJNDIJMSJavaMailRMI/IIOPJAFADO.NET.NETTransactionActiveDirectory.NETMessagingSmtpMailWebService/Remoting.NETJIT中间件技术22技术的成熟性MicrosoftJ2EE199619971998199920002001MSXMLJAXPASPJSPMTS/COM+EJBODBCJDBCMar1992ADSIJNDIQCMDBLCEMMCWinDNAJ2EEMSMQJMSVS.Net.Net中间件技术23J2EE的移植性与互操作性理论上J2EE应用可以采用多个厂商的产品只要符合J2EE的标准实际情况J2EE标准不完整,如WebServiceJ2EE的技术需改进,如EJB各厂商发展各自的技术不同产品很难协同和移植J2EE可选择同一厂商支持的不同操作系统中间件技术24.Net的移植性与互操作性理论上.Net应用可移植到任何平台CLS提交给标准化组织只要支持CLR实际情况只有Windows/FreeBSD.Net支持WebService可以使用任何平台运行的WebService任何平台可使用.NetWebService中间件技术25技术比较结论.Net和J2EE应用有着相似的架构.Net和J2EE有相应的主要技术.Net所有技术来自MicrosoftJ2EE的技术有多个厂商的实现.Net和J2EE可以满足大多数应用的需求主要的差别不在技术的可行性上开发效率性能成本稳定性中间件技术26开发工具JBuilder商用功能完备EclipseOpenSource插件丰富myEclipse版本管理CVS中间件技术27J2EE应用开发编写和编译组件代码Servlet,JSP,EJB编写组件的部署描述符把组件装配成可部署的软件包将软件包部署到J2EE应用服务器上中间件技术28部署描述符提供容器如何管理和控制J2EE组件行为的操作指令事务性安全性持久性通过配置实现组件行为的定制(不需要通过代码进行定制)XML文件使代码具有可移植性中间件技术29J2EE开发角色J2EE角色组成开发工具供应商应用开发人员应用服务器供应商应用程序集成人员部署人员系统管理员J2EE开发角色开发工具商:提供组件开发工具、应用程序集成工具、应用程序部署工具、界面编辑工具。应用服务器提供商:负责设计和开发J2EE应用服务器(依据J2EE规范)应用开发人员:负责开发组件、写部署描述文件、设计界面(显示数据)应用集成人员:负责将各种界面、组件、描述文件、驱动程序、其他属性文件集成部署人员:负责将J2EE集成文件部署的应用服务器系统管理员:负责调整服务器的运行参数、监视服务器的运行情况中间件技术30应用服务器介绍应用服务器是非常重要的企业软件,为现代业务系统提供了应用基础结构。应用服务器源自支持与其它系统共享数据和资源的应用,以及为Web页面和其它用户界面生成动态信息的需求。它在Web服务器与底层应用和数据库之间形成了新的功能和服务层中间件技术31应用服务器实现的功能负载均衡故障容错Web服务网络透明遗留集成事务管理安全性消息多线程持久性数据库连接资源合并开发、测试和封装功能……中间件技术32J2EEContainers&Components中间件技术33容器与组件容器处理组件处理•一致性•安全性•可获得性•可伸缩性•事务性•分布性•生命周期管理•(持久性)•表示•JSP,Servlet,Applet•业务逻辑•EJB•数据访问逻辑•EJB•应用系统访问•Webservice中间件技术34应用服务器产品BEAWebLogicIBMWebSphereSunJavaSystemApplicationServerOracle9i/ASJBossTomcat(不支持EJB)Resin中间件技术35Web服务器模型/CGI/ServletWeb服务器模型CGI/ServletServersidemoduleisapimod_perlServersidescriptphpaspjsp中间件技术36ServletServlet是Java技术对CGI编程的回答。Servlet程序在服务器端运行,动态地生成Web页面。与传统的CGI和许多其他类似CGI的技术相比,JavaServlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资。高效方便可移植性好节省投资中间件技术37Servlet开发如果某个类要成为Servlet,则它应该从HttpServlet继承,根据数据是通过GET还是POST发送,重载doGet、doPost方法之一或全部。doGet和doPost方法都有两个参数,分别为HttpServletRequest类型和HttpServletResponse类型。HttpServletRequest提供访问有关请求的信息的方法,例如表单数据、HTTP请求头等等。HttpServletResponse除了提供用于指定HTTP应答状态(200,404等)、应答头(Content-Type,Set-Cookie等)的方法之外,最重要的是它提供了一个用于向客户端发送数据的PrintWriter。对于简单的Servlet来说,它的大部分工作是通过println语句生成向客户端发送的页面。必须导入java.io包(要用到PrintWriter等类)、javax.servlet包(要用到HttpServlet等类)以及javax.servlet.http包(要用到HttpServletRequest类和HttpServletResponse类)。doGet和doPost这两个方法是由service方法调用的,有时你可能需要直接重载service方法,比如Servlet要处理GET和POST两种请求时中间件技术38JSPTechnologyJavaServerPages(JSP)是一种实现普通静态HTML和动态HTML混合编码的技术。JSP并没有增加任何本质上不能用Servlet实现的功能。但是,在JSP中编写静态HTML更加方便,不必再用println语句来输出每一行HTML代码。更重要的是,借助内容和外观的分离,页面制作中不同性质的任务可以方便地分开:
本文标题:_浙大中间件技术(J2EE)讲稿[1]
链接地址:https://www.777doc.com/doc-4995940 .html