Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы экзамен по ПМ.02.docx
Скачиваний:
421
Добавлен:
09.12.2018
Размер:
1.32 Mб
Скачать

18. Особенности и проблемы построения корпоративных приложений на основе сервисно-ориентированной архитектуры.

Ответ:

Принцип работы

Сначала нам нужно получить брокер объектных запросов (Object Request Broker, ORB), который соответствует спецификации CORBA. Он предоставляется вендором и использует языковые преобразователи (language mappers) для генерирования «заглушек» (stub) и «скелетов» (skeleton) на языках клиентского кода. С помощью этого ORB и определений интерфейсов, использующих IDL (аналог WSDL), можно на основе реальных классов генерировать в клиенте удалённо вызываемые классы-заглушки (stub classes). А на сервере можно генерировать классы-скелеты (skeleton classes), обрабатывающие входящие запросы и вызывающие реальные целевые объекты.

Достоинства

  • Независимость от выбранных технологий (не считая реализации ORB).

  • Независимость от особенностей передачи данных/связи.

Недостатки

  • Независимость от местоположения: клиентский код не имеет понятия, является ли вызов локальным или удалённым. Звучит неплохо, но длительность задержки и виды сбоев могут сильно варьироваться. Если мы не знаем, какой у нас вызов, то приложение не может выбрать подходящую стратегию обработки вызовов методов, а значит, и генерировать удалённые вызовы внутри цикла. В результате вся система работает медленнее.

  • Сложная, раздутая и неоднозначная спецификация: её собрали из нескольких версий спецификаций разных вендоров, поэтому (на тот момент) она была раздутой, неоднозначной и трудной в реализации.

  • Заблокированные каналы связи (communication pipes): используются специфические протоколы поверх TCP/IP, а также специфические порты (или даже случайные порты). Но правила корпоративной безопасности и файрволы зачастую допускают HTTP-соединения только через 80-й порт, блокируя обмены данными CORBA.

19. Адаптация общей концепции к технологическим особенностям среды и инструментальных средств Microsoft.

Ответ:

Контракты сервисов

1. При определении используют атрибуты:

– ServiceContract (для классов и/или

интерфейсов)

– OperationContract (для методов)

2. Определяют направление взаимодействия в сервисах:

– однонаправленное;

– дуплексное

Контракт данных

1. использует атрибуты для класса и его членов:

•DataContract;

•DataMember;

•CollectionDataContract

2. обеспечивает сериализацию данных:

– DataContractSerializer

Контракт сообщения

1. Использует атрибуты:

– MessageContract;

– MessageHeader;

– MessageBodyMember

2. Особенности:

– не более одного входного параметра;

– не более одного возвращаемого значения;

– альтернатива контракту данных;

– не используется совместно с контрактом

Каналы WCF

• служат для подготовки и доставки сообщений

• представляются в виде стека

• делятся на:

– транспортные;

– протокольные

• Возможные конфигурации:

– однонаправленный;

– дуплексный;

– запрос-ответ

• Каналы, фабрики каналов и «слушатели» наследуют единый интерфейс ICommunicationObject

Связывание

• Связывание (binding) – это сконфигурированный стек каналов WCF

• Связывания образуют стек каналов с помощью специальных элементов

• В WCF по умолчанию определены 9 типов связываний