Programowanie Systemów Rozproszonych - WCF
|
|
- Zbigniew Tomaszewski
- 8 lat temu
- Przeglądów:
Transkrypt
1 Plan Literatura Podstawowe pojęcia Programowanie Systemów Rozproszonych - WCF Paweł Paduch Politechnika Świętokrzyska 15 kwietnia 2015 Paweł Paduch Programowanie Systemów Rozproszonych - WCF 1 z 70
2 Plan wykładu Plan Literatura Podstawowe pojęcia 1 Plan Literatura Podstawowe pojęcia 2 Prosty kalkulator Klient 3 Self Hosting Usługi Windows Web Hosted 4 Paweł Paduch Programowanie Systemów Rozproszonych - WCF 2 z 70
3 Literatura Plan Literatura Podstawowe pojęcia Dokumentacja MSDN - Paweł Paduch Programowanie Systemów Rozproszonych - WCF 3 z 70
4 Co to jest WCF? Plan Literatura Podstawowe pojęcia WCF (Windows Comunication Foundation - kodowa nazwa Indygo) jest środowiskiem uruchomieniowym i zestawem API do stworzenia systemu wysyłającego komunikaty pomiędzy klientami a serwisami. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 4 z 70
5 SOA Plan Literatura Podstawowe pojęcia SOA - (Service Oriented Architecture). Architektura oparta na przesyłaniu komunikatów. Serwis ma zaletę bycia luźno powiązanym z innymi aplikacjami co oznacza, że jesteśmy uniezależnieni od architektury sprzętowej i programowej byleby kluczowe kontrakty były spełnione. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 5 z 70
6 Interoperacyjność Plan Literatura Podstawowe pojęcia WCF implementuje nowoczesne standardy produkcyjne Web serwisów. Takich jak: COM, COM+.NET Remoting Web Service Enhancements 3.0 ASP.NET Web Services POX Plain Old XML Paweł Paduch Programowanie Systemów Rozproszonych - WCF 6 z 70
7 Multiple Message Patterns Plan Literatura Podstawowe pojęcia Komunikaty są wymieniane w jednym z wielu paternów: request/reply najbardziej popularny, jeden EP (Endpoint) żąda danych od drugiego, który mu odpowiada. wymiana jednostronna (One Way) jeden EP wysyła dane, ale bez żądania odpowiedzi Duplex - wymiana dwukierunkowa Więcej na temat implementacji własnych paternów można znaleźć tu: Paweł Paduch Programowanie Systemów Rozproszonych - WCF 7 z 70
8 Service Metadata Plan Literatura Podstawowe pojęcia WCF wspiera publikowanie metadanych przez serwis za pomocą takich standardów jak: WSDL XML Schema WS-Policy Dane te mogą być (i zwykle są) używane do automatycznego generowania konfiguracji oraz klas klienta. Mogą być dostarczane przez HTTP, HTTPS lub używając Web Service Metadata Exchange. Więcej na ten temat tu: Paweł Paduch Programowanie Systemów Rozproszonych - WCF 8 z 70
9 Podstawowe pojęcia Plan Literatura Podstawowe pojęcia Message - Samodzielna jednostka danych składająca się z kilku części, zwykle nagłówka i treści Service - Konstrukt wystawiający jeden lub więcej punktów końcowych (Endpoint), z których to można udostępnić jedną lub więcej operacji Endpoint - Konstrukt do którego lub z którego komunikaty są wysyłane i/lub odbierane. Składa się z lokalizacji (adresu) gdzie wiadomości mogą być wysyłane, specyfikacji mechanizmu komunikacji (binding), który określa w jaki sposób komunikaty powinny być wysyłane, oraz definicji zestawu komunikatów które mogą być wysłane do/z serwisu (service contract), opisuje jakie komunikaty mogą być wysłane czy odebrane. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 9 z 70
10 Podstawowe pojęcia Plan Literatura Podstawowe pojęcia Application Endpoint - endpoint udostępniony przez aplikacje, który jest związany z kontraktem serwisu zaimplementowanego przez tę aplikację infrastructure endpoint - endpoint udostępniony przez infrastrukturę aby ułatwić funkcjonalność potrzebną lub dostarczoną przez serwis, która nie jest związana z kontraktami serwisu. Np. Serwis może mieć endpoint infrastrukturalny, który dostarcza metadanych. address - określa miejsce odbioru wiadomości w postaci URI, część adresu określa jaki mechanizm transportowy ma być użyty np. HTTP, TCP, reszta to unikalna lokacja a jej budowa zależy od mechanizmu transportowego. Np. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 10 z 70
11 Podstawowe pojęcia Plan Literatura Podstawowe pojęcia binding - Określa w jaki sposób endpoint komunikuje się ze światem. zbudowany jest z zestawu komponentów zwanych (binding elements) które ułożone są w stos jeden na drugim, aby stworzyć infrastrukturę komunikacyjną. Na samym końcu binding definiuje transport ( TCP, HTTP) i używane kodowanie (text, bin), binding może zawierać elementy określające szczegóły mechanizmów zabezpieczających. Więcej informacji o konfiguracji serwisów znaleźć można tu: binding element - reprezentuje pojedynczy element bindingu, taki jak transport, kodowanie, implementację protokołu (np. WS-ReliableMessaging), lub inne elementy stosu komunikacyjnego. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 11 z 70
12 Podstawowe pojęcia Plan Literatura Podstawowe pojęcia behaviors - komponent, który kontroluje wiele aspektów podczas działania serwisu. Zachowania są grupowane według zakresów: common behaviors - wpływa na wszystkie punkty końcowe w sposób globalny service behaviors - zachowanie dotyczące serwisów endpoint behaviors - zachowanie dotyczące właściwości endpointów operation-level behaviors - wpływa na zachowanie poszczególnych operacji Można określić np. czy serwis ma zwracać informacje debugerskie, ograniczać dostęp czy w jaki sposób używane mają być poświadczenia. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 12 z 70
13 Podstawowe pojęcia Plan Literatura Podstawowe pojęcia system-provided bindings - WCF posiada wiele wbudowanych systemowych bindingów zoptymalizowanych pod specyficzne scenariusze np. WSHttpBinding. Te predefiniowane bindingi oszczędzając czas pozwalają tylko na te zmiany które są sensowne dla danego scenariusza. Oczywiście można stworzyć swój własny binding. configuration versus coding - sterowanie zachowaniem aplikacji może być przy pomocy zarówno plików konfiguracyjnych (wtedy np. administrator systemu może wpływac na zachowanie różnych aspektów działania aplikacji) jak i bezpośrednio w kodzie w którym można sprawdzić konfigurację i ją nadpisać. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 13 z 70
14 Podstawowe pojęcia Plan Literatura Podstawowe pojęcia service operation - procedura zdefiniowane w kodzie serwisu, która implementuje funkcjonalność operacji. Taka operacja jest wystawiona klientowi jako metoda WCF. Metody mogą pobierać 0 lub więcej argumentów, mogą też zwracać wynik lub nie. service contract - łączy wiele zależnych operacji w pojedynczą funkcjonalną jednostkę. W większości przypadków kontrakt jest definiowany za pomocą interfejsu w odpowiednim języku programowania (np. C#) gdzie stosuje się atrybuty ServiceContractAttribute Paweł Paduch Programowanie Systemów Rozproszonych - WCF 14 z 70
15 Podstawowe pojęcia Plan Literatura Podstawowe pojęcia operation contract - definiuje parametry i typy zwracane przez operację. Kiedy tworzymy interfejs definiujący service contrat, oznaczamy operation contract za pomocą atrybutów OperationContractAttribute dla każdej definicji metody, która jest częścią tego kontraktu. message contract - Opisuje format komunikatu, np. można określić czy elementy komunikatu powinny być umieszczone w nagłówku czy w treści wiadomości, jaki poziom bezpieczeństwa powinien być zastosowany itp. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 15 z 70
16 Podstawowe pojęcia Plan Literatura Podstawowe pojęcia fault contract - związany z service operation opisuje jakie błędy mogą być zwrócone (0 lub więcej). Zwracane są jako błędy SOAP. data contract - informacja zawarta w metadanych opisująca typy danych używane przez serwis. Dzięki temu inni mogą współpracować z serwisem. Opisane typy danych mogą być używane w dowolnym miejscu komunikatu jako parametry wejściowe lub typy zwracane. W przypadku typów prostych nie ma potrzeby używania data cotracts. hosting - serwis musi być umieszczony w jakimś procesie. Host jest aplikacją która kontroluje czas życia serwisu. Serwis może być samohostujący lub korzystać z istniejącego procesu np IIS. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 16 z 70
17 Podstawowe pojęcia Plan Literatura Podstawowe pojęcia self-hosted service - serwis samohostujący. Gdy serwis działa w obrębie procesu stworzonego przez programistę. Programista kontroluję, czas życia takiego serwisu, otwiera go w trybie nasłuchu i zamyka gdy nie jest już używany. hosting process - proces hostujący, to aplikacja która jest przeznaczona do hostowania serwisu. IIS, WAS (Windows Activation Services), Sharepoint oraz usługi Windows. W tych wszystkich przypadkach host jest odpowiedzialny za czas życia serwisu. Można np. przy pomocy IIS utworzyć katalog wirtualny w którym będą umieszczone biblioteki i pliki konfiguracyjne dla serwisu. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 17 z 70
18 Podstawowe pojęcia Plan Literatura Podstawowe pojęcia instancing - Serwis ma trzy modele instancji: single - gdzie pojedynczy obiekt CLR obsługuje wszystkich klientów per call - gdzie do obsługi każdego nowego klienta jest tworzony nowy obiekt CLR per session - gdzie obiekt jest tworzony raz na każdą sesję. client application - program który wymienia komunikaty z jednym lub wieloma punktami końcowymi. Aplikacja kliencka zaczyna od stworzenia instancji klienta WCF oraz zawołania metod klienta WCF. Pojedyncza aplikacja może być zarówno klientem jak i serwisem. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 18 z 70
19 Podstawowe pojęcia Plan Literatura Podstawowe pojęcia channel - konkretna implementacja elementu wiążącego (binding element). Wiązanie reprezentuje konfiguracje a kanał jest implementacją związaną z tą konfiguracją. Dlatego z każdym elementem wiążącym jest związany kanał. Kanały też są ułożone w postaci stosu kanałów (channel stack). WCF client - konstrukt aplikacji klienckiej który udostępnia operacje serwisu jako metody w wybranym języku (np. C#). Każda aplikacja może hostować klienta WCF włącznie z aplikacją która hostuje sam serwis. Dlatego jest możliwe stworzenie serwisu, który korzysta z usług innych serwisów. Klient WCF może być automatycznie utworzony za pomocą Svcutil.exe lub przez dodanie Service References w Visual Studio. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 19 z 70
20 Podstawowe pojęcia Plan Literatura Podstawowe pojęcia metadata - Opisuje charakterystykę serwisu aby zewnętrzne systemy potrafiły się z nim skomunikować. Metadane mogą być użyte przez SvcUtil.exe do wygenerowania biblioteki klienta oraz odpowiedniej konfiguracji. Metadane są wystawione jako dokument XML w którym opisywane są kontrakty, oraz WDSL w którym opisane są metody udostępniane. Żeby udostępnić metadane należy je włączyć w metadata behaviour. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 20 z 70
21 Podstawowe pojęcia Plan Literatura Podstawowe pojęcia security - na bezpieczeństwo WCF skłądają się między innymi: poufność - wiadomości mogą być szyfrowane uczciwość - jest możliwość wykrywania manipulacji na wiadomościach autentykacja - możliwość uwierzytelniania serwerów i klientów autoryzacja - kontrola dostępu do zasobów Funkcje te są świadczone zarówno przez wykorzystanie istniejących mechanizmów bezpieczeństwa, takich jak HTTPS, lub w drodze jednej lub więcej implementacji bezpieczeństwa WS- * WS-* - Skrót wszystkich specyfikacji Web Serwisów (WS) zaimplementowanych w WCF takich jak WS-Security, WS-ReliableMessaging itp. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 21 z 70
22 Podstawowe pojęcia Plan Literatura Podstawowe pojęcia transport security mode - zapewnia że poufność integralność i autentykacja są zapewnione przez z mechanizmy warstwy pośredniej np. takiej jak HTTPS. message security mode - Określa że zabezpieczenie jest zapewnione przez implementowanie jednej lub więcej specyfikacji bezpieczeństwa takich jak Web Services Security: SOAP Message Security. Każda wiadomość zawiera mechanizmy zabezpieczające ją podczas transportu, wykrywania sabotażu i możliwości dekodowania przez prawowitego odbiorcę. Każda wiadomość może zawierać wiele poświadczeń. transport with message credential security mode - Określa użycie warstwy transportowej w celu zapewnienia poufności integracji i autentykacji wiadomości Paweł Paduch Programowanie Systemów Rozproszonych - WCF 22 z 70
23 Zakładamy nową solucję Prosty kalkulator Klient Po otworzeniu Visual Studio File New Project (ctrl+shift+n) Rysunek: Zakładanie nowego projektu / solucji. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 23 z 70
24 Zmiana nazwy Prosty kalkulator Klient W Solution expolorerze po prawej stronie zmieniamy IService1.cs na IServiceCalc.cs oraz Service1.cs na ServiceCalc.cs Rysunek: Zmiana nazw Paweł Paduch Programowanie Systemów Rozproszonych - WCF 24 z 70
25 App.config Prosty kalkulator Klient Zmiany powinny też nastąpić w App.config zmieniamy nazwy serwisu, adres i endopointy Listing 1: App.config 1 <system.servicemodel> 2 <services> 3 <service name="simplecalc.servicecalc"> 4 <host> 5 <baseaddresses> 6 <add baseaddress = " /Design_Time_Addresses/SimpleCalc/ServiceCalc/" /> 7 </baseaddresses> 8 </host> 9 <!-- Service Endpoints --> 10 <!-- Unless fully qualified, address is relative to base address supplied above --> 11 <endpoint address="" binding="basichttpbinding" contract="simplecalc.iservicecalc"> Mamy właściwie gotowy przykładowy serwis, który nam odpowie czymś co podamy. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 25 z 70
26 Pierwsze uruchomienie Prosty kalkulator Klient Wciskami F5 uruchomi nam serwis oraz przykładowy klient, którym możemy przetestować wywołanie dwóch metod: GetData oraz GetDataUsingDataContract Rysunek: Testowy klient Paweł Paduch Programowanie Systemów Rozproszonych - WCF 26 z 70
27 Kontrakty Prosty kalkulator Klient W interfejsie zawarte są atrybuty opisujące kontrakty Interfejs - to nasz ServiceContract Metody oznaczone są jako OperationContract Klasa transportowa to DataContract Posiada ona pola właściwości oznaczone jako DataMember Paweł Paduch Programowanie Systemów Rozproszonych - WCF 27 z 70
28 IServiceCalc Prosty kalkulator Klient Listing 2: Interfejs IServiceCalc.cs 1 [ServiceContract] 2 public interface IServiceCalc 3 { 4 [OperationContract] 5 string GetData(int value); 6 [OperationContract] 7 CompositeType GetDataUsingDataContract(CompositeType composite); 8 } Paweł Paduch Programowanie Systemów Rozproszonych - WCF 28 z 70
29 IServiceCalc Prosty kalkulator Klient Przerabiamy Interfejs 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Runtime.Serialization; 5 using System.ServiceModel; 6 using System.Text; 7 namespace SimpleCalc 8 { 9 [ServiceContract] 10 public interface IServiceCalc 11 { 12 [OperationContract] 13 double dodaj(double a, double b); 14 [OperationContract] 15 double odejmij(double a, double b); 16 [OperationContract] 17 double mnoz(double a, double b); 18 [OperationContract] 19 double dziel(double a, double b); 20 } 21 } Listing 3: Interfejs IServiceCalc.cs Paweł Paduch Programowanie Systemów Rozproszonych - WCF 29 z 70
30 ServiceCalc Prosty kalkulator Klient Przerabiamy implementację serwisu Listing 4: Implementacja ServiceCalc.cs 1 namespace SimpleCalc 2 { 3 public class ServiceCalc : IServiceCalc 4 { 5 public double dodaj(double a, double b) 6 { return a + b; } 7 public double odejmij(double a, double b) 8 { return a - b; } 9 public double mnoz(double a, double b) 10 { return a * b; } 11 public double dziel(double a, double b) 12 { 13 if (b!= 0) 14 return a / b; 15 else 16 throw new DivideByZeroException("Parametr nie moze byc a = 0"); 17 } 18 } 19 } Paweł Paduch Programowanie Systemów Rozproszonych - WCF 30 z 70
31 Drugie uruchomienie Prosty kalkulator Klient Przy drugiej próbie uruchomienia od razu sprawdzamy zachowanie na dzielenie przez 0. Serwer nie mógł przetworzyć żądania z powodu błędu wewnętrznego. Aby uzyskać więcej informacji dotyczących tego błędu, włącz parametr IncludeExceptionDetailInFaults (w atrybucie ServiceBehaviorAttribute lub zachowaniu konfiguracji <servicedebug>) na serwerze w celu odsyłania informacji o wyjątkach do klienta albo włącz śledzenie, tak jak opisano w dokumentacji zestawu Microsoft.NET Framework SDK i przejrzyj dzienniki śledzenia serwera. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 31 z 70
32 Prosty kalkulator Klient Włączamy includeexceptiondetailinfaults W App.config włączamy includeexceptiondetailinfaults na true: Listing 5: App.config 1 <servicedebug includeexceptiondetailinfaults="true" /> I już mamy dodatkowe informacje na temat błędu. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 32 z 70
33 Podgląd z przeglądarki Prosty kalkulator Klient Gdy uruchomimy serwis oraz wkleimy adres Time Addresses/SimpleCalc/ServiceCalc do przeglądarki pojawi nam się strona z informacją jak użyć usługi. Między innymi adres informacji WSDL oraz fragmenty kodu C# oraz Visual Basic Listing 6: Przykładowy kod klienta 1 class Test 2 { 3 static void Main() 4 { 5 ServiceCalcClient client = new ServiceCalcClient(); 6 7 // Użyj zmiennej client" do wywoływania operacji dla usługi. 8 9 // Zawsze zamykaj klienta. 10 client.close(); 11 } 12 } Paweł Paduch Programowanie Systemów Rozproszonych - WCF 33 z 70
34 Nowy projekt Prosty kalkulator Klient W Solution Explorerze zakładamy nowy projekt ClientCalc Rysunek: Dodanie projektu klienta Paweł Paduch Programowanie Systemów Rozproszonych - WCF 34 z 70
35 Service Reference Prosty kalkulator Klient Uruchamiamy serwis w trybie nie debugerskim (ctrl+f5) Klikamy prawym klawiszem myszy na projekt klienta i wybieramy Add Service Reference. Wklejamy adres ten co w przeglądarce Time Addresses/SimpleCalc/ServiceCalc/ Klikamy Go. Powinien nam się znaleźć nasz serwis z wystawionymi metodami. Zmieniamy nazwę na ServiceReferenceCalc klikamy OK Paweł Paduch Programowanie Systemów Rozproszonych - WCF 35 z 70
36 Service Reference Prosty kalkulator Klient Rysunek: Dodanie referencji Paweł Paduch Programowanie Systemów Rozproszonych - WCF 36 z 70
37 Dodatkowe ustawienia projektu Prosty kalkulator Klient W Solution Explorerze klikamy prawym klawiszem myszy na na Solucji i wybieramy Properties (Alt+Enter) Ustawiamy Multiple startup project oraz Action na Start, zmieniając też kolejność uruchomienia (najpierw powinien wystartować serwer). Rysunek: Właściwości Solucji Paweł Paduch Programowanie Systemów Rozproszonych - WCF 37 z 70
38 Poprawki w kodzie klienta Prosty kalkulator Klient Dodajemy przestrzeń nazw ClientCalc.ServiceReferenceCalc. Można teraz uruchomić i sprawdzić działanie klienta z serwisem. Listing 7: Przykładowy kod klienta 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using ClientCalc.ServiceReferenceCalc; 7 namespace ClientCalc 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 ServiceCalcClient client = new ServiceCalcClient(); 14 Console.WriteLine("Serwis twierdzi ze to {0}", client.dodaj(2, 8).ToString()); 15 Console.ReadLine(); 16 client.close(); 17 } 18 } 19 } Paweł Paduch Programowanie Systemów Rozproszonych - WCF 38 z 70
39 Hostowanie Self Hosting Usługi Windows Web Hosted Sama biblioteka którą stworzyliśmy nie może serwować usług, trzeba ją hostować - osadzić w jakiejś aplikacji. Gdy uruchamiamy nasz projekt w trybie debugowania, jest on hostowany przez WCF Service Host (WcfSvcHost.exe) Self Host - prosta aplikacja w której tworzymy instancję klasy ServiceCalc Windows Service - WS jest hostowany przez usługę windows Web Host - hostowanie na serwerze IIS WAS - Windows Process Activation Service SharePoint Więcej na ten temat tu: Paweł Paduch Programowanie Systemów Rozproszonych - WCF 39 z 70
40 Self Hosting Usługi Windows Web Hosted Dodajemy nowy projekt konsolowy Dodajemy nowy projekt konsolowy SelfHostService Dodajemy dwie przestrzenie nazw System.ServiceModel oraz System.ServiceModel.Description oraz referencję do System.ServiceModel Tworzymy serwis lub dodajemy referencję do biblioteki zawierającej serwis i dodajemy przestrzeń nazw SimpleCalc Na samym początku Maina tworzymy instancje Uri baseaddress = new Uri( ) Dodajemy instancję ServiceHost podając nasz typ serwisu ServiceCalc Przestawiamy w ustawieniach Solucji, aby uruchomił się projekt SelfHostService Paweł Paduch Programowanie Systemów Rozproszonych - WCF 40 z 70
41 Self Hosted Service Self Hosting Usługi Windows Web Hosted Listing 8: Kod aplikacji hostującej serwis 1 static void Main(string[] args) 2 { 3 Uri baseaddress = new Uri(" 4 using (ServiceHost host = new ServiceHost(typeof(ServiceCalc), baseaddress)) 5 { 6 ServiceMetadataBehavior smb = new ServiceMetadataBehavior(); 7 smb.httpgetenabled = true; 8 smb.metadataexporter.policyversion = PolicyVersion.Policy15; 9 host.description.behaviors.add(smb); 10 host.open(); 11 Console.WriteLine("Serwis czeka na {0}", baseaddress); 12 Console.WriteLine("Aby zakonczyc nacisnij Enter"); 13 Console.ReadLine(); 14 host.close(); 15 } 16 } Paweł Paduch Programowanie Systemów Rozproszonych - WCF 41 z 70
42 Problem z uprawnieniami Self Hosting Usługi Windows Web Hosted Niestety, aplikacja hostująca serwis musi być uruchomiona z uprawnieniami administratora, inaczej dostaniemy poniższy błąd: Protokół HTTP nie może zarejestrować adresu URL Używany proces nie ma praw dostępu do przestrzeni nazw (aby uzyskać szczegółowe informacje, zobacz Paweł Paduch Programowanie Systemów Rozproszonych - WCF 42 z 70
43 Problem z uprawnieniami Self Hosting Usługi Windows Web Hosted Rozwiązaniem może być uruchomienie VS jako administrator lub z konsoli administratora dodać uprawnienia: netsh http add urlacl url= user=kowalski lub jeszcze mniej restrykcyjnie netsh http add urlacl url= user=wszyscy Usunięcie uprawnień: netsh http delete urlacl url= Paweł Paduch Programowanie Systemów Rozproszonych - WCF 43 z 70
44 Usługi Self Hosting Usługi Windows Web Hosted Gdy serwis ma działać non stop, uruchamiać się wraz ze startem systemu, dobrym pomysłem jest umieszczenie go w zarządzalnych usługach. Klasa usługi dziedziczy po ServiceBase Czas życia serwisu jest zarządzany przez Service Control Manager - SCM Serwis startuje w metodzie OnStart a usuwamy go w OnStop. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 44 z 70
45 Nowy projekt Windows Service Self Hosting Usługi Windows Web Hosted Dodajemy nowy projekt typu Windows Service o nazwie CalkService Rysunek: Dodanie projektu CalcService Paweł Paduch Programowanie Systemów Rozproszonych - WCF 45 z 70
46 Zmiana nazwy Self Hosting Usługi Windows Web Hosted Zmieniamy nazwę Service1.cs na MojaUslugaKalk.cs Dodajemy referencję do projektu SimpleCalc Dodajemy referencje do System.ServiceModel.dll Dodajemy using System.ServiceModel; W MojaUsługaKalk.cs dodajemy pole private ServiceHost m svchost = null; Paweł Paduch Programowanie Systemów Rozproszonych - WCF 46 z 70
47 MojaUsługaKalk.cs Self Hosting Usługi Windows Web Hosted Listing 9: Kod MojaUslugaKalk.cs 1 //...// 2 using System.ServiceModel; 3 using System.ServiceProcess; 4 5 namespace CalkService 6 { 7 public partial class MojaUslugaKalk : ServiceBase 8 { 9 private ServiceHost m_svchost = null; 10 public MojaUslugaKalk() 11 { 12 InitializeComponent(); 13 } 14 protected override void OnStart(string[] args) 15 { 16 } 17 protected override void OnStop() 18 { 19 } 20 } 21 } Paweł Paduch Programowanie Systemów Rozproszonych - WCF 47 z 70
48 OnStart Self Hosting Usługi Windows Web Hosted Listing 10: Kod metody OnStart 1 protected override void OnStart(string[] args) 2 { 3 if (m_svchost!= null) m_svchost.close(); 4 string stradrhttp = " //definicja endpointów 5 string stradrtcp = "net.tcp://localhost:8002/calcservice"; 6 Uri[] adrbase = { new Uri(strAdrHTTP), new Uri(strAdrTCP) }; //inicjujemy i tworzymy obiekt klasy ServiceHost 7 m_svchost = new ServiceHost(typeof(SimpleCalc.ServiceCalc), adrbase); 8 ServiceMetadataBehavior mbehave = new ServiceMetadataBehavior(); //dodajemy zachowania 9 m_svchost.description.behaviors.add(mbehave); 10 BasicHttpBinding httpb = new BasicHttpBinding();//dodanie endpointów 11 m_svchost.addserviceendpoint(typeof(simplecalc.iservicecalc), httpb, stradrhttp); 12 m_svchost.addserviceendpoint(typeof(imetadataexchange), 13 MetadataExchangeBindings.CreateMexHttpBinding(), "mex"); 14 NetTcpBinding tcpb = new NetTcpBinding(); 15 m_svchost.addserviceendpoint(typeof(simplecalc.iservicecalc), tcpb, stradrtcp); 16 m_svchost.addserviceendpoint(typeof(imetadataexchange), 17 MetadataExchangeBindings.CreateMexTcpBinding(), "mex"); 18 m_svchost.open(); 19 } Paweł Paduch Programowanie Systemów Rozproszonych - WCF 48 z 70
49 OnStop Self Hosting Usługi Windows Web Hosted 1 protected override void OnStop() 2 { 3 if (m_svchost!= null) 4 { 5 m_svchost.close(); 6 m_svchost = null; 7 } 8 } Listing 11: Kod metody OnStop Paweł Paduch Programowanie Systemów Rozproszonych - WCF 49 z 70
50 Installer Self Hosting Usługi Windows Web Hosted Aby móc zainstalować usługę, należy dodać do projektu jeszcze klasę instalatora CalcServiceInstaller dziedziczącą po Installer oraz referencję do System.Configuration.Install.dll Paweł Paduch Programowanie Systemów Rozproszonych - WCF 50 z 70
51 Installer Self Hosting Usługi Windows Web Hosted Listing 12: Kod klasy Installer 1 namespace CalkService 2 { 3 [RunInstaller(true)] 4 public class CalcServiceInstaller : Installer 5 { 6 private ServiceProcessInstaller process; 7 private ServiceInstaller service; 8 9 public CalcServiceInstaller() 10 { 11 process = new ServiceProcessInstaller(); 12 process.account = ServiceAccount.LocalSystem; 13 service = new ServiceInstaller(); 14 service.servicename = "Calck Service"; 15 service.description = "Testowa usluga kalkulatora WCF"; 16 service.displayname = "Calc"; 17 service.starttype = ServiceStartMode.Automatic; 18 Installers.Add(process); 19 Installers.Add(service); 20 } 21 } 22 } Paweł Paduch Programowanie Systemów Rozproszonych - WCF 51 z 70
52 Installer Self Hosting Usługi Windows Web Hosted Po skompilowaniu powinniśmy otrzymać w Bin/Debug plik CalkService.exe Ręczna instalacja polega na wywołaniu z terminala Development Command Prompt (znajduje się w Visual Studio Tools) następującego polecenia. cd < tu nasz katalog z CalkService.exe> installutil CalkService.exe Jeżeli wszystko ok to powinniśmy w usługach windows zauważyć usługę Calc. Wystartowanie ręczne usługi: sc start CalcService Paweł Paduch Programowanie Systemów Rozproszonych - WCF 52 z 70
53 Problemy Self Hosting Usługi Windows Web Hosted Instalacja usługi powinna odbywać się z prawami Administratora (Uruchom konsolę jako Admin). Jeżeli konto systemowe nie ma dostępu do pliku CalkService.exe wystąpi błąd przy uruchamianiu usługi Odmowa Dostępu - błąd 5. Należy zadbać o to, by katalog, w którym znajduje się serwis oraz sam plik wykonywalny był widoczny przez konto systemowe. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 53 z 70
54 Właściwości usługi Self Hosting Usługi Windows Web Hosted Można też we właściwościach usługi określić jakim użytkownikiem będzie ona uruchamiana Rysunek: Określenie użytkownika usługi Paweł Paduch Programowanie Systemów Rozproszonych - WCF 54 z 70
55 Dodanie instalatora Self Hosting Usługi Windows Web Hosted VS oferuje dodanie instalatora z poziomu Designera. Najpierw zakomentujmy kod naszego instalatora Należy otworzyć MojaUslugaKalk.cs w Designerze (Shift+F7) z menu kontekstowego wybrać dodanie instalatora. Rysunek: Dodanie instalatora Paweł Paduch Programowanie Systemów Rozproszonych - WCF 55 z 70
56 Dodanie instalatora Self Hosting Usługi Windows Web Hosted Zmieniamy domyślną nazwę wygenerowanej klasy ProjectInstaller na CalcServiceInstaller2 Zmieniamy odpowiednio nazwy i właściwości dwóch obiektów calcserviceprocessinstaller oraz calcserviceinstaller We właściwościach calcserviceinstaller ustawiamy Opis i nazwę wyświetlaną Ustawiamy też nazwę usługi na CalcService We właściwościach calcserviceprocessinstaller ustawiamy Account = LocalSystem Instalacja jak poprzednio przez konsole deweloperską. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 56 z 70
57 Nowy projekt Self Hosting Usługi Windows Web Hosted Dodajemy nowy projekt ASP.NET Web Application Rysunek: Nowy projekt Paweł Paduch Programowanie Systemów Rozproszonych - WCF 57 z 70
58 Nowy projekt Self Hosting Usługi Windows Web Hosted Wybieramy pusty template Rysunek: Nowy projekt Paweł Paduch Programowanie Systemów Rozproszonych - WCF 58 z 70
59 Nowy projekt Self Hosting Usługi Windows Web Hosted Dodajemy WCFService Rysunek: Nowy serwis Paweł Paduch Programowanie Systemów Rozproszonych - WCF 59 z 70
60 ServiceCalc Self Hosting Usługi Windows Web Hosted Usuwamy wygenerowane pliki *.cs Dodajemy referencję do projektu SimpleCalc Podmieniamy kod pliku svc Listing 13: Kod ServiceCalc.svc 1 <%@ ServiceHost Language="C#" Debug="true" Service="SimpleCalc.ServiceCalc" %> Paweł Paduch Programowanie Systemów Rozproszonych - WCF 60 z 70
61 Web.config Self Hosting Usługi Windows Web Hosted Zmodyfikować plik Web.config jak poniżej: Listing 14: Kod Web.config 1 <?xml version="1.0"?> 2 <configuration> 3 <system.web> 4 <compilation debug="true" targetframework="4.5" /> 5 <httpruntime targetframework="4.5"/> 6 </system.web> 7 <system.servicemodel> 8 <behaviors> 9 <servicebehaviors> 10 <behavior> 11 <servicemetadata httpgetenabled="true" httpsgetenabled="true"/> 12 <servicedebug includeexceptiondetailinfaults="false"/> 13 </behavior> 14 </servicebehaviors> 15 </behaviors> 16 <servicehostingenvironment aspnetcompatibilityenabled="true" multiplesitebindingsenabled= "true" /> 17 </system.servicemodel> 18 <system.webserver> 19 <modules runallmanagedmodulesforallrequests="true"/> 20 <directorybrowse enabled="true"/> 21 </system.webserver> 22 </configuration> Paweł Paduch Programowanie Systemów Rozproszonych - WCF 61 z 70
62 Dodajemy nową witrynę Self Hosting Usługi Windows Web Hosted W menadżerze internetowych usług informacyjnych (IIS) dodajemy nową witrynę: Rysunek: Nowa witryna Paweł Paduch Programowanie Systemów Rozproszonych - WCF 62 z 70
63 Konfiguracja nowej witryny Self Hosting Usługi Windows Web Hosted Ustawiamy nazwę, fizyczne położenie WS oraz port Rysunek: Konfiguracja witryny Paweł Paduch Programowanie Systemów Rozproszonych - WCF 63 z 70
64 .Net 4? Self Hosting Usługi Windows Web Hosted Jeżeli w IIS w domyślnych ustawieniach puli aplikacji jest ustawiona wersja architektury.net Framework na 2.0, to nową pula aplikacji też będzie miała wersję 2.0. Można to zmienić wchodząc w Ustawienia podstawowe wybrane z menu kontekstowego CalcService i wybrać.net 4.x Rysunek: Konfiguracja puli aplikacji Paweł Paduch Programowanie Systemów Rozproszonych - WCF 64 z 70
65 Publikowanie - profil Self Hosting Usługi Windows Web Hosted Projekt WebHostService można w łatwy sposób wgrać w miejsce docelowe za pomocą narzędzia publikacji. Z menu kontekstowego projektu należy wybrać Publish... i dodać nowy profil Rysunek: Publikacja wybór profilu Paweł Paduch Programowanie Systemów Rozproszonych - WCF 65 z 70
66 Self Hosting Usługi Windows Web Hosted Publikowanie - ustawienie połączenia Następnie należy wybrać sposób publikacji i miejsce docelowe. Będzie nim katalog określony w konfiguracji aplikacji webowej na IIS. Rysunek: Publikacja - docelowy katalog Dalej można w ustawieniach wybrać Debug po czym kliknąć publikację. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 66 z 70
67 Publikowanie wersja Web Self Hosting Usługi Windows Web Hosted Można też skonfigurować publikowanie podając adres witryny lokalnej lub zdalnej Rysunek: Publikacja - wersja Web Paweł Paduch Programowanie Systemów Rozproszonych - WCF 67 z 70
Programowanie Systemów Rozproszonych Laboratorium 2 WCF. Paweł Paduch
Programowanie Systemów Rozproszonych Laboratorium 2 WCF Paweł Paduch paduch@tu.kielce.pl 21-03-2016 Rozdział 1 Wstęp 1.1 Materiały pomocniczne Do zajęć przydatne mogą być: materiały udostępniane przez
Bardziej szczegółowoProgramowanie Systemów Rozproszonych Laboratorium 3 WCF. Paweł Paduch
Programowanie Systemów Rozproszonych Laboratorium 3 WCF Paweł Paduch paduch@tu.kielce.pl 12-04-2016 Rozdział 1 Wstęp 1.1 Materiały pomocniczne Do zajęć przydatne mogą być: materiały udostępniane przez
Bardziej szczegółowoNarzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl
Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z
Bardziej szczegółowoTworzenie i wykorzystanie usług sieciowych
Ćwiczenie 14 Temat: Tworzenie i wykorzystanie usług sieciowych Cel ćwiczenia: W trakcie ćwiczenia student zapozna się z procedurą tworzenia usługi sieciowej w technologii ASP.NET oraz nauczy się tworzyć
Bardziej szczegółowoABC WCF. adam.furmanek@studentpartner.com
ABC WCF adam.furmanek@studentpartner.com Agenda WS, SOAP, REST Czym jest WCF? ABC WCF Usługa WCF Klient WCF Demo: prognoza pogody Demo: przesyłanie plików Pozostałe aspekty WCF Podsumowanie WS, SOAP, REST
Bardziej szczegółowoZaawansowane aplikacje internetowe - laboratorium
Zaawansowane aplikacje internetowe - laboratorium Web Services (część 3). Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005. Ponadto wymagany jest
Bardziej szczegółowoTomasz Greszata - Koszalin
T: Konfiguracja usługi HTTP w systemie Windows. Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołów HTTP oraz HTTPS i oprogramowania IIS (ang. Internet Information Services).
Bardziej szczegółowoMichał Jankowski. Remoting w.net 2.0
Michał Jankowski Remoting w.net 2.0 Co to jest? Remoting jest zbiorem funkcji pozwalającym na komunikacje miedzy aplikacjami zarówno w obrębie jednego komputera jak i poprzez sieć Pozwala na komunikację
Bardziej szczegółowonamespace HostedReceiver { public class Receiver: IConfigureThisEndpoint, AsA_Server {
Pobranie i instalacja: - http://www.nservicebus.com/ - download v3.0 now - rozpakować - MSMQ powinno być zainstalowane (Panel Sterowania -> Dodaj/Usuń programy -> Składniki systemu Windows -> Kolejkowanie
Bardziej szczegółowoUsługi sieciowe laboratorium 2013 K.M. Ocetkiewicz, T. Goluch
Usługi laboratorium 2013 K.M. Ocetkiewicz, T. Goluch 1. Wstęp Usługa sieciowa jest zbiorem funkcji udostępnianych przez serwer. Jest to kolejne podejście do problemu zdalnego wołania procedur, w tym wypadku
Bardziej szczegółowoZadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.
T: Konfiguracja usługi HTTP w systemie Windows. Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http. HTTP (ang. Hypertext Transfer Protocol) protokół transferu plików
Bardziej szczegółowoĆwiczenie 1. Kolejki IBM Message Queue (MQ)
Ćwiczenie 1. Kolejki IBM Message Queue (MQ) 1. Przygotowanie Przed rozpoczęciem pracy, należy uruchomić "Kreator przygotowania WebSphere MQ" oraz przejść przez wszystkie kroki kreatora, na końcu zaznaczając
Bardziej szczegółowoProgramowanie Systemów Rozproszonych - WCF REST
Literatura Wprowadzenie Programowanie Systemów Rozproszonych - WCF REST Paweł Paduch Politechnika Świętokrzyska 11 kwietnia 2018 Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 1 z 44 Literatura
Bardziej szczegółowoArchitektury Usług Internetowych. Laboratorium 2. Usługi sieciowe
Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache
Bardziej szczegółowoAplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów
Bardziej szczegółowoWeb Services (SOAP) Ćwiczenie 1
Web Services (SOAP) Ćwiczenia dotyczące platformy Java EE zostały przygotowane z myślą o środowisku NetBeans w wersji 8.x (do pobrania z http://www.netbeans.org/). Do wykonania ćwiczeń dotyczących platformy
Bardziej szczegółowoWykład 12. Programowanie serwera MS SQL 2005 w C#
Wykład 12 Programowanie serwera MS SQL 2005 w C# Budowa procedur składowanych w C# Budowa funkcji składowanych w C# Wykorzystanie funkcji składowanych w C# po stronie klienta Tworzenie typów definiowanych
Bardziej szczegółowoSpis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7
I Wprowadzenie (wersja 0906) Kurs OPC S7 Spis treści Dzień 1 I-3 O czym będziemy mówić? I-4 Typowe sytuacje I-5 Klasyczne podejście do komunikacji z urządzeniami automatyki I-6 Cechy podejścia dedykowanego
Bardziej szczegółowoProgramowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz
Programowanie komponentowe Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System Application
Bardziej szczegółowoInstrukcja instalacji Control Expert 3.0
Instrukcja instalacji Control Expert 3.0 Program Control Expert 3.0 jest to program służący do zarządzania urządzeniami kontroli dostępu. Dedykowany jest dla kontrolerów GRx02 i GRx06 oraz rozwiązaniom
Bardziej szczegółowoPracownia internetowa w szkole ZASTOSOWANIA
NR ART/SBS/07/01 Pracownia internetowa w szkole ZASTOSOWANIA Artykuły - serwery SBS i ich wykorzystanie Instalacja i Konfiguracja oprogramowania MOL Optiva na szkolnym serwerze (SBS2000) Artykuł opisuje
Bardziej szczegółowoKurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)
Spis treści Dzień 1 I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501) I-3 O czym będziemy mówić? I-4 Typowe sytuacje I-5 Klasyczne podejście do komunikacji z urządzeniami
Bardziej szczegółowoMateriały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione
Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf Materiały poprawione Rozwiązanie zadania w NetBeans IDE 7.4: Jarosław Ksybek, Adam Miazio Celem ćwiczenia jest przygotowanie prostej aplikacji
Bardziej szczegółowoWykład 5 Okna MDI i SDI, dziedziczenie
Wykład 5 Okna MDI i SDI, dziedziczenie Autor: Zofia Kruczkiewicz Zagadnienia 1. Aplikacja wielookienkowa. Zakładanie projektu typu CLR Windows Forms 1.1. Aplikacja typu MDI 1.2. Aplikacja typu SDI 2. Dziedziczenie
Bardziej szczegółowoJarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne
Jarosław Kuchta Internetowe Usługi Informacyjne Komponenty IIS HTTP.SYS serwer HTTP zarządzanie połączeniami TCP/IP buforowanie odpowiedzi obsługa QoS (Quality of Service) obsługa plików dziennika IIS
Bardziej szczegółowoKatedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej
Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej dr inż. Paweł Czarnul pczarnul@eti.pg.gda.pl Architektury usług internetowych laboratorium
Bardziej szczegółowoKatalog książek cz. 3: Web Service
Katalog książek cz. 3: Web Service Przygotowanie usługi sieciowej (web service) 1) Uruchom Netbeans, otwórz projekt przygotowany w ramach poprzednich zajęć. W kolejnych krokach przerobimy klasę BookManager
Bardziej szczegółowoUsługi sieciowe laboratorium 2013 K.M. Ocetkiewicz, T. Goluch
Usługi laboratorium 2013 K.M. Ocetkiewicz, T. Goluch 1. Wstęp Usługa sieciowa jest zbiorem funkcji udostępnianych przez serwer. Jest to kolejne podejście do problemu zdalnego wołania procedur, w tym wypadku
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 07 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami tworzenia aplikacji okienkowych w C#. Wprowadzenie teoretyczne. Rozważana w
Bardziej szczegółowoPraktyczne wykorzystanie mechanizmów zabezpieczeń w aplikacjach chmurowych na przykładzie MS Azure
Praktyczne wykorzystanie mechanizmów zabezpieczeń w aplikacjach chmurowych na przykładzie MS Azure Paweł Berus Zespół Bezpieczeństwa PCSS 36. Spotkanie Poznańskiej Grupy.NET Poznań, 13.10. 2011 1 Agenda
Bardziej szczegółowoMicrosoft.NET: ASP.NET MVC + Entity Framework (Code First)
Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2012. W ramach projektu budowana jest prosta
Bardziej szczegółowo12. Wirtualne sieci prywatne (VPN)
12. Wirtualne sieci prywatne (VPN) VPN to technologia tworzenia bezpiecznych tuneli komunikacyjnych, w ramach których możliwy jest bezpieczny dostęp do zasobów firmowych. Ze względu na sposób połączenia
Bardziej szczegółowoProcedury techniczne modułu Forte Kontroling. Ustawienia IIS
Procedury techniczne modułu Forte Kontroling Ustawienia IIS Ustawienia IIS Strona 2 z 9 Konfiguracja IIS: 1. Dla Windows 2003 Server IIS6 1.1. Ustawienia ogólne Po zakończeniu instalacji należy wyłączyć
Bardziej szczegółowoKancelaria Prawna.WEB - POMOC
Kancelaria Prawna.WEB - POMOC I Kancelaria Prawna.WEB Spis treści Część I Wprowadzenie 1 Część II Wymagania systemowe 1 Część III Instalacja KP.WEB 9 1 Konfiguracja... dostępu do dokumentów 11 Część IV
Bardziej szczegółowoDokumentacja SMS przez FTP
Dokumentacja SMS przez FTP 1 Wprowadzenie... 2 Właściwości plików... 3 Tworzenie konfiguracji w Panelu Klienta... 4 Raporty doręczeń... 5 Historia zmian... 6 2 Wprowadzenie Usługa wysyłki SMS przez FTP
Bardziej szczegółowoWykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz
Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Zagadnienia 1. Delegaty wiązane, właściwości indeksowane 2. Delegaty niewiązane 3. Nowa wersja kalkulatora, delegaty
Bardziej szczegółowoLaboratorium 10 - Web Services
Laboratorium 10 - Web Services W ramach laboratorium zapoznamy się z koncepcją Web Service ów (odmiana point-to-point Web Service). W kolejnych krokach utworzony zostanie projekt, w którym wykorzystana
Bardziej szczegółowoKlient poczty elektronicznej - Thunderbird
Klient poczty elektronicznej - Thunderbird Wstęp Wstęp Klient poczty elektronicznej, to program który umożliwia korzystanie z poczty bez konieczności logowania się na stronie internetowej. Za jego pomocą
Bardziej szczegółowoZmiana ustawień puli aplikacji na wersję architektury.net Framework 4.0 dla witryny sieci web na której zainstalowany jest system Mistral
Wrocław, październik 2013 Zmiana ustawień puli aplikacji na wersję architektury.net Framework 4.0 dla witryny sieci web na której zainstalowany jest system Mistral System Mistral od wersji 2.14.0 wymaga
Bardziej szczegółowoRESTful WCF Services. Autor ćwiczenia: Piotr Ostrowski. Kroki ćwiczenia : 1. Utworzenie nowego projektu RESTful WCF.
RESTful WCF Services Do realizacji ćwiczenia potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2010 oraz serwer bazy danych SQL Server Express 2005 lub nowszy. Celem ćwiczenia
Bardziej szczegółowoBiuletyn techniczny. CDN OPT!MA 12.0 Drukarki fiskalne w usługach terminalowych. Copyright 2007 COMARCH SA
Biuletyn techniczny CDN OPT!MA 12.0 Drukarki fiskalne w usługach terminalowych Copyright 2007 COMARCH SA 1 Spis treści 1 SPIS TREŚCI... 2 2 DRUKARKI FISKALNE W USŁUGACH TERMINALOWYCH... 3 2.1 2.2 INSTALACJA
Bardziej szczegółowoWraz z wersją R2 dla systemu Windows 2008 Server nazewnictwo usług terminalowych uległa zmianie. Poniższa tabela przedstawia nową nomenklaturą:
Informator Techniczny nr 137 27-04-2012 INFORMATOR TECHNICZNY WONDERWARE Terminal Service RemoteApp Usługa Terminal Service RemoteApp różni się od standardowej sesji w przypadku Usług terminalowych (Terminal
Bardziej szczegółowoGatesms.eu Mobilne Rozwiązania dla biznesu
Mobilne Rozwiązania dla biznesu SPECYFIKACJA TECHNICZNA WEB API-USSD GATESMS.EU wersja 0.9 Opracował: Gatesms.eu Spis Historia wersji dokumentu...3 Bezpieczeństwo...3 Wymagania ogólne...3 Mechanizm zabezpieczenia
Bardziej szczegółowo1. Uruchomić i skonfigurować środowisko tworzenia aplikacji i serwer aplikacji.
Temat Stworzenie systemu składającego się z prostej usługi sieciowej (ang. web service) oraz komunikującej się z nią aplikacji klienckiej umożliwiającej dostęp do usługi przez przeglądarkę internetową.
Bardziej szczegółowo1 Implementowanie i konfigurowanie infrastruktury wdraŝania systemu Windows... 1
Spis treści Wstęp... xi Wymagania sprzętowe (Virtual PC)... xi Wymagania sprzętowe (fizyczne)... xii Wymagania programowe... xiii Instrukcje instalowania ćwiczeń... xiii Faza 1: Tworzenie maszyn wirtualnych...
Bardziej szczegółowoESDI. WebService. Wersja 1.2. Strona 1
ESDI WebService Wersja 1.2 Strona 1 Spis treści 1. Informacje ogólne... 4 2. Komunikacja... 6 3. Format komunikatu ESDK dla ESDI WebService... 7 4. Podpis CAdES... 8 5. Funkcje API - formaty komunikatów...
Bardziej szczegółowo4. Podstawowa konfiguracja
4. Podstawowa konfiguracja Po pierwszym zalogowaniu się do urządzenia należy zweryfikować poprawność licencji. Można to zrobić na jednym z widżetów panelu kontrolnego. Wstępną konfigurację można podzielić
Bardziej szczegółowoWymagania do zdalnej instalacji agentów firmy StorageCraft
Wymagania do zdalnej instalacji agentów firmy StorageCraft Sytuacja Te wymagania są rekomendowane do zrealizowania przed wykonaniem zdalnej instalacji agentów ShadowProtect. Pomogą one także rozwiązad
Bardziej szczegółowoOpis przykładowego programu realizującego komunikację z systemem epuap wykorzystując interfejs komunikacyjny "doręczyciel"
Opis przykładowego programu realizującego komunikację z systemem epuap wykorzystując interfejs komunikacyjny "doręczyciel" dn.24.09.2009 r. Dokument opisuje przykładowy program doręczający dokumenty na
Bardziej szczegółowoD:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44
Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne
Bardziej szczegółowoForum Client - Spring in Swing
Forum Client - Spring in Swing Paweł Charkowski. 0. Cel projektu Celem projektu jest próba integracji Spring Framework z różnymi technologiami realizacji interfejsu użytkownika, oraz jej ocena. Niniejszy
Bardziej szczegółowoMINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ EMAIL DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP
MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ EMAIL DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP WERSJA 1 z 15 Spis treści 1. Kanał email dla podmiotów zewnętrznych...
Bardziej szczegółowoWielowarstwowe aplikacje internetowe. Web Services. Autorzy wykładu: Maciej Zakrzewicz Marek Wojciechowski. Web Services
Web Services Autorzy wykładu: Maciej Zakrzewicz Marek Wojciechowski Web Services Plan wykładu Wprowadzenie do technologii Web Services Architektura Web Services Protokół komunikacyjny SOAP Język opisu
Bardziej szczegółowoWdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5
Wdrożenie modułu płatności eservice dla systemu Zen Cart 1.3.9 1.5 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie
Bardziej szczegółowoSZYBKI START. Tworzenie nowego połączenia w celu zaszyfrowania/odszyfrowania danych lub tekstu 2. Szyfrowanie/odszyfrowanie danych 4
SZYBKI START Tworzenie nowego połączenia w celu zaszyfrowania/odszyfrowania danych lub tekstu 2 Szyfrowanie/odszyfrowanie danych 4 Szyfrowanie/odszyfrowanie tekstu 6 Tworzenie nowego połączenia w celu
Bardziej szczegółowoProcedury techniczne modułu Forte Kontroling. Środowisko pracy programu i elementy konfiguracji
Procedury techniczne modułu Forte Kontroling Środowisko pracy programu i elementy konfiguracji Środowisko pracy programu i elementy konfiguracji Strona 2 z 5 Moduł Kontroling Systemu Zarzadzania Forte
Bardziej szczegółowoGit, Bitbucket, IntelliJ IDEA
Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Narzędzia i środowiska programistyczne Laboratorium 3 Git, Bitbucket, IntelliJ IDEA Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy
Bardziej szczegółowoMicrosoft.NET: LINQ to SQL, ASP.NET AJAX
Microsoft.NET: LINQ to SQL, ASP.NET AJAX Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2008 oraz serwer bazy danych SQL Server Express 2005 (lub
Bardziej szczegółowoInstrukcja instalacji i obsługi programu Szpieg 3
COMPUTER SERVICE CENTER 43-300 Bielsko-Biała ul. Cieszyńska 52 tel. +48 (33) 819 35 86, 819 35 87, 601 550 625 Instrukcja instalacji i obsługi programu Szpieg 3 wersja 0.0.2 123 SERWIS Sp. z o. o. ul.
Bardziej szczegółowoDokonaj instalacji IIS opublikuj stronę internetową z pierwszych zajęć. Ukaże się kreator konfigurowania serwera i klikamy przycisk Dalej-->.
Dokonaj instalacji IIS opublikuj stronę internetową z pierwszych zajęć Ukaże się kreator konfigurowania serwera i klikamy przycisk Dalej-->. Następnie wybieramy Serwer aplikacji (IIS, ASP.NET) i klikamy
Bardziej szczegółowoWstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5 Programowanie komponentowe 1 Przykład 1- Wykonanie prostej aplikacji internetowej w technologii JavaEE w środowisku Netbeans 5.5 z wykorzystaniem
Bardziej szczegółowoPrzykładowa dostępna aplikacja w Visual Studio - krok po kroku
Przykładowa dostępna aplikacja w Visual Studio - krok po kroku Zadaniem poniższego opisu jest pokazanie, jak stworzyć aplikację z dostępnym interfejsem. Sama aplikacja nie ma konkretnego zastosowania i
Bardziej szczegółowoSIMON SAYS ARCHITECTURE! Usługi zdalne. Technologie, techniki i praktyki implementacji
SIMON SAYS ARCHITECTURE! Usługi zdalne Technologie, techniki i praktyki implementacji O mnie Bloguję: SIMON-SAYS-ARCHITECTURE.COM Twittuję: www.twitter.com/szymonpobiega Koduję: DDDSample.Net, NetMX, WS-Man.Net
Bardziej szczegółowo- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy
Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy - Narzędzie Windows Forms - Przykładowe aplikacje 1 Narzędzia Windows Form Windows Form jest narzędziem do tworzenia aplikacji dla
Bardziej szczegółowoWykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz
Wykład 3 Inżynieria oprogramowania Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System
Bardziej szczegółowoPracownia internetowa w każdej szkole (edycja Jesień 2007)
Instrukcja numer D1/05_03/Z Pracownia internetowa w każdej szkole (edycja Jesień 2007) Opiekun pracowni internetowej cz. 1 Ręczne zakładanie kont użytkowników (D1) Jak ręcznie założyć konto w systemie
Bardziej szczegółowoFAQ: 00000012/PL Data: 19/11/2007 Programowanie przez Internet: Przekierowanie portu na SCALANCE S 612 w celu umo
W tym dokumencie opisano przekierowanie portu na sprzętowym firewall u SCALANCE S 612 V2* (numer katalogowy: 6GK5612-0BA00-2AA3) w celu umoŝliwienia komunikacji STEP 7 ze sterownikiem przez sieć Ethernet/Internet.
Bardziej szczegółowoxmlns:prism=http://www.codeplex.com/prism c. <ContentControl prism:regionmanager.regionname="mainregion" />
1 Tworzenie Shella a. W pierwszej kolejności tworzymy nowy projekt: WPF Application. Name: Shell SolutionName: PrismApp b. Dodajemy bibliotekę PRISM za pomocą NuGet Managera (dla.net Framework 4.5 Prism
Bardziej szczegółowoInstrukcja konfiguracji funkcji skanowania
Instrukcja konfiguracji funkcji skanowania WorkCentre M123/M128 WorkCentre Pro 123/128 701P42171_PL 2004. Wszystkie prawa zastrzeżone. Rozpowszechnianie bez zezwolenia przedstawionych materiałów i informacji
Bardziej szczegółowoSystem zdalnego dostępu (VPN) do sieci Wydziału Elektrycznego PW
System zdalnego dostępu (VPN) do sieci Wydziału Elektrycznego PW Dokument dostęny do pobrania Z początkiem bieżącego roku akademickiego 2011/2012 zotał uruchomiony nowy system zdalnego dostępu do sieci
Bardziej szczegółowoInstalacja i konfiguracja serwera IIS z FTP
Instalacja i konfiguracja serwera IIS z FTP IIS (Internet Information Services) jest to usługa dostępna w systemach z rodziny Windows Server, pozwalająca na obsługę i utrzymanie własnych stron WWW oraz
Bardziej szczegółowoVComNet Podręcznik użytkownika. VComNet. Podręcznik użytkownika Wstęp
VComNet Podręcznik użytkownika Wstęp VComNet przeznaczony jest do wdrażania aplikacji komunikacyjnych uruchomionych na komputerze PC z systemem Windows z urządzeniami połączonymi poprzez RS485 (RS422/RS232)
Bardziej szczegółowoSpecyfikacja techniczna. mprofi Interfejs API
Warszawa 09.04.2015. Specyfikacja techniczna mprofi Interfejs API wersja 1.0.2 1 Specyfikacja techniczna mprofi Interfejs API wersja 1.0.2 WERSJA DATA STATUTS AUTOR 1.0.0 10.03.2015 UTWORZENIE DOKUMENTU
Bardziej szczegółowoUwierzytelnianie użytkowników sieci bezprzewodowej z wykorzystaniem serwera Radius (Windows 2008)
Uwierzytelnianie użytkowników sieci bezprzewodowej z wykorzystaniem serwera Radius (Windows 2008) Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z rozwiązaniami systemu Windows 2008 server do uwierzytelnienia
Bardziej szczegółowoProgramowanie w Javie
Programowanie w Javie Andrzej Czajkowski Lista nr 0 Debugger w Javie Celem ćwiczenia jest poznanie podstawowych funkcji narzędzia debugera (odpluskwiacz) w środowisku Eclipse. Po ukończeniu ćwiczenia student
Bardziej szczegółowoFragmenty są wspierane od Androida 1.6
W androidzie można tworzyć dynamiczne interfejsy poprzez łączenie w moduły komponentów UI z aktywnościami. Moduły takie tworzy się za pomocą klasy Fragment, która zachowuje się jak zagnieżdżone aktywności
Bardziej szczegółowoProgramowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych
Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,
Bardziej szczegółowoAplikacje internetowe i rozproszone - laboratorium
Aplikacje internetowe i rozproszone - laboratorium Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z technologią EJB w wersji 3.0, a w szczególności: implementacja komponentów sesyjnych,
Bardziej szczegółowoAplikacje RMI Lab4
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Lab4 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych 1 1. Koncepcja budowy aplikacji RMI (aplikacja rozproszonych
Bardziej szczegółowoWszystkie parametry pracy serwera konfigurujemy w poszczególnych zakładkach aplikacji, podzielonych wg zakresu funkcjonalnego.
Sz@rk Server - konfigurowanie systemu Sz@rk Server jest serwerem aplikacji z wydzieloną logiką biznesową, pracującym w architekturze opartej o usługi (SOA). Dane pomiędzy serwerem i klientami przesyłane
Bardziej szczegółowoAplikacja npodpis do obsługi certyfikatu (instrukcja użytkownika)
Pałucki Bank Spółdzielczy w Wągrowcu Spółdzielcza Grupa Bankowa Aplikacja npodpis do obsługi certyfikatu (instrukcja użytkownika) Wągrowiec, maj 2019 r. Spis treści I. Aplikacja npodpis do obsługi certyfikatu...
Bardziej szczegółowoInstrukcja integratora - obsługa dużych plików w epuap2
Instrukcja integratora - obsługa dużych plików w epuap2 Wersja: 1.1 Strona 1 z 18 Spis treści SPIS TREŚCI... 2 WPROWADZENIE ORAZ INFORMACJE OGÓLNE... 3 1.1 WSTĘP... 3 1.2 WARUNKI KONIECZNE DO SPEŁNIENIA
Bardziej szczegółowoRozproszone systemy internetowe
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Rozproszone systemy internetowe Wprowadzenie do usług WWW (Web Services) Podniesienie potencjału uczelni
Bardziej szczegółowoINSTRUKCJA KONFIGURACJI KLIENTA POCZTOWEGO
INSTRUKCJA KONFIGURACJI KLIENTA POCZTOWEGO UWAGA!!! Wskazówki dotyczą wybranych klientów pocztowych Zespół Systemów Sieciowych Spis treści 1. Konfiguracja klienta pocztowego Outlook Express 3 2. Konfiguracja
Bardziej szczegółowoPłatności CashBill - SOAP
Dokumentacja techniczna 1.0 Płatności CashBill - SOAP Dokumentacja wdrożenia systemu Płatności CashBill w oparciu o komunikację według protokołu SOAP CashBill Spółka Akcyjna ul. Rejtana 20, 41-300 Dąbrowa
Bardziej szczegółowoInstrukcja aktualizacji oprogramowania. Wersja dokumentu: 01i00 Aktualizacja:
Instrukcja aktualizacji oprogramowania Wersja dokumentu: 01i00 Aktualizacja: 2016-03-11 Uwagi Inne dokumenty dotyczące obsługi urządzeń można pobrać ze strony energetyka.itr.org.pl Przed aktualizacją oprogramowania
Bardziej szczegółowoZdalne wywołanie metod - koncepcja. Oprogramowanie systemów równoległych i rozproszonych Wykład 7. Rodzaje obiektów. Odniesienie do obiektu
Zdalne wywołanie metod - koncepcja Oprogramowanie systemów równoległych i rozproszonych Wykład 7 RMI (Remote Method Invocation) - obiektowe RPC, dostarcza klientowi interfejs do obiektu, implementacja
Bardziej szczegółowoRozdział 3. Zapisywanie stanu aplikacji w ustawieniach lokalnych
Rozdział 3. Zapisywanie stanu aplikacji w ustawieniach lokalnych Jacek Matulewski Materiały dla Podyplomowego Studium Programowania i Zastosowania Komputerów, sekcja Projektowanie i tworzenie aplikacji
Bardziej szczegółowoOprogramowanie systemów równoległych i rozproszonych Wykład 7
Wykład 7 p. 1/2 Oprogramowanie systemów równoległych i rozproszonych Wykład 7 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Zdalne wywołanie
Bardziej szczegółowoPracownia internetowa w szkole podstawowej (edycja jesień 2005)
Instrukcja numer SPD6/26_00/Z Pracownia internetowa w szkole podstawowej (edycja jesień 2005) Opiekun pracowni internetowej cz. 6 (SPD2.3) Poprawianie instalacji serwera w przypadku wykrycia nieprawidłowości
Bardziej szczegółowoNIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI. Asix.Evo. Przeglądarkowa wersja aplikacji Asix.Evo znane problemy. Pomoc techniczna
NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI Asix.Evo Przeglądarkowa wersja aplikacji Asix.Evo znane problemy Pomoc techniczna Dok. Nr PLP0024 Wersja:11-06-2015 ASKOM i Asix to zastrzeżony znak firmy ASKOM
Bardziej szczegółowoPodręcznik użytkownika
Podręcznik użytkownika Moduł kliencki Kodak Asset Management Software Stan i ustawienia zasobów... 1 Menu Stan zasobów... 2 Menu Ustawienia zasobów... 3 Obsługa alertów... 7 Komunikaty zarządzania zasobami...
Bardziej szczegółowoR o g e r A c c e s s C o n t r o l S y s t e m 5
R o g e r A c c e s s C o n t r o l S y s t e m 5 Nota aplikacyjna nr 017 Wersja dokumentu: Rev. B P ra ca z bazą da nych MS SQL Server Wprowadzenie System RACS 5 umożliwia wykorzystanie środowiska zarządzania
Bardziej szczegółowoInstalacja i konfiguracja IIS-a na potrzeby dostępu WEB do aplikacji Wonderware InTouch Machine Edition
Instalacja i konfiguracja IIS-a na potrzeby dostępu WEB do aplikacji Wonderware InTouch Machine Edition Informator Techniczny Wonderware nr 164 27.06.2017 r. INSTALACJA MICROSOFT INTERNET INFORMATION SERVICES
Bardziej szczegółowo1 Wprowadzenie do J2EE
Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2
Bardziej szczegółowoZadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu ftp.
T: Konfiguracja usługi ftp w systemie Windows 8.1. Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu ftp. FTP (ang. File Transfer Protocol) protokół transferu plików umożliwiający
Bardziej szczegółowoPrzypisywanie bibliotek w architekturze SAS
SAS Institute TECHNICAL SUPPORT Przypisywanie bibliotek w architekturze SAS Platforma SAS pozwala na zdefiniowanie wspólnych zasobów w metadanych oraz ustalanie praw dostępu dla użytkowników i grup. Ze
Bardziej szczegółowoCurrenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3
Currenda EPO Instrukcja Konfiguracji Wersja dokumentu: 1.3 Currenda EPO Instrukcja Konfiguracji - wersja dokumentu 1.3-19.08.2014 Spis treści 1 Wstęp... 4 1.1 Cel dokumentu... 4 1.2 Powiązane dokumenty...
Bardziej szczegółowoInstrukcja konfigurowania poczty Exchange dla klienta pocztowego użytkowanego poza siecią uczelnianą SGH.
Instrukcja konfigurowania poczty Exchange dla klienta pocztowego użytkowanego poza siecią uczelnianą SGH. Spis treści 1. Konfiguracja poczty Exchange dla klienta pocztowego Outlook 2007 protokół Exchange
Bardziej szczegółowo