|
В последнее время на рынке программного обеспечения много внимания уделяется так называемым открытым решениям, т.е. решениям, которые позволяют конечным потребителям свободно адаптировать предлагаемые программные продукты под свои нужды, проводя, при необходимости, собственные доработки. В принципе, открытые системы, это не системы с открытым кодом, а системы, имеющие в своей структуре возможность доработки объектов приложения без нарушения структуры и целостности самой системы, т.е. располагающие классом инкапсулированных объектов, не зависящих друг от друга и от основного программного кода. Это отнюдь не отменяет концепции открытого кода (код остаётся открытым), но делает её более упорядоченной и регламентированной. Использование решений основанных на концепции репозиториев программных объектов со встроенным механизмом управления конфигурацией позволяет сохранять контроль над кодом, так как в этом случае пользователь создаёт свои объекты на основе базовых, не видоизменяя их. Подобные системы строятся в архитектуре базовое ядро и окружение ядра. В терминах, использующихся сегодня в информационных технологиях, систему можно определить как множество компонентов и сервисов, которые эти компоненты предоставляют друг другу и внешней среде. Ядро обеспечивает все внутренние сервисы системы, менять его нет необходимости. Такая система развивается за счет добавления и изменения компонентов окружения. Сложность же изменения в окружении не зависит от масштабов системы. С точки зрения изложенной модели системы можно дать следующие определения ядра и окружения:
| Ядро системы | Неизменная, ограниченная часть системы. Ядро должно включать в себя все компоненты, которые предоставляют внутренние сервисы. | | Окружение | Варьируемая, неограниченная часть системы. Окружение включает в себя компоненты, которые предоставляют только внешние сервисы. |
Основные преимущества данного решенияСтоимость проектов значительно ниже, т.к. здесь отсутствуют затраты на внедрение системы. Оплачиваются только лицензии, обучение и консультации.Сокращение времени внедрения системы (в основном за счет отсутствия этапов обследования и согласования бизнес-процессов предприятия).Идеальное решение для предприятий, которые имеют IT-отделы со штатом программистов, обладающих достаточными ресурсами для использования подобного решения.
|