В контексте архитектуры программного обеспечения , сервис-ориентации и сервисно-ориентированной архитектуры термин «услуга» относится к функциональности программного обеспечения или набору функциональных возможностей программного обеспечения (например, извлечение указанной информации или выполнение набора операций) с целью, которую разные клиенты могут повторно использовать для разных целей, вместе с политиками, которые должны контролировать ее использование (например, на основе личности клиента, запрашивающего услугу).
OASIS определяет услугу как «механизм, позволяющий получить доступ к одной или нескольким возможностям, где доступ предоставляется с использованием предписанного интерфейса и осуществляется в соответствии с ограничениями и политиками, указанными в описании услуги ». [1]
Бизнес-аналитик, эксперт по предметной области и/или команда по архитектуре предприятия сначала разработают модель обслуживания организации, определив бизнес-функции верхнего уровня. После определения бизнес-функций они далее разделяются и детализируются в службы, которые представляют собой процессы и действия, необходимые для управления активами организации в их различных состояниях. Одним из примеров является разделение бизнес-функции «Управление заказами» на такие службы, как «Создание заказа», «Выполнение заказа», «Отгрузка заказа», «Выставление счета-фактуры» и «Отмена/обновление заказа». Эти бизнес-функции должны иметь гранулярность , адекватную данному проекту и контексту предметной области.
Для сервисной инженерии можно использовать множество методов анализа и проектирования, как общецелевых, таких как OpenUP и Domain-Driven Design, так и тех, которые обсуждаются в разделе «Сервисно-ориентированное моделирование».