Облегченная сервис-ориентированная архитектура: обзор шаблонов и принципов нового поколения решений SOA

Хесус Родригес (Jesus Rodriguez),
компания Tellago, Inc.

Дон Демсак (Don Demsak),
компания Tellago, Inc.

Декабрь 2009 г.

Краткое содержание.

В статье освещены некоторые наиболее часто встречающиеся проблемы традиционных сервис-ориентированных архитектур (service-oriented architec­tures, SOA), обсуждается решение этих проблем – с помощью более масштабируемых, функционально совместимых и гибких альтернатив, которые называются облеченными сервис-ориентированными архитектурами.

Введение

В течение последних нескольких лет мы постоянно сталкивались с тем, что при традиционном подходе к сервис-ориентированной архитектуре  не удавалось создать ценность для бизнеса и привнести гибкость — ключевые элементы ценностного предложения SOA. Возможно, причины этому можно отыскать в излишней объективной сложности традиционных техник SOA, в частности, протоколов SOAP, WS-* или корпоративных сервисных шин (ESB). Следовательно, альтернативные облегченные реализации SOA, поддерживаемые такими стилями архитектуры, как передача состояния представления (Representational State Transfer, REST) и веб-ориентированной архитектурой (Web-Oriented Architectures, WOA), постепенно оказываются более гибкими, чем традиционный подход SOA.

SOA: архитектура без ограничений

Последние несколько лет SOA являлась краеугольным камнем распределенных систем. По сути, заявленным фундаментальным преимуществом SOA было содействие гибкости ИТ за счет реализации возможностей бизнеса c помощью функционально совместимых интерфейсов, которые можно компоновать между собой для создания новых возможностей бизнеса. С архитектурной точки зрения, традиционные сервис-ориен­тированные системы обладают следующим набором характеристик:

  • Использование преимуществ протокола SOAP и языка WSDL как основных стандартов интерфейсов служб.
  • Использование протоколов WS-* для реализации критически важных возмож­ностей корпоративных служб.
  • Внедрение централизованной корпоративной сервисной шины (Enterprise Service Bus, ESB) для абстрагирования различных оркестровок служб.
  • Использование сервера интеграции для реализации сложных бизнес-процессов.
  • Использование инструмента управления SOA для менеджмента всей SOA в целом.

Довольно просто, не правда ли? Идеальная инфраструктура SOA должна напоминать изображенную на рисунке 1.

Рисунок 1. Идеальная SOA

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

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

Из языка Ruby on Rails мы узнали мантру «соглашения по конфигурации» (“convention over configuration”) или «сущность против формальности» (“essence vs. ceremony”). Если устранить настройки и придерживаться соглашений (то есть стандартных способов выполнения действий), то можно устранить лишние уровни абстракции и тем самым избавиться от ненужной сложности систем. Используйте параметры, когда это необходимо, но не предоставляйте их только для того, чтобы обеспечить настройки, которые почти не будут использоваться.

Мы не приводим в данной статье подробный анализ неудачных инициатив по внедрению SOA, однако считаем, что следует указать на некоторые факторы, которые следует принимать во внимание разработчикам при реализации крупных решений SOA. Учитывая объем статьи, мы решили сосредоточить внимание на следующих темах:

  • Протокол SOAP и абстракция транспортов
  • Неверная работа с языками описания
  • Сложность ESB
  • Функциональная совместимость протоколов WS-*
  • Управление SOA

Ниже мы рассмотрим каждую из этих тем подробнее и исследуем альтернативные стили архитектуры, с помощью которых разработчики смогут реализовывать более надежные решения SOA.

Протокол SOAP и иллюзия абстракции транспортов

Текущее поколение решений SOA сформировалось вокруг концепций протокола Simple Object Access Protocol (SOAP). Этот протокол изначально был спроектирован для абстрагирования служб от транспортных протоколов более низкого уровня. На концептуальном уровне службы SOAP могут быть размещены с использованием различных транспортных протоколов, например HTTP и MSMQ. Несмотря на то что в теории идея выглядит прекрасно, на практике мы увидели, что отсутствие зависимости SOAP от транспорта обходится дорогой ценой. И эту цену можно снизить, если вам не требуется подобное отсутствие зависимости. Одно из лучших примеров ограничений, которое накладывает отсутствие зависимости от транспорта, – использование протокола HTTP с конечными точками служб, основанных на SOAP.

Подавляющее большинство служб, основанных на SOAP, используют протокол HTTP в качестве транспортного протокола. Однако привязка HTTP в SOA задействует лишь малую часть спецификации HTTP, а именно метод POST и несколько заголовков. В результате службы SOAP, основанные на HTTP, не используют все преимущества протокола HTTP, благодаря которым он стал одним из наиболее популярных и масштабируемых транспортных протоколов за всю историю компьютерных систем.

Одним из действительно положительных аспектов SOAP является использование XML, благодаря чему функциональная совместимость распределенных приложений существенно возросла. Однако мы все можем согласиться с тем, что протокол SOAP не соответствует изначально возложенным на него ожиданиям. Ситуация выглядит так: протокол SOAP создавался как простой протокол доступа к объектам (Simple Object Access Protocol), но, как мы успели убедиться, он не прост, не ориентирован на доступ к объектам и, возможно, не является протоколом.

Неверное использование языка WSDL

Язык описания веб-служб (WSDL) – одна из основных спецификаций в портфеле SOA. Цель WSDL – описать возможности службы, в частности сообщения, которые могут отправляться и получаться службой, или способ кодирования этих сообщений с помощью протокола SOAP. На концептуальном уровне WSDL представляет эволюцию языков описания предыдущего поколения, например языка описания интерфейсов (IDL), который был ядром таких технологий распределенного программирования, как COM и CORBA. Следуя аналогичному шаблону, язык WSDL быстро стал крайне важным артефактом, используемым клиентскими приложениями для генерации «прокси»-представлений, с помощью которых абстрагируется обмен данными со службой.

Несомненно, идея генерировать прокси-артефакты, основанные на языке описания веб-служб (WSDL), может облегчить взаимодействие клиента и службы в очень простых средах. Фундаментальная проблема этого подхода, равно как и его предшественников, заключается в том, что он вводит уровень связывания между клиентом и службой. В крупных сценариях SOA, с участием сотен служб и клиентов, подобный уровень зависимости между клиентом и службой обычно порождает серьезные проблемы с управлением службами и их версиями, что продемонстрировано на рисунке 2.

Рисунок 2. Зависимость WSDL – серьезная проблема в крупных реализациях SOA

Использовать ESB или нет?

Поддержка беспроблемной интеграции разнородных специализированных бизнес-систем (LOB) как части бизнес-процессов была заявлена в числе особенностей будущих корпоративных сервис-ориентированных систем. Эта интеграция обычно обеспечивается благодаря набору общих шаблонов, составляющих основу того, что в индустрии ПО считалось одной из основ SOA: корпоративной сервисной шиной (ESB).

Хотя и не существует формальных отраслевых стандартов, определяющих ESB, мы можем обнаружить по меньшей мере несколько общих черт разных продуктов ESB. Как правило, ESB абстрагирует набор фундаментальных возможностей, в частности сопоставление протоколов, хореографию служб, адаптеры бизнес-приложений, распределение, преобразования сообщений, а также срок их действия. Теоретически мы можем использовать эту сложную функциональную возможность, чтобы абстраги­ровать обмен данными между службами и системой, тем самым сделав ESB основой предприятия, как показано на рисунке 3.

Рисунок 3. Центральная корпоративная сервисная шина

