程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle開發的企業實際應用相關程序

Oracle開發的企業實際應用相關程序

編輯:Oracle數據庫基礎

以下的文章主要是描述麥吉爾大學在Oracle開發和校友關系部是如何使用 PHP 與Oracle 在某些網上支持多達, 16 萬名用戶,在麥吉爾大學(位於加拿大魁北克省的蒙特利爾)的研發和校友關系部,我們正在使用行業級的 PHP 應用程序和 Oracle9i。

將范圍廣泛的多層次服務轉移到 Web 上,這些服務由 200 到 300 名受薪的和志願的工作人員以及多達 16 萬名校友和捐贈人使用。

預計該程序在主要的電子廣播時段每小時將會接納數萬名用戶。我們利用 Oracle 功能強大的行級安全特性以及 PHP 的高性能和快速開發平台來完成這一工作。本文將探討以下方面:

背景

我們為什麼選擇 PHP、Oracle9i、apache 和 Linux

應用程序的結構

安全性

同步

學到的教訓以及對Oracle開發人員的建議。

背景

我們的機構面臨著很多機構所面臨的問題:

中央數據庫應用程序

散亂而繁瑣

屬於關鍵任務並且不可替代

難以更改或者幾乎無法更改

依賴生產商的版本升級進行更改

出於安全和成本的考慮,不能訪問互聯網

大量半獨立狀態的輔助數據庫和 Web 站點

與中央數據庫沒有充分同步

對於適當的安全性和升級維護而言,數量過多

為最終用戶提供過多的 ID 和口令

沒有遵循已確立的機構業務慣例

越來越多地要求

通過基於 Web 的 IT 工具獲得機構的高效率和生產率

易於使用

在功能間同步數據

可伸縮性

靈活性

功能的擴展性

加強 IT 和一般業務慣例的應用

那麼,我們正在如何應對這些挑戰呢?

我們已經啟動了安全的、基於 Web 的模塊化數據庫應用程序Oracle開發的第一階段。它以 PHP 和 Oracle9i編寫而成,在替代衛星應用程序及 Web 站點之後,必將為用戶提供更好的服務。它對公共數據進行同步,並在總體上以及數據方面加強最佳業務慣例的應用。

該應用程序稱為 Companion,因為它增加了反向中央數據庫的功能,准確地報告中心數據,並在出現新數據時將其回送。

它包含超過 100 個表,這些表被分為 6 個模塊。最長的表大約有一百萬行。有些表有 20 到 30 列。全部用途是由用於行級安全性的 Oracle 細粒度訪問控制 (FGAC) 和虛擬專用數據庫 (VPD) 構成的。

Companion 應用程序包含三個域,而且能夠容納更多的域,這些域全都安全地訪問同一 PHP/Oracle 應用程序中的相同數據。這些域包括以下內容:

工作人員內聯網

為 200 到 300 名工作人員提供的內聯網,包含人們在許多工作人員內聯網中可以看到的所有 Web 網站、在線文檔和目錄,還包含一組模塊,用於完成以前由輔助應用程序所做的所有工作。工作人員的定義已經擴展為包含志願人員(我們是非贏利組織)以及從我們單位之外挑選的員工。工作人員內聯網包含創建頁面、文章以及在另外兩個域中產生的事件的工具。

“會員”內聯網

一個由口令保護的在線社區,用於我們所服務的多達 16 萬名會員 — 這裡指我們的畢業生

公共域

一個信息站點,鏈接面向公眾的子網站和新聞文章。

我們為什麼選擇 PHP、Oracle、apache 和 Linux

apache 和 Linux。二者都以強健、低成本和安全性(在正確配置的情況下)而著稱。除了作為數據庫服務器操作系統給人留下深刻印象之外,我們還發現 Linux 的 Debian 版本(來自http://www.debian.org/的 Debian 項目)特別適合作為 Web 服務器,原因在於它在開放源代碼社區中具有非常高的支持率、其集成軟件的高質量以及它在穩定性方面的良好聲譽。

PHP。我們沒有選擇 Active Server Pages、ColdFusion 和 JSP,而是選擇 PHP 作為我們的 Web 服務器端腳本環境,原因在於它的速度、成本效益、大量的庫文件以及比其他 Web 技術更好的自定義功能。使用 PHP 還使我們免於束縛在特定廠商的Oracle開發工具集上。

通過一個由 Web 網站以及程序員論壇(提供關於如何處理高級故障的有用提示)組成的網絡,可以在 Web 上獲得支持。有些 Web 網站還提供大量可用於開發更大型應用程序組件的有效代碼。大部分程序員很容易理解 PHP 代碼,因為它使用了與 C 相似的語法。我們討論過,使用 Java 來開發我們所期望的服務器對象,其運行效率高於腳本代碼。

但是,我們尚未發現需要與 Java 集成,因為已經證明 PHP 非常靈活和快速,足以滿足我們的需要。清單 1顯示了一個通過 PHP 查詢 Oracle 的示例。

在進行更加復雜的面向對象的編程時,使用 PHP 的不足就會顯現出來。這是因為它最初是作為一種腳本語言構建的,所以在 PHP 第 4 版中面向對象的特性非常少。這一問題已在 PHP 第 5 版中得以解決,該版本中引入了高級的面向對象特性。

Oracle9i。在不使用第三方工具的情況下,保持 Companion 數據庫與中央數據庫的同步是我們的首要需求之一。在兩個 Oracle9i系統之間交換數據將會證明比開發其他轉換和傳輸數據的方法要容易得多。在我們的案例中,使用 Oracle9i帶來的好處與我們的投入相比要大得多,這是因為我們能夠利用先前 PL/SQL 代碼,從而節省了開發時間。

由於 Oracle 也移植到了 Linux 上,因此我們現在在 PC 體系結構的數據庫服務器操作系統方面有了更多的選擇。雖然中央數據庫運行在 Oracle8i上,但我們選擇使用 9i進行Oracle開發,以利用其更加先進的 VPD 特性(如 FGAC 和安全應用程序環境),它是市場上具有這些功能的唯一平台。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved