_浙大中间件技术(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,JSPJavaWebServerJNDI,JDBC,JTA,JMS,JavaMail,CORBA„中间件技术10Java2Platform中间件技术11J2EE可以提供什么分布式、可移植构件的框架简化服务器端中间层构件的设计为构件和应用服务器提供标准API中间件技术12J2EE可以为开发者和用户带来更短的开发时间可重用组件JSPEJB自由的选择基于开放的标准简化的连接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主要技术比较JDBCJTAJNDIJMSJavaMailRMI/IIOPJAFADO.NET.NETTransactionActiveDirectory.NETMessagingSmtpMailWebService/Remoting.NETJIT中间件技术22技术的成熟性MicrosoftJ2EE199619971998199920002001MSXMLJAXPASPJSPMTS/COM+EJBODBCJDBCMar1992ADSIJNDIQCMDBLCEMMCWinDNAJ2EEMSMQJMSVS.Net.Net中间件技术23J2EE的移植性与互操作性理论上J2EE应用可以采用多个厂商的产品只要符合J2EE的标准实际情况J2EE标准不完整,如WebServiceJ2EE的技术需改进,如EJB各厂商发展各自的技术不同产品很难协同和移植J2EE可选择同一厂商支持的不同操作系统中间件技术24.Net的移植性与互操作性理论上.Net应用可移植到任何平台CLS提交给标准化组织只要支持CLR实际情况只有Windows/FreeBSD.Net支持WebService可以使用任何平台运行的WebService任何平台可使用.NetWebService中间件技术25技术比较结论.Net和J2EE应用有着相似的架构.Net和J2EE有相应的主要技术.Net所有技术来自MicrosoftJ2EE的技术有多个厂商的实现.Net和J2EE可以满足大多数应用的需求主要的差别不在技术的可行性上开发效率性能成本稳定性中间件技术26开发工具JBuilder商用功能完备EclipseOpenSource插件丰富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应用服务器产品BEAWebLogicIBMWebSphereSunJavaSystemApplicationServerOracle9i/ASJBossTomcat(不支持EJB)Resin中间件技术35Web服务器模型/CGI/ServletWeb服务器模型CGI/ServletServersidemoduleisapimod_perlServersidescriptphpaspjsp中间件技术36ServletServlet是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两种请求时中间件技术38JSPTechnologyJavaServerPages(JSP)是一种实现普通静态HTML和动态HTML混合编码的技术。JSP并没有增加任何本质上不能用Servlet实现的功能。但是,在JSP中编写静态HTML更加方便,不必再用println语句来输出每一行HTML代码。更重要的是,借助内容和外观的分离,页面制作中不同性质的任务可以方便地分开:

1 / 98
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功