Re[2]: Manage compatibility of software
От: Bug_z Австрия  
Дата: 22.08.07 15:30
Оценка:
Здравствуйте, Aquary, Вы писали:

B_>>Параллельно разрабатываются несколько приложений, которые работают с базой данных и друг с другом. Каждое приложение разрабатывается независимо. Требуется — вести учет совместимых версий данных приложений, т.е. какая версия какого приложения совместима с какой версией другого приложения и т.д.


A>Для начала — пара основных вопросов:

A>1. Если приложения разрабатываются независимо (т.е. в моем понимании, имея разную кодовую базу), то что означает "совместимость друг с другом"? Только по данным и структуре БД? Или ещё по другим интерфейсам — COM и т.п.?
A>2. Отслеживается ли как-то версионность структуры самой БД?

1. Все верно, приложения разрабатываются независимо и имеют разную кодовую базу (.NET WinForms, ASP.NET WebServices, C++/MFC). Совместимость отслеживается по нескольким направлениям:

    1. По структуре БД.
    2. По интерфейсам веб сервисов.
    3. По данным на диске (при установке любого приложения на диске создается определенная файловая струкутра общая для совместимых приложений).
    4. По структуре данных (через веб сервисы и файловую систему приложения обмениваются XML файлами)

Но в итоге мы имеет просто Эксел файл, где прописаны версии совместимых приложений.

2. Версия БД отслеживается, при изменении структуры БД — меняется версия.

Еще одно замечание — все эти приложения находятся на разных компьютерах в LAN, иногда даже в WAN, а не на одной машине.

A>На эти вопросы можно ответить только ответив на мои Не факт, что потребуется отдельная софтина и даже сложная эксель-таблица.

A>При грамотной постановке СМа на проекте (например, выделении и отслеживании версий/бэйзлайнов приложений, БД) можно восстановить картину зависимостей только имея релизноты даже одной из программ всего комплекса. Хотя без деталей навскидку не скажешь.

Преследуется две основные цели:

    1. Иметь всегда всю эту информацию о "совместимости" под рукой и быстро получать доступ к ней (сейчас это Эксел файл) т.е. своего рода inhouse solution. Создать БД (тут и возникает вопрос о уже готовом решении) и вносить всю информацию о совместимости между приложениями.
    Например, если у клиента установлен определенный набор приложений и нужно ему обновить/установить новую версию приложения — будет ли она совместима с остальными уже работающими или нет. Эту информацию нужно получать непосредственно до инсталяции.
    2. Проверять все эти совместимости в рантайме, т.е. непосредственно в рабочих условиях (тут я подозреваю, что придется все делать самим). Пока не совсем ясно, будут ли это проверки каждого отдельного приложения или всей системы в целом.

Просто странно, что для задачи номер один я не нашел ни одного готового решения в инете.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.