Instrukcja laboratoryjna cz.7



Podobne dokumenty
Instrukcja obsługi serwera FTP v

namespace HostedReceiver { public class Receiver: IConfigureThisEndpoint, AsA_Server {

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Instrukcja instalacji Control Expert 3.0

Zaawansowane aplikacje internetowe - laboratorium

Ustawienia personalne

Konfiguracja współpracy urządzeń mobilnych (bonowników).

Windows Server 2012 Active Directory

Instalacja i konfiguracja serwera IIS z FTP

Instrukcja konfiguracji funkcji skanowania

Instrukcja instalacji połączenia sterownika PL11-MUT24 ze stroną internetową.

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Zanim zaczniesz. Warto ustawić kartę sieciową naszego serwera.

Pracownia internetowa w szkole ZASTOSOWANIA

Uwierzytelnianie użytkowników sieci bezprzewodowej z wykorzystaniem serwera Radius (Windows 2008)

Rozdział 8. Sieci lokalne

Twoje potrzeby. Nasze rozwiązania.

Windows Server 2008 Standard Str. 1 Ćwiczenia. Opr. JK. I. Instalowanie serwera FTP w Windows Server 2008 (zrzuty ekranowe z maszyny wirtualnej)

Dokonaj instalacji IIS opublikuj stronę internetową z pierwszych zajęć. Ukaże się kreator konfigurowania serwera i klikamy przycisk Dalej-->.

8. Sieci lokalne. Konfiguracja połączenia lokalnego

Poradnik korzystania z usługi FTP

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3

Problemy techniczne SQL Server

Problemy techniczne SQL Server

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Wymagania do zdalnej instalacji agentów firmy StorageCraft

Instrukcja obsługi programu CMS Dla rejestratorów HANBANG

Instalacja i konfiguracja serwera WSUS. Ćwiczenie 1 Instalacja serwera WSUS. Mariusz Witczak Bartosz Matusiak

4. Podstawowa konfiguracja

Tomasz Greszata - Koszalin

Pracownia internetowa w szkole podstawowej (edycja jesień 2005)

BACKUP BAZ DANYCH FIREBIRD

Instrukcja podłączenia bramki IP 1R+L oraz IP 2R+L w trybie serwisowym za pomocą usługi telnet.

Instrukcja pomocnicza

PODRĘCZNIK UŻYTKOWNIKA programu Pilot

Instalacja i konfiguracja konsoli ShadowControl

Tomasz Greszata - Koszalin

Z pojedynczym obiekcie zasady grupy znajdziemy dwa główne typy ustawień:

Projektowanie bezpiecze stwa sieci

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Instrukcja użytkownika

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

FAQ Systemu EKOS. 1. Jakie są wymagania techniczne dla stanowiska wprowadzania ocen?

Instalacja i konfiguracja Symfonia.Common.Server oraz Symfonia.Common.Forte

1. Moduł Print Master

INSTRUKCJA UŻYTKOWNIKA Instalacja KS - EDE w systemie KS - ZSA ISO 9001:2008 Dokument: Wydanie: 1 Waga: 90

Rozdział 5. Administracja kontami użytkowników

Problemy techniczne SQL Server

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Instrukcja instalacji systemu elektronicznego obiegu dokumentów - esoda.

Praca w sieci równorzędnej

Director - instrukcja obsługi

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Instrukcja laboratoryjna cz.6

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

Synchronizator plików (SSC) - dokumentacja

Tomasz Greszata - Koszalin

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Biuro Podróży 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę

Laboratorium Ericsson HIS NAE SR-16

UNIFON podręcznik użytkownika

Instalacja Microsoft SQL Server 2014 Express

Instrukcja laboratoryjna nr.2

Krótka instrukcja instalacji

Program dla praktyki lekarskiej. Instrukcja Aktualizacji

Instrukcja instalacji elektronicznego systemu obiegu dokumentów administracyjnych - esoda.

Podręcznik użytkownika Konfiguracja Rejestracji Online

Biuro Podróży 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Dodawanie nowego abonenta VOIP na serwerze Platan Libra

Internetowy serwis Era mail Aplikacja sieci Web

Usługi sieciowe laboratorium 2013 K.M. Ocetkiewicz, T. Goluch

Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP

Systemy operacyjne. Zasady lokalne i konfiguracja środowiska Windows 2000

Przekierowanie portów w routerze TP-LINK na przykładzie kamery Kenik. Po co wykonujemy przekierowanie portów? Spójrzmy na rysunek poniżej:

Przekierowanie portów w routerze TP-LINK na przykładzie kamery Kenik. Po co wykonujemy przekierowanie portów? Spójrzmy na rysunek

Przed restartowaniem routera odłącz wszystkie urządzenia podłączone pod porty USB.

Rejestratory Trend szybka konfiguracja do obsługi przez sieć.

Instrukcja. Skrócona instrukcja konfiguracji wideodomofonowego systemu jednorodzinnego V_1.0

autor poradnika - KS Jak zamieszczać i edytować artykuły na szkolnej stronie internetowej

Programowanie obiektowe

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

VComNet Podręcznik użytkownika. VComNet. Podręcznik użytkownika Wstęp

Problemy techniczne. Jak udostępnić dane na potrzeby wykonania usługi wdrożeniowej? Zabezpieczanie plików hasłem

Instalacja i konfiguracja serwera sieci Web (IIS) w Windows Server 2008 / 2008 R2 /2012

Wstęp. Skąd pobrać program do obsługi FTP? Logowanie

Konfiguracja klientów SSH - PuTTY i WinSCP

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu ftp.

Problemy techniczne SQL Server

PORADNIK KORZYSTANIA Z SERWERA FTP ftp.architekturaibiznes.com.pl

Instrukcja konfiguracji usługi Wirtualnej Sieci Prywatnej w systemie Microsoft Windows 8

Spis treści. Rozdział 3. Podstawowe operacje na plikach...49 System plików Konsola Zapisanie rezultatu do pliku... 50

DHL CAS ORACLE Wymagania oraz instalacja

Jarosław Kuchta. Instrukcja do laboratorium. Administrowanie Systemami Komputerowymi. Usługi DNS i DHCP

Instrukcja konfiguracji usługi Wirtualnej Sieci Prywatnej w systemie Microsoft Windows 8

Pracownia internetowa w każdej szkole (edycja jesień 2005)

CZNE LUB INSTALOWANIE SERVERA

Aktualizacja firmware w urządzeniu za pośrednictwem FTP

Jak używać funkcji prostego udostępniania plików do udostępniania plików w systemie Windows XP

BIBLIOTEKA. SADP IP Finder opis funkcji programu

Transkrypt:

Komponentowe Systemy Rozproszone 2011/2012 Instrukcja laboratoryjna cz.7 Model programistyczny WCF cz.2 Prowadzący: Tomasz Goluch Wersja: 2.3

I. Publikacja serwera WCF Cel: Publikacja aplikacji WCF na serwerze IIS. Załóż darmowe konto IIS, lista przykładowych usługodawców: www.somee.com, www.brinkster.com, www.aspspider.com, www.x10hosting.com. Otwórz projekt zadania domowego z laboratorium WCF1. W celu publikacji projektu na nowym serwerze wybierz: Projekt PPM Publish Dodaj następujące ustawienia: Publish method: = FTP, Target Location: = adres uzyskany od usługodawcy IIS/Główny katalog projektu 1, Passive mode = odznaczone, User name: = login dostępowy do serwera IIS, Password: = hasło dostępu do serwera IIS. Wybierz: Publish. 1 W Target Location należy podać pełną ścieżkę dostępu składającą się z adresu serwera wraz ze ścieżką dostępową w strukturze katalogów usługodawcy. Przykładowo usługodawca somee.com wymaga podania katalogu o identycznej nazwie jak nazwa domeny. Strukturę katalogów usługodawcy można sprawdzić dowolnym klientem FTP np.: FileZillą.

Aby zaktualizować referencję do serwisu w kliencie, należy podać jego adres (np.: http://student.somee.com/service1.svc). Zaprezentuj działanie klienta z nowo opublikowanym serwerem WCF. II. WCF Serwer (.exe) komunikacja. Cel: Implementacja prostego serwera WCF w pliku wykonywalnym (.exe) i korzystającego z jego usług, poprzez różne rodzaje protokółu klienta. Laboratorium ze względu na wymagania odnośnie uprawnień administratora odbywa sie na maszynie wirtualnej. Uruchomić maszynę wirtualną: Start Windows Virtual PC XP_VS_MSSQL_ADW user: student1, hasło: student. Uruchom Visual Studio z prawami administratora. Utwórz nowy WCF Service Library (Visual C#). Deklaracja kontraktu usługi: Implementacja kontraktu: Dodać nową metodę do kontraktu (obliczanie silni, pierwiastka, ). W celu hostowania usługi należy dodać nowy projekt Console Application (Visual C#) do istniejącego solution. Nie zamykaj wcześniejszego projektu. Ustaw projekt jako domyślny: Project Set as StartUp Project. Dodaj referencję do : Project Add Reference....NET System.ServiceModel OK. Dodaj wymaganą przestrzeń nazw:

Dodaj zwykłą (nie serwisową!!!) referencję do Serwisu WCF (zaimplementowanego wcześniej). Utworzenie hosta: Service1Client typ klasy implementującej udostępniane interfejsy. podany adres adres bazowy dla podanych później adresów. Endpoint to trójka: interfejs (np. Service1), binding kanał komunikacyjny (HTTP, TCP, pipe, MSMQ itp.), adres usługi (np. http://localhost:1100/service1). Host może mieć wiele endpointów, byle różniły się adresami. Host może udostępniać ten sam interfejs przez różne endpointy. Host może udostępniać różne interfejsy (o ile serwer je implementuje). Dodanie endpointa z metadanymi (opisem pozostałych endpointów): Opis parametrów: ServiceMetadataBehaviour.MexContractName typ udostępnianego interfejsu, MetadataExchangeBindings.CreateMexHttpBinding() opis kanału komunikacyjnego, mex adrese usługi (względem adresu bazowego). Wymagana przestrzeń nazw: Dodanie endpointa z usługą:

Opis parametrów: IService1 typ udostępnianego interfejsu, new BasicHttpBinding() opis kanału komunikacyjnego, adres dokładny adres usługi (może być pełny lub względem adresu bazowego). Uruchomienie serwisu: Zakończenie pracy serwera wymaga naciśnięcia dowolnego klawisza (należy cierpliwie poczekać może to trochę potrwać). Należy utworzyć nowy projekt klienta (analogicznie jak w cz. 1 laboratorium WCF). Należy upewnić się, że serwer jest uruchomiony (np. w osobnym oknie 2 ). Dodając referencję do serwisu należy podać adres wpisany w serwerze (np. http://localhost:1100/service1, Visual poszuka endpointa o adresie http://localhost:1100/service1/mex i z niego pobierze dane). Przykładowy wynik działającego klienta: W celu zmiany komunikacji z kanału komunikacyjnego z HTTP na nazwane potoki należy: zmienić adres endpointa np.: jeżeli chcemy, żeby metadane były też udostępniane przez nazwane potoki, także w tym endpoincie należy dokonać zmian: zmienić binding endpointa, w naszym przypadku na: 2 W celu uniknięcia problemów z edycją projektu klienta nie uruchamiaj serwera z poziomu Visual Studio tylko z wiersza poleceń (Uruchom jako administrator).

jeżeli zmienił się adres metadanych, należy dodać na nowo referencję do serwisu w kliencie (Update Service Reference). Proszę zaprezentować prowadzącemu program klienta współpracującego z serwerem poprzez protokół http oraz poprzez potoki nazwane. III. Czas życia serwera WCF. Cel: Zapoznanie się z różnymi rodzajami czasu życia serwera WCF.. Proszę dodać do serwera metodę zwracającą liczbę, która zwiększa się po każdym wołaniu oraz możliwość wyświetlenia jej w kliencie. Czas życia serwera można kontrolować, dodając do klasy serwera atrybut gdzie XXX to: PerCall (domyślnie) nowy serwer na każde wołanie metody, PerSession nowy serwer na każdego utworzonego klienta, w tym przypadku do atrybutu ServiceContract interfejsu należy dodać parametr: lub: które umożliwiają wykorzystanie sesji 3. Single jeden serwer dla wszystkich w tym przypadku można (ale nie trzeba) jako pierwszy parametr konstruktora ServiceHost podać nie typ a instancję obiektu serwera wtedy to podany obiekt będzie realizował wołane operacje. Zaprezentuj prowadzącemu różnice pomiędzy ServiceContextMode: PerCall, PerSession oraz Single. W przypadku ServiceContextMode.Single proszę przekazać do hosta gotowy obiekt z wartością początkową zwracanych liczb równą 100. Przykładowy interfejs może wyglądać następująco: IV. Wołania zwrotne serwera WCF. Cel: Implementacja wołania zwrotnego z serwera do klienta WCF.. 3 BasicHttpBinding nie obsługuje sesji; należy użyć w tym przypadku WSHttpBinding

Klient może udostępnić serwerowi interfejs, przez który serwer może go powiadamiać. W takim przypadku w serwerze należy: zadeklarować interfejs, który będzie udostępniał klient: interfejs nie powinien mieć atrybutów, lecz jego metody powinny mieć atrybut: który oznacza, że metoda jest jednokierunkowa (musi zwracać voida), dodać parametr atrybutu ServiceContract w interfejsie serwisu: gdzie: CallbackInterface to nazwa zadeklarowanego wcześniej interfejsu, metoda serwera wołająca metody interfejsu zwrotnego powinna także być jednokierunkowa 4 (atrybut: ) i zwracać voida. aby otrzymać interfejs zwrotny w metodzie serwera, należy: UWAGA: interfejsy zwrotne są obsługiwane przez NetNamedPipeBinding() i WSDualHttpBinding. W elemencie services pliku konfiguracyjnego app.config należy zmienić binding na: W kliencie należy: zaktualizować referencję do serwisu 5, interfejs zwrotny będzie widziany pod nazwą NazwaUsługiCallback, napisać klasę implementującą interfejs zwrotny, do klienta podać obiekt, opakowany w InstanceContext, który będzie obsługiwał wołania zwrotne: Wymagana przestrzeń nazw: Zaprezentuj prowadzącemu działanie wołania zwrotnego serwera. V. Komunikacja serwera WCF poprzez kolejkę MSMQ. Cel: Konfiguracja komunikacji klient-serwer WCF poprzez kolejki MSMQ. W celu zainstalowania usługi kolejkowania wiadomości (Windows 7) wybierz: Panel sterowania Włącz lub wyłącz funkcje systemu Serwer usługi MSMQ Podstawowe funkcje serwera usługi MSMQ Zaznacz OK. 4 Atrybutem należy opatrzyć deklarację metody w interfejsie serwera. 5 Pamiętaj aby uruchomić serwer (ale nie z poziomu Visual Studio).

Zarządzanie kolejkami prywatnymi: Uruchom compmgmt.msc /s Zarządzanie komputerem usługi i aplikacje kolejkowanie wiadomości kolejki prywatne. W aplikacji hostującej dodaj referencję do: Project Add Reference....NET System.Messaging OK. Dodaj przestrzeń nazw: Nazwy kolejek: kolejka publiczna 6, kolejka prywatna. Tworzenie i usuwanie kolejki: podanie drugiego parametru z wartością true tworzy kolejkę transakcyjną, usunięcie kolejki, pytanie o istnienie kolejki. Adresy mają postać:. Komunikacja musi być jednokierunkowa: Przez MSMQ nie można udostępniać metadanych. Wołanie metod przez klienta nie wymaga uruchomionego serwera (wołania trafią do kolejki, skąd później może je wydobyć serwer). Zaimplementuj metodę przesyłającą komunikat do serwera (powinien on zostać wyświetlony w oknie konsoli serwera WDF) 6 Kolejki publiczne możemy tylko tworzyć w oparciu usługę Active Directory wymagającą Windows Serwera.

Wywołanie metody w kliencie: Przykład działającego programu: Proszę zaprezentować prowadzącemu komunikację klient-serwer WCF poprzez kolejkę MSMQ.

Zadanie domowe z WCF cz.2: Zaimplementować grę Czwórki (Connect Four 7 ): gra dwóch graczy, plansza ustawiona pionowo o rozmiarach: 7 pól [szerokość] x 6 pól [wysokość], rozpoczyna ruszający żółtymi, piony wrzucane są po jednym na zmianę, wygrywa gracz który ułoży czwórkę (umieści cztery swoje piony w nieprzerwanym ciągu w pionie, poziomie bądź po skosie). Napisać system do gry w architekturze klient-serwer WCF. Serwer powinien być opublikowany u usługodawcy internetowego i udostępniać następujące funkcje: o Login() którą gracz wywołuje tę metodę bezpośrednio po podłączeniu się do serwera, aby dowiedzieć się, czy jest graczem pierwszym (jeżeli podłączył się jako pierwszy) czy drugi albo, że gra już się rozpoczęła. o Ruch(col) wykonanie ruchu wrzucenie pionka do jednej z siedmiu kolumn w przypadku niepoprawnego ruchu (zapełniona kolumna), serwer powinien rzucać klientowi wyjątek, serwer nie powinien przechowywać logiki gry, w celu wykonania posunięcia powinien kontaktować się z klientem WCF udostępniającym mu generator posunięć (serwer COM), którego wołanie powinno odbywać się za pomocą interfejsu zwrotnego. Serwer powinien pozwalać na podłączenie maksymalnie dwóch graczy, przy próbie podłączenia trzeciego powinien rzucać wyjątek. Zaimplementować klienta (gracza) w C# wybór interfejsu graficznego do wyboru: WPF, Windows Forms, konsola, inne..., pozwalającego na zalogowanie (przycisk loguj, ewentualnie z możliwością podania adresu serwera), wyświetlanie planszy, wykonywanie posunięć oraz wyświetlenie komunikatu informującego o zakończeniu gry (wyświetlenie informacji: wygrana/przegrana). Zaimplementować generator posunięć w C++ powinien on udostępniać następujące funkcje: o Ruch(col, p_wys, p_szer) wykonanie ruchu polegającego na wrzuceniu pionka do kolumny: col, wykonanie poprawnego posunięcia powoduje zwrócenie współrzędnych na których wylądował spadający pion: p_wys i p_szer, w przeciwnym wypadku funkcja powinna zwrócić błąd w H_RESULT. o Wynik(wyn) zwraca (-1) jeśli gra jeszcze się nie zakończyła, 0 remis, 1 jeśli wygrał gracz pierwszy, w przeciwnym przypadku zwraca 2 (wygrana gracza drugiego). Aby serwis WCF mógł korzystać z generatora posunięć (serwer COM w C++ ), należy zaimplementować klienta WCF w C# komunikującego się z serwerem i udostępniającego mu interfejs zwrotny umożliwiający odpytywać generator posunięć. Metody można rozbudowywać i dodawać nowe, Problem synchronizacji (który gracz w danym momencie wykonuje ruch) do samodzielnego rozwiązania. 7 Dokładny opis zasad gry: http://en.wikipedia.org/wiki/connect_four

Diagram komponentów: