Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->编程语言 ->PHP4/PHP5 ->正文

使用 PHP 和 Oracle 开发企业应用程序

来源: ORACLE 作者:webmaster 时间:2007-04-16 点击: [收藏] [投稿]

作者 Kevin Kardasz、Vadim Kudryavtsev、Robert Mark、Mikhail Seliverstov

麦吉尔大学的开发与校友关系部怎么样使用 PHP 和 Oracle 在网上支持多达 16 万名用户

在麦吉尔大学(位于加拿大魁北克省的蒙特利尔)的开发与校友关系部,我们正在使用行业级的 PHP 应用程序和 Oracle9i,将范围广泛的多层次服务转移到 Web 上,这些服务由 200 到 300 名受薪的和志愿的工作人员以及多达 16 万名校友和捐赠人使用。预计该程序在主要的电子广播时段每小时将会接纳数万名用户。我们利用 Oracle 功能强大的行级安全特性以及 PHP 的高性能和快速开发平台来完成这一工作。本文将探讨以下方面:

  • 背景
  • 我们为什么选择 PHP、Oracle9i、Apache 和 Linux
  • 应用程序的结构
  • 安全性
  • 同步
  • 学到的教训以及对开发人员的建议。

背景

我们的机构面临着很多机构所面临的问题:

  • 中央数据库应用程序
    • 散乱而繁琐
    • 属于关键任务并且不可替代
    • 难以更改或者几乎无法更改
    • 依赖生产商的版本升级进行更改
    • 出于安全和成本的考虑,不能访问互联网
  • 大量半独立状态的辅助数据库和 Web 站点
    • 与中央数据库没有充分同步
    • 对于适当的安全性和升级维护而言,数量过多
    • 为最终用户提供过多的 ID 和口令
    • 没有遵循已确立的机构业务惯例

  • 越来越多地要求
    • 通过基于 Web 的 IT 工具获得机构的高效率和生产率
    • 易于使用
    • 在功能间同步数据
    • 可伸缩性
    • 灵活性
    • 功能的扩展性
    • 加强 IT 和一般业务惯例的应用
那么,我们正在怎么样应对这些挑战呢?

我们已经启动了安全的、基于 Web 的模块化数据库应用程序开发的第一阶段。它以 PHP 和 Oracle9i 编写而成,在替代卫星应用程序及 Web 站点之后,必将为用户提供更好的服务。它对公共数据进行同步,并在总体上以及数据方面加强最佳业务惯例的应用。

该应用程序称为 Companion,因为它增加了反向中央数据库的功能,准确地报告中心数据,并在出现新数据时将其回送。

它包含超过 100 个表,这些表被分为 6 个模块。最长的表大约有一百万行。有些表有 20 到 30 列。全部用途是由用于行级安全性的 Oracle 细粒度访问控制 (FGAC) 和虚拟专用数据库 (VPD) 构成的。

Companion 应用程序包含三个域,而且能够容纳更多的域,这些域全都安全地访问同一 PHP/Oracle 应用程序中的相同数据。这些域包括以下内容:

  1. 工作人员内联网
    为 200 到 300 名工作人员提供的内联网,包含人们在许多工作人员内联网中可以看到的所有 Web 网站、在线文档和目录,还包含一组模块,用于完成以前由辅助应用程序所做的所有工作。工作人员的定义已经扩展为包含志愿人员(我们是非赢利组织)以及从我们单位之外挑选的员工。工作人员内联网包含创建页面、文章以及在另外两个域中产生的事件的工具。
  2. “会员”内联网
    一个由口令保护的在线社区,用于我们所服务的多达 16 万名会员 — 这里指我们的毕业生
  3. 公共域
    一个信息站点,链接面向公众的子网站和新闻文章。
我们为什么选择 PHP、Oracle、Apache 和 Linux

Apache 和 Linux。二者都以强健、低成本和安全性(在正确配置的情况下)而著称。除了作为数据库服务器操作系统给人留下深刻印象之外,我们还发现 Linux 的 Debian 版本(来自 http://www.debian.org/ 的 Debian 项目)特别适合作为 Web 服务器,原因在于它在开放源代码社区中具有非常高的支持率、其集成软件的高质量以及它在稳定性方面的良好声誉。

PHP。我们没有选择 Active Server Pages、ColdFusion 和 JSP,而是选择 PHP 作为我们的 Web 服务器端脚本环境,原因在于它的速度、成本效益、大量的库文件以及比其他 Web 技术更好的自定义功能。使用 PHP 还使我们免于束缚在特定厂商的开发工具集上。通过一个由 Web 网站以及程序员论坛(提供关于怎么样处理高级故障的有用提示)组成的

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:ORACLE PHP教程--从原型到产品的最短距离   下一篇:可扩展 可伸缩的 Oracle 与 PHP

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号