$30 off During Our Annual Pro Sale. View Details »

Oracle Database Technology Night #58 Oracle DatabaseエンジニアのためのOracle APEX入門

Oracle Database Technology Night #58 Oracle DatabaseエンジニアのためのOracle APEX入門

Oracle Database Technology Night #58 Oracle DatabaseエンジニアのためのAPEX & 地理空間データ活用入門(前半)

今回のOracle Database Technology Nightでは、Oracle Databaseに無償でバンドルされるローコード開発ツールであるOracle Application Express (APEX)をつかったアプリケーション構築方法をご紹介します。
さらに、Oracle APEXは今年に入って地理空間データをサポートするようになりました。
そこで、こちらもOracle Databaseの標準機能であるOracle Spatialの概要紹介と併せて、Oracle APEXで地理空間データを活用するサンプルをデモンストレーションします。

後半のSpatial編はこちら
https://speakerdeck.com/oracle4engineer/technight-number-58-oracle-databaseenzinianixiang-ketadi-li-kong-jian-detahuo-yong

oracle4engineer
PRO

August 26, 2022
Tweet

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. Oracle Database Technology Night #58 Oracle Databaseエンジニアに向けたOracle APEX入門 日本オラクル株式会社 Autonomous

    & Analyticsソリューション部 2022年8月25日
  2. Copyright © 2022, Oracle and/or its affiliates Oracle APEX概要 2

  3. 3 Copyright © 2022, Oracle and/or its affiliates Oracle Databaseのための高速Webアプリケーション開発プラットフォーム

    Oracle Application Express (Oracle APEX) デスクトップ向けと モバイル向けの Webアプリ開発 データベースにある データの 可視化と保守 SQLのスキルや データベースが提供 する能力を活用
  4. 追加コスト無しでサポート対象の機能 • アプリケーション数、開発者数、エンドユーザー数に非依存 • APEX専任のサポート・チーム • 対応バージョン: 11gR2, 12c, 18c,

    19c • 全てのエディション: XE, SE2, EE Oracle Cloudのサービスとして利用可能 • APEX Application Development (APEXサービス) • Autonomous Database (Always Free含む) • Exadata CS • 無償の評価環境: http://apex.oracle.com 追加コストのかからないOracle Databaseの機能 Copyright © 2022, Oracle and/or its affiliates 4
  5. • Oracle Databaseが実行エンジンだが中間層(ORDS)がリクエストの中継役として必要 Oracle APEXのアーキテクチャ Copyright © 2022, Oracle and/or

    its affiliates 5 HTTP(s) JDBC Data Schemas APEX Engine SQL & PL/SQL Oracle Database (Pluggable or Dedicated, 11gR2 or Above) Oracle REST Data Services (Weblogic, Jetty, Tomcat) データベース層 中間層 ブラウザ
  6. • Oracle Databaseが実行エンジンだが中間層(ORDS)がリクエストの中継役として必要 • Autonomous Databaseの場合は中間層を含めてサービスを提供 Oracle APEXのアーキテクチャ Copyright ©

    2022, Oracle and/or its affiliates 6 HTTP(s) JDBC Data Schemas APEX Engine SQL & PL/SQL Oracle Database (Pluggable or Dedicated, 11gR2 or Above) Oracle REST Data Services (Weblogic, Jetty, Tomcat) データベース層 中間層 ブラウザ Autonomous Databaseの場合
  7. 7 Copyright © 2022, Oracle and/or its affiliates Autonomous Database

    ATPの派生として、特定利用に特化した安価なサービスがリリース(JSON/APEX) Autonomous Transaction Processing (ATP) Autonomous Data Warehouse (ADW) OLTPおよび混合ワークロードに最適化: • トランザクション、バッチ、レポーティング、IoT • アプリケーション開発、機械学習 すべてのデータ分析処理に最適化: • データウェアハウス、データマート • データレイク、機械学習 Autonomous JSON Database (AJD) JSONによる開発のための価格リーズナブルなサービス: • NoSQL型アプリの開発に特化。各種言語,ドライバにAPIを提供 • 実績あるエンタープライズ・データベース、ACIDトランザクションに対応し、 SQLによるレポーティング処理、分析処理が可能 • Autonomous の特徴はそのまま • JSONデータ以外は20GBまでの格納制限あり • ATPインスタンスにプロモーションが可能 APEX Application Development APEX開発のための価格リーズナブルなサービス: • OracleNetによるアクセスは不可とし、APEX利用に特化 • Autonomous の特徴はそのまま • Database Actions/ORDSといった各種開発ツールを同梱 • ATPインスタンスにプロモーションが可能 • ※そのほかの制約についてはこちらを参照 • https://docs.oracle.com/en/cloud/paas/apex/gsadd/apex- service-capabilities.html AUTONOMOUS DATABASE
  8. Copyright © 2022, Oracle and/or its affiliates Oracle APEXデモンストレーション 8

  9. 1. ワークスペースを作成する 2. ワークスペースにログインしてアプリケーション用の表を準備する 3. アプリケーションの作成 4. アプリケーションユーザーを作成する 5. アプリケーションのアクセス制御

    6. アプリケーションの公開 7. アプリケーションの移行 ※Autonomous Database APEX Application Developmentを利用 デモンストレーション Copyright © 2022, Oracle and/or its affiliates 9
  10. 1. ワークスペースを作成する 2. ワークスペースにログインしてアプリケーション用の表を準備する 3. アプリケーションの作成 4. アプリケーションユーザーを作成する 5. アプリケーションのアクセス制御

    6. アプリケーションの公開 7. アプリケーションの移行 デモンストレーション Copyright © 2022, Oracle and/or its affiliates 10
  11. 単一のデータベースで、複数の開発環境を支える ワークスペースとは? 複数の開発者がアプリケーションを作成できる共有環境 1.ワークスペースを作成する Copyright © 2022, Oracle and/or its

    affiliates 11 単一のOracle Database APEX管理サービス (Internal) インスタンス管理者 ワークスペース共通の設定、 全ワークスペースの監視など ワークスペース1 アプリケーション1 アプリケーション2 アプリケーション3 ワークスペース管理者 開発者/エンドユーザ : ワークスペース2 アプリケーション1 アプリケーション2 アプリケーション3 ワークスペース管理者 開発者/エンドユーザ :
  12. Oracle Databaseの管理ユーザ(インスタンス管理者)でAPEXの管理サービスにログイン • 新規のデータベース・スキーマを利用してワークスペースを作成 • ワークスペース名 • ワークスペース・ユーザ名/ログインパスワード • 既存のデータベース・スキーマを利用した作成も可

    1.ワークスペースを作成する Copyright © 2022, Oracle and/or its affiliates 12
  13. 1. ワークスペースを作成する 2. ワークスペースにログインしてアプリケーション用の表を準備する 3. アプリケーションの作成 4. アプリケーションユーザーを作成する 5. アプリケーションのアクセス制御

    6. アプリケーションの公開 7. アプリケーションの移行 デモンストレーション Copyright © 2022, Oracle and/or its affiliates 13
  14. ワークスペースのホーム 2.ワークスペースにログインする Copyright © 2022, Oracle and/or its affiliates 14

    アプリケーション・ビルダー グラフィカルなアプリケーション 統合開発環境 SQLワークショップ データベースのオブジェクトや データのメンテナンスを実施 チーム開発 問題のトラッキングと管理 ギャラリ サンプル・アプリケーション集
  15. SQLワークショップのユーティリティ いろいろな便利機能が提供されている データ・ワークショップはローカルだけでなくクラウドからもロード可 2.アプリケーション用の表を作成する Copyright © 2022, Oracle and/or its

    affiliates 15 Documentation:5.1.7 Oracle Cloudからのデータのロード(Autonomous Databaseのみ)
  16. 1. ワークスペースを作成する 2. ワークスペースにログインしてアプリケーション用の表を準備する 3. アプリケーションの作成 4. アプリケーションユーザーを作成する 5. アプリケーションのアクセス制御

    6. アプリケーションの公開 7. アプリケーションの移行 デモンストレーション Copyright © 2022, Oracle and/or its affiliates 16
  17. アプリケーション・ビルダー 3.アプリケーションを作成する Copyright © 2022, Oracle and/or its affiliates 17

    グラフィカルなアプリケーション開発機能である”ページ・デザイナ” SQLとPL/SQLに強く統合されている統合開発環境(IDE)
  18. 対話モードレポート:エンド・ユーザーにてカスタマイズ可能なレポート レポーティングのための豊富な機能を提供 更新機能も可 3.アプリケーションを作成する Copyright © 2022, Oracle and/or its

    affiliates 18
  19. アプリケーションの編集 3.アプリケーションを作成する 変更は即時で確認可能 実行アプリからも編集画面へすぐに移動 Copyright © 2022, Oracle and/or its

    affiliates 19
  20. パフォーマンスの確認 実行速度が遅いページはデバッグの有効化でデバッグが可能 パフォーマンス問題の多くはSQL/PLSQLによるもの アプリケーション・パフォーマンスの管理 https://docs.oracle.com/cd/F55418_01/htmdb/mana ging-application-performance.html#GUID-1684F55B- 7782-4B1F-96AB-0D41BCBDB1BA 3.アプリケーションを作成する Copyright ©

    2022, Oracle and/or its affiliates 20
  21. APEXアプリケーションのワークショップ アプリケーションの作成、編集の具体的な例はワークショップをご利用ください(動画あり) https://apex.oracle.com/pls/apex/r/japancommunity/main/workshops 3.アプリケーションを作成する Copyright © 2022, Oracle and/or its

    affiliates 21
  22. 1. ワークスペースを作成する 2. ワークスペースにログインしてアプリケーション用の表を準備する 3. アプリケーションの作成 4. アプリケーションユーザーを作成する 5. アプリケーションのアクセス制御

    6. アプリケーションの公開 7. アプリケーションの移行 デモンストレーション Copyright © 2022, Oracle and/or its affiliates 22
  23. Oracle APEXが提供する認証スキーム • アプリケーションで使用できる置換文字列APP_USERにログインユーザー名 を設定する • APP_USERとして設定されるユーザー名とそれを認証するためのパスワードを 与えることで、正しいユーザー名であることを確認する⇒認証スキームに依存 4.アプリケーションユーザーを作成する ※Autonomous

    Databaseでは以下は使用できません • LDAPディレクトリ • Oracle Application Server Single Sign-On • HTTPヘッダー変数 Copyright © 2022, Oracle and/or its affiliates 23
  24. Oracle APEXアカウント ワークスペース管理者 • 管理対象ワークスペースのすべての操作が可能 開発者 • アプリケーションおよびデータベース・オブジェクトの作成、 変更が可能 エンド・ユーザー

    • アプリケーションへのアクセスのみが可能 なお、Autonomous Databaseではアプリケーションビルダーへの アクセスの認証スキームはデータベース認証になるため、 開発者、ワークスペース管理者はデータベースユーザも作成される • Documentation: Autonomous Databaseを使用したOracle APEXの制約および制限事項 4.アプリケーションユーザーを作成する Copyright © 2022, Oracle and/or its affiliates 24
  25. 1. ワークスペースを作成する 2. ワークスペースにログインしてアプリケーション用の表を準備する 3. アプリケーションの作成 4. アプリケーションユーザーを作成する 5. アプリケーションのアクセス制御

    6. アプリケーションの公開 7. アプリケーションの移行 デモンストレーション Copyright © 2022, Oracle and/or its affiliates 25
  26. アクセス制御のコンポーネント • 以下のアクセス・ロールの作成 • 管理者 • コントリビュータ • リーダー •

    以下の認可スキーム • 管理権限 • コントリビューション権限 • リーダー権限 • アクセス制御のビルド・オプション、ACCESS_CONTROL_SCOPEのアプリケーション設定 • アプリケーションの指定したページにアクセス制御のリージョンが追加 • アプリケーション内でアクセス管理ができる 任意のロール、認可スキームの作成も可能 5.アプリケーションのアクセス制御 Copyright © 2022, Oracle and/or its affiliates 26
  27. ロールと認可スキーム アプリケーションページ、コンポーネントの認可 • アプリケーションレベルで指定 • 共有コンポーネントーセキュリティ-セキュリティ属性の認可で認 可スキームを選択 • 対象のページ、コンポーネントのプロパティで指定 •

    セキュリティー認可スキーム アプリケーションのアクセス制御 • 共有コンポーネント-アプリケーション・アクセス制御でユー ザー・ロール割り当て 5.アプリケーションのアクセス制御 Copyright © 2022, Oracle and/or its affiliates 27
  28. 1. ワークスペースを作成する 2. ワークスペースにログインしてアプリケーション用の表を準備する 3. アプリケーションの作成 4. アプリケーションユーザーを作成する 5. アプリケーションのアクセス制御

    6. アプリケーションの公開 7. アプリケーションの移行 デモンストレーション Copyright © 2022, Oracle and/or its affiliates 28
  29. URLを公開 2つの形式のURL • 簡易URL(一般的なURL)20.1以降のデフォルト http://hostname:port/ords/r/<workspace>/<app_alias>/<page_alias>?<parameters> • 例:http://hostname:port/ords/r/testws1/task/home?session=13766599855150 • f?p URL(APEX独自URL)

    http://hostname:port/ords/r/f?p=<AppID>:<PageNo> • 例:http://hostname:port/ords/f?p=109:1 6.アプリケーションの公開 Copyright © 2022, Oracle and/or its affiliates 29
  30. 自ドメイン名を利用したい場合 Private Endpointで構成したADBの場合は、ドメイン名と 一致するSSL証明書を取得し、Load Balancerを利用す ることで構成が可能です。 詳細はこちらのblogを参考にしてください。 https://blogs.oracle.com/apex/post/introducing- vanity-urls-on-adb Private

    Endpointではない場合、カスタムでORDSを構 成することで構成できます。 (参考)自ドメインを使うOracle APEXの構成(0) - はじ めに 6.アプリケーションの公開 Copyright © 2022, Oracle and/or its affiliates 30 ※Autonomous DatabaseのAPEXの場合
  31. Oracle APEXアクティビティの監視 ユーザーおよび開発者のアクティビティのレポートを提供 6.アプリケーションの公開 Copyright © 2022, Oracle and/or its

    affiliates 31
  32. 1. ワークスペースを作成する 2. ワークスペースにログインしてアプリケーション用の表を準備する 3. アプリケーションの作成 4. アプリケーションユーザーを作成する 5. アプリケーションのアクセス制御

    6. アプリケーションの公開 7. アプリケーションの移行 デモンストレーション Copyright © 2022, Oracle and/or its affiliates 32
  33. エクスポートとインポート アプリケーション・ビルダーでアプリケーションをエクスポートすることができる • ローカルファイルとして保存できるが、一定期間リポジトリにも保存される ワークスペースのメタデータやテーマなどのコンポーネントのエクスポートも可 7.アプリケーションの移行 Copyright © 2022, Oracle

    and/or its affiliates 33
  34. Copyright © 2022, Oracle and/or its affiliates 34 まとめ

  35. 業界をリードするローコード開発プラットフォーム 気軽に学習を開始できる SQL と REST を扱いやすい レスポンシブなモバイル・アプリの作成 無料を含む全てのOracle Databaseに付属 Oracle

    Cloud Free Tierで利用可能 世界中、あらゆる業界でのサクセス・ストーリ 50万を超える開発者によるコミュニティ Oracle APEX Copyright © 2022, Oracle and/or its affiliates 35 20倍の速さ、100分の1のコード 参考:Oracle APEX - 普通の人々のためのコーディング
  36. Oracle Health Management System https://www.oracle.com/jp/corporate/citizenship/health/ Oracle APEX Copyright © 2022,

    Oracle and/or its affiliates 36 参考:Oracle APEX:アイデアからアプリケーションへ:光の速度で実現する環境
  37. Copyright © 2022, Oracle and/or its affiliates Oracle APEX 情報のご案内

    37
  38. アプリケーション開発に役立つ情報を提供 https://apex.oracle.com/pls/apex/japancommunity/r/main/home 情報サイト、コンテンツ、ワークショップなど様々な情報を網羅したサイト Oracle APEX情報サイト Copyright © 2022, Oracle and/or

    its affiliates 38
  39. 技術情報の共有や勉強会を開催 https://orclapex-jp.connpass.com/ Oracle APEXユーザーグループ Copyright © 2022, Oracle and/or its

    affiliates 39
  40. None