Централизованные. Рассредоточенные репозитории

Одно из наиболее важных архитектурных различий в современных SCM, которое вы можете увидеть и ощутить в своей работе - это идея централизованных репозиториев против рассредоточенных (или нецентрализованных). Наиболее распространенной архитектурой в наши дни является архитектура с централизованным репозиторием. Данная "звездная" (star) архитектура изображается как центральный репозиторий ресурсов и множество разработчиков работающих с ним. Разработчик выгружает код из центрального репозитория на локальную машину (check out), и после внесения изменений, фиксирует их и загружает обратно в центральный репозиторий (commit), таким образом, и другие разработчики имеют доступ к его изменениям.


Рисунок 1. При централизованной архитектуре все разработчики работают с центральным репозиторием.
Централизованные. Рассредоточенные репозитории - student2.ru

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

Рассредоточенная архитектура позволяет разработчикам создавать свои собственные локальные репозитории для своих изменений. Локальный репозиторий разработчика такой же, как и исходный репозиторий ресурсов (который был). Ключевым отличием является то, что рассредоточенный подход позволяет разработчикам работать со своими изолированными репозиториями, а не с локальными машинами. Они могут делать изменения, вносить их в свои локальные репозитории и синхронизировать изменения с другими разработчиками, не трогая главную ветку. Затем разработчики могут сделать набор изменений, доступный своим "вышестоящим" коллегам (см. рисунок 2).

Рисунок 2. В нецентрализованной архитектуре разработчики работают, не синхронизуясь друг с другом, в своем собственном репозитории.


Централизованные. Рассредоточенные репозитории - student2.ru

Нецентрализованная архитектура интересна тем, что независимые разработчики могут работать асинхронно в одноранговой сети (peer to peer). Когда работа закончена (и достаточно стабильна), они могут сделать набор своих изменений (или исправлений) доступным всем остальным. Такая модель в наши дни широко используется в разработке систем с открытым кодом, включая ядро Linux® kernel.

Модель "моментальных снимков" (snapshot model) против Модели "набора изменений" (changeset model)

Другое интересное архитектурное отличие старых SCM от более современных - способ хранения изменений. Теоретически системы одинаковы и дают один и тот же результат, но различаются тем, как хранятся версии файлов (revision).

В модели "моментальных снимков" хранятся файлы целиком для каждой версии (с оптимизацией размера дерева). В модели "набора изменений", хранится только разница в версиях, создавая компактный репозиторий. (Рисунок 3).


Рисунок 3. Каждая из моделей ("снимков" и "наборов изменений") имеет свои преимущества.
Централизованные. Рассредоточенные репозитории - student2.ru

Как вы видите из рисунка 3, модели отличаются, но в конечном итоге мы получаем одинаковый результат. В модели "моментальных снимков", вы можете получить версии быстро, но вам потребуется больше места, чтобы хранить их. Модель "набор изменений" потребует меньше места, но займет больше времени, для получения определенной версии, потому что ошибка должна быть учтена в основной версии. Как вы потом увидите, вы можете делать оптимизацию, чтобы минимизировать число ошибок, которые учитываются в модели.

 
 

ФУНКЦИИ SCM СИСТЕМ Централизованные. Рассредоточенные репозитории - student2.ru

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


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


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

Уже сейчас многие отечественные производители и дистрибьюторы столкнулись с усиливающейся конкуренцией со стороны вторгающихся на наш рынок международных компаний, ростом расходов на складскую и транспортную логистику и необходимостью налаживания прямых связей с поставщиками и клиентами. Мировые лидеры используют SCM, чтобы иметь конкурентные преимущества перед игроками второго и третьего эшелона.

Преимущества управления цепочками поставок:

- ускорение оборота, сокращение материальных запасов на складах и общей стоимости хранения продукции;

- повышение удовлетворенности заказчиков с помощью онлайновой системы размещения заказов и настройки продуктов;

- гибкость проектирования, а также высокая скорость вывода продуктов в серию и снятия их с производства в соответствии с требованиями заказчиков и рынка;

- сокращение сроков разработки и вывода продуктов на рынок, что приводит к росту рыночной доли компании;

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

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

Используете ли вы централизованный или рассредоточенный репозиторий, модель "снимка" или "изменений", преимущества одинаковы.

5. Архитектура КИС [J]

Билет № Формулировка ответа Преподаватель Кто делает ответ Состояние
12.3., 25.2. Архитектура корпоративных информационных систем. Информация в бизнесе. Информационная поддержка бизнеса. Повышев Владислав Вячеславович   ОПЛ (Ден), дополнения Ани и Милы, готовый ответ Саши Хо

Готовый ответ Саши Хо

Информация. Общие сведения (Викиучебник)

Наши рекомендации