Programowanie Systemów Rozproszonych - WCF REST

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

Download "Programowanie Systemów Rozproszonych - WCF REST"

Transkrypt

1 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

2 Literatura Wprowadzenie Plan wykładu 1 Literatura Wprowadzenie 2 Per Call Per Session Single 3 2 Sharp Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 2 z 44

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

4 Literatura Wprowadzenie Wprowadzenie REST (ang. REpresentational State Transfer) Protokół przeznaczony do wymiany danych w systemach rozproszonych. REST został zdefiniowany po raz pierwszy w 2000 roku w rozprawie doktorskiej Architectural Styles and the Design of Network-based Software Architectures przez Roya Fieldinga. Założeniem REST a jest istnienie zasobów (ang. Resources) czyli źródeł danych oraz akcji. Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 4 z 44

5 Literatura Wprowadzenie Główne cechy a Proste operacje Minimalna ilość danych opakowujących Stosunkowo odporny na zmiany (np. Dodanie nowych pól) Dobry do zarządzania danymi (operacje CRUD). Słaba typizacja i brak standaryzacji utrudnia tworzenie serwisów obliczeniowych. Brak definicji utrudnia stosowanie narządzi wspomagających tworzenie klientów. Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 5 z 44

6 Literatura Wprowadzenie Operacje Operacja Dla kolekcji Dla elementu GET Pobiera kolekcję Pobiera element PUT Zamienia istniejącą kolekcję Zamienia element lub na nową tworzy nowy gdy brak POST Dodaje element do kolekcji Zwykle nie używane dla 1 elementu DELETE Usunięcie kolekcji Usunięcie elementu Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 6 z 44

7 Per Call Per Session Single Gdy wywołujemy metodę zdalną na serwerze tworzony jest obiekt klasy danej usługi. Serwer WCF Response Request Instancja WCF Rysunek: Instancja WCF Mamy trzy typy instancjis Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 7 z 44

8 Per Call Per Session Single Per Call InstanceContextMode.PerCall - na każde żądanie tworzony jest nowy obiekt. WCF 1 wywołanie metody 1 Odpowiedź 2 wywołanie metody 2 Odpowiedź Serwer 1 instancja WCF 2 instancja WCF Rysunek: Osobne instancje WCF na każde wywołanie metody. Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 8 z 44

9 Per Call Per Session Single Per Session InstanceContextMode.PerSession - dla każdej sesji klienckiej osobny obiekt. WCF 1 wywołanie metody 1 Odpowiedź 2 wywołanie metody Serwer Instancja WCF 2 Odpowiedź Rysunek: tworzone tylko na daną sesję. Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 9 z 44

10 Per Call Per Session Single Single InstanceContextMode.Single - Tworzona jest tylko 1 instancja dla wszystkich klientów. 1 WCF 2 WCF 1 wywołanie metody 1 Odpowiedź 2 wywołanie metody 2 Odpowiedź Serwer 1 instancja WCF Rysunek: Instancja singleton. Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 10 z 44

11 Nowy projekt Sharp Dodajemy do solucji nowy projekt WCF Service Application o nazwie Service Rysunek: Nowy projekt Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 11 z 44

12 Nowy Web Service Sharp Powstanie kilka plików i katalogów między innymi IService1.cs i Service1.svc.cs zmieńmy ich nazwę na PersonService. Rysunek: Nowy projekt Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 12 z 44

13 Sharp Person.cs Dodajemy nową klasę Person.cs reprezentującą osobę Listing 1: Person.cs 1 public class Person 2 { 3 public int Id { get; set; } 4 public string Name { get; set; } 5 public string Surname { get; set; } 6 } 7 Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 13 z 44

14 IPersonService.cs Sharp Listing 2: Zmiana w IPersonService.cs 1 [OperationContract] 2 [WebGet(UriTemplate = "Person/{id}")] 3 Person GetPerson(string id); 4 5 [OperationContract] 6 [WebGet] 7 List<Person> GetPersons(); 8 9 [OperationContract] 10 [WebInvoke(UriTemplate = "AddPerson/{name}/{surname}",Method = "GET")] 11 void AddPerson(string name, string surname); [OperationContract] 14 [WebInvoke(UriTemplate = "UpdatePerson/{id}/{name}/{surname}")] 15 void UpdatePerson(string id, string name,string surname); [OperationContract] 18 [WebInvoke(UriTemplate = "DeletePerson/{id}")] 19 void DeletePerson(string id); 20 Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 14 z 44

15 Sharp Rożnica pomiędzy WebInvoke a WebGet Gdy jest WebGet to jest to metoda GET Gdy jest WebInvoke to domyślnie jest metoda POST Gdy jest WebInvoke i ustawiona metoda np. Method = UPDATE to jest taka jak ustawiona Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 15 z 44

16 Sharp Rożnica pomiędzy WebInvoke a WebGet Wyjaśnienie różnic na przykładzie kodu z WebHttpBehavior.cs ze strony MS Listing 3: WebHttpBehavior.cs 1 internal static string GetWebMethod(OperationDescription od) 2 { 3 WebGetAttribute wga = od.behaviors.find<webgetattribute>(); 4 WebInvokeAttribute wia = od.behaviors.find<webinvokeattribute>(); 5 EnsureOk(wga, wia, od); 6 if (wga!= null) 7 { 8 return GET; 9 } 10 else if (wia!= null) 11 { 12 return wia.method?? POST; 13 } 14 else 15 { 16 return POST; 17 } 18 } 19 Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 16 z 44

17 PersonService.cs Sharp Listing 4: Implementacja interfejsu w PersonService.cs 1 [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)] 2 public class PersonService : IPersonService 3 { 4 List<Person> persons = new List<Person>(); 5 int personcount = 0; 6 public void AddPerson(string name, string surname) 7 { 8 Person p = new Person() { Name = name, Surname = surname, Id=++personCount }; 9 persons.add(p); 10 } 11 public void DeletePerson(string id) 12 { 13 int Id = 0; 14 if (int.tryparse(id, out Id)) 15 { 16 persons.removeall(p => p.id == Id); 17 } 18 } 19 public Person GetPerson(string id) 20 { 21 int Id = 0; 22 if (int.tryparse(id, out Id)) 23 { 24 return persons.first<person>(p => p.id == Id); 25 } 26 } 27 public List<Person> GetPersons() 28 { 29 return persons.tolist(); 30 } 31 public void UpdatePerson(string id, string name, string surname) 32 { 33 Person p = GetPerson(id); 34 p.name = name; 35 p.surname = surname; 36 } 37 } 38 Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 17 z 44

18 Web.config Sharp Należy sprawdzić czy dodał nam się Service.PersonService. Poniżej fragment kodu. Listing 5: Web.config 1 <system.servicemodel> 2 <behaviors> 3 <endpointbehaviors> 4 <behavior name="restfulbehavior"> 5 <webhttp/> 6 </behavior> 7 </endpointbehaviors> 8 <servicebehaviors> 9 <behavior name="publishmetadata"> 10 <servicemetadata httpgetenabled="true" httpsgetenabled="true"/> 11 <servicedebug includeexceptiondetailinfaults="true"/> 12 </behavior> 13 </servicebehaviors> 14 </behaviors> 15 <services> 16 <service name="service.personservice" behaviorconfiguration="publishmetadata"> 17 <endpoint address="" 18 behaviorconfiguration="restfulbehavior" 19 binding="webhttpbinding" 20 bindingconfiguration="" 21 contract="service.ipersonservice"/> 22 </service> 23 </services> 24 <servicehostingenvironment aspnetcompatibilityenabled="true" multiplesitebindingsenabled="true"/> 25 </system.servicemodel> 26 Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 18 z 44

19 Uruchomienie Sharp Jeżeli projekt jest ustawiony jako domyślny do uruchomienia można wcisnąć F5. Rysunek: Uruchomienie i wywołanie serwisu Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 19 z 44

20 Uruchomienie Sharp pobrania danych. Rysunek: Pobranie danych Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 20 z 44

21 Sharp Dodajemy nowy projekt konsolowy o nazwie Client Rysunek: Nowy projekt Client Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 21 z 44

