OutSystems Developer Cloud ( ODC ) のLibraryとは?~リリース機能について、実際の画面で解説~(vol.23)

  • 公開日:2024年01月29日(月)

2023年4月より、OutSystemsの新製品である「OutSystems Developer Cloud(以降、ODCという)」の日本での提供が開始されました。
「ODC」には従来の製品である「OutSystems 11(以降、OS11という)」にはなかったLibraryの「リリース」という機能が新しく追加されています。
本ブログ記事では、ODCにおけるLibraryの概要と「リリース」機能の特長について、実際の操作も交えながら解説します。

OutSystems Developer Cloud (ODC)におけるApp / Libraryとは?

ODCで機能を新しく作成する時には「App(Web/Tablet/Phone)」または「Library」のどちらかを

選択します。これによって作成できる機能が決まるため、後から変更することはできません。まずは簡単に、「App」と「Library」の違いを確認しましょう。

Appは、特定のビジネスコンセプトを”サービス”として提供します。画面を介してエンドユーザーにデータを表示したり、REST APIを公開して他のシステムからの参照/更新を可能にしたりします。もちろんService Actionを利用して、ODC環境内の他のApp向けに公開することも可能です。Appの中には、提供するデータを保持するEntityや関連するスケジューラ処理を実行するTimerなどを定義することができます。PublishをするとAppはコンテナイメージとなり、各ステージにコンテナとしてパッケージ化されることで実行可能な状態になります。Appは一般的なWeb /モバイルアプリケーションの形式であると理解していただいても差し支えありません。

Libraryは、それ単体ではエンドユーザーや他システムに機能を提供することはできません。作成できるものはBlockやServer Action、Client Actionなど、どれもODC環境内の他のAppに再利用されることを前提としています。Libraryはそれを参照するAppのPublish時に同じコンテナイメージ内に同梱されます。一般的な開発におけるライブラリと似たコンセプトであると捉えることができます。

OutSystems Developer Cloud (ODC)におけるLibraryの「リリース」機能とは?

AppとLibraryはどちらとも、「リビジョン」と「バージョン」という二つの版管理機能を利用できます。
「リビジョン」はPublishする度に保存されるApp/Libraryの版・履歴のことです。開発ツールであるODC StudioからはApp/Libraryの任意の「リビジョン」を開いて、比較したり再パブリッシュしたりすることができます。

続いて、「バージョン」です。
Appにおける「バージョン」は、Appを次のステージにデプロイする際につけることのできる版・履歴にあたります。一方、Libraryにおける「バージョン」は、DevelopmentステージにおいてLibraryを「リリース」する際に設定することができる版・履歴のことです。どちらにおいても、任意の「リビジョン」を選択して「バージョン」とします。

Appの「リビジョン」と「バージョン」

Libraryの「リビジョン」と「バージョン」

Libraryの「リリース」機能はDevelopmentステージ上でのみ行うことができる操作であり、この操作によってDevelopmentステージ上の他のApp/Libraryから参照できるようになります。「リリース」を初めて行うまで、このLibraryは指定した単一のApp以外からは参照することはできません。

「リリース」機能によって、開発者は以下のような恩恵を受けることができます。

  1. テストした安定バージョンを公開することができる。
    Libraryは「リリース」するまで、どれだけPublishしても参照する側(Consumer)に影響しません。また、Publish時に単一のAppを指定することができ、これを行うことでテスト用として特別にそのAppだけ参照させることが可能です。これによりLibraryの開発中は何度Publishしても良く、かつ効率的にその実装内容を試せるようになりました。
  2. App側でバージョンアップデートの可否を選択できる。
    Appが参照しているLibraryで新しい「バージョン」が「リリース」された時、ODC Studio上に通知が表示されます。この時必ずしもアップデート内容を反映しなくとも、他の任意のタイミングで更新することが可能です。開発スケジュールの都合上Libraryのアップデートにすぐには対応できないなどの場合に、この機能が役立つことでしょう。

このように、Libraryの「リリース」機能はOutSystemsでのDevOpsを更に高速化させる効果をもたらしました。次の章ではLibraryをリリースする実際の画面を確認してみましょう。

