niedziela, 15 września 2013

WCF - Podstawowe pojęcia

Pierwszym podstawowym pojęciem w WCF jest Endpoint.
Endpoint to sposób udostępniania przez serwis swojej funkcjonalności. Definiuje on trzy ważne aspekty:



Mówi się czasami o zasadzie ABC, gdyż od tych liter pochodzą składowe Endpointa:

  • Address - definiuje adres pod jakim znajduje się serwis
  • Binidng - kanał komunikacji (np. tcpip, http)
  • Contract - typ wysyłanej wiadomości


Kolejnym ważnym terminem jest Service Behaviours. Poprzez ten mechanizm możemy kontrolować w jaki sposób będzie się zachowywał serwis.  Możemy wyszczególnić dwa aspekty, na które mamy wpływ - sposób tworzenia serwisu oraz możliwość wykonywania operacji wielowątkowo.



Dostępne tryby tworzenia serwisu:
  • PerCall - przy każdym żądaniu klienta tworzona jest nowa instancja serwisu - domyślna wartość
  • Single - wszystkie żądania obsługiwane są przez tę samą instancję serwisu - Singleton 
  • PerSession - nowa instancja serwisu tworzona jest dla każdej nowej sesji


Kontrolować wielowątkowość możemy wybierając odpowiednią opcję z pośród dostępnych:
  • Single - brak wielowątkowości 
  • Multiple - wielowątkowość włączona
  • Reentrant - jest to dosyć ciekawy przypadek. Działa on w ten sposób, jeżeli klient 1 wywołuje operację w serwisie, a operacja ta odnosi się do innego serwisu, to w tym czasie klient 2 może wywołać operację bez czekania na to aż zostanie zwolniony serwis przez pierwszego klienta. 


Wiadomości między klientem a serwisem wymieniane są za pomocą wiadomości. Wiadomość może być przesyłana w trzech dostępnych trybach:
  • One way - klient wysyła wiadomość i nie czeka na odpowiedź od serwisu 
  • Duplex - obustronna komunikacja między klientem i serwisem 
  • Request-Replay - po wysłaniu żądania przez klienta, zostaje odesłana odpowiedź z serwera

Dodatkowo możemy się spotkać z terminem Channel (kanał) - czyli kanał komunikacyjny (tcp, http, itp.).

Brak komentarzy:

Prześlij komentarz