Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.



Podobne dokumenty
Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

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

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

Projektowanie aplikacji internetowych laboratorium

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

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

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

Zaawansowane aplikacje WWW - laboratorium

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

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.

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

Programowanie Obiektowe GUI

Wprowadzenie CORBA ORB

Tworzenie projektu zawierającego aplet w środowisku NetBeans. lab1. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

Zaawansowane aplikacje internetowe laboratorium

Ćwiczenia 9 - Swing - część 1

Zaawansowane aplikacje internetowe - laboratorium

Java Platform Micro Edition

Aplikacje RMI Lab4

Zaawansowane aplikacje internetowe laboratorium

Zaawansowane aplikacje internetowe - laboratorium Architektura Spring.

Aplikacje WWW - laboratorium

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

Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium.

E:\DYDAKTYKA\ZAI\ZWWW\Laboratoria\L07\Java Persistence.doc 2011-lis-24, 17:0 Zaawansowane aplikacje internetowe Laboratorium Java Persistence.

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

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

Aplikacje internetowe i rozproszone - laboratorium

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

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

Programowanie obiektowe zastosowanie języka Java SE

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

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 - laboratorium

Git, Bitbucket, IntelliJ IDEA

Wybierz kategorię Java Web i typ projektu Web Application. Kliknij przycisk Next >.

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1

Bezpieczne uruchamianie apletów wg

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

JDK można pobrać ze strony

Java pierwszy program w Eclipse «Grzegorz Góralski strona własna

Java EE: JSF + EJB + JPA

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

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

Katalog książek cz. 2

Enterprise JavaBeans (EJB)

E:\DYDAKTYKA\ZAI\ZWWW\Laboratoria\L07\Java Persistence.doc 2011-lis-24, 17:0 Zaawansowane aplikacje internetowe Laboratorium Java Persistence.

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP002017_ Laboratorium 11 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

Wywoływanie metod zdalnych

Zastosowanie komponentów EJB typu Session

WPROWADZENIE DO JĘZYKA JAVA

ZSBD ćwiczenie 4. Obiektowe systemy zarządzania bazą danych. Przygotowanie środowiska pracy. Wymagania: ZSBD ćwiczenie 4

Zaawansowane aplikacje internetowe

Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej

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

Programowanie w Javie Lista nr 1. Wybieramy kategorię Java, a wśród Projektów Java Application i [NEXT]

Java jako język programowania

Wywoływanie metod zdalnych

Programowanie w Javie

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

Wykład 7: Pakiety i Interfejsy

Aplikacje WWW - laboratorium

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

Web Services (SOAP) Ćwiczenie 1

Aplikacje WWW - laboratorium

Aplikacje RMI

Zaawansowane aplikacje internetowe CORBA. wykład prowadzi Mikołaj Morzy CORBA

Łukasz Przywarty Wrocław, r. Grupa: WT/N 11:15-14:00. Sprawozdanie z zajęć laboratoryjnych: OpenSSL - API

Tworzenie i wykorzystanie usług

Wprowadzenie do tworzenia własnego modułu w kontrolerze Floodlight.

Informatyka I : Tworzenie projektu

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz

Projekt INP Instrukcja 1. Autor Dr inż. Zofia Kruczkiewicz

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Remote Method Invocation 17 listopada 2010

Aplikacje internetowe - laboratorium

Laboratorium 01: Poznanie środowiska programowania w języku Java [2h]

Aplikacje RMI. Budowa aplikacji rozproszonych. Część 2.

Remote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1

Laboratorium - Poznawanie FTP

Podejście obiektowe do budowy systemów rozproszonych

Programowanie obiektowe

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

Instrukcja instalacji

Instalacja NOD32 Remote Administrator

ZAPOZNANIE SIĘ Z TWORZENIEM

Załącznik 1 instrukcje instalacji

Java Persistence API. Class powinny być zaznaczone. Kliknij przycisk Finish.

Db4o obiektowa baza danych wersja.net

Henryk Budzisz. materiały przygotowane w ramach projektu ZPORR nr POKL /08-00

PWSG Ćwiczenia 12. Wszystkie ukończone zadania należy wysłać na adres: lub

Załącznik 1 instrukcje instalacji

Laboratorium - Narzędzie linii uruchamiania w systemie Windows Vista

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

Java Database Connectivity

Java Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu.

Programowanie komponentowe

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

Narzędzie pomocnicze do przedmiotu Podstawy Informatyki - złożoność obliczeniowa