Нам, как архитекторам, должна безоговорочно понравитьсядиаграмма, представленная на рисунке 3. Несомненно, это идеальная модель, где сообщения отправляются централь­ному сервис-брокеру, а от него распределяются конечным службам. К сожалению, при работе с крупной SOA мы с большой долей вероятности обнаружим, что архитектура с центральной сервисной шиной вводит серьезные ограничения в таких аспектах, как управление, производительность и масштабируемость, поскольку вся инфраструктура интеграции действует в рамках проприетарной платформы. ESB из помощника может превратиться в проблему, ведущую к ухудшению гибкости, управляемости и масштаби­руемости SOA. Следовательно, нам придется начать создавать приложения, которые не полностью используют преимущества ESB, и архитектура вскоре будет напоминать изображенную на рисунке 4.

Рисунок 4. Реальная ситуация с ESB на крупном предприятии


Неприятности с WS-*

После того как появилась первая волна спецификаций SOA, отдельные поставщики технологий начали предпринимать совместные усилия по встраиванию в модель SOAP/WSDL некоторых ключевых возможностей предприятия: безопасности, надежного обмена сообщениями и транзакций. Результатом этих усилий стала серия спецификаций, в частности WS-Security, WS-Trust и WS-ReliableMessaging, которые в индустрии ПО известны как протоколы WS-*. Спецификации WS-*, обладающие несомненной академической ценностью, не получили широкого применения в разнородных средах.

Ограниченное применение WS-* на предприятии может в конечном итоге рассматри­ваться как следствие крайне большого числа спецификаций WS-*, разработанных за последние несколько лет. В настоящее время существует более ста версий протоколов WS-*, из которых лишь немногие были реально использованы в решениях SOA. Функциональная совместимость пока что является наиболее проблемной частью решений, основанных на WS-*, поскольку в различных наборах инструментов для веб-служб порой реализованы разные протоколы WS-*, разные версии одних и тех же протоколов либо же разные аспекты одной и той же спецификации. Помимо этого, реализация WS-* в основном была ограничена экосистемами .NET и Java, ввиду чего использование преимуществ развивающихся динамических языков в решениях SOA совершенно нецелесообразно (см. рисунок 5).

Рисунок 5. Проблемы с функциональной совместимостью WS-*

Управление SOA или диктат SOA?

Управление и управляемость должны стать центральной частью каждой SOA средних и крупных размеров. Мы по-прежнему реализуем возможности бизнеса посредством служб, но важно рассмотреть такие вопросы, как управление версиями служб, их развертывание, отслеживание и управление ими. Этот набор функциональных возможностей стал обыденным для платформ управления SOA, которые традиционно развивались на основе концепций, представленных в спецификации универсального обнаружения, описания и интеграции (UDDI).

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

В технологиях управления SOA эти ограничения традиционно можно было обойти за счет использования централизованной модели, при которой службы виртуализуются в среде размещения, а политики применяются централизованно. Несомненно, подобную модель можно применять в средах небольшого размера, однако она представляет серьезные ограничения по функциональной совместимости, производительности и масштаби­руемости (см. рисунок 6).

Рисунок 6. Централизованные модели управления SOA – в крупных реализациях нецелесообразны

Введение в облегченную сервис-ориентированную архитектуру

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

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

В оставшихся разделах статьи мы представим некоторые шаблоны и архитектурные методики, с помощью которых, по нашему мнению, можно решить некоторые проблемы, описанные выше. В основном мы сосредоточим внимание на следующих аспектах:

  • Использование служб, соответствующих ограничениям REST
  • Функциональная совместимость протоколов WS-*
  • Федеративная ESB
  • Облегченное управление SOA
  • Использование облачных вычислений

Использование Интернета: службы, соответствующие ограничениям REST

В предыдущих разделах мы рассказали о некоторых ограничения базовых блоков, из которых строятся традиционные системы SOA, в частности, речь идет об XML, SOAP, WSDL и протоколах WS-*. Несмотря на то что веб-службы не зависят от транспортов, подавляющее большинство реализаций используют HTTP в качестве базового протокола. Эти службы, применяющие HTTP, должны (как минимум в теории) работать аналогично веб-системам. Тем не менее различные уровни абстракции, выстроенные нами поверх протокола HTTP, не позволяют этим службам полностью использовать возможности Интернета.

