J2EE Project PRZEMYSŁAW SOŁTAN. (1.1 RC2 build )

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

Download "J2EE Project PRZEMYSŁAW SOŁTAN. (1.1 RC2 build 03.01.2005) e-mail: kerk@moskit.ie.tu.koszalin.pl"

Transkrypt

1 J2EE Project PRZEMYSŁAW SOŁTAN (1.1 RC2 build )

2 Dokumentacja Proces tworzenia niniejszego dokumentu zrealizowano przy użyciu darmowego oprogramowania OpenOffice Historia projektu opublikowanie wersji 1.1 RC2 (relase candidate) dodanie przykładu na kod klienta komunikatów JMS; dodanie wstepnej wersji opisu EJB-QL; opracowanie listy tematów projektu; dodanie przykładu obsługi serwera LDAP oraz opis wykorzystania biblioteki log4j; dodanie opisu przykładu komponentu ZoneFacadeBean zawierającego kod obsługi referencji do sesyjnego komponentu ZoneBean; dodanie opisu wykorzystania obiektu Properties oraz parametryzacji komponentów EJB; dodanie przykładu komponentu entity bean CMP 2.0 oraz opisanie wzorca obiektu transferu danych DTO (wersja wstępna); aktualizacja kodu wzorca wyszukiwania usług ServiceLocator o obsługę wyszukiwania lokalnych komponentów EJB (metoda getlocalhome), zmiana nazwy JNDI komponentu fasady z ejb/facadebean na ejb/facade, dodanie opisu wzorca Singleton; dołączenie dodatku na temat ciekawej biblioteki MockEJB (atrapy kontenera EJB) za pomocą której można testować kod komponentów EJB bez użycia serwera J2EE; umieszczenie przykładu realizacji wzorców delegata biznesowego i wyszukiwania usług opublikowanie wersji 1.0; zainicjowanie projektu i ukończenie wersji 1.0 alpha niniejszej dokumentacji do wzorcowego projektu realizowanego w technologii J2EE. Plany rozwojowe opis projektu przy użyciu serwera Apache Geronimo i platformy Eclipse rozszerzenie projektu o nowe elementy platformy 1.4 (głównie WebServices) oraz stworzenie wzorcowej aplikacji cienkiego klienta w JSF; rozbudowa projektu o realizację klientów SOA (np. na platformie.net); rozszerzenie przykładów z wykorzystaniem wzorców projektowych J2EE; implementacja projektu dla serwera JBOSS 4.0 rozszerzenie opisu o XDoclet; -2-

3 Spis treści I. Wstęp Literatura Oprogramowanie...7 II. Serwer aplikacji J2EE Instalacja Uruchomienie serwera...9 III. Sesyjny komponent EJB Zaprojektowanie klasy SessionBean Klasa komponentu sesyjnego EJB FacadeBean.java Zaprojektowanie interfejsu domowego Interfejs domowy - FacadeHome.java Zaprojektowanie interfejsu zdalnego Interfejs zdalny - Facade.java Klasowy diagram UML Tworzenie nowej aplikacji EAR Deskryptor application.xml Deskryptor sun-j2ee-ri.xml Instalowanie komponentu EJB Deskryptory Deskryptor application.xml Deskryptor sun-j2ee-ri.xml Deskryptor ejb-jar.xml Deploy aplikacji EAR IV. Komunikacja klienta z komponentem EJB Przykład prostego klienta Klasa klienta - SimpleClient.java Wzorzec Singleton Klasa wzorca singleton - Singleton.java Klasa testowa - TestSingleton.java Wzorzec Lokalizatora Usług Klasa lokalizatora usługi ServiceLocator.java Klasa wyjątków lokalizatora usługi ServiceLocatorException.java Zmodyfikowana klasa klienta - ServiceLocatorClient.java Klasa właściwości - Properties Fragment kodu z klasy SimpleClient.java Plik właściwości jndi.properies Zmodyfikowany fragment kodu z klasy SimpleClient.java Wzorzec Delegata Biznesowego Klasa delegata biznesowego BusinessDelegate.java Klasa klienta BusinessDelegateClient.java V. Referencje EJB Klasa komponentu sesyjnego - ZoneBean.java Interfejs domowy - ZoneHome.java Interfejs zdalny - Zone.java Interfejs lokalny-domowy ZoneLocalHome.java

4 Interfejs lokalny - ZoneLocal.java Klasa komponentu SessionBean - ZoneFacadeBean.java Interfejs domowy - ZoneFacadeHome.java Interfejs zdalny - ZoneFacade.java Klasa klienta ZoneClient.java Wzorzec adaptera Klasa adaptera SessionBeanAdapter.java Parametryzacja komponentów EJB Fragment kodu z klasy FacadeBean.java Zmodyfikowany fragment kodu z klasy FacadeBean.java Aplikacja webowa WAR...46 VI. Komponenty Entity EJB Utrwalanie danych Komponenty CMP 2.X Klasa komponetnu Entity EJB (CMP) UserBean.java Interfejs zdalny - User.java Interfejs domowy - UserHome.java Interfejs lokalny - UserLocal.java Interfejs lokalny-domowy - UserLocalHome.java GUID Klasa Guid.java Wzorzec Obiektu Transferu Danych Klasa do transferu danych użytkownika - UserData.java Wzorzec Facade Wzorzec Lokalizatora Usług Relacje CMR Metody Finder i Select EJB-QL Składnia zapytania EJB-QL Przykładowe metody findxxx Przykładowe metody selectxxx i selectxxxinentity...56 VII. Transakcje Model ACID w komponentach EJB Wycofanie transakcji Mapowanie metod komponentów EJB Poziomy izolacji transakcji Fragment desktyptora - ejb-jar.xml...59 VIII. JNDI Interfejs Context Fragment pliku SimpleClient.java Interfejs DirContext IX. Ldap Konfiguracja serwera OpenLdap Plik konfiguracyjny serwera OpenLDAP - slap.conf Aplikacja klienta - LdapBrowser Komunikacja z serwerem Przykład prostego klienta LdapClient.java

5 X. Komunikaty JMS Konfiguracja JMS na serwerze J2EE RI Komponent MDB Klasa wzorca adaptera dla MDB MessageDrivenBean.java Klasa komponentu MDB LogBean.java Prosty klient wysyłający komunikaty JMS ServiceLocator rozszerzenie wyszukiwania o kolejki JMS...69 XI. Web Services AXIS XII. Autentykacja i Autoryzacja Role użytkowników Komunikacja SSL XIII. Testy jednostkowe JUnit Projekt Cactus osadzanie testów jednostkowych na serwerze J2EE XIV. Komponent?! Projekt CUBA XV. Log4j Poziomy rejestracji logów Przekierowanie logów Definiowanie wzorca Kod klasy Log4jClient.java Plik właściwości biblioteki log4j log4j.properties...78 XVI. ANT i MAVEN Ant Skrypt ANT'a z J2EE Project build.xml Maven...81 XVII. JBoss i XDoclet JBoss XDoclet XVIII. Geronimo XIX. Atrapa EJB? - MockEJB Aplikcja klienta Zmodyfikawana klasa klienta - SimpleMockClient.java...84 XX. Systemy kontroli wersji - Cvs i Svn CVS SVN Tworzenie repozytorium SVN...87 XXI. UML Diagramy przypadków użycia XXII. Projekt Założenia nazewnicze Diagram klas projektu

6 22.3. Lista tematów Zagadnienia podstawowe XXIII. Zasoby 98 XXIV. Schematy deskryptorów XXV. J2EE RI poprawki i aktualizacje Ścieżka do bazy Cloudscape Plik setenv.bat Bibiblioteka klienta CloudView Plik cloudview.bat Obsługa serwera w Win Gramatyka sun-j2ee-ri_1_3.dtd

7 I.Wstęp Niniejszy dokument stanowi opis szkieletu wzorcowego projektu J2EE wykorzystywanego podczas zajęć z przedmiotu Systemy Rozproszone realizowanego od 2002 roku w Politechnice Koszalińskiej na Wydziale Elektroniki i Informatyki. W dalszym opisie zastosowano przyrostowy napływ wiedzy przyswajanej wraz z rozbudową opisywanego projektu. Uwaga! Aktualnie jako bazę projektową wykorzystano serwer J2EE RI ze względu na mniejsze wymagania sprzętowe komputerów w porównaniu z J2EE 1.4 bazującym na serwerze SunOne. Z tego względu część platformy 1.4 nie jest poruszana w tym dokumencie. Dokument nie zawiera opisu poszczególnych typów komponentów EJB i stanowi uzupełnienie moich wykładów dostępnych pod adresami: (jsp, servlet) oraz (ejb, jndi, ldap, jms, web services) 1.1. Literatura Przemysław Sołtan Na polskim rynku dostępne są trzy wartościowe pozycje dotyczące poruszanych zagadnień (wszystkie wydane przez Ed Roman, Scott W. Ambler, Tyler Jewell, Enterprise JavaBean. Deepak Alur, John Crupi, Dan Malks, J2EE Wzorce projektowe wydanie drugie ; William Crawford, Jonathan Kaplan, J2EE Stosowanie wzorców projektowych ; Adresy internetowe z wartościowymi materiałami dotyczącymi J2EE: Oprogramowanie Wszelkie wymagane oprogramowanie jest dostępne na stronie domowej przedmiotu Systemy Rozproszone

8 II.Serwer aplikacji J2EE 2.1. Instalacja Serwer zainstalowano w katalogu d:\java\j2ee (można wybrać także lokalizację domyślną). Po instalacji należy dołączyć zmienną środowiskową J2EE_HOME wskazującą jego lokalizację. Rys. 1. Ustawienie zmiennej środowiskowej J2EE_HOME (Windows 2000) Dodatkowo w zmiennej PATH dopisano lokalizację katalogu %J2EE_HOME%\bin serwera w celu łatwiejszego uruchamiania znajdujących się tam skryptów. Rys. 2. Dodanie ścieżki przeszukiwania katalogu %J2EE_HOME%\bin -8-

9 Uwaga! Do prawidłowej pracy serwera aplikacji J2EE RI wymagana jest poprawka dostępna na stronie autora. Umieszczono w niej poprawną biblioteką kliencką do obsługi bazy Cloudscape (IBM) oraz wsparcie w uruchamianiu serwera na systemie Windows98. Uwaga! Występują problemy przy uruchamianiu serwera przy pomocy javy 1.5. Podczas projektowania wykorzystywano java 1.4.1_2 sdk. W przypadku instalacji dwóch wersji java programy należy uruchamiać z poziomu katalogu bin javy 1.4. Od tego momentu można z konsoli DOS wywoływać poszczególne skrypty wymagane przez serwer. Info! Serwer można również uruchamiać z poziomu innych systemów operacyjnych np. Linux'a (ze strony dostępne są odpowiednie wersje instalacyjne) 2.2. Uruchomienie serwera Pierwszym etapem jest uruchomienie serwera baz danych. W implementacji J2EE RI zastosowano serwer Cloudscape (w wersji J2EE 1.4 zmieniono serwer aplikacji na SunOne, a serwer baz danych na PointBase). Otwieramy konsolę DOS (w Windows2000 jest to polecenie cmd.exe) i wpisujemy: cloudscape start Rys. 3. Konsola dos z uruchomionym serwerem bazy danych Cloudscape Po otwarciu kolejnej konsoli wpisujemy: j2ee -verbose i następuje uruchomienie serwera aplikacyjnego J2EE. Info! Podczas uruchamiania serwera wyświetlane zostają informacje o dowiązaniach źródeł baz danych (Binding DataSource) oraz kolejek i fabryk komunikatów (Binding: < JMS). W dalszej części projektu będziemy wykorzystywali źródło bazy danych CloudscapeDB powiązanego nazwą jdbc/cloudscape w celu utrwalania komponentów Entity Bean. -9-

10 Rys. 4. Konsola dos z uruchomionym serwerem aplikacyjnym J2EE Serwer udostepnia testową stronę www pod adresem Rys. 5. Strona startowa serwera J2EE Do zarządzania serwerem wykorzystuje się aplikację grubego klienta uruchomienie programu: deploytool -10-

11 Rys. 6. Deploytool program do zarządzania serwerem J2EE RI Dla ułatwienia pracy z serwerem można stworzyć odnośniki na pulpicie do najczęściej używanych skryptów wraz z wymaganymi parametrami. Rys. 7. Przykładowy folder ze standardowymi skrótami do obsługi serwera J2EE -11-

12 III.Sesyjny komponent EJB Zadanie: zaprojektować komponent sesyjny SessionBean składający się z trzech plików źródłowych (dwóch interfejsów domowego FacadeHome i zdalnego Facade oraz klasy FacadeBean) wywołać przykładową metodę biznesową test() komponentu sesyjnego FacadeBean za pomocą klasy klienta i usługi JNDI Zaprojektowanie klasy SessionBean Jako środowisko projektowe wykorzystano darmową platformę Eclipse. Stworzono przykładowy projekt j2ee_project i dodano bibliotekę j2ee.jar zawierającą niezbedne klasy i interfejsy dla platformy J2EE. Info! Projekt j2ee_project to w rzeczywistości zestaw projektów j2ee_projectx, gdzie X określa numer projektu. Zastosowano numerację przyrostową liczoną od zera w celu porównywania zmian pomiędzy poszczególnymi fazami rozwijanego projektu. Uwaga! Biblioteka j2ee.jar jest dostępna w katalogu %J2EE_HOME%\lib zainstalowanego serwera J2EE RI Rys. 8. Pusty projekt JAVA z dołączoną biblioteką J2EE Info! Dla platformy Eclipse istnieje kilka projektów wspierających tworzenie aplikacji w J2EE: (darmowe Lomboz i JBoss-IDE, czy też komercyjne projekty Omondo ze wsparciem UML, MyEclipse). W ramach zajęć będziemy jednak korzystać ze standardowych narzędzi Eclipse

13 Klasa FacadeBean budowana jest na podstawie interfejsu SessionBean zawartego w bibliotece javax.ejb.sessionbean. Rys. 9. Hierarchia klas i interfejsów dla klasy FacadeBean ( - klasa, -interfejs) Ze względu na zastosowanie interfejsu w klasie muszą zostać zadeklarowane wszystkie metody z nim związane (metody z ramki): setsessioncontext(sessioncontext),ejbremote(),ejbactivate(),ejbpasivate(). Info! Dla lepszego zaobserwowania kolejności wywołana metod w projekcie w niektórych miejscach dodano kod wysyłania komunikaty na System.out: np. System.out.println("[INFO] FacadeUserBean: ejbremove()"); Klasa komponentu sesyjnego EJB FacadeBean.java 1 package systemy.session; 2 3 import javax.ejb.sessionbean; 4 import javax.ejb.sessioncontext; 5 6 public class FacadeBean implements SessionBean { 7 8 public FacadeBean(){} 9 10 public void ejbcreate() { 11 System.out.println("[INFO] FacadeUserBean: ejbcreate()"); 12 } public void ejbactivate() { 15 System.out.println("[INFO] FacadeUserBean: ejbactivate()"); 16 } public void ejbpassivate() { 19 System.out.println("[INFO] FacadeUserBean: ejbpassivate()"); 20 } public void ejbremove() { 23 System.out.println("[INFO] FacadeUserBean: ejbremove()"); 24 } public void setsessioncontext(sessioncontext ctx) { 27 System.out.println("[INFO] FacadeBean: setentitycontext(sessioncontext "+ctx+")"); 28 } //====================================================================== 31 //metoda biznesowa test() 32 //====================================================================== 33 public String test() { 34 System.out.println("[INFO] FacadeBean: test()"); return "test"; 37 } 38 //====================================================================== 39 } Dodatkowo w klasie zdefiniowano jedną testową metodę biznesową test(), której wywołanie powoduje zwrócenie obiektu Stringg zawierajacego tekst test. Info! W dalszych etapach projektowania będziemy dodawać do klasy FacadeBean inne metody bisnesowe podobne jak przykładowa metoda test()

14 3.2. Zaprojektowanie interfejsu domowego Rys. 10. Hierarchia interfejsów dla interfejsu domowego FacadeHome Interfejs domowy - FacadeHome.java 40 package systemy.session; import java.rmi.remoteexception; 43 import javax.ejb.createexception; 44 import javax.ejb.ejbhome; public interface FacadeHome extends EJBHome { Facade create() throws RemoteException, CreateException; } W interfejsie domowym umieszczono metodę Facade create() która będzie zdalnie wywoływana przez kod klienta Zaprojektowanie interfejsu zdalnego Rys. 11. Hierarchia interfejsów dla interfejsu zdalnego Facade Interfejs zdalny - Facade.java 51 package systemy.session; import java.rmi.remoteexception; 54 import javax.ejb.ejbobject; public interface Facade extends EJBObject { public String test() throws RemoteException; //test } W interfejsie zdalnym umieszczono metodę biznesową String test() wywoływaną zdalnie przez klienta. Info! W interfejsie zdalnym umieszcza się deklaracje metod biznesowych zawartych w klasie komponentu EJB. Nie jest konieczne umieszczanie deklaracji dla wszystkich metod biznesowych część z nich może być dostępna prywatnie w obszarze komponentu lub udostępniona przy pomocy interfejsu lokalnego (omówienie interfejsów lokalnych zostanie dokonane w dalszej części projektu) innym klientom uruchamianym przy pomocy jej samej maszyny wirtualnej JAVA

15 3.4. Klasowy diagram UML Zaprojektowano trzy pliki (interfejs domowy, interfejs zdalny oraz klasę komponentu). Pomiędzy interfejsami FacadeHome i Face istnieje zależność <<use>> ponieważ metoda create() zadeklarowana w interfejsie FacadeHome zwraca obiekt zdalny budowany na podstawie interfejsu zdalnego Facade. Reszta zależności nie jest realizowana na poziomie kodu, ale opisywana przy pomocy dodatkowych plików XML deskryptorów. Rys. 12. Diagram UML przedstawiający zaprojektowany komponent EJB (Omondo) Rys. 13. Widok drzewa projektu (Eclipse IDE) Uwaga! Komponet został nazwany FacadeBean (w wykładzie WitajBean) ponieważ w dalszej części opisu na jego bazie będzie realizowany wzorzec Fasady (Facade). Proces projektowania klas jest zakończony. Reszta operacji instalacji komponentu polega na jego konfiguracji przy pomocy deskryptorów. W przypadku serwera J2EE RI wykorzystuje się do tego celu program Deploytool. Info! W przypadku innych serwerów (np. JBOSS) proces generacji deskryptorów i plików Java wraz z instalacją całej aplikacji może być przyspieszony przez użycie narzędzi Xdoclet oraz Ant. Niestety dla serwera J2EE RI brak jest wtyczki umożliwiającej takie rozwiązanie

16 3.5. Tworzenie nowej aplikacji EAR Proces instalacji polega na stworzeni aplikacji EAR. W tym celu wybieramy z menu File New Application i podajemy nazwę archiwum ear np. systemy.ear. Rys. 14. Tworzenie nowej aplikacji - archiwum EAR (Deploytool) Rys. 15. Aplikacja EAR i jej desktyptory (Deploytool) Aplikacja EAR posiada dwa deskryptory: standardowy application.xml or deskryptor określonego serwera dla J2EE RI jest to sun-j2ee-ri.xml (w dodatkowym deskryptorze można deklarować specyficzne właściwości serwera J2EE udostepnione przez danego producenta)

17 Deskryptor application.xml 61 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE application PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN' 'http://java.sun.com/dtd/application_1_3.dtd'> <application> 66 <display-name>systemy</display-name> 67 <description>application description</description> 68 </application> Deskryptor sun-j2ee-ri.xml 69 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE j2ee-ri-specific-information PUBLIC '-//Sun Microsystems Inc.//DTD J2EE Reference Implementation 1.3//EN' 'http://localhost:8000/sun-j2ee-ri_1_3.dtd'> <j2ee-ri-specific-information> 74 <rolemapping /> 75 </j2ee-ri-specific-information> Oba deskryptory są budowane zgodnie z gramatyką zawartą w ich dokumentach DTD Instalowanie komponentu EJB Proces instalacji komponentu EJB polega na mapowaniu zaprojektowanych klas w wyniku czego powstaje deskryptor rozmieszczenia. W tym celu wykorzystuje się wizarda New Enterprise Bean Wizard wywoływany z menu File New Enterprise Bean. Rys. 16. Enterprise Bean Wizard (Deploytool) W procesie mapowania komponentu dokonuje się wyboru plików java, które mają wchodzić w skład naszego komponentu. W tym przypadku będą to: Facade.class, FacadeHome.class oraz FacadeBean.class

18 Uwaga! Należy pamiętać, że dodajemy skompilowany kod naszych klas (bytecode) *.class, a nie ich źródła *.java. Rys. 17. Dodawanie plików klas komponentu EJB (Deploytool) Dodane pliki muszą mieć zachowaną hierarchię pakietów w postaci odpowiednich katalogów (np. systemy.session.facade.class). Rys. 18. Wizard tworzący mapowanie komponentu EJB (Deploytool) -18-

19 W przykładzie zamapowano komponet sesyjny jako stanowy Stateful. Taki komponent będzie mógł reprezentować kod klienta na serwerze J2EE (każdy klient będzie posiadał własną instancję tego komponentu). Info! W przykładzie jest wywoływana prosta metoda test() dla której wystarczy zastosować komponent sesyjny bezstanowy Stateless, ale ze względu na rozbudowę projektu w dalszej części zastosowano odpowiednik stanowy Stateful. Dalsze ustawienia Wizarda pozostawiamy jako domyśle. Są to głównie opcje dotyczące transakcji, konfigurowania parametrów uzytkownika, referencji do innych komponentów EJB, czy zasobów określanych przez nazwy JNDI oraz bezpieczeństwa. Do tych elementów powrócimy w dalszym opisie projektu. Rys. 19. Mapowanie klas komponentu FacadeBean (Deploytool) Uwaga! Należy zwrócić uwagę, żę mapowanie klas komponentów dotyczy nie tylko nazwy klas, ale całej hierarchi pakietów. Ma to szczególne znaczenie podczas definiowania referencji do innych komponentów EJB. Problem ten zostanie omówiony podczas opisu wzorca Fasady Sesji. Ostatnią operacją przed umieszczeniem całego kodu aplikacji EAR na serwerze jest nadanie naszemu komponentowi nazwy JNDI. Gdy zapomnimy to zrobić to program deploytool przypomni nam o tym podczas wywoływania opcji deploy

20 Rys. 20. Wiązanie komponentu z nazwą JNDI (Deploytool) Nazwa JNDI może być dowolna, ale warto zastosować dodatkowe konteksty dla różnych typów zasobów w celu łatwiejszej ich identyfikacji (np. ejb/facadebean). W ten sposób na serwerze zdefiniowane są również inne zasoby np. źródła baz danych (np. jdbc/cloudscape), czy też kolejki komunikatów (np. jms/topic). Dodatkowo poprawność ustawień oraz kod java można sprawdzić przy pomocy weryfikatora (Verifier) poprzez wybór z menu opcji Edit Verifer... Rys. 21. Weryfikacja komponentu (Deploytool Verifier) -20-

21 3.7. Deskryptory Deskryptor application.xml 76 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE application PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN' 'http://java.sun.com/dtd/application_1_3.dtd'> <application> 81 <display-name>systemy</display-name> 82 <description>application description</description> 83 <module> 84 <ejb>ejb-jar-ic.jar</ejb> 85 </module> 86 </application> Deskryptor application.xml zawiera informację, że w aplikacji występuje dodatkowy moduł ejb-jar-ic.jar Deskryptor sun-j2ee-ri.xml 87 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE j2ee-ri-specific-information PUBLIC '-//Sun Microsystems Inc.//DTD J2EE Reference Implementation 1.3//EN' 'http://localhost:8000/sun-j2ee-ri_1_3.dtd'> <j2ee-ri-specific-information> 92 <rolemapping /> 93 <enterprise-beans> 94 <module-name>ejb-jar-ic.jar</module-name> 95 <unique-id>0</unique-id> <ejb> 98 <ejb-name>facadebean</ejb-name> 99 <jndi-name>ejb/facadebean</jndi-name> 100 <ior-security-config> 101 <transport-config> 102 <integrity>supported</integrity> 103 <confidentiality>supported</confidentiality> 104 <establish-trust-in-target>supported</establish-trust-in-target> 105 <establish-trust-in-client>supported</establish-trust-in-client> 106 </transport-config> 107 <as-context> 108 <auth-method>username_password</auth-method> 109 <realm>default</realm> 110 <required>false</required> 111 </as-context> 112 <sas-context> 113 <caller-propagation>supported</caller-propagation> 114 </sas-context> 115 </ior-security-config> 116 <gen-classes /> 117 </ejb> </enterprise-beans> 120 </j2ee-ri-specific-information> Deskryptor sun-j2ee-ri.xml zawiera dodatkowe informacje. Najważniejszą z nich jest mapowanie komponentu FacadeBean jako nazwa JNDI ejb/facadebean. Reszta informacji na razie nie jest istotna i dotyczy dodatkowych ustawień serwera (bezpieczeństwo). Wewnątrz archiwum ejb-jar-ir.jar znajduje się kolejny deskryptor zawierający więcej informacji o przechowywanym komponencie EJB

22 Deskryptor ejb-jar.xml 121 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'> <ejb-jar> <display-name>systemyejb</display-name> <enterprise-beans> 130 <session> 131 <display-name>facadebean</display-name> 132 <ejb-name>facadebean</ejb-name> 133 <home>systemy.session.facadehome</home> 134 <remote>systemy.session.facade</remote> 135 <ejb-class>systemy.session.facadebean</ejb-class> 136 <session-type>stateful</session-type> 137 <transaction-type>bean</transaction-type> 138 <security-identity> 139 <description></description> 140 <use-caller-identity></use-caller-identity> 141 </security-identity> 142 </session> 143 </enterprise-beans> <assembly-descriptor> 146 <method-permission> </method-permission> 149 </assembly-descriptor> </ejb-jar> 3.8. Deploy aplikacji EAR Proces rozmieszczenia wywołyje się z menu: Tools Deploy. Rys. 22. Eksportowanie biblioteki jar dla aplikacji klienckiej Podczas procesu rozmieszczania można wybrać opcję eksportowania kodu biblioteki JAR służącej do zdalnego wywoływania komponentu

23 Podczas długotrwałego procesu rozmieszczania można przeglądać komunikaty pojawiające się podczas tego procesu na konsoli serwera J2EE oraz programu Deploytool. Rys. 23. Konsola serwera J2EE RI Na podstawie przygotowanego kodu java w procesie rozmieszczania następuje generacja klas. Infrastruktura komunikacji zdalnego wywoływania kodu klienta realizowana jest przy pomocy protokołu RMI-IIOP. W celu generacji wymaganego kodu wykorzystuje się program rmic standardowo dostępny z JDK. Info! Więcej informacji na temat RMI można odnaleźć na witrynie przedmiotu Programowanie dla Sieci - Rys. 24. Konsola programu Deploytool Rys. 25. Zakończenie rozmieszczania aplikacji (Deploytool Deploy) -23-

24 Serwer aplikacji J2EE RI na porcie 9191 udostępnia stronę WWW z której można pobrać archiwum jar z klasami potrzebnymi aplikacjom klienckim do zdalnego komunikowania się z komponentem EJB (stub'y dla komunikacji RMI-IIOP). Rys. 26. Strona www udostępniająca kliencki kod dostępu do komponentu EJB Rys. 27. Podgląd listy aplikacji EAR uruchomionych na serwerze (Deploytool Deploy) Po rozmieszczeniu aplikacji można ją odinstalować bez restartu serwera opcja Undeploy

25 IV.Komunikacja klienta z komponentem EJB Komponent EJB został zainstalowany na serwerze. Serwer ochrania komponent stosując określone zasady bezpieczeństwa (różne poziomy ochrony transakcji oraz autoryzację dostępu do metod komponentu za pomocą ról użytkowników). W przypadku, gdy dla komponentu EJB zdefiniowano interfejsy: domowy i zdalny (np. FacadeHome i Facade) można się z nim skomunikować przy pomocy protokołu RMI-IIOP. W tym celu serwer udostępnia serwer nazewniczy JNDI nasłuchujący na porcie Przykład prostego klienta Zaprezentowany prosty kod klienta realizuje komunikację z komponentem EJB. Następuje wywołanie kodu komunikującego się z serwerem JNDI nasłuchującym na porcie Serwer odnajduje komponent (referencję do obiektu domowego Home) poprzez podanie nazwy JNDI (np. otrzymuję obiekt FacadeHome po podaniu nazwy ejb/facadebean ) Klasa klienta - SimpleClient.java 152 package systemy.client; 153 import java.util.properties; import javax.naming.context; 156 import javax.naming.initialcontext; 157 import javax.rmi.portableremoteobject; 158 import systemy.session.facadehome; 159 import systemy.session.facade; public class SimpleClient { public static void main(string[] args) { Properties env = new Properties(); //J2EE RI env.put("java.naming.factory.initial","com.sun.enterprise.naming.serialinitcontextfactory"); 170 env.put("java.naming.provider.url", "iiop://localhost:1050"); try { Context ctx = new InitialContext(env); 175 Object objref = ctx.lookup("ejb/facadebean"); //nazwa JNDI 176 FacadeHome home = (FacadeHome) PortableRemoteObject.narrow(objref,FacadeHome.class); 177 Facade w = home.create(); System.out.println(w.test()); //test } catch (Exception e) { 182 System.err.println(e); 183 } 184 } 185 } -25-

26 Rys. 28. Pakiet aplikacji klienta i aplikacji J2EE Rys. 29. Diagram UML przedstawiający zaprojektowany komponent EJB (Omondo) z klasą klienta Info! Serwery aplikacyjne posiadają serwer nazw JNDI do którego dostęp realizowany jest przy pomocy tzw. Fabryk. Dodatkowo każdy z serwerów posiada lokalizację i numer port na którym działa usługa nazewnicza JNDI. //JBoss env.put("java.naming.factory.initial","org.jnp.interfaces.namingcontextfactory"); env.put("java.naming.provider.url","localhost:1099"); //SunOne 8 env.put("java.naming.factory.initial","com.sun.jndi.cosnaming.cnctxfactory"); env.put("java.naming.provider.url", "iiop://localhost:3700"); Do przetestowania kodu klasy klienta stworzono nowy projekt j2ee_projectx_client. Do prawidłowej pracy wymagana jest biblioteka j2ee.jar tak jak w przypadku poprzedniego projektu oraz plik systemyclient.jar wygenerowany przez serwer J2EE w procesie rozmieszczenia aplikacji (Deploy)

27 Rys. 30. Klasa klienta wywołana z poziomu Eclipse IDE Po wywołaniu kodu klienta na konsoli pojawia się wynik wywołania metody witaj() komponentu EJB. Rys. 31. Konsola serwera J2EE wyświetla komunikaty System.out zawarte w klasie FacadeBean (wywołanie metod setentitycontext, ejbcreate oraz test) Aplikacja klienta może zostać zrealizowana jako zwykła klasa Java lub też kod może zostać umieszczony w aplikacji web'owej WAR (jako strona JSP, servlet, lub JavaBean). Kod klienta może zostać wywołany zdalnie z innego komputera (innej wirtualnej maszyny Java)

J2EE Project TEMATY PROJEKTÓW PRZEMYSŁAW SOŁTAN. (0.2 build 18.12.2004) e-mail: kerk@moskit.ie.tu.koszalin.pl

J2EE Project TEMATY PROJEKTÓW PRZEMYSŁAW SOŁTAN. (0.2 build 18.12.2004) e-mail: kerk@moskit.ie.tu.koszalin.pl J2EE Project PRZEMYSŁAW SOŁTAN e-mail: kerk@moskit.ie.tu.koszalin.pl TEMATY PROJEKTÓW (0.2 build 18.12.2004) Wstęp Tworząc projekty opieramy się na źródłach mojego projektu będącego swego rodzaju szkieletem

Bardziej szczegółowo

Budowa aplikacji w technologii. Enterprise JavaBeans. Maciej Zakrzewicz PLOUG

Budowa aplikacji w technologii. Enterprise JavaBeans. Maciej Zakrzewicz PLOUG Budowa aplikacji w technologii Enterprise JavaBeans Maciej Zakrzewicz PLOUG Plan prezentacji Przegląd architektur aplikacji rozproszonych: CORBA, SOAP, EJB Wprowadzenie do Enterprise JavaBeans (EJB) Budowa

Bardziej szczegółowo

Wprowadzenie do Enterprise JavaBeans 2.0

Wprowadzenie do Enterprise JavaBeans 2.0 71 Wprowadzenie do Enterprise JavaBeans 2.0 Maciej Zakrzewicz Maciej.Zakrzewicz@cs.put.poznan.pl http://www.cs.put.poznan.pl/mzakrzewicz/ Plan rozdziału 72 Wprowadzenie do EJB Rodzaje komponentów Zdalny

Bardziej szczegółowo

Plan prezentacji. Budowa aplikacji w technologii Enterprise JavaBeans. Przegląd architektur: CORBA. Cele budowy aplikacji rozproszonych

Plan prezentacji. Budowa aplikacji w technologii Enterprise JavaBeans. Przegląd architektur: CORBA. Cele budowy aplikacji rozproszonych Plan prezentacji Budowa aplikacji w technologii Enterprise JavaBeans Przegląd architektur aplikacji rozproszonych: CORBA,, Wprowadzenie do Enterprise JavaBeans () Budowa komponentów sesyjnych Budowa komponentów

Bardziej szczegółowo

Enterprise JavaBeans

Enterprise JavaBeans Enterprise JavaBeans 1. Wprowadzenie. 2. Przegląd komponentów EJB. komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 3. Kontener komponentów EJB: JBoss. 1 Enterprise JavaBeans

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

Budowa komponentów Enterprise JavaBeans

Budowa komponentów Enterprise JavaBeans VII Seminarium PLOUG Warszawa Marzec 2003 Budowa komponentów Enterprise JavaBeans Maciej Zakrzewicz, Marek Wojciechowski mzakrz, marek@cs.put.poznan.pl Politechnika Poznañska Instytut Informatyki Streszczenie

Bardziej szczegółowo

Platforma J2EE i EJB. Oprogramowanie systemów równoległych i rozproszonych Wykład 9. Rola EJB na platformie J2EE. Dr inż. Tomasz Olas olas@icis.pcz.

Platforma J2EE i EJB. Oprogramowanie systemów równoległych i rozproszonych Wykład 9. Rola EJB na platformie J2EE. Dr inż. Tomasz Olas olas@icis.pcz. Platforma J2EE i EJB Oprogramowanie systemów równoległych i rozproszonych Wykład 9 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Platforma

Bardziej szczegółowo

Enterprise JavaBeans. 1. Architektura EJB: komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 2. Kontenery EJB JBoss.

Enterprise JavaBeans. 1. Architektura EJB: komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 2. Kontenery EJB JBoss. 1 Enterprise JavaBeans 1. Architektura EJB: komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 2. Kontenery EJB JBoss. 2 Enterprise JavaBeans Enterprise JavaBeans (EJB) to specyfikacja

Bardziej szczegółowo

EJB 2.x oraz zmiany w standardzie dla EJB 3.0. Michał Stanek

EJB 2.x oraz zmiany w standardzie dla EJB 3.0. Michał Stanek Enterprise JavaBean EJB 2.x oraz zmiany w standardzie dla EJB 3.0 Michał Stanek Plan prezentacji Czym jest EJB Architektura aplikacji J2EE oraz kontener EJB Typy komponentów JavaBean EJB 1.0, EJB 2.x Wady

Bardziej szczegółowo

Komponenty sterowane komunikatami

Komponenty sterowane komunikatami Komponenty sterowane komunikatami 1. Usługa JMS asynchroniczność, model przesyłania komunikatów, 2. Przykład wysyłanie wiadomości, odbieranie wiadomości, komponent sterowany komunikatami 3. Komponenty

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

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Aplikacja internetowa tworzona na podstawie bazy danych. Programowanie komponentowe 2, Zofia

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

1. Podstawowe usługi bezpieczeństwa. 2. Użytkownicy i role. przydzielanie uprawnie ń metodom, role komponentów, korzystanie i konfiguracja

1. Podstawowe usługi bezpieczeństwa. 2. Użytkownicy i role. przydzielanie uprawnie ń metodom, role komponentów, korzystanie i konfiguracja Bezpieczeństwo 1. Podstawowe usługi bezpieczeństwa. 2. Użytkownicy i role. przydzielanie uprawnie ń metodom, role komponentów, korzystanie i konfiguracja mechanizmów bezpieczeństwa w Jboss 3. Java Authentication

Bardziej szczegółowo

Usługa TimerService ejbtimeout() @javax.ejb.timeout

Usługa TimerService ejbtimeout() @javax.ejb.timeout TimerService i JNDI 1. Usługa TimerServiece, interfejsy TimedObject, TimerService, Timer, TimerHandle transakcje, zastosowanie usługi w komponentach EJB, cykl życia EJB, problemy. 2. Zasoby JNDI i wstrzykiwanie,

Bardziej szczegółowo

NHibernate Hibernate dla platformy.net. Hibernate posiada także dużą społeczność, zatem nietrudno uzyskać jakieś wsparcie w przypadku problemów.

NHibernate Hibernate dla platformy.net. Hibernate posiada także dużą społeczność, zatem nietrudno uzyskać jakieś wsparcie w przypadku problemów. Hibernate Każda poważniejsza aplikacja wymaga przechowywania danych w jakiejś bazie danych. Można realizować to na wiele sposobów. Można obsługę bazy danych pisać samodzielnie, do zera, albo skorzystać

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

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Aplikacja internetowa tworzona na podstawie bazy danych. Programowanie komponentowe 2, Zofia

Bardziej szczegółowo

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

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache

Bardziej szczegółowo

1 Wprowadzenie do J2EE

1 Wprowadzenie do J2EE Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2

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

Encyjne komponenty EJB

Encyjne komponenty EJB 132 Encyjne komponenty EJB Marek Wojciechowski Marek.Wojciechowski@cs.put.poznan.pl http://www.cs.put.poznan.pl/mwojciechowski/ Plan rozdziału 133 Wprowadzenie do encyjnych komponentów EJB Cykl życia encyjnego

Bardziej szczegółowo

Systemy Rozproszone TECHNOLOGIA JAVA 2 ENTERPRISE EDITION PRZEMYSŁAW SOŁTAN. email: kerk@moskit.ie.tu.koszalin.pl

Systemy Rozproszone TECHNOLOGIA JAVA 2 ENTERPRISE EDITION PRZEMYSŁAW SOŁTAN. email: kerk@moskit.ie.tu.koszalin.pl Systemy Rozproszone TECHNOLOGIA JAVA 2 ENTERPRISE EDITION PRZEMYSŁAW SOŁTAN email: kerk@moskit.ie.tu.koszalin.pl 07.11.2002 Co powinieneś znać? Podstawy HTML i XML Programowanie obiektowe w Javie Serwery

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

EJB 3.0 (Enterprise JavaBeans 3.0)

EJB 3.0 (Enterprise JavaBeans 3.0) EJB 3.0 (Enterprise JavaBeans 3.0) Adrian Dudek Wirtualne Przedsiębiorstwo 2 Wrocław, 1 czerwca 2010 Plan prezentacji 1 Wprowadzenie Cel prezentacji Czym jest EJB 3.0? Historia 2 3 Cel prezentacji Wprowadzenie

Bardziej szczegółowo

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

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

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe. Warstwa integracji wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe. 1. Ukrycie logiki dostępu do danych w osobnej warstwie 2. Oddzielenie mechanizmów trwałości od modelu obiektowego Pięciowarstwowy

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

Bezstanowe komponenty sesyjne i zdarzenia zwrotne

Bezstanowe komponenty sesyjne i zdarzenia zwrotne Bezstanowe komponenty sesyjne i zdarzenia zwrotne 1. Zdarzenia zwrotne. klasy nasłuchujące, klasy nasłuchujące a dziedziczenie. 2. Bezstanowe komponenty sesyjne. interfejsy: bazowy, zdalny i lokalny, obiekty

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

Klasy abstrakcyjne i interfejsy

Klasy abstrakcyjne i interfejsy Klasy abstrakcyjne i interfejsy Streszczenie Celem wykładu jest omówienie klas abstrakcyjnych i interfejsów w Javie. Czas wykładu 45 minut. Rozwiązanie w miarę standardowego zadania matematycznego (i nie

Bardziej szczegółowo

Java Enterprise Edition spotkanie nr 1. Sprawy organizacyjne, wprowadzenie

Java Enterprise Edition spotkanie nr 1. Sprawy organizacyjne, wprowadzenie Java Enterprise Edition spotkanie nr 1 Sprawy organizacyjne, wprowadzenie 1 Informacje organizacyjne Program: Co będzie na tym wykładzie, a czego nie będzie? apteka rolnictwo Java Enterprise Edition vs

Bardziej szczegółowo

1. Uruchomić i skonfigurować środowisko tworzenia aplikacji i serwer aplikacji.

1. Uruchomić i skonfigurować środowisko tworzenia aplikacji i serwer aplikacji. Temat Stworzenie systemu składającego się z prostej usługi sieciowej (ang. web service) oraz komunikującej się z nią aplikacji klienckiej umożliwiającej dostęp do usługi przez przeglądarkę internetową.

Bardziej szczegółowo

public interface TravelAgent { public void makereservation(int cruiseid, int cabinid, int customerid, double price); }

public interface TravelAgent { public void makereservation(int cruiseid, int cabinid, int customerid, double price); } Web Services 1. Podstawy usług sieciowych. SOAP, WSDL. 2. Usługi sieciowe w JAX-RPC. interfejs punktu końcowego, korzystanie z usługi z poziomu komponentu EJB, programy klienckie, narzędzia i deskryptory

Bardziej szczegółowo

Wykład dla studentów Informatyki Stosowanej UJ 2012/2013

Wykład dla studentów Informatyki Stosowanej UJ 2012/2013 e-biznes Wykład dla studentów Informatyki Stosowanej UJ 2012/2013 Michał Cieśla pok. 440a, email: michal.ciesla@uj.edu.pl konsultacje: środy 10-12 http://users.uj.edu.pl/~ciesla/ 1 Literatura B. Burke,

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

Wzorce logiki dziedziny

Wzorce logiki dziedziny Wzorce logiki dziedziny 1. Wzorce logiki dziedziny skrypt transakcji (Transaction Script), brama tabeli (Table Data Gateway), model dziedziny (Domain model), strategia (Strategy), moduł tabeli (Table Module),

Bardziej szczegółowo

Budowa prostej aplikacji wielowarstwowej. Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz

Budowa prostej aplikacji wielowarstwowej. Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz Budowa prostej aplikacji wielowarstwowej Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz Konfigurowanie edytora programu za pomocą Tools/Options/Editor Konfigurowanie edytora programu za pomocą

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

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

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

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Spis treści Wprowadzenie Automatyczne ładowanie klas Składowe klasy, widoczność składowych Konstruktory i tworzenie obiektów Destruktory i

Bardziej szczegółowo

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

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x Wdrożenie modułu płatności eservice dla systemu oscommerce 2.3.x - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie

Bardziej szczegółowo

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

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

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

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

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf Materiały poprawione Rozwiązanie zadania w NetBeans IDE 7.4: Jarosław Ksybek, Adam Miazio Celem ćwiczenia jest przygotowanie prostej aplikacji

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9

Wdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9 Wdrożenie modułu płatności eservice dla systemu Magento 1.4 1.9 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do

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

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton Dzisiejszy wykład Wzorce projektowe Visitor Client-Server Factory Singleton 1 Wzorzec projektowy Wzorzec nazwana generalizacja opisująca elementy i relacje rozwiązania powszechnie występującego problemu

Bardziej szczegółowo

Programowanie obiektowe

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

"Biznesowe" wzorce projektowe

Biznesowe wzorce projektowe POLITECHNIKA GDAŃSKA WYDZIAŁ ELEKTRONIKI TELEKOMUNIKACJI I INFORMATYKI Katedra Architektury Systemów Komputerowych Jarosław Kuchta Instrukcja do laboratorium z przedmiotu Projektowanie Aplikacji Internetowych

Bardziej szczegółowo

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1

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

Bardziej szczegółowo

Programowanie 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

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

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

Bardziej szczegółowo

Programowanie 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

Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5

Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5 Wdrożenie modułu płatności eservice dla systemu Zen Cart 1.3.9 1.5 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie

Bardziej szczegółowo

WPROWADZENIE DO JĘZYKA JAVA

WPROWADZENIE DO JĘZYKA JAVA WPROWADZENIE DO JĘZYKA JAVA programowanie obiektowe KRÓTKA HISTORIA JĘZYKA JAVA KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny języka java. Pierwsza nazwa Oak (dąb). KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny

Bardziej szczegółowo

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java: otwórz okienko Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU klasy wewnętrzne, lokalne i anonimowe biblioteka AWT zestaw Swing JFrame JPanel komponenty obsługa zdarzeń

Bardziej szczegółowo

Programowanie w Javie

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

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

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

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016 Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac

Bardziej szczegółowo

Rozdział 4 KLASY, OBIEKTY, METODY

Rozdział 4 KLASY, OBIEKTY, METODY Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej

Bardziej szczegółowo

Java wybrane technologie

Java wybrane technologie Java wybrane technologie spotkanie nr 7 Enterprise Java Beans Zagadnienia dotyczące systemów rozproszonych Zdalne wołanie metod (ang. Remote Method Invocation) Wielowątkowość (ang. Threading) Współpraca

Bardziej szczegółowo

Wieloplatformowe aplikacje sieciowe. dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak

Wieloplatformowe aplikacje sieciowe. dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak Wieloplatformowe aplikacje sieciowe dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak SOAP Serwer: Axis2 / Java Wbudowany komponent nasłuchujący, (Apache / Tomcat) Client Axis2 klient / XML Jeżyk programowania:

Bardziej szczegółowo

Ćwiczenie 1. Przygotowanie środowiska JAVA

Ćwiczenie 1. Przygotowanie środowiska JAVA Ćwiczenie 1 Przygotowanie środowiska JAVA 1. Wprowadzenie teoretyczne Instalacja JDK (Java Development Kit) NaleŜy pobrać z java.sun.com środowisko i zainstalować je. Następnie naleŝy skonfigurować środowisko.

Bardziej szczegółowo

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym 1 Wprowadzenie do środowiska Oracle APEX, obszary robocze, użytkownicy Wprowadzenie Plan Administracja obszarem roboczym 2 Wprowadzenie Co to jest APEX? Co to jest APEX? Architektura Środowisko Oracle

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

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Wykład 3 Inżynieria oprogramowania Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System

Bardziej szczegółowo

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

Załącznik 1 instrukcje instalacji

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

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego

Bardziej szczegółowo

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

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

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java Aplikacje Internetowe Podstawy języka Java Najprostsza aplikacja class Hello { public static void main(string[] args) { System.out.println("Hello World!"); Komponenty Javy JRE Java Runtime Environment

Bardziej szczegółowo

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

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 1, część 2 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po

Bardziej szczegółowo

Wprowadzenie do projektu QualitySpy

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

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

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

Bardziej szczegółowo

Niezbędne serwery aplikacji. Wprowadzenie do technologii JBoss i Apache Tomcat.

Niezbędne serwery aplikacji. Wprowadzenie do technologii JBoss i Apache Tomcat. Niezbędne serwery aplikacji. Wprowadzenie do technologii JBoss i Apache Tomcat. Serwer Tomcat Plan wykładu Opis serwera Jak uruchomić napisaną aplikację Podstawowa konfiguracja Pierwsze uruchomienie Tomcat

Bardziej szczegółowo

Programowanie rozproszone w języku Java

Programowanie rozproszone w języku Java Wstęp Gniazda RMI Podsumowanie Programowanie rozproszone w języku Java Wojciech Rząsa wrzasa@prz-rzeszow.pl Katedra Informatyki i Automatyki, Politechnika Rzeszowska 25 maja 2015 Wojciech Rząsa, KIiA PRz

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

Serwery Statefull i Stateless

Serwery Statefull i Stateless Serwery Statefull i Stateless Wszystkie serwery aplikacji są określone jako stateless podczas projektowania. Te aplikacje nie przetrzymują stałego połączenia z klientem. Wysyłają one pakiety danych na

Bardziej szczegółowo

Budowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer

Budowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer Budowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer Maven 2 podstawowe informacje Apache Maven jest narzędziem automatyzującym budowę oprogramowania

Bardziej szczegółowo

Pracownia internetowa w szkole ZASTOSOWANIA

Pracownia internetowa w szkole ZASTOSOWANIA NR ART/SBS/07/01 Pracownia internetowa w szkole ZASTOSOWANIA Artykuły - serwery SBS i ich wykorzystanie Instalacja i Konfiguracja oprogramowania MOL Optiva na szkolnym serwerze (SBS2000) Artykuł opisuje

Bardziej szczegółowo

Forum Client - Spring in Swing

Forum Client - Spring in Swing Forum Client - Spring in Swing Paweł Charkowski. 0. Cel projektu Celem projektu jest próba integracji Spring Framework z różnymi technologiami realizacji interfejsu użytkownika, oraz jej ocena. Niniejszy

Bardziej szczegółowo

Serwery LDAP w środowisku produktów w Oracle

Serwery LDAP w środowisku produktów w Oracle Serwery LDAP w środowisku produktów w Oracle 1 Mariusz Przybyszewski Uwierzytelnianie i autoryzacja Uwierzytelnienie to proces potwierdzania tożsamości, np. przez: Użytkownik/hasło certyfikat SSL inne

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

Hibernate mapowanie baz danych

Hibernate mapowanie baz danych Hibernate mapowanie baz danych Jest to technologia pozwalająca mapować dane obiektowe na odpowiadające im struktury w bazach danych. ORM - Object-to-Relational Mapping. Jest odpowiedzią na znikomą ilość

Bardziej szczegółowo

Java jako język programowania

Java jako język programowania Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)

Bardziej szczegółowo

Zagadnienia projektowania aplikacji J2EE

Zagadnienia projektowania aplikacji J2EE 211 Zagadnienia projektowania aplikacji J2EE Maciej Zakrzewicz Maciej.Zakrzewicz@cs.put.poznan.pl http://www.cs.put.poznan.pl/mzakrzewicz/ Plan rozdziału 212 Wstęp Techniki projektowe: Wprowadzenie modułu

Bardziej szczegółowo

Transakcje w systemach Java Enterprise Korzystanie z systemów kolejkowania w serwerach aplikacji

Transakcje w systemach Java Enterprise Korzystanie z systemów kolejkowania w serwerach aplikacji Transakcje w systemach Java Enterprise Korzystanie z systemów kolejkowania w serwerach aplikacji Systemy kolejkowania w środowisku serwera aplikacji Możliwość korzystania z systemów kolejkowania w aplikacjach

Bardziej szczegółowo

Java JMX. Marcin Werla. Monitorowanie i zarządzanie usługami sieciowymi w Javie. mwerla@man.poznan.pl PCSS/Poznań JUG

Java JMX. Marcin Werla. Monitorowanie i zarządzanie usługami sieciowymi w Javie. mwerla@man.poznan.pl PCSS/Poznań JUG Java JMX Monitorowanie i zarządzanie usługami sieciowymi w Javie Marcin Werla mwerla@man.poznan.pl PCSS/Poznań JUG Plan prezentacji Wprowadzenie Specyfikacja Dodatkowe narzędzia i biblioteki Studium przypadku

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

Bardziej szczegółowo

Aplikacje WWW - laboratorium

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

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych Laboratorium OiOSE. Programowanie w środowisku MS Visual C++ 1 Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych Organizacja i Oprogramowanie Systemów Elektronicznych Michał Kowalewski

Bardziej szczegółowo

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium

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

Dokumentacja kompilacji źródeł aplikacji 1.0

Dokumentacja kompilacji źródeł aplikacji 1.0 Projekt dofinansowany ze środków Mechanizmu Finansowego Europejskiego Obszaru Gospodarczego Dokumentacja kompilacji źródeł aplikacji Projekt: Wypracowanie i wdrożenie innowacyjnych metod integracji danych

Bardziej szczegółowo