23.01.2015 Views

下载 - 技术开发频道

下载 - 技术开发频道

下载 - 技术开发频道

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

在 此 处 插 入 图 片 ><br />

使 用 Eclipse 和 Spring 进 行 Web 和 数 据 库 开 发<br />

演 讲 者 姓 名<br />

演 讲 者 职 位


演 讲 者 简 介


议 程<br />

• 简 介<br />

• 编 程 趋 势 和 开 放 源 代 码<br />

• 使 用 Eclipse 开 发<br />

• Java 持 久 性 API (JPA)<br />

• Spring/JPA 集 成<br />

• JavaServer Faces (JSF)<br />

• Eclipse 和 Oracle OC4J<br />

• OC4J、JMX 和 Spring<br />

• 结 论


简 介<br />

• 许 多 构 建 Java 应 用 程 序 的 开 发 人 员 都 利 用 开 放 源 代 码<br />

技 术 来 简 化 他 们 的 应 用 程 序 和 开 发 过 程 。<br />

• 开 发 人 员 经 常 组 合 使 用 Spring 框 架 、JavaServer<br />

Faces (JSF) 和 Java 持 久 性 API (JPA) 实 现 ( 如<br />

TopLink Essentials) 构 建 灵 活 的 可 移 植 应 用 程 序 ( 比<br />

使 用 早 期 Java 技 术 构 建 更 加 简 单 )。<br />

• Oracle 一 直 参 与 开 放 源 代 码 项 目 ( 在 某 些 项 目 中 处 于<br />

领 导 地 位 ), 为 利 用 开 放 源 代 码 开 发 Oracle 平 台 提 供<br />

一 级 支 持 。


编 程 模 型 的 发 展 趋 势<br />

< 1998<br />

1999-2004<br />

2004-<br />

2004-<br />

2005-<br />

Web/<br />

Corba/<br />

专 有 工 具<br />

Java EE 和<br />

.NET 逐 渐 成 熟<br />

受 欢 迎 的<br />

开 放 源 代 码<br />

框 架<br />

开 放 源 代 码<br />

服 务 器<br />

基 础 结 构<br />

轻 型<br />

容 器<br />

出 现<br />

PL/SQL


编 程 模 型 现 状<br />

• 混 合 体 :<br />

• 开 放 源 代 码 框 架<br />

• 轻 型 容 器<br />

• 商 业 产 品<br />

• 新 兴 的 组 合 体 :<br />

JSF<br />

POJO<br />

Spring<br />

JPA<br />

Java EE/Servlet 容 器


JPA 是 什 么 <br />

• Java 持 久 性 API (JPA) 是 对 象 - 关 系 映 射 (ORM) 的<br />

Java EE 5 标 准<br />

• JPA 吸 收 了 商 业 和 开 源 ORM 产 品 的 精 华 , 是 持 久 性<br />

供 应 商 和 社 区 共 享 专 业 知 识 的 成 果<br />

• 适 用 于 各 种 模 式<br />

• 驻 留 在 Java EE 容 器 中<br />

• 独 立 于 Java SE 环 境


JPA 实 体 示 例<br />

@Entity<br />

public class Address {<br />

@Id<br />

private int id;<br />

private String street;<br />

private String city;<br />

private String state;<br />

private String country;<br />

…<br />

}<br />

ADDRESS<br />

ID STREET 城 市 STATE COUNTRY


JSF 是 什 么 <br />

• JavaServer Faces 是 Java Web 应 用 程 序 的 用 户 界 面<br />

框 架 。<br />

• 旨 在 简 化 Java EE 5 web 应 用 程 序 开 发<br />

• Java Server Faces 是 一 个 标 准 , 同 时 也 是 一 项 包 含<br />

Java EE 5 平 台 的 技 术<br />

• JavaServer Faces 技 术 包 括<br />

• 一 组 API, 用 于 呈 现 UI 组 件 和 关 联 的 运 行 时<br />

• JavaServer Pages (JSP) 自 定 义 标 记 库 , 用 于 在 JSP 页 面 中<br />

呈 现 JavaServer Faces 界 面 。


Java EE web 层 的 发 展<br />

Servlet JSP JSF<br />

• 每 个 都 构 建 在 前 一 层 之 上<br />

• 抽 象 级 别 递 进<br />

• 更 高 级 别 的 编 程


Spring 是 什 么 <br />

• 用 于 开 发 应 用 程 序 的 轻 型 容 器<br />

• 基 于 Java 对 象 实 现 松 散 耦 合 的 最 佳 实 践 编 程 模 型 ; 简<br />