Чтобы решить некоторые проблемы, в технологиях SOA начали применять стили архитектуры, более удобные для работы с Интернетом, в частности REST. REST описан в кандидатской диссертации Роя Томаса Филдинга (Roy Thomas Fielding), где указаны принципы, благодаря которым Интернет стал самой масштабируемой и функционально совместимой системой за всю историю программного обеспечения. По сути, системы, использующие REST, моделируются в виде ресурсов. Их адрес указывается в виде URI и доступ к ним можно получить посредством взаимодействий по HTTP, не содержащих сведения о состоянии. Следуя принципам REST, мы можем спроектировать архитектуру высокомасштабируемых служб, которые действительно используют преимущества принципов, на которых основан Интернет.

Несомненно, стиль REST стал крайне привлекательной альтернативой веб-службам, основанным на SOAP/WS-*. Использование REST позволяет устранить некоторые ограничения традиционных веб-служб, в частности, проблемы с функциональной совместимостью и масштабируемостью.

Ниже перечислены возможности служб, соответствующих ограничениям REST:

  • Ресурсы, доступные по URI
  • Взаимодействия, основанные на HTTP
  • Функциональная совместимость
  • Взаимодействия, не зависящие от состояния
  • Использование форматов синдикации
  • Множественное представление ресурсов
  • Отношения, основанные на ссылках
  • Масштабируемость
  • Кэширование
  • Стандартные методы

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

Функциональная совместимость протоколов WS-*

Несмотря на значительный объем исследовательской работы, на котором основано семейство протоколов WS-*, можно согласиться, что их применение и получаемые в результате преимущества не соответствуют изначальным ожиданиям. Функциональная совместимость и сложность остаются серьезными проблемами, с которыми мы сталки­ваемся при использовании протоколов WS-* на предприятии.

Если говорить о функциональной совместимости протоколов WS-*, то, несомненно, лучшей из передовых практик является определение возможностей потенциальных потребителей наших служб. На основе этого мы можем определить, какие протоколы WS‑* лучше всего подходят к нашим конкретным сценариям. В крайне разнородных средах следует рассмотреть реализацию разных конечных точек службы, которые поддерживали бы разные возможности WS-*. Подобный подход может значительно повысить функциональную совместимость служб, учитывая, что различные клиенты смогут взаимодействовать с наиболее совместимой для них конечной точкой службы.

Рассмотрим в качестве примера сценарий, обеспечивающий безопасность веб-службы, которую будут использовать клиенты, реализованные на .NET, Sun Metro, Oracle WebLogic и Ruby. В этом сценарии мы можем реализовать три конечные точки службы с различными настройками безопасности, основанными на возможностях клиентов, что показано на рисунке 7.

Рисунок 7. Шаблон множественных конечных точек службы

Даже в сценариях, где решено использовать протоколы WS-*, методика, показанная на рисунке 7, помогает улучшить функциональную совместимость путем создания различных конечных точек, каждая из которых удовлетворяет требованиям к функцио­нальной совместимости, выдвигаемым различными потребителями служб.

Облегченные федеративные ESB

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

После нескольких неудачных попыток реализации централизованных ESB на крупных предприятиях, в индустрии ПО произошел сдвиг в сторону более гибкого шаблона, в котором функциональные возможности разделены между множеством облегченных физических ESB, сгруппированных как федеративная сущность. Этот шаблон известен под названием федеративная ESB и представляет один из развивающихся стилей архитектуры для создания высокомасштабируемых решений ESB (см. рисунок 8).

Рисунок 8. Шаблон федеративной ESB
(щелкните рисунок, чтобы увеличить изображение)

