Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Oracle APEXの紹介 - Oracle APEXとは何か、始め方と学び方

Oracle APEXの紹介 - Oracle APEXとは何か、始め方と学び方

アジェンダ:
1. Oracle APEXの始め方
2. Oracle APEXとは何か
3. ページの生成
4. 開発ツール
5. コンポーネント
6. 必要な技術
7. 学習と情報の入手
8. 質問する、相談する

Yuji Nakakoshi

April 20, 2023
Tweet

More Decks by Yuji Nakakoshi

Other Decks in Programming

Transcript

  1. 本日のアジェンダになります。 最初にOracle APEXの始め方として、無料で使える作業環境を取得する方法を紹介いた します。 続いて、Oracle APEXとは何か、ページの生成、として、Oracle APEXの基本的な動作の 仕組みを説明します。 開発ツール、コンポーネントでは、Oracle APEXに含まれる、アプリケーション開発に

    使うツールと、アプリケーションの作成に使うコンポーネントを紹介いたします。 必要な技術、学習と情報の入手、では、勉強するための情報、 最後に、Oracle APEXに関する質問と相談をする方法を紹介いたします。 4 アジェンダ 1. Oracle APEXの始め方 2. Oracle APEXとは何か 3. ページの生成 4. 開発ツール 5. コンポーネント 6. 必要な技術 7. 学習と情報の入手 8. 質問する、相談する 4 Copyright © 2023, Oracle and/or its affiliates
  2. Oracle APEXを使ってアプリケーションを作ることや、作ったアプリケーションを実行 することは、無料で始めることができます。 ブラウザからapex.oracle.comを開くと、今日から無料で開始、というボタンがありま す。 https://apex.oracle.com こちらをクリックします。 無料で始める方法には、3つの方法があります。 6 無料で始める方法は3通り

    6 Copyright © 2023, Oracle and/or its affiliates 1. https://apex.oracle.com/go/request-workspaceから無料のワークスペースを取得します。 2. https://signup.cloud.oracle.com/よりOracle Cloudのアカウントを取得し、Always Freeの Autonomous Databaseのインスタンスを作成します。 3. Oracle Database Express Editionのインスタンスを作成し、Oracle APEXをインストールします。 https://apex.oracle.comにアクセスし、今日から無料で開始をクリックします。
  3. apex.oracle.comのサイトでは、無料で利用できるワークスペースを提供しています。 無償ワークスペースのリクエスト、をクリックし、名前やメール・アドレスといった 情報を入力して、Request Workspaceをクリックします。 指定したメール・アドレスに、ワークスペースの作成手順を案内するメールが届くの で、その手順に従ってワークスペースを作成します。 クレジット・カード番号などの入力や、厳密な本人確認は行われません。 Oracle APEXが提供している、ほぼ全ての機能を使うことができます。 ただし、用途は検証に限定されています。また、容量は50MBが上限であるため、機

    能検証や学習以外での利用はできません。 この後に説明する、サンプル・アプリケーションの確認や、LiveLabsとしてオラクルが 提供している、Oracle APEXのハンズオンは、この環境で実施できます。 7 無料のワークスペースの取得 • 以下を入力し、Request Workspaceをクリックします。 • 名(First name)、姓(Last name) • メールアドレス(Email) • 国(Your Location) • APEX使用経験の有無(Are you new to Oracle APEX?) • 授業や研修での使用かどうか(Do you plan to use APEX for education or training?) • 利用規約の承諾(I agree to the terms of the Oracle APEX Service Agreements) • 指定したメールアドレスにメールが届くので、Create Workspaceをクリックします。 • 検証用途に限定されています。 • 容量は50MBです。 • 不具合と思われる事象の再現ケースをOracle Supportと 共有するためにも使用できます。 • 利用できる機能の制限はほぼありません。 7 Copyright © 2023, Oracle and/or its affiliates
  4. Oracle Cloudのアカウントを取得すると、Always Free、つまり無料で利用できる Autonomous Databaseのインスタンスを2つまで作成できます。 Oracle Cloudのアカウントを作成するにあたって、クレジット・カード番号の入力が要 求されます。 ただし、アカウントをアップグレードするまでは、課金は発生しません。 Always

    FreeのAutonomous Databaseのインスタンスのサイズは、1OCPU、容量は20GB です。 フィンランドの事例では、1日で60万ユーザー、ピークの2時間で30万ユーザーのリ クエストが処理できた、との報告があります。 ただし、このフィンランドの事例では、20GBでは容量が足りなくなり、有償のインス タンスにアップグレードしています。 8 Oracle CloudのAlways Free Autonomous Database • Oracle Cloud Free Tierのアカウントにサインアップします。 • 通常、本人確認のためにクレジットカード番号の入力を求 められます。 • アカウントをアップグレードするまでは、クレジットカー ドに課金されることはありません。 • Always FreeのAutonomous Databaseは2インスタンスまで作 成できます。 • 1 OCPU(オーバーサブスクリプションあり) • 容量は20GBまで。 • 機能制限はありません。 • 文字や数値データのみ、少人数での利用であれば、実用に 耐える環境です。 参考: The story behind a COVID-19 exposure-tracking application in Finland https://blogs.oracle.com/database/post/covid-19-tracking-app-finland On the busiest day recorded, the application had 600,000 distinct users, and the peak period had 300,000 users in a two-hour period, which the application was able to handle quickly. 8 Copyright © 2023, Oracle and/or its affiliates
  5. オンプレミスの環境や、手元にPCがあれば、そのPC上でもOracle APEXを無料で使うこ とができます。 CPUは現状はx86アーキテクチャに限定です。AWS、Google Cloud、Microsoft Azureと いったクラウドの環境にもインストールできます。 オラクル社は無料で利用できるオラクル・データベースとして、Oracle Database 23c

    Free – Developer Releaseを提供しています。 Oracle APEXの環境作成に使用する、データベース、Oracle REST Data Services、Oracle APEXは、すべて無料で使うことができます。 この場合、データベース、Oracle REST Data Services、APEXのインストールと構成を、 自分で行う必要があります。 単にOracle APEXを使うだけ、であれば、オラクル社から提供されている、すべて構成 済みのOracle VirtualBoxの仮想アプライアンスの利用をお勧めします。 Oracle APEXやOracle REST Data Services, ORDSまたはオーズとも呼びますが、これらのサ ポートは、データベースのサポート契約に含まれます。 そのため、データベースとしてOracle Database 23c Freeを使っている場合は、APEXや ORDSも公式なサポートはなく、コミュニティ・ベースのサポートになります。 Oracle APEXを無料で始める方法として、以上の3つがあります。 9 Oracle Database 23c Free + Oracle APEX • Oracle Database 23c Free – Developer Releaseがインス トールできる環境であれば、どこでも実装可能です。 • AWS、Google Cloud、MS Azure、VirtualBox、手元の LinuxやWindows(21c XE)マシンなど。 • Oracle Database 23c Free – Developer Releaseの制限 • CPUスレッド: 2 • ユーザー・データ: 12 GB • 利用可能なメモリ: 2 GB • 利用可能な機能に制限はありません。 • サポート契約がないため、パッチは適用できません。 • インストール、構成、管理を自分で行う必要がありま す。 • ライセンスについては、Oracle Free Use Terms and Conditionsを参照してください。 9 Copyright © 2023, Oracle and/or its affiliates REST Data Services、APEX、 Databaseが構成済みの VirtualBox仮想アプライアンスも提供されています。 https://www.oracle.com/database/technologies/databaseappdev-vm.html
  6. まず、Oracle APEXについて、紹介します。 Oracle APEXは、 ひとつは、 Oracle Databaseで動作する、ということ 二つ目に、 エンタープライズ・アプリケーション向け、ということ そして三つ目として、

    ローコード・アプリケーション・プラットフォーム という、3つの要素を持っています。 そして、Oracle APEXは、アプリケーションを開発するためのツール、および、開発を 支援するユーティリティを含みます。 また、開発者が作成したアプリケーションを、実行する環境が、Oracle APEXに含まれ ています。 11 Oracle APEXとは? 11 Copyright © 2023, Oracle and/or its affiliates • Oracle Databaseで動作するエンタープライズ・アプリケーション向けのローコード・アプリケーショ ン・プラットフォーム(Low Code Application Platform – LCAP)です。 • アプリケーション開発ツール、各種ユーティリティ、アプリケーションの実行環境を含みます。 開発者が作成した アプリケーションの実行 開発を支援する 各種ユーティリティ アプリケーションを 開発するツール
  7. Oracle APEXの概要です。 Oracle APEXはWebアプリケーションの作成と実行を行う、プラットフォームです。 Oracle APEXが生成したWebページがブラウザに表示されます。そのWebページから発 行されるHTTPリクエストは、Oracle REST Data Servicesに送信されます。

    ORDSは受信したリクエストを、そのままデータベースのプロシージャ呼び出しに変換 します。 Oracle Databaseでは、呼び出されたプロシージャがWebページを生成し、生成された WebページをORDSを介してブラウザに戻します。 12 概要 12 Copyright © 2023, Oracle and/or its affiliates すべての処理、データ操作およびビジネス・ロジックは、データベースで実行されます。 WebブラウザからのHTTPリクエストはOracle REST Data Services (ORDS)に送信され、そこでア クション対象のOracle Databaseに渡されます。データベース内で、リクエストはOracle APEX によって処理されます。処理が完了すると、その結果はORDSを介してブラウザに戻されま す。
  8. Oracle APEXの処理は、すべてステートレスです。 ステート、つまり状態に依存する情報はすべてデータベースに保存され、それぞれの リクエストごとにコミットされます。 Oracle APEXのアプリケーションにサインインすると、通常セッションIDが新規に生成 され、ブラウザとデータベースの間で共有されます。 ブラウザ側からリクエストを発行する際は、常にリクエストにセッションIDを含め、 リクエストを受け付けたデータベースは、その都度、セッションIDに紐づくデータを データベースより取り出し、ビジネス・ロジックの実行やWebページの生成を行いま

    す。リクエストの処理の最後にトランザクションをコミットします。 そのような仕組みであるため、仮にORDSやデータベースが再起動しても、APEXのセッ ションは継続します。 13 ステートレス・アクセス 13 Copyright © 2023, Oracle and/or its affiliates POST /ords/wwv_flow.accept GET /ords/r/… Call wwv_flow.show(…) Call wwv_flow.accept(…) POST /ords/wwv_flow.ajax Call wwv_flow.ajax(…) ページの表示 フォームの送信 データの要求 セッションID Oracle REST Data Services (ORDS)は受け取ったURLとパラメータを引数に変えて、PL/SQLのプ ロシージャを呼び出します。セッションIDはつねにパラメータに含まれます。ORDSはス テートを保持しません。
  9. オラクル社では、Oracle REST Data Servicesとデータベースの構成方法に関する、リ ファレンス・アーキテクチャを公開しています。 Oracle APEXはデータベースにインストールされたライブラリやデータです。動作する 実体はオラクル・データベースになるため、リファレンス・アーキテクチャには Oracle APEXは含まれません。

    ORDSは自分自身では状態を保持しないため、ロードバランサの下に複数配置するだけ で、可用性を確保することができます。 データベースについては、Real Application ClustersやData Guardといった、オラクル・ データベースが提供している機能を構成することにより、可用性を確保します。 Oracle APEX自体には可用性やスケーラビリティといった属性はなく、それらはオラク ル・データベースの構成によって担保されます。 14 リファレンス・アーキテクチャ 14 Copyright © 2023, Oracle and/or its affiliates 参照(機械翻訳): https://docs.oracle.com/ja/solutions/deploy-ords-ha-oci/index.html Oracle REST Data Services(ORDS)は完全にステート レスであるため、ロード・バランサーの配下に複 数配置することで可用性を確保できます。 データベースの可用性は、Real Application Clusters(RAC)やData Guardの構成によって確保しま す。
  10. Oracle APEXのアプリケーションの実体は、オラクル・データベースに保存されている データです。 生成されるアプリケーションの実体はWebページですから、これもデータになりま す。 Oracle APEXのアプリケーションであるデータは、Webページというデータを生成する 元となるデータなので、メタデータと呼ばれます。 Oracle APEXのアプリケーションを構成している、テンプレート、セッション情報、

    SQLやPL/SQLのコード、クライアント側のコードであるJavaScriptやCSSなどのデータ は、オラクル・データベースに保存されています。 Oracle APEXは、これらのメタデータから完全なHTMLのページを生成し、ブラウザに戻 します。 15 メタデータ駆動 15 Copyright © 2023, Oracle and/or its affiliates コンポーネント テンプレート SQL, PL/SQL セッション・ステート JavaScript, CSS メタデータ SELECT * FROM EMP SQLの実行結果をテンプレートに埋め込む (データベースにて実行)
  11. Oracle APEXのアプリケーションを構成するメタデータは、APEX_XX0X00というAPEXの 後にバージョン番号が追加されたスキーマに保存されています。 例えばAPEXのバージョンが22.2であれば、APEX_220200になります。 アプリケーション開発者は、Oracle APEXが提供している公開されたビューより、アプ リケーションのメタデータを参照することができます。 このビューを検索して確認できるメタデータを元にして、Oracle APEXではWebページ の生成が行われています。

    Oracle APEXが提供している開発ツールを使って、このメタデータをデータベースに書 き込む作業が、Oracle APEXのアプリケーションの開発作業になります。 16 メタデータとは? Oracle APEXのすべてのデータ(ワークスペース、 アプリケーション、ページ、コンポーネント設 定、etc.)は、APEX_XX0X00(XX0X00はバージョ ン)スキーマに保存されています。 メタデータを参照するビューが提供されていま す。 アプリケーションID 140のページ2にある 対話モード・レポートに含まれる列とその型を 一覧します。 16 Copyright © 2023, Oracle and/or its affiliates select region_name, form_label, column_type from APEX_APPLICATION_PAGE_IR_COL where application_id = 140 and page_id = 2 order by display_order
  12. Oracle APEXの開発ツール自体も、Oracle APEXのアプリケーションです。 開発ツールであるアプリケーションのメタデータと、ユーザーが作成するアプリケー ションのメタデータは同じ表に保存されています。 開発ツールは特別な権限を持っていて、システムのスキーマであるAPEX_XX0X00のス キーマ以下に保存されているデータの操作ができます。 一般ユーザーは、セキュリティ上の理由より、開発ツール以外でのメタデータの操作 は許可されていません。 開発ツールはシステム提供のメタデータより、アプリケーションが生成されていま

    す。 ユーザーが作成したアプリケーションは、開発ツールを使って保存したメタデータを 元に作成され、ユーザーが所有しているスキーマのデータを操作します。 操作する対象であるデータは異なりますが、アプリケーションとしては同じ構造にな ります。 17 Oracle APEXの開発ツールもOracle APEXのアプリケーション 17 Copyright © 2023, Oracle and/or its affiliates システム提供の メタデータ APEX_XX0X00スキーマ ユーザー データ アプリケーションの メタデータ ユーザーのスキーマ PL/SQLライブラリ Oracle APEXの開発ツール ユーザーが開発したアプリケーション
  13. Oracle APEXの最初のコードが書かれたのは1999年8月4 日です。 https://joelkallman.blogspot.com/2019/11/my-personal-thanks-to-chicago-police.html https://ash.harvard.edu/news/citizen-and-law-enforcement-analysis-and-reporting-clear そして、HTMLDBという名称で、2004年に製品としてリリースされました。 Oracle Databaseを使ったWebアプリケーションの作成方法として、HTMLDBつまり Oracle APEX以前は、PL/SQL

    Gatewayという機能を使いPL/SQLでコーディングをして、 Webページを生成するのが一般的でした。 HTMLDB以降は、テンプレートを使ったWebページの生成に変わりました。 2015年よりユニバーサル・テーマが導入され、HTML5とCSSの記述によりWebページの 表示形式を変えるようになっています。 そして、現在は、JavaScriptのコンポーネントの導入により、クライアント側つまりブ ラウザ上でHTMLを生成するようになっています。 Oracle APEXの基本的な仕組みは変わりませんが、新しいテクノロジーを取り込んで進 化しています。 19 HTMLDB以前(〜2004) • HTMLの生成を、全てコー ドで行う。 • PL/SQL Gateway、 mod_plsqlと呼んでいたも の。 • OWA_UTILなどの OWA_xxxxパッケージに よるHTTPプロトコルの 処理 • HTP, HTFパッケージによ るHTML出力 • マニュアル「PL/SQLパ ッケージおよびタイプ ・リファレンス」に記 載。 • 現在も使えます。 HTMLDB(2004〜) • HTMLの生成は、テンプレ ートを元に行う。 • 一貫したUIを提供するテ ンプレートの集まりがテ ーマ。 • コードは不要になった 。 • 表現の違いで大量のテ ーマとテンプレートを 作成。 • ユニバーサル・テーマ以 外は製品に含まれません が、異なるテーマは現在 も使えます。 ユニバーサル・テーマ(2015〜) • 表現の違いはCSSで吸収し 、テンプレートは1つに する。 • HTML5 + CSS3 • Bootstrapに似たグリッ ド • レスポンシブ・デザイ ン • 現在提供されている唯一 のテーマです。 対話グリッド(2016〜) • リージョンをコンポーネ ント化する。 • 対話グリッド • カード • Oracle JETチャート • カレンダ(FullCalender – Third Party) • テキスト・エディタ (CKEditor – Thrid Party) • コンポーネントの利用は 、現在のトレンドです。 19 Copyright © 2023, Oracle and/or its affiliates Oracle APEXの移り変わり Oracle APEXの初期の実装について: My Personal Thanks to the Chicago Police Department - the First Real Proving Ground for Oracle APEX https://joelkallman.blogspot.com/2019/11/my-personal-thanks-to-chicago-police.html
  14. https://gist.githubusercontent.com/ujnak/bab6d2b37a75ded23512043162b1e884/raw/d182 bfabb522b10689def6415a2a2aa5f2955630/emp-report-plsql-sample.sql 少し歴史を振り返ってみます。 PL/SQL Gatewayを使ってWebページを生成するコードです。Webページの生成は、すべ てコーディングで実装されています。 最初にHTMLの開始タグを出力し、ボディタグを続いて出力し、テーブル、タグ 表のヘッダーを出力し、 SQLのSELECT文を実行して、従業員番号と従業員名を取り出し、取り出した行数分だ け、

    データ行の出力を繰り返します。 データ行の出力が終わったら、テーブルの終了タグ、ボディ、HTMLタグを閉じます。 PL/SQLでコーディングしていますが、20年近く前のWebページはこのようないわゆる CGIプログラムというもので生成していました。 HTTPリクエストを、そのようなPL/SQLのプロシージャを呼び出して処理するのが、 Oracle APEXの基本的な仕組みです。 20 見た目の変更でも、コードの変更 create or replace procedure prcemp as l_page clob; begin l_page := '<html><body>'; l_page := l_page || '<table>'; l_page := l_page || '<tr><th>従業員番号</th><th>従業員名</th></tr>'; for c in (select empno, ename from emp) loop l_page := l_page || '<tr><td>'; l_page := l_page || c.empno; l_page := l_page || '</td><td>'; l_page := l_page || c.ename; l_page := l_page || '</td></tr>'; end loop; l_page := l_page || '</table>'; -- return l_page; l_page := l_page || '</body></html>'; owa_util.mime_header('text/html',true,'utf-8'); htp.prn(l_page); end prcemp; PL/SQL Gatewayを使ってみる 20 Copyright © 2023, Oracle and/or its affiliates
  15. https://gist.githubusercontent.com/ujnak/2e30d978040102a079852c0de6349471/raw/9ce70 27107496106ad82c359c228dd63b378415e/emp-report-htmldb-sample.sql 次にデータベースにWebページのテンプレートと実行するSQLを保存して、Webページ を作成します。 HTMLのテンプレートを保存する表を、ここではtemplatesとして作成しています。 表templatesには、HTMLのテンプレートを保存します。 HTMLのテンプレートとは、値を置き換えるプレースホルダーを含んだHTMLです。 HTMLタグで囲まれているテンプレートは、ページ・テンプレート BODYタグはHTMLの本体を生成するテンプレート TABLEとして表のテンプレートがあり、

    TRは表に含まれる行のテンプレート、 THは表のヘッダー行のテンプレート TDは表のデータ行のテンプレート になります。 次に実行するSQLを保存する表を、sql_sourceとして作成します。 実行するSQLは、その表に保存します。 ここでは 22 HTMLDB – テーマ(テンプレートの集合)の導入 (1) create table templates ( "HTML" varchar2(4000), "BODY" varchar2(4000), "TABLE" varchar2(4000), "ROW" varchar2(4000), "HEADER" varchar2(4000), "DATA" varchar2(4000) ); insert into templates values ( '<html>#HTML#</html>', '<body>#BODY#</body>', '<table>#TABLE#</table>', '<tr>#ROW#</tr>', '<th>従業員番号</th><th>従業員名</th>', '<td>#EMPNO#</td><td>#ENAME#</th>' ); create table sql_source ( "SQL" varchar2(4000) ); insert into sql_source values ( 'select * from emp' ); 22 Copyright © 2023, Oracle and/or its affiliates ページの雛形となるHTML(テンプレート)を データベースに保存します。 アプリケーションとして実行するコードも データベースに保存します。
  16. 表に保存しているテンプレートを、これも表で保存しているSQLの実行結果で穴埋め をするプロシージャを作成します。 このプロシージャを実行し、HTMLのテンプレートをSQLの実行結果で穴埋めし完全な Webページを生成します。 Oracle APEXの基本的な仕組みです、一般的な呼び方をするとテンプレート・エンジン といえるでしょう。 23 テンプレートとSQLを開発 HTMLDB

    – テーマ(テンプレートの集合)の導入 (2) Copyright © 2023, Oracle and/or its affiliates 23 create or replace procedure prcemp2 as r_tpl templates%rowtype; r_sql emp%rowtype; l_sql varchar2(80); l_row varchar2(32767); l_page varchar2(32767); c sys_refcursor; begin select * into r_tpl from templates; -- テンプレートをメモリにロードする。 select "SQL" into l_sql from sql_source; -- 実行するSQLをメモリにロードする。 /* SQLの実行結果でテンプレートの穴埋めを行う。l_contentがページになる。 */ l_row := replace(r_tpl."ROW", '#ROW#', r_tpl."HEADER"); -- 行テンプレートをヘッダー行で置き換える。 l_page := l_page || l_row; -- 出力に追加する。 open c for l_sql; -- SQLを実行する。 loop fetch c into r_sql; exit when c%notfound; l_row := r_tpl."DATA"; -- データ行のテンプレートを選択する。 l_row := replace(l_row, '#EMPNO#', r_sql.empno); -- 従業員番号を置き換える。 l_row := replace(l_row, '#ENAME#', r_sql.ename); -- 従業員名を置き換える。 l_row := replace(r_tpl."ROW",'#ROW#', l_row); -- 行テンプレートをデータ行で置き換える。 l_page := l_page || l_row; -- 出力に追加する。 end loop; close c; l_page := replace(r_tpl."TABLE", '#TABLE#', l_page); -- 表テンプレートをヘッダーとデータで置き換える l_page := replace(r_tpl."BODY", '#BODY#', l_page); -- 本文テンプレートを表で置き換える l_page := replace(r_tpl."HTML", '#HTML#', l_page); -- HTMLテンプレートを本文で置き換える /* 以上でページが完成した。クライアントへ送信する。 */ owa_util.mime_header('text/html',true,'utf-8'); htp.prn(l_page); end prcemp2;
  17. Oracle APEXのコンポーネントのクラシック・レポートでは、テンプレートとSQLの実 行結果をマージして、画面にレポートを表示しています。 24 レポートとテンプレート 24 Copyright © 2023, Oracle

    and/or its affiliates • リージョンを作成し、タイプを(クラシッ ク)レポートとします。 • 実行するSQLを定義します。 select * from emp
  18. アプリケーションのレポートを開く。 レポートの属性としてStandardが選ばれていますが、 これをValue Attribute Pairs –Columnに変更してみます。 データソースは変更していませんが、表示形式は変わります。 Value Attribute Pairs

    –Rowに変更してみます。 さらに別の表示形式に変更されます。 25 テンプレートの切り替え 25 Copyright © 2023, Oracle and/or its affiliates Standard Value Attribute Pairs -Column Value Attribute Pairs -Row テンプレートの切り替えに よって、見かけを変更でき ます。
  19. テンプレートは共有コンポーネントのテンプレートから参照することができます。 (レポートのStandardを開く) (テンプレートの内容を紹介する) このような形でHTMLのテンプレートが保存されています。 26 テンプレートの定義 行の前(TABLE要素開始) <div class="t-Report #COMPONENT_CSS_CLASSES#"

    id="report_#REGION_STATIC_ID#" #REPORT_ATTRIBUTES# data-region-id="#REGION_STATIC_ID#"> <div class="t-Report-wrap"> <table class="t-Report-pagination" role="presentation">#TOP_PAGINATION#</table> <div class="t-Report-tableWrap"> <table class="t-Report-report" id="report_table_#REGION_STATIC_ID#" aria- label="#REGION_TITLE#"> 各行の前(TR要素開始) <tr> 列ヘッダー・テンプレート(TH要素) <th class="t-Report-colHead" #ARIA_SORT# #ALIGNMENT# id="#COLUMN_HEADER_NAME#" #COLUMN_WIDTH#>#COLUMN_HEADER#</th> 列テンプレート(TD要素) <td class="t-Report-cell" #ALIGNMENT# #ACCESSIBLE_HEADERS#>#COLUMN_VALUE#</td> 各行の後(TR要素終了) </tr> 行の後(TABLE要素終了) </tbody> </table> </div> <div class="t-Report-links">#EXTERNAL_LINK##CSV_LINK#</div> <table class="t-Report-pagination t-Report-pagination--bottom" role="presentation">#PAGINATION#</table> </div> </div> 26 Copyright © 2023, Oracle and/or its affiliates
  20. このような形で、データソースやビジネス・ロジックと、生成されるWebページを分 離しましたが、 Webページの表示形式を変えるために、多数のテンプレートが作成されることになり ました。 これでは、効率が良くありません。 この間に進歩したHTML5やCSSを採用することにより、Webページの見かけをテンプ レート自体ではなく、主にCSSを使って変更するようにしたのがユニバーサル・テー マです。 ユニバーサル・テーマによって、ひとつのテーマ、つまりテンプレートのセットで、 Webページの見かけの変更や複数のデバイスへの対応、つまり、レスポンシブ・デザ

    インに対応しました。 ユニバーサル・テーマのリファレンス・アプリケーションがサンプルとして提供され ています。 Oracle APEXで作成できるアプリケーションの多くは、このリファレンス・アプリケー ションより確認できます。 ですので、Oracle APEXでのアプリケーション開発を始めるに当たっては、何よりもま ず、このアプリケーションを使ってみることをお勧めします。 https://apex.oracle.com/ut 27 ユニバーサル・テーマの導入 多数のテーマから1つのテーマへ 27 Copyright © 2023, Oracle and/or its affiliates 以前: 見た目を調整するために、テーマ(テンプレートの セット)が多数 現在: ユニバーサル・テーマ = HTML5 + CSS3 APEX Universal Theme Reference Application https://apex.oracle.com/ut
  21. ユニバーサル・テーマで実装された、レスポンシブ・デザインの一例です。 PC、タブレット、スマホで同じWebページを表示していても、画面サイズに応じてレ イアウトが自動的に調整されます。 28 レスポンシブ・デザイン 28 Copyright © 2023, Oracle

    and/or its affiliates PC Tablet Smartphone Oracle APEXのユニバーサル・テーマUIは、大きい画面と同じように小さい画面でも 適切に動作するように、当初から完全にレスポンシブに設計されています。
  22. 適用するCSSは、開発者が指定することもできます。 テーマ・ローラを開き、画面の見た目を変更します。 テーマ・スタイルは主に表示色を変更しますが、それ以外の見た目も変更できます。 29 テーマ・ローラー – UIのカスタマイズを簡単に CSS、CSS変数の設定をGUIで行う テーマ・ローラー それぞれのコンポーネントの

    • 表示色 • 形 • 大きさ などを設定します。 テーマ・スタイル • Redwood Light • Vita • Vita – Dark • Vita – Red • Vita – Slate 独自のテーマ・スタイルも作れます。 直接CSSを書き込むことも可能です。 29 Copyright © 2023, Oracle and/or its affiliates
  23. 対話モード・レポート、対話グリッド、チャートといったコンポーネントは、 JavaScriptで記述されていて、クライアント側でHTMLを生成しています。 Oracle Databaseはこれらのコンポーネントが発行するAjaxの呼び出しを受けて、データ のやり取りを行います。HTMLの生成は行いません。 30 よりモダンな形式へ 対話グリッドの導入 – リージョンのコンポーネント化

    Copyright © 2023, Oracle and/or its affiliates 30 • リージョン内はテンプレートを使わず ブラウザ側でレンダリング • ページ全体の送信をせずに更新 カード・リージョン、チャート(Oracle JET)、カレンダ(FullCalendar)など。 今後もコンポーネントは追加される予定です。
  24. John Snydersの2020/11/4のブログAPEX Template Directives より https://hardlikesoftware.com/weblog/2020/11/04/apex-template-directives/ 最近のOracle APEXでは、テンプレート・ディレクティブという構文が導入され、クラ イアント側でのHTMLの生成を制御できるようになっています。 Oracle

    APEXによる、ページ生成の仕組みについての説明は以上になります。 31 テンプレート・ディレクティブ • クライアント側(ブラウザ)でのHTMLの生 成。 {if TAGS/} <ul class="a-tags"> {loop "," TAGS/} <li class="a-tag">&APEX$ITEM.</li> {endloop/} </ul> {endif/} 31 Copyright © 2023, Oracle and/or its affiliates
  25. レンダリング・ビューでは、主に画面に表示されるコンポーネント、レポートや フィールド、チャートなどを配置します。 ページの生成処理に入る前に、データベース・サーバー側の処理をプロセスとして定 義することも可能です。 例えば、フォームに挿入する値をデータベースより取得するといった処理になりま す。 HTTPのGETリクエストを受け付けた時に実行される処理、と考えてかまいません。 37 レンダリング・ビュー 37

    Copyright © 2023, Oracle and/or its affiliates 画面に表示されないコンポーネント • 計算 • ページ・アイテムの値の設定、導出、変更。 • プロセス • サーバー側で実行される任意の処理。 • データベースからの行の読み取りとページ・アイテムへの設定。 • ブランチ • いわゆるリダイレクトの設定。 • 条件などを考慮し、別ページにリダイレクトさせる。 • そのため、ページ処理の前に設定する。 画面に表示されるコンポーネント • リージョン • レポート、チャート、カレンダー、フォーム、静的コンテンツなど、 多くのHTML要素からなるコンポーネント。 • アイテム • テキスト・フィールドや日付ピッカーなど、ひとつの値を保持する コンポーネント。 • ボタン • クリックにより、処理を呼び出すコンポーネント。
  26. 動的アクション・ビューには、ブラウザ上で実行するJavaScriptによる処理を定義しま す。 Oracle APEXで定義されているアクションであれば、JavaScriptによるコーディングは不 要です。 ブラウザで発生するイベントのコールバックを、宣言的に実装しています。 38 動的アクション・ビュー 38 Copyright

    © 2023, Oracle and/or its affiliates イベント • ブラウザで発生するイベントです。 • クリック、(値の)変更、マウス・エンター、フォーカスの取得、 スワイプなどがあります。 動的アクション • ブラウザで発生するイベントとイベント・ターゲットを紐付け、 イベント・リスナーを構成します。 • リージョン、ページ・アイテム、ボタンなどがイベント・ター ゲットになります。 アクション • イベント・リスナーのコールバックの実装になります。 • 標準のアクションとして、値の設定、リフレッシュ、表示、非表 示、リージョンを開く、閉じるなどがあります。 • サーバー側のコード(PL/SQL - DB 23cではJavaScriptも)、クライ アント側のコード(JavaScript)として、コーディングも可能です。
  27. プロセス・ビューでは、サーバー側の処理を定義します。 HTTPのPOSTリクエストを受け付けたときの処理に当たります。 一般的には、データベースへのINSERT、UPDATE、DELETEといった処理がプロセスにな ります。 通常は、プロセス・ビューで定義された処理の最後に、レンダリング・ビューを呼び 出すブランチを定義し、画面の再描画を行います。 39 プロセス・ビュー 39 Copyright

    © 2023, Oracle and/or its affiliates プロセス • 実行するプロセスのタイプを選択し、それに 必要な設定を行う。 • ページ・アイテムの値を元に、データベース への挿入/更新/削除を行う。 • データベース以外の操作も可能。 • PL/SQLまたはJavaScript(23cより)でコーディ ングができる。 ブランチ • ボタンの押下(FormのSubmit受付)後のペー ジの移行先を指定する。 • 移行先のページのレンダリング・ツリーが処 理される。
  28. アプリケーション作成ウィザードによって、新規のアプリケーションを作成します。 アプリケーション・ビルダーより作成を開始します。 ページの追加をクリックし、あらかじめアプリケーションに含まれるページを追加し たり、 標準で提供されている機能を選択し、アプリケーションに組み込みます。 その上でアプリケーションの作成をクリックし、アプリケーションを作成します。 作成されたアプリケーションは、もちろんページ・デザイナにて修正することができ ます。 40 40

    Copyright © 2023, Oracle and/or its affiliates • 複数のページを一度に作成する、単純で 洗練されたウィザード • ダッシュボード、マスター・ディテール といった、より高度なページを作成可能 • アクセス制御、アクティビティ・レポー ト、テーマ・スタイルの選択といった、” 機能”と呼ばれる、共通フレームワークの 追加をサポート • テーマ・スタイルやアプリケーション・ アイコンなどのユーザー・インターフェ ースをカスタマイズ アプリケーション作成ウィザード
  29. ページ作成ウィザードを使って、作成済みのアプリケーションにページを追加できま す。 ページの作成をクリックします。 作成したいページのタイプを選択し、そのページを作成するに当たって必要な情報を 入力してページを作成します。 41 ページ作成ウィザード • 既存のアプリケーションにページを作成す る、単純で洗練されたウィザード

    • ダッシュボード、マスター・ディテール、リ スト・ビュー、モバイル向けレポート、と いった、より高度なページを作成可能 • 既存のアプリケーションに、アクセス制御、 アクティビティ・レポート、テーマ・スタイ ルの選択といった、”機能”と呼ばれる、共通 フレームワークの追加をサポート 41 Copyright © 2023, Oracle and/or its affiliates
  30. クイックSQL使うと、マークダウンに似た簡易記法より、表やビューを作成するDDLを 生成できます。 例えば、以下のような記述より、DDLが生成されます。(ヘルプのサンプルを参照) #apex: true, auditcols: true assignees /insert 10

    full_name /nn email phone_number todos /insert 50 name vc255 /nn due_date date priority vc50 /check P1, P2, P3 status vc50 /check OPEN, COMPLETE, ON HOLD, CANCELLED CREATE TABLE文を記述するのは大変なので、このようなユーティリティは大変便利で す。 48 クイックSQL • マークダウンに似た簡易記法による、データ モデルの設計およびプロトタイプの生成を素 早く実施 • 標準のOracle SQLを補完 48 Copyright © 2023, Oracle and/or its affiliates
  31. Oracle APEXのアプリケーションで利用できるデータ・ソースには3種類あります。 ローカル・データベース、つまりAPEXが動作しているデータベースにある表のことで す。 REST対応SQLはOracle REST Data Servicesが受け口として構成されている、別のオラク ル・データベースです。 問合せのみであれば、MySQLもこの形式のデータ・ソースとして扱えます。

    RESTデータ・ソースは、JSONのオブジェクトの配列を返すデータ・ソースです。 Oracle REST Data Servicesを使っていなくても、データベースでなくても、とにかく JSONでデータを返してくれば、データ・ソースとして扱うことができます。 52 データ・ソース ローカル・データベース • 表/ビュー • SQL問合せ(静的SQL) • SQL問合せを返すファンク ション本体(動的SQL) REST対応SQL • リモートでのSQL実行 • Oracle (全CRUD操作) • MySQL(リードのみ) • キャッシュ対応 RESTデータ・ソース • REST APIの呼び出し • JSONオブジェクトの配列を受 け取る。 52 Copyright © 2023, Oracle and/or its affiliates 色々な方法で更新対象となるデータを読み出すことができます。
  32. https://apex.oracle.com/pls/apex/r/japancommunity/sample-reporting/home レポーティングには主に、クラシック・レポート、対話モード・レポート、対話グ リッドが使用されます。 サンプル・アプリケーションのSample Reportingに、それらの実装が含まれているの で、参照してください。 53 レポーティング クラシック・レポート サーバー側でHTMLを生成。

    テンプレートの変更により、表 形式以外でも表示可能。 対話モード・レポート クライアント側でHTMLを生成。 クライアント側で表示形式を変 更できる。(チャートなど) 対話グリッド クライアント側でHTMLを生成。 表示以外に更新も可能。 53 Copyright © 2023, Oracle and/or its affiliates サンプル・アプリケーションSample Reportingより
  33. データの挿入、更新、削除は、対話グリッド、またはフォームにて実装します。 フォームは対話モード・レポートとの組み合わせで使用することが多く、サンプル・ レポーティングの対話モード・レポートにフォームの実装が含まれています。 対話グリッドは、専用のサンプル・アプリケーションが提供されています。 https://apex.oracle.com/pls/apex/r/japancommunity/sample-interactive-grids/home まずはサンプル・アプリケーションをインストールし、実装されている動作に触れる ことをお勧めします。 54 対話グリッド(Oracle APEX

    5.1〜) フォーム(Oracle APEX 19〜) データ操作に使用するコンポーネント Copyright © 2023, Oracle and/or its affiliates 54 • それまでの対話モード・レポートは データの更新ができない。 • ページの全体の送受信を行わず、デー タのCRUD操作を行う。 • データ更新用の専用リージョンは無かった (プロセスがあるだけ)。 • 送信されたページを処理する。 • 設定は対話グリッドを踏襲している。
  34. 検索に使うページです。 ファセット検索(ComponentsのFaceted Search) https://apex.oracle.com/pls/apex/r/apex_pm/ut/reports-faceted-search スマート・フィルタ(ComponentsのSmart Filters) https://apex.oracle.com/pls/apex/r/apex_pm/ut/reports-smart-filters 検索リージョン(ComponentsのSearch Region) https://apex.oracle.com/pls/apex/r/apex_pm/ut/reports-search-region

    があります。これらはユニバーサル・テーマのリファレンス・アプリケーションで確 認できます。 ファセット検索はインターネット上のアプリケーション、主に店舗や販売系のウェブ サイトでよく見られます。 スマート・フィルタは指定する条件はファセット検索と同じですが、設定される条件 はよりコンパクトな形式になります。 検索リージョンは、検索対象をコンポーネント化することにより、複数のデータソー スを一度に検索をすることを可能にします。 55 検索 ファセット検索 ファセットで検索条件指定。 検索結果はレポートやカードで 表示する。 スマート・フィルタ スマート・フィルタで検索条件 指定。 検索結果はレポートやカードで 表示する。 検索リージョン 検索リージョンに結果を表示す る。 検索対象を共有コンポーネント の検索構成として作成する。 55 Copyright © 2023, Oracle and/or its affiliates
  35. https://apex.oracle.com/pls/apex/r/apex_pm/sample- charts/home Oracle APEXは、データ視覚化を行うためにOracle JET (JavaScript Extension Toolkit) を採用しています。 チャートのサンプル・アプリケーションが提供され

    ています。サンプル・アプリケーションに含まれる チャートを一通り確認することで、どのような チャートが使用できるかをつかむことができます。 57 チャート • Oracle JETが提供する多くのチャートが利用可 能です。 57 Copyright © 2023, Oracle and/or its affiliates
  36. https://apex.oracle.com/pls/apex/r/apex_pm/sample-maps/home (スライドの説明) マップもサンプル・アプリケーションが提供されています。 58 マップ 58 Copyright © 2023, Oracle

    and/or its affiliates • 地図上にマーカー、ライン、ポリゴンを表示できま す。 • ヒートマップの表示もサポートしています。 • 座標の数値、GeoJSONとともに、Oracle Spatialの SDO_GEOMETRY型を扱うことができます。 • Oracle Spatialの空間演算子を使った問合せの結果を表 示できます。 • リージョンの実態はMapLibre GL JS(1.15.2)です。
  37. https://apex.oracle.com/pls/apex/r/japancommunity/sample-rest-services/example-rest- application RESTアプリケーションのサンプルもあります。 59 RESTデータ 59 Copyright © 2023, Oracle

    and/or its affiliates • GitHubのリポジトリAPIを呼び出すRESTデー タ・ソースのサンプルです。 • RESTfulサービスのサンプルとして導入される モジュールoracle.example.hrを使った、REST API による更新のサンプルを含みます。 • エンドポイントのセットアップが必要です。
  38. Sample Approvals https://apex.oracle.com/pls/apex/r/japancommunity/sampleapprovals/home 統合タスク・リストのサンプルはSample Approvalsとして提供されています。 60 統合タスク・リスト 60 Copyright ©

    2023, Oracle and/or its affiliates • 承認コンポーネントの使用方法を紹介したサンプルです。 • 表EMPのデータを使って、給与、ジョブの変更を申請しま す。また、ラップトップ・コンピュータの購入申請を実装 しています。 • 統合タスクリストのページで、自分自身の申請を一覧しま す。 • 承認要求は承認者の統合タスクリストのページに一覧され ます。 • 統合タスクリストのページより、承認または却下の操作を 行います。
  39. Sample Trees https://apex.oracle.com/pls/apex/r/japancommunity/sample-trees/ Sample Treesが提供されています。 62 ツリー 62 Copyright ©

    2023, Oracle and/or its affiliates • SQLのCONNECT BY句を使った階層問い合わせの 結果を表示する際に使用します。
  40. Sample Master Detail https://apex.oracle.com/pls/apex/r/japancommunity/sample-master-detail/ サンプル・マスター・ディテールが提供されています。 63 マスター・ディテール 63 Copyright ©

    2023, Oracle and/or its affiliates • マスター・ディテールのページは、既存のコ ンポーネントの組み合わせから出来ていま す。 • ページ作成ウィザードを使って作成できる、 積み上げ(Stacked)、左右(Side by Side)、ドリル ダウン(Drill-Down)形式のマスター・ディテー ル・レポートの実装サンプルです。
  41. https://apex.oracle.com/pls/apex/r/japancommunity/sample-data-loading/sample-data- loading サンプル・データ・ローディングが提供されています。 64 データ・ローディング • Oracle APEXで実装できるデータ・ローディングのサ ンプルです。 •

    CSV、Excel、XML、JSON形式のファイルをデータベー スにロードします。 • ロード中に値の置き換えを行います。 • ロード中にタイムアウトが発生しないよう、バック グラウンドでのロードを実装しています。 • APEX_DATA_PARSERパッケージを使ったデータロード もサンプルに含みます。 64 Copyright © 2023, Oracle and/or its affiliates
  42. https://apex.oracle.com/pls/apex/r/japancommunity/sample-file-upload-download/home 65 ファイルのアップロード・ダウンロード 65 Copyright © 2023, Oracle and/or its

    affiliates • ファイルをアップロードして、データベース の表のBLOB列に保存するサンプルです。 • ファイルをダウンロードするためのリンク を、レポートやフォームに配置する方法も紹 介しています。
  43. https://apex.oracle.com/pls/apex/r/japancommunity/sample-dynamic-actions/home (画面を読む) 66 動的アクション 66 Copyright © 2023, Oracle and/or

    its affiliates • ブラウザで発生するイベントに対して、実行 するアクションを定義します。 • 画面上のコンポーネントの表示/非表示、レ ポートのリフレッシュなどを実行できます。 • 処理をJavaScriptで記述することもできます。 • サーバー側のコードを呼び出すこともできま す。
  44. https://apex.oracle.com/pls/apex/r/apex_pm/apex-pwa-reference/ 67 PWA 67 Copyright © 2023, Oracle and/or its

    affiliates • 実装サンプルではありません。 • Oracle APEXでPWA(Progressive Web Apps)を実装す る方法を解説しているアプリケーションです。 • PWAはまだ発展途上で、プラットフォームやブラウ ザ毎にサポートされる機能が異なります。
  45. Oracle APEXを使って、アプリケーションを開発するために、必要な知識です。 最初のOracle APEXについては、もちろんですが、 データ・モデリングといった概念の理解も必要です。 次に、SQL、PL/SQLまたはJavaScriptといった、サーバー側のプログラミング言語の知 識と理解、 HTML5、CSSおよびJavaScriptといったフロントエンドの技術もあったほうがよいです。 その他には、ネットワーク・セキュリティや、データベースのパフォーマンス・ チューニングといった知識もあった方がよいです。

    この中で、PL/SQL以外は、ベンダーにあまり依存しない標準的な技術になります。 69 Oracle APEXによる開発に必要な技術 • Oracle Application Express • データ・モデリング • SQL • Oracle PL/SQL & JavaScript • HTML5, CSS & JavaScript • ネットワーク・セキュリティとデータ・セキュリティの理解 • データベースのパフォマンス・チューニング 69 Copyright © 2023, Oracle and/or its affiliates
  46. オラクル・データベースは、リレーショナル以外のデータ・モデルもサポートしてい ます。 RDFナレッジ・グラフと問合せ言語のSPARQL、Database 23cからですが、プロパティ・ グラフとSQL/PGQ標準のサポート、JSONドキュメントおよびXMLもサポートしていま す。 扱うデータに合わせて、自然なデータ・モデルで定義することができると、他の人に もデータの扱いがわかりやすく、データの再利用も容易になります。 72 リレーショナル・モデル以外のデータモデルのサポート

    • RDFナレッジ・グラフのサポート • SEM_MATCH関数とSPARQLによる問い合わせ • 主語、述語、目的語のトリプルにて情報を表現 • W3C勧告 RDF – Resource Description Framework • SQLプロパティ・グラフのサポート(DB23cより) • SQL GRAPH_TABLE問い合わせ • オブジェクトまたは頂点のセットと、それをつなぐ矢印またはエッジのセット • ISO/IEC SQL Property Graph Queries (SQL/PGQ) 標準のサポート • ドキュメント(JSONネイティブ・タイプ)のサポート • JSON_QUERY、JSON_TABLE、JSON_VALUEなどの一連のファンクション • JSON(JavaScript Object Notation)による情報の表現 • ISO/IEC 19075-6:2021 SQL for JavaScript Object Notationのサポート • XMLドキュメントのサポートも継続 72 Copyright © 2023, Oracle and/or its affiliates
  47. (スライドの紹介) Flows for APEXによりBPMN2.0によるワークフローの定義ができます。 BPMN 2.0は業務フローを表記する方法の国際標準になります。 アプリケーションを作成するにあたって、ワークフローを標準の記法で定義できま す。 • Flows

    for APEXはオープンソースのプロジェクトです。 • Flows for APEXはOracle APEXの製品に含まれません。 73 Flows for APEXによるBPMN 2.0のサポート • Flows for APEXによりBPMN2.0によるワークフ ローの定義ができます。 • Flows for APEXはオープンソースのプロジェク トです。 • Flows for APEXはOracle APEXの製品に含まれませ ん。 https://flowsforapex.org/ 73 Copyright © 2023, Oracle and/or its affiliates
  48. サーバー側でコーディングをするために、OracleのPL/SQL言語またはデータベース23c からはJavaScriptで記述することができます。 どちらか得意な言語を選ぶことができます。 手続き言語の学習という意味では、JavaScriptの方が応用範囲は広くなります。 74 Oracle PL/SQL & JavaScript •

    Oracle PL/SQLは、OracleによるSQLの手続き言語 拡張です。 • 通常の手続き言語が持つ、条件分岐、繰り返 し実行、変数の利用、サブプログラムの作成 が可能です。 • Oracle Database 21cでは、より一般的な言語で あるJavaScriptによる記述も可能になりまし た。 74 Copyright © 2023, Oracle and/or its affiliates
  49. 米国のオラクル本社が提供している情報は、Oracle APEXのホーム・ページから辿れる ようになっています。 https://apex.oracle.com プラットフォームのメニューに含まれる概要の説明は、Oracle APEXに関する説明とし て一番まとまっています。一般にこういった社外に公開しているサイトは、製品を開 発している部門ではなくマーケティング部門が作成していることが多いと思います が、apex.oracle.comはOracle APEXの開発部門が管理しています。

    少しリンクを辿るとマニュアルやチュートリアルに誘導され、それは英語のみの情報 であったりします。また、日本語への翻訳にタイムラグがあり、言語に英語を選択し たときと表示される内容が異なることがあります。特に先頭ページは最新情報が表示 されています。表示言語を英語に切り替えて先頭ページを表示すると、最新の情報を 得ることができます。 Oracle APEXの日本語の情報は、apex.oracle.com/go/japanのページにまとめられていま す。 https://apex.oracle.com/go/japan 77 日本語の情報は以下から辿れます。 https://apex.oracle.com/go/japan 公式ホーム・ページは以下。 https://apex.oracle.com/ ホーム・ページ 77 Copyright © 2023, Oracle and/or its affiliates
  50. https://mylearn.oracle.com/ou/learning-path/oracle-apex-foundations/112444/ オラクルは、Oracle APEX開発者ファウンデーションというコースを提供しています。 ビデオは英語ですが、日本語の字幕がつきます。 受講は無料です。 78 Oracle APEX開発者ファウンデーション • オラクル社が提供している無料のトレーニン

    グ。 • 3時間以上のビデオ • 英語(日本語字幕あり) • 修了のバッチあり • 内容 1. Getting Started with Oracle APEX 2. Using SQL Workshop 3. Creating a Database Application 4. Managing Pages in an Application 5. Creating different types of Reports 6. Creating and Using Forms 7. Creating Database Application Components 8. Implementing Security in your Application 9. Migrating Application Development Between Environment 78 Copyright © 2023, Oracle and/or its affiliates
  51. https://mylearn.oracle.com/ou/course/build-web-apps-using-oracle-autonomous-database- and-apex-new/106530/ さらに詳細なトレーニング・コースも提供されています。 こちらも日本語の字幕が付いています。 79 Build Web Apps using Oracle

    Autonomous Database and APEX - New! さらに詳細なトレーニング。 15時間のビデオ、英語(日本語字幕あり) 1. APEX on Oracle ADB 2. Using SQL Workshop 3. Overview of App Builder 4. Creating an Application Page 5. Overview of Reports in Oracle APEX 6. Customizing an Interactive Report as an End User 7. Customizing an Interactive Grid as a Developer 8. Creating a Form in Oracle APEX 9. Creating Application Page Controls 10. Adding Computations, Processes, and Validations 11. Implementing Navigation in your Application 12. Using Themes and Theme Styles 13. Implementing Security in your Application 14. Adding Additional Pages to your Application 15. Create and Use Dynamic Actions in your Application 16. Collections 17. Migrating Application Development Between Environments 79 Copyright © 2023, Oracle and/or its affiliates
  52. https://apexapps.oracle.com/pls/apex/r/dbpm/livelabs/home (スライドの説明) LiveLabsはOracle APEXで作成されています。 80 LiveLabs Oracle LiveLabsは、Oracle製品を使った色々なワーク ショップを提供しているサイトです。 Oracle

    APEXに関するワークショップは、 RoleとしてLow Code Developerを選択 ProductとしてAPEXを選択 します。 手順は英語になります。 以下の5つはapex.oracle.com、VirtualBox仮想マシンの APEXでも作業できます。 • Build a Starter Online Shopping App using Oracle APEX! • Build a Movies Watchlist Application using Oracle APEX • Building an App using REST Data Sources for Oracle Autonomous Cloud Services • Get Started with Maps and Spatial in APEX • Build a Social Media App using Oracle APEX 80 Copyright © 2023, Oracle and/or its affiliates LiveLabsはOracle APEXで作成されています。 https://apexapps.oracle.com/pls/apex/r/dbpm/livelabs/home
  53. https://asktom.oracle.com/pls/apex/f?p=100:501::::RP,501::&cs=32vT_8ocddX9O7SOQZYucua h04KqmZAXWMI0KncG-3fSEgT6A1uOD6hcMjrRREDhvY_Ex4-okEygS8PKS6ff00A (スライドの説明) 81 AskTOM Office Hours - APEX AskTOM

    Office Hoursでは、オラクルの色々な製品 やサービスを、約1時間のセッションとして紹介 しています。参加は無料です。 予定されているセッションはOffice Hoursから一覧 します。 過去のセッションの録画は、Videosから一覧しま す。 APEXに関するセッションは、TechnologyにAPEXを 選択します。 81 Copyright © 2023, Oracle and/or its affiliates
  54. 世界各地で、オラクルのユーザーグループが主催しているイベントが開かれていま す。 いくつかはOracle APEXに特化しています。また、その他でも1トラックはOracle APEX のセッションです。 おおむね英語で、場所が場所なので参加は難しいと思いますが、セミナー資料の多く は各国のユーザー・グループのサイトからダウンロードできます。 82 世界のイベント

    82 Copyright © 2023, Oracle and/or its affiliates APEX World 2023 2023年3月30, 31日 – オランダ APEX Connect 2023 2023年5月3, 4日 – ドイツ ODTUG Kscope 2023 2023年6月25, 23日 – アメリカ合衆国 APEX Alpe Adria 2023 2023年4月21日 – クロアチア UKOUG Breakthrough 2022 2022年12月1, 2日 – イギリス AUSOUG APEX Special Series 2023 2023年 – オーストラリア(オンライン) #VIVE SPOUG 2022 2022年6月2,3日 – スペイン APEX Day 2022 2022年9月7日 – スウェーデン Contech by RoOUG 2022 2022年10月6,7日 – ルーマニア
  55. https://apex.oracle.com/ideas Oracle APEXに追加して欲しい機能をリクエストするサイトです。 必ず実装されるわけではありませんが、追加して欲しい機能をリクエストして、多く のユーザーの賛同が得られると製品に実装されるチャンスが増えます。 Oracle APEXの標準機能になく自力で実装したとしても、それがOracle APEXの標準機能 として実装されて置き換えることができれば、将来のメンテナンス・コストを下げる ことができます。

    このアプリケーションもOracle APEXで作られています。 86 Ideasアプリケーション https://apex.oracle.com/ideas Oracle APEXに欲しい機能をリクエストするサイト です。 Oracle APEXをより良いものにするためのアイデアをお持ちです か? おそらく、不足している新しい機能、またはすでに存在するも のの強化でしょうか?何か必要以上に難しいことがあるので しょうか?何であれ、私たちはあなたからの連絡をお待ちして います。 APEXは、コミュニティの関与とフィードバックによって繁栄し ており、APEXの製品の方向性に直接貢献できるよう、さらに簡 単にしたいと考えています。 86 Copyright © 2023, Oracle and/or its affiliates
  56. (スライドの文書) 88 LinkedIn – Oracle APEX The Official Group LinkedInにオフィシャルのグループがあります。

    8千人近いメンバーが参加しています。 88 Copyright © 2023, Oracle and/or its affiliates
  57. 90

  58. 91 Our mission is to help people see data in

    new ways, discover insights, unlock endless possibilities.