用 应 用 服 务 器 构 建 网 站


---- 正 当 人 们 努 力 探 寻 将 网 站 应 用 于 商 业 应 用 的 新 方 式 时, 专 用 于Web 的 应 用 服 务 器 开 始 变 得 风 靡 一 时。 应 用 服 务 器 并 不 是 一 个 新 鲜 事 物, 我 们 早 在 数 年 以 前 就 已 经 在 客 户 机/ 服 务 器 和 分 布 式 计 算 领 域 中 使 用 过 它。 但 是 将 它 应 用 于Web 网 站 则 是 新 近 才 出 现 的。 而 且, 对 于Web 上 的 任 何 新 趋 势, 总 会 随 即 涌 现 出 大 量 支 持Web 应 用 服 务 器 概 念 的 专 用 新 产 品。

---- 应 用 服 务 器 将 一 个 应 用 从Web 服 务 器 和 数 据 库 中 分 离 出 来, 为 处 理 大 量 的 用 户 与 事 务 提 供 了 一 个 更 为 结 构 化 更 为 完 美 的 解 决 方 案。 我 们 可 以 在Web 或 非Web 的 结 构 中 使 用 应 用 服 务 器, 在 其 上 存 放 服 务 器 端 的 处 理 和 共 享 应 用 逻 辑, 并 可 用 作 处 理 事 务 的 专 门 机 构。 这 些 服 务 器 还 能 够 提 供 诸 如 均 衡 负 载( 将 通 信 分 成 两 条 或 更 多 的 线 路)、 线 程 池 和 恢 复 服 务 等 先 进 特 性。 这 种 事 务 处 理 能 力 允 许 适 用 于Web 的 应 用 更 好 地 扩 展 和 从 失 败 中 更 好 地 恢 复。

---- 在 多 数 情 况 下, 作 为 一 个 只 提 供 内 容 的 标 准 网 站, 您 无 需 应 用 服 务 器。 然 而, 如 果 您 的Web 服 务 器 处 理 应 用 的 负 荷 较 重, 那 么 添 置 一 台 应 用 服 务 器 则 迫 在 眉 睫。

网 站 结 构

---- 当 您 在 网 站 上 创 建 一 个Web 应 用 时, 通 常 需 要 考 虑 可 行 的 技 术( 如Java、ActiveX、CGI、NSAPI 或ISAPI)、 与 技 术 相 应 的 结 构 和 在 此 结 构 上 创 建 一 个 应 用 所 需 的Web 工 具 等 三 个 主 要 因 素。

---- 和 任 何 分 布 式 应 用 一 样, 当 您 考 虑 到 您 的Web 网 站 时 也 需 要 分 层 考 虑。 一 个 传 统 的Web 网 站 通 常 分 为 两 层:Web 浏 览 器 和Web 服 务 器。 稍 复 杂 一 些 的 网 站 则 包 括 三 层:Web 浏 览 器、Web 服 务 器 和 数 据 库 服 务 器。 传 统 的 查 询 引 擎 就 是 三 层Web 网 站 的 最 佳 范 例。 最 复 杂 的 情 况 是Web 网 站 由 四 层 技 术 构 成, 分 别 是Web 浏 览 器、Web 服 务 器、 数 据 库 服 务 器 以 及 位 于 数 据 库 服 务 器 和Web 服 务 器 之 间 的 应 用 服 务 器( 如 图1 所 示)。

----TP 监 测 器 为 了 服 务 器 端 进 程 处 理 事 务 服 务 和 与 数 据 库 服 务 器 之 间 的 通 信, 然 后 服 务 器 端 进 程 再 将 结 果 以HTML 的 形 式 反 馈 给Web 客 户 机。


图1 TP 监 测 器 应 用 服 务 器

---- 四 层 的Web 网 站 结 构 现 在 使 用 得 并 不 十 分 普 遍, 但 随 着 网 站 上 关 键 性 商 业 应 用 的 发 展, 它 也 将 日 益 受 到 人 们 的 关 注 与 重 视。 尽 管Internet 应 用 服 务 器 距 离 我 们 还 很 遥 远, 但 是 事 务 处 理 监 测 器(TP 监 测 器)、 分 布 式 对 象 和 专 用 应 用 服 务 器 等 三 类 基 础 技 术 业 已 出 现。

网 站 定 制

