Одной из главных проблем, возникающих при разработке программных систем, является их сложность, что влечет за собой появление большого количества кода, который достаточно сложно тестировать, модифицировать и сопровождать. В настоящее время одним из направлений, позволяющих решить данную проблему, является сервисно-ориентированная архитектура (СОА). Основой СОА является сервис - набор логически связанных функций, которые имеют определенные согласно некоторым общим правилам интерфейсы и механизм взаимодействия между собой. Реализация данной архитектуры может быть осуществлена с помощью средств метапрограммирования.
Технология метапрограммирования на основе web-сервисов позволяет упростить процесс разработки программного обеспечения за счет использования средств генерации кода, что значительно сокращает количество используемых операторов. При этом повышается качество и чистота кода, а также снижается влияние человеческого фактора на процесс разработки программного обеспечения. В связи с этим для повышения эффективности проектирования и реализации крупных масштабируемых программных систем необходимо разработать технологию метапрограммирования на основе web-сервисов.
В соответствии с предлагаемой технологией информационная система представляется в виде множества сервисов, объединенных между собой определенными видами связей. Исходя из иерархического представления системы, формируют отношения между сервисами, полученные в процессе проектирования системы.
В этом случае логика функционирования разрабатываемого программного продукта может быть представлена в виде орграфа. Такая модель позволяет построить последовательность выполнения отдельных сервисов для получения требуемой функциональности программной системы.
На основе полученной графовой модели может быть построена управляющая таблица конечного автомата, который реализует взаимодействие web-сервисов в программном продукте. Функция переходов задается с помощью графа, определяющего их связность.
Таким образом, логика функционирования программной системы может быть формализована в виде математической модели, основанной на теории множеств. Предложенный гибридный вариант использования web-сервисов позволяет расширить функциональность разрабатываемых систем, осуществить их интеграцию и снизить затраты времени на кодирование.
Разработанная в соответствии с предложенной технологией модель, основанная на применении web-сервисов, позволяет повысить эффективность создания информационных систем, используемых в различных областях деятельности, за счет адаптивного использования web-сервисов в процессе выполнения программы.
Источник графики: http://ezarabotok.info/