OutSystems Developer Cloud(ODC)でLibraryのリリースをする方法

まずはLibraryを作成します。新規作成で「Library」を選択してPublishします。
Publishが完了するとすぐにポップアップが表示されました。

この段階ではLibraryはまだリリースされていないため、他のAppからこのLibraryに対して参照を追加することはできません。しかし、それではLibraryそのものの動作を確認できないため、このポップアップでAppを指定することでそのAppにのみLibraryの参照を許可することができます。

LibraryをテストするためのAppを用意しておき、それを選択するのも良いでしょう。テスト用のAppの選択は随時やり直すことができます。

Libraryのテストが終わったら、他のAppからも参照できるようにLibraryを「リリース」します。これは管理ツールであるODC Portal上の、Libraryの詳細画面から行うことができます。まだLibraryを「リリース」したことがない場合は、詳細画面上に以下のようなメッセージが表示されます。右上の「Release library」からリリース手順を開始しましょう。

「リリース」するリビジョンを選択します。リビジョンはPublish時に自動で付与されています。

選択したリビジョンに「バージョン」を付け、リリースノートを記述します。バージョン番号はMajor、Minor、Patchの3段階表記が可能です。

最終確認画面です。内容に問題がなければ「Release Library」ボタンを押下します。

バージョン0.1.0がリリースされました!
Library詳細画面の「Version History」タブ内で、リリースノートが参照できます。リリースが重なれば、過去のリリースノートもこの画面で確認できるようになります。

ODC Studioを確認すると、リリースされたLibraryの要素を他のAppからも参照に追加できるようになっています。

ではLibraryの「バージョン」を上げた場合のApp側の対応を確認しましょう。先ほどと同様にODC Portal上で「リビジョン」を選択し、新しいバージョン番号を設定してLibraryを「リリース」します。

それを参照している全てのAppでは、ODC Studio上で以下のようなメッセージが表示されるようになりました。

「Review」を押すとLibraryのアップデートに関するリリースノートを参照することができるポップアップが表示されます。

ここでLibraryの最新のリリース内容の適用可否を選択することができます。App側はLibraryがバージョンアップしたからと言って、必ずしもその変更をすぐ適用する必要はありません。ポップアップの「Close」を押せば、アップデートを適用せずに終了します。一度アップデートを無視しても、その後はいつでもアップデートを適用することができますので、開発者は自身の最適なタイミングでLibraryの最新バージョンを自身のAppに取りこむことができます。

全ての開発作業が完了したら、本番運用を開始するためにAppをQA/Productionステージにデプロイします。デプロイに使われるコンテナイメージはAppをPublishした時に作成されているため、Libraryのバージョンもその時に参照していたものが同梱されています。つまりはAppによって異なるバージョンのLibraryがProductionステージで同時に運用されるようになったということです。
必要なアップデートは可能な限り早く適用するのが最善ですが、この機能によってAppどうしの独立性が高まり、各開発チームがより効果的に開発のライフサイクルを回していけるようになりました。

まとめ

いかがでしたしょうか。本ブログ記事では、ODCにおけるLibraryの「リリース」機能についてご紹介して参りました。
ODCから提供されるようになったこの新機能は、開発の独立性を高め、DevOpsの高速化に貢献しています。しかし、数多くのAppとLibraryの開発が進むODC環境全体を統制できなければ、この機能の効果も限定的になってしまいます。
弊社では様々なOutSystemsの導入・開発の知見をもとに、お客様の社内でOutSystemsの活用を推進するCenter of Excellence(CoE)チームを組成し、スムーズな導入と環境全体の統制、そして利用範囲の拡大をご支援するサービスをご提供しております。CoEチームの有用性や組成方法についてご興味のある方は、是非、弊社までお問い合わせください。

電通総研では、ローコード開発プラットフォーム:OutSystemsの導入/活用を支援する様々なサービスメニューをご用意しております。
ローコード開発のはじめの一歩を、電通総研と一緒に踏み出してみませんか?

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

本ブログは、2024年1月4日時点の情報をもとに作成しています。
OutSystemsに関する詳しいお問い合わせは、弊社Webサイトからお問い合わせください。
https://itsol.dentsusoken.com /outsystems/inquiry/