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

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日

    View Slide

  2. Copyright © 2022, Oracle and/or its affiliates
    Oracle APEX概要
    2

    View Slide

  3. 3 Copyright © 2022, Oracle and/or its affiliates
    Oracle Databaseのための高速Webアプリケーション開発プラットフォーム
    Oracle Application Express (Oracle APEX)
    デスクトップ向けと
    モバイル向けの
    Webアプリ開発
    データベースにある
    データの
    可視化と保守
    SQLのスキルや
    データベースが提供
    する能力を活用

    View Slide

  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

    View Slide

  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)
    データベース層
    中間層
    ブラウザ

    View Slide

  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の場合

    View Slide

  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

    View Slide

  8. Copyright © 2022, Oracle and/or its affiliates
    Oracle APEXデモンストレーション
    8

    View Slide

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

    View Slide

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

    View Slide

  11. 単一のデータベースで、複数の開発環境を支える
    ワークスペースとは?
    複数の開発者がアプリケーションを作成できる共有環境
    1.ワークスペースを作成する
    Copyright © 2022, Oracle and/or its affiliates
    11
    単一のOracle Database
    APEX管理サービス
    (Internal)
    インスタンス管理者
    ワークスペース共通の設定、
    全ワークスペースの監視など
    ワークスペース1
    アプリケーション1
    アプリケーション2
    アプリケーション3
    ワークスペース管理者
    開発者/エンドユーザ

    ワークスペース2
    アプリケーション1
    アプリケーション2
    アプリケーション3
    ワークスペース管理者
    開発者/エンドユーザ

    View Slide

  12. Oracle Databaseの管理ユーザ(インスタンス管理者)でAPEXの管理サービスにログイン
    • 新規のデータベース・スキーマを利用してワークスペースを作成
    • ワークスペース名
    • ワークスペース・ユーザ名/ログインパスワード
    • 既存のデータベース・スキーマを利用した作成も可
    1.ワークスペースを作成する
    Copyright © 2022, Oracle and/or its affiliates
    12

    View Slide

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

    View Slide

  14. ワークスペースのホーム
    2.ワークスペースにログインする
    Copyright © 2022, Oracle and/or its affiliates
    14
    アプリケーション・ビルダー
    グラフィカルなアプリケーション
    統合開発環境
    SQLワークショップ
    データベースのオブジェクトや
    データのメンテナンスを実施
    チーム開発
    問題のトラッキングと管理
    ギャラリ
    サンプル・アプリケーション集

    View Slide

  15. SQLワークショップのユーティリティ
    いろいろな便利機能が提供されている
    データ・ワークショップはローカルだけでなくクラウドからもロード可
    2.アプリケーション用の表を作成する
    Copyright © 2022, Oracle and/or its affiliates
    15
    Documentation:5.1.7 Oracle Cloudからのデータのロード(Autonomous Databaseのみ)

    View Slide

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

    View Slide

  17. アプリケーション・ビルダー
    3.アプリケーションを作成する
    Copyright © 2022, Oracle and/or its affiliates
    17
    グラフィカルなアプリケーション開発機能である”ページ・デザイナ”
    SQLとPL/SQLに強く統合されている統合開発環境(IDE)

    View Slide

  18. 対話モードレポート:エンド・ユーザーにてカスタマイズ可能なレポート
    レポーティングのための豊富な機能を提供
    更新機能も可
    3.アプリケーションを作成する
    Copyright © 2022, Oracle and/or its affiliates
    18

    View Slide

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

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

  24. Oracle APEXアカウント
    ワークスペース管理者
    • 管理対象ワークスペースのすべての操作が可能
    開発者
    • アプリケーションおよびデータベース・オブジェクトの作成、
    変更が可能
    エンド・ユーザー
    • アプリケーションへのアクセスのみが可能
    なお、Autonomous Databaseではアプリケーションビルダーへの
    アクセスの認証スキームはデータベース認証になるため、
    開発者、ワークスペース管理者はデータベースユーザも作成される
    • Documentation: Autonomous Databaseを使用したOracle
    APEXの制約および制限事項
    4.アプリケーションユーザーを作成する
    Copyright © 2022, Oracle and/or its affiliates
    24

    View Slide

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

    View Slide

  26. アクセス制御のコンポーネント
    • 以下のアクセス・ロールの作成
    • 管理者
    • コントリビュータ
    • リーダー
    • 以下の認可スキーム
    • 管理権限
    • コントリビューション権限
    • リーダー権限
    • アクセス制御のビルド・オプション、ACCESS_CONTROL_SCOPEのアプリケーション設定
    • アプリケーションの指定したページにアクセス制御のリージョンが追加
    • アプリケーション内でアクセス管理ができる
    任意のロール、認可スキームの作成も可能
    5.アプリケーションのアクセス制御
    Copyright © 2022, Oracle and/or its affiliates
    26

    View Slide

  27. ロールと認可スキーム
    アプリケーションページ、コンポーネントの認可
    • アプリケーションレベルで指定
    • 共有コンポーネントーセキュリティ-セキュリティ属性の認可で認
    可スキームを選択
    • 対象のページ、コンポーネントのプロパティで指定
    • セキュリティー認可スキーム
    アプリケーションのアクセス制御
    • 共有コンポーネント-アプリケーション・アクセス制御でユー
    ザー・ロール割り当て
    5.アプリケーションのアクセス制御
    Copyright © 2022, Oracle and/or its affiliates
    27

    View Slide

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

    View Slide

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

    View Slide

  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の場合

    View Slide

  31. Oracle APEXアクティビティの監視
    ユーザーおよび開発者のアクティビティのレポートを提供
    6.アプリケーションの公開
    Copyright © 2022, Oracle and/or its affiliates
    31

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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 - 普通の人々のためのコーディング

    View Slide

  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:アイデアからアプリケーションへ:光の速度で実現する環境

    View Slide

  37. Copyright © 2022, Oracle and/or its affiliates
    Oracle APEX
    情報のご案内
    37

    View Slide

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

    View Slide

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

    View Slide

  40. View Slide