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

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

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

SOA – это архитектурный стиль, а не конкретный продукт или проект.

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

Своей популярностью SOA обязана технологической платформе Web-сервисов. Расширяемость и масштабируемость языка XML стали революционным фактором, расширившим горизонты архитектурного построения систем.

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

    • 1. Открытость исходного кода системы

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

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

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

    • 2. Ориентированность системы на предоставление сервисов

SOA проводит грань между логикой процесса и бизнес-логикой. Бизнес-логика делается доступной в качестве сервисов. Логика процесса проявляется в объединении нужных сервисов.

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

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

    • 3. Принцип повторного использования

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

    • 4. Гибкость при реализации и внесении изменений в систему управления

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

    • 5. Принцип слабосвязанности

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

Что предприятия ждут от SOA

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

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

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

    • Работа по принципу: от большого к малому

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

    • Нежелание работать с бизнес-аналитиками

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

    • Концентрация на выборе инструментов, а не на планировании проекта

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

    • Игнорирование бизнес-составляющей

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

    • 5. Отсутствие необходимых ресурсов

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

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

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

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

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

В WMS системах класса "адаптивные", нашли свое применение концепции SOA архитектуры.

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

Снизить риски такого исхода для предприятия может только выбор для внедрения "адаптивной" системы.

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

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

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

В заключении

Системы с архитектурой SOA позволяют увеличить бизнес преимущества предприятия. Но при развертывании SOA системы необходимо помнить, что преимущества обеспечивает не сама архитектура, а ее правильное использование.

Автор: Шилов Илья. Руководитель отдела внедрения и сопровождения логистических систем