Skip to main content

 

 

 

 
Language:

 

 
 
 
OutSystems

OutSystemsの実行モード: DevelopmentモードとProductionモードの違い

この記事は、OutSystems 10にのみ適用されます。

概要

OutSystemsでは、DevelopmentとProductionという2つの異なるモードで実行できるように環境を構成することができます。各モードの違いは複雑で、モードの切り替えは単純なオン/オフの変更ではありません。

このトピックでは、モードの違い、モードを選択する際に適用される制限、およびモードの切り替え方法について説明します。

OutSystemsの実行モードとは

実行モードは、どのようにアプリケーションを環境にパブリッシュするかについて、プラットフォームが一定の決定を行う方法を定義するOutSystemsの設定です。また、開発者がService Studioを使用して環境に接続している場合、特定の開発時機能を利用できる度合いにも影響を及ぼします。

開発時

このレベルでは、実行モードが以下の機能を利用できる度合いに影響を及ぼします。

クエリのテスト - SQLツールを使用してクエリをテストする機能と、Service Studioでエンティティデータを表示する機能が影響を受けます。

Personal Areaでの実行とデバッグ

デバッグ

これらの操作は、Development実行モードでは実行できますが、Production実行モードでは実行できません。

アプリケーションのパブリッシュ

Productionモードでは、プラットフォームによって以下の決定が行われます。

  • eSpaceモジュールを初めてパブリッシュする場合、実行モードに応じてデバッグモードが設定されます。つまり、Production実行モードの場合はオフのままになり、Development実行モードの場合はオンのままになります。

  • さらに、eSpaceを毎回パブリッシュするたびに、プラットフォームによってコードの生成方法が決定されます。

    • 環境がProduction実行モードの場合、プラットフォームはコードを生成する際にService Studioからのデバッグに必要なデバッグコードを含めません。

    • 環境がDevelopment実行モードの場合、前の項目で説明したデバッグモードフラグに基づいて決定されます。つまり、デバッグモードがオンの場合はデバッグコードがあり、デバッグモードがオフの場合はデバッグコードがありません(Production実行モードと同じようにコードが生成されます)。

プラットフォームの実行モードを変更する方法

実行モードの変更は、Service Centerの[Administration?-> Environment Configuration]で行います。

モードを変更しても、アプリケーションコードの生成に関してプラットフォームが行った以前の決定は変更されません。これは、今後行われる決定にのみ影響を及ぼします。

DevelopmentモードからProductionモードに変更するとライセンスエラーが発生する理由

環境をProduction実行モードに設定できるのは、Productionタイプのライセンスのみです。ライセンスのタイプは、Service Centerの[Administration -> Licensing]で確認できます。

ライセンスがDevelopmentタイプの場合、環境をDevelopment実行モードにのみ設定できます。ライセンスがProductionタイプの場合、どちらのモードも選択できます。

通常、ユーザーはどちらのタイプの環境も実行できます。各ユーザーは、Productionモードを許可するライセンスのセット(通常は1)とDevelopmentモードのみを許可するライセンスのセット(通常は2または3)を持っています。

環境をDevelopmentモードからProductionモード(またはその逆)に完全に変更する方法

環境をDevelopmentモードからProductionモードに完全に変更するには、以下の手順を実行する必要があります。

1.実行モードを変更します(前のセクションを参照)。

2.Developmentモードに変更する場合は、すべてのeSpaceのデバッグモードフラグを修正する必要があります。そのためには、[Factory -> eSpace]ですべてのeSpaceにアクセスし、[Operation]タブでデバッグモードを有効にします。必ず変更を適用してください。 Productionモードに変更する場合は、この手順をスキップできます。Productionモードでは、常にデバッグモードなしでコードが生成されます。

3.すべてのモジュール(eSpaceとエクステンション)を含むソリューションを作成してパブリッシュします。これは、すべてのeSpaceの生成コードを更新して新しいモードを反映するために必要です。 この手順を実行しないと、変更は有効になりません

各環境で使用する適切な実行モード

以下は推奨されるベストプラクティスです。ユースケースによっては、他の組み合わせが適用される場合もあります。

OutSystemsでの健全な開発プラクティスのために、ユーザーは開発環境でデバッグを行うことができ、利用可能なすべての開発機能を備える必要があります。ただし本番では、可能な限り最も速いコードが必要であり、開発者からの干渉を回避する必要があります。しかし、これは開発インフラの極端な例です。一般に開発インフラは、ユーザーが保有している環境の数と開発プラクティスに依存します。

4つの環境(Development、Quality、Pre-Production、Production)がある場合に推奨されるプラクティスは、以下のとおりです。

Development: 開発者がアプリを作成する環境です。そのため、この環境はDevelopmentモードで実行し、すべてのeSpaceのデバッグモードがオンになっている必要があります。

Quality: 開発者がアプリケーションをテストする環境です。また、この環境ではデモや機能テストも行われます。このことからデバッグが引き続き必要になるため、Developmentと同じ方法(DevelopmentモードですべてのeSpaceのデバッグモードがオンになっている)で構成する必要があります。

Pre-Production: ビジネスユーザーがアプリケーションのすべてのテストを行う環境です。また、この環境では負荷テストやペネトレーションテストも行われ、可能な限りProductionに近い環境であることが求められます。そのため、Productionと同じ方法ですべてのアプリをコンパイルする必要があります。 ライセンスに応じて、環境をProductionモードにするか、またはDevelopmentモードにしてすべてのeSpaceのデバッグモードをオフにします。

Production: エンドユーザーがアプリケーションにアクセスする環境です。この環境は、Productionモードで実行する必要があります。ただし、Productionでのみ発生する例外的な問題をデバッグするために、Developmentモードへの切り替えが必要になる場合もあります。