化 Java EE<br />

• 基 本 概 念 是 控 制 反 转 — 组 合 服 务 以 及 管 理 相 关 性<br />

• 业 界 的 主 流 轻 型 容 器 框 架<br />

Spring AOP<br />

Spring 数 据<br />

访 问 对 象<br />

对 象 关 系<br />

映 射<br />

Spring<br />

Java EE<br />

Spring Core – 控 制 反 转 容 器<br />

Spring Web


演 示<br />

JSF 页 面<br />

Spring<br />

诊 所<br />

所 有 者<br />

JPA (TopLink Essentials)<br />

OC4J (Java EE)


Eclipse 平 台<br />

• Java 开 发 人 员 最 熟 悉 的 IDE。<br />

• 基 于 OSGi 运 行 时 的 开 源 、 可 扩 展 应 用 程 序 框 架 / 平 台 。


利 用 Eclipse 构 建 应 用 程 序<br />

• Eclipse 可 以 为 我 们 组 合 体 中 的 所 有 技 术 提 供 支 持 :<br />

技 术<br />

Java 持 久 性 API<br />

JavaServer Faces<br />

Spring 框 架<br />

Oracle 应 用 服 务 器<br />

工 具<br />

Web 工 具 — Dali JPA Tools<br />

Web 工 具 —JSF Tools<br />

Spring IDE<br />

Web 工 具 —OracleAS 部 署


Oracle 的 Eclipse 策 略<br />

• Oracle 工 具 的 “ 有 选 择 的 生 产 效 率 ” 理 念 意 味 着 , 尽 可 能<br />

地 使 针 对 Oracle 平 台 的 应 用 程 序 开 发 变 得 简 单 — 无<br />

论 使 用 何 种 IDE。<br />

• 使 用 Eclipse 进 行 Java/Java EE 开 发 的 Oracle 客 户 应<br />

该 满 意 Oracle JDeveloper 提 供 的 类 似 生 产 效 率 。<br />

• Eclipse WTP 支 持 开 发 基 于 标 准 的 Java EE 应 用 程 序<br />

( 可 以 在 OracleAS 上 部 署 和 调 试 )。


使 用 Eclipse 和 Spring 构 建 应 用 程 序 的<br />

步 骤 - PetClinic<br />

• 创 建 支 持 JSF 的 动 态 Web 项 目<br />

• 创 建 Java POJO 模 型<br />

• 定 义 对 象 - 关 系 映 射 — Dali JPA Tools<br />

• 创 建 和 配 置 Spring bean — Spring IDE<br />

• 创 建 视 图 和 控 制 器 —WTP JSF<br />

• 测 试 和 部 署 —Oracle 应 用 服 务 器


Dali JPA Tools 概 述<br />

• Eclipse 项 目 由 Oracle 建 立 并 领 导 。<br />

• 支 持 为 Java 持 久 性 API (JPA) 实 体 (JSR 220) 定 义 、<br />

编 辑 和 部 署 对 象 - 关 系 (O/R) 映 射 。<br />

• 通 过 以 下 功 能 简 化 映 射 的 定 义 和 编 辑 :<br />

• 智 能 映 射 助 手<br />

• 动 态 问 题 识 别<br />

• 创 建 和 自 动 化 映 射 向 导


Dali 对 Eclipse 的 贡 献<br />

• JPA 映 射 验 证<br />

• 持 久 性 概 要 和 属 性 视 图<br />

• Java 源 代 码 编 辑 器 增 强<br />

• 映 射 问 题 标 记 器


JPA 映 射 验 证<br />

• 使 用 批 注 和 / 或 XML 定 义<br />

JPA 实 体 。<br />

• JDT 可 验 证 语 法 , 但 不 了<br />

解 批 注 的 含 义 。


JPA 映 射 助 手<br />

ADDRESS<br />

ID STREET … STATE


JPA 映 射 助 手<br />

ADDRESS<br />

ID STREET … STATE<br />

无 映 射 错 误 !


Oracle TopLink 与 TopLink Essentials<br />

• JPA 是 一 个 规 范 — 而 非 实 现<br />

• 要 运 行 JPA 应 用 程 序 , 您 需 要 一 个 运 行 时 —“ 持 久 性<br />

提 供 程 序 ”<br />

• 类 似 于 需 要 XML 分 析 器 或 JDBC 驱 动 程 序<br />

• Oracle TopLink 和 TopLink Essentials 都 是 JPA 提 供<br />

程 序 。<br />

