Share
Embed
Oracle APEX概要 20.2版
Oracle APEXの概要、機能、製品コンポーネントなどの説明です。
Oracle APEX 20.2での説明になります。
ノート付きの資料です。
Yuji Nakakoshi
March 24, 2021
Transcript
65 slides
-
Oracle APEXを使うことによって、次のような作業が可能になります。 (左の図) Oracle APEXを使うことで、デスクトップ向け、および、モバイル向けのWeb アプリケーションを開発できます。 (真ん中の図) データベースに蓄積されたデータを使ったレポート、フォーム、チャート、 カレンダーなどを、素早く作ることができます。 (右の図)
IT技術者はもちろん、IT技術者でなくても、少しのSQLの知識があれば、アプ リケーションを作り始められます。 さらに、Oracle APEXはOracle Databaseが提供する機能の多くを利⽤することが できます。 4 -
Oracle APEXの特徴になります。 (左の図) アプリケーション開発に必要なツールはWebブラウザだけです。また、開発 したアプリケーションへは、URLとユーザーの認証情報のみでアクセスできま す。特別なクライアント・ソフトウェアは必要ありません。 (真ん中の図) Oracle APEXでは、アプリケーションとはメタデータ、つまり定義であり、そ れらはオラクルのデータベースの表に保存されます。ファイルへのコード⽣
成やコンパイルは⾏いません。 (右の図) すべてのページの処理はデータベース内でのデータ処理であり、オラクル・ データベースで実⾏されるPL/SQLによってページが⽣成されています。した 5 -
Oracle APEXはアプリケーションの開発や実⾏を、追加ライセンス費⽤無しで ⾏うことができる、Oracle Databaseのオプション機能です。また、Oracle Databaseのサポート契約は、Oracle APEXも含んでいます。 OracleがCloudサービスとして提供しているすべてのデータベース・サービス で、Oracle APEXを利⽤することができます。APEXによるアプリケーション開 発に特化した、廉価なAPEXサービスや、運⽤の不要なAutonomous
Databaseの サービスがあります。これには無償利⽤可能なAlways Freeのサービスも含み ます。また、⼤規模の実装に適したExadata Cloud Service上でも利⽤可能です。 Oracle APEXはオラクル・データベースより、頻繁(ひんぱん)に更新がリリース されています。最新バージョンはOracleのソフトウェア・ダウンロード・サイ ト(https://apex.oracle.com/download/)にあるOracle APEXのページから⼊⼿して ください。 8 -
アーキテクチャーは単純です。 ブラウザからのページのリクエストやフォームのサブミットは、ミドルティ アを経由し、データベースの内部で処理され、そこで⽣成されたHTMLが応答 としてブラウザへ返されます。 ミドルティアはデータ処理や操作といったことは⾏わず、データベースで動 作しているAPEXがページ・リクエストを受け取り、DBのスキーマにあるデー タを使った処理を⾏います。 ミドルティアは、Javaアプリケーションサーバー上で動作するOracle REST Data
Service (ORDS)です。 ORDSを動作させるJavaアプリケーションサーバーとしては、Oracle WebLogic Server(WLS) 、Tomcatがあります。また、ORDS⾃体にStandaloneで動作する Jettyが含まれていますので、それを使うこともできます。 HTTPサーバーをORDSの前に配置して、静的なイメージはHTTPサーバーから提 供する、といった構成も⼀般的です。 9 -
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ソース・モジュールとして定義した後、対話レポートや 10 -
ワークスペースとスキーマの関係は多対多 – many to many です。 組織で運⽤しているオラクル・データベースがひとつでも、それぞれ独⽴し てアプリケーションを開発できる複数のワークスーペースを持つことができ、 それによって複数の開発部隊をサポートすることができます。 それらのワークスペースに対して、必要であれば、ひとつ以上のスキーマへ
のアクセスを許可することができます。 DBAはインフラを管理します。それに対して、開発部隊はアプリケーション を作ることに専念します。 13 -
APEXはオラクル・データベースが動いていれば、ローカル、オンプレミス、 クラウドの、どこでも実⾏可能で、⾮常に柔軟性があります。開発環境や実 ⾏しているアプリケーションにアクセスするURLだけが必要です。 同じバージョンか、より⾼いバージョンのOracle APEXであれば、APEXアプ リケーションをインポートすることができます。 ラップトップで動作させているOracle Express Editionで開発して、その後、 アプリケーションをエクスポートして、Oracle
Database Cloud Serviceへ実 装することもできますし、⾼い負荷状況が発⽣するなら、プライベート・ク ラウドへ移動することもできます。 14 -
困ったことがあったり、分からないことがあったり、経験を共有したり、実 際に他のAPEX開発者に会ったり。 APEXにまつわる、これらの要望をまかなうための、書籍だったり、ディス カッション・フォーラムだったり、⼩さなミートアップから世界中から開発 者が集まるカンファレンスまで、⾊々な仕組みがあります。 コミュニティの情報が提供されているサイト、apex.oracle.com/community に は、これらの情報がたくさん集まっています。 (残念ながら、ほぼ英語/海外の情報のみ) ⽇本では、APEXユーザーグループが活動中です。
https://orclapex-jp.connpass.com 15 -
Oracle APEXのデモでよく使われているシナリオです。 スプレッドシートそれ自体に問題がある、というよりは、スプレッドシート それ自体が非常に便利であるため、スプレッドシート本来の機能ではない用 途で使われることで、問題が起こっています。スプレッドシートはそもそも 表計算ツールですから、それは非常にうまくこなします。 しかし、スプレッドシートはデータベースではありません。ですので、ひと つのシートをファイル共有して複数で更新するとか、回覧して更新する、と いったことを行うと色々と弊害が発生します。 (アプリケーションの作り方が、活用する機能として説明されています。)
スプレッドシートを元にOracle APEXでWebアプリケーションを作成すること で、そのような用途にうまく対応することができます。 (アプリケーションを作ることで得られる効果が、解決する問題として説明 されています。) 19 -
Oracle Formsを使ってアプリケーションを開発しているのであれば、Oracle APEXの学習は非常に容易です。 双方とも、SQLおよびPL/SQLによる開発を基本としています。また、すでに Formsで利用しているデータベースのパッケージ、プロシージャおよびファン クションを再利用することもできます。 Oracle Formsによるアプリケーションは、クライアント・サーバー型を前提と しているため、APEXのようなWebアプリとは実装できる機能に異なりがあり ます。例えば、画面の構成など、一画面に非常に多くの項目を詰め込むこと
は、Webアプリケーションでは一般に行いません。 そのような違いはあるため、Formsを置き換えるときは、一部分を取り出して APEXのアプリケーションを作成し、機能するかどうかを事前に確認します。 また、バックオフィスで、担当者に利用されるようなアプリケーションより は、セルフサービスのようなアプリケーションを置き換えるのに向いていま す。また、Webアプリとして開発されるため、パートナーや顧客向けのアプ リケーションといった、外部向けのアプリケーションにも向いています。 21 -
Oracle APEXはOracle E-business Suiteの公式にサポートされた拡張ツールです。 Oracle E-Business Suiteで提供されていない機能や、追加の要件などをOracle APEXでアプリケーションを開発することにより対応することができます。 詳しくはオラクルのホワイトペーパーを参照してください。 Oracle
の Cloud ERPの拡張については、OracleからはVisual Builder Studioという ツールも提供されています。実装したい機能により、それぞれの開発ツール を選択することができます。 22 -
こちらは、Oracle APEXの開発環境にログインした直後に表⽰されるページ、 つまり、ホーム・ページになります。 このページは、 Webアプリケーションを開発する機能である、アプリケーション・ビルダー データベースに含まれるオブジェクトのメンテナンスを⾏う、SQLワーク ショップ アプリケーション開発のライフサイクルを管理する、チーム開発 標準で添付されているアプリケーションの⼀覧である、アプリケーション・ ギャラリ
といった機能を提供する統合開発環境(IDE)の⼊り⼝になっています。 (21.1以降はアプリケーション・ギャラリはなくなり、サンプルはGitHubから 提供される予定)。 25 -
基本的な操作⽅法 • 新たに要素の追加は、ドラッグ&ドロップ、または、メニューのショート カットにより⾏います。 • 複数のページ要素の更新を、⼀括で⾏うことができます。 • 変更に対する”Undo”および”Redo”が可能です。 • “保存”と“実⾏”により、すべての変更をデータベースに保存されます。
左ペイン • レンダリング、プロセスおよび共有コンポーネントは、それぞれがひとつ のパネルとしてまとめられ、左ペインに配置されています。 • 動的アクションも、ひとつにまとめられています。 • 要素の作成、移動、複製を実施するには、ドラッグ&ドロップを使うか、 もしくは、右クリックで表⽰される要素によって変わるメニューを使いま す。 • どのようなタイプの要素でも、ツリーから直接削除できます。 27 -
• ひとつまたは複数の要素をクリックして選択すると、グリッド・レイアウ ト上の要素がハイライトし、その詳細がプロパティ・エディタに表⽰され ます。複数の要素が選択されている場合は、共通したプロパティのみが表 ⽰対象となります。 中央ペイン • グリッド・レイアウト: コンポーネントの作成、移動、コピー、削除をド ラッグ&ドロップで実施します。
• ギャラリー: コンポーネント⼀覧を表⽰し、ページにドラッグ&ド ロップできます。 • メッセージ: 開発作業で⽣じたエラーや警告メッセージが表⽰されます。 • ページ検索: ページ内の要素やプロパティを検索します。 • ヘルプ: 選択されているコンポーネントに関するヘルプ情報が表⽰されます。 プロパティ・エディタ – 右ペイン • 現在選択されている要素の詳細を表⽰します。 • 複数の要素が選択されているときは、共通のプロパティを⼀度に編集でき ます。 • プロパティの効果的な設定⽅法として、さらに以下を提供します。 • ⼊⼒へのフィードバックの即時実施。 • 上位の設定に従って、それに依存した選択メニューに切り替え。 • 共通のプロパティ・タイプの設定を容易にする。 • 要素の定義を容易で直感的にすることで、⽣産性を⾼めます。 27 -
ページ・デザイナは、開発者によるOracle APEXのページの改善や保守をとて も容易にしました。 左ペインには各種ツリー・ビューが配置されます。それにはレンダリング、 動的アクション、プロセス、共有コンポーネントが含まれます。 中央ペインにはグリッド・レイアウトとコンポーネント・ギャラリーがあり、 新規にコンポーネントをドラッグ&ドロップで簡単に配置することができま す。 右ペインにはプロパティ・エディタがあり、選択したコンポーネントの属性 を別ページを開くことなく更新できます。
SQL、HTMLやCSSをテキストとして⼊⼒するときは、コード・エディタをポッ プアップさせて開くことができます。コード・エディタでは、⽂字列の検索 と置換、⾃動補完やSQLの検証を⾏うことができます。 また、作業をしている部分に容易に集中できるように、ユーザー・インター フェースをカスタマイズする様々な⽅法が提供されています。 28 -
いくつものテーマとそれに含まれる数多くのテンプレートを提供するかわり に、ひとつのテーマとそれに集約されたテンプレート群が提供されています。 このユニバーサル・テーマを使って、素早く、簡単に、美しく洗練されたレ スポンシブなアプリケーションを⼿間をかけずに作ることができます。 Oracle APEX 18.1からjQuery MobileとjQuery Mobile UIはサポート対象外となって
います。まだ既存のアプリケーションがjQuery Mobile UIを使っている場合は、 ユニバーサル・テーマに移⾏する必要があります。 ユニバーサル・テーマはレスポンシブであるようにデザインされているため、 ⼤きさの異なる各種の画⾯に最適化されたルック&フィールになります。ス マホのような⼩さい画⾯向けにデザインされたアプリケーションのために、 Oracle APEX 18.1からは、jQuery Mobile UIを置き換えるための3種類のリー ジョンを提供しています。これは、リスト・ビュー、カラム・トグル・レ ポート、リフロー・レポートです。 30 -
チーム開発はアプリケーション開発のライフサイクルを管理する⽅法を提供 します。 機能、To Do、バグは特定のアプリケーションとページに紐づけることができ ます。 フィードバックは開発者が直接アプリケーションの利⽤者より、コメント、 機能の要望、さらには、バグの報告を集める⽅法を提供します。バグの報告 には開発者による解析を容易にするために、それが発⽣した時点の重要な セッション・ステート情報も付加します。 チーム開発の機能は、Oracle
APEXの開発チームが、それ⾃体がOracle APEXの アプリケーションである、新しいOracle APEXのリリースを開発するために実 際に使⽤しています。 35 -
ファセット検索はインターネット上のアプリケーション、主に店舗や販売系 のウェブサイトでよく見られます。利用者は画⾯左か上に存在する、ファセ ットに検索条件を設定します。ファセットには選択可能な値とともに、現在 の検索結果に含まれる数が表示されます。利用者がファセットを変更すると 、即座にレポートの表示、ファセットの選択肢と出現数が更新されます。 Oracle APEX 19.2から提供されるファセット検索を使うことにより、開発者は 最小限の労力で完全に機能するファセット・ナビゲーションを実装できます 。APEXは、レポートやファセットのリフレッシュ、出現数の再計算に必要な
SQLの生成、レポートとファセットの統合といった低レベルの処理をすべて行 います。開発者はレポートのデータ・ソースと、ファセットおよびそのファ セットで使用する値のリストを宣言するだけです。 ファセット検索のページには、ファセット検索・リージョンとレポートのリ ージョンが含まれます。ファセット検索リージョンは、ページの左側に配置 され、値を選択することにより、検索結果の絞り込みを行います。続けて検 索結果を絞り込むことにより、利用者は欲しいデータを見つけることができ ます。ページの右側にクラシック・レポートのリージョンが配置され、レポ ートもしくはカード形式で表示されます。アプリケーション作成ウィザード 41 -
• サイズや位置はカスタマイズ可能。 • ダイアログ・ページから通常のページへのブランチ(ダイアログの クローズから別ページへのブランチ)や他のダイアログ・ページへの ブランチ(例えばウィザード)が可能。 • ダイアログ・ページがさらにダイアログ・ページを開くことが可能 (スタック・ダイアログ)。 •
基底ページに動的アクションを設定することで、モーダル・ダイア ログが閉じた時にコンテンツをリフレッシュすることが可能。 45 -
Oracle APEXは、データ視覚化を⾏うためにOracle JET (JavaScript Extension Toolkit) を採⽤しています。Oracle JETは最新のJavaScript、CSS3、およびHTML5 の設計と開発原理に基づくモジュラ式のオープン・ソースのツールキットで す。JavaScriptを使ったチャートは、⾼度なカスタマイズが可能、アクセシブ
ル(障害者⽀援への対応)、レスポンシブ・デザインをサポートしています。 Oracle JETをOracle APEXに組み込むことにより、美しく、⾼速で、⾼度なカス タマイズができる、多種多様なチャートを作ることができるようになりまし た。Oracle JETのデータ視覚化コンポーネントには、カスタマイズ可能な チャートやゲージ以外にも、データ分析⽤にデータを⼀覧表⽰したり、階層 表⽰するコンポーネントも含みます。 47