ODC REST APIsで進めるOutSystemsアプリの運用自動化(Vol.39)

  • 公開日:
  • 最終更新日:

OutSystems Developer Cloud(以降、ODC)の導入により開発スピードが加速すると、「ステージごとの設定変更」や「デプロイ時の影響確認」といった運用管理面の負担を感じることがあります。ODC Portalは直感的で使いやすい反面、規模が大きくなるにつれ、人手による操作ミスや膨大な作業量が課題となります。
OutSystemsが提供する「ODC REST APIs」は、コードのビルド・テスト・デプロイを自動化する高度なCI/CDツール(※)との連携を可能にするだけでなく、日々の定型業務をプログラムで「自動化」し、誰でも安全かつ効率的に運用できるようにするための強力なツールです。
本記事では、「ODC REST APIs」の全体像と、今日から検討可能な具体的な活用シーンについて解説します。
※「CI/CDツール」=ソフトウェア開発における「継続的インテグレーション(CI)」と「継続的デリバリー/デプロイメント(CD)」のプロセス(コードのビルド、テスト、環境へのデプロイ)を自動化するプラットフォーム

OutSystems Developer Cloud (ODC)の「ODC REST APIs」とは?

「ODC REST APIs」とは、運用担当者がブラウザ上でODC Portalを操作したり、開発者がODC Studioで行ったりするアクションを、外部プログラムから実行できるようにするためのインターフェースです。 標準的なREST形式で提供されているため、OutSystemsのREST API機能を利用して、自環境専用の管理アプリケーションの作成を容易に行えます。
「ODC REST APIs」としてさまざまなAPIが公開されています。いくつかご紹介をします。

【User and access management】

ユーザー、グループ、ロールの管理を行います。ODC Portal上で設定できる作成や更新操作はもちろんのこと、特定のロールに紐づくユーザーを一括取得することも可能です。これにより、手動設定による権限付与ミスを防ぎ、セキュリティレベルの維持と管理工数の削減を同時に実現します。

【Build Operations】

アプリケーションやライブラリのビルド(新しいバージョンの作成)を制御します。ODC Portalにログインして「Build」ボタンを押す作業を待たずとも、プログラムからビルドの実行やそのステータス確認ができるため、開発プロセスの自動化(CI/CDの構築など)に大きく寄与します。

【Deployments】

開発・テスト・本番といった各ステージ内でのパブリッシュや、ステージ間でのデプロイを管理します。特定のバージョンを指定したデプロイの実行や、実行後のステータス監視を自動化することで、深夜や早朝のリリース作業をスケジュール化したり、確実なリリース作業をプログラムでコントロールしたりすることが可能です。

【Asset Configurations】

Settingsや外部システム連携のキー情報など、アプリケーションの設定値を管理します。ステージごとに異なる接続先情報などを一括で取得・更新できるため、ステージ移行時の「設定忘れ」や「手入力ミス」を防ぐことができます。

【Code quality】

AI Mentor Systemによるコード品質の分析結果や、技術的負債の状況を取得します。各アプリの品質スコアを定期的に自動チェックし、一定基準を下回った場合にアラートを出すような仕組みを作ることで、長期的にメンテナンス性の高い状態を維持するための客観的な判断材料を得られます。

「ODC REST APIs」は現在も進化を続けており、新しい機能が随時追加されています。最新のAPIリファレンスや技術的な詳細については、OutSystems公式ドキュメントを併せてご参照ください。

OutSystems Developer Cloud (ODC)の「ODC REST APIs」を活用するために重要な観点は?

APIが提供されているからといって、いきなり複雑な自動化システムを構築する必要はありません。運用現場において、どのような「観点」でAPIを取り入れるべきか、3つのポイントに整理しました。

(1) 「繰り返し作業」の標準化(ミス防止)

  同じ作業を繰り返すとどうしても注意力が散漫になり、ミスを犯します。毎回決まった手順で行うデプロイ作業や設定変更をプログラム化することでミスを防ぎ、かつ高速に作業を実施することができるようになります。
「誰がやっても同じ結果になる」状態を作ることが、運用の安定化への第一歩です。

(2) 「バラバラな情報」の一元管理(可視化)


  管理対象のアプリが増えると、「どのアプリの品質が低下しているか」「各ステージの設定値はどうなっているか」を把握するために、アプリごとに何回もODC Portalの画面を切り替える必要が出てきます。
   APIを活用して全アプリの情報を一括取得すれば、自作のダッシュボード一つでシステム全体の状態を把握できるようになります。

(3)  「特定操作」の安全な切り出し(権限委譲)


「運用担当者に設定変更だけさせたいが、強い権限は渡したくない」というケースがあります。APIを利用して特定の設定値だけを変更できる専用画面を自作すれば、本来の管理権限は絞ったまま、必要な作業だけを安全に現場へ委譲する運用が可能になります。

OutSystems Developer Cloud (ODC)の「ODC REST APIs」で運用を楽にする2つの活用例

それでは、具体的な活用イメージを2つご紹介します。

活用例1Asset Configurations API による「設定管理」の自動化

大規模なシステムでは、ステージごとに異なるAPIの接続先URLや認証キーなどの管理が煩雑になります。
Asset Configurations APIを活用することで、全アプリの設定値を一括取得し、各ステージでの設定に不整合がないかを一元管理することができます。
また、あらかじめExcelファイルなどで準備しておいた正しい設定値を、APIを呼び出す標準化された処理を通じて対象のステージに一括反映させることなども可能です。
これにより、本番デプロイ時やメンテナンス時の「設定漏れ」によるトラブルを極小化することが可能です。

活用例2:User and access management API による「ユーザー管理」の自動化

多くの利用者が存在するシステムや大規模な組織においては、日々発生する利用者の追加や削除、異動に伴う権限の付け替え作業が運用担当者の大きな負担となります。
User and access management APIを活用すれば、ユーザー管理に関連する操作の必要なものだけを切り出し、非同期処理として効率的に実行することができます。
例えば、管理ファイルの情報から権限変更を一括で実行する機能を構築すれば、ODC Portal上での手作業よりも圧倒的な速さで処理を完了することが可能です。
これにより、手動操作による運用負荷やセキュリティリスクを排除し、管理業務の属人化を防ぐことができます。

まとめ

今回のブログでは、ODC Portal上での手動操作を「自動化」してミスを防ぐための「ODC REST APIs」の概要と、設定や権限の管理を劇的に効率化する具体的な活用シナリオについて解説しましたが、いかがだったでしょうか。

ODC REST APIsは便利な機能ですが、最初からそれらをフル活用することを目指す必要はありません。日々の運用での課題に適した範囲で、効率化やミスの防止を達成していくことが、自動化の真の目的です。
つまり、日々の運用での課題とは何で、具体的にどのような機能が必要になるのかが、この機能を有効利用するために重要なポイントとなります。

電通総研では、実際の開発実績に基づき、最適な運用プロセスの設計をCoE支援サービスとしてご提供しております。お客様のOutSystemsの利用状況や組織体制にあわせ、無理のない範囲での運用負荷軽減をサポートすることが可能です。CoE支援サービスはその他にも、アプリケーションテンプレートや共通機能など、OutSystemsの利活用を推進するための様々なサービスをご提供しております。

ご興味のある方は電通総研のサービスページをご覧いただくか、詳細な情報は弊社Webサイトからお問い合わせください。

電通総研のOutSystems関連サービスページ:https://itsol.dentsusoken.com/outsystems/service/

OutSystemsに関する詳しいお問い合わせは、弊社Webサイトからお問い合わせください。
https://itsol.dentsusoken.com/outsystems/inquiry/

<筆者>
氏名:岡村一輝(おかむら かずき)
経歴:2019年よりOutSystems開発者としてアプリケーション開発・環境構築・内製化支援、トレーニングなどに従事。
現在は、OutSystemsアーキテクトとして複数顧客の開発支援を担当。
2025年にOutSystems Developer Day Tokyoにて講演。
趣味:映画鑑賞とボードゲーム。好きが高じてボードゲームを自作しはじめる。

保有資格
– Expert Developer(OutSystems Developer Cloud / OutSystems 11)
– Tech Lead(OutSystems 11)
– Platform Ops(OutSystems 11)