• 两 者 都 随 附 在 OC4J 10.1.3.1 中<br />

• TopLink Essentials 是 开 源 JPA 参 考 实 现 。


EclipseLink<br />

Eclipse 持 久 性 平 台<br />

• Oracle 提 出 了 一 个 新 的 Eclipse 项 目 — EclipseLink,<br />

旨 在 提 供 一 个 综 合 的 Java 持 久 性 平 台<br />

• Oracle TopLink 将 开 放 源 代 码 , 并 以 其 作 为<br />

EclipseLink 的 起 点<br />

• EclipseLink 将 支 持 多 种 持 久 性 标 准 :<br />

• Java 持 久 性 API (JPA)<br />

• Java API for XML Binding (JAXB)<br />

• Java 连 接 器 体 系 结 构 (JCA)<br />

• 服 务 数 据 对 象 (SDO)


Eclipse Dali/TopLink Essentials 演 示<br />

注 :<br />

本 演 示 使 用 Dali 1.0 Milestone<br />

5。<br />

Dali 1.0 GA 将 于 2007 年 6 月<br />

在 Eclipse Europa 中 推 出<br />

ReadAllOwnersJPA<br />

所 有 者<br />

JPA (TopLink Essentials)<br />

Java SE


Spring/JPA 集 成<br />

• 内 置 在 Spring 2.0 中<br />

• Spring/JPA 集 成 通 过 Interface21 实 现 ( 在 Oracle 的<br />

帮 助 下 )<br />

• Spring 2.0 随 附 在 TopLink Essentials 中 , 作 为 默 认 的<br />

JPA 持 久 性 提 供 程 序<br />

• Spring 实 现 了 JPA 容 器 约 定 ( 如 EJB 3.0 容 器 ), 以<br />

简 化 JPA 开 发 。<br />

• Spring 2.0 提 供 了 “ 现 成 的 ”OC4J 集 成


用 于 Eclipse 的 Spring IDE<br />

• 一 组 Eclipse 插 件 , 支 持 创 建 、 编 辑 和 理 解 Spring 配<br />

置 文 件 。


Spring IDE 演 示<br />

ReadAllOwnersSpring<br />

Clinic<br />

Owner<br />

JPA (TopLink Essentials)<br />

Java SE


JSF Tools 项 目 概 述<br />

• 由 Oracle 领 导 的 Eclipse 项 目 。<br />

• 该 项 目 构 建 的 工 具 简 化 了 基 于 JavaServer Faces 的<br />

web 应 用 程 序 在 Eclipse 平 台 上 的 开 发 和 部 署<br />

• 它 是 Eclipse Web 工 具 平 台 (WTP) 项 目 的 子 项 目<br />

• 为 基 于 JavaServer Faces 的 web 应 用 程 序 的 开 发 带<br />

来 了 Eclipse 平 台 易 于 使 用 的 特 性


JSF Tools 功 能<br />

• 可 视 化 JSF 页 面 设 计 器<br />

• Faces 配 置 编 辑 器<br />

• JSF-JSP 源 代 码 编 辑 器<br />

• JSF 库 注 册 表<br />

• 支 持 JSF 1.2<br />

• 可 扩 展 框 架


Faces 配 置 编 辑 器


JSF-JSP 可 视 化 页 面 设 计 器


JSF-JSP 源 代 码 编 辑 器


JSF 库 注 册 表


Oracle 应 用 服 务 器 适 配 器<br />

• 将 web 应 用 程 序 部 署 到 Oracle 应 用 服 务 器<br />

• 支 持 Oracle Containers for Java EE – 版 本 10.1.3<br />

• WTP 2.0“Europa” 将 支 持 10.1.3.1 和 10.1.3.2


构 建 和 部 署 演 示<br />

注 :<br />

本 演 示 使 用 JSF Tools 1.0<br />

Milestone 5。<br />

JSF Tools 1.0 GA 将 于 2007<br />

年 6 月 在 Eclipse Europa 中 推<br />

出<br />

JSF 页 面<br />

OwnersBB<br />

Spring<br />

Clinic<br />

Owner<br />

JPA (TopLink Essentials)<br />

OC4J (Java EE)


JMX 和 OC4J<br />

• OC4J 应 用 服 务 器 控 制 提 供 了 一 个 JMX 实 现<br />

• 实 现 JMX 1.2<br />

• 基 于 Sun 参 考 实 现<br />

• 实 现 Java EE 管 理 模 型 1.0<br />

• 用 于 Java EE 容 器 和 应 用 程 序 的 所 有 标 准 MBean<br />

