WCF описание

WCF описание

Всем доброго времени суток. На связи Алексей Гулынин. Данный пост открывает цикл статей, посвященных теме WCF (Windows Communication Foundation). В данной статье я бы хотел кратко рассказать, что это за технология, где применяется и какие преимущества даёт.

В одной из своих статей, посвященных C#, я уже реализовывал пример WCF.

WCF — это технология предназначенная для построения распределенных (сервис-ориентированных) систем. WCF представляет собой некий Framework (набор классов), который входит в состав .NET Framework. WCF полностью написана на базе .NET Framework с использованием языка C#.

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

Распределенное приложение — это приложение, которое обязательно имеет серверную часть (некий сервис). К этому сервису подключаются клиенты. Например, так работает простой чат. Мы отправляем сообщение на сервер, а сервер в свою очередь отправляет сообщение уже конечному пользователю (тому, кому изначально предназначалось наше сообщение).

Другой пример: допустим, у нас есть сервис, который предоставляет фотографии. Мы отправляем запрос к этому сервису через специальный интерфейс (например, веб-адрес), а он нам в ответ присылает картинку. Данный запрос мы можем сделать из любого приложения, независимо от того, на каком языке они написаны. Здесь сразу оговорюсь, что я работал только с языками высокого уровня, которые поддерживают формат отправки запросов.

Все сервисы обмениваются друг с другом сообщениями. Существует стандарт, который определяет универсальный формат и структуру этих сообщений. Он нужен для того, чтобы различные поставщики программного обеспечения понимали форматы передаваемых сообщений (например, формат SOAP).

Некоторые принципы распределенных систем (приложений):

  1. Независимость организации системы от применяемых языков программирования. Здесь имеется в виду, что сервисы могут обмениваться друг с другом сообщениями независимо от того, на каком языке они написаны.
  2. Можно использовать сервисы независимо от конкретных приложений. В примере с изображением: можно его получать и в программе, которая показывает контакты сотрудников и, скажем, в какой-нибудь игре.
  3. Сервисы должны быть полностью автономными, либо слабо-связанными друг с другом.
  4. Независимость организации системы от используемых платформ. Сервисы должны успешно работать, как с Windows, так и с другими платформами. WCF успешно реализует данный пункт, так как поддерживаются все необходимые протоколы для взаимодействия и передачи данных.

Сервис WCF включает в себя несколько компонентов:

  • Логика самой службы. Здесь находятся методы, к которым мы будем обращаться.
  • Address (адрес). Адрес службы, т.е. туда куда нужно отправлять запросы.
  • Binding (привязка). Это то как мы будем общаться с сервисом. К примеру будет ли шифрование сообщений.
  • Contract (контракт). Это обычный интерфейс, к которому мы будем обращаться. Он организует работу между клиентом и сервером.

2 — 4 пункты являются основополагающими в службе WCF. В этом мы убедимся в следующей статье.

Главное преимущество WCF, на мой взгляд, в простоте реализации сервисов. В следующей статье мы в этом убедимся на примере создания простого сервиса приёма сообщений.

В данной статье вы кратко узнали про распределенные приложения и о том, что такое WCF.

На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.


Комментарии:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *