УДК 681.3
ОСОБЕННОСТИ ПОСТРОЕНИЯ РАСПРЕДЕЛЕННЫХ КОРПОРАТИВНЫХ ИС
А.А. Рындин, П.В. Глухов, С.В. Сапегин
Рассматривается процесс построения корпоративных ИС как распределенных систем служб. Исследуются проблемы и выгоды экосистемного подхода к развитию корпоративных ИС. Рассматриваются перспективные технологии построения распределенных систем
Ключевые слова: Service-Oriented Architecture (SOA), корпоративные ИС, распределенная архитектура
Одной из ключевых особенностей бизнеса XXI столетия, характеризующегося беспрецедентной долей инновационных продуктов и технологий, является высокая скорость изменения ситуации на рынке. Это вынуждает организации искать пути повышения своей гибкости и скорости реагирования на изменяющиеся условия, осуществлять постоянную реструктуризацию и оптимизацию бизнес-процессов. Однако, разработка оптимальных и интегрированных бизнес-процессов, реализующих функционирование как самого предприятия, так и дочерних организаций, а также бизнес-партнеров невозможно без налаженной ^-инфраструктуры предприятия.
^-инфраструктура любого предприятия имеет набор внутренних ограничений по
функционированию и разработке, обусловленных изначально заложенными архитектурными и программными решениями. Соответственно, решение задачи развития ^-инфраструктуры в соответствии с требованиями бизнеса невозможно без технологий, как обеспечивающих эффективное и действенное использование информационных ресурсов предприятия, так и позволяющих без больших затрат адаптироваться к постоянно изменяющимся условиям бизнеса.
Основной проблемой развития корпоративных информационных систем в настоящее время является интеграция компонентов, используемых для решения конкретных бизнес-задач предприятия и воплощающих в себе разнообразие методов, подходов и технических средств. При этом нередко возникают проблемы технической совместимости, взаимной корректности данных и согласованности функций, выполняемых различными компонентами системы. Однако, внедрение на предприятиях корпоративных ИС, базирующихся на единой модели данных и использовании традиционного клиент-серверного подхода, как показывает практика, порождает еще больше проблем, связанных с:
а) необходимостью существенных вложений в сетевую инфраструктуру (ради достижения
Рындин Александр Алексеевич — ВГТУ, д-р техн. наук, профессор, e-mail: ar@sb.vrn.ru Глухов Павел Владиславович — ВИВТ, аспирант, e-mail: saigo@bk.ru
Сапегин Сергей Владимирович — ВИВТ, канд. техн. наук, доцент, e-mail: svsapegin@mail.ru
требуемой пропускной способности) и серверное оборудование (для обеспечения отказоустойчивости и производительности);
б) трудоемкостью перегрузки данных из унаследованных систем в единую модель с приведением их в соответствие новым требованиям к актуальности и непротиворечивости;
в) серьезными ограничениями в плане гибкости, что в реальности существенно ограничивает срок эксплуатации внедренной системы и ее полезность для поддержки бизнес-процессов предприятия.
Вышеперечисленные проблемы вынуждают в процессе эволюционного развития корпоративных информационных систем ориентироваться, прежде всего, на использование распределенной
архитектуры. При этом решаются следующие задачи:
1. Распределение компонентов корпоративной ИС в сети предприятия.
2. Обеспечение прозрачности системы с точки зрения пользователя (включая механизмы сокрытия информации об изменении структуры системы).
3. Стандартизация протоколов и интерфейсов взаимодействия компонентов системы.
4. Расширение и масштабирование системы в соответствии с нуждами организации.
Одной из наиболее перспективных концепций организации корпоративной ИС в виде распределенной системы является SOA. SOA представляет собой реализацию платформы служб, которая состоит из множества служб (сервисов), обозначающих собой элементы бизнес-процессов, которые можно комбинировать и перекомбинировать в различные решения и сценарии в соответствии с требованиями бизнеса. Построение архитектуры на базе SOA позволяет использовать для автоматизации бизнес-процессов наиболее подходящие решения, вне зависимости от их технической реализации, при условии их инкапсуляции в виде сервисов SOA. Можно говорить об экосистемной парадигме проектирования и разработки корпоративной ИС, когда разработка общей архитектуры системы изначально ведется с позиции обеспечения следующих возможностей:
1. Динамического создания, изменения и удаления сложных приложений без изменения остальных частей системы.
2. Динамического конфигурирования системы,
распределения приложений, исходя из вычислительных мощностей сети предприятия, решения задачи оптимизации сетевой нагрузки.
3. Экспериментального использования для автоматизации бизнес-процессов
взаимозаменимых компонентов с выбором наиболее оптимального для дальнейшей эксплуатации.
Организация процесса оптимального развития распределенной системы компонентов
корпоративной ИС является одной из важнейших задач в процессе формирования 1Т-инфраструктуры предприятия. Задачу развития корпоративной ИС в целом можно формализовать в виде следующего выражения:
где Б() — набор требований к /-му компоненту ИС, ¥(1;) — функциональность /-го компонента, Т, — время существования /-го компонента, / — функция, оценивающая соответствие функциональности компонента ¥() актуальным требованиям 8,(1), N -общее количество компонентов корпоративной ИС. Исходя из этого, задачу организации
функционирования и развития распределенной корпоративной ИС можно разбить на следующие подзадачи:
1. Максимизация соответствия отдельных компонентов (служб), корпоративной ИС бизнес-требованиям в течение всего времени использования компонента в составе корпоративной ИС.
2. Определение состава и количества узлов (серверов приложений) распределенной системы, а также оптимальное распределение компонентов между этими узлами.
3. Координирование жизненных циклов отдельных компонентов системы с целью максимизации «покрытия» функциональностью системы потребностей бизнеса на протяжении всего времени существования корпоративной ИС предприятия.
4. Организация оптимального взаимодействия компонентов системы для повышения способностей системы к автоматизации как стандартных, так и эксклюзивных бизнес-процессов.
5. Реструктуризация ИС с целью устранения избыточной функциональности для повышения гибкости системы и улучшения ее эксплуатационных характеристик.
В общем виде процесс построения распределенных систем можно формализовать в виде последовательности действий, показанной на рисунке.
В рамках первого этапа осуществляется первоначальная декомпозиция корпоративной ИС, разбиение системы бизнес-процессов на отдельные подсистемы, обслуживающие различные потоки данных и задач, отдельные подразделения и т.д. Результатом этого этапа является модель бизнес-процессов предприятия, сгруппированных в подсистемы и контуры по логическому признаку.
Алгоритм построения распределенных ИС
На этапе выделения информационных, функциональных и пользовательских зависимостей осуществляется разбиение подсистем на отдельные бизнес-задачи, анализ информационных связей между службами, оптимизация их структуры.
Этап масштабирования подзадач связан с техническим анализом структуры корпоративной ИС, решением задач балансирования нагрузки между узлами распределенного приложения, выбора технологии взаимодействия служб исходя из соображений развертывания системы, надежности и отказоустойчивости ее работы, среднего времени отклика на запрос и т.д. Особо следует отметить важность выбора способа обмена сообщениями между компонентами распределенной системы. Существует два основных способа обмена сообщениями:
1. Синхронный обмен - когда коммуникация между компонентами системы осуществляется в реальном времени, с двусторонним контролем процесса обмена сообщениями. Технологии синхронного обмена сообщениями проще, быстрее работают, однако достаточно требовательны к ресурсам сетевой инфраструктуры предприятия.
2. Асинхронный обмен - когда передача сообщений осуществляется в одностороннем порядке (т.е. ответ на сообщение не ожидается). Обмен сообщениями между компонентами реализуется с помощью инфраструктурных механизмов на основе очередей и стеков сообщений. Такой способ коммуникации сообщений более надежен и нетребователен к аппаратному обеспечению, однако делает время реакции системы непредсказуемым и требует более сложных алгоритмов управления сообщениями.
В настоящее время существуют технологии, способные объединить в себе возможности синхронного и асинхронного обмена данными. Тем не менее, выбор способа обмена сообщениями оказывает большое влияние на архитектурные решения в процессе проектирования системы, поэтому его необходимо осуществлять именно на начальном этапе проектирования распределенной ИС.
Заключительным этапом процесса построения распределенной системы является реализация отдельных серверов приложений и служб в соответствии с разработанной архитектурой, их тестирование и запуск в эксплуатацию.
Достижение оптимальной с точки зрения производительности и гибкости структуры
распределенной системы обычно решается путем рассмотрения следующих целевых характеристик:
1. Минимальная связность системы. При
наличии большого количества взаимосвязанных компонентов ИС (служб) возникает проблема их повторного использования. Эта проблема решается уменьшением связности между компонентами. При этом, под мерой связности системы понимается количество информационных и функциональных связей между отдельными службами корпоративной ИС. При увеличении связности выше определенной величины (вычисляется эмпирически и зависит от технологий взаимодействия компонентов и
характера решаемых бизнес-задач), гибкость и надежность системы резко падают. Особое влияние на гибкость и надежность оказывает межузловая связность, т.е. наличие большого количества связей между службами, развернутыми на разных узлах (серверах приложений) распределенной системы. Существуют следующие способы борьбы с
избыточной связностью системы:
а) Перенос функциональности из одной службы в другую;
б) Перенос служб между серверами
приложений (исходя из предпочтительности
превращения межузловых связей во внутриузловые);
в) Разработка диспетчерских и управляющих служб, реализующих развернутые функции управления связями между другими службами системы.
2. Максимальное функциональное зацепление (High Cohesion) в службах корпоративной ИС. Функциональное зацепление - это мера сфокусированности служб распределенной системы на реализации конкретных задач. Считается, что компонент обладает высокой степенью зацепления, если его обязанности тесно связаны между собой и он не выполняет огромных объемов работы. Служба с низкой степенью зацепления реализует много разнородных функций или несвязанных между собой обязанностей. В идеале компонент должен выполнять как можно меньше специфичных задач и иметь вполне определённую область применения.
Среди способов достижения высокого функционального зацепления можно выделить:
а) тщательное логическое проектирование приложения, недопущение «эволюционного» подхода в проектировании отдельных служб приложения;
б) периодический анализ и переработка структуры отдельных служб, разбиение одной службы на несколько по группам выделенных, логически не связанных между собой функций, перенос функциональности из одной службы в другую.
3. Равномерное распределение служб между узлами распределенной сети. Равномерность распределения прежде всего необходима для улучшения технических характеристик
распределенной системы. Равномерность можно оценивать
а) с позиции производительности - выравнивая время работы служб на различных узлах сети;
б) с позиции используемой памяти - для обеспечения наибольшей средней емкости системы;
в) с позиции реализуемой функциональности - для достижения максимальной автономности отдельных узлов распределенной системы.
Проектирование корпоративных ИС в виде систем распределенных служб позволяет добиться нового уровня гибкости систем, их адекватности требованиям пользователей и способности к автоматизации широких сфер производственной и коммерческой деятельности. Возможность использования в распределенных системах экосистемной парадигмы развития компонентов открывает новые возможности модернизации процесса построения корпоративных ИС и увеличения реального экономического эффекта от использования 1Т-инфраструктуры предприятий.
Литература
1. Биберштейн Н., Боуз С., Джонс К., Фиммант М., Ша Р. Компас в мире сервис-ориентированной архитектуры (БОЛ): ценность для бизнеса, планирование и план развития предприятия / пер. с англ. - М.:КУДИЦ-ПРЕСС, 2007. - 256 с.
2. Брукс Ф. Мифический человеко-месяц или как создаются программные системы. - СПб.: Символ-Плюс, 1999. - 304 с.
3. Э. Таненбаум, М. Ван Стеен. Распределенные системы. Принципы и парадигмы - СПб.:Питер, 2003 -877 с.
Воронежский государственный технический университет Воронежский институт высоких технологий
FEATURES OF DISTRIBUTED CIS CONSTRUCTION
A.A. Ryndin, P.V. Glukhov, S.V. Sapegin
In article the process of CIS development as distributed systems of services is considered. Problems and benefits of the ecosystem approach to CIS development are investigated. Perspective technologies of construction of the distributed systems are considered
Key words: Service-Oriented Architecture (SOA), corporative IS, distributed architecture