Шаблон федеративной ESB позволяет справиться с основополагающими ограничениями модели централизованной ESB путем разделения инфраструктуры на отдельные ESB, которые можно масштабировать и настраивать независимо друг от друга.

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

Облегченное управление

Ограниченное применение UDDI в крупномасштабных средах SOA стало катализатором для появления облеченных и более функционально совместимых моделей управления SOA, использующих преимущества новых стилей архитектуры, в частности REST и Web 2.0. По сути, в этих новых моделях предпринята попытка устранить некоторые сложности, неотъемлемые для централизованных архитектур, основанных на UDDI, и заменить их теми, которые используют широко применяемые стандарты, например, HTTP, Atom и JSON.

Одна из наиболее популярных новых моделей управления SOA – идея репозитория служб, соответствующих ограничениям REST. В рамках этой модели традиционные конструкции SOA, в частности, службы, конечные точки, операции и сообщения, представляются в виде ресурсов, доступ к которым может быть получен с помощью интерфейсов, соответствующих ограничениям REST. Так, использование ресурсно-ориентированных стандартов, например Atom и Atom Publishing Protocol (APP), крайне привлекательно для представления артефактов SOA и взаимодействия с ними (см. рисунок 9).

Рисунок 9. Реестр, соответствующий ограничениям REST

В указанной модели представлен облегченный и более гибкий подход как к проек­тированию, так и к управлению в режиме реального времени. Например, такие аспекты управления в режиме реального времени, как сопоставление конечных точек, реализуются простым HTTP GET-запросом к интерфейсам, соответствующим ограничениям REST. Главным преимуществом подобного типа управления, скорее всего, является функциональная совместимость, которая достигается за счет применения служб, соответ­ствующих ограничениям REST. Они позволяют расширять практики управляемости SOA за рамки .NET и J2EE и использовать их с разнородными технологиями, например с функциональными или динамическими языками.

Использование облака

Развитие моделей облачных вычислений неуклонно меняет способ построения распределенных систем. В частности, мы считаем, что следующие поколения решений SOA будут гибридными, сочетающими облачные и локальные службы и инфраструктурные компоненты. Влияние облачных вычислений никоим образом не ограничивается исключительно возможностью размещения корпоративных веб-служб в частном или общедоступном облаке. Кроме того, существуют конкретные компоненты инфраструктуры SOA, которые могут напрямую использоваться из облачных сред в дополнение к традиционным технологиям SOA, применяемым локально (см. рисунок 10).

Рисунок 10. Усовершенствование локальных SOA с помощью облачных инфраструктур (щелкните рисунок, чтобы увеличить изображение)

Рассмотрим несколько примеров.

  • Сервисная шина, расположенная в облаке. Можно ли разместить ESB в облач­ной инфраструктуре? Безусловно! При подобном типе использования ESB доступны такие возможности, как маршрутизация сообщений, публикация и подписка, трансформации и оркестровка служб, которые являются крае­угольными камнями локальных ESB.
  • Службы безопасности, расположенные в облаке. За последние несколько лет мы стали свидетелями того, как все большую популярность набирают службы безопасности,  подобные Windows Live ID или Facebook Connect. Использование облачных инфраструктур безопасности способствует реализации функционально совместимых механизмов безопасности, в частности, проверки подлинности, представления удостоверений, авторизации и федеративности, посредством API веб-служб Интернета.
  • Службы хранения данных, расположенные в облаке.Вероятно, службы хранения данных, такие как Amazon S3 или Azure DB, являются наиболее привлекательными возможностями облачных инфраструктур. Использование подобных служб существенно повышает гибкость и функциональную совмести­мость механизмов обмена данными нашей SOA и одновременно устраняет некоторые сложности, связанные с применением локального хранения данных.

Заключение

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

Абстракция транспортов

Рассмотрите возможность стандартизации на основе протокола HTTP. Протокол HTTP – прекрасная облегченная альтернатива, которая является функционально совместимой со многими платформами.

