Presentation is loading. Please wait.

Presentation is loading. Please wait.

 背景  基本概念  组成  系统构架  现状与展望  J2EE 开发环境 第十二讲 J2EE 简介.

Similar presentations


Presentation on theme: " 背景  基本概念  组成  系统构架  现状与展望  J2EE 开发环境 第十二讲 J2EE 简介."— Presentation transcript:

1  背景  基本概念  组成  系统构架  现状与展望  J2EE 开发环境 第十二讲 J2EE 简介

2 J2EE 简介 —— 背景

3 在企业级应用开发中所面临的而且必须解决 的问题: 分布式 可移植 面向 Web 体系 可装配 ( 螺丝刀 ) 能满足企业计算要求 一致性 事务性 安全性 还要有好的特性 可伸缩 可扩展 易维护 J2EE 简介 —— 背景

4 J2EE 提供了一套完整的解决所有这些问题的 框架方案: 提供了分布式、可移植构件的框架 简化了服务器端中间层构件的设计(多层次) 为构件与应用服务器提供标准 API 获得了业界的广泛支持 J2EE 简介 —— 背景

5 J2EE 简介 —— 基本概念 Java2 Platform

6 J2EE 是开放的、基于标准的平台,用以开发、部 署和管理 N 层结构、面向 Web 的,以服务器为中心 的企业级应用( Open and standard based platform for developing, deploying and managing n-tier, Web- enabled, server-centric enterprise applications )。 J2EE 简介 —— 基本概念

7 J2EE Specification J2EE Reference Implementation J2EE Compatibility Test Suite J2EE Blue Prints J2EE 简介 —— 组成

