使用 Oracle Database 進行應用程式開發

Oracle Database 提供了兼具應用程式和資料服務的最全方位平台,讓企業應用程式的開發和部署變得更為簡單。您可以使用 CI/CD、多租用戶資料庫、Kubernetes、雲端原生和低程式碼技術來建置 SaaS 應用程式。

Oracle 融合式資料庫的微服務 (1:09)

Oracle Database 23c 免費版現可供開發人員使用

宣布推出 Oracle Database 23c 的免費早期開發人員版本,包括 JSON Relational Duality,這是過去 20 年來資訊科學的最新創新,適用於雲端和內部部署。

「不負對 App Simple 之名的眾望,」Oracle 藉由 Oracle Database 23c 免費開發人員版本,讓開發者能夠輕鬆試用最新的創新功能。在 Oracle Database 23c 中,開發人員有 300 多項功能和增強功能可供選擇,但 JSON Relational Duality 可能會成為最受歡迎的功能,因為它解決了文件和 SQL 方法在儲存和分析資料方面不符的問題。

Holger Mueller 副總裁與首席分析師,Constellation Research

使用 Kubernetes 引擎、Docker 容器和 Oracle Autonomous Database,建置具有以資料為中心之架構模式的手機餐點外送應用程式。現代化應用程式開發與產生操作資料和程式碼事件的資料導向微服務同義,並結合人工智慧 (AI) 和 (或) 機器學習 (ML)。Oracle Cloud Infrastructure (OCI) 上的融合式資料平台可讓您更輕鬆地建立新的微服務,以便處理各種事件以及與表格、JSON、圖表和空間資料類型相關的資料。GrabDish 應用程式範例示範如何使用 Terraform 命令檔、透過 Kubernetes 簡化的 DevOps 以及範例微服務程式碼,自動建立完整的微服務平台。

手機餐點外送應用程式圖表,說明如下 我在這裡放了一段描述,其中包括所有文字以及圖表的重要詳細資訊。想像必須向盲人描述圖表,所有想法要能以視覺化方式傳達給他們。

網路購物 (e-shop) 是 Web 型電子商務零售應用程式範例,其開發目的是為了示範 Oracle Sharding 這款超大規模全球分散式融合式資料庫如何以大規模平行處理 (MPP) 架構進行 OLTP 和分析。開發此類應用程式通常需要多種技術和產品。例如,您需要 JSON 資料庫、文字索引應用程式、關聯式資料庫和分析引擎,所有一切讓您很難跨多個資料存放區查詢資料。此範例使用 Oracle Sharding (具有三個分區),搭配儲存在單一資料庫平台中的不同類型資料 (包括結構化和非結構化資料、關聯式、JSON 以及文字)。

此範例應用程式包含多項功能,例如 Simple Oracle Document Access (SODA) API 和 JSON 的文字搜尋、聯結、交易,以及關聯式查詢的 ACID 屬性、模糊比對、輸入提示、任意格式文字搜尋和情感。

客戶案例研究

  • BlueKai 使用 Oracle Sharding 儲存數 PB 的資料,僅以一部資料庫就擴充到每秒數百萬筆交易 (43:48)
  • Epsilon 使用 Oracle Sharding 提高可擴充性、效能和可用性 (1:34)
網路購物圖表,說明如下 我在這裡放了一段描述,其中包括所有文字以及圖表的重要詳細資訊。想像必須向盲人描述圖表,所有想法要能以視覺化方式傳達給他們。

使用 Autonomous Database 為風險性客戶提供特殊方案。

現代資料平台需要跨儲存引擎 (關聯式、物件儲存和其他) 以及資料類型進行分析。Oracle Autonomous Database 可擷取列表化、空間、圖形和 JSON 資料,並包含每種資料類型的特殊演算法。我們使用了 Oracle MovieStream 這家虛構線上影片串流公司,說明不同類型的複雜分析可以如何套用至結構化和非結構化資料。您可以從資料湖存取資料、挖掘和探索列表式和 JSON 資料中的影片觀看洞察分析、使用機器學習預測流失、使用空間分析將方案本地化,以及套用圖表演算法來根據衍生的社群推薦影片。

行銷方案圖表,說明如下 我在這裡放了一段描述,其中包括所有文字以及圖表的重要詳細資訊。想像必須向盲人描述圖表,所有想法要能以視覺化方式傳達給他們。

使用雲端原生服務 (例如 Oracle Autonomous Database、Oracle Container Registry、Kubernetes 叢集、API 閘道和 Helidon) 建置及部署個人生產力應用程式。

此應用程式使用 Helidon 微服務架構,對 Java 後端進行 REST 呼叫。此應用程式使用部署在 Container Registry 中的 Docker 容器化,並由 Kubernetes 管理。Java 程式碼會實行 REST API 並連線至 Autonomous Database 以保留變更。

MyToDo 清單圖表,說明如下 我在這裡放了一段描述,其中包括所有文字以及圖表的重要詳細資訊。想像必須向盲人描述圖表,所有想法要能以視覺化方式傳達給他們。

購物車應用程式可讓客戶隨時從線上商店選取、複查及購買產品或服務。

此範例應用程式使用 Oracle Autonomous Database 和 Oracle APEX 從頭開始建立購物車。首先會匯入一個範例資料集,再建置一個具有多個頁面 (例如儀表板、產品和多份報表) 的應用程式。然後您可以新增頁面來管理購物車。

此應用程式可讓線上商店管理員管理產品、客戶及商店。客戶可以瀏覽產品、將產品加入購物車,最後再進行結帳。此方法可應用至其他使用案例,60 分鐘內就能建置具有客戶功能和管理員功能的入門應用程式,以便安全地管理網站的變更。

線上購物車圖表,說明如下 我在這裡放了一段描述,其中包括所有文字以及圖表的重要詳細資訊。想像必須向盲人描述圖表,所有想法要能以視覺化方式傳達給他們。

Oracle Machine Learning 是強大的解決方案,用於分析資料並將其套用至您組織中最有價值的資料,即 Oracle Database 中現有的企業資料。此範例示範資料專業人員如何使用 APEX 建置機器學習導向保險應用程式,從資料準備開始,到成功部署模型為止。

此範例保險應用程式也會說明在實際應用程式中部署模型的 DevOps 最佳實務,因此開發人員可以輕鬆存取強大的 AI/ML。

線上購物車圖表,說明如下 我在這裡放了一段描述,其中包括所有文字以及圖表的重要詳細資訊。想像必須向盲人描述圖表,所有想法要能以視覺化方式傳達給他們。

現代化應用程式開發

語言

Java

Java 是程式語言和開發平台的第一把交椅。Java 降低成本、縮短開發時間,以及提升應用程式服務。全球有數百萬名開發人員執行超過 510 億部 Java 虛擬機器,Java 仍然是企業和開發人員的首選開發平台。

Python

Python 程式設計語言活躍應用在當代電腦科學的所有領域。由於 Python 開發比大多數其他語言更有效率,因此對於必須快速且便宜地變更程式碼基礎的新創公司,這是熱門的選擇。科學家和數學家也將它用在許多強大的內部程式庫,以進行統計分析和複雜的數學運算。探索 Oracle Database 適用的 Python python-oracledb 驅動程式功能。python-oracledb 是啟用 Oracle Database 存取功能的 Python 擴充模組。它符合 Python 資料庫 API 2.0 規格,其中新增了許多項目,並排除兩個項目。

Oracle C 和 C++ Call Interface API

Oracle Call Interface C 和 C++ API 可讓您建立使用函數呼叫來存取 Oracle Database 的應用程式,以及控制 SQL 敘述句執行和資料存取的所有階段。

Node.js

Node.js 可讓開發人員使用易於理解的程式碼建置快速、可擴充的網路應用程式。它可在 Windows 作業系統、macOS、Linux、Unix 及其他作業系統上執行。它支援 ARM 處理器,例如 Raspberry Pi 或 BeagleBone Black。對於需要使用簡單的程式碼來建置快速、可擴充網路應用程式 (例如 Web 伺服器及其他支援行動應用程式的後端系統) 的開發人員,Node.js 是理想的選擇。

Node.js 的 node-oracledb 附加元件支援高效能 Oracle Database 應用程式。這些應用程式可以使用 TypeScript 或直接使用 JavaScript 編寫。

.NET

Oracle 的 .NET 開發社群人數超過 800,000 位成員。熱門產品包括 Oracle Data Provider for .NET (ODP.NET),此產品已最佳化,可使用 Oracle Database 的高可用性、效能和安全性功能,並同時讓開發人員完整地存取 .NET 和 .NET Framework。Oracle Developer Tools for Visual Studio Code (VS Code) 和 Visual Studio 是附加元件,可用來編輯、執行和除錯內部部署或雲端的 Oracle Database SQL 和 PL/SQL。

PL/SQL

PL/SQL 是一種內嵌語言,專為有效率地使用 Oracle Database 而設計。PL/SQL 為 SQL 新增程序建構,並提供更全方位的程式設計語言解決方案,能夠在 Oracle Database 上建置關鍵任務應用程式。

微服務與行動裝置

什麼是微服務?

微服務是開發現代軟體的架構方法。每個核心功能或服務都代表一個獨立建置和部署的商業相關資訊環境。微服務在建置和維護應用程式方面提供了靈活性。現今的應用程式現代化與微服務同義。

Spring Boot 的微服務

建置小型、獨立並可立即執行的應用程式,可為您的程式碼帶來絕佳的彈性和更高的韌性。Spring Boot 中特定用途的功能可讓您輕鬆大規模地在生產環境中建立和執行微服務。微服務分散式性質帶來了挑戰,而 Spring Boot 可協助您降低風險。不論您選擇哪個訊息傳送平台,Spring Cloud Stream 都能讓您輕鬆使用及產生事件。Oracle 提供 Oracle Backend for Spring Boot and Microservices。

行動應用程式開發

Oracle Mobile Backend as a Service (MBaaS) 可協助開發者使用剖析平台 API,運用各種開發者 SDK (Javascript、Flutter、Unity 等) 建置現代化行動應用系統。Oracle Database 轉接器可用於利用 Oracle 融合資料庫中的豐富應用程式和資料服務。MongoDB 和 PostgreSQL 轉接器已經可在「剖析」平台使用,平台會在概念驗證的示範中模擬 Google Firebase API,提供可在 Google Firebase 服務執行的範例應用程式,而且只要進行最少的變更,即可在 Oracle MBaaS 平台上執行 parsef 模擬器程式庫。

企業應用程式開發結合 Web 優先微服務與應用程式中的行動優先功能,以及在由 Kubernetes 管理的應用程式容器和剖析容器中執行微服務,可輕鬆將這兩種應用程式樣式 (一種在 Java 中) 與 JavaScript 中的另一種樣式相結合。

Java 與 Helidon 的微服務

Helidon 是一組 Java 程式庫,用於撰寫由 Netty 提供之快速 Web 核心上執行的微服務。

Java 與 Micronaut 的微服務

這項現代化、以 JVM 為基礎、完整堆疊的架構,可建置模組化且易於測試的微服務和無伺服器應用程式。使用此架構時,應用程式啟動時間和記憶體使用量不會受限於您的程式碼基礎大小,因此產生更短的啟動時間、快速的傳輸量和最小的記憶體使用量。

Transaction Manager for Microservices (MicroTx)

Oracle Transaction Manager for Microservices 透過啟用分散式交易來簡化應用程式開發和作業,以確保在 Kubernetes 和 (或) 其他環境中部署的多語言微服務之間保持一致性。此交易管理程式會在資料庫外部執行,並適合在異質資料庫之間執行。此外,MicroTX 支援「長時間執行的動作」(Long Running Actions,LRA) 和「嘗試-確認-取消」(Try-confirm-cancel,TCC) 一致性協定。

融合式資料參考架構

以資料為中心的現代化應用程式開發

參考架構使用設計原則,滿足整合 AI/ML、資料導向分析和訊息傳送平台之 Web/行動應用程式的核心現代化應用程式開發需求。架構是事件導向的,可即時回應事件。這些架構有助於加速金融、零售、醫療保健、能源和製造業中的自訂應用程式開發,同時協助擴充封裝的 Oracle 應用管理系統。大多數企業應用程式都是以資料為中心,包含各種資料,最適合由融合式資料庫處理。低程式碼應用程式開發可壓縮所需的技術層數量,與多語言程式設計一樣,都是使用熱門語言 (例如 Java、Python、JavaScript 等) 的選項。由 Kubernetes 管理的應用程式和資料庫容器可部署在 OCI、獨立環境和其他主要公有雲上。

我們獨斷選擇的建議技術涵蓋下列項目,但我們瞭解這些類別中的設計選項與最佳實務可能會重疊,例如行動應用程式是以事件導向、以低程式碼建置,並會處理大數據。我們為您提供了以下建議,作為架構模式的主要類別:

低程式碼應用程式

Oracle APEX 的低程式碼

低程式碼平台可讓您比傳統手動編寫程式碼更快速地建置企業應用程式。這些平台適合用來與業務專案關係人協同合作建置資料報告和分析應用程式以及機會應用程式、擴充 SaaS App,以及將舊版應用程式現代化。

Oracle APEX 使用資料庫封裝的簡單中繼資料導向架構,提供快速的資料存取、最佳效能和可擴充性。

Blockchain App Builder

Blockchain App Builder 提供低程式碼開發和測試環境,以支援編程、本機測試,以及智慧合約的自動化部署。它可以從宣告式規格自動產生智慧合約,並協助進行開發、測試和部署。它也為整個標記生命週期提供代碼化支援,並自動產生鏈碼。

適用於 JSON 的簡單 API

Oracle 交易事件佇列

Oracle 交易事件佇列 (TxEventQ) 是高效能分割實行佇列,每個佇列具有多個事件串流。TxEventQ 是 Oracle 進階佇列的分割內建記憶體實行。TxEventQ 佇列支援 JMS 規格,並可在 Java、Python、Node.js、PL/SQL、C/C++、.NET 和 Go 中存取。

Oracle XML Developer’s Kit

XML 是一種與 HTML 類似的命令檔語言,主要用於儲存和傳輸資料。Oracle XML Developer’s Kit (XDK) 是一組多功能元件,可讓您建置和部署處理 XML 的 C、C++ 和 Java 軟體程式。您可以將這些元件組合成一個 XML 應用程式,來滿足您的業務需求。

機器學習

Oracle Database 利用在資料庫內執行的強大演算法來加速機器學習。這可讓您建置和執行 ML 模型,無須移動或重新格式化資料。資料科學家利用 Python、R、SQL 和其他工具將 ML 功能整合到資料庫應用程式中,並在容易使用的儀表板中提供分析結果。

Oracle REST Data Services API

Oracle REST Data Services API 可讓 Oracle REST Data Services 使用者透過方便易用的 REST API 來執行 Oracle Database 管理和監控作業。ORDS 資料庫 API 提供多項服務,例如可插拔資料庫管理、資料匯出,以及資料庫效能複查。

SQL

Oracle SQL

Oracle SQL 提供了簡單、精緻且高效能的架構來存取、定義及維護資料。SQL 可搭配 Oracle 以及 PHP、Java、Python、.NET、Hadoop、Node.js 和 Oracle APEX 使用。

SQL*Plus

SQL*Plus 是每次安裝 Oracle Database 伺服器或用戶端都會提供的互動式批次查詢工具。它會提供一個命令行使用者介面,讓您輸入和執行 SQL、PL/SQL、SQL*Plus 及作業系統命令。

