技術ブログ / 読了 約 8 分

Pega カスタム DX Component(React) の作りどころ|OOTB 設定と自作の使い分け

Constellation は React 製のカスタム DX Component で拡張でき、App Studio の作成者が view に配置できる。だが自作は SDK 契約への準拠と、Constellation 版更新ごとの再検証・保守を伴う。標準で満たせるか、コードに踏み込むか——自作の分岐点を扱う。

結論から:まず「OOTB + 設定」、自作は真のギャップに限る

Pega の Constellation は、UI を React 製のカスタム DX Component で拡張できます。自作したコンポーネントを登録すれば、App Studio の作成者(ローコード開発者)が OOTB(Out-of-the-Box)コンポーネントとまったく同じ感覚で、view や template に配置できるようになります。これは強力な仕組みで、「コードで作った部品を、ローコードの人が設定だけで使える」という理想的な役割分担を実現します。

ただし、その強力さゆえに使いどころを誤ると保守の負債になります。結論を先に言うと、判断の型はシンプルです。

まず OOTB コンポーネント+設定(デザインシステム/template)で満たせないかを検討する。標準で満たせない「真のギャップ」がある場合に限って自作へ進み、着手する前に upgrade-safe な設計と保守オーナーを固める。

「React で書けるから」「凝った見た目にしたいから」という理由で最初から自作に飛びつくのは誤りです。自作コンポーネントは Constellation の SDK/契約に準拠する必要があり、そのバージョンは Constellation リリースに結び付きます。つまり プラットフォームをアップグレードするたびに、再検証と改修の保守コストを背負うことになります。本記事では、この「作るか、設定で済ませるか」の意思決定を、具体的な分岐として整理します。

カスタム DX Component 自作の判断フロー OOTB コンポーネントと設定、template、標準コンポーネントの組み合わせのいずれかで満たせるなら OOTB を使い、すべて満たせない真のギャップのときだけカスタム DX Component を自作する判断フロー図。 この UI 要件をどう実現する? ① OOTB コンポーネント(+設定)で その UI 要件を満たせるか? いいえ ② template・設定で目的の形に寄せられるか? いいえ ③ 標準コンポーネントの組み合わせで代替できるか? いいえ カスタム DX Component(React)を自作 ① 〜 ③ すべて「いいえ」=真のギャップ OOTB + 設定 (自作しない) ① 〜 ③ の どれかが「はい」 はい はい はい 真のギャップの例 ― 特殊な可視化 / サードパーティ widget / OOTB 未サポートの操作 自作へ進む前に upgrade-safe 設計と保守オーナーを固める
図:OOTB・template・標準コンポーネントの組み合わせのいずれかで満たせるなら自作しない。すべて満たせない真のギャップのときだけ、upgrade-safe 設計を固めてからカスタム DX Component を自作する。

カスタム DX Component とは — Constellation を React で拡張する

Constellation は React ベースの UI アーキテクチャで、DX Component はその正式な拡張ポイントです。開発者が Constellation のコンポーネント SDK に沿って React コンポーネントを実装し、アプリケーションに登録すると、そのコンポーネントは App Studio 上で OOTB コンポーネントと並んで一覧に現れます。

ここが重要な点です。登録された自作コンポーネントは、ローコードの作成者が view や template に「配置するだけ」で使えます。プロパティのバインドやレイアウトへの組み込みは、OOTB コンポーネントと同じ App Studio の操作で完結します。つまり自作 DX Component は、「フルコードで作った部品を、ローコードの運用に橋渡しする」ための仕組みだと捉えると位置づけが明確になります。

この橋渡しは魅力的ですが、橋の維持には費用がかかります。次に、それでも「まず OOTB」を原則とする理由を整理します。

それでも「まず OOTB」が原則である理由

Pega の設計思想は、メタデータ駆動(model-driven)とデザインシステムの徹底——公式の言葉でいえば 「カスタマイズより設定(configuration over customization)」 です。OOTB コンポーネントを設定で使う限り、次のことがプラットフォーム側で保証されます。

  • 統一された UX — Constellation のデザインシステムに沿った、アプリ全体で一貫した見た目と操作感
  • アクセシビリティとレスポンシブ — 標準コンポーネントが担保する対応を、個別に作り込まなくてよい
  • アップグレード追従 — OOTB コンポーネントの改善・修正は、プラットフォームのアップグレードで自動的に取り込まれる