22 Sharp W Program.cs dodajemy obiekt klasy HttpClient oraz dwie metody asynchroniczne Listing 6: Program.cs 1 static HttpClient client = new HttpClient(); 2 static async Task<String> GetPersonsAsync(string path) 3 { 4 string persons = null; 5 HttpResponseMessage response = await client.getasync(path); 6 if (response.issuccessstatuscode) 7 { 8 persons = await response.content.readasstringasync(); 9 } 10 return persons; 11 } 12 static async Task<Uri> AddPersonAsync(string path, string imie, string nazwisko) 13 { 14 HttpResponseMessage response = await client.postasync(path + "/" + imie + "/" + nazwisko, null); 15 //HttpResponseMessage response = await client.getasync(path + "/" + imie + "/" + nazwisko); 16 response.ensuresuccessstatuscode(); 17 return response.headers.location; 18 } 19 Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 22 z 44

23 Sharp W funkcji main wołamy asynchroniczną metodę RunAsync Listing 7: Program.cs 1 static void Main(string[] args) 2 { 3 RunAsync().Wait(); 4 } 5 static async Task RunAsync() 6 { 7 client.baseaddress = new Uri(" 8 client.defaultrequestheaders.accept.clear(); 9 try 10 { 11 await AddPersonAsync("PersonService.svc/AddPerson", "Janko", "Muzykant"); 12 string persons = await GetPersonsAsync("PersonService.svc/GetPersons"); 13 Console.WriteLine(persons); 14 } 15 catch (Exception e) 16 { 17 Console.WriteLine(e.Message); 18 } 19 Console.ReadLine(); 20 } 21 Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 23 z 44

24 Sharp wywołaniaclient Rysunek: wywołania Client Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 24 z 44

25 Nowy projekt Sharp Dodajemy nowy projekt Service2 typu WCF Service Application Rysunek: Nowy projekt Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 25 z 44

26 Data Contract Sharp Usuwamy pliki IService1.cs i Service1.svc Dodajemy pliki IService.cs i Service.cs Dodajemy klasę Person 1 [DataContract] 2 public class Person 3 { 4 [DataMember] 5 public int Id { get; set; } 6 [DataMember] 7 public string Name { get; set; } 8 [DataMember] 9 public string Surname { get; set; } 10 } 11 Listing 8: Person.cs Dodajemy using System.Runtime.Serialization Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 26 z 44

27 Service Contract Sharp W interfejsie IService definiujemy webmetody oraz dodajemy przestrzenie nazw: using System.ServiceModel; i using System.ServiceModel.Web; Listing 9: IService.cs 1 [ServiceContract] 2 interface IService 3 { 4 [OperationContract] 5 [WebGet(UriTemplate = "{id}")] 6 Person GetPerson(string id); 7 8 [OperationContract] 9 [WebGet(UriTemplate = "")] 10 List<Person> GetPersons(); [OperationContract] 13 [WebInvoke(UriTemplate = "", Method = "POST")] 14 Person AddPerson(Person person); [OperationContract] 17 [WebInvoke(UriTemplate = "{id}", Method = "PUT")] 18 Person UpdatePerson(string id, Person person); [OperationContract] 21 [WebInvoke(UriTemplate = "{id}", Method = "DELETE")] 22 void DeletePerson(string id); 23 } Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 27 z 44

28 Implementacja interfejsu Sharp Tworzymy implementację Listing 10: Sevice.cs 1 [AspNetCompatibilityRequirements (RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] 2 [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)] 3 public class Service : IService 4 { 5 List<Person> persons = new List<Person>(); 6 int personcount = 0; 7 public Person GetPerson(string id) 8 { 9 int Id = 0; 10 if (int.tryparse(id, out Id)) 11 { 12 return persons.first<person>(p => p.id == Id); 13 } 14 return null; 15 } public List<Person> GetPersons() 18 { 19 return persons.tolist(); 20 } Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 28 z 44

29 Web.config Sharp Zawartość tagu system.servicemodel zamieniamy na: Listing 11: Web.config 1 <servicehostingenvironment aspnetcompatibilityenabled="true"></servicehostingenvironment> 2 <standardendpoints> 3 <webhttpendpoint> 4 <standardendpoint name="" 5 helpenabled="true" 6 automaticformatselectionenabled="true"> 7 </standardendpoint> 8 </webhttpendpoint> Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 29 z 44

30 Global.asax Sharp Dodajemy nowy element Global.asax Rysunek: Plik Global.asax Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 30 z 44

31 Sharp Global.asax Modyfikujemy Listing 12: zawartość metody Application Start 1 RouteTable.Routes.Add(new ServiceRoute 2 ("Service", new WebServiceHostFactory(), typeof( Service))); 3 Dodajemy referencję do System.ServiceModel.Activation Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 31 z 44

32 Uruchomienie Sharp Teraz można ustawić jako domyślny projekt i uruchomić. Rysunek: Uruchomienie Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 32 z 44

33 Advanced Client Sharp Do testowania serwisu wykorzystującego xml/json można użyć wtyczkę do przeglądarki chrome Rysunek: Uruchomienie Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 33 z 44

34 Rysunek: Paweł PaduchUruchomienie Programowanie Systemów Rozproszonych - WCF REST 34 z 44 Advanced Client Sharp wywyołania metody POST z danymi w formacie json

35 Advanced Client Sharp pobrania danych GET json Rysunek: Uruchomienie Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 35 z 44

36 Sharp Sharp Dodajemy nowy projekt konsolowy o nazwie Client2 Rysunek: Nowy projekt Client2 Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 36 z 44

37 Sharp Sharp Do stworzenia klienta użyjemy biblioteki Sharp (resharp.org) Z menu kontekstowego projektu wybieramy ManageNuGetPackage Rysunek: Instalacja Sharp Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 37 z 44

38 Sharp Sharp Przechodzimy do zakładki Browse i wpisujemy w okienku wyszukiwania restsharp Wybieramy ze znalezionych odpowiedni pakiet i klikamy z prawej strony ikonkę do pobrania i instalacji Rysunek: Instalacja Sharp Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 38 z 44

39 Provider Sharp Dodajemy nową klasę Listing 13: Provider.cs 1 public class Provider 2 { 3 readonly string _url; 4 5 public Provider(string url) 6 { 7 _url = url; 8 } 9 10 public T Execute<T>(Request request) where T : new() 11 { 12 var client = new Sharp.Client(); 13 client.baseurl = new System.Uri(_url); 14 var response = client.execute<t>(request); if (response.errorexception!= null) 17 { 18 const string message = "Error retrieving response. scheck inner details for more info."; 19 var twilioexception = new ApplicationException(message, response.errorexception); 20 throw twilioexception; 21 } 22 return response.data; 23 } 24 } Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 39 z 44

40 Person.cs Sharp Kopiujemy plik Person.cs z projektu Service Listing 14: Person.cs 1 public class Person 2 { 3 public int Id { get; set; } 4 public string Name { get; set; } 5 public string Surname { get; set; } 6 } Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 40 z 44

41 Main Sharp W głównym programie przykład wywołania dwóch metod POST i jednej GET Listing 15: Program.cs 1 try 2 { 3 Provider r = new Provider(" 4 var request = new Request("Service", Method.POST); 5 Person person = new Person(); 6 person.name = "Jan"; 7 person.surname = "Kowalski"; 8 request.addjsonbody(person); 9 var a = r.execute<person>(request); 10 var request2 = new Request("Service", Method.POST); 11 Person person2 = new Person(); 12 person2.name = "Anna"; 13 person2.surname = "Nowak"; 14 request2.addjsonbody(person2); 15 var b = r.execute<person>(request2); 16 var request3 = new Request("Service", Method.GET); 17 var c = r.execute<list<person>>(request3); 18 foreach (Person p in c) 19 { 20 Console.WriteLine("{0} {1} {2}", p.id, p.name, p.surname); 21 } 22 Console.ReadLine(); 23 } catch (Exception ex) 26 { 27 Console.WriteLine(ex.Message.ToString()); 28 } Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 41 z 44

42 Sharp wywołanie Sharp Uruchomienie programu konsolowego Client2 Rysunek: Uruchomienie Client2 Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 42 z 44

43 Pytania Sharp? Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 43 z 44

44 koniec Sharp Dziękuję Państwu za uwagę. Paweł Paduch Programowanie Systemów Rozproszonych - WCF REST 44 z 44

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

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

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

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

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1 Obiektowe programowanie rozproszone Java RMI Krzysztof Banaś Systemy rozproszone 1 Java RMI Mechanizm zdalnego wywołania metod Javy (RMI Remote Method Invocation) posiada kilka charakterystycznych cech,

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

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć interfejs (w języku Java), wywiedziony z Remote obiekt Podejście obiektowe do budowy systemów rozproszonych aplikacja kliencka stub interfejs serwer szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów

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

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

Podejście obiektowe do budowy systemów rozproszonych

Podejście obiektowe do budowy systemów rozproszonych Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Dariusz Wawrzyniak 1 Mechanizm RMI umożliwia

Bardziej szczegółowo

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów

Bardziej szczegółowo

Remote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1

Remote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1 interfejs (w języku Java), wywiedziony z Remote obiekt Podejście obiektowe do budowy systemów rozproszonych aplikacja kliencka interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów

Bardziej szczegółowo

Podejście obiektowe do budowy systemów rozproszonych

Podejście obiektowe do budowy systemów rozproszonych Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Dariusz Wawrzyniak (IIPP) 1 Mechanizm

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

Remote Method Invocation 17 listopada 2010

Remote Method Invocation 17 listopada 2010 Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja klienckak interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów

Bardziej szczegółowo

Metody Metody, parametry, zwracanie wartości

Metody Metody, parametry, zwracanie wartości Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca

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

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

Aplikacje internetowe i rozproszone - laboratorium

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

Proxy (pełnomocnik) Cel: Zastosowanie: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego.

Proxy (pełnomocnik) Cel: Zastosowanie: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego. Proxy (pełnomocnik) Cel: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego. Zastosowanie: Wszędzie tam, gdzie oczekujemy bardziej zaawansowanego odwołania do obiektu, niż zwykły

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

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

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

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

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

Remote Method Invocation 17 listopada rozproszonych. Dariusz Wawrzyniak (IIPP) 1

Remote Method Invocation 17 listopada rozproszonych. Dariusz Wawrzyniak (IIPP) 1 P d jś i bi kt d b d t ó Podejście obiektowe do budowy systemów rozproszonych Dariusz Wawrzyniak (IIPP) 1 interfejs (w języku Java),wywiedziony idi z Remote obie kt aplikacja klie ncka interfe js serw

Bardziej szczegółowo

Plan wykładu CORBA. Cechy aplikacji rozproszonych. Aplikacje rozproszone

Plan wykładu CORBA. Cechy aplikacji rozproszonych. Aplikacje rozproszone Plan wykładu CORBA Wprowadzenie Architektura CORBA IDL język definicji interfejsów ORB Object Request Broker Usługi i POA Aplikacje CORBA tworzenie serwera tworzenie klienta Aplikacje rozproszone Cechy

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

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

Oprogramowanie systemów równoległych i rozproszonych Wykład 7

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

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Podstawowe cechy i możliwości języka Scala mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 2017 1 / 32 mgr inż. Krzysztof Szwarc Programowanie obiektowe Informacje

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

AXIS2 - tworzenie usługi sieciowej i klienta Axis Data Binding. dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak

AXIS2 - tworzenie usługi sieciowej i klienta Axis Data Binding. dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak AXIS2 - tworzenie usługi sieciowej i klienta Axis Data Binding dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak Ustawienie zmiennych środowiskowych Przed rozpoczęciem pracy z pakietem AXIS należy ustalić

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

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

Programowanie obiektowe i zdarzeniowe

Programowanie obiektowe i zdarzeniowe Marek Tabędzki Programowanie obiektowe i zdarzeniowe 1/23 Programowanie obiektowe i zdarzeniowe wykład 6 polimorfizm Na poprzednim wykładzie: dziedziczenie jest sposobem na utworzenie nowej klasy na podstawie

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

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami. UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami

Bardziej szczegółowo

JAX-RS czyli REST w Javie. Adam Kędziora

JAX-RS czyli REST w Javie. Adam Kędziora JAX-RS czyli REST w Javie Adam Kędziora Webservice Usługa sieciowa (ang. web service) komponent programowy niezależny od platformy i implementacji, dostarczający określonej funkcjonalności. SOAP,UDDI,XML,WSDL

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

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

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

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

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

Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin

Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin Czym jest Spring Boot? Spring Boot jest szkieletem aplikacji, opiera się o Spring Framework czyli Framework szeroko

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

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

RESTful Android. Na co zwrócić uwagę przy tworzeniu aplikacji klienckich REST na Androidzie

RESTful Android. Na co zwrócić uwagę przy tworzeniu aplikacji klienckich REST na Androidzie RESTful Android Na co zwrócić uwagę przy tworzeniu aplikacji klienckich REST na Androidzie Jacek Laskowski jacek@japila.pl http://www.jaceklaskowski.pl wersja 1.0, 08.12.2011 O prelegencie - Jacek Laskowski

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

Na przykładzie języków Java, C# i odrobiny C++ Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Na przykładzie języków Java, C# i odrobiny C++ Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Na przykładzie języków Java, C# i odrobiny C++ Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Refleksja Typy anonimowe Wyrażenia lambda Extension methods *LINQ Java jest językiem dynamicznym

Bardziej szczegółowo

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język

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

Diagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com

Diagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com Diagramy klas dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com O czym będzie? Notacja Ujęcie w różnych perspektywach Prezentacja atrybutów Operacje i metody Zależności Klasy aktywne,

Bardziej szczegółowo

Programowanie Komponentowe WebAPI

Programowanie Komponentowe WebAPI Programowanie Komponentowe WebAPI dr inż. Ireneusz Szcześniak jesień 2016 roku WebAPI - interfejs webowy WebAPI to interfejs aplikacji (usługi, komponentu, serwisu) dostępnej najczęściej przez Internet,

Bardziej szczegółowo

Wykład 4: Klasy i Metody

Wykład 4: Klasy i Metody Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to

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

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania

Bardziej szczegółowo

Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania

Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania Opis biznesowy świata rzeczywistego Wymagania funkcjonalne i niefunkcjonalne aplikacji Diagram przypadków życia Diagramy klas i sekwencji:

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

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

Projektowanie aplikacji internetowych laboratorium

Projektowanie aplikacji internetowych laboratorium Projektowanie aplikacji internetowych laboratorium Programowanie w języku Java Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne NetBeans 7 (zrzuty ekranów pochodzą z wersji

Bardziej szczegółowo

Walidacja danych w ASP.NET MVC

Walidacja danych w ASP.NET MVC Walidacja danych w ASP.NET MVC 1. Prosta walidacja 2. Walidacja z Data Annotation public ActionResult Edit(Person person) bool blad = false; if(person.name.trim().length == 0) ViewData["Blad1"] = "Nazwisko

Bardziej szczegółowo

Wstę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 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ół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

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r.

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r. Bazy danych dla producenta mebli tapicerowanych Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r. Założenia Stworzyć system bazodanowy dla małej firmy produkującej meble tapicerowane. Projekt ma umożliwić

Bardziej szczegółowo

LINQ TO XML. Autor ćwiczenia: Marcin Wolicki

LINQ TO XML. Autor ćwiczenia: Marcin Wolicki LINQ TO XML Celem ćwiczenia jest zapoznanie się z możliwościami przetwarzania dokumentów XML na platformie.net. W toku zadania zostaną przedstawione dwie technologie: LINQ TO XML i XPath. Autor ćwiczenia:

Bardziej szczegółowo

Protokół JDBC współpraca z relacyjnymi bazami danych lab4. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

Protokół JDBC współpraca z relacyjnymi bazami danych lab4. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych Protokół JDBC współpraca z relacyjnymi bazami danych lab4 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych Zadanie1 Połączenie z bazą danych travel systemu bazodanowego Derby (metoda void

Bardziej szczegółowo

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,

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

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie

Bardziej szczegółowo

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI Maciej Zakrzewicz PLOUG mzakrz@cs.put.poznan.pl Plan prezentacji Wprowadzenie do architektury zorientowanej na usługi Charakterystyka technologii

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 5 Marcin Młotkowski 23 marca 2017 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 50 Historia Początkowe założenia Projekt OAK Sterowanie urządzeniami

Bardziej szczegółowo

Programowanie Komputerów

Programowanie Komputerów Programowanie Komputerów Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Wykład 30 godzin, Laboratoria 30 godzin 2012/ Strona 1 z 28 1. Tablice w C# Indeksowane od zera

Bardziej szczegółowo

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie

Bardziej szczegółowo

Systemy Rozproszone - Ćwiczenie 6

Systemy Rozproszone - Ćwiczenie 6 Systemy Rozproszone - Ćwiczenie 6 1 Obiekty zdalne Celem ćwiczenia jest stworzenie obiektu zdalnego świadczącego prostą usługę nazewniczą. Nazwy i odpowiadające im punkty końcowe będą przechowywane przez

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

2) W wyświetlonym oknie należy zaznaczyć chęć utworzenia nowej aplikacji (wygląd okna może się różnić od powyższego); kliknąć OK

2) W wyświetlonym oknie należy zaznaczyć chęć utworzenia nowej aplikacji (wygląd okna może się różnić od powyższego); kliknąć OK Zaawansowane aplikacje internetowe EJB 2 Celem tego laboratorium jest pokazanie, w jaki sposób aplikacje stworzone w różnych technologiach mogą korzystać z funkcjonalności udostępnianej przez komponenty

Bardziej szczegółowo

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run(). Wątki Streszczenie Celem wykładu jest wprowadzenie do obsługi wątków w Javie. Czas wykładu 45 minut. Definiowanie wątków jako klas potomnych Thread Nadpisanie metody run(). class Watek extends Thread public

Bardziej szczegółowo

Wykład 8: klasy cz. 4

Wykład 8: klasy cz. 4 Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD

Bardziej szczegółowo

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1) MAS dr. Inż. Mariusz Trzaska Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1) Zagadnienia o Podstawy o Kontrolowanie sterowania o Klasy o Interfejsy o Obsługa błędów o Pojemniki o System

Bardziej szczegółowo

Aplikacje w środowisku Java

Aplikacje w środowisku Java Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - wprowadzenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 Klasa zbiór pól i metod Obiekt

Bardziej szczegółowo

Realizacja Aplikacji Internetowych 2013 laboratorium cz. 2 K.M. Ocetkiewicz

Realizacja Aplikacji Internetowych 2013 laboratorium cz. 2 K.M. Ocetkiewicz Realizacja Aplikacji Internetowych 2013 laboratorium cz. 2 K.M. Ocetkiewicz Walidacja po stronie klienta: - w MVC 3 i 4 domyślnie jest włączona także walidacja po stronie klienta - wykorzystuje ona JavaScript

Bardziej szczegółowo

Projektowanie Aplikacji Internetowych. Wzorce projektowe warstwy usług

Projektowanie Aplikacji Internetowych. Wzorce projektowe warstwy usług Wzorce projektowe warstwy usług Wzorce projektowe warstwy usług Service Locator Ułatwia wyszukanie komponentów usługowych Service Activator Umożliwia asynchroniczne przesyłanie żądań do komponentów biznesowych

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

Wyjątki (exceptions)

Wyjątki (exceptions) Instrukcja laboratoryjna nr 6 Programowanie w języku C 2 (C++ poziom zaawansowany) Wyjątki (exceptions) dr inż. Jacek Wilk-Jakubowski mgr inż. Maciej Lasota dr inż. Tomasz Kaczmarek Wstęp Wyjątki (ang.

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

Dawid Gierszewski Adam Hanasko

Dawid Gierszewski Adam Hanasko Dawid Gierszewski Adam Hanasko Chcemy stworzyć klasę w której możemy przechowywać dwie zmienne dowolnych typów Tworzymy tyle różnych klas ile potrzeba: Class ParaInt{ int pierwszy; Int drugi; Class ParaButow{

Bardziej szczegółowo

JAVA W SUPER EXPRESOWEJ PIGUŁCE

JAVA W SUPER EXPRESOWEJ PIGUŁCE JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie

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

Katalog książek cz. 2

Katalog książek cz. 2 Katalog książek cz. 2 Odczytywanie danych z XML Do ćwiczenia dołączony jest plik books.xml zawierający pełen katalog książek. Poniższy listing zawiera przykładowy fragment danych w stosowanym formacie.

Bardziej szczegółowo

Zaawansowane aplikacje internetowe laboratorium

Zaawansowane aplikacje internetowe laboratorium Zaawansowane aplikacje internetowe laboratorium Web Services (część 2). Celem ćwiczenia jest przygotowanie prostej aplikacji prezentującej technologię usług sieciowych (ang. Web Services). Przygotowana

Bardziej szczegółowo

Multimedia JAVA. Historia

Multimedia JAVA. Historia Multimedia JAVA mgr inż. Piotr Odya piotrod@sound.eti.pg.gda.pl Historia 1990 rozpoczęcie prac nad nowym systemem operacyjnym w firmie SUN, do jego tworzenia postanowiono wykorzystać nowy język programowania

Bardziej szczegółowo

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz Aplikacja internetowa zbudowana w oparciu o środowisko Visual Web Java Server Faces. Zarządzanie obiektami typu SesionBeans, RequestBeen i ApplicationBeans, Laboratorium 1 Wzorce oprogramowania lab1, Okres

Bardziej szczegółowo