Service Oriented Architecture (SOA)

Service Oriented Architecture (SOA) - технология разработки распределенных систем, функциональность которых обеспечивается с помощью сервисов (служб). Службы взаимодействуют между собой посредством сообщений и реализуют бизнес-функции и правила, описанные их контрактом (интерфейсом). W3C определяет SOA как набор компонент, которые могут быть вызваны, и чье описание может быть опубликовано и найдено.
Службы предоставляют доступ к данным, бизнес-процессам и другим информационным системам. Вызов служб может быть как синхронным, так и асинхронным. SOA-системы обычно разрабатываются на основе web-служб и, поэтому, могут быть использованы в гетерогенных системам, состоящих из большого числа приложений, работающих на различных платформах и созданных с помощью разных языков программирования. Однако для реализации SOA web-службы не обязательны, как и любая система, построенная на основе web-служб, не обязательно соответствует SOA. SOA система может быть построена и на применении COM/DCOM, EJB, CORBA. Преимуществом web-служб является то, что они основаны на открытых стандартах технологий (XML, SOAP, UDDI, WS-*), которые реализованы на многих платформах.

Кроме технологического аспекта SOA содержит стратегии, методы и платформы приложений, с помощью которых создаются, работают и вызываются службы. Примером такой платформы приложений может служить .NET Framework компании Microsoft. Web-службы в .NET Framework являются частью платформы для разработки web-приложений ASP.NET.

Основными выгодами от использования SOA являются:

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

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

Сами службы состоят из интерфейса и реализации этого интерфейса. Интерфейс предоставляет метаданные о службе, данные для идентификации службы и описание входных/выходных параметров методов службы. Реализация интерфейса для клиента службы представляет собой "черный ящик".

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

Брокером в случае использования web-служб может быть UDDI-сервер, содержащий регистр служб, или собственное решение, использующее расширения WSE.

Службы можно условно поделить на пять типов:

  • службы доступа к данным, предоставляющие чтение и изменение данных. Они скрывают реализацию доступа к реальным источникам данных и предоставляют единый унифицированный интерфейс для доступа к данным вне зависимости от количества и вида используемых источников данных. Для обмена данными могут использоваться специально созданные сущностные объекты, XML данные или же объекты, инкапсулирующие таблицы БД (например, объекты DataSet платформы .NET). Этот вид служб SOA самый легкий в реализации и чаще всего используется в приложениях
  • бизнес службы содержат функциональность, используемую для выполнения различных бизнес-операций (например, оформление заявки на слад или формирование отчета по уровню продаж). В ходе выполнения бизнес-операций обычно вызываются методы других служб (к примеру, служб доступа к данным для получения списка проданных товаров за последнюю неделю)
  • компоненты внешних приложений, вызываемые через их собственные интерфейсы (например, COM или DCOM). Примером такого приложения может быть CRM система, хранящая данные о покупателях и предоставляющая доступ к этим данным через COM
  • низкоуровневые вспомогательные службы отвечают за аутентификацию и авторизацию, мониторинг, поиск служб, регистрацию ошибок, вспомогательные функции, используемые в других службах. Часто их называют общие службы (common services) или службы инфраструктуры предприятия (interprise infrastructure services)
  • составные службы, делегирующие работу остальным типам служб и координирующие их действия. Они интегрируют остальные службы системы и выполняют контроль за транзакциями и преобразование потока данных от одних служб к другим путем конвертации в нужные форматы

Инлайн разрабатывает SOA-системы на основе платформы Microsoft .NET Framework и web-служб. Наши разработчики прошли сертификацию Microsoft по разработке компонентных приложений и web-служб, а использование UML для моделирования и анализа бизнес-процессов и методов автоматического тестирования существенно снижают риски при разработке таких систем.

Пишите:
Microsoft Partner
© 2012 г. ООО "Инлайн", Все права защищены.
главная       |        разработка сайтов        |        microsoft asp.net        |        blog        |        twitter        |        телефон и схема проезда

Добавить в закладки |