Как вы управляете разработкой и развертыванием многоуровневой системы, состоящей из нескольких веб-сайтов, настольных приложений, веб-служб и баз данных, которые имеют множество зависимостей?
Предположим, что у вас есть среда непрерывной интеграции с системой управления версиями и автоматизированными сборками.
Вы когда-нибудь находили решение для управления этими зависимостями?
Это то, чего вам будет трудно достичь. Однако одно, что мы делаем, - это убедиться, что каждая отдельная часть вашей системы выполняет соответствующие проверки работоспособности, например, ваш уровень доступа к данным будет делать что-то вроде:
public void OnStart(){
if (database.SchemaVersion != this.RequiredDatabaseSchemaVersion)
throw new DependencyException("The database was not the required version");
}
Этот пример совершенно тривиален, но вы должны уловить идею.
Еще вы можете сделать так, чтобы при упаковке приложения вы упаковывали его как единое целое. Итак, кто-то может сделать что-то вроде:
MyApplication_v1234.msi /install web_app
MyApplication_v1234.msi /install web_services
Очевидно, это зависит от того, как вы планируете распространять свое приложение.
Надеюсь, это даст вам повод задуматься.
какой-то конкретный стек технологий?