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

Wprowadzenie CORBA ORB

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

Zaawansowane aplikacje WWW - laboratorium

Projektowanie aplikacji internetowych laboratorium

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

Zaawansowane aplikacje internetowe - laboratorium

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

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.

Ćwiczenia 9 - Swing - część 1

Aplikacje WWW - laboratorium

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

Zaawansowane aplikacje internetowe laboratorium

Zaawansowane aplikacje internetowe - laboratorium Architektura Spring.

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

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

Zaawansowane aplikacje internetowe laboratorium

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

Programowanie Obiektowe GUI

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

Zaawansowane aplikacje internetowe - laboratorium

Aplikacje RMI Lab4

Aplikacje internetowe i rozproszone - laboratorium

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

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

Aplikacje WWW - laboratorium

Programowanie obiektowe zastosowanie języka Java SE

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

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

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

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

Java Platform Micro Edition

Enterprise JavaBeans (EJB)

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

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

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

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

Wywoływanie metod zdalnych

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

Katalog książek cz. 2

Git, Bitbucket, IntelliJ IDEA

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

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

WPROWADZENIE DO JĘZYKA JAVA

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

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

Web Services (SOAP) Ćwiczenie 1

Tworzymy projekt File->New Project->Java Application, przy czym tym razem odznaczamy create main class

Wywoływanie metod zdalnych

Programowanie w Javie

Java EE: JSF + EJB + JPA

CORBA. Object Request Broker

Java jako język programowania

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

Informatyka I : Tworzenie projektu

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

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

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

Bezpieczne uruchamianie apletów wg

Wielowarstwowe aplikacje internetowe - laboratorium

Zaawansowane aplikacje internetowe

Remote Method Invocation 17 listopada 2010

Remote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1

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

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

Microsoft.NET: LINQ to SQL, ASP.NET AJAX

Podejście obiektowe do budowy systemów rozproszonych

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

ZAPOZNANIE SIĘ Z TWORZENIEM

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

Wykład 7: Pakiety i Interfejsy

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

Zastosowanie komponentów EJB typu Session

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski SYSTEMY SCADA

Java Database Connectivity

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

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

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

Aplikacje WWW - laboratorium

Protokół JDBC współpraca z relacyjnymi bazami danych lab3

Wybrane Działy Informatyki Stosowanej LABORATORIUM 1.

JDK można pobrać ze strony

Aplikacje RMI

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

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

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

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

Aplikacje internetowe - laboratorium

Tworzenie i wykorzystanie usług

Programowanie obiektowe

Podejście obiektowe do budowy systemów rozproszonych

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

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie

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

Systemy Rozproszone - Ćwiczenie 6

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

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 5.0 (do pobrania z http://www.netbeans.org) oraz środowisko J2SE 1.4.2 (lub wyższe). 1. Uruchom narzędzie NetBeans IDE 5.0 2. Z menu głównego wybierz File New Project. Wybierz kategorię General i typ projektu Java Application. Kliknij przycisk Next >.

3. Podaj nazwę projektu, np. CORBA. Odznacz pole wyboru przy opcji Create Main Class. Kliknij przycisk Finish. 4. Kliknij prawym przyciskiem myszy na nazwie ikonie Source Packages i z menu kontekstowego wybierz New Empty File Wprowadź nazwę pliku timeservice.idl. 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. Uruchom konsolę MS-DOS i przejdź do katalogu zawierającego źródła aplikacji, %NETBEANS_HOME%\mywork\CORBA\src (gdzie %NETBEANS_HOME% to lokalny katalog zawierający instalację NetBeans IDE 5.0. Wykorzystaj prekompilator idlj.exe do wygenerowania plików po stronie serwera przez wydanie komendy c:\> idlj.exe v fserver timeservice.idl 7. Wróć do środowiska NetBeans IDE 5.0. Zauważ, że w drzewie Source Packages pojawił się pakiet o Timer. Rozwiń zawartość pakietu i kliknij dwukrotnie na każdym pliku, obejrzyj zawartość każdego pliku.

8. Kliknij prawym przyciskiem myszy na ikonie Source Packages i z menu kontekstowego wybierz opcję New Java Class Wprowadź nazwę klasy TimeServant. Kliknij przycisk Finish. 9. 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);

10. Dostęp do obiektu usługodawcy wymaga wygenerowania odpowiednich pniaków i klas pomocniczych. Wróć do okna MS-DOS i wydaj komendę c:\> idlj.exe v fclient timeservice.idl 11. Kolejny krok to przygotowanie programu serwera, który powoła do życia instację 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. Kliknij przycisk Finish. Plik Server.java zostanie otwarty w edytorze kodu. Wprowadź do pliku następujący kod. import Timer.*; import org.omg.cosnaming.*; import org.omg.cosnaming.namingcontextpackage.*; import org.omg.corba.*; import org.omg.portableserver.*; import java.util.*; import java.text.*; 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..."); 12. :Uruchom dodatkowe okno MS-DOS. Uruchom brokera obiektów ORB za pomocą komendy c:\> orbd.exe ORBInitialPort 1050

13. Wróć do środowiska NetBeans IDE 5.0. Kliknij prawym przyciskiem myszy gdziekolwiek w edytorze zawierającym otwarty plik Server.java. Z menu kontekstowego wybierz opcję Run File. 14. 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 z menu kontekstowego wybierz New Java Class Wprowadź nazwę klasy Client. Kliknij przycisk Finish. 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(); 15. Uruchom program klienta przez kliknięcie prawym przyciskiem myszy w oknie edycji pliku Client.java i wybranie z menu kontekstowego opcji Run File.