Используйте SOAP & WS-* в случаях, когда необходима реализация транзакций, надежная доставка сообщений или очень высокий уровень производительности (TCP/IP).

SOAP и WSDL

Если вы уже приняли решение сформировать стандарты на основе протокола HTTP, то необходимость применять SOAP и WSDL невелика. Научитесь применять такие технологии, как REST, JSON и Atom Pub, и использовать Интернет в полном объеме.

Не используйте SOAP и WSDL, если не уверены, что вам необходимы службы, которые предоставляются этими технологиями.

Рассмотрите возможность применения облегченных альтернативных вариантов: REST, JSON и Atom Pub.

Не генерируйте WSDL как побочный артефакт при создания служб, основанных на SOAP. Сначала обдумайте контракт.

Управление и обнаружение

Если вы не используете WSDL, то как вы сможете управлять корпоративными службами? Конечно же, с помощью реестра служб! Концепция UDDI оказалась неудачной, но это не значит, что репозиторий служб не нужен. Это означает, что концепция UDDI слишком сложная и направлена на решение не тех проблем. С помощью облегченного реестра служб, построенного на основе служб, соответствующих ограничениям REST, вы сможете обеспечить управление и обнаружение без сложностей, присущих UDDI.

Храните артефакты служб в некоем подобии репозитория, а не просто в виде настроек в конечной точке.

Используйте репозиторий служб, чтобы облегчить управление службами предприятия.

Рассмотрите возможность применения репозитория служб, соответствующего ограничениям REST, для служб, созданных с использованием SOAP и REST, чтобы обеспечить управление и обнаружение.

Корпоративная сервисная шина

Использовать или не использовать ESB – вот в чем вопрос. Соединения «точка – точка» являются тесно связанными и простыми в реализации. Но по своей природе они нестабильны, склонны к стагнации и ограничивают возможности бизнес-аналитики, встроенные в сообщения.

Не путайте ESB с системами обработки событий. Они похожи, но имеют различные масштабы и требования к производительности.

Рассмотрите возможность использования федеративных ESB, поскольку в них устранены ограничения централизованных ESB (структура «звезда»).

Не воспроизводите тесно связанные шаблоны «точка – точка» в рамках ESB путем простого перемещения кода в мост.

Рассмотрите возможность использования парадигмы публикации и подписки вместо парадигмы «запрос – ответ» при создании распределенных систем.

Облачные службы

Все расположено в облаке: по-видимому, именно в этом направлении мы движемся. Корпорация Microsoft несколько преждевременно представила концепцию My Services, но все больше и больше служб смещаются в сторону облака.

Рассмотрите возможность использования служб безопасности, расположенных в облаке, для общедоступных служб вместо локальных проприетарных механизмов безопасности. Пожалуй, эти службы являются наиболее проработанными из всех облачных служб.

Рассмотрите возможность будущих улучшений, связанных с использованием служб хранения данных и сервисной шины, расположенных в облаке.

Самое важное, о чем следует помнить при построении корпоративных служб, – это мантру «соглашения по конфигурации». Если вы сведете число настроек к минимуму и реализуете только то, что необходимо предприятию, то создадите облегченные службы, которые легче поддерживать и усовершенствовать.

Об авторах

Хесус Родригес (Jesus.Rodriguez@tellago.com)– ведущий архитектор компании Tellago, Inc. Он носит звание наиболее ценного профессионала Microsoft BizTalk Server MVP, Oracle ACE и стал одним из немногих архитекторов во всем мире, являющимся членом группы Microsoft Connected Systems Advisor.

Дон Демсак – ведущий архитектор решений компании Tellago (Нью-Джерси), специализирующийся на создании корпоративных приложений с использованием технологии .NET. Он ведет популярный блог по адресу www.donxml.com, удостоен звания наиболее ценного профессионала Microsoft Data Platform MVP, является членом INETA Speakers Bureau.


Дополнительная информация по теме статьи: