Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Oracle APEX概要
Search
Yuji Nakakoshi
October 18, 2019
Programming
0
130
Oracle APEX概要
Oracle APEXの概要、機能、製品コンポーネントなどの説明です。
Oracle APEX 19.1での説明になります。
ノート付きの資料です。
Yuji Nakakoshi
October 18, 2019
Tweet
Share
More Decks by Yuji Nakakoshi
See All by Yuji Nakakoshi
Oracle APEXの紹介 - Oracle APEXとは何か、始め方と学び方
ujnak
0
230
Oracle APEXクイックガイド 22.2版
ujnak
0
730
F1より速く - F1グランプリのアプリをAPEXで作成する
ujnak
0
300
ローコード開発とOracle APEX - 教育の分野への活用
ujnak
0
78
Oracle APEX概要 20.2版
ujnak
0
140
Oracle APEXデモンストレーション手順
ujnak
0
130
Oracle APEX:アイデアからアプリケーションへ:光の速度で実現する環境
ujnak
0
92
世界食堂 - Oracle APEXアプリケーションを複数言語、複数タイムゾーンに対応させる
ujnak
0
790
Oracle APEXへのオープンデータの取り込み
ujnak
1
810
Other Decks in Programming
See All in Programming
Identifying User Idenity
moro
6
7.9k
EventSourcingの理想と現実
wenas
6
2.1k
Snowflake x dbtで作るセキュアでアジャイルなデータ基盤
tsoshiro
2
430
CSC509 Lecture 08
javiergs
PRO
0
110
外部システム連携先が10を超えるシステムでのアーキテクチャ設計・実装事例
kiwasaki
1
230
Piniaの現状と今後
waka292
5
1.5k
Importmapを使ったJavaScriptの 読み込みとブラウザアドオンの影響
swamp09
4
1.2k
現場で役立つモデリング 超入門
masuda220
PRO
13
2.9k
Golang と Erlang
taiyow
8
1.9k
アジャイルを支えるテストアーキテクチャ設計/Test Architecting for Agile
goyoki
7
2.8k
Kaigi on Rails 2024 - Rails APIモードのためのシンプルで効果的なCSRF対策 / kaigionrails-2024-csrf
corocn
5
3.4k
PHP でアセンブリ言語のように書く技術
memory1994
PRO
1
150
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.2k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
The Invisible Side of Design
smashingmag
297
50k
The Art of Programming - Codeland 2020
erikaheidi
51
13k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
How GitHub (no longer) Works
holman
311
140k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Designing the Hi-DPI Web
ddemaree
280
34k
The Pragmatic Product Professional
lauravandoore
31
6.3k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
9
680
For a Future-Friendly Web
brad_frost
175
9.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
43
6.6k
Transcript
2
This is a Safe Harbor slide! If you are *not*
an Oracle employee this slide should be deleted. For Oracle employees the Safe Harbor slide must be used if your presentation covers material affected by Oracle’s Revenue Recognition Policy 3
4
Oracle APEXを一言で説明すると「データベースで動作するWebアプリケーション開発フレームワーク」です。 最大の特徴を3点、ご紹介します。 (左の図) Oracle APEXを、デスクトップ向け、および、モバイル向けのWebアプリケーション開発に使うことによって、 データベースで動作する、美しく、レスポンシブなアプリケーションの設計と開発ができます。 (真ん中の図) データベースに蓄積されたデータを使ったレポート、フォーム、チャート、カレンダーなどを、素早く作ること ができます。
(右の図) IT技術者はもちろん、IT技術者でなくても、少しのSQLの知識があれば、アプリケーションを作り始められま す。 さらに、Oracle APEXはOracle Databaseが提供する機能の多くを利用することができます。 5
Oracle APEXがどのように利用されているかの一例です。 Oracle APEXは幅広い業界で、利用者の規模の大小に関わらず、様々(さまざま)なビジネス上の問題を解決するた めに使用されています。簡単なところでは、スプレッドシートの置き換えから始まり、数千人が利用する、銀行や保険 の業界で利用されているアプリケーションもあります。APEXは、Oracleが提供しているERPソフトウェアである、Oracle E-Business Suiteの公式にサポートされる拡張ツールであり、利用者は簡単にEBSに機能追加を行うことができます。 (左の図) 変更の激しいビジネス上の要件にいち早く追従することや、競争優位性を最大化するようなアプリケーションを素早
く作成するために、広く利用されています。作成されるアプリケーションはバックオフィスでの利用というよりは、主に 一般の従業員、パートナー、顧客を対象としています。 (真ん中の図) パッケージソフトウェアを既存のビジネスプロセスと統合するため、および、組織が持つ特別な要件を満たすための 拡張を行うために使われています。 (右の図) スプレッドシートやMS AccessによるアプリケーションをWeb化することによって、複数のユーザーが同時に使用でき る、セキュアで堅牢な”信頼できる唯一の情報源”として、アプリケーションを提供することができます。 その他、レガシーなクライアント・サーバー型のアプリケーションのモダナイズにも使用されています。 (まとめると) • デスクトップとモバイル・デバイスからの、データベースに保存されているデータの保守や可視化。 • エンタープライズ・アプリケーッションの拡張 • レガシー・アプリケーションのモダナイズ • デスクトップ・ツールとスプレッドシートのWeb化 今の所、これらが主な用途になっています。 6
Oracle APEXの特徴になります。 (左の図) Webブラウザだけを使ってURLを指定することで開発環境にアクセスできます。また、開発したアプリケー ションへは、URLとユーザーの認証情報だけでアクセスできます。特別なクライアント・ソフトウェアは必要 ありません。 (真ん中の図) 宣言的なフレームワークであるOracle APEXのエンジンでは、アプリケーションとは定義であり、オラクルの データベースの表に保存されます。ファイルへのコード生成やコンパイルは行いません。
(右の図) すべてのページの処理はデータベース内でのデータ処理であり、オラクル・データベースのスキーマで直 接実行されるPL/SQLによってページが生成されています。したがって、すべてのデータはデータベースの キャッシュを有効に使い、非常に効率的にHTMLのページが生成され、それが結果として返されます。 7
Oracle APEXはアプリケーションの開発や実行を、追加ライセンス費用無しで行うことができる、Oracle Databaseのオプション機能です。また、Oracle Databaseのサポート契約は、Oracle APEXも含んでいます。 (スキーマ・サービスは日本でほぼ使われていないので、説明しない) Oracle Database Cloud Service
– Schema Serviceを契約すると、Application Expressがあらかじめ構成され ていて、すぐに開発を開始できるオラクル・データベースのスキーマが提供されます。 Oracle APEXはオラクル・データベースより、頻繁(ひんぱん)に更新がリリースされています。最新バージョ ンはOracleのソフトウェア・ダウンロード・サイト(https://www.oracle.com/downloads/)にあるOracle APEXの ページから入手してください。 8
Application Expressの核(コア)となる部分は、アプリケーションの実行に必要な、基本的なサービスや操 作を提供しているエンジンになります。 アプリケーションの認証、ページまたはオブジェクト・レベルのアクセス制御、データベースの操作(これは、 問い合わせ、アップデート等を含みます)、フォームの検証、セッションの管理と保護、それ以外に多数の 標準コンポーネントが提供されており、全てのアプリケーションは、これらを利用することで、基本的な機 能のコーディングを避けることができます。 フォーム、レポート、チャート、ナビゲーションといったアプリケーション・オブジェクトは設定するだけで使 用できます。そのため、短期間で十分な機能を持ったアプリケーションを作ることができ、アプリケーション 開発全般のアジリティが向上します。
9
ローコードによるアプリケーション開発の利点は、より少ない時間、より少ないコストで、最大の生産性を 安定して達成できることにあります。 Oracle APEXのようなローコード・フレームワークは、レポーティング、データ・ビジュアライゼーション、 フォーム制御といった強力なコンポーネントを含み、それらを活用してアプリケーションを開発します。この 方法によって、アプリケーション開発者はビジネス上の問題を解決すること、優れた解決方法を提供する ことに集中することができます。 従来のアプリケーション開発によくある、低レベルのコーディングに費やす時間をできるだけ短く、より少 ない作業にします。思いついたアイデアを数日のうちにアプリケーションとして完成させることができます。 数週間や数ヶ月ではありません。
Oracle APEXの一般的な開発ステップは以下になります。 ステップ1 – データベースのオブジェクト、主に表を作成します。 ステップ2 – 作成したデータベース・オブジェクトを指定して、直にアプリケーションを開発します。 ステップ3 – アプリケーションを実行します。 Oracle APEXはローコード、高生産性のプラットフォームです。つまり、初めてでも、すぐにアプリケーション を作ることができます。事前の準備も、クライアント・ソフトウェアも、そして本当に素晴らしいことに、無料 で始められます。 Oracle APEXはローコード・ツールが備える、高い生産性、扱いやすさ、柔軟性と、エンタープライズ向け開 発ツールが備える、セキュリティ、一貫性、拡張性、可用性の双方が組み合わされた、Webアプリケーショ ンを開発するツールです。 10
Oracle APEXは、ウィザード、ドラッグ・アンド・ドロップ、ドロップダウン・リストといった、ノーコードを実現す る様々なコンポーネントを一揃い提供しています。 さらに進んだアプリケーションを作成するために、短いコード・スニペットを、ページ、リージョン、アイテム、 検証といったコンポーネントに直接、記述することもできます。 アプリケーションをさらにカスタマイズ、パーソナライズ可能にするために、3GLコードやAPEXプラグインを 組み込むことも可能です。 重要なことは、Oracle APEXによる開発の要件がより高度になるに従って、徐々にコードを追加できること です。アプリケーションを開発するにあたって事前に決められた方式を超えると、いきなり3GLのコードを大
量に記述しなければならない、といったことはありません。 11
アーキテクチャーは単純で、ブラウザからのページのリクエストやフォームのサブミットは、ミドルティアを 経由し、データベースの内部で処理され、そこで生成されたHTMLが応答としてブラウザへ返されます。 ミドルティアはデータ処理や操作といったことは行わず、データベースで動作しているAPEXエンジンがペー ジ・リクエストを受け取り、DBのスキーマにあるデータを使った処理を行います。 ミドルティアは、Javaアプリケーションサーバー上で動作するOracle REST Data Service (ORDS)を利用するこ とが推奨されています。
ORDSを動作させるJavaアプリケーションサーバーとしては、Oracle WebLogic Server(WLS) 、Oracle Glassfish, Tomcatがあります。また、ORDS自体にStandaloneで動作するJettyが含まれていますので、それ を使うこともできます。 HTTPサーバーをORDSの前に配置して、静的なイメージはHTTPサーバーから提供する、といった構成も一 般的です。 12
Oracle APEXは操作する対象、レポートする対象のデータが含まれたデータベースで動作させると最も 効率的です。 Oracle APEXはAPEXが実行されているデータベースで「ローカルに」SQLを実行する以外にも、リモート のオラクル・データベースでSQLを実行することができます。これはORDS 17.4から提供されている REST対応SQLの機能に基づいています。ORDSでREST対応SQLの機能が有効になっていれば、SQL 文をHTTP POSTメソッドで渡すことができます。実行結果は自己記述的(self-describing)なJSON
フォーマットで返されます。クライアントSQL*Netを使わずに、Oracle DatabaseとHTTP/HTTPSといった 一般的なプロトコルによって通信することができます。REST対応SQLを使うための前提条件は、ORDS 17.4以上がインストールされていることです。それ以前のORDS 3.0.xはREST対応SQLはサポートして いません。 Oracle APEXは共有コンポーネントとして、RESTサービスを定義する方法を提供しています。この機能 によって、開発者は外部のRESTサービスを直接操作するコンポーネントを定義することができます。例 えば、対話レポートで外部のRESTサービスの出力を一覧できます。外部のRESTサービスを共有コン ポーネントのWebソース・モジュールとして定義した後、対話レポートやクラシック・レポートのデータ・ソー スとして使用します。 その他に、SOA環境が提供するRESTまたはSOAPによるWebサービスや、データベース・リンクを使っ たリモート・システムとの統合が可能です。 13
ワークスペースとスキーマの関係は多対多 – many to many です。 組織で運用しているオラクル・データベースがひとつでも、それぞれ独立してアプリケーションを開発でき る複数のワークスーペースを持つことができ、それによって複数の開発部隊をサポートすることができま す。 それらのワークスペースに対して、必要であれば、ひとつ以上のスキーマへのアクセスを許可することが
できます。 DBAはインフラを管理します。それに対して、開発部隊はアプリケーションを作ることに専念します。 14
APEXはオラクル・データベースが動いていれば、ローカル、オンプレミス、クラウドの、どこでも実行可能 で、非常に柔軟性があります。開発環境や実行しているアプリケーションにアクセスするURLだけが必要 です。 同じバージョンか、より高いバージョンのOracle APEXであれば、APEXアプリケーションをインポートする ことができます。 ラップトップで動作させているOracle Express Editionで開発して、その後、アプリケーションをエクスポー トして、Oracle
Database Cloud Serviceへ実装することもできますし、高い負荷状況が発生するなら、プ ライベート・クラウドへ移動することもできます。 15
最初はHTML DBという名前でリリースされました。 最新のOracle APEXのバージョンはAPEX 19.1で、Oracle Database、Oracle REST Data ServicesおよびOracle Cloud
Serviceと整合性が取れるよう、リリースの番号づけが変わりました。 偶然ですが、APEXの最初のコードが書かれたのが、ちょうど19年前になります。 それからずっと、一貫性のある、モダンなアプリケーションを素早く、容易に作成するためのツールを提供 することで、開発者の能力を高める努力を続けています。 より詳しくは、apex.oracle.comに記載されている方針声明を参照してください。 [https://apex.oracle.com/ja/learn/resources/sod/] 16
困ったことがあったり、分からないことがあったり、経験を共有したり、実際に他のAPEX開発者に会ったり。 APEXにまつわる、これらの要望をまかなうための、書籍だったり、ディスカッション・フォーラムだったり、小 さなミートアップから世界中から開発者が集まるカンファレンスまで、色々な仕組みがあります。 コミュニティの情報が提供されているサイト、apex.oracle.com/community には、これらの情報がたくさん 集まっています。 (残念ながら、ほぼ英語/海外の情報のみ) 日本では、APEXユーザーグループが活動中です。 https://orclapex-jp.connpass.com 17
18
19
Oracle Application Expressの役に立つ情報にアクセスする主なリンクの一覧です。 20
Oracle APEXに含まれる主要なコンポーネントについて、大まかに説明していきます。 21
こちらは、Oracle APEXの開発環境にログインした直後に表示されるページ、つまり、ホーム・ページになり ます。 このページは、 Webアプリケーションを開発する機能である、アプリケーション・ビルダー データベースに含まれるオブジェクトのメンテナンスを行う、SQLワークショップ アプリケーション開発のライフサイクルを管理する、チーム開発 標準で添付されているアプリケーションの一覧である、アプリケーション・ギャラリ といった機能を提供する統合開発環境(IDE)の入り口になっています。 22
開発者による作業の大半は、アプリケーション・ビルダーを使った、アプリケーションの定義、拡張およびメ ンテナンスの実施になります。 23
基本的な操作方法 • 新たに要素の追加は、ドラッグ&ドロップ、または、メニューのショートカットにより行います。 • 複数のページ要素の更新を、一括で行うことができます。 • 変更に対する ”Undo” および ”Redo”
が可能です。 • “ 保存 ” と “ 実行 ” により、すべての変更をデータベースに保存されます。 左ペイン • レンダリング、プロセスおよび共有コンポーネントは、それぞれがひとつのパネルとしてまとめられ、左ペインに配置されています。 • 動的アクションも、ひとつにまとめられています。 • 要素の作成、移動、複製を実施するには、ドラッグ&ドロップを使うか、もしくは、右クリックで表示される要素によって変わるメニューを使いま す。 • どのようなタイプの要素でも、ツリーから直接削除できます。 • ひとつまたは複数の要素をクリックして選択すると、グリッド・レイアウト上の要素がハイライトし、その詳細がプロパティ・エディタに表示され ます。複数の要素が選択されている場合は、共通したプロパティのみが表示対象となります。 中央ペイン • グリッド・レイアウト: コンポーネントの作成、移動、コピー、削除をドラッグ&ドロップで実施します。 • ギャラリー: コンポーネント一覧を表示し、ページにドラッグ&ドロップできます。 • メッセージ: 開発作業で生じたエラーや警告メッセージが表示されます。 • ページ検索: ページ内の要素やプロパティを検索します。 • ヘルプ : 選択されているコンポーネントに関するヘルプ情報が表示されます。 プロパティ・エディタ – 右ペイン • 現在選択されている要素の詳細を表示します。 • 複数の要素が選択されているときは、共通のプロパティを一度に編集できます。 • プロパティの効果的な設定方法として、さらに以下を提供します。 • 入力へのフィードバックの即時実施。 • 上位の設定に従って、それに依存した選択メニューに切り替え。 • 共通のプロパティ・タイプの設定を容易にする。 • 要素の定義を容易で直感的にすることで、生産性を高めます。 24
ページ・デザイナは、開発者によるOracle Application Expressのページの改善や保守をとても容易にしまし た。 左ペインには各種ツリー・ビューが配置されます。それにはレンダリング、動的アクション、プロセス、共有 コンポーネントが含まれます。 中央ペインにはグリッド・レイアウトとコンポーネント・ギャラリーがあり、新規にコンポーネントをドラッグ& ドロップで簡単に配置することができます。 右ペインにはプロパティ・エディタがあり、選択したコンポーネントの属性を別ページを開くことなく更新でき ます。
SQL、HTMLやCSSをテキストとして入力するときは、コード・エディタをポップアップさせて開くことができます。 コード・エディタでは、文字列の検索と置換、自動補完やSQLの検証を行うことができます。 また、作業をしている部分に容易に集中できるように、ユーザー・インターフェースをカスタマイズする様々 な方法が提供されています。 25
開発者は、アプリケーションを開発している時間の多くを、アプリケーション・ビルダーを使用して各種コン ポーネントの定義や、更新、保守に費やすことになるでしょう。 26
いくつものテーマとそれに含まれる数多くのテンプレートを提供するかわりに、ひとつのテーマとそれに集 約されたテンプレート群が提供されています。 このユニバーサル・テーマを使って、素早く、簡単に、美しく洗練されたレスポンシブなアプリケーションを 手間をかけずに作ることができます。 Oracle APEX 18.1からjQuery MobileとjQuery Mobile UIはサポート対象外となっています。まだ既存のアプ
リケーションがjQuery Mobile UIを使っている場合は、ユニバーサル・テーマに移行する必要があります。 ユニバーサル・テーマはレスポンシブであるようにデザインされているため、大きさの異なる各種の画面 に最適化されたルック&フィールになります。スマホのような小さい画面向けにデザインされたアプリケー ションのために、Oracle APEX 18.1からは、jQuery Mobile UIを置き換えるための3種類のリージョンを提供 しています。これは、リスト・ビュー、カラム・トグル・レポート、リフロー・レポートです。 27
テーマ・スタイルによって、ひとつのテーマで複数の配色をサポートします。 開発者は、配色の変更や、表示上の特徴、例えばボタンやアイテムの境界をテーマ・ローラーによって簡 単に定義することが可能です。 これらの定義されたスタイルを保存することで、全くCSSを書かずに、すぐにアプリケーションに適用するこ とができます。 開発者はP-Trackサンプルアプリケーションにて実装されているように、エンドユーザーによる異なるスタイ ルの選択を許可することもできます。 28
ページを意図した通り表示させるために、似通ったテンプレートを沢山もったり、開発者が新しいテンプ レートを定義したりする代わりに、テンプレート・オプションをそれぞれ設定して、レイアウト上の要件に容 易に対応することができます。 29
Oracle APEXがホスティング・サービスとして提供されている場合は特に、SQL*Netによる直接アクセスが許 可されていないため、SQLワークショップが、データベース・オブジェクトをメンテナンスする唯一の方法で あることがあります。 SQLワークショップは開発者によってデータベース・オブジェクトのメンテナンスができることを念頭に、SQL Developerが持つ機能の一部を提供しています。 30
クイックSQLは、データベース・オブジェクトである表、トリガーおよび索引を作成するのに必要な手間を削 減するよう作られました。 これは、スキーマ設計を置き換えるためのものではありません。単に、表やビューを作成するための簡易 な記述方法です。 一旦、SQLが生成されると、それを変更したり書き足したりすることもできます。クイックSQLは特別なテキス トから、関係データ・モデルを生成するために必要なSQLを素早く生成する方法を提供します。これを使っ て、マスター・ディテール関係を作成したり、チェック制約をつけたり、さらにはサンプル・データの生成も可 能です。 31
チーム開発はアプリケーション開発のライフサイクルを管理する方法を提供します。 機能、To Do、バグは特定のアプリケーションとページに紐づけることができます。 フィードバックは開発者が直接アプリケーションの利用者より、コメント、機能の要望、さらには、バグの報 告を集める方法を提供します。バグの報告には開発者による解析を容易にするために、それが発生した 時点の重要なセッション・ステート情報も付加します。 チーム開発の機能は、Oracle APEXの開発チームが、それ自体がOracle APEXのアプリケーションである、 新しいOracle
APEXのリリースを開発するために実際に使用しています。 32
33
Oracle APEXが提供している代表的な機能について説明します。 34
35
36
Oracle APEXではナビゲーション・メニューの定義が可能です。メニューには複数のレベルを定義でき、また、 メニュー自体は固定値による静的なリスト、または、SQL問合せを使った動的に変更されるリストを基にす ることができます。 37
開発者はSQL文を定義して、対話レポートの作成ができます。 エンドユーザーは、対話レポートを操作することで自分自身が必要なレポート形式にカスタマイズできます。 これには、フィルタ、計算、集計、ハイライトにコントロール・ブレークの追加が含まれます。 その他に、これらのデータを使って、チャートやグループ・バイ、ピボットといった定義もできます。 Audit Vaultというオラクルの製品があります。これは300のレポートを30の対話レポートで置き換えた上で、 レポーティングの機能を大幅に強化しました。 38
対話グリッドでも対話レポートと同様に、レポートの検索やカスタマイズといった機能を利用者に提供しま す。さらに、対話グリッドでは、データの追加、編集、削除をレポートから直接行うことができます。 対話グリッドは、その他にも、数多くのデータの表示方法を提供しています。 39
40
Oracle APEXは、データ視覚化を行うためにOracle JET (JavaScript Extension Toolkit) を採用しています。 Oracle JETは最新のJavaScript、CSS3、およびHTML5の設計と開発原理に基づくモジュラ式のオープン・ ソースのツールキットです。JavaScriptを使ったチャートは、高度なカスタマイズが可能、アクセシブル(障害
者支援への対応)、レスポンシブ・デザインをサポートしています。 Oracle JETをOracle APEXに組み込むことにより、美しく、高速で、高度なカスタマイズができる、多種多様な チャートを作ることができるようになりました。Oracle JETのデータ視覚化コンポーネントには、カスタマイズ 可能なチャートやゲージ以外にも、データ分析用にデータを一覧表示したり、階層表示するコンポーネント も含みます。 41
42
組み込みのカレンダーには、(JavaScriptライブラリの) FullCalendarを基にしています。 https://fullcalendar.io/ カレンダ・イベントの期間をドラッグ&ドロップにて、基となる表に直接反映させることも可能です。 43
すべての開発者がJavaScriptやAJAXのエキスパートというわけではありません。実際には、ほとんどはそ のスキルセットを持っていないでしょう。 しかし、動的アクションによって、誰でもクライアント・サイドの動作を宣言的に定義できます。 たくさんのJavaScriptを記述する代わりに、開発者が単に条件と、その条件での動作、影響を受ける要素 を選びます。 APEXのエンジンは設定に従って、指定した動作を行うのに必要な、JavaScriptとAJAXを実装します。 44
• サイズや位置はカスタマイズ可能。 • ダイアログ・ページから通常のページへのブランチ(ダイアログのクローズから別ページへのブランチ)や他 のダイアログ・ページへのブランチ(例えばウィザード)が可能。 • ダイアログ・ページがさらにダイアログ・ページを開くことが可能(スタック・ダイアログ)。 • 基底ページに動的アクションを設定することで、モーダル・ダイアログが閉じた時にコンテンツをリフレッシュ することが可能。
45
個別に開発されたコンポーネントをプラグインとして、アイテム・タイプ、リージョン、認証、認可、動的アク ションに組み込むことが可能です。 APEXの開発チームが提供しているものや、APEXのコミュニティで開発された150以上のプラグインが提供 されています。 46
APEXはローカルのデータベースのみではなく、REST対応SQLを有効にすることで、リモートのデータベース や、任意のRESTサービス経由でデータにアクセスすることができます。 APEXのコンポーネントは、これらのリモート・データ・ソースを使って構成することが可能です。 プラグイン開発者も、これらのREST対応SQLを活用することができます。 47
48
Webソース・モジュールとして、RESTサービスや一般的なJSONのデータ・フィードをアプリケーションに定義 することで、それらのデータをOracle APEXのコンポーネント、例えば、対話レポートや対話グリッドといった レポートで使用することができるようになります。 Webソース・モジュールはひとつ、もしくは複数の外部のWebサービスを参照します。モジュールが複数の Webソース操作を含むことで、より完全なWebサービスとして参照されます。 49
50
ウェブシートは、Wikiに似ており、エンドユーザーがコンテンツ共有ができるように設計されています。 それに加え、ウェブシートは、データベースで実行するSQLを使ったレポートを含むことができます。 51
Oracle APEXはオラクル社内でも、そのビジネスを行うために活用されています。 これから、オラクル自体でどのようにAPEXが活用されているか事例を紹介します。 52
Oracle Storeは13の言語で150以上の国からの注文を受け付けています。 国を選択すると、その国ごとのビジネス・ルールに従った受注プロセスが開始します。 このAPEXアプリケーションはマーケティング、製造、配送といった12を超えるバックエンドのシステムと連 動しています。 53
Oracle Learning Library (OLL) はオンラインでアクセスできる、オラクル製品を学習するためのコンテンツです。 オラクルに所属している開発者や、信頼のおけるコミュニティのメンバーによる、ビデオ、記事、デモ、ステッ プバイステップの作業手順、自習のための教材などにアクセスすることができます。 54
このサイトでは、SQLとPL/SQLの学習と、その結果の共有ができます。このサイトを利用する際に、オラク ル・データベース上のスキーマがひとつ、利用者にアサインされます。ここで実行したSQLやPL/SQLのコー ドは、セッションにひもづいて記録されます。割り当てられたスキーマは一時的なもので、一定時間使用し ないと、初期化されて他のユーザーに再利用されます。作業内容を永続的に保存するには、セッション内 の一連の記録をスクリプトとして保存する必要があります。保存したスクリプトは再実行でき、また、コメン トをつけたり編集を行った上で、他の利用者とシェアしたりダウンロードすることができます。 このサイトが持つ機能は以下です: • 定められた時間の範囲で、オラクル・データベースのスキーマでSQLを実行できます。 •
一連のステートメントをスクリプトとして保存できます。 • 保存したスクリプトを他の利用者と共有できます。 • スキーマ内のオブジェクトを参照する、データベース・スキーマ・ブラウザが提供されています。 • SQL学習のための、チュートリアルが組み込まれています。 • Javaを含む主要な言語によるデータ・アクセスの例が含まれています。 このサイトの利用を推奨する理由は以下です: • オラクル・データベース、SQLおよびPL/SQLのスキルを向上させることができます。 • オラクルの開発者コミュニティによるSQLやPL/SQLの例文を参照できます。 • 自分自身で作成したSQLやPL/SQLの例文を、他の利用者と共有することができます。 • ここで開発したスキーマを、他のデータベースに実装することができます。 • オラクルのコミュニティから、SQLの記述方法について助言を求めることができます。 Live SQLは現在 Oracle Database 19c Enterprise Edition – 19.1.0.0.0 で動作しています。 55
Oracle Dev Gymは、ジムで運動するかのような、能動的に学習する機会を提供します。そもそも、ウェイト リフティングのビデオを見るだけで、バーベルを持ち上げられるようにはなりません。コーディングも同じで す。Dev Gymでは実践を通して、知識の向上を計ります。 Dev Gymでは、色々なクイズを選んで答えることができます。また、最初にビデオを見たり記事を読んでか ら、クイズに答えることで、学んだことを確認することもできます。ここには2400を超える、SQL, PL/SQLや
データベース設計を含む各種のカテゴリのクイズがあり、「ジムの機材」が足りない、ということは起こらな いでしょう。Oracle Dev Gymは、その他にも、オンラインでの講義も提供しています。 Oracle Dev Gymでは演習を通して、専門性を高めることでできます。 56
Ask TOMは、OraclemのAsk TOMチームが受け付けている質問とその回答を保持している、18,400を超え るオンラインのQA集です。これは、Oracle Database上でのアプリケーションの作成に関連した多くのトピッ クをカバーしています。Ask TOMはOracle Databaseについて学習するのに最適なサイトのひとつです。もし、 Oracle Databaseについての質問があり、自力で解決できなかったら、このサイトで聞くことができます。
57
58
Aria Peopleはオラクルの従業員ディレクトリです。全世界の従業員のコンタクト情報の参照ができたり、 従業員のグループを作ったり、その他、色々な機能が提供されています。 59
61
Oracle Database は評価、予防、および検知が可能な包括的な制御機能を提供しています。これには、透 過的データ暗号化、データ・リダクション、データ・マスキング、Oracle Database Vault による権限制御や権 限分析、それに統合監査やリアル・アプリケーション・セキュリティが含まれます。さらにOracle Audit Vault
and Database Firewallを組み合わせることにより、現在および将来に渡って、組織として対応すべきセキュ リティおよびコンプライアンス上の課題に対応する強力な手段を提供します。 62
63
Oracle Multitenantオプションによって、複数のプラガブル・データベース(PDB)を保持することができる、マ ルチテナント・コンテナ・データベースのアーキテクチャが提供されます。既存のデータベースは、アプリ ケーションの改変なく、容易にこのアーキテクチャーを採用できます。 64
65
66
Closing Summary on key take-aways 67
68
69
71