Transkrypt:

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA. Celem ćwiczenia jest przygotowanie prostej aplikacji wykorzystującej architekturę CORBA. Aplikacja składa się z usługodawcy (serwera) i klienta. Usługa polega na podaniu bieżącego czasu. Do wykonania ćwiczenia potrzebne jest zintegrowane środowisko programistyczne NetBeans IDE. Wykorzystane środowisko: NetBeans IDE 7.4 (do pobrania z http://www.netbeans.org). 1. Uruchom narzędzie NetBeans IDE 7.4 2. Z menu głównego wybierz File New Project Wybierz kategorię Java i typ projektu Java Application. Kliknij przycisk Next

3. Podaj nazwę projektu, np. CORBA Wprowadź lokalizację projektu: C:\NetBeansProjects Odznacz pole wyboru przy opcji Create Main Class Kliknij przycisk Finish

4. W oknie Projects kliknij prawym przyciskiem myszy na nazwie projektu CORBA i z menu kontekstowego wybierz New Empty File... Wprowadź nazwę pliku timeservice.idl Wprowadź nazwę folderu src Kliknij przycisk Finish 5. Plik timeservice.idl jest otwarty w głównym oknie do edycji. Umieść w pliku poniższy kod IDL i zapisz zmiany. module Timer { interface TimeService { string gettime(); ; ; 6. Odszukaj plik idlj.exe na dysku lokalnym; Zanotuj dokładnie ścieżkę - może to być na przykład : D:\Program Files\Java\jdk1.7.0_45\bin

7. Uruchom konsolę MS-DOS a) Przejdź do katalogu zawierającego źródła aplikacji:...\corba\src w naszym przypadku w wierszu poleceń wpiszemy : cd C:\NetBeansProjects\CORBA\src b) Wykorzystaj prekompilator idlj.exe do wygenerowania plików po stronie serwera przez wydanie komendy:...\src> "D:\Program Files\Java\jdk1.7.0_45\bin\idlj.exe" v fserver timeservice.idl 8. Wróć do środowiska NetBeans IDE. Zauważ, że w drzewie Source Packages pojawił się pakiet Timer. 9. Kliknij prawym przyciskiem myszy na ikonie Source Packages i z menu kontekstowego wybierz opcję New Java Class Wprowadź nazwę klasy TimeServant. Pole package zostaw puste. Kliknij przycisk Finish.

10. Plik TimeServant.java jest otwarty w głównym edytorze do edycji. Klasa TimeServant posłuży jako główna implementacja usługi. Wprowadź do pliku następujący kod : import Timer.*; import java.text.*; import java.util.*; import org.omg.corba.*; public class TimeServant extends TimeServicePOA { private ORB orb; public TimeServant() { public void setorb(orb orb) { this.orb = orb; public String gettime() { SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy, HH:mm:ss:SSS z"); Date now = new Date(); return formatter.format(now); 11. Dostęp do obiektu usługodawcy wymaga wygenerowania odpowiednich pniaków i klas pomocniczych. Wróć do okna MS-DOS i wydaj komendę...\src> "D:\Program Files\Java\jdk1.7.0_45\bin\idlj.exe v fclient timeservice.idl

12. Kolejny krok to przygotowanie programu serwera, który powoła do życia instancję usługodawcy (TimeServant), zarejestruje usługodawcę w brokerze obiektów i aktywizuje brokera. Kliknij prawym przyciskiem myszy na ikonie Source Packages i z menu kontekstowego wybierz opcję New Java Class Wprowadź nazwę klasy Server. Pole package zostaw puste. Kliknij przycisk Finish.

13. Plik Server.java zostanie otwarty w edytorze kodu. Wprowadź do pliku następujący kod: import Timer.*; import org.omg.cosnaming.*; import org.omg.corba.*; import org.omg.portableserver.*; import java.util.*; public class Server { public Server() { public static void main(string args[]) { try { Properties props = new Properties(); props.put("org.omg.corba.orbinitialport", "1050"); props.put("org.omg.corba.orbinitialhost", "localhost"); ORB orb = ORB.init(args, props); POA rootpoa = POAHelper.narrow(orb.resolve_initial_references("RootPOA")); rootpoa.the_poamanager().activate(); TimeServant timeservant = new TimeServant(); timeservant.setorb(orb); org.omg.corba.object ref = rootpoa.servant_to_reference(timeservant); TimeService href = TimeServiceHelper.narrow(ref); org.omg.corba.object objref = orb.resolve_initial_references("nameservice"); NamingContextExt ncref = NamingContextExtHelper.narrow(objRef); String name = "TimeServant"; NameComponent path[] = ncref.to_name(name); ncref.rebind(path, href); System.out.println("TimeServant ready and waiting..."); orb.run(); catch (Exception e) { e.printstacktrace(system.out); System.out.println("TimeServant Exiting...");

14. Odszukaj plik orbd.exe na dysku lokalnym; zanotuj dokładnie ścieżkę - może to być na przykład : D:\Program Files\Java\jdk1.7.0_45\bin. Wróć do okna MS-DOS i uruchom brokera obiektów ORB za pomocą komendy :...> "D:\Program Files\Java\jdk1.7.0_45\bin\orbd.exe" ORBInitialPort 1050 15. Wróć do środowiska NetBeans IDE. Kliknij prawym przyciskiem myszy gdziekolwiek w edytorze zawierającym otwarty plik Server.java. Z menu kontekstowego wybierz opcję Run File.

16. Ostatnia część ćwiczenia to przygotowanie programu klienta, który połączy się z usługą i pobierze aktualny czas. Kliknij prawym przyciskiem myszy na ikonie Source Packages i menu kontekstowego wybierz New Java Class Wprowadź nazwę klasy Client. Pole package zostaw puste. Kliknij przycisk Finish.

17. Plik Client.java zostanie otwarty w edytorze kodu. Wprowadź do pliku następujący kod : import Timer.*; import org.omg.cosnaming.*; import org.omg.corba.*; import java.util.properties; public class Client { public static void main(string args[]) { try { Properties props = new Properties(); props.put("org.omg.corba.orbinitialport", "1050"); props.put("org.omg.corba.orbinitialhost", "localhost"); ORB orb = ORB.init(args, props); org.omg.corba.object objref = orb.resolve_initial_references("nameservice"); NamingContext ncref = NamingContextHelper.narrow(objRef); NameComponent nc = new NameComponent("TimeServant", ""); NameComponent path[] = {nc; TimeService timeref = TimeServiceHelper.narrow(ncRef.resolve(path)); String time = "Time on the server: " + timeref.gettime(); System.out.println(time); catch (Exception e) { e.printstacktrace(); 17. Uruchom program klienta przez kliknięcie prawym przyciskiem myszy w oknie edycji pliku Client.java i wybranie z menu kontekstowego opcji Run File. 18. Uruchom klienta kilkakrotnie. Zauważ zmiany wyświetlanego czasu. 19. Aby zakończyć ćwiczenie, zamknij projekt w środowisku NetBeans IDE a następnie zamknij konsolę MS-DOS.