---- TP 监 测 器 为Web 服 务 器 和 数 据 库 之 间 的 商 业 应 用 处 理 增 加 了 另 一 层 技 术, 并 提 供 了 一 些 先 进 的 应 用 处 理 能 力。 这 种 结 构 很 起 作 用, 它 允 许Web 客 户 端 从 一 个 使 用 服 务 器 端 脚 本 和 传 统 编 程 语 言 如C++ 等 的CGI、NSAPI 或ISAPI 应 用 访 问TP 监 测 器 服 务。TP 监 测 器 于 是 代 表Web 服 务 器 进 程( 即CGI、NSAPI 或ISAPI 应 用 进 程) 处 理 事 务 服 务 和 与 数 据 库 服 务 器 之 间 的 通 信, 信 息 随 后 返 回 给 该 进 程, 而 进 程 又 将 结 果 以HTML 的 形 式 反 馈 给Web 客 户 端( 如 图1 所 示)。BEA System 公 司 的Tuxedo 和 微 软 公 司 的MTS 即 是 作 为 应 用 服 务 器 与Web 服 务 器 协 同 工 作 的TP 监 测 器 的 典 型 例 子。

---- 让 我 们 更 进 一 步 地 阐 述 这 一 概 念, 服 务 器 端 的 进 程 能 与 其 他 诸 如 标 准 分 布 式 对 象 的 中 间 层 技 术 通 信。 分 布 式 对 象 是 为 分 布 式 应 用 提 供 标 准 接 口 和 中 间 件 的 远 程 程 序。 通 用 对 象 请 求 代 理 结 构(Common Object Request Broker Architecture,CORBA) 和 分 布 式 组 件 模 型(Distributed Component Model,DCOM) 就 是 当 今 两 个 最 通 用 的 分 布 式 对 象 标 准。

---- 近 几 个 月 来, 业 界 在 将Java 和CORBA 合 并 为 一 个 单 独 的 分 布 式 对 象 方 面 取 得 了 一 些 进 展, 从 而 提 供 了 满 足Java 标 准 的 能 力, 如 服 务 器 端 和 企 业 级Java Beans。 专 用 应 用 服 务 器, 包 括Netscape Communications 公 司 的 应 用 服 务 器 在 内, 都 在 竭 力 地 将Java 融 合 于 其 中。

---- 在 我 们 先 前 提 到 的TP 监 测 器 的 例 子 中,Web 服 务 器 应 用 能 够 访 问 一 个 或 一 组 分 布 式 对 象 中 包 含 的 方 法。 如 图2 所 示, 当 我 们 唤 起 一 个 或 一 系 列 方 法 之 后, 分 布 式 对 象 代 表 连 接 到 一 个Web 客 户 机 上 的 服 务 器 端 进 程 执 行 应 用 处 理。 这 个 分 布 式 对 象 甚 至 还 可 以 访 问 一 个 数 据 库。 在 处 理 完 成 之 后, 信 息 返 回 给 服 务 器 端 的 进 程, 再 由 进 程 将 结 果 返 回 给Web 客 户 机。 因 为 服 务 器 端 进 程 能 与 存 在 于 任 意 多 个 应 用 服 务 器 上 的 任 意 多 个 分 布 式 对 象 通 信, 所 以 这 种Internet 结 构 可 以 支 撑 四 层 或 更 多 层, 并 且 能 够 提 供 一 种 对 分 布 式 应 用 开 发 分 而 治 之 的 方 法。Visigenic Software 公 司 和Iona Technologies 公 司 就 是 专 营 基 于CORBA 的 分 布 式 对 象 的 厂 商, 微 软 公 司 也 将DCOM 用 于 其Windows/Explorer 环 境 的 一 部 分。

----Web 服 务 器 应 用 进 程 能 够 访 问 一 个 或 一 组 分 布 式 对 象 所 包 含 的 办 法。


图2 分 布 式 对 象 应 用 服 务 器

---- 适 用 于Web 的 分 布 式 对 象 的 到 来 意 味 着 开 发 人 员 现 在 就 能 将 分 布 式 对 象 放 置 在 客 户 机 和Web 服 务 器 上。 例 如,Netscape 公 司 在 它 自 己 的 浏 览 器 中 支 持CORBA, 而 微 软 公 司 支 持DCOM。 与 使 用 传 统HTTP 协 议 的Web 服 务 器 相 比,Web 客 户 机 运 行 了 一 个 分 布 式 对 象 并 使 用 自 己 的 对 象 协 议, 诸 如CORBA 的IIOP(Internet InterORB Protocol) 或 微 软 公 司 的DCOM RPC(Remote Procedure Call)。 与HTTP 不 同 的 是, 这 些 协 议 都 是 动 态 的 并 且 能 够 使 用 状 态, 从 而 使 动 态 应 用 开 发 变 得 更 加 容 易。 开 发 人 员 还 能 够 混 合 和 匹 配 客 户 机、Web 服 务 器、 数 据 库 服 务 器 和 任 意 两 者 之 间 的 分 布 式 对 象 以 满 足 应 用 的 需 求。

