Cloud Service
Oracle Visual Builder
Web/モバイルアプリをローコードのビジュアル開発で素早く構築・公開できる。Oracle Visual Builder ならドラッグ操作の画面設計と REST 連携で内製を加速する。AWS の Amplify に近い位置づけ。
- 1.ビジュアル開発で Web/モバイルアプリを作るローコード基盤。
- 2.REST/SaaS 連携と認証・ホスティングまでマネージドで提供する。
- 3.AWS の Amplify に近く、OIC や APEX とも役割が重なる領域。
解決する課題
業務で必要なちょっとした Web 画面や社内アプリを、フロントエンド・バックエンド・ホスティングまで一式そろえて作るのは負担が大きい作業です。Visual Builder は、画面設計から REST 連携、認証、デプロイまでをローコードのビジュアル開発でまとめて提供し、内製のスピードを上げます。
- フロントエンドのビルド環境やホスティング基盤を自前で用意したくない
- ボタン1つで動く社内ツールや申請画面を、専任のフロント開発者なしで素早く出したい
- 既存の REST API や SaaS データを画面にバインドして、入力・一覧・更新の UI を組みたい
- 認証や権限管理を個別に作り込まず、ID 基盤と連携した状態で公開したい
AWS では、Web/モバイルのフロントエンド開発とホスティング、バックエンド連携を束ねる Amplify に近い領域で、ローコードに寄せた開発体験を提供する点が特徴です。
主要概念と用語
- ビジュアルアプリケーション(Visual Application): 開発の単位。Web アプリ、モバイルアプリ、サービス接続、ビジネスオブジェクトなどをまとめて持つプロジェクト
- ページ(Page)/ フロー(Flow): 画面の最小単位がページ、複数ページの遷移をまとめたものがフロー。ドラッグ操作で UI コンポーネントを配置する
- コンポーネント(Component): 入力・表・ボタン・チャートなどの UI 部品。Oracle JET をベースにした標準コンポーネント群を使う
- サービス接続(Service Connection): 外部の REST API や SaaS を呼び出す接続定義。エンドポイント・認証・レスポンス構造を取り込んで画面にバインドする
- ビジネスオブジェクト(Business Object): アプリ内に持てる軽量なデータ実体。標準で REST エンドポイントが生成され、簡易なバックエンドとして使える
- アクションチェーン(Action Chain): ボタン操作やイベントに応じて実行する処理の連なり。データ取得・分岐・遷移などをローコードで定義する
- 変数(Variable)/ タイプ(Type): ページやアプリのスコープで状態を保持する仕組み。コンポーネントの表示や入力と双方向にバインドする
- ステージとライブ(Stage / Live): 検証用と本番用の公開先。アプリをステージで確認してからライブへ昇格する運用ができる
仕様・制限・クォータ
- **インスタンス(環境)**は特定リージョンに作成するリージョナルなリソースで、その中に複数のビジュアルアプリケーションを保持する
- フロントエンドは Oracle JET ベースで、標準コンポーネントに加えてカスタムコンポーネントの取り込みにも対応する
- アプリのデータは、外部 REST/SaaS をサービス接続で参照するほか、ビジネスオブジェクトとして軽量に内部保持できる
- 1 インスタンスあたりのアプリ数・ストレージ・同時利用などにはサービス上の上限があり、提供形態やリージョンで異なる
- ソースは内部的にバージョン管理され、Git ベースの履歴管理や外部リポジトリ連携を取れる構成がある
- 具体的な上限値・料金・対応バージョンは変動するため、最新の公式ドキュメントで確認する
ビジュアルアプリは表示と簡易ロジックを担う層です。重い集計やトランザクション処理をフロント側のアクションチェーンに詰め込むと、性能と保守性を損ないます。重い処理は Functions や OIC、データベース側へ寄せ、画面は薄く保ちましょう。
内部の仕組み
Visual Builder はマネージドな開発・実行環境です。開発者はブラウザのデザイナーで画面とロジックを組み立て、ビルド・ホスティング・スケーリングはサービス側が引き受けます。生成物は Oracle JET ベースの Web アプリとして動作します。
- デザイナーで配置したページ・コンポーネント・変数は宣言的なメタデータとして保持され、ビルド時に実際の JET アプリへ変換される
- データ取得はサービス接続を介した REST 呼び出しが基本で、レスポンスを変数にバインドして画面に描画する
- アクションチェーンがイベント駆動の処理単位となり、取得・分岐・遷移・代入などを順に実行する
- ビジネスオブジェクトを使うと、内部に持つデータへ自動生成された REST API でアクセスでき、簡易なバックエンドとして機能する
- 公開はステージとライブの2段階で扱え、検証してから本番へ昇格する流れを取れる
画面を直接バックエンドの内部構造へ結びつけず、サービス接続を境界として設計すると、API 側の変更に画面が引きずられにくくなります。共通のデータ取得はアプリスコープにまとめ、ページは表示に専念させましょう。
設計パターン / ベストプラクティス
- 既存 API のフロント化: 社内の REST API や SaaS をサービス接続で取り込み、一覧・詳細・入力の画面を素早く組む
- 軽量バックエンドはビジネスオブジェクト: マスタ管理や申請データなど小規模なデータ保持はビジネスオブジェクトで完結させ、別 DB を立てない
- 重い処理は外出し: 集計・連携・長時間処理は OCI Functions / OIC に委譲し、画面はトリガーと結果表示に徹する
- 認証は ID 基盤に集約: ログインや権限は **IAM / IDCS(Identity ドメイン)**と連携し、画面ごとに作り込まない
- ステージで検証してからライブへ: 公開は段階を分け、検証環境で確認したものだけを本番へ昇格する
- コンポーネントの再利用: 共通の入力フォームや表をフラグメント化し、ページ間で重複実装を避ける
運用・監視
- アプリの公開状態はステージ/ライブの2系統で管理し、本番へは検証済みのものだけを昇格する
- ソースはバージョン管理され、変更履歴の追跡やロールバックを前提に運用する
- フロントの動作はブラウザ側のログやネットワークトレースで切り分け、データ取得の失敗はサービス接続先の応答(4xx/5xx)を確認する
- バックエンド側の連携(Functions・OIC・外部 API)は、それぞれのサービスのメトリクスやログと突き合わせて障害箇所を特定する
- インスタンス自体の状態やライフサイクルは、OCI Console / CLI で確認・管理できる
コスト
Visual Builder のコストは主にインスタンス(環境)の稼働に応じて発生します。アプリ本数より、動かしている環境の規模と稼働時間がコストを左右する点を意識します。バックエンドに使う Functions・OIC・外部サービスの料金は別計上です。
| コスト要因 | 考え方 | 最適化のヒント |
|---|---|---|
| インスタンス稼働 | 環境の規模と稼働時間で課金される | 検証用環境は使わないとき整理する |
| バックエンド連携 | Functions や OIC は呼び出し側で別課金 | 呼び出し回数と処理時間を軽く保つ |
| データ保持 | ビジネスオブジェクトのストレージ消費 | 保持期間と件数を見直し肥大を防ぐ |
| 外部 API 利用 | 連携先 SaaS や API 側の従量 | 不要なポーリングや全件取得を減らす |
使われなくなった検証用インスタンスやアプリが残ると、稼働コストが積み上がります。定期的に環境を棚卸しし、不要なものを整理することがコスト最適化の基本です。
セキュリティ
- IAM ポリシーとコンパートメントで、インスタンスの作成・管理権限を最小化する
- ログインや権限管理は **Identity ドメイン(IDCS)**と連携し、アプリ側で認証を独自実装しない
- 外部 API への接続情報(API キー・OAuth トークン)はサービス接続の認証設定で安全に扱い、画面やコードに直書きしない
- 公開アプリはステージとライブを分離し、検証中のものを誤って本番公開しないようにする
- 画面に表示・保持するデータに個人情報や機密が含まれる場合は、表示範囲とログ出力を最小化し、最小権限を徹底する
サービス接続やアクションチェーンにAPI キーやトークンを直書きするのはアンチパターンです。漏えい時の影響が大きく、ローテーションも困難になります。認証情報は接続設定や Vault(Secrets)で管理し、環境ごとに切り替えられるようにしましょう。
関連サービス・比較
Visual Builder は「画面を作って公開する」フロント寄りの位置づけで、同じ OCI の APEX(データベース中心のローコード)や OIC(連携・自動化)と役割が分かれます。ここでは最も近い OCI APEX と対比します。
| 観点 | OCI Visual Builder | OCI APEX |
|---|---|---|
| 主目的 | Web/モバイルの画面開発と公開 | DB 中心の業務アプリ開発 |
| 土台 | Oracle JET ベースのフロント | Autonomous Database 上で動作 |
| データ源 | REST/SaaS 接続が中心 | データベースの表が中心 |
| 開発スタイル | ビジュアル中心のローコード | 宣言的 + PL/SQL のローコード |
| 向く用途 | API を束ねた画面・モバイル | DB データの CRUD 業務アプリ |
| 位置づけ | AWS の Amplify に近い | DB 同梱のアプリ開発機能 |
関連して、外部公開と保護には API Gateway、サーバーレス処理には Functions、SaaS/アプリ連携と業務フローには OIC、認証には Identity ドメイン(IDCS)、秘密情報管理には Vault を組み合わせるのが定番です。
ハンズオン / CLI例
Visual Builder のアプリ本体はブラウザのビジュアルデザイナーで作るのが基本ですが、インスタンス(環境)の作成・確認・管理は OCI CLI(oci vb)で自動化できます。
# Visual Builder インスタンスを作成(ノード数などは要件に合わせて指定)
oci vb vb-instance create \
--compartment-id ocid1.compartment.oc1..xxxxx \
--display-name my-vb \
--node-count 1
# コンパートメント内の Visual Builder インスタンスを一覧
oci vb vb-instance list \
--compartment-id ocid1.compartment.oc1..xxxxx \
--query "data.items[].{name:\"display-name\", state:\"lifecycle-state\", url:\"instance-url\"}" \
--output table
# 単一インスタンスの詳細を取得(エンドポイント URL や状態を確認)
oci vb vb-instance get \
--vb-instance-id ocid1.vbinstance.oc1..xxxxx
# ノード数を変更してスケールする
oci vb vb-instance update \
--vb-instance-id ocid1.vbinstance.oc1..xxxxx \
--node-count 2
OCI Service
Oracle Visual Builderを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
アプリ統合
比較で見る軸
クラウド: OCI / カテゴリ: アプリ統合 / 難易度: intermediate
導入後に効く点
REST/SaaS 連携と認証・ホスティングまでマネージドで提供する。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- OCI
- カテゴリ
- アプリ統合
- 難易度
- intermediate
- 関連資格
- —
- 設計柱
- operational / security
判断チェックリスト
- 自社の用途が「アプリ統合 / operational」に近いか確認する。
- 強みである「ビジュアル開発で Web/モバイルアプリを作るローコード基盤。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。