Процесно-орієнтоване проектування програмних комплексів як систем сервісів
Now, it is time to move to a new programming paradigm, not associated with objects and with business processes and their components-business functions. The main idea is to build an application by discovering and using services, available on the network, to perform a certain task. This approach does...
Збережено в:
| Дата: | 2016 |
|---|---|
| Автор: | |
| Формат: | Стаття |
| Мова: | Російська |
| Опубліковано: |
The National Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute"
2016
|
| Теми: | |
| Онлайн доступ: | https://journal.iasa.kpi.ua/article/view/88002 |
| Теги: |
Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
|
| Назва журналу: | System research and information technologies |
| Завантажити файл: | |
Репозитарії
System research and information technologies| _version_ | 1867334299798208512 |
|---|---|
| author | Petrenko, Anatolii I. |
| author_facet | Petrenko, Anatolii I. |
| author_institution_txt_mv | [
{
"author": "Anatolii I. Petrenko",
"institution": "Кафедра системного проектирования Учебно-научного комплекса \"Институт прикладного системного анализа\" Национального технического университета Украины \"Киевский политехнический институт\" МОН и НАН Украины, Киев, Украина"
}
] |
| author_sort | Petrenko, Anatolii I. |
| baseUrl_str | http://journal.iasa.kpi.ua/oai |
| collection | OJS |
| datestamp_date | 2018-03-30T15:25:41Z |
| description | Now, it is time to move to a new programming paradigm, not associated with objects and with business processes and their components-business functions. The main idea is to build an application by discovering and using services, available on the network, to perform a certain task. This approach does not depend on specific programming languages and operating systems, and involves the use of service-oriented architecture (SOA) applications, built on the basis of formalized business processes whose functions are represented in the form of reusable services with transparently described interfaces. The article discusses the development of systems of services for the implementation of business processes via a process-oriented business model and features of ontologies of relevant subject areas. |
| doi_str_mv | 10.20535/SRIT.2308-8893.2016.4.05 |
| first_indexed | 2025-07-17T10:22:05Z |
| format | Article |
| fulltext |
А.И. Петренко, 2016
46 ISSN 1681–6048 System Research & Information Technologies, 2016, № 4
УДК 004.942 , 004.042 , 338.46
DOI: 10.20535/SRIT.2308-8893.2016.4.05
ПРОЦЕССНО-ОРИЕНТИРОВАННОЕ ПРОЕКТИРОВАНИЕ
ПРОГРАММНЫХ КОМПЛЕКСОВ КАК СИСТЕМ СЕРВИСОВ
А.И. ПЕТРЕНКО
Аннотация. Идея перехода на новую парадигму программирования, связан-
ную не с объектами, а с бизнес-процессами и их составной частью — бизнес-
функциями, — компоновка приложений путем обнаружения и вызова серви-
сов, доступных в сети, для выполнения необходимой задачи. Этот подход не
зависит от конкретных языков программирования и операционных систем и
предполагает использование сервис-ориентированной архитектуры (SOA)
приложений, построенной на основе формализованных бизнес-процессов,
функции которых представлены в виде многократно используемых серви-
сов с прозрачно описанными интерфейсами. Рассмотрено построение систем
сервисов для реализации бизнес-процессов с помощью процессно-
ориентированных моделей функций предприятия и онтологий соответствую-
щих предметных областей.
Ключевые слова: cервис-ориентированная архитектура, семантические серви-
сы, модельно-управляемое моделирование, онтология, онтолого-управляемое
моделирование, бизнес-модель, универсальный язык моделирования UML.
ВВЕДЕНИЕ
В последнее время возникла необходимость интеграции и взаимодейст-
вия приложений в рамках совокупности большого количества информаци-
онных систем предприятия или нескольких предприятий. Наблюдаются
тенденции перехода к бизнесу реального времени и созданию систем рас-
ширенного предприятия, объединяющего само предприятие, его поставщи-
ков, партнеров и клиентов в единую систему. Поэтому требуется взаимодей-
ствие приложений как в одной информационной системе, так и между
системами отдельных участников бизнес-процесса.
Выход из создавшегося положения, активно развиваемый ведущими
поставщиками информационных технологий, такими как IBM, Microsoft,
Oracle и другими, состоит в переходе от централизованной инфраструктуры
информационных технологий и замкнутого на себе функционала приклад-
ных систем к архитектуре, обеспечивающей возможности быстрого созда-
ния новых систем из набора доступных сервисов, т.е. переходе на сервис-
ные модели взаимодействия между приложениями общей системы
в рамках сервис-ориентированной архитектуры (Service-oriented Architecture
SOA) и ее реализации с помощью модельно-ориентированных архитектур-
ных решений (Model-driven Architecture MDA).
Сервис-ориентированная архитектура (SOA) является стилем архи-
тектуры программного обеспечения, которая обеспечивает использование
информационных технологий в виде модульных бизнес-сервисов для до-
стижения конкретных бизнес-целей. Архитектура SOA — концептуальная
архитектура бизнеса, где бизнес-функциональность, или логика приложе-
Процессно-ориентированное проектирование программных комплексов как систем сервисов
Системні дослідження та інформаційні технології, 2016, № 4 47
ний, становится доступной для пользователей SOA, как и множество много-
кратно совместно используемых сервисов в ИТ-сети. Сервисы в SOA соот-
ветствуют модулям бизнес-процесса, или модулям функциональности при-
ложения с открытыми интерфейсами, вызываемыми с помощью сообщений.
Основная мотивация появления SOA — желание индустрии программиро-
вания заменить «ручное» кодирование программ «от и до» на «промыш-
ленную» сборку приложений из «стандартных комплектующих», как это
происходит в автомобильной или других «традиционных» отраслях промы-
шленности. Компоненты программы могут размещаться на различных узлах
сети и представлять собой независимые, слабосвязанные, заменяемые сер-
висы-приложения.
Для бизнеса SOA означает ускоренное удовлетворение потребностей
клиентов, реальную гибкость бизнеса, быстрое время выхода на рынок, про-
стоту сотрудничества и низкую стоимость бизнеса. Для ИТ-организаций
SOA — это повышение производительности, снижение затрат на ИТ-
решения за счет ускорения разработки приложений, повторное использо-
вание сервисов, улучшение качества приложений, и в целом быстрое реаги-
рование на запросы бизнес-клиентов для модификации системы. Дополни-
тельно к этому существует возможность использования сервисов
независимых поставщиков, что обеспечивает еще большую ценность SOA.
Более того, даже интеграцию унаследованных приложений (legacy) целесо-
образно проводить с применением данной технологии, когда определенная,
наиболее важная часть существующей функциональности как бы «инкапсу-
лируется» и обеспечивается стандартизированным интерфейсом. В случаях,
когда сервисы представляют собой реализации вычислительных процедур,
говорят о системах сервис-ориентированных вычислений SOC (Service-
orientedComputing).
Цель работы — теоретическое обоснование, разработка и развитие
сервис-ориентированной архитектуры и моделей систем сервисов для реше-
ния задачи поиска web-сервисов в репозитариях, композиции и оркестровки
сервисов и построения их рабочих потоков (workflows) для поддержки оп-
ределенных бизнес-процессов.
НАУКА О СЕРВИСАХ, МЕНЕДЖМЕНТЕ И ИНЖИНИРИНГЕ
Усилиями ведущих ИТ-компаний мира созданы методология и инструмен-
тарий проектирования сервис-ориентированных систем, наиболее полно от-
раженные в многосерийной публикации [1]. Они ориентированы на разра-
ботку приложений в основном с использованием web-сервисов (служб). Под
web-сервисами понимаются программные системы, которые используют
XML (Extensible Markup Language) в качестве формата данных, стандарты
Web Services Description Language (WSDL) для описания своих интерфей-
сов, Simple Object Access Protocol (SOAP) для описания формата принимае-
мых и посылаемых сообщений и стандарт Universal Description, Discovery
and Integration (UDDI) для создания каталогов доступных сервисов. Для
комбинирования сервисов в необходимые приложения предложены проце-
дуры хореографии и оркестровки, при этом хореография web-сервисов оп-
ределяет взаимодействие между сервисами с помощью обменных уведомле-
А.И. Петренко
ISSN 1681–6048 System Research & Information Technologies, 2016, № 4 48
ний, а оркестровка описывает взаимодействие сервисов в рамках одного
бизнес-процесса, в частности, с использованием языка типа WS-BPEL (Web
Services Business Process Execution Language). Наиболее просто бизнес-
процесс можно представить в качестве простой оркестровки web-сервисов,
которая составляет поток задач (workflows), согласно которому последова-
тельно подключаются сервисы, при этом каждый сервис следует за преды-
дущим без промедления или пробела и его действие заканчивается как раз
перед началом действия следующего сервиса [2–5].
Компанией IBM для удовлетворения потребностей сервис-ориентированного
ИТ-предприятия предложена операционная среда реализации компонентов
SOA (ODOE — On Demand Operating Environment). Приведем ее основные
составляющие [6]:
Сервисы приложений (Application Services) — все компоненты, необ-
ходимые для построения скомпонованной информационной системы.
Сервисная шина предприятия (Enterprise Service Bus — ESB) —
интеллектуальный слой для подключения информационных систем, различ-
ных данных и других сервисов, которые обычно распределены по всей ИТ
среде предприятия.
Бизнес-сервисы (Business Services) — открытая часть бизнес-
процессов и бизнес-функциональности, к которой обращаются и которая
обеспечивает реализацию заданной ценности на запрос.
Общие сервисы (Common Services) — обеспечение доставки и инди-
видуальной обработки данных, а также других утилит, таких как формиро-
вание отчетности. Эти сервисы позволяют определять и выполнять рабочие
потоки, в основном для логических сервисов бизнес-функций.
Сервисы информационного менеджмента (Business Performance
Management) — унифицированный способ представления, доступа, поддер-
жания, управления, анализа и интеграции данных и контента из гетероген-
ных информационных источников.
Сервисы инфраструктуры (Infrastructure Services) — набор независи-
мых от платформы сервисов, который позволяет всем другим сервисам быть
установленными, выполняться и контролироваться в конкретной инфра-
структуре, составленной из операционных систем и сетевых и аппаратных
систем.
Информация о наиболее известных средствах разработки сервисов при-
ведены в табл. 1. На сегодня существует ряд известных репозитариев серви-
сов общего назначения, например:
Amazon Web Service Developer Connection (http://Developer. amazonweb
services.com);
XML Web Services Repository (www.xmlwebservices.cc);
UDDI service registry (www.uddi.org);
Xmethod service registry (xmethods.net/);
IBM UDDI (http://www-306.ibm.com/software/solutions/webservices/uddi/);
Internet of Things (www.fi-ppp.eu/projects/).
Процессно-ориентированное проектирование программных комплексов как систем сервисов
Системні дослідження та інформаційні технології, 2016, № 4 49
Т а б л и ц а 1 . Наиболее известные средства разработки SOA и SOC
Средство Реализуемые функции SOA Компания Комментарий
Web-
sphere
Композиция сервисов,
их поиск и моделирование
IBM
Флагман SOА инструментария
компании IBM. Требует
значительных знаний SOА
.NET
Создание сервисов,
их обнаружение, компози-
ция, развертывание
Microsoft
Основной продукт компании
Microsoft для SOА. Основан на
системе Windows и использует
C # как основной язык
программирования
HP SOA
Center
Композиция сервисов,
моделирование, интеграция,
менеджмент
HP
Базовый SOА инструментарий
компании НР. Требует
значительных знаний SOА
Weblogic
Развертывание сервисов,
их композиция, менеджмент,
политика использования
BEA
Основной продукт компании
BEA для SOА. Предназначен
для профессионального
использования
Oracle
SOA Suite
Создание сервисов,
развертывание, композиция,
оркестровка
Oracle
Флагманский продукт Oracle для
SOА. Требует использования
высококачественных серверов,
а не настольных компьютеров
Enterprise
SOA
Создание сервисов,
развертывание,
композиция
SAP
Продукт компании SAP
интегрирован со многими из
существующих продуктов SAP.
Достаточно сложный и часто
требует, чтобы пользователь
знал о SAP продуктах
ТИПЫ СЕРВИС- ОРИЕНТИРОВАННОЙ АРХИТЕКТУРЫ
С увеличением внимания предприятий к web-основанным решениям и сер-
висам наблюдается повышение спроса на бизнес-сервисы и бизнес-
функциональность. Крайне необходимы исследования по выявлению воз-
можного выбора инвариантных сервисов для систем, которые фокусиру-
ются на человеческой деятельности (электрические сети, системы водо-
снабжения, транспортные системы, система здравоохранения, система
образования, банковско-финансовые системы, сети розничной торговли,
системы туризма, медиа и развлечений и др.). Это позволит создать репози-
тарий междисциплинарных инвариантных сервисов как строительных
блоков соответствующих систем сервисов. Объем исследований настолько
велик, что требует коллективных усилий многих партнеров и соучастников.
Такой репозитарий мог бы стать основой для создания среды знаний о
сервисах, или Service Science Knowledge Environment, которая объединит на-
учные круги, промышленность и правительство, а также другие европейские
институты. При этом первоначальные ресурсы знаний могут относиться к
различным доменным приложениям, таким как электронная администра-
ция, электронное правительство, электронное здравоохранение, производ-
ство, энергопотребление с акцентом на возможности SmartGrid сети, пе-
А.И. Петренко
ISSN 1681–6048 System Research & Information Technologies, 2016, № 4 50
редовые программные сервисы, цепочки поставок и логистики, сервисы ту-
ризма и отдыха, передовые сервисы в области телекоммуникаций. Список
сервисных секторов, обеспечивающих реальный вклад в современную эко-
номику, не ограничивается перечисленными приложениями. Умный транс-
порт, умные здания, интеллектуальное водоснабжения — это только неко-
торые дополнительные сервисные сектора возможного применения, для
которых новые сервисы могут быть задуманы и разработаны.
Web-сервисы, описанные на языке WSDL, содержат преимущественно
синтаксическую информацию, и это затрудняет организацию автоматиче-
ского поиска web-сервиса и выполнение композиции сервисов. Поэтому
(кроме введения в описания семантических аннотаций) предложено непо-
средственно использовать семантическую информацию в web-сервисах, в
результате чего появилось понятие семантических web-сервисов (SWS) со
своими языками описания, представителями которых являются OWL-S (Web
Ontology Language for Web Services) и WSMO (Web Service Modeling
Ontology). Сервисы SWS создаются на базе существующей технологии web-
сервисов для обеспечения динамического поиска сервисов, их композиции,
вызова web-сервисов. Результатом этого является возможность автоматиза-
ции процедур, которые требуют вмешательства разработчиков программно-
го обеспечения. Это может быть достигнуто использованием более точных
описаний семантических web-сервисов, которые понятны для компьютера.
SOA с помощью web-сервисов становится основой для объединения
разнородных бизнес-систем через Интернет. С помощью SOA функцио-
нальные потребности предприятия в корпоративных системах удовлетворя-
ются набором сервисов, а не отдельным приложением, что фундаментально
меняет подходы разработчиков к реализации. Конфигурация и координация
сервисов в архитектуре, основанной на сервисах, и композиция сервисов и
процессов одинаково важны в современных системах сервисов [7]. Сервисы
взаимодействуют друг с другом с помощью сообщений. Сообщение можно
осуществить с помощью шаблона «запрос–ответ», когда в определенный
момент времени только один из конкретных сервисов вызывается одним
потребителем (связь «один-к-одному», или синхронная модель); с использо-
ванием шаблона «публикация / подписка», когда на одно конкретное собы-
тие может откликнуться много сервисов (связь «один-ко-многим», или
асинхронная модель); с привлечением интеллектуальных агентов (MAS),
которые определяют координацию сервисов, поскольку каждый агент имеет
в своем распоряжении определенные знания о бизнес-процессе и может об-
мениваться этими знаниями с другими агентами.Такая система способна
сочетать качества SOС, такие как функциональная совместимость и от-
крытость, со свойствами MAS, такими как гибкость и автономия.Но
необходимы дополнительные исследования по созданию практических
механизмов для управления агентными сервисами и их коммуникации
в интернет-среде.
В ИПСА НТУУ «КПИ» исследуются гибридные сервис-ориентированные
архитетуры, управляемые событиями (EDSOA), в которых сервисы гене-
рируют события и тем самым переводят бизнес-процесс из одного состоя-
ния в другое. В свою очередь, благодаря событиям сервисы подключаются
для передачи состояния процесса и данных от одного сервиса, который об-
Процессно-ориентированное проектирование программных комплексов как систем сервисов
Системні дослідження та інформаційні технології, 2016, № 4 51
наружил и опубликовал событие, к другим сервисам, запускаемым при по-
явлении конкретных событий. Такое формирование бизнес-сервисов и биз-
нес-событий, а затем их целевая увязка для решений задач бизнеса позволя-
ют добиться стратегических преимуществ для предприятия. При этом
необходимо «накинуть» на всю программную инфраструктуру организации
«сеть» программных датчиков, программных агентов и аппаратных датчи-
ков, которые отслеживают события во всех аппаратных и программных
компонентах, а также значимые для бизнеса события и передают в центр
принятия решений сигналы, ассоциированные с этими событиями. Это по-
зволяет технологически управлять бизнесом не вслепую, а иметь четкое
представление о всем происходящем в данный момент времени на пред-
приятии.
При проектировании систем сервисов важное значение имеет зернис-
тость сервисов, т.е. уровень детализации обслуживания. Обычно исполь-
зуют модули бизнес-логики достаточно высокого уровня, благодаря чему
взаимодействие между ними сводится к ограниченному количеству сообще-
ний, при этом снижается нагрузка на сеть. Но в последнее время широкое
распространение получают микросервисы, реализующие только одиночные
функции [8].Микросервисы представляют собой бизнес-функции, а не об-
щие функции программного обеспечения, например, поиск в базе данных.
Они являются логическими компонентами, развернутыми в виде RESTful
сервисов и доступными через HTTP и URL.
РАЗРАБОТКА СИСТЕМ СЕРВИСОВ НА ОСНОВЕ ОНТОЛОГИЙ
ПРЕДМЕТНОЙ ОБЛАСТИ
В последние годы исследуется концепция разработки систем сервисов на
базе онтологий разного уровня (Domain, Application, Task Оntologies). Он-
тологии, описанные на языке OWL, — это формальное явное описание по-
нятий в данной предметной области. В центре большинства онтологий на-
ходятся классы. Например, класс Action включает все процедуры (запуск
задач, передача данных, контроль потока данных и т.д.). Конкретные проце-
дуры — это экземпляры этого класса. Класс имеет подклассы, которые со-
держат более конкретные понятия, чем сверхкласс. Слоты описывают
свойства классов и экземпляров: процедура Tаsk может содержать файл
(containsFile), создавать ресурс (createsResource) или зависеть от определен-
ных условий (hasDependency).
Слоты могут иметь различные фацеты, которые описывают тип значе-
ния, числовые значения, разрешенные пределы их изменения и др. Онтоло-
гия вместе с набором индивидуальных экземпляров классов образует базу
знаний. Но определить, где заканчивается онтология и где начинается база
знаний, трудно. Группой управления объектами OMG (Object Management
Group) [9] предложена иерархическая система уровней описания семантики
системы сервисов при ее моделировании, которая состоит из информацион-
ного уровня (М0), уровня моделей (М1), уровня метамодели (М2) и уровня
мета-метамодели (М3), который часто называют Meta Object Facility
(MOF) (см. рисунок).
Процесс проектирования системы сервисов может быть сведен к про-
цессу преобразований моделей, начиная с метамодели в качестве входных
А.И. Петренко
ISSN 1681–6048 System Research & Information Technologies, 2016, № 4 52
данных и используя набор правил преобразования [9–14]. При этом преоб-
разование само по себе является также моделью. Модели преобразования
имеют различные области применения:
– создание моделей нижнего уровня и в итоге программного кода, дви-
гаясь от моделей более высокого уровня;
– отображение и синхронизация между моделями на том же уровне или
на различных уровнях абстракции;
– создание представления о системе на базе запросов;
– эволюция задач модели, таких как рефакторинг модели, т.е. измене-
ние внутренней структуры системы с целью сделать её проще для понима-
ния и внесения дальнейших изменений, не изменяя существующей функ-
циональности;
– обратное проектирование от моделей нижнего уровня или кода до
модели более высокого уровня.
Преобразование моделей является ключевым элементом в проектиро-
вании систем сервисов для обеспечения плавного средства обработки вход-
ных онтологических моделей с целью генерирования, фильтрации и обнов-
ления целевых моделей. Языки преобразования моделей реализуют
различные типы преобразования, такие как модель-модель (ММ) или мо-
дель-код (МК). Особенностью данного подхода является то, что разработчик
большую часть времени работает не с кодом, а с моделями.
Для трансформации моделей предложен модельно-управляемый
подход (MDA). MDA использует MOF-основанные модели для создания и
манипулирования точными, подробными, компьютерно-считываемыми опи-
саниями структуры приложений, не зависящими от языков программирова-
ния, операционных систем или баз данных, которые могут быть использова-
ны для их реализации. Ключевым стандартом MDA является MOF, а не
UML, как считают до сих пор некоторые пользователи.
Подход MDA можно использовать для получения контроля и система-
тического улучшения всего жизненного цикла ИТ-решений: от моделирова-
Связь между моделями MDA и метамоделями
мета-метамоделей
Процессно-ориентированное проектирование программных комплексов как систем сервисов
Системні дослідження та інформаційні технології, 2016, № 4 53
ния общего бизнеса (содействия эффективной связи между бизнес-
аналитиками и ИT-разработчиками и выполнения конкретных требований к
решению) до разработки, внедрения, интеграции и управления многими ви-
дами программных артефактов. MDA на основе трехслойного подхода
обеспечивает такие типы моделей:
Вычислительная независимая модель CIM (Сomputing Independent
Model) — описывает систему с вычислительной независимой точки зрения,
освещая структурные аспекты системы, изменяя акцент от моделирования
домена на моделирование архитектуры.
Независимая от платформы модель PIM (Platform Independent
Model) — может рассматриваться как определение системы с точки зрения
технологии нейтральной виртуальной машины или вычислительной абст-
ракции.
Модель для конкретной платформы PSM (Platform Specific Model) —
охватывает технические концепции и сервисы, составляющие платформу
реализации. Эта модель направлена на конкретную технологию реализации
системы сервисов.
Метамодель описывает свойства и конструкции каждой из CIM, PIM и
PSM моделей точно (см. рисунок). В контексте работы выбирается плат-
форма на основе web-сервисов. Поставщик сервисов создает абстрактное
описание интерфейса сервиса, который может быть использован потенциаль-
ными пользователями сервисов для поиска и вызова этого сервиса
с помощью сообщений на основе XML. Параметры web-сервисов при обра-
щении к репозиторию, в котором потенциальные пользователи могут искать
соответствующие сервисы и протоколы для связи сервисов и их клиентов,
образуют платформу реализации как сервис-ориентированную архитектуру.
Различные типы платформы могут отличаться друг от друга. Общим
свойством платформы является ее сервис-ориентированная архитектура, а
конкретными технологиями реализации — сами web-сервисы и сервисные
механизмы (например, Apache Axis или Oracle BPEL). Метамоделирование
является одним из самых важных понятий MDA. Онтологии рассматри-
ваются как CIM модели, поэтому концептуальные модели PIM и PSM так-
же отражают семантику для данного домена приложений, соответствующую
семантике доменов реального мира (Real World) независимо от конкретных
потребностей приложений. Таким образом, онтология выступает в качестве
основы метамодели для генерирования концептуальных моделей для реали-
зации конкретных информационных систем.
Возможное слияние онтологического и MDA подходов приводит
к следующему возможному процессу разработки программного обеспечения:
– построить независимые общую (GO) и доменную (DO) онтологии.
Часть DO использовать в качестве вычислительной независимой модели
(CIM);
– преобразовать CIM в независимую от платформы модель (PIM);
– преобразовать PIM в модель конкретной платформы (PSM) и арте-
факт зависимых моделей (например, модель схемы базы данных); опреде-
лить методику сравнения и поиска сервисов;
– превратить части онтологий DO и GО в онтологию контекста (CO);
– применить преобразования PSM в коды приложений и программных
артефактов [15].
А.И. Петренко
ISSN 1681–6048 System Research & Information Technologies, 2016, № 4 54
При создании модели конкретной платформы (PSM) осуществляется
поиск необходимых сервисов [16, 17] в сети, при этом используются онто-
логии для повышения точности поиска сервиса и открытие такого сервиса, в
котором упоминается в точности искомое понятие, а не произвольных сер-
висов, в описаниях которых встретилось заданное ключевое слово. Извест-
но, что в различных предметных областях одни и те же понятия могут быть
представлены различными терминами. Механизм онтологии в этих случаях
позволяет формировать осмысленные иерархические взаимосвязи между
сервисами, т.е. реализовать композицию сервисов, способную удовлетво-
рить запрос пользователя, хотя в ее описании может не быть некоторых
ключевых слов из входного запроса.
Рассмотренный подход к проектированию систем сервисов хорошо
адаптируется к особенностям современных распределенных вычислительных
сред (типа мультиоблака или грид), когда web-сервисы находятся в различ-
ных географически разделенных репозитариях (возможно, что в нескольких
эквивалентных вариантах реализации), а их композиции в виде созданных
приложений выполняются на различных вычислительных узлах среды, ре-
сурсы которых освободились к моменту начала выполнения очередного
сервиса композиции. В результате реализованное приложение имеет
динамически изменяемую архитектуру и переменный компонентный
состав.
ОСОБЕННОСТИ ПРОЦЕССНО-ОРИЕНТИРОВАННОГО
ПРОЕКТИРОВАНИЯ
Применительно к разработке программных приложений особенности про-
цессно-ориентированного проектирования обобщены в табл. 2
Т а б л и ц а 2 . Сравнение различных подходов к разработке программного
обеспечения
№
п/п
Объектно-ориентированный Процессно-ориентированный
1 ОТВЕСТВЕННЫЕ ИСПОЛНИТЕЛИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Разработчики
программного обеспечения,
большую часть времени
работающие с кодом
Архитекторы
программного обеспечения,
большую часть времени
работающие совместно с экспертами
предметной области
с онкологиями и моделями
2 ЭТАП АНАЛИЗА ТЕХНИЧЕСКОГО ЗАДАНИЯ
Требования приведены
на естественном языке
для системных аналитиков,
которые преобразовывают
их технические характеристики
для разработчиков
Анализ домена выполнен поставщиками
сервисов, что позволяет разработчикам
приложений сосредоточиться
только на поиске и комбинировании
сервисов, которые отвечают бизнес-
техническим характеристикам
Процессно-ориентированное проектирование программных комплексов как систем сервисов
Системні дослідження та інформаційні технології, 2016, № 4 55
Продолжение табл. 2
3 ЭТАП ПРОЕКТИРОВАНИЯ
Уточнение структуры классов,
проектирование архитектуры системы
(структуры компонентов и модулей),
выбор строительных блоков.
Обновление их с учетом технических
изменений является сложной задачей
Выбор или построение онтологии
прикладного домена
и проектируемого приложения,
выбор репозитария сервисов
4 ЭТАП РЕАЛИЗАЦИИ
Кодирование на конкретном языке
программирования (Java, C ++, C # ).
Разработка выполняется одной
(виртуальной или физической)
командой, которая создает функции,
классы, модули
Модели сервисов представлены в ма-
шиночитаемой форме, что позволяют
разработчикам сервисов автоматически
перевести их в исполняемый код
(CIM-> PIM -> PSM->UML).Новые
сервисы динамически создаются
с использованием существующих
5 ЭТАП ТЕСТИРОВАНИЯ И ПОДДЕРЖКИ
Тестирование обычно проводится тес-
теровщиками в той же организации на
основе исходного кода
и функциональных спецификаций.
Тестовые сценарии определяются раз-
работчиками / тестеровщиками
Тестирование разделяется между по-
ставщиком сервисов, брокером и клиен-
том без взаимодействия между ними.
Сервисы могут быть проверены до их
регистрации и использования.
Тестовые сценарии могут быть автома-
тически сгенерированы на месте совме-
стно брокером и клиентом на основе
сервисных метаданных и спецификаций
6 ОБЩИЕ ХАРАКТЕРИСТИКИ РЕШЕНИЙ
Проектно-зависимые решения,
которые трудно использовать
повторно, с относительно
краткосрочным изолированным
применением в выбранном домене
Кросс-проектные решения, обслужи-
вающие несколько доменов
и предназначенные для повторного
долгосрочного совместного
использования многими проектантами
и организациями
ВЫВОДЫ
Ориентация мировой экономики на индустрию сервисов, появление меж-
дисциплинарной науки о сервисах, распространение сервисных подходов на
технические системы (в частности, структуры программного обеспечения)
мотивируют экономистов, социологов, математиков, программистов и зако-
нодателей сотрудничать для достижения очень важной цели: анализа, по-
строения, управления и развития сложных систем сервисов. Главная задача
состоит в выявлении логики сложных систем сервисов и внедрении общей
методологии их моделирования. Решение этой задачи требует специалистов
нового типа — сервисных специалистов, о которых в Украине почти ничего
неизвестно [17]. Для ее решения в 2015 г. в ИПСА НТУУ «КПИ» введена
специализация «Системное проектирование сервисов» в рамках новой спе-
циальности 122 «Компьютерные науки и информационные технологии».
Наука о сервисах (которая развивается довольно активно) имеет несомнен-
ные междисциплинарные признаки с долгосрочной целью стать действи-
тельно междисциплинарной отраслью.
А.И. Петренко
ISSN 1681–6048 System Research & Information Technologies, 2016, № 4 56
ЛИТЕРАТУРА
1. Jürgen Kress. Industrial SOA / Jürgen Kress, Berthold Maier, Hajo Normann,
Danilo Schmeidel, Guido Schmutz, Bernd Trops, Clemens Utschig-Utschig, Tor-
sten Winterberg. — Available at: http://www.oracle.com/technetwork/ arti-
cles/soa/ind-soa-toc- 1934143.html.
2. Handbook of Service Science. Service Science: Research and Innovations in the Ser-
vice Economy / P. Maglio, C.A. Kieliszewski, J. Spohrer // Springer, New York,
2010.
3. Service Systems Implementation. Service Science: Research and Innovations in the
Service Economy / H. Demirkan, J. Spohrer, V. Krishna // Springer, New York,
2011.
4. Services Science: Fundamentals, Challenges and Future Developments / B. Stauss,
K. Engelmann, A. Kremer, A. Luhn // Springer, Berlin, 2007.
5. Петренко А.А. Объекты и методы науки о сервисах / А.А. Петренко // Системні
дослідження та інформаційні технології. — 2015. — № 2. — С. 75–82.
6. Succeeding through service innovation: A service perspective for education, re-
search, business and government, ISBN: 978-1-902546-65-0. // University of
Cambridge Institute for Manufacturing (IfM) and International Business Ma-
chines Corporation (IBM), April 2008. — 30 p.
7. Петренко О.О. Порівняння типів архітектури систем сервісів / О.О. Петренко //
Системні дослідження та інформаційні технології. — 2015. — № 4. — С. 48–62.
8. Newman Sam. Building Microservices: Designing Fine-Grained Systems / Sam
Newman // O’REILLY, 2014. — 182 p.
9. World Wide Web Consortium. Web Services Architecture. — Available at:
http://www.w3.org/TR/ws-arch, 2006.
10. Valiente María-Cruz. An Ontology-Based and Model-Driven Approach for Design-
ing IT Service Management Systems / María-Cruz Valiente, Cristina Vicente-
Chicote, Daniel Rodríguez // International Journal of Service Science, Manage-
ment, Engineering, and Technology, 2(2), 65–81, April-June 2011.
11. Alahmari S. A Model-Driven Architecture Approach to the Efficient Identification
of Services on Service-oriented Enterprise Architecture / S. Alahmari, D. De
Roure, Ed. Zaluska // At The Second Workshop on Service oriented Enterprise
Architecture for Enterprise Engineering in conjunction with the 14th IEEE Inter-
national Enterprise Distributed Object Computing Conference, Vitória, Brazil, 2010.
12. Pahl Claus. Semantic Model-Driven Architecting of Service-based Software Sys-
tems / Claus Pahl. — Available at: http://ceur-ws.org/Vol-244/paper3.pdf
13. Pahl C. An Ontology for Software Component Matching / C. Pahl // International
Journal on Software Tools for Technology Transfer, Special Edition on Compo-
nent-based Systems Engineering. — 2006. — № 7. — Р. 1–10.
14. Петренко А.А. Семантическое модельно-управляемое моделирование архитек-
туры системы сервисов на основе доменных онтологий / А.А. Петренко,
А.И. Петренко // Electronic Modeling. 2016. — 38, —№ 5. — ISSN 0204–3572.
15. Kalyanpur A. Automatic mapping of OWL ontologies into Java / A. Kalyanpur,
D. Pastor, S. Battle, J. Padget // Proceedings of the International Conference on
Software Engineering &Knowledge Engineering (SEKE), 2004.
16. Петренко І.А. Автоматизованіметодипошукуівідкриттянеобхіднихсервісів /
І.А. Петренко, О.О. Петренко // Вісник Університету «Україна». Серія
«Інформатика, обчислювальна техніка та кібернетика». — 2015. — №1 (17).
— С. 55–64.
17. Андон П. Роль семантики в интеграции приложений на основе веб-сервисов /
П. Андон, В. Дерецький // Проблеми програмування. — 2010. — № 2–3.
Спец. вип. — С. 469–478.
18. Петренко О.О. Підготовка кадрів для індустрії сервісів / О.О. Петренко // In-
formation Technologies in Education. — 2015. — № 22. — С. 158–164. —
DOI: 10.14308/ite000528
Поступила 28.10.2016
|
| id | journaliasakpiua-article-88002 |
| institution | System research and information technologies |
| keywords_txt_mv | keywords |
| language | Russian |
| last_indexed | 2025-07-17T10:22:05Z |
| publishDate | 2016 |
| publisher | The National Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute" |
| record_format | ojs |
| resource_txt_mv | journaliasakpiua/5e/4eee1e0d4ac4b1d2d61ff12fd19a505e.pdf |
| spelling | journaliasakpiua-article-880022018-03-30T15:25:41Z Process-oriented design of software systems as a system service Процессно-ориентированное проектирование программных комплексов как систем сервисов Процесно-орієнтоване проектування програмних комплексів як систем сервісів Petrenko, Anatolii I. Service-oriented architecture semantic services model-driven modeling ontology ontology-driven modeling business model Сomputing Independent Model CIM Platform Independent Model PIM Platform Specific Model PSM model-model and model-code transformation Сервис-ориентированная архитектура семантические сервисы модельно-управляемое моделирование онтология онтолого-управляемое моделирование бизнес-модель вычислительная независимая модель CIM независимая от платформы модель PIM модель для конкретной платформ Сервіс-орієнтована архітектура семантичні сервіси модельно-кероване моделювання онтологія онтолого-кероване моделювання бізнес-модель обчислювальна незалежна модель CIM незалежна від платформи модель PIM модель для конкретної платформи PSM Now, it is time to move to a new programming paradigm, not associated with objects and with business processes and their components-business functions. The main idea is to build an application by discovering and using services, available on the network, to perform a certain task. This approach does not depend on specific programming languages and operating systems, and involves the use of service-oriented architecture (SOA) applications, built on the basis of formalized business processes whose functions are represented in the form of reusable services with transparently described interfaces. The article discusses the development of systems of services for the implementation of business processes via a process-oriented business model and features of ontologies of relevant subject areas. Идея перехода на новую парадигму программирования, связанную не с объектами, а с бизнес-процессами и их составной частью — бизнес-функциями, — компоновка приложений путем обнаружения и вызова сервисов, доступных в сети, для выполнения необходимой задачи. Этот подход не зависит от конкретных языков программирования и операционных систем и предполагает использование сервис-ориентированной архитектуры (SOA) приложений, построенной на основе формализованных бизнес-процессов, функции которых представлены в виде многократно используемых сервисов с прозрачно описанными интерфейсами. Рассмотрено построение систем сервисов для реализации бизнес-процессов с помощью процессно-ориентированных моделей функций предприятия и онтологий соответствующих предметных областей. Ідея переходу на нову парадигму програмування, пов’язану не з об’єктами, а з бізнес-процесами і їх складовою частиною — бізнес-функціями, — це компонування додатків через виявлення і виклик сервісів, доступних у мережі, для виконання певного завдання. Цей підхід не залежить від конкретних мов програмування і операційних систем і передбачає використання сервіс-орієнтованої архітектури (SOA) додатків, побудованої на основі формалізованих бізнес-процесів, функції яких подані у вигляді багаторазово використовуваних сервісів з прозоро описаними інтерфейсами. Розглянуто побудову систем сервісів для реалізації бізнес-процесів за допомогою процесно-орієнтованих моделей функцій підприємства і онтологій відповідних предметних областей. The National Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute" 2016-12-15 Article Article application/pdf https://journal.iasa.kpi.ua/article/view/88002 10.20535/SRIT.2308-8893.2016.4.05 System research and information technologies; No. 4 (2016); 46-56 Системные исследования и информационные технологии; № 4 (2016); 46-56 Системні дослідження та інформаційні технології; № 4 (2016); 46-56 2308-8893 1681-6048 ru https://journal.iasa.kpi.ua/article/view/88002/83752 Copyright (c) 2021 System research and information technologies |
| spellingShingle | Сервіс-орієнтована архітектура семантичні сервіси модельно-кероване моделювання онтологія онтолого-кероване моделювання бізнес-модель обчислювальна незалежна модель CIM незалежна від платформи модель PIM модель для конкретної платформи PSM Petrenko, Anatolii I. Процесно-орієнтоване проектування програмних комплексів як систем сервісів |
| title | Процесно-орієнтоване проектування програмних комплексів як систем сервісів |
| title_alt | Process-oriented design of software systems as a system service Процессно-ориентированное проектирование программных комплексов как систем сервисов |
| title_full | Процесно-орієнтоване проектування програмних комплексів як систем сервісів |
| title_fullStr | Процесно-орієнтоване проектування програмних комплексів як систем сервісів |
| title_full_unstemmed | Процесно-орієнтоване проектування програмних комплексів як систем сервісів |
| title_short | Процесно-орієнтоване проектування програмних комплексів як систем сервісів |
| title_sort | процесно-орієнтоване проектування програмних комплексів як систем сервісів |
| topic | Сервіс-орієнтована архітектура семантичні сервіси модельно-кероване моделювання онтологія онтолого-кероване моделювання бізнес-модель обчислювальна незалежна модель CIM незалежна від платформи модель PIM модель для конкретної платформи PSM |
| topic_facet | Service-oriented architecture semantic services model-driven modeling ontology ontology-driven modeling business model Сomputing Independent Model CIM Platform Independent Model PIM Platform Specific Model PSM model-model and model-code transformation Сервис-ориентированная архитектура семантические сервисы модельно-управляемое моделирование онтология онтолого-управляемое моделирование бизнес-модель вычислительная независимая модель CIM независимая от платформы модель PIM модель для конкретной платформ Сервіс-орієнтована архітектура семантичні сервіси модельно-кероване моделювання онтологія онтолого-кероване моделювання бізнес-модель обчислювальна незалежна модель CIM незалежна від платформи модель PIM модель для конкретної платформи PSM |
| url | https://journal.iasa.kpi.ua/article/view/88002 |
| work_keys_str_mv | AT petrenkoanatoliii processorienteddesignofsoftwaresystemsasasystemservice AT petrenkoanatoliii processnoorientirovannoeproektirovanieprogrammnyhkompleksovkaksistemservisov AT petrenkoanatoliii procesnooríêntovaneproektuvannâprogramnihkompleksívâksistemservísív |