OracleJ2EE高级技术与JDeveloper概述课件

上传人:91274****mpsvz 文档编号:241299506 上传时间:2024-06-16 格式:PPT 页数:98 大小:1.67MB
返回 下载 相关 举报
OracleJ2EE高级技术与JDeveloper概述课件_第1页
第1页 / 共98页
OracleJ2EE高级技术与JDeveloper概述课件_第2页
第2页 / 共98页
OracleJ2EE高级技术与JDeveloper概述课件_第3页
第3页 / 共98页
点击查看更多>>
资源描述
第第11章章 Oracle J2EE高级技术与高级技术与JDeveloper第11章 Oracle J2EE高级技术与JDevelop1 1、介绍、介绍J2EE及其结构、及其结构、J2EE应用程序的组成及应用程序的组成及Oracle9i的的J2EE技术技术 2、Oracle9i的的J2EE服务器服务器 Oracle9i Application Server Containers for J2EE(OC4J)和和Oracle9i Java商业组件(商业组件(Business Components for Java,BC4J)的特点)的特点 3、介绍、介绍Oracle9i J2EE应用的最佳开发工具应用的最佳开发工具JDeveloper 4、给出通过、给出通过BC4J实现实现J2EE应用程序的示例应用程序的示例 1、介绍J2EE及其结构、J2EE应用程序的2目目 录录11.1 Java2企业版(企业版(J2EE)11.2 Oracle9i的的J2EE技术与技术与OC4J11.3 Oracle9i Java商业组件(商业组件(BC4J)11.4 JDeveloper目 录11.1 Java2企业版(J311.1 Java2企业版(企业版(J2EE)一、一、J2EE的由来的由来 二、二、J2EE的组成11.1 Java2企业版(J2EE)一、J2EE的由来 4*一一 般般 知知 识识*一、计算机应用程序的一般特点一、计算机应用程序的一般特点:大多数应用,从大多数应用,从大多数应用,从大多数应用,从PCPC机上的简单报表程序到大型机上的复杂机上的简单报表程序到大型机上的复杂机上的简单报表程序到大型机上的复杂机上的简单报表程序到大型机上的复杂计算,都由三部分组成:计算,都由三部分组成:计算,都由三部分组成:计算,都由三部分组成:uu用户界面部分:表示层用户界面部分:表示层用户界面部分:表示层用户界面部分:表示层uu应用逻辑部分:业务逻辑层应用逻辑部分:业务逻辑层应用逻辑部分:业务逻辑层应用逻辑部分:业务逻辑层uu数据访问部分:数据访问层数据访问部分:数据访问层数据访问部分:数据访问层数据访问部分:数据访问层 二、应用程序开发模型的变迁过程:二、应用程序开发模型的变迁过程:单层单层 两层两层 三层三层 N层层 1 2 31 2312312 3 4*一 般 知 识*一、计算机应用程序的一般特点:5一、J2EE的由来的由来1、传统应用程序模型传统应用程序模型 2、Web应用程序模型3、为什么需要J2EE4、什么是J2EE一、J2EE的由来1、传统应用程序模型 61、传统应用程序模型(一)、传统应用程序模型(一)n n数据访问、表示和业务逻辑在一个应用中数据访问、表示和业务逻辑在一个应用中数据访问、表示和业务逻辑在一个应用中数据访问、表示和业务逻辑在一个应用中n n代码复用、代码可维护性、代码的修改十分困难代码复用、代码可维护性、代码的修改十分困难代码复用、代码可维护性、代码的修改十分困难代码复用、代码可维护性、代码的修改十分困难n n应用不是分布式的,不具有可伸缩性应用不是分布式的,不具有可伸缩性应用不是分布式的,不具有可伸缩性应用不是分布式的,不具有可伸缩性主机系统或单层结构:主机主机系统或单层结构:主机/终端模式终端模式1、传统应用程序模型(一)数据访问、表示和业务逻辑在一个应用71、传统应用程序模型(二)、传统应用程序模型(二)n n用户界面和程序逻辑绑在一起,代码难以重用用户界面和程序逻辑绑在一起,代码难以重用用户界面和程序逻辑绑在一起,代码难以重用用户界面和程序逻辑绑在一起,代码难以重用n n服务器的数据库必须同每一个活动的客户保持连接,消耗服务器的数据库必须同每一个活动的客户保持连接,消耗服务器的数据库必须同每一个活动的客户保持连接,消耗服务器的数据库必须同每一个活动的客户保持连接,消耗大量的运算资源,随着客户数目的增加性能不断下降,且大量的运算资源,随着客户数目的增加性能不断下降,且大量的运算资源,随着客户数目的增加性能不断下降,且大量的运算资源,随着客户数目的增加性能不断下降,且存在死锁及崩溃的可能存在死锁及崩溃的可能存在死锁及崩溃的可能存在死锁及崩溃的可能n n数据模型数据模型数据模型数据模型“紧耦合紧耦合紧耦合紧耦合”在每一客户端,数据库结构改变将导致在每一客户端,数据库结构改变将导致在每一客户端,数据库结构改变将导致在每一客户端,数据库结构改变将导致全体客户端改变,不利于更新和维护全体客户端改变,不利于更新和维护全体客户端改变,不利于更新和维护全体客户端改变,不利于更新和维护n n客户端应用程序越来越大,对使用者的要求也越来越高客户端应用程序越来越大,对使用者的要求也越来越高客户端应用程序越来越大,对使用者的要求也越来越高客户端应用程序越来越大,对使用者的要求也越来越高客户客户/服务器(服务器(Client/Server,C/S)结构:)结构:“胖胖”客户端客户端胖客户端:胖客户端:表示逻辑表示逻辑业务逻辑业务逻辑业务数据模型业务数据模型通讯通讯Fat clientFat client1、传统应用程序模型(二)用户界面和程序逻辑绑在一起,代码难8一、J2EE的由来的由来1、传统应用程序模型、传统应用程序模型2、Web应用程序模型应用程序模型 3、为什么需要、为什么需要J2EE4、什么是、什么是J2EE一、J2EE的由来1、传统应用程序模型92、Web应用程序模型(一)应用程序模型(一)传统的Web应用程序模型:三层分布式架构2、Web应用程序模型(一)传统的Web应用程序模型:三层102、Web应用程序模型(一)应用程序模型(一)n nWWWWWW浏览方式带来的变化:浏览方式带来的变化:浏览方式带来的变化:浏览方式带来的变化:n n“Browser-based”“Browser-based”的客户端与的客户端与的客户端与的客户端与 “Internetworking”“Internetworking”(网际互连)(网际互连)(网际互连)(网际互连)n n计算方式向服务器端的集中转化计算方式向服务器端的集中转化计算方式向服务器端的集中转化计算方式向服务器端的集中转化n n客户端:业务数据模型与客户端:业务数据模型与客户端:业务数据模型与客户端:业务数据模型与UIUI分开,更分开,更分开,更分开,更“瘦瘦瘦瘦”n n业务逻辑在中间层,通过:连接池,多线程可以处理多客户业务逻辑在中间层,通过:连接池,多线程可以处理多客户业务逻辑在中间层,通过:连接池,多线程可以处理多客户业务逻辑在中间层,通过:连接池,多线程可以处理多客户端端端端n n早期应用编程困难且性能比较差:早期应用编程困难且性能比较差:早期应用编程困难且性能比较差:早期应用编程困难且性能比较差:CGI(C/C+,VB,PerlCGI(C/C+,VB,Perl等等等等等等等等),ISAPI ISAPI,NSAPINSAPI传统的传统的Web应用程序模型:三层分布式架构应用程序模型:三层分布式架构2、Web应用程序模型(一)WWW浏览方式带来的变化:传统112、Web应用程序模型(二)应用程序模型(二)N层计算模式的引入层计算模式的引入 采用采用采用采用N N层计算结构,从逻辑角度看,系统分成客户层计算结构,从逻辑角度看,系统分成客户层计算结构,从逻辑角度看,系统分成客户层计算结构,从逻辑角度看,系统分成客户端、端、端、端、WebWeb服务器、应用服务器、数据库服务器四层;服务器、应用服务器、数据库服务器四层;服务器、应用服务器、数据库服务器四层;服务器、应用服务器、数据库服务器四层;从物理角度看,应用服务器可以视用户并发数从从物理角度看,应用服务器可以视用户并发数从从物理角度看,应用服务器可以视用户并发数从从物理角度看,应用服务器可以视用户并发数从1 1到到到到N N台进行扩充,以保证客户端用户的响应要求。台进行扩充,以保证客户端用户的响应要求。台进行扩充,以保证客户端用户的响应要求。台进行扩充,以保证客户端用户的响应要求。2、Web应用程序模型(二)N层计算模式的引入 12N层(层(N-tier)WS:Web ServerAS:Application Server BWSASDB2、Web应用程序模型(二)应用程序模型(二)BWSASDB2、Web应用程序模型(二)132、Web应用程序模型(二)应用程序模型(二)n n从从从从1 1层到层到层到层到N N层,得到的改进:层,得到的改进:层,得到的改进:层,得到的改进:n n每一层可以被单独改变,而无需其它层的改变每一层可以被单独改变,而无需其它层的改变每一层可以被单独改变,而无需其它层的改变每一层可以被单独改变,而无需其它层的改变n n降低了部署与维护的开销,提高了灵活性、可伸缩性降低了部署与维护的开销,提高了灵活性、可伸缩性降低了部署与维护的开销,提高了灵活性、可伸缩性降低了部署与维护的开销,提高了灵活性、可伸缩性n n引入引入引入引入“瘦客户端瘦客户端瘦客户端瘦客户端”,计算被集中至服务器端,使性能提高成,计算被集中至服务器端,使性能提高成,计算被集中至服务器端,使性能提高成,计算被集中至服务器端,使性能提高成为可能为可能为可能为可能n n仍然存在的问题:仍然存在的问题:仍然存在的问题:仍然存在的问题:n n对企业级应用开发人员的要求太高:对企业级应用开发人员的要求太高:对企业级应用开发人员的要求太高:对企业级应用开发人员的要求太高:需要熟悉分布式协议(需要熟悉分布式协议(需要熟悉分布式协议(需要熟悉分布式协议(IIOPIIOP、IIOPSIIOPS、HTTPHTTP、HTTPSHTTPS、CGICGI、ISAPIISAPI、NSAPINSAPI),进行一致性事务处理,负载平衡,进行一致性事务处理,负载平衡,进行一致性事务处理,负载平衡,进行一致性事务处理,负载平衡,考虑安全性考虑安全性考虑安全性考虑安全性N层计算模式的引入层计算模式的引入2、Web应用程序模型(二)从1层到N层,得到的改进:N层142、Web应用程序模型(三)应用程序模型(三)n n应用程序各部分之间松耦合,从而应用程序各应用程序各部分之间松耦合,从而应用程序各应用程序各部分之间松耦合,从而应用程序各应用程序各部分之间松耦合,从而应用程序各部分的更新相互独立部分的更新相互独立部分的更新相互独立部分的更新相互独立n n业务逻辑集中放在服务器上由所有用户共享,业务逻辑集中放在服务器上由所有用户共享,业务逻辑集中放在服务器上由所有用户共享,业务逻辑集中放在服务器上由所有用户共享,使得系统的维护和更新变得简单,也更安全使得系统的维护和更新变得简单,也更安全使得系统的维护和更新变得简单,也更安全使得系统的维护和更新变得简单,也更安全n n数据库不再和每一个活动的用户保持一个连接,数据库不再和每一个活动的用户保持一个连接,数据库不再和每一个活动的用户保持一个连接,数据库不再和每一个活动的用户保持一个连接,而是由应用程序组件负责与数据库打交道,降而是由应用程序组件负责与数据库打交道,降而是由应用程序组件负责与数据库打交道,降而是由应用程序组件负责与数据库打交道,降低数据库服务器的负担,提高了性能低数据库服务器的负担,提高了性能低数据库服务器的负担,提高了性能低数据库服务器的负担,提高了性能多层应用程序的真正优点多层应用程序的真正优点2、Web应用程序模型(三)应用程序各部分之间松耦合,从而15一、J2EE的由来的由来1、传统应用程序模型2、Web应用程序模型3、为什么需要为什么需要J2EE 4、什么是J2EE一、J2EE的由来1、传统应用程序模型163、为什么需要、为什么需要J2EE在企业级应用开发中所面临的而且必须解决的问题:在企业级应用开发中所面临的而且必须解决的问题:在企业级应用开发中所面临的而且必须解决的问题:在企业级应用开发中所面临的而且必须解决的问题:n n分布式分布式分布式分布式n n可移植可移植可移植可移植n n旧系统集成支持旧系统集成支持旧系统集成支持旧系统集成支持n n面向面向面向面向WebWebn n可装配可装配可装配可装配n n满足企业计算要求满足企业计算要求满足企业计算要求满足企业计算要求n n一致性一致性一致性一致性n n事务性事务性事务性事务性n n安全性安全性安全性安全性n n要有好的特性要有好的特性要有好的特性要有好的特性n n可伸缩可伸缩可伸缩可伸缩n n可扩展可扩展可扩展可扩展n n易维护易维护易维护易维护3、为什么需要J2EE在企业级应用开发中所面临的而且必须解决173、为什么需要、为什么需要J2EE企业级软件概述企业级软件概述n n“企业企业企业企业”是指一个为了实现某个共同目的而在一起工作的人或是指一个为了实现某个共同目的而在一起工作的人或是指一个为了实现某个共同目的而在一起工作的人或是指一个为了实现某个共同目的而在一起工作的人或实体的组织。这些组织的形式和大小并不限定,有大有小、实体的组织。这些组织的形式和大小并不限定,有大有小、实体的组织。这些组织的形式和大小并不限定,有大有小、实体的组织。这些组织的形式和大小并不限定,有大有小、是盈利性的或非营利性的、可能是政府机关也可能是非政府是盈利性的或非营利性的、可能是政府机关也可能是非政府是盈利性的或非营利性的、可能是政府机关也可能是非政府是盈利性的或非营利性的、可能是政府机关也可能是非政府机构。机构。机构。机构。n n一般使用术语一般使用术语一般使用术语一般使用术语“企业企业企业企业”时,极有可能指的就是大型营利性组织,时,极有可能指的就是大型营利性组织,时,极有可能指的就是大型营利性组织,时,极有可能指的就是大型营利性组织,如如如如IntelIntel、GEGE、Wal-MartWal-Mart、摩根银行或、摩根银行或、摩根银行或、摩根银行或eBayeBay等等。等等。等等。等等。n n企业通常都有一些共同的需求,例如信息共享与处理、资产企业通常都有一些共同的需求,例如信息共享与处理、资产企业通常都有一些共同的需求,例如信息共享与处理、资产企业通常都有一些共同的需求,例如信息共享与处理、资产管理与跟踪、资源规划、客户机用户管理、商业机密保护等管理与跟踪、资源规划、客户机用户管理、商业机密保护等管理与跟踪、资源规划、客户机用户管理、商业机密保护等管理与跟踪、资源规划、客户机用户管理、商业机密保护等等。等。等。等。n n而术语而术语而术语而术语“企业软件企业软件企业软件企业软件”就是能够支持企业共同需求的这类软件的就是能够支持企业共同需求的这类软件的就是能够支持企业共同需求的这类软件的就是能够支持企业共同需求的这类软件的总称。总称。总称。总称。3、为什么需要J2EE企业级软件概述183、为什么需要、为什么需要J2EE企业软件和基于组件的软件企业软件和基于组件的软件n n在软件开发过程中,出现面向对象开发软件的方法在软件开发过程中,出现面向对象开发软件的方法在软件开发过程中,出现面向对象开发软件的方法在软件开发过程中,出现面向对象开发软件的方法后,可以实现代码重用,但只能部分实现,原因之后,可以实现代码重用,但只能部分实现,原因之后,可以实现代码重用,但只能部分实现,原因之后,可以实现代码重用,但只能部分实现,原因之一是对象都细粒度化,造成对象间紧密耦合状态,一是对象都细粒度化,造成对象间紧密耦合状态,一是对象都细粒度化,造成对象间紧密耦合状态,一是对象都细粒度化,造成对象间紧密耦合状态,从而使得大范围的重用变得很困难。从而使得大范围的重用变得很困难。从而使得大范围的重用变得很困难。从而使得大范围的重用变得很困难。n n解决问题的方法是设计软件组件。与对象不同,软解决问题的方法是设计软件组件。与对象不同,软解决问题的方法是设计软件组件。与对象不同,软解决问题的方法是设计软件组件。与对象不同,软件组件是在更高的抽象级别中设计的,可以提供一件组件是在更高的抽象级别中设计的,可以提供一件组件是在更高的抽象级别中设计的,可以提供一件组件是在更高的抽象级别中设计的,可以提供一个完整的功能或服务。组件间的耦合更为松散。利个完整的功能或服务。组件间的耦合更为松散。利个完整的功能或服务。组件间的耦合更为松散。利个完整的功能或服务。组件间的耦合更为松散。利用组件的接口,可以将组件迅速组合在一起构建更用组件的接口,可以将组件迅速组合在一起构建更用组件的接口,可以将组件迅速组合在一起构建更用组件的接口,可以将组件迅速组合在一起构建更大的应用程序,这样所用的成本也比较合算。大的应用程序,这样所用的成本也比较合算。大的应用程序,这样所用的成本也比较合算。大的应用程序,这样所用的成本也比较合算。3、为什么需要J2EE企业软件和基于组件的软件193、为什么需要、为什么需要J2EE J2EE提供了一套完整的解决所有这些提供了一套完整的解决所有这些问题的框架方案:问题的框架方案:n n提供了分布式、可移植组件的框架提供了分布式、可移植组件的框架提供了分布式、可移植组件的框架提供了分布式、可移植组件的框架n n为组件与应用服务器提供标准为组件与应用服务器提供标准为组件与应用服务器提供标准为组件与应用服务器提供标准API(API(应用编程接口应用编程接口应用编程接口应用编程接口Application Programming Interface)Application Programming Interface)n n简化了服务器端中间层组件的设计简化了服务器端中间层组件的设计简化了服务器端中间层组件的设计简化了服务器端中间层组件的设计3、为什么需要J2EE J2EE提供了一套完整203、为什么需要、为什么需要J2EEJ2EE对开发者和用户来说意味着对开发者和用户来说意味着:n n更短的开发时间更短的开发时间n n可重用组件可重用组件可重用组件可重用组件n nJSPJSP(Java Server PagesJava Server Pages)n nEJBEJB(Enterprise JavaBeansEnterprise JavaBeans)n n更简化的连接更简化的连接n nXMLXML,JDBCJDBC,RMI-IIOPRMI-IIOP3、为什么需要J2EEJ2EE对开发者和用户来说意味着:21一、J2EE的由来的由来1、传统应用程序模型2、Web应用程序模型3、为什么需要J2EE4、什么是什么是J2EE 一、J2EE的由来1、传统应用程序模型224、什么是、什么是J2EEn nOpen and standard based platform for developing,deploying and managing n-tier,Web-enabled,server-centric enterprise applicationsn n开放的、基于标准的平台,用以开发、部开放的、基于标准的平台,用以开发、部署和管理署和管理N层结构、面向层结构、面向Web的,以服务器的,以服务器为中心的企业级应用为中心的企业级应用4、什么是J2EEOpen and standard ba23内内 容容 一、一、J2EE的由来二、二、J2EE的组成的组成 内 容 一、J2EE的由来24二、J2EE的组成的组成1、What is Java 2 Platform 2、J2EE的体系结构 3、J2EE架构及核心技术简介 二、J2EE的组成1、What is Java 2 Pla251、What is Java 2 PlatformJava的版本历史:的版本历史:从一种语言发展为从一种语言发展为一种平台一种平台n nJava的前身是一种与平台无关的语言的前身是一种与平台无关的语言“OaK”,诞生于诞生于1991年年Sun公司的一个研究项公司的一个研究项目,最初目的是为了应用于消费类电子设备目,最初目的是为了应用于消费类电子设备的开发;的开发;n n1994年年Internet开始起步,开始起步,1995年年NetScape宣宣布把布把Java集成到其浏览器中,可执行的集成到其浏览器中,可执行的Java代码可以以代码可以以Applet的形式在浏览器中运行,的形式在浏览器中运行,Java开始流行。开始流行。1、What is Java 2 PlatformJava261、What is Java 2 PlatformJava的版本历史:的版本历史:从一种语言发展为从一种语言发展为一种平台一种平台n nSun公司公司1996年年1月发布月发布JDK(Java Development Kits)1.0,1997年年2月发布月发布JDK1.1,Java开始在企业中应用。开始在企业中应用。n n1998年年12月发布月发布JDK1.2,即,即Java 2 平台,并平台,并于于1999年年6月经集成重组后重新发布。月经集成重组后重新发布。n n目前目前J2SE的最高版本为的最高版本为1.4。1、What is Java 2 PlatformJava271、What is Java 2 Platform目前主要的目前主要的Java平台及特点如下:平台及特点如下:n nJ2MEJ2ME-Java 2 Micro Edition:-Java 2 Micro Edition:用于创建嵌入式应用用于创建嵌入式应用用于创建嵌入式应用用于创建嵌入式应用程序的程序的程序的程序的JavaJava平台平台平台平台(如如如如移动电话、移动电话、移动电话、移动电话、PDAPDA、信息家电等、信息家电等、信息家电等、信息家电等)。n nJ2SEJ2SE-Java 2 Standard Edition:-Java 2 Standard Edition:用于创建典型的桌用于创建典型的桌用于创建典型的桌用于创建典型的桌面与工作站应用的面与工作站应用的面与工作站应用的面与工作站应用的JavaJava平台。平台。平台。平台。n nJ2EEJ2EE-Java 2 Enterprise Edition:-Java 2 Enterprise Edition:用于创建可扩缩的用于创建可扩缩的用于创建可扩缩的用于创建可扩缩的企业应用的企业应用的企业应用的企业应用的JavaJava平台。平台。平台。平台。J2EEJ2EE运行在运行在运行在运行在J2SEJ2SE之上。之上。之上。之上。1、What is Java 2 Platform281、What is Java 2 PlatformJ2EEJ2EE规范规范规范规范n nJ2EEJ2EE是是是是SUNSUN公司定义的一个开发分布式企业级应用公司定义的一个开发分布式企业级应用公司定义的一个开发分布式企业级应用公司定义的一个开发分布式企业级应用的规范。它提供了一个多层次的分布式应用模型和的规范。它提供了一个多层次的分布式应用模型和的规范。它提供了一个多层次的分布式应用模型和的规范。它提供了一个多层次的分布式应用模型和一系列开发技术规范。一系列开发技术规范。一系列开发技术规范。一系列开发技术规范。n n多层次分布式应用模型是指根据功能把应用逻辑分多层次分布式应用模型是指根据功能把应用逻辑分多层次分布式应用模型是指根据功能把应用逻辑分多层次分布式应用模型是指根据功能把应用逻辑分成多个层次,每个层次支持相应的成多个层次,每个层次支持相应的成多个层次,每个层次支持相应的成多个层次,每个层次支持相应的服务器服务器服务器服务器和和和和组件组件组件组件,组件在分布式服务器的组件组件在分布式服务器的组件组件在分布式服务器的组件组件在分布式服务器的组件容器容器容器容器中运行(如中运行(如中运行(如中运行(如ServletServlet组件在组件在组件在组件在ServletServlet容器上运行,容器上运行,容器上运行,容器上运行,EJBEJB组件在组件在组件在组件在EJBEJB容器上容器上容器上容器上运行),容器间通过相关的协议进行通讯,实现组运行),容器间通过相关的协议进行通讯,实现组运行),容器间通过相关的协议进行通讯,实现组运行),容器间通过相关的协议进行通讯,实现组件间的相互调用。件间的相互调用。件间的相互调用。件间的相互调用。n n遵从这个规范的开发者将得到行业的广泛支持,使遵从这个规范的开发者将得到行业的广泛支持,使遵从这个规范的开发者将得到行业的广泛支持,使遵从这个规范的开发者将得到行业的广泛支持,使企业级应用的开发变得简单、快速。企业级应用的开发变得简单、快速。企业级应用的开发变得简单、快速。企业级应用的开发变得简单、快速。1、What is Java 2 Platform29二、J2EE的组成的组成1、What is Java 2 Platform2、J2EE的体系结构的体系结构 3、J2EE架构及核心技术简介 二、J2EE的组成1、What is Java 2 Pla302、J2EE的体系结构的体系结构 J2EE体系结构是一个多层的、端到端的解体系结构是一个多层的、端到端的解决方案,这个系统结构横跨客户层到表示层、决方案,这个系统结构横跨客户层到表示层、业务层,最终到达企业信息系统层(业务层,最终到达企业信息系统层(EIS)。)。2、J2EE的体系结构 J2EE体系结构是一312、J2EE的体系结构的体系结构 n n客户层(客户层(客户层(客户层(Client TierClient Tier)通常是一台桌面计算机,通常是一台桌面计算机,通常是一台桌面计算机,通常是一台桌面计算机,客户可以使用客户可以使用客户可以使用客户可以使用GUIGUI与应用程序进行交互。与应用程序进行交互。与应用程序进行交互。与应用程序进行交互。n n中间层(中间层(中间层(中间层(Middle TierMiddle Tier)由表示层和业务层组成,由表示层和业务层组成,由表示层和业务层组成,由表示层和业务层组成,通常由一个或者多个通常由一个或者多个通常由一个或者多个通常由一个或者多个WebWeb服务器和应用服务器组成。服务器和应用服务器组成。服务器和应用服务器组成。服务器和应用服务器组成。应用服务器处理客户的请求,执行复杂的表示形式和应用服务器处理客户的请求,执行复杂的表示形式和应用服务器处理客户的请求,执行复杂的表示形式和应用服务器处理客户的请求,执行复杂的表示形式和业务逻辑,然后将结果返回给客户层。业务逻辑,然后将结果返回给客户层。业务逻辑,然后将结果返回给客户层。业务逻辑,然后将结果返回给客户层。n n企业信息系统层(企业信息系统层(企业信息系统层(企业信息系统层(Enterprise Information System,EIS)也称为数据层,是驻留业务数也称为数据层,是驻留业务数也称为数据层,是驻留业务数也称为数据层,是驻留业务数据的地方。在处理业务逻辑时,由中间层访问据的地方。在处理业务逻辑时,由中间层访问据的地方。在处理业务逻辑时,由中间层访问据的地方。在处理业务逻辑时,由中间层访问EISEIS层。层。层。层。2、J2EE的体系结构 客户层(Client Tier)32二、J2EE的组成的组成1、What is Java 2 Platform2、J2EE的体系结构3、J2EE架构及核心技术简介架构及核心技术简介 二、J2EE的组成1、What is Java 2 Pla333、J2EE架构及核心技术简介架构及核心技术简介n nJ2EEJ2EE架构:架构:3、J2EE架构及核心技术简介J2EE架构:343、J2EE架构及核心技术简介架构及核心技术简介n nJ2EEJ2EE应用程序构成:应用程序构成:应用程序构成:应用程序构成:J2EE J2EE技术提供了一个基于组件的方法来设计、技术提供了一个基于组件的方法来设计、技术提供了一个基于组件的方法来设计、技术提供了一个基于组件的方法来设计、开发、装配和部署企业级应用程序。开发、装配和部署企业级应用程序。开发、装配和部署企业级应用程序。开发、装配和部署企业级应用程序。一个一个一个一个J2EEJ2EE应用程序可能包含一个或多个应用程序可能包含一个或多个应用程序可能包含一个或多个应用程序可能包含一个或多个EJBEJB组件、组件、组件、组件、WebWeb组件,或应用程序客户端组件。组件,或应用程序客户端组件。组件,或应用程序客户端组件。组件,或应用程序客户端组件。组件技术:组件技术:组件技术:组件技术:n n组件组件组件组件(component)(component)是一个应用程序级的软件单元。是一个应用程序级的软件单元。是一个应用程序级的软件单元。是一个应用程序级的软件单元。n nJ2EEJ2EE组件:组件:组件:组件:n n客户端组件客户端组件客户端组件客户端组件 :客户端应用程序和:客户端应用程序和:客户端应用程序和:客户端应用程序和Applet Applet n n服务器端服务器端服务器端服务器端WebWeb组件组件组件组件 :Java ServletJava Servlet和和和和JSP JSP n n服务器端的商业组件服务器端的商业组件服务器端的商业组件服务器端的商业组件 :Enterprise JavaBeansEnterprise JavaBeans3、J2EE架构及核心技术简介J2EE应用程序构成:组件技353、J2EE架构及核心技术简介架构及核心技术简介J2EE容器容器n n容器是一种运行在服务器上的软件实体,用于管理容器是一种运行在服务器上的软件实体,用于管理容器是一种运行在服务器上的软件实体,用于管理容器是一种运行在服务器上的软件实体,用于管理特定类型的组件。为开发的特定类型的组件。为开发的特定类型的组件。为开发的特定类型的组件。为开发的J2EEJ2EE组件提供了执行环境。组件提供了执行环境。组件提供了执行环境。组件提供了执行环境。通过容器,通过容器,通过容器,通过容器,J2EE J2EE体系结构就能在开发和部署间提供体系结构就能在开发和部署间提供体系结构就能在开发和部署间提供体系结构就能在开发和部署间提供无关性,并在不同类型的中间层服务器间提供可移植无关性,并在不同类型的中间层服务器间提供可移植无关性,并在不同类型的中间层服务器间提供可移植无关性,并在不同类型的中间层服务器间提供可移植性。性。性。性。n n容器还负责管理部署在其中的组件的生命周期,及容器还负责管理部署在其中的组件的生命周期,及容器还负责管理部署在其中的组件的生命周期,及容器还负责管理部署在其中的组件的生命周期,及诸如资源汇集和强制执行安全之类的工作。诸如资源汇集和强制执行安全之类的工作。诸如资源汇集和强制执行安全之类的工作。诸如资源汇集和强制执行安全之类的工作。n n依赖于容器的类型,还可以访问一些或全部依赖于容器的类型,还可以访问一些或全部依赖于容器的类型,还可以访问一些或全部依赖于容器的类型,还可以访问一些或全部J2EE J2EE APIAPIn n所有的所有的所有的所有的J2EEJ2EE组件都部署于容器中并在容器中执行。组件都部署于容器中并在容器中执行。组件都部署于容器中并在容器中执行。组件都部署于容器中并在容器中执行。3、J2EE架构及核心技术简介J2EE容器363、J2EE架构及核心技术简介架构及核心技术简介J2EE容器类型容器类型:n n应用程序容器:管理独立的应用程序容器:管理独立的应用程序容器:管理独立的应用程序容器:管理独立的javajava应用程序应用程序应用程序应用程序n nAppletApplet容器:为容器:为容器:为容器:为AppletApplet提供一个执行环境提供一个执行环境提供一个执行环境提供一个执行环境n nWebWeb容器:管理容器:管理容器:管理容器:管理WebWeb组件(组件(组件(组件(JSP JSP页面和页面和页面和页面和ServletServlet组件)组件)组件)组件)n n企业级容器:管理企业级容器:管理企业级容器:管理企业级容器:管理EJBEJB组件组件组件组件3、J2EE架构及核心技术简介J2EE容器类型:373、J2EE架构及核心技术简介架构及核心技术简介J2EE服务器和容器服务器和容器n n部署时会将部署时会将部署时会将部署时会将J2EEJ2EE应用程序组件安装到应用程序组件安装到应用程序组件安装到应用程序组件安装到J2EEJ2EE容器中,容器中,容器中,容器中,如图如图如图如图11.211.2所示。所示。所示。所示。3、J2EE架构及核心技术简介J2EE服务器和容器383、J2EE架构及核心技术简介架构及核心技术简介J2EE服务器和容器服务器和容器n nJ2EEJ2EE服务器是服务器是服务器是服务器是J2EEJ2EE产品的运行部分,它提供产品的运行部分,它提供产品的运行部分,它提供产品的运行部分,它提供EJBEJB容器和容器和容器和容器和WebWeb容器。容器。容器。容器。3、J2EE架构及核心技术简介J2EE服务器和容器393、J2EE架构及核心技术简介架构及核心技术简介J2EE应用组件应用组件3、J2EE架构及核心技术简介J2EE应用组件403、J2EE架构及核心技术简介架构及核心技术简介3、J2EE架构及核心技术简介413、J2EE架构及核心技术简介架构及核心技术简介n nJ2EEJ2EE容器和组件:容器和组件:容器处理容器处理组件处理组件处理分布性分布性可伸缩性可伸缩性可用性可用性事务性事务性安全性安全性 生命周期管理生命周期管理表示表示JSP,Servlet,Applet业务逻辑业务逻辑EJB数据访问逻辑数据访问逻辑EJB3、J2EE架构及核心技术简介J2EE容器和组件:容器处理423、J2EE架构及核心技术简介架构及核心技术简介n nJ2EEJ2EE核心技术:核心技术:13种种 EJB、CORBA、RMI、JSP、Java Servlet、JavaBean、JDBC XML、JMS3、J2EE架构及核心技术简介J2EE核心技术:13种433、J2EE架构及核心技术简介架构及核心技术简介EJB J2EE的基石:的基石:n nEJB(Enterprise JavaBeans)EJB(Enterprise JavaBeans):n nEJBEJB不是一个具体的产品,而是一个不是一个具体的产品,而是一个不是一个具体的产品,而是一个不是一个具体的产品,而是一个JavaJava服务器端组件开服务器端组件开服务器端组件开服务器端组件开发的规范,软件厂商根据它来实现发的规范,软件厂商根据它来实现发的规范,软件厂商根据它来实现发的规范,软件厂商根据它来实现EJBEJB服务器。服务器。服务器。服务器。n n使用使用使用使用EJBEJB,JavaJava程序员可以将一些定义明确的程序块组合程序员可以将一些定义明确的程序块组合程序员可以将一些定义明确的程序块组合程序员可以将一些定义明确的程序块组合到一起,从而方便、快捷地建构分布式应用程序。到一起,从而方便、快捷地建构分布式应用程序。到一起,从而方便、快捷地建构分布式应用程序。到一起,从而方便、快捷地建构分布式应用程序。n n使用使用使用使用EJBEJB可以使整个程序分块明确,并且可以使整个程序分块明确,并且可以使整个程序分块明确,并且可以使整个程序分块明确,并且EJBEJB可以使用其可以使用其可以使用其可以使用其它它它它EJBEJB或或或或JDBCJDBC等服务,从而增强了分布式应用程序的可等服务,从而增强了分布式应用程序的可等服务,从而增强了分布式应用程序的可等服务,从而增强了分布式应用程序的可扩展性和性能;扩展性和性能;扩展性和性能;扩展性和性能;n nEJBEJB规范在简化分布式应用程序开发复杂性方面做了大量规范在简化分布式应用程序开发复杂性方面做了大量规范在简化分布式应用程序开发复杂性方面做了大量规范在简化分布式应用程序开发复杂性方面做了大量的工作,所以的工作,所以的工作,所以的工作,所以EJBEJB程序员不必太担心事务处理、多线程、程序员不必太担心事务处理、多线程、程序员不必太担心事务处理、多线程、程序员不必太担心事务处理、多线程、资源管理等方面的问题,可以专注于支持应用所需的商业资源管理等方面的问题,可以专注于支持应用所需的商业资源管理等方面的问题,可以专注于支持应用所需的商业资源管理等方面的问题,可以专注于支持应用所需的商业逻辑,而不用担心周围框架的实现问题。逻辑,而不用担心周围框架的实现问题。逻辑,而不用担心周围框架的实现问题。逻辑,而不用担心周围框架的实现问题。n nEJBEJB的使用增强了整个系统程序的可靠性、可管理性和可的使用增强了整个系统程序的可靠性、可管理性和可的使用增强了整个系统程序的可靠性、可管理性和可的使用增强了整个系统程序的可靠性、可管理性和可移植性。移植性。移植性。移植性。3、J2EE架构及核心技术简介EJB J2EE的基石:443、J2EE架构及核心技术简介架构及核心技术简介EJB J2EE的基石:n nEJBEJB容器是:容器是:EJB EJB的运行环境的运行环境。它提供规范中定义的接口,使。它提供规范中定义的接口,使EJBEJB类访问所需的服类访问所需的服务。容器厂商也可以在容器或服务器中提供额外服务的接口。务。容器厂商也可以在容器或服务器中提供额外服务的接口。它的责任它的责任包括:包括:3、J2EE架构及核心技术简介EJB J2EE的基石:453、J2EE架构及核心技术简介架构及核心技术简介EJB J2EE的基石:的基石:n nEJBEJB服务器是:服务器是:服务器是:服务器是:管理管理管理管理EJBEJB容器的高端进程或应用程序,并提供容器的高端进程或应用程序,并提供容器的高端进程或应用程序,并提供容器的高端进程或应用程序,并提供对系统服务的访问。对系统服务的访问。对系统服务的访问。对系统服务的访问。EJBEJB服务器也可以提供厂商自己服务器也可以提供厂商自己服务器也可以提供厂商自己服务器也可以提供厂商自己的特性,如优化的数据库访问接口,对其他服务的特性,如优化的数据库访问接口,对其他服务的特性,如优化的数据库访问接口,对其他服务的特性,如优化的数据库访问接口,对其他服务(如(如(如(如CORBACORBA服务)的访问。一个服务)的访问。一个服务)的访问。一个服务)的访问。一个EJBEJB服务器必须提服务器必须提服务器必须提服务器必须提供支持对供支持对供支持对供支持对JNDIJNDI的名字服务和的名字服务和的名字服务和的名字服务和TSTSTSTS事务服务的可访问。事务服务的可访问。事务服务的可访问。事务服务的可访问。n nEJBEJB分为两种:分为两种:分为两种:分为两种:会话会话会话会话EJBEJB和实体和实体和实体和实体EJBEJB,会话,会话,会话,会话EJBEJB向客户提供一定向客户提供一定向客户提供一定向客户提供一定的服务,如:特定的商业逻辑、数据库查询等;而的服务,如:特定的商业逻辑、数据库查询等;而的服务,如:特定的商业逻辑、数据库查询等;而的服务,如:特定的商业逻辑、数据库查询等;而实体实体实体实体EJBEJB则代表数据对象,通常代表的是数据表记录则代表数据对象,通常代表的是数据表记录则代表数据对象,通常代表的是数据表记录则代表数据对象,通常代表的是数据表记录集的一行,一个实体集的一行,一个实体集的一行,一个实体集的一行,一个实体EJBEJB可以同时与多个客户进行交可以同时与多个客户进行交可以同时与多个客户进行交可以同时与多个客户进行交互。互。互。互。3、J2EE架构及核心技术简介EJB J2EE的基石:463、J2EE架构及核心技术简介架构及核心技术简介n nJ2EEJ2EE核心技术:核心技术:EJB、CORBA、RMI、JSP、Java Servlet、JavaBean、JDBC、XML、JMS3、J2EE架构及核心技术简介J2EE核心技术:473、J2EE架构及核心技术简介架构及核心技术简介CORBA体系结构:核心ORB3、J2EE架构及核心技术简介CORBA体系结构:核心O483、J2EE架构及核心技术简介架构及核心技术简介CORBA技术:技术:n nCORBACORBA(Common Object Request Broker Common Object Request Broker ArchitectureArchitecture)是一个分布式对象体系结构,它独立)是一个分布式对象体系结构,它独立)是一个分布式对象体系结构,它独立)是一个分布式对象体系结构,它独立于平台,也独立于语言。于平台,也独立于语言。于平台,也独立于语言。于平台,也独立于语言。n n在这个体系结构中,一个对象可以被本机上的客户在这个体系结构中,一个对象可以被本机上的客户在这个体系结构中,一个对象可以被本机上的客户在这个体系结构中,一个对象可以被本机上的客户或远程客户通过方法激活来存取。客户(一个对象或远程客户通过方法激活来存取。客户(一个对象或远程客户通过方法激活来存取。客户(一个对象或远程客户通过方法激活来存取。客户(一个对象或应用)无须知道被调用对象(称为服务对象)的或应用)无须知道被调用对象(称为服务对象)的或应用)无须知道被调用对象(称为服务对象)的或应用)无须知道被调用对象(称为服务对象)的运行环境,也无须知道实现这个对象的编程语言,运行环境,也无须知道实现这个对象的编程语言,运行环境,也无须知道实现这个对象的编程语言,运行环境,也无须知道实现这个对象的编程语言,客户只要知道服务对象的逻辑地址和提供的接口。客户只要知道服务对象的逻辑地址和提供的接口。客户只要知道服务对象的逻辑地址和提供的接口。客户只要知道服务对象的逻辑地址和提供的接口。n n这种互操作性的关键是这种互操作性的关键是这种互操作性的关键是这种互操作性的关键是IDLIDL(Interface Definition Interface Definition LanguageLanguage,接口定义语言),接口定义语言),接口定义语言),接口定义语言),IDLIDL说明对象接口中说明对象接口中说明对象接口中说明对象接口中的方法,这些方法可以被其它对象(或应用)激活。的方法,这些方法可以被其它对象(或应用)激活。的方法,这些方法可以被其它对象(或应用)激活。的方法,这些方法可以被其它对象(或应用)激活。3、J2EE架构及核心技术简介CORBA技术:493、J2EE架构及核心技术简介架构及核心技术简介n nJ2EEJ2EE核心技术:核心技术:EJB、CORBA、RMI、JSP、Java Servlet、JavaBean、JDBC、XML、JMS3、J2EE架构及核心技术简介J2EE核心技术:503、J2EE架构及核心技术简介架构及核心技术简介RMI技术:技术:n nRMI(Remote Method Invoke)RMI(Remote Method Invoke)是一种被是一种被是一种被是一种被EJBEJB使用的更底层的协议,正如其使用的更底层的协议,正如其使用的更底层的协议,正如其使用的更底层的协议,正如其名字所表示的那样,名字所表示的那样,名字所表示的那样,名字所表示的那样,RMIRMI协议调用远程对象上的方法,使用序列化方式协议调用远程对象上的方法,使用序列化方式协议调用远程对象上的方法,使用序列化方式协议调用远程对象上的方法,使用序列化方式在客户端和服务器端的对象之间传递数据。在客户端和服务器端的对象之间传递数据。在客户端和服务器端的对象之间传递数据。在客户端和服务器端的对象之间传递数据。RMI和和CORBA相比:相比:n n两者的关键差别在于语言环境,两者的关键差别在于语言环境,两者的关键差别在于语言环境,两者的关键差别在于语言环境,Java RMIJava RMI是一个分布式对象计算的纯是一个分布式对象计算的纯是一个分布式对象计算的纯是一个分布式对象计算的纯JavaJava解决方案解决方案解决方案解决方案(如,在如,在如,在如,在Java RMIJava RMI中,对象的接口用中,对象的接口用中,对象的接口用中,对象的接口用JavaJava定义,而不是用定义,而不是用定义,而不是用定义,而不是用IDL)IDL);n n其次,其次,其次,其次,CORBACORBA没有定义安全服务,而没有定义安全服务,而没有定义安全服务,而没有定义安全服务,而Java RMIJava RMI继承了继承了继承了继承了JavaJava的安全性;的安全性;的安全性;的安全性;n n再者,再者,再者,再者,CORBACORBA有不同的实现,不同的独立软件开发商的不同实现均有独有不同的实现,不同的独立软件开发商的不同实现均有独有不同的实现,不同的独立软件开发商的不同实现均有独有不同的实现,不同的独立软件开发商的不同实现均有独特性,这使得在不同平台上的匹配比较困难,而且不是所有特性,这使得在不同平台上的匹配比较困难,而且不是所有特性,这使得在不同平台上的匹配比较困难,而且不是所有特性,这使得在不同平台上的匹配比较困难,而且不是所有CORBACORBA产品产品产品产品开发商都支持所有平台,而几乎所有平台都支持开发商都支持所有平台,而几乎所有平台都支持开发商都支持所有平台,而几乎所有平台都支持开发商都支持所有平台,而几乎所有平台都支持JavaJava虚拟机,因此虚拟机,因此虚拟机,因此虚拟机,因此Java Java RMIRMI具有更高的可移植性。如果客户对象和服务对象都基于具有更高的可移植性。如果客户对象和服务对象都基于具有更高的可移植性。如果客户对象和服务对象都基于具有更高的可移植性。如果客户对象和服务对象都基于JavaJava虚拟机,虚拟机,虚拟机,虚拟机,那么那么那么那么Java RMIJava RMI是分布对象计算的最好选择。是分布对象计算的最好选择。是分布对象计算的最好选择。是分布对象计算的最好选择。n n最后,最后,最后,最后,IIOPIIOP(Internet Inter-ORB ProtocolInternet Inter-ORB Protocol,InternetInternet内部内部内部内部ORBORB协议)已协议)已协议)已协议)已经提供了经提供了经提供了经提供了Java RMIJava RMI和和和和CORBACORBA的互操作能力,而且两者的发展有互相借鉴的互操作能力,而且两者的发展有互相借鉴的互操作能力,而且两者的发展有互相借鉴的互操作能力,而且两者的发展有互相借鉴的趋势。的趋势。的趋势。的趋势。3、J2EE架构及核心技术简介RMI技术:513、J2EE架构及核心技术简介架构及核心技术简介n nJ2EEJ2EE核心技术:核心技术:EJB、CORBA、RMI、JSP、Java Servlet、JavaBean、JDBC、XML、JMS3、J2EE架构及核心技术简介J2EE核心技术:523、J2EE架构及核心技术简介架构及核心技术简介JSP技术:技术:n nJSPJSP是服务器端的脚本语言,是以是服务器端的脚本语言,是以是服务器端的脚本语言,是以是服务器端的脚本语言,是以JavaJava和和和和ServletServlet为基础开发而为基础开发而为基础开发而为基础开发而成的动态网页生成技术,它的底层实现是成的动态网页生成技术,它的底层实现是成的动态网页生成技术,它的底层实现是成的动态网页生成技术,它的底层实现是Java ServletJava Servlet。n nJSP(Java Server Pages)JSP(Java Server Pages)页面由页面由页面由页面由HTMLHTML代码和嵌入其中的代码和嵌入其中的代码和嵌入其中的代码和嵌入其中的JavaJava代码所组成。服务器在页面被客户端所请求以后对这些代码所组成。服务器在页面被客户端所请求以后对这些代码所组成。服务器在页面被客户端所请求以后对这些代码所组成。服务器在页面被客户端所请求以后对这些JavaJava代码进行处理,然后将生成的代码进行处理,然后将生成的代码进行处理,然后将生成的代码进行处理,然后将生成的HTMLHTML页面返回给客户端的浏页面返回给客户端的浏页面返回给客户端的浏页面返回给客户端的浏览器。览器。览器。览器。n n特点:面向对象
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!