应 用 服 务 器

---- 尽 管 您 能 使 用Visigenic 和Iona 等 公 司 的 标 准 分 布 式 对 象 或BEA 公 司 的Tuxedo 或MTS 等 标 准TP 监 测 器, 许 多 网 站 的 建 设 者 们 却 仍 在 寻 求 更 简 单 更 直 观 的 解 决 方 案。 换 言 之, 应 用 服 务 器 也 许 是 通 向 此 目 的 的 惟 一 途 径。

---- 采 用 专 用 的 适 用 于Web 的 应 用 服 务 器 较 之 分 布 式 对 象 和TP 监 测 器 等 传 统 技 术 而 言 有 很 多 优 越 性。 首 先, 它 专 注 于Web 开 发, 从 而 为 开 发 人 员 使 用 一 台 应 用 服 务 器 创 建Web 应 用 提 供 了 许 多 不 同 的 机 构。 其 次, 用 这 种 技 术 创 建 应 用 的 开 销 更 小。 应 用 服 务 器 的 价 格 更 便 宜, 工 具 更 丰 富, 创 建 一 个 应 用 所 花 费 的 时 间 也 更 短。

---- 专 用 应 用 服 务 器 领 域 的 代 表 当 属 Netscape 应 用 服 务 器 和NetDynamics 应 用 服 务 器。

---- Netscape 应 用 服 务 器 通 过 强 大 的 端 到 端 的 性 能 特 性 支 持 用 户 的 一 致 性。Netscape 支 持 结 果 缓 存、 数 据 流 和 多 线 性 多 进 程 结 构, 从 而 能 够 提 供 这 些 特 性。 可 扩 展 性 包 括 动 态 均 衡 负 载 和 应 用 分 区, 允 许Netscape 应 用 服 务 器 在 一 台 服 务 器 上 支 持 数 以 千 计 的 一 致 性 用 户。 失 败 恢 复 特 性 包 含 自 动 诊 断 和 失 败 服 务 器 与 进 程 的 自 动 重 启。 它 还 能 支 持 分 布 式 状 态 和 会 话 管 理。 您 可 以 使 用Netscape Application Builder 在Netscape 应 用 服 务 器 上 创 建 应 用。Application Builder 支 持C++ 和Java, 此 外 您 还 可 以 使 用 诸 如Symantec 公 司 的Visual Cafe Pro 等 第 三 方 工 具。

---- 基 于 工 业 标 准CORBA 和Java 的NetDynamics 应 用 服 务 器 集 成 了 各 种 各 样 的 系 统 和 应 用。 能 够 传 递 从 多 重 数 据 源 提 取 的 应 用。 在Internet、Extranet 或Intranet 配 置 下 传 递 时 用 户 接 口 可 以 是HTML、Java、HTML/Java、Windows 或 主 机 终 端 等 形 式。 像Netscape 应 用 服 务 器 一 样,NetDynamics 公 司 的 产 品 支 持 线 程 池 和 负 载 平 衡, 并 且 提 供 恢 复 服 务。 您 可 以 通 过Java、C++ 或ActiveX 等 接 口 在 其 上 编 程。

---- 为 了 使 适 用 于Web 的 应 用 能 够 负 载 更 多 的 用 户, 我 们 需 要 充 分 了 解 采 用 应 用 服 务 器 技 术 的 益 处, 其 关 键 在 于 掌 握 如 何 分 解 应 用 逻 辑、 代 表 层 和 您 的 网 站 所 能 负 载 的 最 大 数 据 的 能 力。

---- 尽 管 电 子 商 务 应 用 今 天 只 是 刚 刚 起 步, 所 有 的 适 用 于Web 的 应 用, 不 论 是 基 于Internet 还 是 基 于Intranet 的, 都 将 进 一 步 地 向 前 发 展。 当 这 些 应 用 变 得 至 关 重 要 之 时, 我 们 的 网 站 从 失 败 中 恢 复 的 能 力 必 将 带 来 巨 大 的 增 值。


中国计算机世界出版服务公司版权所有