自作 DX Component は、この 3 つを 自分の責任で引き受けることを意味します。SDK の契約に準拠し、アクセシビリティを自前で担保し、そして後述するとおり、Constellation の版が上がるたびに動作を再検証する必要があります。だからこそ「まず OOTB、自作は真のギャップに限る」が原則になります。標準で満たせるものを自作するのは、支払う理由のないコストを恒久的に背負う選択です。

実際、プラットフォーム自身がこのコストを可視化する方向に進んでいます。Pega Platform ‘26 時点では、Constellation DX Component を使用するとガードレール警告が表示され、その部品が保守性・アクセシビリティ・ユーザビリティ・セキュリティ上のリスクを持ち込みうることを注意喚起します(バージョンにより挙動が異なるため、詳細は対象版の公式ドキュメントで確認してください)。「作れるが、無条件に推奨されるわけではない」というプラットフォームの姿勢が、そのまま警告として現れていると捉えてください。

「真のギャップ」とは何か

では、自作を検討してよい「真のギャップ」とはどういうものか。実務では、おおむね次の 3 類型に整理できます。

特殊な可視化

OOTB のフィールドやチャートでは表現できない、業務固有のビジュアライゼーション。たとえば、独自の座席マップ、工程を図示するガントライクな表現、地図上へのカスタムオーバーレイなど、標準の入力・表示部品の組み合わせでは形にならないものです。

サードパーティ widget の埋め込み

外部ライブラリや外部サービスが提供する UI 部品を画面に組み込む必要があるケース。決済ウィジェット、外部の署名コンポーネント、専用のリッチエディタなど、Pega 標準にない部品を React で包んで取り込む用途です。

OOTB が未サポートの操作・インタラクション

標準コンポーネントでは提供されていない操作性や、特殊なユーザーインタラクションが要件として明確にある場合。ここで大切なのは、「設定や template の工夫で近づけられないか」を先に潰しておくことです。多くの“未サポートに見える要件”は、実際にはデザインシステムの設定範囲で寄せられます。

これら 3 類型に当てはまり、かつ設定・template・標準コンポーネントの組み合わせでは代替できないと確認できて初めて、自作は正当化されます。

OOTB + 設定 と 自作 DX Component の比較

判断を早見表にまとめます。

観点OOTB + 設定カスタム DX Component(自作)
実現できる範囲デザインシステムの設定範囲React で書けるものはほぼ何でも
UX の統一・アクセシビリティプラットフォームが担保自前で担保する責任を負う
アップグレード時自動追従(基本ノーコスト)再検証・改修が必要になりうる
SDK/契約への準拠不要必須(版に結び付く)
実装・学習コスト低(App Studio の設定)高(React + SDK の作法)
保守オーナーPega 側 + 設定担当自チームで明確に持つ必要
使いどころ大多数の UI 要件真のギャップに限定

表が示すとおり、自作は「実現できる範囲」だけが優位で、それ以外のすべての列でコストを払います。だから **判断は機能の可否ではなく、「そのギャップが、これらのコストを恒久的に払う価値があるか」**で下します。

自作を決めたら — upgrade-safe に作るための前提

真のギャップだと確認し、自作に踏み切ると決めたら、着手前に必ず次を固めます。ここを飛ばして作り始めると、次のアップグレードで壊れて手戻りします。

  • SDK/契約への準拠を前提に設計する。 自作コンポーネントは Constellation のコンポーネント SDK が定める契約に従う必要があり、そのバージョンは Constellation リリースに結び付きます。契約から外れた作り方をすると、版が上がった瞬間に動かなくなります。
  • 対象バージョンのドキュメントで作法を確認する。 コンポーネント API・ビルドツール・ビルド手順は、Constellation のリリースごとに進化します。「以前のプロジェクトではこう作った」を流用せず、利用中の版の公式ドキュメントで現在の作法を確認してください。
  • 保守オーナーを明確にする。 自作コンポーネントは Pega Infinity の各リリースに追従して保守し続ける必要があり、Pega 公式も「その保守負担が、将来リリースへのアップグレード自体を妨げないかを見極めよ」と促しています。アップグレードのたびに再検証・改修が発生する前提で、「誰がこのコンポーネントを持ち続けるのか」を設計段階で決めます。オーナー不在の自作コンポーネントは、数バージョン後に誰も触れない負債になり、最悪の場合はアプリ全体のアップグレードを止めます。

