Programowanie Systemów Rozproszonych - WCF

Wielkość: px
Rozpocząć pokaz od strony:

Download "Programowanie Systemów Rozproszonych - WCF"

Transkrypt

1 Literatura Wprowadzenie Programowanie Systemów Rozproszonych - WCF Paweł Paduch Politechnika Świętokrzyska 15 kwietnia 2016 Paweł Paduch Programowanie Systemów Rozproszonych - WCF 1 z 57

2 Plan wykładu Literatura Wprowadzenie 1 Literatura Wprowadzenie 2 Serwis Program Hostujący Klient 3 IIS - Automatycznie IIS - Ręcznie Usługa Windows 4 Web Site Przekazywanie informacji o błędzie do klienta Komunikacja dwukierunkowa - Duplex Paweł Paduch Programowanie Systemów Rozproszonych - WCF 2 z 57

3 Literatura Literatura Wprowadzenie Strony dokumentacji MS Andrew Troelsen - Język C# 2010 i platforma.net 4 Paweł Paduch Programowanie Systemów Rozproszonych - WCF 3 z 57

4 Literatura Wprowadzenie WCF (ang. Windows Communication Foundation) framework do budowania aplikacji opartej o serwisy. Używając WCF można wysyłać dane jako asynchroniczne komunikaty z jednego punktu końcowego (ang. Endpoint) do drugiego. To samo API wykorzystuje się do stworzenia komunikacji pomiędzy aplikacjami na tym samym komputerze, komputerami lokalnej czy globalnej sieci. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 4 z 57

5 Zastosowania Literatura Wprowadzenie y zastosowań: Bezpieczne serwisy do przetwarzania informacji biznesowych Serwisy dostarczające bieżące dane np. o ruchu ulicznym czy serwisy monitorujące Komunikatory Aplikacje analityczne pobierające dane z wielu serwisów Wystawienie obiegu zleceń (workflow) Aplikacje silverlight zasilane z danych wystawionych przez serwis. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 5 z 57

6 Model Literatura Wprowadzenie WCF bazuje na pojęciu komunikacji opartej na przesyłaniu wiadomości i wszystko co może być wymodelowane jako komunikat (np. żądanie http lub kolejka komunikatów MSMQ) może być reprezentowane w uniwersalnym modelu programowania. Dlatego można wykorzystać jedno API do różnego mechanizmu transportowego. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 6 z 57

7 Model Literatura Wprowadzenie W modelu możemy wyróżnić: klientów, którzy inicjują komunikację serwisów, aplikacji które czekają i odpowiadają na zgłoszenia klientów. pojedyncza aplikacja może działać jednocześnie jako klient i serwer np. Duplex Services lub Peer-to-Peer Networking. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 7 z 57

8 Endpoints Literatura Wprowadzenie Endpoints to punkty pomiędzy którymi komunikaty są wymieniane (wysyłka i/lub odbiór). Definiują one wszystkie informacje potrzebne do wymiany wiadomości. Serwis zwykle wystawia jeden lub kilka punktów końcowych aplikacji jak również 0 lub więcej punktów końcowych infrastruktury. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 8 z 57

9 Endopoint Literatura Wprowadzenie Endopoint - może być częścią serwisu działającego ciągle np. osadzonego na IIS lub hostowany w aplikacji. Endpointem może być też klient zgłaszający się do serwera. Klient generuje endpoint kompatybilny z jednym z endpointów serwisu. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 9 z 57

10 Nowy projekt Serwis Program Hostujący Klient Tworzymy nową solucję WCFWyklad a w niej projekt CalcServiceLibrary typu WCF Library Rysunek: Nowy projekt Paweł Paduch Programowanie Systemów Rozproszonych - WCF 10 z 57

11 Modyfikacje Serwis Program Hostujący Klient Zmieniamy nazwy IService1 i Service na ICalc i Calc Modyfikujemy linijkę a App.config: Listing 1: Zmiana w app.config 1 <add baseaddress=" /Design_Time_Addresses/CalcServiceLibrary/Calc/" /> Usuwamy wygenerowany przykład Echa Paweł Paduch Programowanie Systemów Rozproszonych - WCF 11 z 57