SQL 開發人員

Oracle SQL Developer 是一項免費的圖形工具,可簡化資料庫開發工作。您可以使用 SQL Developer 瀏覽資料庫物件、執行 SQL 敘述句和 SQL 命令檔、編輯和除錯 PL/SQL 敘述句、操控和匯出資料,以及檢視和建立報表。您可以連線至 Oracle Databases 和選取的第三方 (非 Oracle) 資料庫、檢視中繼資料和資料,以及將這些資料庫移轉至 Oracle。SQL Developer 還將介面整合至數個相關技術中,包括 Oracle Data Miner、Oracle OLAP、Oracle TimesTen In-Memory Database,以及 SQL Developer Data Modeler (唯讀)。

SQL Developer Data Modeler

Oracle SQL Developer Data Modeler 是一項資料模型設計和資料庫設計工具,提供可擷取、模型化、管理及利用中繼資料的環境。

SQLcl

Oracle SQLcl (SQL 開發人員命令行) 是適用於 Oracle Database 之以 Java 為基礎的命令行介面。您可以使用 SQLcl,以互動或批次模式執行 SQL 和 PL/SQL 敘述句。SQLcl 提供內嵌編輯、敘述句完成、指令重新呼叫,並支援現有的 SQL*Plus 命令檔。

LiveSQL

學習並分享 SQL,同時改善編寫程式碼的能力。這包括教學課程、範例巨集、查詢計畫說明。只要幾秒就能在瀏覽器中執行程式碼。

Oracle Database Actions

Oracle Database Actions (前身為 SQL Developer Web) 是一種 Web 型介面,為 Oracle Database 提供開發、資料工具、管理和監控功能。它可透過 Oracle Autonomous Database 取得,並隨附於 Oracle REST Data Services (ORDS) 下載,以供內部部署使用。

資料類型

JSON 資料/文件

Oracle Database 提供 API 來操控 JSON 資料,並支援 JSON 資料的原生儲存。這可讓您分析、保護 JSON 資料,以及對資料執行其他作業。

Oracle 的空間資料庫

Oracle Database 提供 Oracle 的空間資料庫。它可讓開發人員和分析師輕鬆開始使用位置情報分析和對應服務。它可讓地理資訊系統 (GIS) 專業人員成功部署進階地理空間應用程式。組織可以管理不同類型的地理空間資料、執行數百個空間分析作業,以及使用互動式地圖視覺化工具搭配 Oracle Autonomous Database 與 Oracle Database 中的空間功能。

圖表資料庫和圖表分析

Oracle 的融合式資料庫提供 Oracle 的圖表資料庫。它可讓圖表使用者使用兩種熱門圖表模型:特性圖表與 RDF 圖表。開發人員、分析師和資料科學家可以使用圖表查詢來探索資料關係,並使用預先建立的圖表演算法執行圖表分析來收集業務洞察分析,例如進行建議、尋找社群、圖樣符合、識別詐騙及其他異常。Oracle Autonomous Database 中的 Graph Studio 提供完全受管理的自動化圖表資料介面,可讓您輕鬆建立及查詢圖表。它透過進階筆記本和互動式視覺化功能,提供廣泛的圖表分析和圖表查詢支援。

Oracle XML 資料庫

Oracle XML 資料庫 (XML DB) 可讓您以原生方式儲存和操控 XML 資料。它提供複雜的資料分析和報告、高效能和可擴充性、資料保護,以及存取控制。

開發運營

Kubernetes Operator

Oracle Database Operator for Kubernetes (也稱為OraOperator) 擴充了 Kubernetes API 的自訂資源定義和控制器,以自動化 Oracle Database 作業。Kubernetes 已成為最熱門且無所不在的開放原始碼架構,可自動化持續整合與持續交付 (CI/CD) 管線。

統一可觀察性