バージョン依存の注意: DX Component の API・SDK・ビルド手順は版によって異なります。本記事の判断軸は版に依存しませんが、具体的な実装手順やコンポーネント契約の詳細は、必ず対象 Constellation バージョンの公式ドキュメントで確認してください。

よくある失敗

失敗1:設定で足りるのに自作する

最も多い失敗です。「凝った見た目にしたい」「React で書けるから早い」という理由で、デザインシステムの設定や template で寄せられる要件まで自作してしまう。初期の開発は速く進むように見えても、以降のアップグレードごとに再検証と改修のコストが乗り続けます。自作の前に、設定・template・標準コンポーネントの組み合わせを必ず先に試す——図の①〜③を潰すのはこのためです。

失敗2:upgrade-safe を考えずに作る

真のギャップであっても、SDK 契約を無視した作り方をすれば同じことです。契約から外れた実装は、Constellation の版が上がった瞬間に動かなくなります。「今動くコード」ではなく「次のアップグレードでも生き残るコード」を、対象版のドキュメントに沿って作る必要があります。

失敗3:保守オーナーを決めずにリリースする

作った本人が案件を離れ、誰もその DX Component を再検証できなくなるパターン。アップグレードのたびに保守が発生する部品なので、オーナー不在は「アップグレードできないアプリ」に直結します。作る判断と同時に、持ち続ける人を決めておきます。

まとめ

  • Constellation は React 製カスタム DX Component で拡張でき、登録すれば App Studio の作成者が OOTB と同じように view/template へ配置できる。強力だが、使いどころを誤ると負債になる。
  • 原則は 「まず OOTB + 設定」。標準で満たせない 真のギャップ(特殊な可視化・サードパーティ widget・未サポートの操作)に限って自作へ進む。
  • 自作は SDK/契約への準拠を伴い、そのバージョンは Constellation リリースに結び付く。アップグレードのたびに再検証・改修の保守コストを背負う。
  • 踏み切るなら着手前に、upgrade-safe な設計・対象版ドキュメントでの作法確認・保守オーナーを固める。

「設定で満たせるか、コードに踏み込むか」——この分岐を設計の最初に言語化しておくだけで、Constellation アプリの保守性とアップグレード耐性は大きく変わります。判断を機械的に下せる型として、チームで共有しておく価値があります。

関連リンク

RELATED

関連記事

Pega 宣言的処理のコスト設計|前方連鎖と後方連鎖の使い分け

Declare Expression は便利だが、前方連鎖のカスケードは1つのプロパティ変更が広範な再計算を引き起こす。宣言的処理は「書けば動く」半面、実行コストが見えにくい。本記事は前方連鎖と後方連鎖、宣言的と手続き的の境界線を、性能と保守性の観点で整理する。

記事を読む

Pega Insights と Report Definition の使い分け|セルフサービス分析と運用レポートの線引き

「レポートは Report Definition で作るべきか、Insights でユーザーに任せるべきか」——ダッシュボード設計で必ず出る分岐です。統制と再利用が要る定型レポートはルール化し、アドホックな探索はセルフサービスに開く、が基本方針。本記事では両者のガバナンス差とデータソースの前提から、線引きの判断軸を示します。

記事を読む

Pega 監査証跡設計:フィールド監査・履歴・セキュリティ監査の使い分け

「何を、どこまで監査するか」は Pega のセキュリティ設計で最も判断が割れるテーマです。フィールド監査・ケース履歴・セキュリティイベントの使い分けと、監査のかけ過ぎが招く性能・容量問題の回避策を、LSA の視点で解説します。

記事を読む

Pega 導入のご相談はお気軽に。

Pega Customer Service / Pega Constellation UI / Pega Platform の各ソリューションについて、無料でご相談を承ります。