12 Interfejs Serwis Program Hostujący Klient Tworzymy nowy interfejs Listing 2: ICalc.cs 1 [ServiceContract(Namespace =" 2 public interface ICalc 3 { 4 [OperationContract] 5 double Add(double a, double b); 6 7 [OperationContract] 8 double Sub(double a, double b); 9 10 [OperationContract] 11 double Mul(double a, double b); [OperationContract] 14 double Div(double a, double b); 15 } Paweł Paduch Programowanie Systemów Rozproszonych - WCF 12 z 57

13 Implementacja interfejsu Serwis Program Hostujący Klient Tworzymy implementację Listing 3: Calc.cs 1 public double Add(double a, double b) 2 { return a + b; } 3 4 public double Div(double a, double b) 5 { if (b == 0) throw new DivideByZeroException(" parametr b nie moze byc 0"); 6 return a / b; } 7 8 public double Mul(double a, double b) 9 { return a * b; } public double Sub(double a, double b) 12 { return a - b; } Można przetestować serwis (F5) Paweł Paduch Programowanie Systemów Rozproszonych - WCF 13 z 57

14 Nowy projekt Serwis Program Hostujący Klient Dodajemy nowy projekt do solucji typu Console Application Dodajemy referencję do projektu Dodajemy referencję do System.ServiceModel Dodajemy odpowiednie using do Program.cs: Listing 4: Dodatkowe przestrzenie nazw 1 using CalcServiceLibrary; 2 using System.ServiceModel; 3 using System.ServiceModel.Description; 4 Paweł Paduch Programowanie Systemów Rozproszonych - WCF 14 z 57

15 Main Serwis Program Hostujący Klient Listing 5: Adres oraz instancja serwisu 1 Uri baseaddress = new Uri(" ; 2 3 ServiceHost selfhost = new ServiceHost(typeof(Calc), baseaddress); Paweł Paduch Programowanie Systemów Rozproszonych - WCF 15 z 57

16 Main Serwis Program Hostujący Klient Ustanawiamy punkt końcowy usługi oraz umożliwiamy wymianę metadanych: Listing 6: Endpoint i wymiana danych 1 // Dodajemy Endopoint uslugi 2 selfhost.addserviceendpoint(typeof(icalc), new WSHttpBinding(), "CalculatorService"); 3 4 // Umozliwiamy wymiane metadanych 5 ServiceMetadataBehavior smb = new ServiceMetadataBehavior(); 6 smb.httpgetenabled = true; 7 selfhost.description.behaviors.add(smb); Paweł Paduch Programowanie Systemów Rozproszonych - WCF 16 z 57

17 Main Serwis Program Hostujący Klient Startujemy i zamykamy serwis Listing 7: Start i zamknięcie serwisu 1 selfhost.open(); 2 Console.WriteLine("Serwis dziala..."); 3 Console.WriteLine("Nacisnij <ENTER> by zakonczyc."); 4 Console.WriteLine(); 5 Console.ReadLine(); 6 7 selfhost.close(); Można ustawić startup na bieżący projekt i uruchomić (F5) Paweł Paduch Programowanie Systemów Rozproszonych - WCF 17 z 57

18 Nowy projekt Serwis Program Hostujący Klient Dodajemy nowy projekt WPF Z Toolboxa po lewej dodajemy 3 razy textbox (textboxa, textboxb, textboxwynik) Ten ostatni można dać Disabled Dodajemy 4 guziki (buttonplus, buttonminu, buttonmnoz, buttondziel ja na rysunku 2 Paweł Paduch Programowanie Systemów Rozproszonych - WCF 18 z 57

19 Referencje i implementacja Serwis Program Hostujący Klient Uruchamiamy hosta z usługą w trybie bez debugowania (ctrl+f5) Dodajemy referencje do System.ServiceModel oraz service reference podając adres gdzie host wystawił naszą usługę Dodajemy using CalculatorClient.CalcServiceReference; do MainWindowXaml.cs Paweł Paduch Programowanie Systemów Rozproszonych - WCF 19 z 57

20 Implementacja Serwis Program Hostujący Klient W konstruktorze MainWindow dodajemy: Listing 8: Start serwisu 1 public MainWindow() 2 { 3 InitializeComponent(); 4 try 5 { 6 klient = new CalcServiceReference.CalcClient(); 7 } 8 catch (Exception ex) 9 { 10 MessageBox.Show("nie udalo sie stworzyc klienta CalcServiceReference. " + ex.message); 11 } 12 } dodajemy prywatne pole CalcClient klient = null; dodajemy obsługę ClosingWindow gdzie umieszczamy klient.close(); Paweł Paduch Programowanie Systemów Rozproszonych - WCF 20 z 57

21 Pobierz liczby Serwis Program Hostujący Klient Piszemy funkcję pobierającą dane z Textboxów Listing 9: pobierzliczby 1 bool pobierzliczby(out double a, out double b) 2 { 3 b = 0; 4 a = 0; 5 6 if (!double.tryparse(textboxparama.text, out a)) 7 { 8 MessageBox.Show("niepoprawna liczba a"); 9 return false; 10 } 11 if (!double.tryparse(textboxparamb.text, out b)) 12 { 13 MessageBox.Show("niepoprawna liczba b"); 14 return false; 15 } 16 return true; 17 } Paweł Paduch Programowanie Systemów Rozproszonych - WCF 21 z 57

22 Obsługa guzików Serwis Program Hostujący Klient Dodajemy i podpinamy funkcje do obsługi zdarzeń kliknięć Listing 10: Obsługa kliknięcia na guziku dodawania 1 private void buttonplus_click(object sender, RoutedEventArgs e) 2 { 3 double a, b; 4 if (pobierzliczby(out a, out b)) 5 { 6 textboxwynik.text = klient.add(a, b).tostring(); 7 } 8 } Jeżeli program hostujący uruchomiony możemy uruchomić naszego klienta (F5) Paweł Paduch Programowanie Systemów Rozproszonych - WCF 22 z 57

23 Przygotowanie nowej strony IIS - Automatycznie IIS - Ręcznie Usługa Windows Otwieramy menadżera IIS Dodajemy nową stronę Rysunek: Nowa strona Paweł Paduch Programowanie Systemów Rozproszonych - WCF 23 z 57

24 Zmiana architektóry IIS - Automatycznie IIS - Ręcznie Usługa Windows Dwukrotnie klikamy na puli aplikacji Zmieniamy na.net 4.0 Rysunek: Zmiana architektury na.net 4.0 Paweł Paduch Programowanie Systemów Rozproszonych - WCF 24 z 57

25 Deploy automatyczny IIS - Automatycznie IIS - Ręcznie Usługa Windows Tworzymy nowy projekt WCF Service App Wybieramy publikuj i klikamy custom. Rysunek: Publikacja serwisu Paweł Paduch Programowanie Systemów Rozproszonych - WCF 25 z 57

26 Deploy automatyczny IIS - Automatycznie IIS - Ręcznie Usługa Windows Wpisujemy odpowiednie dane... Rysunek: Dane do publikacji Paweł Paduch Programowanie Systemów Rozproszonych - WCF 26 z 57

27 Deploy automatyczny - problem IIS - Automatycznie IIS - Ręcznie Usługa Windows...i mamy pierwszy problem Rysunek: Nie można połączyć Należy włączyć Usługę zarządzania siecią Web - wmsvc Doinstalować też Web Deployment Tool co spowoduje dodanie usługi Web Deployment Agent Service msdepsvc. Otworzyć na firewallu port 8172 Paweł Paduch Programowanie Systemów Rozproszonych - WCF 27 z 57

28 Deploy ręczny IIS - Automatycznie IIS - Ręcznie Usługa Windows Do CalcServiceLibrary dodaje plik Service.svc Listing 11: Service.svc 1 <%@ServiceHost language="c#" Debug="true" Service=" CalcServiceLibrary.Calc"%> Dodajemy też Web.config Paweł Paduch Programowanie Systemów Rozproszonych - WCF 28 z 57

29 Deploy ręczny IIS - Automatycznie IIS - Ręcznie Usługa Windows Listing 12: Web.config 1 <?xml version="1.0" encoding="utf-8"?> 2 <configuration> 3 <system.servicemodel> 4 <services> 5 <!-- This section is optional with the default configuration 6 model introduced in.net Framework 4 --> 7 <service name="calcservicelibrary.calc" behaviorconfiguration="defaultbehavior"> 8 <!-- This endpoint is exposed at the base address provided by host: --> 9 <endpoint address="" 10 binding="wshttpbinding" 11 contract="calcservicelibrary.icalc" /> 12 <!-- The mex endpoint is exposed at --> 13 <endpoint address="mex" 14 binding="mexhttpbinding" 15 contract="imetadataexchange" /> 16 </service> 17 </services> 18 <behaviors> 19 <servicebehaviors > 20 <behavior name="defaultbehavior"> 21 <!-- To avoid disclosing metadata information, 22 set the values below to false before deployment --> 23 <!-- <servicemetadata httpgetenabled="true" httpsgetenabled="true"/>--> 24 <servicemetadata httpgetenabled="true" /> <!-- To receive exception details in faults for debugging purposes, 27 set the value below to true. Set to false before deployment 28 to avoid disclosing exception information --> 29 <servicedebug includeexceptiondetailinfaults="true"/> 30 </behavior> 31 </servicebehaviors> 32 </behaviors> 33 </system.servicemodel> 34 </configuration> Paweł Paduch Programowanie Systemów Rozproszonych - WCF 29 z 57

30 Deploy ręczny IIS - Automatycznie IIS - Ręcznie Usługa Windows W katalogu gdzie wskazuje strona np. C:\inetpub\wwwroot\webservices\TestService wgrać pliki service.svc, Web.config oraz katalog bin. Jeżeli web config jest ok to powinno zadziałać. Uruchamiamy Developer Command Prompt for VS2015 i tam wpisujemy wcftestclient.exe podajemy adres naszej strony svc. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 30 z 57

31 Nowy projekt usługi windows IIS - Automatycznie IIS - Ręcznie Usługa Windows Tworzymy nowy projekt nazwa CalcWindowsService Rysunek: Nowy projekt usługi windows Zmieniamy Service1 na CalcWinService Paweł Paduch Programowanie Systemów Rozproszonych - WCF 31 z 57

32 Nadanie nazwy usłudze IIS - Automatycznie IIS - Ręcznie Usługa Windows W CalcWindowsService.Designer.cs zmieniamy nazwę usługi Listing 13: CalcWindowsService.Designer.cs 1 private void InitializeComponent() 2 { 3 components = new System.ComponentModel.Container(); 4 this.servicename = "CalcWindowsService"; 5 } W CalcWinService.cs dodajemy referencje do System.ServiceModel i System.ServiceModel.Description i zmienną Listing 14: CalcWinService.cs 1 private ServiceHost m_svchost = null; Dodajemy referencje do proj CalcServiceLibrary i wstawiamy using o tej samej nazwie. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 32 z 57

33 Metoda OnStart IIS - Automatycznie IIS - Ręcznie Usługa Windows Wypełniamy metodę OnStart w CalcWinService.cs Listing 15: CalcWinService.cs 1 protected override void OnStart(string[] args) 2 { 3 if (m_svchost!= null) m_svchost.close(); 4 5 string stradrhttp = " 6 string stradrtcp = "net.tcp://localhost:9002/calcservice"; 7 8 Uri[] adrbase = { new Uri(strAdrHTTP), new Uri(strAdrTCP) }; 9 m_svchost = new ServiceHost(typeof(Calc), adrbase); ServiceMetadataBehavior mbehave = new ServiceMetadataBehavior(); 12 m_svchost.description.behaviors.add(mbehave); BasicHttpBinding httpb = new BasicHttpBinding(); 15 m_svchost.addserviceendpoint(typeof(icalc), httpb, stradrhttp); 16 m_svchost.addserviceendpoint(typeof(imetadataexchange), 17 MetadataExchangeBindings.CreateMexHttpBinding(), "mex"); NetTcpBinding tcpb = new NetTcpBinding(); 20 m_svchost.addserviceendpoint(typeof(icalc), tcpb, stradrtcp); 21 m_svchost.addserviceendpoint(typeof(imetadataexchange), 22 MetadataExchangeBindings.CreateMexTcpBinding(), "mex"); m_svchost.open(); 25 } Paweł Paduch Programowanie Systemów Rozproszonych - WCF 33 z 57

34 Metoda OnStop IIS - Automatycznie IIS - Ręcznie Usługa Windows Wypełniamy metodę OnStop w CalcWinService.cs Listing 16: CalcWinService.cs 1 protected override void OnStop() 2 { 3 if (m_svchost!= null) 4 { 5 m_svchost.close(); 6 m_svchost = null; 7 } 8 } Paweł Paduch Programowanie Systemów Rozproszonych - WCF 34 z 57

35 Dodanie instalatora usługi IIS - Automatycznie IIS - Ręcznie Usługa Windows Otworzyć CalcWinService w trybie designera Prawym klawiszem otworzyć menu kontekstowe i wybrać add installer Rysunek: Dodanie instalatora Zmieniamy nazwę ProjectInstaller na CalcServiceInstaller Paweł Paduch Programowanie Systemów Rozproszonych - WCF 35 z 57

36 CalcServiceInstaller IIS - Automatycznie IIS - Ręcznie Usługa Windows Kalwiszem F7 przełączmy się na kod i uzupełniamy go Listing 17: CalcServiceInstaller.cs 1 public CalcServiceInstaller() 2 { 3 // InitializeComponent(); 4 serviceprocessinstaller1 = new ServiceProcessInstaller(); 5 serviceprocessinstaller1.account = ServiceAccount.LocalSystem; 6 serviceinstaller1 = new ServiceInstaller(); 7 serviceinstaller1.servicename = "CalcWinService"; 8 serviceinstaller1.displayname = "Kalkulator Serwis"; 9 serviceinstaller1.description = "WCF Kalkulator Serwis, przykladowy serwis hostowany w usludze windows"; 10 serviceinstaller1.starttype = ServiceStartMode.Automatic; 11 Installers.Add(serviceProcessInstaller1); 12 Installers.Add(serviceInstaller1); 13 } Paweł Paduch Programowanie Systemów Rozproszonych - WCF 36 z 57

37 Instalacja i start usługi IIS - Automatycznie IIS - Ręcznie Usługa Windows Otwieramy Command Prompt z uprawnieniami administratora i przechodzimy do katalogu gdzie znajduje się CalcWindowsService.exe Wykonujemy polecenie: InstallUtil CalcWindowsService.exe Start usługi: sc start CalcWinService lub z menadżera usług: Rysunek: Zarządzanie usługami usługa powinna być widoczna pod Paweł Paduch Programowanie Systemów Rozproszonych - WCF 37 z 57

38 Zatrzymanie i usunięcie usługi IIS - Automatycznie IIS - Ręcznie Usługa Windows Zatrzymanie sc stop CalcWinService Usunięcie InstallUtil /u CalcWindowsService.exe Mamiętaj! Gdy zmieniamy nazwę usługi należy ją najpierw odinstalować przed skompilowaniem nowej wersji ponieważ deinstalator posługując się plikiem exe nie znajdzie usługi o starej nazwie Można ewentualnie też tak: net stop ServiceName sc delete ServiceName Gdyby był błąd 1072 to trzeba sprawdzić czy nie ma uruchomionego menadżera usług, mmc lub ProcessExplorera Paweł Paduch Programowanie Systemów Rozproszonych - WCF 38 z 57

39 Nowy projekt Web Site Web Site Przekazywanie informacji o błędzie do klienta Komunikacja dwukierunkowa - Duplex Do solucji dodajemy nowy web site (z menu kontekstowego wybieramy add new web site) Rysunek: Nowy Web Site Do projektu dodajemy nowy formularz Web Form i zostawiamy nazwę Default.aspx Paweł Paduch Programowanie Systemów Rozproszonych - WCF 39 z 57

40 Formatka Web Site Przekazywanie informacji o błędzie do klienta Komunikacja dwukierunkowa - Duplex Uzupełniamy kod dodanej formatki Default.aspx Listing 18: Default.aspx 1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 2 3 <!DOCTYPE html> 4 5 <html xmlns=" 6 <head runat="server"> 7 <title></title> 8 </head> 9 <body> 10 <form id="form1" runat="server"> 11 <div> 12 <asp:label ID="Label1" runat="server" 13 Text="Wartosc 1 : "></asp:label> 14 <asp:textbox ID="txtVal1" runat="server"></asp:textbox> 15 <br /> 16 <asp:label ID="Label2" runat="server" 17 Text="Wartosc 2 : "></asp:label> 18 <asp:textbox ID="txtVal2" runat="server"></asp:textbox> 19 <br /> 20 <asp:button ID="btnCalc" runat="server" 21 onclick="btncalc_click" Text="Oblicz" 22 Width="91px" /> 23 <br /> 24 <asp:label ID="lblOutput" runat="server" 25 BorderStyle="None" Height="152px" 26 Width="606px"></asp:Label> 27 </div> 28 </form> 29 </body> 30 </html> Paweł Paduch Programowanie Systemów Rozproszonych - WCF 40 z 57

41 Service Reference Web Site Przekazywanie informacji o błędzie do klienta Komunikacja dwukierunkowa - Duplex Dodajemy referencje do serwisu Rysunek: Nowy Web Site Stworzy nam to katalog App WebReferences oraz zmodyfikuje web.config Paweł Paduch Programowanie Systemów Rozproszonych - WCF 41 z 57

42 Default.aspx.cs Web Site Przekazywanie informacji o błędzie do klienta Komunikacja dwukierunkowa - Duplex Listing 19: Default.aspx.cs 1 protected void btncalc_click(object sender, EventArgs e) 2 { double dblx = 0, dbly = 0; 3 bool b1 = double.tryparse(txtval1.text, out dblx); 4 bool b2 = double.tryparse(txtval2.text, out dbly); 5 6 if ((b1) && (b2)) 7 { StringBuilder sbtmp = new StringBuilder("<font size=3 color=#000080>"); 8 9 sbtmp.append("<p>wprowadzono<br>wartosc 1 : " + dblx.tostring("f2")); 10 sbtmp.append("<br>wartosc 2 : " + dbly.tostring("f2")); 11 sbtmp.append("<p>obliczam za pomoca HTTP Binding"); ServiceReferenceCalc.CalcClient calcproxy1 = new ServiceReferenceCalc.CalcClient("BasicHttpBinding_ICalc"); 14 double dblresult = calcproxy1.add(dblx, dbly); 15 sbtmp.append("<br>wolam Add >"); 16 sbtmp.append(dblresult.tostring()); 17 dblresult = calcproxy1.sub(dblx, dbly); 18 sbtmp.append("<br>wolam Sub >"); 19 sbtmp.append(dblresult.tostring()); 20 dblresult = calcproxy1.mul(dblx, dbly); 21 sbtmp.append("<br>wolam Mul >"); 22 sbtmp.append(dblresult.tostring()); 23 dblresult = calcproxy1.div(dblx, dbly); 24 sbtmp.append("<br>wolam Div >"); 25 sbtmp.append(dblresult.tostring()); 26 ServiceReferenceCalc.CalcClient calcproxy2 = new ServiceReferenceCalc.CalcClient("NetTcpBinding_ICalc"); 27 sbtmp.append("<p>obliczam za pomoca NetTcp Binding"); 28 dblresult = calcproxy2.add(dblx, dbly); 29 sbtmp.append("<br>wolam Add >"); 30 sbtmp.append(dblresult.tostring()); 31 dblresult = calcproxy2.sub(dblx, dbly); 32 sbtmp.append("<br>wolam Sub >"); 33 sbtmp.append(dblresult.tostring()); 34 dblresult = calcproxy2.mul(dblx, dbly); 35 sbtmp.append("<br>wolam Mul >"); 36 sbtmp.append(dblresult.tostring()); 37 dblresult = calcproxy2.div(dblx, dbly); 38 sbtmp.append("<br>wolam Div >"); 39 sbtmp.append(dblresult.tostring()); 40 lbloutput.text = sbtmp.tostring(); 41 } 42 } Paweł Paduch Programowanie Systemów Rozproszonych - WCF 42 z 57

43 Przekazywanie wyjątków do klienta Web Site Przekazywanie informacji o błędzie do klienta Komunikacja dwukierunkowa - Duplex Jeżeli chcemy przekazać klientowi wyjątek wygenerowany po stronie serwera należy zmodyfikować zachowanie serwisu Można to zrobić z poziomu kodu Listing 20: Włączenie przekazywania szczegółów wyjątków 1 ServiceMetadataBehavior smb = new ServiceMetadataBehavior(); 2 smb.httpgetenabled = true; 3 selfhost.description.behaviors.find<servicedebugbehavior>(). IncludeExceptionDetailInFaults = true; 4 selfhost.description.behaviors.add(smb); Paweł Paduch Programowanie Systemów Rozproszonych - WCF 43 z 57

44 Przekazywanie wyjątków do klienta Web Site Przekazywanie informacji o błędzie do klienta Komunikacja dwukierunkowa - Duplex Można to zrobić w konfiguracji serwisu Listing 21: Włączenie przekazywania szczegółów wyjątków 1 <!-- To receive exception details in faults for debugging purposes, 2 set the value below to true. Set to false before deployment 3 to avoid disclosing exception information --> 4 <servicedebug includeexceptiondetailinfaults="true"/> 5 </behavior> 6 </servicebehaviors> 7 </behaviors> 8 </system.servicemodel> 9 10 </configuration> Paweł Paduch Programowanie Systemów Rozproszonych - WCF 44 z 57

45 Zwracanie błędu Web Site Przekazywanie informacji o błędzie do klienta Komunikacja dwukierunkowa - Duplex Aby przekazać bład do klienta można posłużyć się klasą FaultException Listing 22: Przekazywanie błedów do klientów 1 throw new FaultException("Nie dziel przez 0!", new FaultCode("Zle parametry wejsciowe!")); Paweł Paduch Programowanie Systemów Rozproszonych - WCF 45 z 57

46 Duplex Contract Web Site Przekazywanie informacji o błędzie do klienta Komunikacja dwukierunkowa - Duplex Duplex Service Contract jest paternem dwukierunkowej wymiany komunikatów pomiędzy dwoma endpointami Duplex Service może odesłać wiadomość do klienta poprzez kanał zwrotny, który klient udostępnia serwisowi. Żeby stworzyć kontrakt typu duplex potrzebujemy pary interfejsów. Pierwszym jest Service Contract Interface, który opisuje operacje jaki klient może wywoływać na serwisie. W tym kontrakcie definiujemy też interfejs dla klienta tzw. Callback Contract w atrybucie ServiceContractAttribute.CallbackContract Callback Contract jest interfejsem opisującym co może serwis zrobić u klienta. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 46 z 57

47 Nowy projekt Web Site Przekazywanie informacji o błędzie do klienta Komunikacja dwukierunkowa - Duplex Dodajemy nowy projekt WCF Service Application o nazwie WCFTestApp Rysunek: Nowy projekt WCF Paweł Paduch Programowanie Systemów Rozproszonych - WCF 47 z 57

48 Zmiana nazw Web Site Przekazywanie informacji o błędzie do klienta Komunikacja dwukierunkowa - Duplex Service1 zmieniamy na DuplexTest modyfikujemy zawartość DuplexTest.svc (prawy klawisz myszy,,view Markup ) Zamieniamy Service1 na DuplexTest usuwamy domyślną zawartość w plikach *.cs Paweł Paduch Programowanie Systemów Rozproszonych - WCF 48 z 57

49 Definicja Interfejsów Web Site Przekazywanie informacji o błędzie do klienta Komunikacja dwukierunkowa - Duplex W pliku IDuplexText.cs Definiujemy dwa interfejsy wraz z odpowiednimi atrybutami: Listing 23: Interfejsy 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Runtime.Serialization; 5 using System.ServiceModel; 6 using System.ServiceModel.Web; 7 using System.Text; 8 9 namespace DuplexTestApp 10 { 11 public interface IKontraktZwrotny 12 { 13 [OperationContract(IsOneWay = true)] 14 void FunkcjaZwrotna(string str); 15 } 16 [ServiceContract (CallbackContract = typeof(ikontraktzwrotny))] 17 public interface IDuplexTest 18 { 19 [OperationContract(IsOneWay = true)] 20 void DodajSlowo(string str); 21 } 22 } Paweł Paduch Programowanie Systemów Rozproszonych - WCF 49 z 57

50 Implementacja DuplexTest.cs Web Site Przekazywanie informacji o błędzie do klienta Komunikacja dwukierunkowa - Duplex W pliku DuplexTest realizujemy zadany interfejs. Listing 24: DuplexTest.svc.cs 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Runtime.Serialization; 5 using System.ServiceModel; 6 using System.ServiceModel.Web; 7 using System.Text; 8 9 namespace DuplexTestApp 10 { public class DuplexTest : IDuplexTest 13 { 14 IKontraktZwrotny callback = null; 15 List<string> listaslow = null; 16 public DuplexTest() 17 { 18 listaslow = new List<string>(); 19 callback = OperationContext.Current.GetCallbackChannel<IKontraktZwrotny>(); 20 } 21 public void DodajSlowo(string str) 22 { 23 if (listaslow!= null) listaslow.add(str); 24 callback.funkcjazwrotna("otrzymalem slowo: " + str + ". Liczba slow: " + listaslow.count()); 25 } 26 } 27 } Paweł Paduch Programowanie Systemów Rozproszonych - WCF 50 z 57

51 Implementacja DuplexTest.cs Web Site Przekazywanie informacji o błędzie do klienta Komunikacja dwukierunkowa - Duplex W pliku Web.config modyfikujemy konfiguracje tak by serwis obsługiwał tryb duplex, dodajemy nasz serwis Listing 25: Web.config 1 <system.servicemodel> 2 <behaviors> 3 <servicebehaviors> 4 <behavior name ="duplexbehav"> 5 <!-- To avoid disclosing metadata information, set the values below to false before deployment --> 6 <servicemetadata httpgetenabled="false" httpsgetenabled="false"/> 7 <!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information --> 8 <servicedebug includeexceptiondetailinfaults="true"/> 9 </behavior> 10 </servicebehaviors> 11 </behaviors> 12 <services> 13 <service name="duplextestapp.duplextest" behaviorconfiguration="duplexbehav"> 14 <host> 15 <baseaddresses> 16 <add baseaddress=" 17 </baseaddresses> 18 </host> 19 <endpoint name ="duplexendpoint" 20 address="" 21 binding="wsdualhttpbinding" 22 contract="duplextestapp.iduplextest"/> 23 <endpoint name ="MetaDataTcpEndpoint" 24 address="mex" 25 binding="mexhttpbinding" 26 contract="imetadataexchange"/> 27 </service> 28 </services> 29 <!--<protocolmapping> 30 <add binding="basichttpsbinding" scheme="https"/> 31 </protocolmapping>--> 32 <servicehostingenvironment aspnetcompatibilityenabled="true" multiplesitebindingsenabled="true"/> 33 </system.servicemodel> Paweł Paduch Programowanie Systemów Rozproszonych - WCF 51 z 57

52 Uruchomienie Web Site Przekazywanie informacji o błędzie do klienta Komunikacja dwukierunkowa - Duplex Można prawym klawiszem myszy otworzyć menu kontekstowe na pliku e i wybrać View in Browser Możemy też hostawać serwis na IIS jak pokazano na innych slajdach. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 52 z 57

53 Klient Web Site Przekazywanie informacji o błędzie do klienta Komunikacja dwukierunkowa - Duplex Mając uruchomiony serwis, tworzymy nową aplikację konsolową: Dodaj nowy projekt o nazwe DuplexTestProgram Dodaje referencje do System.ServiceModel oraz service reference do naszej usługi Np. Nadajemy przestrzeń nazw dla nowej referencji DuplexTestRef Do programu dodajemy nową klasę Odpowiadacz Paweł Paduch Programowanie Systemów Rozproszonych - WCF 53 z 57

54 Klasa Odpowiadacz Web Site Przekazywanie informacji o błędzie do klienta Komunikacja dwukierunkowa - Duplex Listing 26: Odpowiadacz.cs 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.ServiceModel; 7 using DuplexTestProgram.DuplexTestRef; 8 9 namespace DuplexTestProgram 10 { 11 class Odpowiadacz : IDuplexTestCallback, IDisposable 12 { 13 DuplexTestClient proxy; public void FunkcjaZwrotna(string str) 16 %{ 17 Console.WriteLine("Zwrotnie dostalem: " + str); 18 } public void zawolajserwis(string str) 21 { 22 InstanceContext context = new InstanceContext(this); 23 proxy = new DuplexTestClient(context); 24 proxy.dodajslowo(str); 25 } public void Dispose() 28 { 29 proxy.close(); 30 } 31 } 32 } Paweł Paduch Programowanie Systemów Rozproszonych - WCF 54 z 57

55 Główny program Web Site Przekazywanie informacji o błędzie do klienta Komunikacja dwukierunkowa - Duplex Listing 27: Program.cs 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace DuplexTestProgram 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 Odpowiadacz odp = new Odpowiadacz(); 14 odp.zawolajserwis("kuku"); 15 Console.ReadLine(); 16 odp.dispose(); 17 } 18 } 19 } Paweł Paduch Programowanie Systemów Rozproszonych - WCF 55 z 57

56 Pytania Web Site Przekazywanie informacji o błędzie do klienta Komunikacja dwukierunkowa - Duplex? Paweł Paduch Programowanie Systemów Rozproszonych - WCF 56 z 57

57 koniec Web Site Przekazywanie informacji o błędzie do klienta Komunikacja dwukierunkowa - Duplex Dziękuję Państwu za uwagę. Paweł Paduch Programowanie Systemów Rozproszonych - WCF 57 z 57

Programowanie Systemów Rozproszonych - WCF

Programowanie Systemów Rozproszonych - WCF Literatura Wprowadzenie Programowanie Systemów Rozproszonych - WCF Paweł Paduch Politechnika Świętokrzyska 22 marca 2017 Paweł Paduch Programowanie Systemów Rozproszonych - WCF 1 z 62 Plan wykładu Literatura

Bardziej szczegółowo

Programowanie Systemów Rozproszonych Laboratorium 3 WCF. Paweł Paduch

Programowanie 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ółowo

Programowanie Systemów Rozproszonych Laboratorium 2 WCF. Paweł Paduch

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ółowo

Programowanie Systemów Rozproszonych - WCF

Programowanie Systemów Rozproszonych - WCF 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 Plan

Bardziej szczegółowo

Programowanie Systemów Rozproszonych - WCF REST

Programowanie 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ółowo

Laboratorium 10 - Web Services

Laboratorium 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ółowo

Tworzenie i wykorzystanie usług sieciowych

Tworzenie 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ółowo

RESTful WCF Services. Autor ćwiczenia: Piotr Ostrowski. Kroki ćwiczenia : 1. Utworzenie nowego projektu RESTful WCF.

RESTful 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ółowo

Wykład 12. Programowanie serwera MS SQL 2005 w C#

Wykł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ółowo

ABC WCF. adam.furmanek@studentpartner.com

ABC 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ółowo

Narzę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 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ółowo

Michał Jankowski. Remoting w.net 2.0

Michał 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ółowo

namespace HostedReceiver { public class Receiver: IConfigureThisEndpoint, AsA_Server {

namespace 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ółowo

Zaawansowane aplikacje internetowe - laboratorium

Zaawansowane 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ółowo

Wykł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 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ółowo

Rozdział 3. Zapisywanie stanu aplikacji w ustawieniach lokalnych

Rozdział 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ółowo

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

Ć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ółowo

Materiał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 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ółowo

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię usług sieciowych (ang. Web Services).

Bardziej szczegółowo

Programowanie telefonów z Windows Phone 7, cz. 4

Programowanie telefonów z Windows Phone 7, cz. 4 Programowanie telefonów z Windows Phone 7, cz. 4 Piotr M. Szczypiński Instytut Elektroniki Politechniki Łódzkiej http://www.eletel.p.lodz.pl/pms/ piotr.szczypinski@p.lodz.pl Budynek B9, II piętro, pokój

Bardziej szczegółowo

Prosta książka telefoniczna z wykorzystaniem zapisu do pliku

Prosta książka telefoniczna z wykorzystaniem zapisu do pliku Prosta książka telefoniczna z wykorzystaniem zapisu do pliku Celem zajęć będzie napisanie prostego programu okienkowego, którego zadaniem będzie zapisywanie imienia, nazwiska, adresu-email oraz numeru

Bardziej szczegółowo

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

- 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ółowo

xmlns:prism=http://www.codeplex.com/prism c. <ContentControl prism:regionmanager.regionname="mainregion" />

xmlns: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ółowo

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

Usł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ółowo

Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html

Aplikacje 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ółowo

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1 1 LINQ 1 1. Cel zajęć Celem zajęć jest zapoznanie się z technologią LINQ oraz tworzeniem trójwarstwowej aplikacji internetowej. 2. Zadanie Proszę przygotować aplikację WWW, która: będzie pozwalała na generowanie

Bardziej szczegółowo

Programowanie 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 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ółowo

MasterPage w ASP.NET

MasterPage w ASP.NET MasterPage w ASP.NET Paulo Gliwa Data opracowania: 23 VI 2017 Wstęp. Podczas tworzenia aplikacji internetowych na platformie ASP.NET mamy do użytku wiele przydatnych narzędzi przyśpieszających i ułatwiających

Bardziej szczegółowo

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby

Bardziej szczegółowo

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3 3 ASP.NET MVC Podstawy 1 1. Cel zajęć Celem zajęć jest zapoznanie się z podstawami ASP.NET MVC 2.0 Framework. 2. Zadanie Proszę zbudować prostą aplikację WWW przy zastosowaniu framework a ASP.NET MVC 2.0

Bardziej szczegółowo

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Projektowanie i wdrażanie systemów informatycznych Przekształcenie

Bardziej szczegółowo

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

Usł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ółowo

.NET 3.0. .NET Framework Microsoft Windows Communication Foundation Microsoft Windows Presentation Foundation Microsoft Windows Workflow Foundation

.NET 3.0. .NET Framework Microsoft Windows Communication Foundation Microsoft Windows Presentation Foundation Microsoft Windows Workflow Foundation .NET 3.0 i 3.5 .NET 3.0 Składa się z:.net Framework Microsoft Windows Communication Foundation Microsoft Windows Presentation Foundation Microsoft Windows Workflow Foundation.NET Framework jak w wersji

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Programowanie 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ółowo

Wykład 5 Okna MDI i SDI, dziedziczenie

Wykł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ółowo

Infrastruktura aplikacji WWW

Infrastruktura aplikacji WWW ASP.NET WebForms Infrastruktura aplikacji WWW Gotowe rozwiązania architektoniczne i szkielety aplikacji zwalniają twórców aplikacji z implementacji infrastruktury, zwiększając ich produktywność Stanowy,

Bardziej szczegółowo

Git, Bitbucket, IntelliJ IDEA

Git, 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ółowo

Aplikacje RMI Lab4

Aplikacje 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ółowo

Klasy i obiekty cz II

Klasy i obiekty cz II Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Klasy i obiekty cz II Hermetyzacja, mutatory, akcesory, ArrayList Rozwijamy aplikację Chcemy, aby obiekty klasy

Bardziej szczegółowo

Przykładowa dostępna aplikacja w Visual Studio - krok po kroku

Przykł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ółowo

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

Architektury 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ółowo

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem. WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM NetBeans Wykonał: Jacek Ventzke informatyka sem. VI 1. Uruchamiamy program NetBeans (tu wersja 6.8 ) 2. Tworzymy

Bardziej szczegółowo

Programowanie telefonów z Windows Phone 7, cz. 2

Programowanie telefonów z Windows Phone 7, cz. 2 Programowanie telefonów z Windows Phone 7, cz. 2 Piotr M. Szczypiński Instytut Elektroniki Politechniki Łódzkiej http://www.eletel.p.lodz.pl/pms/ piotr.szczypinski@p.lodz.pl Budynek B9, II piętro, pokój

Bardziej szczegółowo

SZYBKI 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 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ółowo

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1) Instrukcja tworzenia aplikacji EE na podstawie aplikacji z dostępem do bazy danych, prezentowanej na zajęciach lab.5 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Projektowanie i wdrażanie

Bardziej szczegółowo

Programowanie komponentowe 5

Programowanie komponentowe 5 Budowa warstwy klienta w architekturze typu klient-serwer zbudowanych z komponentów typu EE - klient desktopowy i internetowy. Zastosowanie komponentów opartych na technologii EJB 3.2. na podstawie https://docs.oracle.com/javaee/7/jeett.pdf

Bardziej szczegółowo

4 C#. Tworzenie aplikacji sieciowych. 101 gotowych projektów

4 C#. Tworzenie aplikacji sieciowych. 101 gotowych projektów Wstęp... 7 Rozdział 1. Język C# i platforma.net... 9 Technologia.NET. Krótki wstęp... 9 Elementy języka C# i programowanie zorientowane obiektowo... 10 Przestrzenie nazw... 13 Kolekcje... 14 Zdarzenia

Bardziej szczegółowo

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

Wstęp. Skąd pobrać program do obsługi FTP? Logowanie Wstęp FTP - (ang. File Transfer Protocol - protokół transmisji danych) jest to protokół typu klient-serwer, który umożliwia przesyłanie plików na serwer, oraz z serwera poprzez program klienta FTP. Dzięki

Bardziej szczegółowo

Rozdział 2. Debugowanie kodu

Rozdział 2. Debugowanie kodu Rozdział 2. Debugowanie kodu Jacek Matulewski Materiały dla Podyplomowego Studium Programowania i Zastosowania Komputerów, sekcja Projektowanie i tworzenie aplikacji dla platformy.net (pod patronatem Microsoft)

Bardziej szczegółowo

Instalacja i konfiguracja IIS-a na potrzeby dostępu WEBowego/Secure

Instalacja i konfiguracja IIS-a na potrzeby dostępu WEBowego/Secure Instalacja i konfiguracja IIS-a na potrzeby dostępu WEBowego/Secure Viewer-a do aplikacji Wonderware InTouch Machine Edition Informator Techniczny Wonderware nr 164 27.06.2017 r. INSTALACJA MICROSOFT INTERNET

Bardziej szczegółowo

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz Budowa aplikacji wielowarstwowych zastosowanie szablonów Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz Przykład 1 Zastosowanie szablonów Tworzenie kopii projektu typu Web Application o nazwie

Bardziej szczegółowo

Instrukcja obsługi serwera FTP v.28.12.2010

Instrukcja obsługi serwera FTP v.28.12.2010 Instrukcja obsługi serwera FTP v.28.12.2010 1. Dostęp klienta do konta FTP 1.1. Wprowadzić do przeglądarki adres ftp://87.204.185.42 lub alternatywny adres IP ftp://82.11.1160.114 1.2. Wprowadzić nazwę

Bardziej szczegółowo

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną,

Bardziej szczegółowo

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków mgr inż. Maciej Lasota Version 1.0, 13-05-2017 Spis treści Wyjątki....................................................................................

Bardziej szczegółowo

Instalacja 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 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ółowo

Programowanie wielowarstwowe i komponentowe

Programowanie wielowarstwowe i komponentowe Programowanie wielowarstwowe i komponentowe JSF 2 wprowadzenie Konfiguracja Eclipse - dodanie szablonu XHTML dla potrzeb JSF 1. Otwórz menu Window/Preferences. Następnie z drzewka wybierz Web/HTML Files/Editor/Templates.

Bardziej szczegółowo

5.4. Tworzymy formularze

5.4. Tworzymy formularze 5.4. Tworzymy formularze Zastosowanie formularzy Formularz to obiekt bazy danych, który daje możliwość tworzenia i modyfikacji danych w tabeli lub kwerendzie. Jego wielką zaletą jest umiejętność zautomatyzowania

Bardziej szczegółowo

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016 Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,

Bardziej szczegółowo

Wykład 4. Klasa List Kolejki Stosy Słowniki

Wykład 4. Klasa List Kolejki Stosy Słowniki Wykład 4 Klasa List Kolejki Stosy Słowniki Klasa List Poważną niedogodnością tablic jako kolekcji danych jest fakt, że muszą one mieć stały rozmiar. Programista musi wiedzieć z góry ile miejsca powinien

Bardziej szczegółowo

MikroTik Serwer OpenVPN

MikroTik Serwer OpenVPN MikroTik Serwer OpenVPN Generowanie certyfikatów na systemie Debian. Instalujemy OpenVPN, następnie przechodzimy do katalogu ze skryptami: cd /usr/share/openvpn/easyrsa edytujemy plik vars ustawiając kraj,

Bardziej szczegółowo

Zaawansowane aplikacje internetowe laboratorium REST

Zaawansowane aplikacje internetowe laboratorium REST Zaawansowane aplikacje internetowe laboratorium REST Pytka Bartosz, Drożdż Mateusz, Ejkszto Mateusz, Łozowski Marcin, Tański Mariusz Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne

Bardziej szczegółowo

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio Podstawy programowania Ćwiczenie Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio Tematy ćwiczenia algorytm, opis języka programowania praca ze środowiskiem, formularz, obiekty

Bardziej szczegółowo

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018 Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy

Bardziej szczegółowo

Fragmenty są wspierane od Androida 1.6

Fragmenty 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ółowo

Wykł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 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ółowo

Programowanie Systemów Rozproszonych Laboratorium 1 Wprowadzenie do Visual Studio i C# Paweł Paduch

Programowanie Systemów Rozproszonych Laboratorium 1 Wprowadzenie do Visual Studio i C# Paweł Paduch Programowanie Systemów Rozproszonych Laboratorium 1 Wprowadzenie do Visual Studio i C# Paweł Paduch paduch@tu.kielce.pl 11-03-2019 Rozdział 1 Wstęp 1.1 Na początek Pierwsze zajęcia laboratoryjne z Programowania

Bardziej szczegółowo

Programowanie zespołowe

Programowanie zespołowe Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Laboratorium 6 Programowanie zespołowe Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy 2 Programowanie zespołowe Wymagania wstępne

Bardziej szczegółowo

Laboratorium 1 - Programowanie proceduralne i obiektowe

Laboratorium 1 - Programowanie proceduralne i obiektowe Laboratorium 1 - Programowanie proceduralne i obiektowe mgr inż. Kajetan Kurus 4 marca 2014 1 Podstawy teoretyczne 1. Programowanie proceduralne (powtórzenie z poprzedniego semestru) (a) Czym się charakteryzuje?

Bardziej szczegółowo

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

Usługi sieciowe laboratorium 2018 K.M. Ocetkiewicz, T. Goluch Usługi sieciowe laboratorium 2018 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,

Bardziej szczegółowo

Zaawansowane aplikacje WWW - laboratorium

Zaawansowane aplikacje WWW - laboratorium Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w

Bardziej szczegółowo

2. W oknie dialogowym Choose Toolbox Items w zakładce.net Framework Components naciskamy przycisk Browse...

2. W oknie dialogowym Choose Toolbox Items w zakładce.net Framework Components naciskamy przycisk Browse... KORZYSTANIE Z KONTROLKI.NET LENDEVICERS232 DODAWANIE KONTROLKI DO ZBIORU KOMPONENTÓW DOSTĘPNYCH W PALECIE TOOLBOX (ŚRODOWISKA PROGRAMISTYCZNE FIRMY MICROSOFT) W środowisku programistycznym (Visual C++,

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium JavaServer Pages Celem ćwiczenia jest zbudowanie kilku prostych stron internetowych z użyciem technologii JSP. Podczas ćwiczenia wykorzystany zostanie algorytm sortowania bąbelkowego

Bardziej szczegółowo

Web Services (SOAP) Ćwiczenie 1

Web 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ółowo

Wywoływanie metod zdalnych

Wywoływanie metod zdalnych Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia

Bardziej szczegółowo

Windows Workflow Foundation (wprowadzenie - prosty przykład Sequential Workflow):

Windows Workflow Foundation (wprowadzenie - prosty przykład Sequential Workflow): Windows Workflow Foundation (wprowadzenie - prosty przykład Sequential Workflow): 1. Utworzenie projektu - Sequential Workflow. File - New Project - Visual C# -Workflow- Sequential Workflow Console Application

Bardziej szczegółowo

Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse 1 Cel laboratorium: Nabycie umiejętności przygotowywania testów akceptacyjnych za pomocą narzędzia FitNesse 1. Wg wskazówek

Bardziej szczegółowo

Aplikacja Sieciowa wątki po stronie klienta

Aplikacja Sieciowa wątki po stronie klienta Aplikacja Sieciowa wątki po stronie klienta Na ostatnich zajęciach zajmowaliśmy się komunikacją pomiędzy klientem a serwerem. Wynikiem naszej pracy był program klienta, który za pomocą serwera mógł się

Bardziej szczegółowo

Instrukcja laboratoryjna cz.2

Instrukcja laboratoryjna cz.2 Synteza aplikacji biznesowych 2013/2014 Instrukcja laboratoryjna cz.2 Administracja serwisów Microsoft SharePoint Prowadzący: Tomasz Goluch Wersja: 4.1 I. Diagnostyka przy użyciu mechanizmu Developer Dashboard.

Bardziej szczegółowo

Programowanie obiektowe

Programowanie 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ółowo

Spis treści INTERFEJS (WEBSERVICES) - DOKUMENTACJA TECHNICZNA 1

Spis treści INTERFEJS (WEBSERVICES) - DOKUMENTACJA TECHNICZNA 1 I N T E R F E J S W E BSERVICES NADAWANIE PAKIETÓW D O S Y S T EMU MKP PRZEZ I N TERNET D O K U M E N T A C J A T E C H N I C Z N A P A Ź D Z I E R N I K 2 0 1 6 Spis treści 1. Wstęp... 2 2. Informacje

Bardziej szczegółowo

Instrukcja tworzenia aplikacji bazodanowej opartej o technologię Oracle i platformę.net

Instrukcja tworzenia aplikacji bazodanowej opartej o technologię Oracle i platformę.net Instrukcja tworzenia aplikacji bazodanowej opartej o technologię Oracle i platformę.net Aby móc uzyskaćdostęp do bazy danych z zewnętrznych aplikacji, w tym wypadku aplikacji.net, niezbędne jest wykonanie

Bardziej szczegółowo

SIMON SAYS ARCHITECTURE! Usługi zdalne. Technologie, techniki i praktyki implementacji

SIMON 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

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium JavaServer Faces Celem ćwiczenia jest przygotowanie aplikacji internetowej z wykorzystaniem technologii JSF. Prezentowane ćwiczenia zostały wykonane w środowisku Oracle JDeveloper

Bardziej szczegółowo

Wszystkie parametry pracy serwera konfigurujemy w poszczególnych zakładkach aplikacji, podzielonych wg zakresu funkcjonalnego.

Wszystkie 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ółowo

Aplikacja npodpis do obsługi certyfikatu (instrukcja użytkownika)

Aplikacja 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ółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;

Bardziej szczegółowo

Mechanizmy pracy równoległej. Jarosław Kuchta

Mechanizmy pracy równoległej. Jarosław Kuchta Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x Wdrożenie modułu płatności eservice dla systemu oscommerce 2.3.x - 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ółowo

Zastosowanie komponentów EJB typu Session

Zastosowanie komponentów EJB typu Session Zastosowanie komponentów EJB typu Session na podstawie https://docs.oracle.com/javaee/7/jeett.pdf Programowanie komponentowe Lab1 1 1. Refaktoryzacja kodu programu Sklep_6 z lab5, TINT 1.1. Należy wykonać

Bardziej szczegółowo

Wywoływanie metod zdalnych

Wywoływanie metod zdalnych Wywoływanie metod zdalnych Podejście obiektowe do budowy systemów rozproszonych Wywoływanie metod zdalnych model systemu obiekt aplikacja kliencka interfejs serwer proxy szkielet sieć Istota podejścia

Bardziej szczegółowo

Instrukcja laboratoryjna cz.7

Instrukcja laboratoryjna cz.7 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

Bardziej szczegółowo

Podstawowe informacje o technologii Java Persistence API - przykład

Podstawowe informacje o technologii Java Persistence API - przykład Podstawowe informacje o technologii Java Persistence API - przykład na podstawie https://docs.oracle.com/javaee/7/jeett.pdf Programowanie komponentowe 3_2 1 1. Wykonanie kopii programu Sklep_6 2 1. Wykonanie

Bardziej szczegółowo

Instrukcja obsługi programu CMS Dla rejestratorów HANBANG

Instrukcja obsługi programu CMS Dla rejestratorów HANBANG Instrukcja obsługi programu CMS Dla rejestratorów HANBANG 1. Wymagania sprzętowe: Minimalne wymagania sprzętowe: System operacyjny: Windows Serwer 2003 Standard Edition SP2 Baza danych: Mysql5.0 Procesor:

Bardziej szczegółowo

Tworzenie i wykorzystanie usług

Tworzenie i wykorzystanie usług Strona 1 Co to jest usługa w systemie Android? Usługi HTTP Obsługa wywołania HTTP GET Obsługa wywołania HTTP POST Obsługa wieloczęściowego wywołania HTTP POST Usługi lokalne Usługi zdalne Tworzenie usługi

Bardziej szczegółowo

Zdalne 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. 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ółowo

Db4o obiektowa baza danych wersja.net

Db4o obiektowa baza danych wersja.net Wstęp Db4o obiektowa baza danych wersja.net Db4o (database for objects) to obiektowa baza danych na platformę Java i.net. Pełna wersja bazy db4o jest dostępna na dwóch licencjach: open source: pozwala

Bardziej szczegółowo

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016 Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa

Bardziej szczegółowo

Języki i metody programowania Java Lab2 podejście obiektowe

Języki i metody programowania Java Lab2 podejście obiektowe Języki i metody programowania Java Lab2 podejście obiektowe https://docs.oracle.com/javase/tutorial/ http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/javazk4_2.pdf Zofia Kruczkiewicz 1 Zadanie

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe zastosowanie języka Java SE Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z

Bardziej szczegółowo