ä¸è½½ - ææ¯å¼åé¢é
ä¸è½½ - ææ¯å¼åé¢é
ä¸è½½ - ææ¯å¼åé¢é
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