n層アーキテクチャの管理と展開
-
06-07-2019 - |
質問
複数のWebサイト、デスクトップアプリケーション、Webサービス、および依存関係が混在するデータベースで構成されるn層システムの開発と展開をどのように管理しますか?
ソース管理と自動ビルドを備えた継続的な統合環境があると仮定します。
解決
これは達成が難しいものです。ただし、システムの個別の部分が適切な健全性チェックを実行することを確認することが1つあります。たとえば、データアクセスレイヤーは次のような処理を行います。
public void OnStart(){
if(database.SchemaVersion != this.RequiredDatabaseSchemaVersion)
throw new DependencyException("The database was not the required version");
}
この例はまったく簡単ですが、アイデアを理解する必要があります。
もう1つできることは、アプリをパッケージ化するときに、1つのユニットとしてパッケージ化することです。だから誰かが次のようなことをすることができます:
MyApplication_v1234.msi /install web_app
MyApplication_v1234.msi /install web_services
明らかに、これはアプリの配布方法によって異なります。
うまくいけば、考えてみてください。
所属していません StackOverflow