Именно такой программной системой является комплексная система ASys BPM.
Основная трудность, возникающая перед разработчиками данного программного комплекса, заключается в обеспечении унифицированного подхода к реализации управленческой модели и архитектуры решения. Один из способов решения этой проблемы заключается в использовании сервис-ориентированной архитектуры (англ. SOA) — специализированного подхода к разработке программного обеспечения, основанного на использовании сервисов (служб) со стандартизированными интерфейсами.
Разрабатываемый модуль «ASys SOA-Platform» выполняет функции базовой SOA-платформы в системе ASys BPM, т.е. предоставляет унифицированный программный интерфейс для построения системы сервисов, предназначенных для организации управления бизнес-процессами предприятия.
К сожалению, на сегодняшний день, программные комплексы класса ERP, CRM, PDM и т.п. уже не могут полностью удовлетворить потребности компаний, которые поставили перед собой цель непрерывного развития. Это связано преимущественно с тем, что логика процессов (т.е. последовательность шагов для осуществления деятельности) в подобных программах жестко программируется, «зашивается» в коде программы.
Использование модуля «ASys SOA-Platform» в качестве базового элемента для реализации архитектуры SOA в системе ASys BPM позволяет получить устойчивую структуру управления бизнес-процессами с инкапсулированной логикой, не требующей перепрограммирования.
Основная цель, которую планируется достичь с использованием «ASys SOA-Platform» состоит в построении универсальной, устойчивой к постоянным изменениям и легко масштабируемой сервис-ориентированной архитектуры. Впоследствии на базе данной платформы реализуется весь необходимый функционал системы управления бизнес-процессами предприятия — ASys BPM.
Применение концепций SOA для подобных информационных систем позволяет решить следующие задачи:
· Сокращение издержек при разработке приложений, за счёт упорядочивания процесса разработки;
· Расширение повторного использования кода;
· Независимость от используемых платформ, инструментов, языков разработки;
· Повышение масштабируемости создаваемых систем;
· Улучшение управляемости систем.
Главное, что отличает SOA от других архитектур, это использование независимых сервисов, с чётко определёнными интерфейсами, которые, для выполнения своих задач, могут быть вызваны неким стандартным способом, при условии, что сервисы заранее ничего не знают о приложении, которое их вызывает, а приложение не знает, каким образом сервисы выполняют свою задачу.
Схема потоков данных имеет вид, представленный на рис.2. Условно эти потоки можно разделить на три группы:
· потоки обмена данными между ASys SOA—Platform и отдельными сервисами. Разрабатываемый комплекс должен передавать сервисам параметры, необходимые для их работы, и принимать результаты. Связь с Web-сервисами должна осуществляется через Интернет. Также необходимо реализовать механизм для взаимодействия системы с сервисами сторонних разработчиков путем обмена сообщениями в формате XML/SOAP. Язык XML следует выбрать из соображений универсальности, поскольку он позволяет организовывать иерархические структуры параметров любой сложности;
· потоки обмена информацией между платформой ASys SOA—Platform и хранилищами данных системы ASys BPM. В процессе работы сервисы могут запрашивать необходимую информацию из корпоративных баз данных, FTP- или Web-серверов;
· потоки обмена данными между ASys SOA-Platform и средствами пользовательского интерфейса. Пользователи могут взаимодействовать с ASys BPM посредством двух основных инструментов: ASys TSW for Windows и ASys TSW for Web. Первый представляет собой клиентское Windows-приложение, установленное на рабочем компьютере. Второй – Web-приложение для удаленной работы с системой.