Wprowadzenie do tworzenia własnego modułu w kontrolerze Floodlight.
|
|
- Barbara Karpińska
- 5 lat temu
- Przeglądów:
Transkrypt
1 Instrukcja do laboratorium 4 Wprowadzenie do tworzenia własnego modułu w kontrolerze Floodlight. 1. Cel ćwiczenia Celem ćwiczenia jest implementacja własnego modułu sterownika Floodlight w języku Java. Moduł ten nasłuchiwał będzie pakietów OpenFlow typu Packet_IN, rozpakowywał je i wyświetlał na konsolę informacje w nich zawarte. 2. Przygotowanie środowiska 2.1 Instalacja wymaganych zależności Przed zbudowaniem i uruchomieniem środowiska należy zainstalować potrzebne repozytoria poleceniem: $ sudo apt-get update $ sudo apt-get install build-essential ant maven python-dev eclipse 2.2 Pobieranie i budowanie kontrolera Proszę pobrać kontroler (version 1.2) ze strony projektu a następnie rozpakować go, np. poleceniem: $ tar -xf floodlight* Następnie należy przejść do rozpakowanego katalogu i zbudować kontroler ze źródeł poleceniem $ ant eclipse 2.3 Import projektu do środowiska Eclipse IDE Proszę uruchomić środowisko Eclipse i utworzyć nowe Workspace. W celu importu projektu proszę wybrać kolejno: File -> Import -> General -> Existing Projects into Workspace Kliknąć na przycisk Browse obok Select root directory i odnaleźć katalog, do którego został pobrany wcześniej projekt Floodlight W oknie Projects zaznaczyć Floodlight Kliknąć przycisk Finish. Po tym procesie cały projekt powinien zostać zaimportowany. W lewej części środowiska Eclipse w oknie Package Explorer powinno pojawić się drzewo katalogów projektu Floodlight. 2.4 Budowanie i uruchamianie projektu w środowsku Eclipse Aby zbudować projekt (np. po zmianach w kodzie źródłowym) należy utworzyć cel: Wybrać Run->External Tools->External Tools Configurations Wybrać Ant->New Configuration W polu nazwy wpisać FloodlightLaunch W polu Buildfile wybrać plik build.xml W polu Base directory wybrać floodlight W zakładce Targets wybrać run Kliknąć przycisk Apply 1
2 3. Implementacja 3.1 Przygotowanie klasy nasłuchującej (Listenera) pakietów OpenFlow Przed przystąpieniem implementacji klas i metod należy utworzyć własną paczkę, w której to nowe klasy będą umieszczone. W tym celu proszę kliknąć prawym przyciskiem myszy na src/main/java i wybrać New->Package. Proszę nazwać nową paczkę pl.edu.agh.kt tak jak na rysunku 1. Rysunek 1. Dodawanie paczki Następnie klikając prawym przyciskiem myszy na paczkę pl.edu.agh.kt proszę wybrać New->Class. W polu nazwa klasy proszę wpisać SdnLabListener. W ramce interfejsów proszę wybrać przycisk Add i dodać następujące interfejsy: IOFMessageListener oraz IFloodlightModule. Okno dodawania klasy powinno wyglądać tak jak na rysunku 2. Zanim zaczną Państwo implementować kolejne metody warto dodać wymagane zależności. Oczywiście środowisko Eclipse upraszcza sposób importowania zależności (włącznie z automatyzacją tego procesu) jednak, aby uniknąć błędów proszę ręcznie w sekcji importów dodać następujące wpisy: import net.floodlightcontroller.core.ifloodlightproviderservice; import java.util.arraylist; import org.slf4j.logger; import org.slf4j.loggerfactory; Następnie w ciele klasy SdnLabListener proszę dodać kilka zmiennych, które będą wykorzystywane w tej klasie. Ponieważ nasłuchiwać będziemy wiadomości protokołu OpenFlow należy zarejestrować się w klasie FloodlightProvider (usługa IFloodlightProviderService). Potrzebujemy także dodać zmienną logger, za pomocą której logowane będą informację na wyjście (konsolę). protected IFloodlightProviderService floodlightprovider; protected static Logger logger; 2
3 Rysunek 2. Okno dodawania nowej klasy do projektu Następnie należy zaimplementować metodę pozwalającą systemowi ładowania modułów znaleźć naszą klasę. W tym celu należy dodać następującą implementację metody getmoduledependencies(). public Collection<Class<? extends IFloodlightService>> getmoduledependencies() { Collection<Class<? extends IFloodlightService>> l = new ArrayList<Class<? extends IFloodlightService>>(); l.add(ifloodlightproviderservice.class); return l; 3
4 Następnie należy zaimplementować metodę Init(), która jest wywoływana podczas startu kontrolera. Służy ona do ładowania wszystkich zależności oraz inicjacji struktur danych. public void init(floodlightmodulecontext context) throws FloodlightModuleException { floodlightprovider = context.getserviceimpl(ifloodlightproviderservice.class); logger = LoggerFactory.getLogger(SdnLabListener.class); Należy także zaimplementować metodę zwracającą nazwę naszej klasy: getname(). public String getname() { return SdnLabListener.class.getSimpleName(); 3.2 Obsługa wiadomości PacketIN protokołu OpenFlow W celu obsługi wiadomości PACKET_IN protokołu OpenFlow należy dodać naszą klasę do Listenera tych wiadomości. Dodatkowo dodajemy prostą informację do loggera, dzięki której w przyszłości będziemy widzieć, że nasz moduł wystartował. W tym celu należy w metodzie startup() dokonać następującej implementacji. public void startup(floodlightmodulecontext context) throws FloodlightModuleException { floodlightprovider.addofmessagelistener(oftype.packet_in, this); logger.info("******************* START **************************"); Następnie należy dodać obsługę otrzymanych wiadomości (metoda receive()). Prezentowany poniżej przykład po odbiorze nowego pakiety typu PACKET_IN wyświetla stosowny komunikat. Proszę zwrócić uwagę na ostatnią linię metody receive(). Komenda CONTINUE pozwala, aby kolejne klasy obsługujące wiadomości typu PACKET_IN mogły je obsłużyć. public net.floodlightcontroller.core.ilistener.command receive(iofswitch sw, OFMessage msg, FloodlightContext cntx) { logger.info("************* NEW PACKET IN *************"); return Command.CONTINUE; 4
5 3.3 Rejestracja modułu Utworzona klasa jest już gotowa. Aby można było w niej odbierać pakiety, moduł należy zarejestrować w kontrolerze. W tym celu w plikach: src/main/resources/meta- INF/services/net.floodlightcontroller.core.module.IFloodlightModule należy dodać następującą linijkę: pl.edu.agh.kt.sdnlablistener src/main/resources/floodlightdefault.properties dodać moduł pl.edu.agh.kt.sdnlablistener tak jak na rysunku 3 (linia 20, zmiany w linii 19). Rysunek3. Rejestracja modułu w kontrolerze - plik floodlightdefault.properties 3.4 Uruchomienie i testy Proszę zbudować projekt. Można go od razu uruchomić. Kontroler w konsoli powinien powiadamiać, że nasłuchuje przełączników OpenFlow. W celu przetestowania należy uruchomić środowisko Mininet na przykład z podstawową topologią. Jednocześnie należy wskazać, że wykorzystany zostanie zewnętrzny kontroler: $ sudo mn --controller=remote,ip=<controller_ip>,port=6653 gdzie jako controller_ip można podać wartość (korzystamy z tej samej maszyny do uruchomienia zarówno przełączników OpenFlow jak i kontrolera) 4. Wypakowywanie zawartości otrzymywanych pakietów W tej części zajęć laboratoryjnych utworzymy nową klasę, której zadaniem będzie wypakowywanie oraz wyświetlanie zawartości pakietów widzianych przez kontroler (pakietów protokołu OpenFlow). Proszę utworzyć nową klasę o nazwie PacketExtractor w paczce pl.edu.agh.kt. Na starcie proszę dodać do ciała klasy kilka zmiennych, które później będą wykorzystywane podczas implementacji kolejnych metod. private static final Logger logger = LoggerFactory.getLogger(PacketExtractor.class); private FloodlightContext cntx; private OFMessage msg; protected IFloodlightProviderService floodlightprovider; private Ethernet eth; private IPv4 ipv4; private ARP arp; private TCP tcp; private UDP udp; 5
6 Uwaga: Środowisko samo powinno dodać potrzebne importy. W razie problemów należy kliknąć na symbol białego krzyżyka na czerwonym w lewej części kodu, gdzie znajdują się numery linii kodu, a program sam zaproponuje potrzebne importy. Proszę zwykle wybierać te, które należą do projektu Floodlight, np. dla TCP paczka net.floodlightcontroller.packet.tcp. Poniżej zamieszczam gotową listę: import org.projectfloodlight.openflow.protocol.ofmessage; import org.projectfloodlight.openflow.types.ethtype; import org.slf4j.logger; import org.slf4j.loggerfactory; import net.floodlightcontroller.core.floodlightcontext; import net.floodlightcontroller.core.ifloodlightproviderservice; import net.floodlightcontroller.packet.arp; import net.floodlightcontroller.packet.ethernet; import net.floodlightcontroller.packet.ipv4; import net.floodlightcontroller.packet.tcp; import net.floodlightcontroller.packet.udp; Pierwszą wymaganą metodą jest metoda kontruktora klasy. Metoda ta jest pusta. Proszę ją dodać: public PacketExtractor() { Kolejną metodą jest metoda packetextract(), która za argument przyjmuje odebrany kontekst, tj. pakiet. Z niego wyciągane będą wartości pól nagłówków w poszczególnych warstwach. Proszę zauważyć, że wewnątrz tej metody jest odwołanie do kolejnej: extracteth(). public void packetextract(floodlightcontext cntx) { this.cntx = cntx; extracteth(); Następnie należy zaimplementować metodę extracteth() odpowiedzialną za wyświetlanie zawartości poszczególnych pól nagłówka ramki ethernetowej. Przykładowa (proponowana implementacja) znajduje się poniżej: public void extracteth() { eth = IFloodlightProviderService.bcStore.get(cntx, IFloodlightProviderService.CONTEXT_PI_PAYLOAD); logger.info("frame: src mac {", eth.getsourcemacaddress()); logger.info("frame: dst mac {", eth.getdestinationmacaddress()); logger.info("frame: ether_type {", eth.getethertype()); if (eth.getethertype() == EthType.ARP) { arp = (ARP) eth.getpayload(); //extractarp(); if (eth.getethertype() == EthType.IPv4) { ipv4 = (IPv4) eth.getpayload(); //extractip(); 6
7 Proszę zauważyć, że w metodzie tej wyświetlany jest źródłowy/docelowy adres MAC otrzymanej ramki oraz wartość pola EtherType. Następnie w zależności od wartości pola EtherType wypakowywany jest kolejny nagłówek. W prezentowanym przykładzie ARP lub IPv4. W wyszarzonych liniach (komentarz) zaproponowano implementację kolejnych metod w zależności od typu pakietu (patrz zadania). Uwaga: Aby wyświetlanie zawartości ramki ethernetowej działało w klasie SdnLabListener należy doimplementować tworzenie nowego obiektu klasy PacketExtractor w metodzie receive(). Poniżej prezentowana jest pełna implementacja metody receive(). public net.floodlightcontroller.core.ilistener.command receive(iofswitch sw, OFMessage msg, FloodlightContext cntx) { logger.info("************* NEW PACKET IN *************"); PacketExtractor extractor = new PacketExtractor(); extractor.packetextract(cntx); return Command.CONTINUE; Zadanie 1. Proszę własnoręcznie dokończyć implementację metod extractarp() oraz extractip(). Ich zadaniem jest wyświetlanie zawartości poszczególnych pól nagłówków. Zadanie 2. Proszę zaproponować implementację metod wyświetlających zawartość pól nagłówków TCP, UDP oraz ICMP (niekoniecznie wszystkich, tych które uznane zostaną za ważne). Metody te mają być wykonywane, jeśli pakiet danego typu pojawi się w kontrolerze. Uwaga: Do wykonania obu zadań przydatny może być poradnik umieszczony pod adresem: In+Message 7
REST API w module kontrolera Floodlight. Implementacja kolektora statystyk OpenFlow.
Instrukcja do laboratorium 6 REST API w module kontrolera Floodlight. Implementacja kolektora statystyk OpenFlow. 1. Cel ćwiczenia Celem ćwiczenia jest implementacja własnego rutera REST API pozwalającego
Bardziej szczegółowoW celu uruchomienia kontrolera należy w katalogu głównym kontrolera z wiersza poleceń wydać następujące polecenie: $ java -jar target/floodlight.
Instrukcja do laboratorium 3 Rest API. Proaktywna instalacja przepływów. 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z Rest API kontrolera Floodlight. Podczas zajęć przedstawione zostaną metody
Bardziej szczegółowoZapoznanie ze środowiskiem Mininet. Instalacja zewnętrznego kontrolera SDN.
Instrukcja do laboratorium 1 Zapoznanie ze środowiskiem Mininet. Instalacja zewnętrznego kontrolera SDN. 1. Cel ćwiczenia Celem ćwiczenia jest zaznajomienie się ze środowiskiem Mininet, protokołem OpenFlow
Bardziej szczegółowo1. 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ółowoNarzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl
Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z
Bardziej szczegółowoD:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44
Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne
Bardziej szczegółowoInstrukcja 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ółowoZaawansowane aplikacje internetowe - laboratorium Architektura CORBA.
Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA. Celem ćwiczenia jest przygotowanie prostej aplikacji wykorzystującej architekturę CORBA. Aplikacja składa się z usługodawcy (serwera)
Bardziej szczegółowoMateriały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione
Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf Materiały poprawione Rozwiązanie zadania w NetBeans IDE 7.4: Jarosław Ksybek, Adam Miazio Celem ćwiczenia jest przygotowanie prostej aplikacji
Bardziej szczegółowoWarsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika
Warsztaty AVR Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR Dariusz Wika 1.Krótki wstęp: Eclipse to rozbudowane środowisko programistyczne, które dzięki możliwości instalowania
Bardziej szczegółowoWYKONANIE 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ółowoWprowadzenie do projektu QualitySpy
Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować
Bardziej szczegółowoTworzenie projektu zawierającego aplet w środowisku NetBeans. lab1. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych
Tworzenie projektu zawierającego aplet w środowisku NetBeans. lab1 Dr inż. Zofia Kruczkiewicz Etap 1 - Tworzenie apletu 1. Wybierz z menu File\ New Project. Na formularzu New Project wybierz w oknie Categories
Bardziej szczegółowoProjektowanie 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ółowoZAPOZNANIE SIĘ Z TWORZENIEM
LABORATORIUM SYSTEMÓW MOBILNYCH ZAPOZNANIE SIĘ Z TWORZENIEM APLIKACJI MOBILNEJ W J2ME I. Temat ćwiczenia II. Wymagania Podstawowe wiadomości z zakresu języka Java Podstawowa znajomość środowiska Eclipse
Bardziej szczegółowoZaawansowane aplikacje internetowe
Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne
Bardziej szczegółowoSposoby 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Ć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ółowoTestowanie I. Celem zajęć jest zapoznanie studentów z podstawami testowania ze szczególnym uwzględnieniem testowania jednostkowego.
Testowanie I Cel zajęć Celem zajęć jest zapoznanie studentów z podstawami testowania ze szczególnym uwzględnieniem testowania jednostkowego. Testowanie oprogramowania Testowanie to proces słyżący do oceny
Bardziej szczegółowoZałącznik 1 instrukcje instalacji
Załącznik 1 instrukcje instalacji W poniższym załączniku przedstawione zostaną instrukcje instalacji programów wykorzystanych w trakcie tworzenia aplikacji. Poniższa lista przedstawia spis zamieszczonych
Bardziej szczegółowoJava pierwszy program w Eclipse «Grzegorz Góralski strona własna
Strona 1 z 9 «Przykładowe zadania do cz. III ćwiczeń z genetyki Java pierwsze kroki w programowaniu (01)» Kategoria: java, Tagi: eclipse - java - programowanie. Autor: Grzegorz, napisał dnia: February
Bardziej szczegółowoZaawansowane 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ółowoWprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium.
Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium. Prowadzący Dr inż. Zofia 1 La1 La2 Forma zajęć - laboratorium Wprowadzenie
Bardziej szczegółowocmt + CODESYS, oraz zdalne wejścia/ wyjścia
Instrukcja użytkownika cmt + CODESYS, oraz zdalne wejścia/ wyjścia W tej instrukcji przedstawiono krok po kroku, jak skonfigurować panel cmt3090 i zdalne wejścia/ wyjścia. V1.00 Spis treści 1. Instalacja
Bardziej szczegółowoZaawansowane aplikacje internetowe - laboratorium Architektura CORBA.
Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA. Celem ćwiczenia jest przygotowanie prostej aplikacji wykorzystującej architekturę CORBA. Aplikacja składa się z usługodawcy (serwera)
Bardziej szczegółowoPakiety i interfejsy. Tomasz Borzyszkowski
Pakiety i interfejsy Tomasz Borzyszkowski Pakiety podstawy W dotychczasowych przykładach nazwy klas musiały pochodzić z jednej przestrzeni nazw, tj. być niepowtarzalne tak, by nie doprowadzić do kolizji
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.
Bardziej szczegółowoGit, Bitbucket, IntelliJ IDEA
Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Narzędzia i środowiska programistyczne Laboratorium 3 Git, Bitbucket, IntelliJ IDEA Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy
Bardziej szczegółowoJęzyki i metody programowania Java. Wykład 2 (część 2)
Języki i metody programowania Java INF302W Wykład 2 (część 2) Autor Dr inż. Zofia Kruczkiewicz 1 Struktura wykładu 1. Identyfikacja danych reprezentowanych przez klasy podczas opracowania koncepcji prostego
Bardziej szczegółowoLaboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark
Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark Topologia Cele Część 1: Zapisanie informacji dotyczących konfiguracji IP komputerów Część 2: Użycie programu Wireshark do przechwycenia
Bardziej szczegółowoLaboratorium - Wykorzystanie programu Wireskark do badania ramek Ethernetowych
Laboratorium - Wykorzystanie programu Wireskark do badania ramek Ethernetowych Topologia Cele Część 1: Badanie pól nagłówka w ramce Ethernet II. Cześć 2: Użycie programu Wireshark do przechwycenia i analizy
Bardziej szczegółowoAplikacje internetowe i rozproszone - laboratorium
Aplikacje internetowe i rozproszone - laboratorium Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z technologią EJB w wersji 3.0, a w szczególności: implementacja komponentów sesyjnych,
Bardziej szczegółowoAplikacje w środowisku Java
Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - dziedziczenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 W ramach poprzedniego laboratorium
Bardziej szczegółowo2) 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ółowoJavadoc. Piotr Dąbrowiecki Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Alina Strachocka
Javadoc Piotr Dąbrowiecki Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Alina Strachocka Wprowadzenie do Javadoc Treść prezentacji: http://students.mimuw.edu.pl/~as219669/javadoc.pdf Zadania: http://students.mimuw.edu.pl/~as219669/zadanie.rar
Bardziej szczegółowoAplikacje w środowisku Java
Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Graficzny Interfejs Użytkownika mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 Spis treści Graficzny Interfejs
Bardziej szczegółowoInstalowanie VHOPE i plików biblioteki VHOPE
Instalowanie VHOPE i plików biblioteki VHOPE Krok 1. Zainstaluj aplikację VHOPE Przed rozpoczęciem korzystania z materiałów prezentacyjnych znajdujących się na tym dysku USB należy zainstalować na komputerze
Bardziej szczegółowoProgramowanie Systemów Czasu Rzeczywistego
Programowanie Systemów Czasu Rzeczywistego Laboratorium Wprowadzenie Mariusz RUDNICKI mariusz.rudnicki@eti.pg.gda.pl 2016 Spis treści Przygotowanie platform docelowej.... 3 Przygotowanie środowiska programistycznego
Bardziej szczegółowoDb4o 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ółowoMicrosoft.NET: LINQ to SQL, ASP.NET AJAX
Microsoft.NET: LINQ to SQL, ASP.NET AJAX Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2008 oraz serwer bazy danych SQL Server Express 2005 (lub
Bardziej szczegółowoMentorGraphics ModelSim
MentorGraphics ModelSim 1. Konfiguracja programu Wszelkie zmiany parametrów systemu symulacji dokonywane są w menu Tools -> Edit Preferences... Wyniki ustawień należy zapisać w skrypcie startowym systemu
Bardziej szczegółowoEnkapsulacja, dziedziczenie, polimorfizm
17 grudnia 2008 Spis treści I Enkapsulacja 1 Enkapsulacja 2 Spis treści II Enkapsulacja 3 Czym jest interfejs Jak definuje się interfejs? Rozszerzanie interfejsu Implementacja interfejsu Częściowa implementacja
Bardziej szczegółowoInstrukcja instalacji oprogramowania dla środowiska Linux
Instrukcja instalacji oprogramowania dla środowiska Linux Kurs Python od podstaw Przygotuj się jeszcze przed zajęciami! Specyfikacja komputera Python od podstaw minimum 8 GB RAM, rekomendowany procesor
Bardziej szczegółowoProgramowanie Urządzeń Mobilnych. Laboratorium nr 7, 8
Programowanie Urządzeń Mobilnych Laboratorium nr 7, 8 Android Temat 1 tworzenie i uruchamianie aplikacji z użyciem Android SDK Krzysztof Bruniecki 1 Wstęp Platforma Android jest opartym na Linuxie systemem
Bardziej szczegółowoInstrukcja instalacji
Instrukcja instalacji Niniejsza instrukcja obejmuje instalację krok po kroku narzędzi potrzebnych do uruchomienia aplikacji ERS pod systemem Windows. Ze względu na uniwersalność użytych rozwiązań możliwe
Bardziej szczegółowoAplikacje WWW - laboratorium
Aplikacje WWW - laboratorium Serwlety Celem ćwiczenia jest przygotowanie kilku prostych serwletów ilustrujących możliwości tej technologii. Poszczególne ćwiczenia prezentują sposób przygotowania środowiska,
Bardziej szczegółowoInstrukcja 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ółowoZadanie 2. Tworzenie i zarządzanie niestandardową konsolą MMC
Zadanie 2. Tworzenie i zarządzanie niestandardową konsolą MMC W tym zadaniu utworzymy niestandardową konsolę MMC. Będziemy dodawać, usuwać i zmieniać kolejność przystawek. Następnie przygotujemy konsolę
Bardziej szczegółowoSIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE Temat: Identyfikacja właściciela domeny. Identyfikacja tras
Bardziej szczegółowoKlasy 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ółowoAplikacje RMI Lab4
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Lab4 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych 1 1. Koncepcja budowy aplikacji RMI (aplikacja rozproszonych
Bardziej szczegółowoInstrukcja do laboratorium. Wprowadzenie do problematyki wirtualizacji. Wirtualizacja sieci.
Instrukcja do laboratorium Wprowadzenie do problematyki wirtualizacji. Wirtualizacja sieci. Przed zajęciami proszę dokładnie zapoznać się z instrukcją i materiałami pomocniczymi dotyczącymi laboratorium
Bardziej szczegółowoInstalacja NOD32 Remote Administrator
Instalacja NOD32 Remote Administrator Program do zdalnego zarządzania stacjami roboczymi, na których zainstalowany jest program NOD32, składa się z dwóch modułów. Pierwszy z nich Remote Administrator Server
Bardziej szczegółowoAplikacje 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ółowoxmlns:prism=http://www.codeplex.com/prism c. <ContentControl prism:regionmanager.regionname="mainregion" />
1 Tworzenie Shella a. W pierwszej kolejności tworzymy nowy projekt: WPF Application. Name: Shell SolutionName: PrismApp b. Dodajemy bibliotekę PRISM za pomocą NuGet Managera (dla.net Framework 4.5 Prism
Bardziej szczegółowoArchitektury Usług Internetowych. Laboratorium 2. Usługi sieciowe
Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe IV. Interfejsy i klasy wewnętrzne Małgorzata Prolejko OBI JA16Z03 Plan Właściwości interfejsów. Interfejsy a klasy abstrakcyjne. Klonowanie obiektów. Klasy wewnętrzne. Dostęp do
Bardziej szczegółowoProgramowanie w Javie
Programowanie w Javie Andrzej Czajkowski Lista nr 0 Debugger w Javie Celem ćwiczenia jest poznanie podstawowych funkcji narzędzia debugera (odpluskwiacz) w środowisku Eclipse. Po ukończeniu ćwiczenia student
Bardziej szczegółowoMicrosoft.NET: ASP.NET MVC + Entity Framework (Code First)
Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2012. W ramach projektu budowana jest prosta
Bardziej szczegółowoInformatyka I : Tworzenie projektu
Tworzenie nowego projektu w programie Microsoft Visual Studio 2013 Instrukcja opisuje w jaki sposób stworzyć projekt wykorzystujący bibliotekę winbgi2 w programie Microsoft Visual Studio 2013. 1. Otwórz
Bardziej szczegółowoPodstawy technologii WWW
Podstawy technologii WWW Ćwiczenie 8 PHP, czyli poczatki nowej, dynamicznej znajomosci Na dzisiejszych zajęciach rozpoczniemy programowanie po stronie serwera w języku PHP. Po otrzymaniu żądania serwer
Bardziej szczegółowoOpis instalacji programu Scratch
Opis instalacji programu Scratch 1. Pobieranie programu (opisane w podręczniku) Otwórz stronę http://scratch.mit.edu, widoczną na poniższym rysunku. Kliknij na niej przycisk Download Scratch. Wyświetli
Bardziej szczegółowoTworzenie pliku źródłowego w aplikacji POLTAX2B.
Tworzenie pliku źródłowego w aplikacji POLTAX2B. Po utworzeniu spis przekazów pocztowych klikamy na ikonę na dole okna, przypominającą teczkę. Następnie w oknie Export wybieramy format dokumentu o nazwie
Bardziej szczegółowoLaboratorium - Używanie programu Wireshark do obserwacji mechanizmu uzgodnienia trójetapowego TCP
Laboratorium - Używanie programu Wireshark do obserwacji mechanizmu uzgodnienia trójetapowego Topologia Cele Część 1: Przygotowanie Wireshark do przechwytywania pakietów Wybór odpowiedniego interfejsu
Bardziej szczegółowonamespace HostedReceiver { public class Receiver: IConfigureThisEndpoint, AsA_Server {
Pobranie i instalacja: - http://www.nservicebus.com/ - download v3.0 now - rozpakować - MSMQ powinno być zainstalowane (Panel Sterowania -> Dodaj/Usuń programy -> Składniki systemu Windows -> Kolejkowanie
Bardziej szczegółowoAplikacje 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ółowoInstrukcja obsługi programu:
Instrukcja obsługi programu: MODUŁ USER ADMIN ADMINISTRACJA UŻYTKOWNIKÓW Przeznaczenie programu Program przeznaczony jest do administracji użytkownikami. Program umożliwia dodawanie, usuwanie oraz modyfikację
Bardziej szczegółowoJęzyk JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 2, część 2 Jacek Rumiński 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
Bardziej szczegółowoWykład 7: Pakiety i Interfejsy
Wykład 7: Pakiety i Interfejsy Plik Źródłowy w Javie Składa się z: instrukcji pakietu (pojedyncza, opcjonalna) instrukcji importujących (wielokrotne, opcjonalne) deklaracji klasy publicznej (pojedyncza,
Bardziej szczegółowoJava Platform Micro Edition
Java Platform Micro Edition Instalacja środowiska programistycznego Java Platform Micro Edition Software Development Kit 3.0 for Windows z lokalizacji http://www.oracle.com/technetwork/java/javame/downloads/sdk30-jsp-139759.html
Bardziej szczegółowoProjektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz
Projektowanie oprogramowania Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz 1 Wykonanie czterowarstwowej aplikacji EE z dostępem do bazy danych,
Bardziej szczegółowoAplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów
Bardziej szczegółowoE:\DYDAKTYKA\ZAI\ZWWW\Laboratoria\L07\Java Persistence.doc 2011-lis-24, 17:0 Zaawansowane aplikacje internetowe Laboratorium Java Persistence.
Zaawansowane aplikacje internetowe Laboratorium Java Persistence. Adaptacja rozwiązania dla środowiska NetBeans 7.0.1: Łukasz Przytuła, opracowanie materiałów: Andrzej Dawidowicz Do wykonania ćwiczeń potrzebne
Bardziej szczegółowoJęzyki i metody programowania Java Lab1 https://docs.oracle.com/javase/tutorial/ Zofia Kruczkiewicz
Języki i metody programowania Java Lab1 https://docs.oracle.com/javase/tutorial/ Zofia Kruczkiewicz Zadanie 1. Wykonanie projektu Java SE w środowisku Netbeans- File/New Project W formularzu New Project
Bardziej szczegółowoKomunikatory typu TCP/IP lab2. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych
Komunikatory typu TCP/IP lab2 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych Zadanie1 - klient wysyła jeden komunikat (typu String) do serwera i kończy swoje istnienie, a serwer go odbiera
Bardziej szczegółowoASP.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ółowoInstrukcja instalacji oprogramowania dla środowiska MacOS
Instrukcja instalacji oprogramowania dla środowiska MacOS Kurs Python od podstaw Przygotuj się jeszcze przed zajęciami! Specyfikacja komputera Python od podstaw minimum 8 GB RAM, rekomendowany procesor
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe I. Obiekty i klasy Małgorzata Prolejko OBI JA16Z03 Plan Klasy i obiekty Odnośniki (referencje) Używanie klas predefiniowanych Tworzenie własnych klas Relacje pomiędzy klasami: dziedziczenie
Bardziej szczegółowoPodręcznik użytkownika Konfiguracja Rejestracji Online
Podręcznik użytkownika Konfiguracja Rejestracji Online Dotyczy wersji: Spis treści 1. Licencja... 3 2. OpenVPN... i Agent 3 3. Adres portalu... rejestracji online 4 4. Konfiguracja... systemu 4 4.1. 4.2.
Bardziej szczegółowoPHP 5 język obiektowy
PHP 5 język obiektowy Wprowadzenie Klasa w PHP jest traktowana jak zbiór, rodzaj różnych typów danych. Stanowi przepis jak stworzyć konkretne obiekty (instancje klasy), jest definicją obiektów. Klasa reprezentuje
Bardziej szczegółowoZaawansowane 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ółowoProgramowanie Obiektowe GUI
Programowanie Obiektowe GUI Swing Celem ćwiczenia jest ilustracja wizualnego tworzenia graficznego interfejsu użytkownika opartego o bibliotekę Swing w środowisku NetBeans. Ponadto, ćwiczenie ma na celu
Bardziej szczegółowoInstrukcja implementacji sterownika wirtualnego portu szeregowego dla systemu Android. Opracowanie: Elzab Soft sp. z o.o.
Instrukcja implementacji sterownika wirtualnego portu szeregowego dla systemu Android. Opracowanie: Elzab Soft sp. z o.o. 29.06.2015 2 Spis treści 1. Wymagania...4 2. Uprawnienia systemowe...4 3. Uprawnienie
Bardziej szczegółowoTIME MARKER. Podręcznik Użytkownika
TIME MARKER Podręcznik Użytkownika SPIS TREŚCI I. WPROWADZENIE... 3 II. Instalacja programu... 3 III. Opis funkcji programu... 7 Lista skrótów... 7 1.1. Klawisz kontrolny... 7 1.2. Klawisz skrótu... 8
Bardziej szczegółowoLABORATORIUM SIECI KOMPUTEROWYCH (compnet.et.put.poznan.pl)
Wydział Elektroniki i Telekomunikacji POLITECHNIKA POZNAŃSKA fax: (+48 61) 665 25 72 ul. Piotrowo 3a, 60-965 Poznań tel: (+48 61) 665 22 93 LABORATORIUM SIECI KOMPUTEROWYCH (compnet.et.put.poznan.pl) Sieci
Bardziej szczegółowoAplikacje internetowe - laboratorium
Aplikacje internetowe - laboratorium Administracja serwerem aplikacji. Celem ćwiczenia jest zainstalowanie i administracja prostym serwerem aplikacji. Ćwiczenie zostanie wykonane przy użyciu popularnego
Bardziej szczegółowoInstrukcja instalacji oprogramowania Systemu e-kt
Instrukcja instalacji oprogramowania Systemu e-kt Proces instalacji oprogramowania Systemu e-kt... 2 Konfiguracja programu Java... 9 Konfiguracja Systemu e-kt w przeglądarce Mozilla Firefox... 10 Konfiguracja
Bardziej szczegółowoLaboratorium 9 (Więcej Aktywności, w Androidzie)
Dr Mirosław Łątka Informatyka dla medycyny Jesień 2012 Laboratorium 9 (Więcej Aktywności, w Androidzie) Aplikacje systemu Android składają się z luźnego zbioru aktywności (ang. activities), z których każda
Bardziej szczegółowoWstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5 Programowanie komponentowe 1 Przykład 1- Wykonanie prostej aplikacji internetowej w technologii JavaEE w środowisku Netbeans 5.5 z wykorzystaniem
Bardziej szczegółowoI. Spis treści I. Spis treści... 2 II. Kreator szablonów... 3 1. Tworzenie szablonu... 3 2. Menu... 4 a. Opis ikon... 5 3. Dodanie nowego elementu...
Kreator szablonów I. Spis treści I. Spis treści... 2 II. Kreator szablonów... 3 1. Tworzenie szablonu... 3 2. Menu... 4 a. Opis ikon... 5 3. Dodanie nowego elementu... 7 a. Grafika... 7 b. Tekst... 7 c.
Bardziej szczegółowoLeszek Stasiak Zastosowanie technologii LINQ w
Leszek Stasiak Zastosowanie technologii LINQ w C# 1. Wstęp - połączenie Do naszych zadań będziemy używać Microsoft Visual Studio 2010. Stwórzmy nowy projekt Windows Form Application. Mając do dyspozycji
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe III. Refleksja Małgorzata Prolejko OBI JA16Z03 Plan Klasa Class. Analiza funkcjonalności klasy. Podstawy obsługi wyjątków. Zastosowanie refleksji do analizy obiektów. Wywoływanie
Bardziej szczegółowoInstalacja i konfiguracja serwera SSH.
Instalacja i konfiguracja serwera SSH. Podczas wykonywania poniższych zadań w zeszycie w sprawozdaniu 1. podaj i wyjaśnij polecenia, które użyjesz, aby: wyjaśnić pojęcia związane z ssh, zainstalować serwer
Bardziej szczegółowoProgramowanie 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ółowoUruchamianie bazy PostgreSQL
Uruchamianie bazy PostgreSQL PostgreSQL i PostGIS Ten przewodnik może zostać pobrany jako PostgreSQL_pl.odt lub PostgreSQL_pl.pdf Przejrzano 10.09.2016 W tym rozdziale zobaczymy, jak uruchomić PostgreSQL
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia. Wprowadzenie teoretyczne.
Bardziej szczegółowoInstrukcja użytkownika
Instrukcja użytkownika ul. Zawalna 1/5 51-118 Wrocław e-mail: biuro@innotechtion.pl www.innotechtion.pl Spis treści 1 Instalacja oprogramowania SMS Studio...2 2 Pierwsze uruchomienie... 4 2.1 Rejestracja...
Bardziej szczegółowoKonfiguracja serwera DNS w systemie Windows Server 2008 /2008 R2
Konfiguracja serwera DNS w systemie Windows Server 2008 /2008 R2 Procedura konfiguracji serwera DNS w systemie Windows Server 2008/2008 R2, w sytuacji gdy serwer fizyczny nie jest kontrolerem domeny Active
Bardziej szczegółowoArchitektury usług internetowych. Laboratorium 5. JADE
Wstęp Architektury usług internetowych Laboratorium 5. JADE Celem laboratorium jest zapoznanie się z usługami udostępnianymi przez agenty w systemie agentowym JADE. Każdy z agentów udostępniający usługę
Bardziej szczegółowoWczytywanie cenników z poziomu programu Norma EXPERT... 2. Tworzenie własnych cenników w programie Norma EXPERT... 4
Spis treści Wczytywanie cenników z poziomu programu Norma EXPERT... 2 Tworzenie własnych cenników w programie Norma EXPERT... 4 Wczytywanie cenników z poziomu serwisu internetowego www.intercenbud.pl do
Bardziej szczegółowo