應用程式開發的端對端可觀察性,包括應用程式層、中間層和資料層。使用 Prometheus 收集和分析指標、記錄和追蹤,並使用 Grafana 作為監控儀表板。

真正的應用程式安全防護

Oracle Database Real Application Security Administration (RASADM) 可讓您使用圖形使用者介面建立 Real Application Security 資料安全性原則。

Real Application Security 管理應用程式使用者的應用程式安全性,而非資料庫使用者。它可讓應用程式使用者識別在安全強制實行期間為已知。透過 Real Application Security,開發人員可以管理應用程式層級工作的安全性,並將安全性漸進或一次全部返回資料庫層。

Java 資料庫連線

Java 資料庫連線 (JDBC) 是一項 Java 標準,提供將 Java 應用程式連線至關聯式資料庫的介面。除了支援標準 JDBC 應用程式介面 (API) 之外,Oracle JDBC 還提供擴充功能來支援 Oracle 特定資料類型,以及增強連線至 Oracle Database 的 Java 應用程式效能。

使用融合式 Oracle Database 進行應用程式開發的客戶成功案例

探索所有客戶案例
Exelon Corporation 使用 Oracle Mobile Cloud 企業版提升客戶體驗
Epsilon 使用 Oracle Sharding 提高可擴充性、效能和可用性
MineSense 在大型挖土機上使用 X 光感測器,將 IoT 資料傳送至 Oracle Autonomous Database,以協助礦坑執行更精確的作業。
紐約戶外媒體公司使用 Oracle Autonomous Database 和 Oracle Analytics,更快速地合併第三方資料,以建議客戶將廣告預算花費在何處會有最大成效。
NHSBSA 使用機器學習來改善患者治療結果、最佳化內部流程及減少詐騙。他們發現每年持續省下 10 億美元。
Siemens Mobility 透過使用 Autonomous Transaction Processing 整合不同來源的資料,提供專案經理準確的即時資訊,不僅降低 90% 的成本,還改善上市時間。

使用 Oracle Database 進行現代化應用程式開發的優點

  • 融合式資料能力

    融合式資料架構模式可跨應用程式堆疊的多個維度進行聚合,讓您同時對各種資料類型執行查詢、使用 AI/ML 處理操作資料和分析、以多種語言進行開發,以及在多個雲端上部署。DevOps 可透過 Kubernetes 管理的容器化資料庫架構變得更簡單容易。

  • 資料和事件完整性

    支援 Oracle 融合式資料庫中各種資料的 ACID 交易,並可透過選擇的語言進行程式設計,以及使用內建交易訊息/事件。

  • 統一可觀察性

    系統會收集並分析每層 (應用程式層、中間層和資料層) 的指標和記錄,所有項目都會經過整合,讓開發人員更輕鬆進行除錯和效能調整。

  • 簡化的應用程式和資料安全性

    將應用程式角色的安全性與 Kubernetes 加密密碼整合,以使用保存庫儲存密碼,並提供資料安全性評估、遮罩和加密。

2021 年 9 月 4 日

使用 Oracle Database 中的 AQ/TEQ,在 Java、JavaScript、Python、.NET 和 Go 中開發事件導向微服務

Oracle 開發人員技術傳播者 Paul Parkinson

有越來越多的微服務使用事件導向架構進行通訊,這也是為什麼許多資料導向系統也採用某種形式的事件溯源模式。此時,資料變更會透過事件來傳送,這些事件會描述相關服務收到的資料變更。資料是來自事件,而事件溯源一般會將資料的事實來源移至事件中介。這剛好符合微服務的分離典範。

精選 Oracle Database 部落格

查看全部

開始使用 Oracle Database 進行應用程式開發

 

適用於應用程式開發的 Oracle LiveLabs

在適用於應用程式開發的 Oracle LiveLabs 中使用來自 Oracle Database 的服務建置範例應用程式。

 

聯絡我們

想深入瞭解詳細資訊?與我們其中一位專家聯絡。