行级安全性:设计和编写行级安全系统更加容易和直观,这种系统将会从表和应用程序代码开始运行。对于每一行数据,都在表中的某处存有相应的安全属性。不幸的是,这种应用程序级的安全性使性能降到很低的程度,并且在应用程序编程过程中很容易有疏漏。对于性能和可伸缩性,我们建议使用
Oracle9i 的精确访问控制和虚拟专用数据库技术,而不要顾及它们具有挑战性的学习曲线。
团队规模和极限编程:我们在开始时实施了不太正规的“极限编程”。后来我们发现,即使在规模很小的程序员小组中(在本案例中为三人),当更清楚地确定责任、功能和专业技术时,开发工作就会更加高效地进行。我们的
DBA 指导者、网络指导者以及管理中央数据库的 Oracle 程序员所提供的支持是无价之宝。
质量保证:由于缺少资源,我们没有专门针对该项目的质量保证测试人员。相反,我们依靠各种技术人员和非技术人员提供反馈信息。这种非正规“志愿者”测试人员的工作效果并不佳。很多错误和遗漏的功能在很长时间内未被发现。结果是,调试和更改过程花费了比预期长得多的时间。
副本服务器:我们不仅为所有开发工作维护着一系列测试服务器(Web 服务器加上 Oracle9i 服务器),而且还维护着一个每
24 小时从产品服务器刷新一次的 Oracle9i
副本服务器。副本服务器是一个快速而方便的备份。我们从副本服务器恢复文件和数据的经验非常有效。副本服务器能够在很短的时间内替换产品数据库服务器。经常出现的情况是,测试数据库服务器上的更改在最终上载到产品服务器之前,首先转移到副本服务器上进行测试。我们还计划装备
Oracle 备用服务器,这样就在产品服务器出现严重故障时确保数据的零丢失。
备份:我们仍然配备着一个传统的磁带备份系统,进行离线存储。不幸的是,备份磁带难以处理、容易出故障并且恢复速度很慢。我们喜欢一种更好的转储机制。Oracle9i
数据库和 Web 服务器文件被转储到另一台服务器上的可用驱动器中。每日的数据保留一周时间。每周的数据保留一个月。
资源分配:我们估计,花费在 PHP 和
PL/SQL 编程方面的总时间只占所分配时间的 22%。这么小的数字使我们进一步确信这些工具所带来的具有低成本的效益。图 6 显示了时间分配的完全突破情况。
图 6:项目时间分配
我们认为,本文中所描述的开发模型的使用范围是无限的。总而言之,该模型包括了保持核心同步数据的伴随数据库、多层应用程序结构、半独立的模块式开发、为新模块提供框架的核心安全组件、全部范围的
Oracle 安全特性(特别是 FGAC)以及 PHP
编程的快速和可靠性。我们强大的中央数据库的功能、准确性和相关性得以增强,而在每次发布新的模块时,都在具有最少逻辑障碍的情况下为用户添加功能。总的说来,最令人满意的是,它为用户提供非常良好的服务并且技术支持很易于管理。
Kevin Kardasz (kevin.kardasz@mcgill.ca),麦吉尔大学信息系统开发经理,他设计了该项目并担任项目经理。Vadim Kudryavtsev (vadim.kudryavtsev@mcgill.ca),高级程序员,是他们的数据库开发和安全专家
(VPD, FGAC)。Robert Mark (robert.mark@mcgill.ca),Web 程序员,是他们的首席 PHP
专家。Mikhail Seliverstov (mikhail.seliverstov@mcgill.ca),Web
程序员,是业务分析专家和系统设计师。
如果您对本文有任何疑问或者建议,请到讨论区发表您的意见:
>>
论坛入口 <<
上一篇:
ORACLE PHP教程--从原型到产品的最短距离
下一篇:
可扩展 可伸缩的 Oracle 与 PHP
【文章评论】
【收藏本文】
【推荐好友】
【打印本文】
【我要投稿】 【论坛讨论】