Java电子商贸结构

来源:互联网 发布:历史地图制作软件 编辑:程序博客网 时间:2024/04/28 02:03
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

  清华大学计算机系 柳 菁王克宏

  1. 什 么 是 JECF?

  典 型 的 通 过 Internet 进 行 电 子 交 易 的 应 用, 必 须 解 决 一 系 列 潜 伏 的 棘 手 问 题, 例 如 如 何 保 证 当 网 络 传 输 不 正 常, 出 现 暂 时 中 断 时, 交 易 的 正 常 进 行。 因 为 缺 乏 标 准, 各 个 电 子 购 物 应 用 程 序 必 须 独 自 重 复 地 解 决 这 些 问 题。 大 多 数 现 有 的 应 用 程 序 , 都 依 赖 于 大 型 中 央 计 算 服 务 器, 这 些 服 务 器 能 够 容 纳 大 量 用 户 同 时 加 载 的 峰 值 量。 使 用 基 于 Java 的 解 决 办 法, 使 在 这 些 独 立 的 back-end 计 算 机 上 执 行 的 计 算 可 以 被 转 移 到 客 户 机 平 台 上, 同 时 还 能 节 约 昂 贵 的 back-end 资 源, 使 最 终 用 户 更 为 方 便 地 使 用 计 算 功 能。 由 于 这 个 方 法 是 基 于 Java 的, 因 而 它 的 好 处 是 可 以 在 任 何 支 持 Java 的 平 台 上 运 行。

  随 着 在 Internet 上 进 行 的 商 业 活 动 不 断 增 多, Internet 的 商 贸 用 途 日 益 重 要, 对 于 商 业 交 易 管 理 安 全 性、 标 准 化 方 面 的 技 术 要 求 也 更 高 了。 现 在 已 有 了 信 用 卡、 借 贷 卡 等 付 款 工 具。 除 此 之 外, 上 述 技 术 还 应 支 持 诸 如 电 子 现 金、 电 子 支 票 和 智 能 现 金 卡 等 新 兴 技 术。 为 此, JavaSoft 提 出 了 Java 电 子 商 贸 结 构 — — — Java Electronic Commerce Frame-wo rk(JECF), 使 用 这 一 安 全 的 可 扩 展 结 构, 可 在 Internet 上 管 理 商 贸 业 务。

  2. 网 上 购 物 实 例

  作 为 网 上 购 物 者, 你 需 要 一 种 支 持 Java 的 Internet 浏 览 器, 以 便 从 含 有 购 物 小 程 序 (Applet) 的 主 页 上 进 行 购 物 选 择。 大 多 数 的 销 售 商 可 能 会 选 择 使 用 他 们 自 己 的 购 物 程 序, 但 每 一 个 基 本 的 Java 分 配 工 具 中 都 会 包 括 一 个 基 本 的 购 物 工 具, 它 们 的 基 本 构 成 是 一 致 的。 所 以, 你 只 需 明 白 一 种 购 物 工 具, 其 它 的 就 好 办 了。

  首 先, 购 物 者 把 所 有 需 要 的 货 物 列 到 购 物 清 单 上。 然 后, 按 下 该 页 上 的 < Pay> 按 钮, 以 调 用 JECF 开 始 付 款 过 程。 客 户 的 身 份 最 先 被 证 实, 同 时 其 私 人 交 易 信 息 数 据 库 打 开。 在 购 物 者 主 机 上, 有 一 块 被 称 为 “Cassette” 的 软 件 模 块, 它 含 有 一 种 执 行 支 付 协 议 功 能 的 工 具。 如 果 可 能, Cassette 将 被 局 部 装 载。 当 然, 它 也 可 根 据 Internet 上 的 命 令, 如 Ap plet 中 的 语 句 调 用 来 装 载。 一 个 付 款 箱 (A Payment Cassette) 可 以 根 据 特 殊 协 议, 通 过 Intern et 传 送 信 息, 读 取 或 保 存 数 据 库 的 信 息, 并 保 护 这 些 信 息 不 被 其 它 Cassette 或 外 界 所 获 取, 确 保 客 户 活 动 的 保 密 性。

  其 次, 购 物 者 将 看 到 付 款 主 页, 包 含 3 个 不 同 Applet: 一 个 识 别 A pplet, 用 以 对 销 售 商 进 行 确 认; 一 个 记 录 Applet, 显 示 购 买 的 货 物 和 服 务 的 情 况, 例 如 购 买 的 总 额; 一 个 选 择 付 款 方 式 Applet, 向 购 物 者 提 供 销 售 商 接 受 的 付 款 方 式。

  当 购 物 者 看 过 了 货 物 的 详 细 介 绍, 选 择 了 付 款 方 式, 并 点 击 了 发 送 付 款 窗 口 的 按 钮, 最 后 确 认 窗 口 将 出 现 在 屏 幕 上。 与 销 售 商 提 供 的 付 款 主 页 不 同, 确 认 窗 口 是 由 JECF 提 供 并 显 示 的。 通 过 这 个 窗 口, 保 证 了 JECF 所 获 得 的 购 物 总 额, 与 前 面 显 示 在 付 款 窗 口 上 的 由 记 录 Applet 提 供 的 数 字 相 同。

  一 旦 客 户 确 认 这 笔 交 易, 付 款 箱 将 初 始 化 实 际 的 付 款 过 程, 把 数 据 传 送 给 相 应 的 远 程 服 务 器。 此 过 程 依 赖 于 付 款 箱 使 用 的 协 议, 只 需 几 分 钟 甚 至 几 秒 钟 即 可 完 成。 在 其 执 行 过 程 中, 有 关 购 物 的 信 息 被 传 递 到 尚 未 处 理 的 交 易 列 表 中。 如 果 在 付 款 过 程 中 出 现 问 题, 例 如 系 统 阻 塞、 网 络 联 系 中 断 等, 这 些 信 息 可 用 来 恢 复 交 易。

  在 所 有 关 于 付 款 过 程 的 活 动 完 成 后, 一 个 确 认 主 页 出 现 在 购 物 者 眼 前, 以 显 示 这 次 交 易 成 功 完 成 了。 这 次 交 易 的 信 息 将 从 交 易 列 表 上 删 除, 而 被 保 存 在 永 久 交 易 记 录 上, 供 客 户 随 时 察 看 过 去 购 买 商 品 的 详 细 情 况。 而 且, 永 久 交 易 记 录 中 的 数 据 还 可 作 为 新 的 数 据, 出 现 在 提 供 其 它 付 款 过 程 的 服 务 箱 中。 因 为, 大 多 数 个 人 清 算 帐 目 软 件 包 的 开 发 者, 很 可 能 选 择 把 他 们 的 软 件 做 成 服 务 箱 形 式, 在 交 易 列 表 中 使 用 与 现 行 的 普 遍 的 支 票 本 结 算 程 序 相 同 或 相 似 的 界 面, 以 提 供 强 大 的 数 据 处 理 能 力。 这 种 服 务 箱 会 作 为 Package 出 售, 它 或 者 仅 使 用 JECF 作 为 一 种 便 捷 的 分 配 方 法, 或 者 与 付 款 箱 结 合 在 一 起。

  另 外, JECF 还 包 括 一 系 列 配 置 对 话 框, 进 行 各 种 设 置 处 理, 例 如 : 记 录 基 本 私 人 信 息, 向 环 境 增 加 付 款 方 式, 登 记 付 款 箱 中 的 付 款 方 式 等, 来 控 制 JECF 环 境 。

  3.JECF 的 基 本 结 构 及 作 用

  JECF 是 软 件 的 一 个 虚 拟 销 售 点 设 备 器 件, 用 户 通 过 浏 览 器 或 其 它 支 持 Java 的 环 境 使 用 它。 JECF 提 供 了 以 下 支 付 方 法 框 架 :

  · 安 全 电 子 贸 易 协 议 (SETP);

  · 智 能 卡;

  · 小 型 交 易 (提 前 审 议 的 小 金 额 付 款);

  · 电 子 支 票;

  · 在 线 游 戏 和 服 务;

  · Procurement 卡;

  · 息 票。

  另 外, 除 了 处 理 付 款, JECF 可 以 被 扩 展, 提 供 其 它 财 务 服 务 类 型 , 例 如 :

  · 金 融 分 析;

  · 清 算 帐 目;

  · 财 政 预 算;

  · 税 务 报 告;

  · 经 纪 事 务。

  简 单 说 来, JECF 的 作 用 是 :

  (1) 增 加 Internet 上 商 贸 交 易 的 数 量;

  (2) 使 购 买 商 品 和 服 务 成 为 网 络 浏 览 过 程 的 一 部 分;

  (3) 建 立 劳 动 市 场, 促 进 技 术 人 员 不 断 创 新, 改 进 技 术;

  (4) 在 重 要 的 领 域 包 括 购 买、 银 行、 私 人 和 专 业 财 务 管 理 方 面, 建 立 一 个 开 放 的、 多 方 面 的 平 台。

  从 结 构 的 角 度 来 看, JECF 由 以 下 几 部 分 组 成 :

  · 基 础 下 部 组 织。 此 结 构 框 架 决 定 了 JECF 的 其 它 部 件 的 相 互 作 用。

  · 数 据 库。 客 户 私 人 信 息、 支 付 方 式 和 交 易 历 史 都 被 永 久 地 保 存 在 这 里。 加 密 支 持 使 得 数 据 库 可 以 被 不 同 的 服 务 提 供 者 所 共 享。

  · 付 款 箱。 实 现 个 人 支 付 方 式 和 服 务 提 供 者 支 持 的 各 种 协 议 的 模 块。 当 客 户 往 环 境 中 添 加 新 的 支 付 方 式 时, 增 加 对 其 的 支 持。

  · 服 务 箱。 建 立 在 基 本 JECF 服 务 上 的 更 有 效 的 服 务, 特 别 是 数 据 库 服 务。

  · 管 理 界 面。 客 户 的 基 本 信 息、 支 付 方 式、 局 部 有 效 付 款 箱 和 服 务 箱 等, 都 使 用 一 系 列 配 置 对 话 框。 这 些 对 话 框 被 用 来 设 置 JECF 的 执 行 动 作 和 外 观。

  任 何 在 Internet 上 转 移 资 金 的 应 用 程 序 都 需 要 一 个 安 全 环 境 。 考 虑 到 大 范 围 的 潜 在 攻 击, 并 为 此 设 计 了 专 门 的 策 略, JECF 在 三 个 层 次 上 实 现 了 十 分 有 效 的 安 全 模 式。

  第 一 层 : 依 赖 于 Java 1.0 的 安 全 工 具, 包 括 : 语 言 特 性、 运 行 规 则、 名 字 空 间 的 控 制。

  第 二 层 : 利 用 了 Java 1.1 的 安 全 工 具, 包 括 :

  · 标 记 Applet。 JECF 对 它 的 使 用, 使 得 数 字 标 记 类 可 信, 并 可 执 行 有 些 本 来 被 禁 止 的 确 定 操 作。 JECF 还 利 用 标 记 代 码 来 防 止 代 码 出 错 及 获 取 某 些 系 统 的 资 源。

  · 代 码 确 认。 在 Java 代 码 执 行 以 前, 编 辑 后 的 字 节 流 会 被 检 查 一 遍, 保 证 它 与 Java 语 言 的 特 殊 执 行 规 则 相 符。

  第 三 层 :JECF 还 扩 展 了 Java 的 核 心 标 准 安 全 工 具, 它 提 供 了 以 下 结 构 :

  · 用 户 识 别。 在 JECF 用 户 的 名 称 将 保 持 不 变。 对 于 共 用 一 台 计 算 机 的 多 个 用 户, 将 为 他 们 建 立 独 立 的 数 据 库。 用 户 名 不 必 是 全 局 变 量。

  · 用 户 鉴 定。 用 户 须 输 入 密 码, 以 使 用 JECF 功 能 或 连 接 数 据 库。 每 个 密 码 都 是 局 部 有 效 的, 因 此 不 存 在 任 何 网 络 上 的、 任 何 形 式 的 密 码 传 输 过 程。

  · 用 户 授 权。 所 有 用 户 都 可 适 当 地 使 用 付 款 箱。 而 其 它 功 能 的 Cassette 只 有 具 有 此 特 殊 授 权 的 用 户 才 可 使 用。

  · 代 码 及 环 境 识 别。 这 是 一 个 调 用 程 序, 它 确 认 基 于 其 它 数 字 信 号 或 调 用 者 的 任 务。

  · 数 据 库 访 问 控 制。 访 问 控 制 列 表 列 举 了 可 用 的 数 据 库 对 象, 这 些 都 是 Cassette 和 数 字 信 号 需 要 读 出 或 写 入 的。

  · 类 库 使 用 控 制。 使 用 数 字 标 记 任 务, 可 决 定 某 一 个 类 使 用 其 它 类。 被 调 用 的 类 检 查 调 用 者 的 任 务。

  4.JECF 代 码 编 写

  具 备 了 以 上 有 关 JECF 的 基 础 知 识, 就 可 以 尝 试 开 始 编 写 JECF 和 Java Wallet 的 代 码 了。

  (1) Cassette 简 介

  服 务 箱 根 据 用 户 的 命 令 被 下 载 到 Java Wallet, 向 用 户 提 供 Inter net 付 款、 保 存 记 录、 核 算 帐 目 等 商 业 服 务。 Wallet 是 一 个 动 态 环 境, 新 的 组 件 和 服 务 可 以 很 方 便 地 装 载 进 去, 同 时 旧 的 可 以 升 级 或 删 除。 它 由 称 作 Cas-sette 的 组 件 构 成。 每 个 Cas sette 实 际 上 是 一 个 或 几 个 Java Package 组 成 的, 它 遵 循 Java Wallet Cassette 结 构 规 则。 Java Package 被 简 化 到 一 个 Java Archive 文 件 中, 并 由 可 信 授 权 数 字 标 记。 注 意, Cassette 不 是 Jav a 语 言 的 一 部 分, 而 仅 仅 结 合 了 特 定 的 Java 特 性 和 JECF 环 境。

  Cassette 具 有 以 下 几 种 功 能 : 使 用 户 可 识 别 Assette 的 来 源; 表 明 一 些 可 信 授 权 已 检 验 并 改 正 了 代 码, 证 实 Cassette 没 有 处 于 错 误 之 中; 安 全 地 授 予 Cassette 当 其 它 Cassette 使 用 服 务 器 时 保 有 特 定 作 用 的 特 权。 例 如, Cas-sette 实 现 备 份 和 重 新 安 装 时, 就 需 要 作 标 记, 以 便 被 数 据 库 保 持 任 务 所 接 受。 此 任 务 使 Cassette 可 任 意 读 写 工 作 台, 而 不 必 管 它 们 之 间 是 否 存 在 所 有 关 系。 一 个 Cassette 必 须 被 授 权 标 记 才 能 装 载 进 Wallet。

  (2) Cassette 标 志 符

  每 个 Cassette 都 要 有 一 个 标 志 符, 用 来 在 Cassette 被 授 权 访 问 某 些 对 象 时 鉴 别 它。 例 如 Wallet 数 据 库 管 理 器 需 要 知 道 Cassette 的 标 志 符, 以 确 定 它 是 否 可 被 授 予 工 作 台 的 所 有 权。 另 外, Ticket 类 的 一 个 对 象 还 可 用 来 重 新 定 义 标 志 符。

  (3) 访 问 控 制

  Cassette 的 另 一 重 要 方 面 是 访 问 控 制。 一 个 Cassette 可 以 使 所 有 人 使 用 其 服 务, 但 它 经 常 需 要 控 制 对 其 类 库 的 访 问, 要 进 行 确 认。 #role 使 得 不 同 单 元 的 代 码 可 以 相 互 联 系。 例 如, 一 个 税 务 计 算 程 序 可 以 拥 有 一 个 税 务 规 则 工 作 台。 Cassette 对 于 Wallet 数 据 库 还 起 着 关 键 性 的 作 用。 而 安 全 性 也 取 决 于 代 码 是 否 能 恰 当 地 实 现 某 个 特 定 任 务。

  (4) 命 名 规 则

  Wallet 遵 循 通 常 的 Java 命 名 规 则, 但 同 时 也 包 括 它 自 己 的 特 殊 命 名 权 限 和 作 用。 访 问 控 制 使 命 名 复 杂 化 了, 因 为 需 要 5 项 不 同 的 相 关 # 命 名 :role、 Ultim ate Object、 Permit Interface、 Permit 和 Gate Method。 后 面 3 项 的 命 名 是 以 role 和 Ultimate Objec t 的 命 名 为 基 础 的。

  有 关 JECF 代 码 编 写 的 具 体 内 容, 可 参 看 JavaSoft 公 司 就 此 方 面 的 介 绍, 本 文 只 介 绍 上 述 几 点 需 注 意 的 问 题。

<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>