Share
Embed
Oracle APEX概要
Oracle APEXの概要、機能、製品コンポーネントなどの説明です。
Oracle APEX 19.1での説明になります。
ノート付きの資料です。
Yuji Nakakoshi
October 18, 2019
Transcript
68 slides
-
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 -
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 -
ローコードによるアプリケーション開発の利点は、より少ない時間、より少ないコストで、最大の生産性を 安定して達成できることにあります。 Oracle APEXのようなローコード・フレームワークは、レポーティング、データ・ビジュアライゼーション、 フォーム制御といった強力なコンポーネントを含み、それらを活用してアプリケーションを開発します。この 方法によって、アプリケーション開発者はビジネス上の問題を解決すること、優れた解決方法を提供する ことに集中することができます。 従来のアプリケーション開発によくある、低レベルのコーディングに費やす時間をできるだけ短く、より少 ない作業にします。思いついたアイデアを数日のうちにアプリケーションとして完成させることができます。 数週間や数ヶ月ではありません。
Oracle APEXの一般的な開発ステップは以下になります。 ステップ1 – データベースのオブジェクト、主に表を作成します。 ステップ2 – 作成したデータベース・オブジェクトを指定して、直にアプリケーションを開発します。 ステップ3 – アプリケーションを実行します。 Oracle APEXはローコード、高生産性のプラットフォームです。つまり、初めてでも、すぐにアプリケーション を作ることができます。事前の準備も、クライアント・ソフトウェアも、そして本当に素晴らしいことに、無料 で始められます。 Oracle APEXはローコード・ツールが備える、高い生産性、扱いやすさ、柔軟性と、エンタープライズ向け開 発ツールが備える、セキュリティ、一貫性、拡張性、可用性の双方が組み合わされた、Webアプリケーショ ンを開発するツールです。 10 -
アーキテクチャーは単純で、ブラウザからのページのリクエストやフォームのサブミットは、ミドルティアを 経由し、データベースの内部で処理され、そこで生成された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 -
基本的な操作方法 • 新たに要素の追加は、ドラッグ&ドロップ、または、メニューのショートカットにより行います。 • 複数のページ要素の更新を、一括で行うことができます。 • 変更に対する ”Undo” および ”Redo”
が可能です。 • “ 保存 ” と “ 実行 ” により、すべての変更をデータベースに保存されます。 左ペイン • レンダリング、プロセスおよび共有コンポーネントは、それぞれがひとつのパネルとしてまとめられ、左ペインに配置されています。 • 動的アクションも、ひとつにまとめられています。 • 要素の作成、移動、複製を実施するには、ドラッグ&ドロップを使うか、もしくは、右クリックで表示される要素によって変わるメニューを使いま す。 • どのようなタイプの要素でも、ツリーから直接削除できます。 • ひとつまたは複数の要素をクリックして選択すると、グリッド・レイアウト上の要素がハイライトし、その詳細がプロパティ・エディタに表示され ます。複数の要素が選択されている場合は、共通したプロパティのみが表示対象となります。 中央ペイン • グリッド・レイアウト: コンポーネントの作成、移動、コピー、削除をドラッグ&ドロップで実施します。 • ギャラリー: コンポーネント一覧を表示し、ページにドラッグ&ドロップできます。 • メッセージ: 開発作業で生じたエラーや警告メッセージが表示されます。 • ページ検索: ページ内の要素やプロパティを検索します。 • ヘルプ : 選択されているコンポーネントに関するヘルプ情報が表示されます。 プロパティ・エディタ – 右ペイン • 現在選択されている要素の詳細を表示します。 • 複数の要素が選択されているときは、共通のプロパティを一度に編集できます。 • プロパティの効果的な設定方法として、さらに以下を提供します。 • 入力へのフィードバックの即時実施。 • 上位の設定に従って、それに依存した選択メニューに切り替え。 • 共通のプロパティ・タイプの設定を容易にする。 • 要素の定義を容易で直感的にすることで、生産性を高めます。 24 -
ページ・デザイナは、開発者によるOracle Application Expressのページの改善や保守をとても容易にしまし た。 左ペインには各種ツリー・ビューが配置されます。それにはレンダリング、動的アクション、プロセス、共有 コンポーネントが含まれます。 中央ペインにはグリッド・レイアウトとコンポーネント・ギャラリーがあり、新規にコンポーネントをドラッグ& ドロップで簡単に配置することができます。 右ペインにはプロパティ・エディタがあり、選択したコンポーネントの属性を別ページを開くことなく更新でき ます。
SQL、HTMLやCSSをテキストとして入力するときは、コード・エディタをポップアップさせて開くことができます。 コード・エディタでは、文字列の検索と置換、自動補完やSQLの検証を行うことができます。 また、作業をしている部分に容易に集中できるように、ユーザー・インターフェースをカスタマイズする様々 な方法が提供されています。 25 -
いくつものテーマとそれに含まれる数多くのテンプレートを提供するかわりに、ひとつのテーマとそれに集 約されたテンプレート群が提供されています。 このユニバーサル・テーマを使って、素早く、簡単に、美しく洗練されたレスポンシブなアプリケーションを 手間をかけずに作ることができます。 Oracle APEX 18.1からjQuery MobileとjQuery Mobile UIはサポート対象外となっています。まだ既存のアプ
リケーションがjQuery Mobile UIを使っている場合は、ユニバーサル・テーマに移行する必要があります。 ユニバーサル・テーマはレスポンシブであるようにデザインされているため、大きさの異なる各種の画面 に最適化されたルック&フィールになります。スマホのような小さい画面向けにデザインされたアプリケー ションのために、Oracle APEX 18.1からは、jQuery Mobile UIを置き換えるための3種類のリージョンを提供 しています。これは、リスト・ビュー、カラム・トグル・レポート、リフロー・レポートです。 27 -
チーム開発はアプリケーション開発のライフサイクルを管理する方法を提供します。 機能、To Do、バグは特定のアプリケーションとページに紐づけることができます。 フィードバックは開発者が直接アプリケーションの利用者より、コメント、機能の要望、さらには、バグの報 告を集める方法を提供します。バグの報告には開発者による解析を容易にするために、それが発生した 時点の重要なセッション・ステート情報も付加します。 チーム開発の機能は、Oracle APEXの開発チームが、それ自体がOracle APEXのアプリケーションである、 新しいOracle
APEXのリリースを開発するために実際に使用しています。 32 -
Oracle APEXは、データ視覚化を行うためにOracle JET (JavaScript Extension Toolkit) を採用しています。 Oracle JETは最新のJavaScript、CSS3、およびHTML5の設計と開発原理に基づくモジュラ式のオープン・ ソースのツールキットです。JavaScriptを使ったチャートは、高度なカスタマイズが可能、アクセシブル(障害
者支援への対応)、レスポンシブ・デザインをサポートしています。 Oracle JETをOracle APEXに組み込むことにより、美しく、高速で、高度なカスタマイズができる、多種多様な チャートを作ることができるようになりました。Oracle JETのデータ視覚化コンポーネントには、カスタマイズ 可能なチャートやゲージ以外にも、データ分析用にデータを一覧表示したり、階層表示するコンポーネント も含みます。 41 -
このサイトでは、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 -
Oracle Database は評価、予防、および検知が可能な包括的な制御機能を提供しています。これには、透 過的データ暗号化、データ・リダクション、データ・マスキング、Oracle Database Vault による権限制御や権 限分析、それに統合監査やリアル・アプリケーション・セキュリティが含まれます。さらにOracle Audit Vault
and Database Firewallを組み合わせることにより、現在および将来に渡って、組織として対応すべきセキュ リティおよびコンプライアンス上の課題に対応する強力な手段を提供します。 62