8 J2EE 简介 —— 组成  J2EE 规范:定义 J2EE 的规范,开发商按 照这个规范实现自 己的 J2EE 系统。  J2EE 参考实现: J2EE 平台的软件开发包( J2EE SDK ); J2EE 的完全实现;一组工具和运行环境;完全免费得到 ( http://java.sun.com/j2ee )。  J2EE 兼容测试包:用来测试一种应用是否符合 J2EE 的规范 。  J2EE 蓝图:提供了用于实施基于 J2EE 的多层应用的文档和 实例套件的编程模型,简化了开发基于 J2EE 的多层应用程序的 复杂性。它应被用作开发人员设计和优化组件的原则,以便从 策略上对开发工作进行分工,分配技术资源。

9 J2EE 简介 —— 系统构架 支持以组件化的方法开发、部署、管理多层结构的分布 式企业( Web )应用。 提供一种统一的、开放标准的多层平台。 组件依赖于系统级实体 —— 容器( Container )的运行时 支持。 容器提供: 生命周期管理 组件的部署 为组件的运行指派线程(构件不是独立运行的) 许多组件行为都可以在部署时以声明的方式进行定制。

10 J2EE 简介 —— 系统构架

11 应用组件 由开发人员实现,构成应用系统 运行在 J2EE 平台上 包含: 客户端构件 Applets Application Clients 服务端构件 Web 构件( Servlets, JSPs ) EJBs 服务 J2EE 应用构件所使用的功能 由 J2EE 平台提供商实现,分为: Service API (开发时使用) 运行时服务 通信 支持协作构件之间的通信 由 Container 提供 J2EE 简介 —— 系统构架

12 J2EE 简介 —— 系统构架

13 J2EE 简介 —— 系统构架 提供底层常用的 服务 Comp Services J2EE Container Comp 不需要关心底层 (复杂的)常用 服务的实现

14 J2EE 简介 —— 系统构架 每个 J2EE 构件都运行在某个特定的容器内,容器由 J2EE 平 台提供商提供。 容器为组件提供特定的开发用服务和运行时服务(如生命 周期管理、安全性管理、事务处理等) 不同类型的容器提供不同的服务,常见的 J2EE 应用服务器:  BEA WebLogic 最为流行  IBM Webphere  Oracle 9i Application Server  Sun iPlanet  Jboss 源代码开放  Aparche Tomcat  Resin Servlet/JSP 专用容器

15 J2EE 简介 —— 系统构架 客户端应用组件  Applet Java 类 图形界面( GUI )组件,一般运行在 Web 浏览器中。 在 J2EE 应用中一般用来提供用户界面。  Application Java 程序 一般具有图形用户界面。 可以直接访问 J2EE 中间层的所有服务。 可以直接调用 EJB 提供的服务。 基于浏览器的客户端只能直接访问 Web 构件的服务。

16 J2EE 简介 —— 系统构架 服务器端应用组件  Servlet Java 类 运行在服务端 不需要图形界面 接收 HTTP 请求,动态生成 HTTP 响应: Servlet 与运行于 web server 的 servlet 引擎之间通过请求和响应交互。  JSP HTML document: 嵌入了 JSP 特定的 tag 在页面中加入 Java 代码,动态生成页面的内容 在服务器端, JSP 页面被编译成 Java Servlet 执行。 Java 程序  EJB : 不是一个具体的产品,而是一个 Java 服务器端组件开发的规范,其 目的是为了定义一个用来开发面向对象分布式应用组件的标准方法,软件 厂商根据它来实现 EJB 服务器。

17 J2EE 简介 —— 系统构架 Service APIs  JNDI(Java Naming and Directory Interface) 用于在网络中查找查找 / 定 位组件或资源,支持在程序中存取带名字的 Java 对象。 JNDI 屏蔽了不同目 录服务之间的差异。 JNDI service API 是和具体的目录服务无关的。这使得 我们利用 JNDI 开发的应用可以不用修改代码而应用到不同的目录服务上。  JDBC (Java Database Connectivity) 提供与厂商无关的数据库连接,提 供一种通用的方法用来查询、更新关系型数据库表,并且把数据库操作的 结果转化成 Java 的数据类型。  JTS/JTA (Java Transaction Service/API) 支持分布式事务处理的标准 API ,与实现无关。  Java Mail API 定义了一组在程序中用来调用邮件功能的 API 。这组 API 屏 蔽了真正的邮件服务所使用的协议。 Sun 提供了一种 Java Mail API 的实现, 支持我们在应用中使用 Email 功能。  Java IDL service API 是用 Java 实现的 CORBA 规范,支持异质 (heterogeneous) 对象的连接与互操作性。

18 J2EE 简介 —— 系统构架 Run-time Services  Life cycle 主要指 EJB 的生命周期管理,由 Container 来管理运行于其中的构 件的生命周期。  Transaction  Security  Persistence  Resources : 数据库连接池,系统线程池。 Communication Services  JMS(Java Messaging Service) 定义了一组 API ,提供可靠的、异步的消息 发送和接收功能。  RMI(Remote Method Invocation) ,特定于 Java 语言,仅支持用 Java 语言 编写的对象之间进行远程交互,使用 JRMP (Java Remote Messaging Protocol) 协议通信。  RMI/IIOP ,基于 IIOP 实现的 RMI , EJB 客户端使用 RMI/IIOP 与 EJB 通信。

19 其他相关技术  CORBA (Common Object Request/Broker Architecture)  XML (eXtensible Markup Language)  Web Service  … J2EE 简介 —— 系统构架

20 J2EE 简介 —— 系统构架 开发与部署

21 开发与部署:打包( Packaging ) 组件提供者开发的组件被打包在不同的文档中 JAR - Java Archive EJBs, Application Clients WAR - Web Archive JSPs, HTML, GIF, JPG, Servlet class EAR - Enterprise Archive JARs and WARs Deployment Descriptor 打包 JAR 、 WAR 、或 EAR 都需要提供相应的 DD 。 J2EE 简介 —— 系统构架

22 开发与部署: —— 打包( Packaging ) J2EE 简介 —— 系统构架

23 开发与部署: Deployment Descriptors XML 格式的文件 用于描述: 模块中所包含的组件 模块所需要的环境(如安全性控制) 每个模块或 ear 文件都有一个 DD 。 可以由厂商提供的工具自动生成,并进行可视化 的编辑: 如 Websphere 可以手工创建和编辑 J2EE 简介 —— 系统构架

24 EJB Deployment Descriptor : ejb-jar.xml 同一 jar 文档中的所有 EJB 共享一个 DD 对于每个 EJB ,描述了 Home 接口, Remote 接口以及 Bean 实现的名字 对于 Session Beans :说明类型 对于 Entity Beans :说明持久性策略 对于 CMP :指名主键( primary key )以及由容器管理的字段 事务管理类型 如果由容器管理事务,指定 EJB 方法的事务属性 环境入口 EJB 引用 该 EJB 使用的安全性角色 Method-mapping ( 将安全性角色映射到方法上 ) J2EE 简介 —— 系统构架

25 WAR Deployment Descriptor : web.xml 定义该模块中包含的 servlets, JSP, 以及静态资源 Servlet URL pattern, class/file, attributes 安全性限制 为每个 URL 指定安全性角色可以执行的方法: GET, POST, 等 登陆配置 如何进行身份认证 EJB and Resource references 该模块使用的安全性角色 J2EE 简介 —— 系统构架

26 EAR Deployment Descriptor : application.xml 定义了 EAR 文件中包含的所有模块: EJB jars WARs Application Client jars 定义安全性角色 J2EE 简介 —— 系统构架

27 开发与部署 J2EE 的开发与部署互不相关,不互相限制。开发与部署的 分离大大提高了可重用性和可维护性,也使得软件不依赖 于具体的厂商。 开发人员一次开发的软件可以部署在不同的环境中 不同的系统资源,如数据库 不同厂商的平台上 不同事务处理、安全性控制策略的应用场合 开发与部署的分离要依赖于 J2EE 平台提供的大量的服务和 系统级特性以及 J2EE 标准的开放性。 J2EE 简介 —— 系统构架

28 J2EE 基于角色的开发 将构建整个软件系统的任务划分到不同的 角色 明确的划分任务与责任 不同的阶段有不同的关注重点,这种划分使得 每个角色仅关注他所要完成的工作 实现了开发与部署的分离... J2EE 简介 —— 系统构架

29 J2EE 规范将应用系统的生命周期映射到了 6 个角色: J2EE Product Provider Tool Provider Application Component Provider Application Assembler Deployer System Administrator 一个角色的输出经常是另一个角色的输入 如 Application Assembler 将 Application Component Provider 开发的 构件组装成应用,而 Deployer 则将 Application Assembler 组装的应 用部署到运行平台上。 同一个人(组)可能会执行两个或多个角色的任务。 一个角色的任务也可能由几个人(组)完成。 J2EE 简介 —— 系统构架

30 J2EE 简介 —— 系统构架 J2EE Product Provider 实现 J2EE 产品 API ,提供 J2EE 应用的运行环境 IBM 、 BEA 、 Sun Websphere Application Server WebLogic Application Server IPlanet J2EE Reference Implementatioin Tool Provider 提供工具支持 J2EE 平台上的任务 开发环境 WSAD Weblogic Builder JBuilder 应用组装工具 管理 / 监视工具等

31 Application Component Provider 提供组成应用的构件以及相关的 DD Application Assembler 将构件提供者提供的构件组装成应用。 Deployer 将应用安装配置到运行环境中。 System Administrator 进行配置数据的备份 配置企业级应用 进行应用统计分析和性能分析 创建服务器组和服务器克隆以优化系统性能 管理并控制应用的安全性 J2EE 简介 —— 系统构架

32 EJB Servlet and JSP Application Client EJB Module Web Module App Client Module Application Application Server EJB Container Web Container Client Container Tool Provider 提供开发 / 测试工具 Application Component Provider 利用工具实现构件 Tool Provider 提供组装工具 Application Assembler 利用工具组装应用 Deployer 安装应用 J2EE Product Provider 提供容器 System Administrator 管理 / 维护系统 开发阶段集成阶段运行 / 维护阶段 Tool Provider 提供部署工具 J2EE 简介 —— 系统构架

33 J2EE 简介 —— 应用

34 J2EE 简介 —— 应用

35 J2EE 简介 —— 应用

36 支持多层应用开发模型 将实现多层结构应用的工作分为两部分 系统服务由平台提供 开发者关注于商业逻辑和表示逻辑的实现 Write Once, Run Anywhere J2EE 是一个开放标准 Java 的特性 丰富的部署时定制特性 安全性限制 资源 明确划分任务与责任 系统可扩充性 灵活的安全性模型 J2EE 简介 —— 应用

37 J2EE 对开发者和用户的意义 J2EE 简介 —— 应用

38 J2EE 应用的现状: J2EE 是成长最快的技术应用框架,全球 87% 的新应用是由 J2EE 分布式 应用体系支撑的。最近,全球最大的 ERP 供应商 SAP 也宣布选用 J2EE 。 但在中国,由于受限于技术没有普及、开发平台复杂难用、人力资源 稀缺等因素, J2EE 应用还没有被客户完全接受,离大规模应用还有很 长的路要走。 J2EE 应用的展望: J2EE 本身是一个很好的技术, J2EE 体系结构提供中间层集成框架用来 满足没有太多费用而又需要高可用性、高可靠性以及可扩展性的应用 的需求。通过提供统一的开发平台, J2EE 降低了开发多层应用的费用 和复杂性,同时提供对现有应用程序集成强有力支持。通过技术人员、 厂商以及用户的共同努力, J2EE 一定能够成为用户进行电子商务应用 和信息化建设的首选方案。 J2EE 简介 —— 现状与展望

39 J2EE 简介 —— 开发环境 J2EE 开发环境是要建立在 J2SE 环境的基础之上的;同时, 在服务器端,还要安装服务组件的运行环境 —— 容器。  J2EE : j2sdkee-1_4_01-windows.exe  安装  增加环境变量: J2EE_HOME  设置环境变量: classpath = …;%J2EE_HOME%/lib/j2ee.jar;  容器: jakarta-tomcat-4.1.zip  安装  增加环境变量: TOMCAT_HOME  启动与关闭: %TOMCAT_HOME%/bin/  应用部署: %TOMCAT_HOME%/webapps/

40 J2EE 1.3 APIs and Technologies

41 J2EE 1.4 Contents

42 下一讲: Java Servlet  Servlet 基本概念  Servlet API  Servlet 执行过程与生命周期  容器、部署与运行


Download ppt " 背景  基本概念  组成  系统构架  现状与展望  J2EE 开发环境 第十二讲 J2EE 简介."

Similar presentations


Ads by Google