Гомогенная интеграция программного обеспечения - PullRequest
0 голосов
/ 04 октября 2010

Я думаю о некоторых проблемах, которые могут лучше всего соответствовать термину «интеграция программного обеспечения».

Предположим, что на компьютере установлена ​​операционная система и некоторые программы A, B и C. Теперь все программы каким-то образом хранят данные в файловой системе. Допустим, A использует Apache Derby, B использует PostgreSQL, а B использует XML-файлы.

Теперь есть три способа хранения данных. Очевидный вопрос: почему бы не использовать только один способ хранения данных для всех программ?

Сначала кто-то мог сказать: нет способа настроить способ хранения данных для большинства программ. Он встроен в саму программу. Это решение разработчика, основанное на требованиях программного обеспечения.

Это может быть правильно, но я не думаю, что у большинства программ есть особые требования к тому, как хранить данные. Существует лишь меньшинство программ, которым нужен особый способ хранения данных. Все разработчики большинства программного обеспечения могут согласиться на один конкретный способ хранения данных, например, PostgreSQL. Теперь администратор может установить PostgreSQL, и все программы смогут использовать его вместе.

Это может быть еще более гибким. Я не знаю, есть ли что-то подобное для нативных программ, но для Java-программ вы можете использовать что-то вроде JDO для хранения данных. JDO - это стандартизированная структура персистентности, которая не зависит от хранилища данных. Можно использовать RDBMS, XML, базы данных объектов или что-то еще. Программа практически на 100% независима от способа хранения данных! Вы можете настроить способ, используемый программой для хранения данных через файл конфигурации.

Если все программы будут использовать JDO, все программы могут быть настроены на использование одного и того же хранилища данных без привязки к специальному хранилищу. Это упростило бы программный ландшафт на такой машине.

Это не ограничивается хранилищами данных. В этой системе может быть другое избыточное программное обеспечение, которое еще более интегрировано в программное обеспечение и не может быть настроено извне из-за отсутствия абстракции.

Существуют ли какие-либо известные подходы для интеграции всех различных программ более однородным образом?

Заранее спасибо

1 Ответ

0 голосов
/ 04 октября 2010

Это было опробовано.

На самом деле его пытали снова и снова.

Но чтобы это заработало, нужно

  1. Предвидеть все возможные варианты использования. Потому что, если вы этого не сделаете, кто-то будет кататься самостоятельно, а не ждать, пока вы добавите новую функцию для удовлетворения своих потребностей.
  2. Обрабатывайте все эти варианты использования с максимальной эффективностью. Потому что, если вы этого не сделаете, кто-то бросит свой собственный, вместо того, чтобы ждать, пока вы исправите угловой случай, который им нужен, но работает медленно в вашей реализации.
  3. Управляйте платформой или включайте всех в процесс (и делайте их счастливыми!). Потому что, если вы этого не сделаете, люди будут кататься в поисках конкурентного преимущества.

Вы начинаете видеть масштаб предприятия? Видите ли вы, как медленно это будет компенсировано прогрессу в IT?

На самом деле, это довольно сложно сделать только в одном проекте среднего размера.

...