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