2023年4月20日 Oracle APEX JAPAC Office Hoursのセッションでの資料です。
アジェンダ: 1. Oracle APEXの始め方 2. Oracle APEXとは何か 3. ページの生成 4. 開発ツール 5. コンポーネント 6. 必要な技術 7. 学習と情報の入手 8. 質問する、相談する
Oracle APEXの紹介Oracle APEXとは何か、始め方と学び方日本オラクル株式会社2023年4月20日
View Slide
アジェンダ1. Oracle APEXの始め方2. Oracle APEXとは何か3. ページの生成4. 開発ツール5. コンポーネント6. 必要な技術7. 学習と情報の入手8. 質問する、相談する4 Copyright © 2023, Oracle and/or its affiliates
Oracle APEXの始め方5 Copyright © 2023, Oracle and/or its affiliates
無料で始める方法は3通り6 Copyright © 2023, Oracle and/or its affiliates1. 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にアクセスし、今日から無料で開始をクリックします。
無料のワークスペースの取得• 以下を入力し、Request Workspaceをクリックします。• 名(First name)、姓(Last name)• メールアドレス(Email)• 国(Your Location)• APEX使用経験の有無(Are you new to Oracle APEX?)• 授業や研修での使用かどうか(Do you plan to use APEX foreducation or training?)• 利用規約の承諾(I agree to the terms of the Oracle APEXService Agreements)• 指定したメールアドレスにメールが届くので、CreateWorkspaceをクリックします。• 検証用途に限定されています。• 容量は50MBです。• 不具合と思われる事象の再現ケースをOracle Supportと共有するためにも使用できます。• 利用できる機能の制限はほぼありません。7 Copyright © 2023, Oracle and/or its affiliates
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-trackingapplication in Finlandhttps://blogs.oracle.com/database/post/covid-19-tracking-app-finlandOn the busiest day recorded, the application had 600,000 distinctusers, 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
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 andConditionsを参照してください。9 Copyright © 2023, Oracle and/or its affiliatesREST Data Services、APEX、 Databaseが構成済みのVirtualBox仮想アプライアンスも提供されています。https://www.oracle.com/database/technologies/databaseappdev-vm.html
Oracle APEXとは何か10 Copyright © 2023, Oracle and/or its affiliates
Oracle APEXとは?11 Copyright © 2023, Oracle and/or its affiliates• Oracle Databaseで動作するエンタープライズ・アプリケーション向けのローコード・アプリケーション・プラットフォーム(Low Code Application Platform – LCAP)です。• アプリケーション開発ツール、各種ユーティリティ、アプリケーションの実行環境を含みます。開発者が作成したアプリケーションの実行開発を支援する各種ユーティリティアプリケーションを開発するツール
概要12 Copyright © 2023, Oracle and/or its affiliatesすべての処理、データ操作およびビジネス・ロジックは、データベースで実行されます。WebブラウザからのHTTPリクエストはOracle REST Data Services (ORDS)に送信され、そこでアクション対象のOracle Databaseに渡されます。データベース内で、リクエストはOracle APEXによって処理されます。処理が完了すると、その結果はORDSを介してブラウザに戻されます。
ステートレス・アクセス13 Copyright © 2023, Oracle and/or its affiliatesPOST /ords/wwv_flow.acceptGET /ords/r/… Call wwv_flow.show(…)Call wwv_flow.accept(…)POST /ords/wwv_flow.ajax Call wwv_flow.ajax(…)ページの表示フォームの送信データの要求セッションIDOracle REST Data Services (ORDS)は受け取ったURLとパラメータを引数に変えて、PL/SQLのプロシージャを呼び出します。セッションIDはつねにパラメータに含まれます。ORDSはステートを保持しません。
リファレンス・アーキテクチャ14 Copyright © 2023, Oracle and/or its affiliates参照(機械翻訳): https://docs.oracle.com/ja/solutions/deploy-ords-ha-oci/index.htmlOracle REST Data Services(ORDS)は完全にステートレスであるため、ロード・バランサーの配下に複数配置することで可用性を確保できます。データベースの可用性は、Real ApplicationClusters(RAC)やData Guardの構成によって確保します。
メタデータ駆動15 Copyright © 2023, Oracle and/or its affiliatesコンポーネントテンプレートSQL, PL/SQLセッション・ステートJavaScript, CSSメタデータSELECT * FROM EMPSQLの実行結果をテンプレートに埋め込む(データベースにて実行)
メタデータとは?Oracle APEXのすべてのデータ(ワークスペース、アプリケーション、ページ、コンポーネント設定、etc.)は、APEX_XX0X00(XX0X00はバージョン)スキーマに保存されています。メタデータを参照するビューが提供されています。アプリケーションID 140のページ2にある対話モード・レポートに含まれる列とその型を一覧します。16 Copyright © 2023, Oracle and/or its affiliatesselect region_name, form_label, column_typefrom APEX_APPLICATION_PAGE_IR_COLwhere application_id = 140 and page_id = 2 order bydisplay_order
Oracle APEXの開発ツールもOracle APEXのアプリケーション17 Copyright © 2023, Oracle and/or its affiliatesシステム提供のメタデータAPEX_XX0X00スキーマユーザーデータアプリケーションのメタデータユーザーのスキーマPL/SQLライブラリOracle APEXの開発ツールユーザーが開発したアプリケーション
ページの生成18 Copyright © 2023, Oracle and/or its affiliates
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 affiliatesOracle APEXの移り変わりOracle APEXの初期の実装について:My Personal Thanks to the Chicago Police Department - the First Real Proving Ground for Oracle APEXhttps://joelkallman.blogspot.com/2019/11/my-personal-thanks-to-chicago-police.html
見た目の変更でも、コードの変更create or replace procedure prcempasl_page clob;beginl_page := '';l_page := l_page || '';l_page := l_page || '従業員番号従業員名';for c in (select empno, ename from emp)loopl_page := l_page || '';l_page := l_page || c.empno;l_page := l_page || '';l_page := l_page || c.ename;l_page := l_page || '';end loop;l_page := l_page || '';-- return l_page;l_page := l_page || '';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
当時のコードの活用動的コンテンツCopyright © 2023, Oracle and/or its affiliates21の出力は除く
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 templatesvalues('#HTML#','#BODY#','#TABLE#','#ROW#','従業員番号従業員名','#EMPNO##ENAME#');create table sql_source("SQL" varchar2(4000));insert into sql_sourcevalues('select * from emp');22 Copyright © 2023, Oracle and/or its affiliatesページの雛形となるHTML(テンプレート)をデータベースに保存します。アプリケーションとして実行するコードもデータベースに保存します。
テンプレートとSQLを開発HTMLDB – テーマ(テンプレートの集合)の導入 (2)Copyright © 2023, Oracle and/or its affiliates23create or replace procedure prcemp2asr_tpl templates%rowtype;r_sql emp%rowtype;l_sql varchar2(80);l_row varchar2(32767);l_page varchar2(32767);c sys_refcursor;beginselect * 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を実行する。loopfetch 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;
レポートとテンプレート24 Copyright © 2023, Oracle and/or its affiliates• リージョンを作成し、タイプを(クラシック)レポートとします。• 実行するSQLを定義します。select * from emp
テンプレートの切り替え25 Copyright © 2023, Oracle and/or its affiliatesStandard Value Attribute Pairs -Column Value Attribute Pairs -Rowテンプレートの切り替えによって、見かけを変更できます。
テンプレートの定義行の前(TABLE要素開始)#REPORT_ATTRIBUTES# data-region-id="#REGION_STATIC_ID#">#TOP_PAGINATION#label="#REGION_TITLE#">各行の前(TR要素開始)列ヘッダー・テンプレート(TH要素)#COLUMN_WIDTH#>#COLUMN_HEADER#列テンプレート(TD要素)#COLUMN_VALUE#各行の後(TR要素終了)行の後(TABLE要素終了)#EXTERNAL_LINK##CSV_LINK#role="presentation">#PAGINATION#26 Copyright © 2023, Oracle and/or its affiliates
ユニバーサル・テーマの導入多数のテーマから1つのテーマへ27 Copyright © 2023, Oracle and/or its affiliates以前: 見た目を調整するために、テーマ(テンプレートのセット)が多数現在: ユニバーサル・テーマ = HTML5 + CSS3APEX Universal Theme Reference Applicationhttps://apex.oracle.com/ut
レスポンシブ・デザイン28 Copyright © 2023, Oracle and/or its affiliatesPC Tablet SmartphoneOracle APEXのユニバーサル・テーマUIは、大きい画面と同じように小さい画面でも適切に動作するように、当初から完全にレスポンシブに設計されています。
テーマ・ローラー – UIのカスタマイズを簡単にCSS、CSS変数の設定をGUIで行うテーマ・ローラーそれぞれのコンポーネントの• 表示色• 形• 大きさなどを設定します。テーマ・スタイル• Redwood Light• Vita• Vita – Dark• Vita – Red• Vita – Slate独自のテーマ・スタイルも作れます。直接CSSを書き込むことも可能です。29 Copyright © 2023, Oracle and/or its affiliates
よりモダンな形式へ対話グリッドの導入 – リージョンのコンポーネント化Copyright © 2023, Oracle and/or its affiliates30• リージョン内はテンプレートを使わずブラウザ側でレンダリング• ページ全体の送信をせずに更新カード・リージョン、チャート(Oracle JET)、カレンダ(FullCalendar)など。今後もコンポーネントは追加される予定です。
テンプレート・ディレクティブ• クライアント側(ブラウザ)でのHTMLの生成。{if TAGS/}{loop "," TAGS/}&APEX$ITEM.{endloop/}{endif/}31 Copyright © 2023, Oracle and/or its affiliates
開発ツール32 Copyright © 2023, Oracle and/or its affiliates
ホーム・ページ33 Copyright © 2023, Oracle and/or its affiliatesWebアプリケーション開発とSQLデータベース開発を行う開発環境
アプリケーション・ビルダーグラフィカルなアプリケーション開発機能34 Copyright © 2023, Oracle and/or its affiliates
ページ・デザイナアプリケーション開発作業のほとんどは、ページ・デザイナを使った作業になります。ページに表示されるコンポーネントの配置、表示方法、ボタンを押したときの処理などを記述します。35 Copyright © 2023, Oracle and/or its affiliates
ビューとプロパティ・エディタ(1)36 Copyright © 2023, Oracle and/or its affiliatesレンダリング動的アクションプロセス 共有コンポーネントページ・デザイナビュープロパティエディタ
レンダリング・ビュー37 Copyright © 2023, Oracle and/or its affiliates画面に表示されないコンポーネント• 計算• ページ・アイテムの値の設定、導出、変更。• プロセス• サーバー側で実行される任意の処理。• データベースからの行の読み取りとページ・アイテムへの設定。• ブランチ• いわゆるリダイレクトの設定。• 条件などを考慮し、別ページにリダイレクトさせる。• そのため、ページ処理の前に設定する。画面に表示されるコンポーネント• リージョン• レポート、チャート、カレンダー、フォーム、静的コンテンツなど、多くのHTML要素からなるコンポーネント。• アイテム• テキスト・フィールドや日付ピッカーなど、ひとつの値を保持するコンポーネント。• ボタン• クリックにより、処理を呼び出すコンポーネント。
動的アクション・ビュー38 Copyright © 2023, Oracle and/or its affiliatesイベント• ブラウザで発生するイベントです。• クリック、(値の)変更、マウス・エンター、フォーカスの取得、スワイプなどがあります。動的アクション• ブラウザで発生するイベントとイベント・ターゲットを紐付け、イベント・リスナーを構成します。• リージョン、ページ・アイテム、ボタンなどがイベント・ターゲットになります。アクション• イベント・リスナーのコールバックの実装になります。• 標準のアクションとして、値の設定、リフレッシュ、表示、非表示、リージョンを開く、閉じるなどがあります。• サーバー側のコード(PL/SQL - DB 23cではJavaScriptも)、クライアント側のコード(JavaScript)として、コーディングも可能です。
プロセス・ビュー39 Copyright © 2023, Oracle and/or its affiliatesプロセス• 実行するプロセスのタイプを選択し、それに必要な設定を行う。• ページ・アイテムの値を元に、データベースへの挿入/更新/削除を行う。• データベース以外の操作も可能。• PL/SQLまたはJavaScript(23cより)でコーディングができる。ブランチ• ボタンの押下(FormのSubmit受付)後のページの移行先を指定する。• 移行先のページのレンダリング・ツリーが処理される。
40 Copyright © 2023, Oracle and/or its affiliates• 複数のページを一度に作成する、単純で洗練されたウィザード• ダッシュボード、マスター・ディテールといった、より高度なページを作成可能• アクセス制御、アクティビティ・レポート、テーマ・スタイルの選択といった、”機能”と呼ばれる、共通フレームワークの追加をサポート• テーマ・スタイルやアプリケーション・アイコンなどのユーザー・インターフェースをカスタマイズアプリケーション作成ウィザード
ページ作成ウィザード• 既存のアプリケーションにページを作成する、単純で洗練されたウィザード• ダッシュボード、マスター・ディテール、リスト・ビュー、モバイル向けレポート、といった、より高度なページを作成可能• 既存のアプリケーションに、アクセス制御、アクティビティ・レポート、テーマ・スタイルの選択といった、”機能”と呼ばれる、共通フレームワークの追加をサポート41 Copyright © 2023, Oracle and/or its affiliates
SQLワークショップブラウザからデータベース・オブジェクト自体や、表示、含まれるデータのメンテナンスを行う機能特にホスティング環境にて、アプリケーション開発者が上記作業を実施できるよう設計42 Copyright © 2023, Oracle and/or its affiliates
オブジェクト・ブラウザ• データベース・オブジェクト(表、索引、ビュー、パッケージ、タイプ、トリガー等)の一覧、作成、変更、削除を実行できます。43 Copyright © 2023, Oracle and/or its affiliates
SQLコマンド• SQL、PL/SQLを実行できます。• データベースが23cであれば、サーバー側のJavaScriptを実行できます。44 Copyright © 2023, Oracle and/or its affiliates
SQLスクリプトSQLまたはPL/SQLのスクリプトの保存と実行ができます。45 Copyright © 2023, Oracle and/or its affiliates
データ・ワークショップ• CSV、Excel、XML、JSON形式のデータのロード、• CSVまたはXML形式のデータのアンロードができます。46 Copyright © 2023, Oracle and/or its affiliates
データ・ジェネレータ• テスト・データの生成条件(ブループリント)を定義し、• テスト・データの生成を行います。47 Copyright © 2023, Oracle and/or its affiliates
クイックSQL• マークダウンに似た簡易記法による、データモデルの設計およびプロトタイプの生成を素早く実施• 標準のOracle SQLを補完48 Copyright © 2023, Oracle and/or its affiliates
ギャラリ50 Copyright © 2023, Oracle and/or its affiliatesサンプル・アプリケーション スターター・アプリケーションそれぞれの機能の実装方法を紹介しています。実装例は包括的で、この実装ができれば上級者です。一通りの機能を実装した完成度の高いアプリケーションです。
コンポーネント51 Copyright © 2023, Oracle and/or its affiliates
データ・ソースローカル・データベース• 表/ビュー• SQL問合せ(静的SQL)• SQL問合せを返すファンクション本体(動的SQL)REST対応SQL• リモートでのSQL実行• Oracle (全CRUD操作)• MySQL(リードのみ)• キャッシュ対応RESTデータ・ソース• REST APIの呼び出し• JSONオブジェクトの配列を受け取る。52 Copyright © 2023, Oracle and/or its affiliates色々な方法で更新対象となるデータを読み出すことができます。
レポーティングクラシック・レポートサーバー側でHTMLを生成。テンプレートの変更により、表形式以外でも表示可能。対話モード・レポートクライアント側でHTMLを生成。クライアント側で表示形式を変更できる。(チャートなど)対話グリッドクライアント側でHTMLを生成。表示以外に更新も可能。53 Copyright © 2023, Oracle and/or its affiliatesサンプル・アプリケーションSample Reportingより
対話グリッド(Oracle APEX 5.1〜) フォーム(Oracle APEX 19〜)データ操作に使用するコンポーネントCopyright © 2023, Oracle and/or its affiliates54• それまでの対話モード・レポートはデータの更新ができない。• ページの全体の送受信を行わず、データのCRUD操作を行う。• データ更新用の専用リージョンは無かった(プロセスがあるだけ)。• 送信されたページを処理する。• 設定は対話グリッドを踏襲している。
検索ファセット検索ファセットで検索条件指定。検索結果はレポートやカードで表示する。スマート・フィルタスマート・フィルタで検索条件指定。検索結果はレポートやカードで表示する。検索リージョン検索リージョンに結果を表示する。検索対象を共有コンポーネントの検索構成として作成する。55 Copyright © 2023, Oracle and/or its affiliates
• カード・リージョンは、Oracle APEXのネイティブのリージョンタイプです。• データを小さなブロックに、グラフィカルに表示します。• ファセット検索や一目でわかる情報の提示に理想的な、強力で柔軟な方法を開発者に提供します。カード56 Copyright © 2023, Oracle and/or its affiliates
チャート• Oracle JETが提供する多くのチャートが利用可能です。57 Copyright © 2023, Oracle and/or its affiliates
マップ58 Copyright © 2023, Oracle and/or its affiliates• 地図上にマーカー、ライン、ポリゴンを表示できます。• ヒートマップの表示もサポートしています。• 座標の数値、GeoJSONとともに、Oracle SpatialのSDO_GEOMETRY型を扱うことができます。• Oracle Spatialの空間演算子を使った問合せの結果を表示できます。• リージョンの実態はMapLibre GL JS(1.15.2)です。
RESTデータ59 Copyright © 2023, Oracle and/or its affiliates• GitHubのリポジトリAPIを呼び出すRESTデータ・ソースのサンプルです。• RESTfulサービスのサンプルとして導入されるモジュールoracle.example.hrを使った、REST APIによる更新のサンプルを含みます。• エンドポイントのセットアップが必要です。
統合タスク・リスト60 Copyright © 2023, Oracle and/or its affiliates• 承認コンポーネントの使用方法を紹介したサンプルです。• 表EMPのデータを使って、給与、ジョブの変更を申請します。また、ラップトップ・コンピュータの購入申請を実装しています。• 統合タスクリストのページで、自分自身の申請を一覧します。• 承認要求は承認者の統合タスクリストのページに一覧されます。• 統合タスクリストのページより、承認または却下の操作を行います。
カレンダ61 Copyright © 2023, Oracle and/or its affiliates• FullCalendar – FullCalendar.ioを使用しています。• FullCalendarのバージョンは5.11.2です。
ツリー62 Copyright © 2023, Oracle and/or its affiliates• SQLのCONNECT BY句を使った階層問い合わせの結果を表示する際に使用します。
マスター・ディテール63 Copyright © 2023, Oracle and/or its affiliates• マスター・ディテールのページは、既存のコンポーネントの組み合わせから出来ています。• ページ作成ウィザードを使って作成できる、積み上げ(Stacked)、左右(Side by Side)、ドリルダウン(Drill-Down)形式のマスター・ディテール・レポートの実装サンプルです。
データ・ローディング• Oracle APEXで実装できるデータ・ローディングのサンプルです。• CSV、Excel、XML、JSON形式のファイルをデータベースにロードします。• ロード中に値の置き換えを行います。• ロード中にタイムアウトが発生しないよう、バックグラウンドでのロードを実装しています。• APEX_DATA_PARSERパッケージを使ったデータロードもサンプルに含みます。64 Copyright © 2023, Oracle and/or its affiliates
ファイルのアップロード・ダウンロード65 Copyright © 2023, Oracle and/or its affiliates• ファイルをアップロードして、データベースの表のBLOB列に保存するサンプルです。• ファイルをダウンロードするためのリンクを、レポートやフォームに配置する方法も紹介しています。
動的アクション66 Copyright © 2023, Oracle and/or its affiliates• ブラウザで発生するイベントに対して、実行するアクションを定義します。• 画面上のコンポーネントの表示/非表示、レポートのリフレッシュなどを実行できます。• 処理をJavaScriptで記述することもできます。• サーバー側のコードを呼び出すこともできます。
PWA67 Copyright © 2023, Oracle and/or its affiliates• 実装サンプルではありません。• Oracle APEXでPWA(Progressive Web Apps)を実装する方法を解説しているアプリケーションです。• PWAはまだ発展途上で、プラットフォームやブラウザ毎にサポートされる機能が異なります。
必要な技術68 Copyright © 2023, Oracle and/or its affiliates
Oracle APEXによる開発に必要な技術• Oracle Application Express• データ・モデリング• SQL• Oracle PL/SQL & JavaScript• HTML5, CSS & JavaScript• ネットワーク・セキュリティとデータ・セキュリティの理解• データベースのパフォマンス・チューニング69 Copyright © 2023, Oracle and/or its affiliates
データ・モデリング独立行政法人 情報処理推進機構(IPA)データベーススペシャリスト試験(DB)出題範囲に含まれています。70 Copyright © 2023, Oracle and/or its affiliateshttps://www.ipa.go.jp/shiken/kubun/db.html
SQLOracle Databaseで実行可能なSQLの多くは、標準のSQL規格に完全に準拠しています。71 Copyright © 2023, Oracle and/or its affiliates
リレーショナル・モデル以外のデータモデルのサポート• 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
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
Oracle PL/SQL & JavaScript• Oracle PL/SQLは、OracleによるSQLの手続き言語拡張です。• 通常の手続き言語が持つ、条件分岐、繰り返し実行、変数の利用、サブプログラムの作成が可能です。• Oracle Database 21cでは、より一般的な言語であるJavaScriptによる記述も可能になりました。74 Copyright © 2023, Oracle and/or its affiliates
HTML5, CSS & JavaScript• ブラウザ上のHTML5, CSS および JavaScript を使った開発も可能です。• 作成したアプリケーションに組み込むことができます。75 Copyright © 2023, Oracle and/or its affiliates
学習と情報の入手76 Copyright © 2023, Oracle and/or its affiliates
日本語の情報は以下から辿れます。https://apex.oracle.com/go/japan公式ホーム・ページは以下。https://apex.oracle.com/ホーム・ページ77 Copyright © 2023, Oracle and/or its affiliates
Oracle APEX開発者ファウンデーション• オラクル社が提供している無料のトレーニング。• 3時間以上のビデオ• 英語(日本語字幕あり)• 修了のバッチあり• 内容1. Getting Started with Oracle APEX2. Using SQL Workshop3. Creating a Database Application4. Managing Pages in an Application5. Creating different types of Reports6. Creating and Using Forms7. Creating Database Application Components8. Implementing Security in your Application9. Migrating Application Development Between Environment78 Copyright © 2023, Oracle and/or its affiliates
Build Web Apps using Oracle Autonomous Database and APEX - New!さらに詳細なトレーニング。15時間のビデオ、英語(日本語字幕あり)1. APEX on Oracle ADB2. Using SQL Workshop3. Overview of App Builder4. Creating an Application Page5. Overview of Reports in Oracle APEX6. Customizing an Interactive Report as an End User7. Customizing an Interactive Grid as a Developer8. Creating a Form in Oracle APEX9. Creating Application Page Controls10. Adding Computations, Processes, and Validations11. Implementing Navigation in your Application12. Using Themes and Theme Styles13. Implementing Security in your Application14. Adding Additional Pages to your Application15. Create and Use Dynamic Actions in your Application16. Collections17. Migrating Application Development Between Environments79 Copyright © 2023, Oracle and/or its affiliates
LiveLabsOracle 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 OracleAutonomous Cloud Services• Get Started with Maps and Spatial in APEX• Build a Social Media App using Oracle APEX80 Copyright © 2023, Oracle and/or its affiliatesLiveLabsはOracle APEXで作成されています。https://apexapps.oracle.com/pls/apex/r/dbpm/livelabs/home
AskTOM Office Hours - APEXAskTOM Office Hoursでは、オラクルの色々な製品やサービスを、約1時間のセッションとして紹介しています。参加は無料です。予定されているセッションはOffice Hoursから一覧します。過去のセッションの録画は、Videosから一覧します。APEXに関するセッションは、TechnologyにAPEXを選択します。81 Copyright © 2023, Oracle and/or its affiliates
世界のイベント82 Copyright © 2023, Oracle and/or its affiliatesAPEX World 20232023年3月30, 31日 – オランダAPEX Connect 20232023年5月3, 4日 – ドイツODTUG Kscope 20232023年6月25, 23日 – アメリカ合衆国APEX Alpe Adria 20232023年4月21日 – クロアチアUKOUG Breakthrough 20222022年12月1, 2日 – イギリスAUSOUG APEX Special Series 20232023年 – オーストラリア(オンライン)#VIVE SPOUG 20222022年6月2,3日 – スペインAPEX Day 20222022年9月7日 – スウェーデンContech by RoOUG 20222022年10月6,7日 – ルーマニア
質問する、相談する83 Copyright © 2023, Oracle and/or its affiliates
Forumに質問するhttps://forums.oracle.com/ords/apexds/domain/dev-community/category/apexOracle本社所属のOracle APEXの開発者も回答しています。Forumは最近Oracle APEXのアプリケーションで置き換えられました。84 Copyright © 2023, Oracle and/or its affiliates
Oracle DevRelのSlackワークスペースhttps://bit.ly/odevrel_slack#apex – 英語のAPEXのチャンネル – 英語では質問はForumにあげた方が良いでしょう。#apex-japan – 日本語のチャンネル – 質問もできます。85 Copyright © 2023, Oracle and/or its affiliates
Ideasアプリケーションhttps://apex.oracle.com/ideasOracle APEXに欲しい機能をリクエストするサイトです。Oracle APEXをより良いものにするためのアイデアをお持ちですか?おそらく、不足している新しい機能、またはすでに存在するものの強化でしょうか?何か必要以上に難しいことがあるのでしょうか?何であれ、私たちはあなたからの連絡をお待ちしています。APEXは、コミュニティの関与とフィードバックによって繁栄しており、APEXの製品の方向性に直接貢献できるよう、さらに簡単にしたいと考えています。86 Copyright © 2023, Oracle and/or its affiliates
Twitter #orclAPEXOracle APEXの開発者のほとんどはTwitterのアカウントを持っています。海外の主要なパートナー、ユーザーグループなどもTwitterから、 ハッシュタグ#orclAPEXをつけて発信しています。87 Copyright © 2023, Oracle and/or its affiliates
LinkedIn – Oracle APEX The Official GroupLinkedInにオフィシャルのグループがあります。8千人近いメンバーが参加しています。88 Copyright © 2023, Oracle and/or its affiliates
ありがとうございました。89 Copyright © 2023, Oracle and/or its affiliates
Our mission is to help people seedata in new ways, discover insights,unlock endless possibilities.