Блог

Архитектура SOA и система управления складом

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

Поэтому разработчики создают новые концепции архитектуры ИТ-систем. Рассмотрим актуальную и самую передовую на сегодняшний день концепцию разработки систем – SOA.

SOA – это архитектурный стиль, а не конкретный продукт или проект.
Архитектуры, изменяясь, прошли эволюционный путь: от одноуровневой архитектуры к двухуровневой и, затем, к многоуровневой архитектуре. Сервис-ориентированная архитектура – это концепция разработки, возникшая на основе нескольких предшествующих концепций. Она вобрала в себя все прогрессивное и лучшее и породила новые принципы, послужившие стимулом для дальнейших инноваций в сфере разработки ИТ-решений.
Своей популярностью SOA обязана технологической платформе Web-сервисов. Расширяемость и масштабируемость языка XML стали революционным фактором, расширившим горизонты архитектурного построения систем.

Эволюция архитектур до SOA

Принципы, на которых базируется SOA архитектура

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

Принцип повторного использования
SОА предоставляет возможность гибкого комбинирования и многократного использования компонентов (сервисов) для построения сложных распределённых программных комплексов.

Принцип слабосвязанности
SOA основана на принципе слабосвязанности, который ведет к уменьшению числа взаимозависимостей компонентов (сервисов) в модулях системы.

Ориентированность системы на предоставление сервисов
SOA проводит грань между логикой процесса и бизнес-логикой. Бизнес-логика становится доступной в качестве сервисов. Логика процесса проявляется в объединении нужных сервисов.
Сервис – это определенная бизнес-задача. Первый шаг – необходимо определить список повторяющихся задач и идентифицировать их в виде сервисов.
После этого можно приступить к следующему шагу – реализации сервиса. Сервисы должны быть слабосвязанными и автономными. Работу сервиса можно разделить на три этапа: формирование данных на входе, обработка информации и получение результата на выходе.

Гибкость при реализации и внесении изменений в систему управления
Отделение логики процесса от бизнес-логики делает систему более гибкой. Большая часть изменений бизнес-конъюнктуры имеет отношение не к логике бизнеса, а к логике процесса. Гибкость системы позволяет запустить новые процессы или модифицировать уже существующие процессы, при этом сохраняя основные процессы неизменными.

Проблемы при внедрении проектов SOA систем

Работа по принципу: от большого к малому
Эксперты по SOA советуют начинать проекты внедрения с малого: переводить бизнес-процессы предприятия на работу в SOA системе постепенно, пошагово, начиная с базовых процессов, затем расширяя функционал SOA системы. Развитие от малого к большему снижает риски неправильного выбора направления развития SOA системы. Частая причина неудач кроется в том, что многие компании предпочитают сразу браться за весь спектр бизнес-задач, тем самым увеличивая риски.

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

Концентрация на выборе инструментов, а не на планировании проекта
Ошибка большинства компаний при развертывании SOA системы заключается в том, что они концентрируются не на подготовке к внедрению SOA с тщательным планированием и изучением системы, а на технологиях SOA, т.е. замыкаясь на ИТ-составляющей. По мнению экспертов, работа с технологиями SOA должна начинаться только после тщательного планирования проекта.

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

Отсутствие необходимых ресурсов
Проблема небольших компаний – отсутствие внутренних ресурсов или знающих специалистов в области SOA. И то, и другое неизбежно ведёт к неверным шагам и, как следствие, - к ошибкам.

Преимущества, которые дают бизнесу SOA системы

Изначально SOA – это архитектура для построения различных видов систем, которые должны обеспечивать преимущества предприятия. Эта архитектура в основном нацелена на то, чтобы повысить реакцию системы на изменения и обеспечить повторное использование существующих ИТ-ресурсов. Именно эти две возможности, которые дает SOA, делают ее столь привлекательной для предприятий. Самая важная характеристика, которой обладает SOА и которая позволяет предприятию добиться больших преимуществ в работе - это возможность повторного использования бизнес-логики.

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

Применение SOA в системах управления складом

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

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

Для построения гибких "адаптивных" систем управления складом наиболее эффективно использовать системы, отвечающие концепции архитектуры SOA. Концепции системы с SOA архитектурой позволяют отделить бизнес-логику и логику процессов при построении системы, создать библиотеку стандартных процессов (сервисов), из которых можно строить бизнес-процессы любого уровня сложности, стандартизовать подходы к системной интеграции и предоставлению WEB-сервисов клиентам и поставщикам.

Выбор в пользу SOA позволит увеличить гибкость информационной системы, снизить затраты на ИТ-ресурсы, увеличить жизненный цикл программного продукта, увеличить бизнес привлекательность компании.

В заключение

Системы с архитектурой SOA позволяют усилить конкурентные преимущества предприятия. Но при развертывании SOA системы необходимо помнить, что преимущества обеспечивает не сама архитектура, а ее правильное использование.
Изначально SOA – это архитектура для построения различных видов систем, которые должны обеспечивать преимущества предприятия. Эта архитектура в основном нацелена на то, чтобы повысить реакцию системы на изменения и обеспечить повторное использование существующих ИТ-ресурсов. Именно эти две возможности, которые дает SOA, делают ее столь привлекательной для предприятий.


Автор: Шилов Илья,
Технический директор компании ConsID

Преимущества, которые дают бизнесу SOA системы:

Самая важная характеристика, которой обладает SOА и которая позволяет предприятию добиться больших преимуществ в работе, - это возможность повторного использования бизнес-логики.

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