• 通 过 系 统 MBean 扩 展 , 管 理 特 定 于 OC4J 的 资 源<br />

• 实 现 JMX 远 程 连 接 API<br />

• 以 前 称 为 JSR160<br />

• 提 供 标 准 API, 以 便 通 过 远 程 连 接 建 立 和 使 用 JMX<br />

• 使 用 特 定 于 ORMI 的 线 路 协 议 实 现


JMX MBean 是 什 么 <br />

• MBean( 托 管 Bean) 是 一 个 用 于 实 现 Java 应 用 程 序 的 嵌 入<br />

式 Java 对 象<br />

• 它 允 许 支 持 JMX 的 管 理 工 具 管 理 Java 应 用 程 序<br />

管 理 工 具<br />

Java 应 用 程 序<br />

MBean


通 过 JMX 管 理 Spring 应 用 程 序<br />

• 使 用 JMX 技 术 , 可 允 许 一 个 或 多 个 MBean 利 用 给 定 资 源 ( 如<br />

Spring 应 用 程 序 )。<br />

• 可 以 将 Spring Bean 公 开 为 MBean。<br />

• 应 用 服 务 器 控 制 可 以 将 Spring Bean 作 为 MBean 访 问 , 并 使 用<br />

它 们 公 开 的 操 作 和 属 性 在 运 行 时 对 其 进 行 管 理 。<br />

应 用 服 务 器<br />

控 制<br />

MBean 服 务 器<br />

Spring 应 用 程 序<br />

MBean<br />

包 装<br />

Spring Bean


OC4J/Spring/JMX 演 示<br />

应 用 服 务 器<br />

控 制<br />

JSF 页 面<br />

GreetingBB<br />

OwnersBB<br />

MBean 服 务 器<br />

MBean 包 装 器<br />

Spring<br />

Greeting<br />

Clinic<br />

Owner<br />

JPA (TopLink Essentials)<br />

OC4J (Java EE)


总 结<br />

• Spring — 轻 型 容 器 , 可 以 简 化 Java 应 用 程 序 的 开 发 和 测 试<br />

• Eclipse Dali JPA 工 具 — 快 速 开 发 Java 持 久 性 API 应 用 程 序 的<br />

工 具<br />

• Eclipse JSF 项 目 — 快 速 开 发 JavaServer Faces 应 用 程 序 的 工<br />

具<br />

• TopLink Essentials — 开 源 的 JPA 参 考 实 现<br />

• EclipseLink — 建 议 的 Eclipse 项 目 , 包 括 开 源 Oracle TopLink<br />

• OC4J<br />

• 为 Spring 提 供 集 成 支 持<br />

• 随 附 在 TopLink Essentials 中 , 并 支 持 JSF<br />

• Eclipse 支 持 开 发 并 部 署 到 OC4J<br />

• 用 于 在 运 行 时 管 理 应 用 程 序 的 应 用 服 务 器 控 制


结 论<br />

• Oracle 致 力 于 支 持 开 放 源 代 码 社 区 :<br />

• 领 导 了 三 个 Eclipse 项 目 :<br />

• Dali JPA Tools 项 目<br />

• JSF Tools 项 目<br />

• BPEL 设 计 器<br />

• 提 出 了 新 的 Eclipse 持 久 性 平 台 — EclipseLink<br />

• 将 ADF Faces 捐 赠 给 了 Apache MyFaces 子 项 目 Trinidad<br />

• 与 Spring 和 Apache MyFaces 合 作 , 以 改 进 技 术 并 提 供 与<br />

OracleAS 的 紧 密 集 成 ( 如 事 务 管 理 )<br />

• 使 在 Eclipse 中 针 对 Oracle 平 台 的 应 用 程 序 开 发 、 部 署 和 调 试<br />

尽 可 能 地 简 单 。


Oracle 的 开 放 源 代 码 社 区 :<br />

http://oss.otn.com


参 考<br />

• OC4J —<br />

www.oracle.com/technology/global/cn/tech/java/oc4j<br />

• EclipseLink — www.eclipse.org/proposals/eclipselink<br />

• TopLink Essentials —<br />

http://www.oracle.com/technology/global/cn/products/i<br />

as/toplink/jpa/index.html<br />

• Dali JPA Tools — www.eclipse.org/dali<br />

• JSF Tools — www.eclipse.org/webtools/jsf<br />

• Spring<br />

www.springframework.com<br />

www.oracle.com/technology/global/cn/tech/java/sprin<br />

g.html

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!