Enterprise JavaBeans 3.0

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

Download "Enterprise JavaBeans 3.0"

Transkrypt

1 Enterprise JavaBeans 3.0 Jacek Laskowski Politechnika Poznańska Poznań, , wersja 1

2 O mnie... Entuzjasta technologii Java EE 5 Założyciel i lider Warszawa JUG Członek zespołów rozwojowych Apache Geronimo, Apache OpenEJB, Apache ServiceMix, Apache ActiveMQ, Apache XBean Uczestnik programów NetBeans Community Acceptance Test (NetCAT) 5.0, 5.5 i 6.0 Prowadzi Notatnik Projektanta Java EE - Założyciel Polskiej Grupy Użytkowników Technologii BEA (PLBUG) Służbowo: konsultant oprogramowania w IBM

3 Certyfikacja SCBCD 5

4 Literatura

5 Specyfikacje

6 Enterprise JavaBeans 3.0 Enterprise JavaBeans (EJB) rozproszony model komponentów aplikacyjnych Część Java EE 5 Specyfikacja EJB3 zatwierdzona 2 maja 2006r. Implementacje: GlassFish referencyjna implementacja Java EE 5 Apache Geronimo 2 z Apache OpenEJB 3 IBM WebSphere Application Server 6.1 z EJB 3.0 Feature Pack BEA WebLogic Server 10 JBoss AS z dodatkiem EJB 3.0

7 Fundamenty EJB3 POJO (ang. Plain-Old Java Object) powrót do korzeni JavaBeans Konfiguracja przez nadpisywanie (ang. configuration by exception) Java SE 5 a przede wszystkim adnotacje Wstrzeliwanie zależności (ang. DI dependency injection) Interceptory (ang. interceptors) Plik jar jako format dystrybucji

8 Projekty otwarte a EJB3 Kształt EJB3 pod wpływem projektów otwartych (ang. OSS open source software) Spring Framework Hibernate XDoclet AspectWerkz/AspectJ...wiele innych

9 Rezultat prac nad EJB3 Intuicyjne tworzenie komponentów biznesowych Bezinwazyjność realizujemy założenia biznesowe a nie specyfikacji Dowolne Java IDE Brak wymagań odnośnie środowiska programistycznego Możliwość uruchomienia komponentów encyjnych w ramach Java SE Uproszczone testowanie poza środowiskiem serwera aplikacyjnego

10 Typy komponentów EJB3 Bezstanowe ziarno sesyjne (ang. SLSB stateless session bean) Stanowe ziarno sesyjne (ang. SFSB stateful session bean) Ziarno sterowane komunikatami (ang. MDB message-driven bean) Komponent encyjny encja (ang. entity bean)

11 Przeznaczenie biznesowe komponentów Ziarno sesyjne nietrwały, ulotny, modeluje akcje (na encjach) SLSB agent bezstanowy (czasownik) SFSB podobnie jak SLSB tyle, że dla wybranego klienta utrzymuje jego stan (rzeczownik) Ziarno sterowane komunikatami asynchroniczna komunikacja Encja trwały (najczęściej baza danych) Encja byt (rzeczownik)

12 Konfiguracja przez nadpisywanie ang. Configuration by exception (CbE) Brak konfiguracji = w użyciu domyślne parametry konfiguracyjne Porządek ważności parametrów konfiguracyjnych Domyślne wartości Annotacje Deskryptor instalacji (META-INF/ejb-jar.xml)

13 Korzyści CbE Szybkie tworzenie komponentów Uproszczone prototypowanie Możliwość nadpisywania wartości konfiguracyjnych na życzenie, np. per środowisko Stosowanie annotacji jako dokumentacja kodu i możliwe nadpisanie w deskryptorze instalacji

14 Typy interfejsów Interfejs biznesowy Lokalny Zdalny Interfejs usługi internetowej (ang. web services) per klasa per metoda (wyłącznie SLSB) Interfejs biznesowy MDB to interfejs usługi komunikatów, np. javax.jms.messagelistener dla JMS

15 Interceptory Interceptor to metoda przechwytująca zdarzenia związane ze stadiami rozwojowymi ziarna bądź wywołaniem jego metod biznesowych Wyłącznie dla komponentów sesyjnych i MDB na klasie komponentu Domyślne interceptory w deskryptorze InvocationContext interfejs komunikacyjny dla wielu interceptorów związanych z pojedyńczym komponentem

16 Interceptory rozwojowe Interceptory zwrotne związane ze stadiami rozwojowymi ziarna (ang. lifecycle callback interceptor Sygnatura: void metoda() i void metoda(invocationcontext)

17 Interceptory biznesowe Interceptory biznesowe (ang. business method interceptors) uruchamiane przed wywołaniem metod bądź around-invoke w DD Sygnatura metody: public Object metoda(invocationcontext) throws Exception

18 Sytuacje wyjątkowe Wyróżniamy wyjątki aplikacyjne i systemowe Wyjątki aplikacyjne związane z działaniem biznesowym komponentu, w ramach aplikacji (deklaracja poprzez dowolna klasa wyjątku kontrolowanego lub nie, która przekazywana jest klientowi bezpośrednio application-exception w deskryptorze instalacji (ejb-jar.xml) Obsługa transakcji poprzez element rollback

19 Sytuacje wyjątkowe - cd. Wyjątki systemowe związane z działaniem komponentu jako części serwera RemoteException i RuntimeException i ich podklasy (za Przykłady: Brak połączenia z bazą danych Wyjątki związane z działaniem JNDI Błędy wirtualnej maszyny Java (JVM) Opakowane jako javax.ejb.ejbexception W efekcie wycofanie transakcji i usunięcie komponentu z systemu

20 Tworzenie ziarna EJB3 2-krokowy proces: 1.Definiowanie interfejsu biznesowego 2.Klasa ziarna jako implementacja interfejsu biznesowego

21 Komponent EJB3 - przykład Interfejs biznesowy - ExamScheduler package pl.jaceklaskowski.exam.scheduler; import java.util.list; import pl.jaceklaskowski.exam.beans.exam; public interface ExamScheduler { } List<Exam> getexams();

22 Komponent EJB3 - przykład Klasa komponentu package pl.jaceklaskowski.exam.scheduler; import java.util.list; import pl.jaceklaskowski.exam.beans.exam; public class ExamSchedulerBean implements ExamScheduler { public List<Exam> getexams() { return...; } } Nie, to nie wszystko... ;-)

23 Komponent EJB3 - przykład Obowiązkowo określamy typ komponentu package pl.jaceklaskowski.exam.scheduler; import java.util.list; import javax.ejb.stateless; import public class ExamSchedulerBean implements ExamScheduler { public List<Exam> getexams() { return...; } }

24 Pytania? Nie! To jeszcze nie koniec...

25 Laboratoria - agenda Utworzenie aplikacji przemysłowej z EJB3 Ziarno sterowane komunikatami (MDB) z klientem zdalnym Ziarno MDB Usługa sieciowa JAX-WS jako bezstanowe ziarno sesyjne (SLSB) Wykorzystane oprogramowanie: Eclipse z wtyczką dla Geronimo NetBeans IDE 6.0

26 Pytania? Nie! To jeszcze nie koniec...

27 Java Persistence API 1.0 Java Persistence API interfejs programistyczny do obiektowej obsługi danych składowanych w relacyjnych bazach danych Część Java EE 5 w ramach EJB3 Specyfikacja JPA 1.0 zatwierdzona 2 maja 2006r. Implementacje: Apache OpenJPA TopLink Essentials (TopLink JPA) Hibernate EntityManager (Hibernate JPA)

28 Fundamenty JPA POJO (ang. Plain-Old Java Object) powrót do korzeni JavaBeans Konfiguracja przez nadpisywanie (ang. configuration by exception) konfiguracja jest wyjątkiem od ogólnie przyjętej reguły Java SE 5 a przede wszystkim adnotacje Wstrzeliwanie zależności (ang. DI dependency injection) alternatywa dla JNDI Plik jar jako format dystrybucji

29 Rezultat prac nad JPA Intuicyjne tworzenie komponentów biznesowych Bezinwazyjność - realizujemy założenia biznesowe a nie specyfikacji Brak wymagań odnośnie środowiska programistycznego dowolne Java IDE Możliwość uruchomienia komponentów encyjnych w ramach Java SE Uproszczone testowanie poza środowiskiem serwera aplikacyjnego

30 Nomenklatura JPA Encja obiekt trwały (egzemplarz klasy encji) Klasa encji klasa reprezentująca stan encji Zarządca encji interfejs do zarządzania kontekstem trwałym Fabryka zarządców encji interfejs do tworzenia (aplikacyjnych) zarządców trwałych Kontekst trwały zbiór zarządzanych obiektów trwałych, w którym dla danego identyfikatora trwałego istnieje pojedyńczy egzemplarz encji

31 Liczność bytów JPA Za Pro EJB 3 Java Persistence API Apress strona 24

32 EntityManagerFactory API EntityManager createentitymanager() EntityManager createentitymanager(map map) void close() boolean isopen()

33 Stadia rozwojowe encji Encja nowa (ang. new) Utworzenie egzemplarza klasy encji Brak identyfikatora trwałego Encja nie związana z żadnym kontekstem trwałym Encja zarządzana (ang. managed) Przypisany trwały identyfikator Encja związana z kontekstem trwałym Zmiany automatycznie zapisywane w bazie danych

34 Stadia rozwojowe encji kont. Encja odłączona (ang. detached) Encja posiadająca identyfikator trwały Nie związana z kontekstem trwałym Zmiany nie mają odzwierciedlenia w bazie danych Zwykły egzemplarz klasy encji Encja usunięta (ang. Removed) Encja zarządzana oczekująca trwałego usunięcia Nie istnieje API do rozpoznania stadium rozwojowego encji, ale...

35 EntityManager API void clear() Czyści kontekst trwały Wszystkie zarządzane encje przechodzą w stan odłączony <T> T merge(t entity) Synchronizuje stan encji z kontekstem trwałym Przejście ze stanu odłączonego w stan zarządzany UWAGA: Jedynie zwrócona encja jest zarządzana void persist(object entity) Utrwalenie egzemplarza encji Encja w stanie zarządzanym

36 EntityManager API kont. void refresh(object entity) Odświeża stan encji danymi z bazy danych Nadpisuje zmiany stanu encji void remove(object entity) Usuwa encję

37 Pytania? Nie! To jeszcze nie koniec...

38 Środowisko rozpoznawania JPA Korzysta z Apache Maven Tworzenie artefaktów projektowych w wybranym IDE (obecnie Eclipse IDE 3.3) Możliwość wyboru dostawcy JPA oraz bazy danych domyślnie Apache OpenJPA z Apache Derby Uruchomienie testów z poziomu IDE lub linii poleceń

39 Przykład #1 cykl rozwojowy encji Przykład demonstruje użycie interfejsu EntityManager Klasa LifecycleTest mvn -Dtest=LifecycleTest clean test

40 Konfiguracja JPA META-INF/persistence.xml plik konfiguracyjny JPA (deskryptor XML dla JPA) Opisuje konfigurację zarządcy encji Obowiązkowy atrybut: nazwa jednostki trwałej Dostawca JPA Obsługa transakcji Klasy encji Właściwości konfiguracyjne dostawcy JPA Może istnieć wiele definicji jednostek trwałych

41 (Aplikacyjna) konfiguracja JPA <?xml version="1.0" encoding="utf-8"?> <persistence version="1.0" xmlns=" xmlns:xsi=" xsi:schemalocation=" ns/persistence/persistence_1_0.xsd"> <persistence-unit name="testpu" transaction-type="resource_local"> <provider>org.apache.openjpa.persistence.persistenceproviderimpl</provider> <class>pl.jaceklaskowski.jpa.entity.osoba</class> <class>pl.jaceklaskowski.jpa.entity.projekt</class> <class>pl.jaceklaskowski.jpa.entity.pracownikspecjalny</class> <class>pl.jaceklaskowski.jpa.entity.a</class> <exclude-unlisted-classes>true</exclude-unlisted-classes> <properties> <property name="openjpa.connectiondrivername" value="org.apache.derby.jdbc.embeddeddriver" /> <property name="openjpa.connectionurl" value="jdbc:derby:target/derbydb;create=true" /> <property name="openjpa.connectionusername" value="app" /> <property name="openjpa.connectionpassword" value="app" /> <property name="openjpa.jdbc.dbdictionary" value="derby" /> <property name="openjpa.jdbc.synchronizemappings" value="buildschema(schemaaction='add,deletetablecontents')" /> <property name="openjpa.log" value="defaultlevel=trace,sql=trace" /> <!-- Breaks maven-surefire-plugin with TestNG --> <property name="openjpa.querycompilationcache" value="false" /> </properties> </persistence-unit> </persistence>

42 (Serwerowa) konfiguracja JPA <?xml version="1.0" encoding="utf-8"?> <persistence version="1.0" xmlns=" xmlns:xsi=" xsi:schemalocation=" ns/persistence/persistence_1_0.xsd"> <persistence-unit name="testyejb3encjepu"> <jta-data-source>jdbc/testyejb3postgres</jta-data-source> <properties> <property name="toplink.ddl-generation" value="drop-and-create-tables" /> <property name="toplink.logging.level" value="info" /> </properties> </persistence-unit> </persistence>

43 Przykład #2 JPA w Java SE Przykład demonstruje konstrukcję samodzielnej aplikacji korzystającej z JPA (w trybie poza kontenerem) Na podstawie artykułów w moim Wiki OpenJPA jako dostawca JPA w samodzielnej aplikacji Java Persistence API w samodzielnej aplikacji Hibernate jako dostawca JPA w samodzielnej aplikacji

44 Przykład #3 JPA w Java EE Przykład demonstruje prostotę tworzenia aplikacji korporacyjnej korzystającej z usług serwera aplikacyjnego Java EE 5 Zlecenie obsługi elementów składowych kontenerowi (serwerowi) Ziarno bezstanowe EJB z JPA Na podstawie artykułu w moim Wiki Aplikacja korporacyjna z JPA w trybie JTA z GlassFish i PostgreSQL

45 Pytania? Nie! To jeszcze nie koniec...

46 Tworzenie encji Zbudowanie klasy reprezentującej byt w domenie biznesowej (POJO) Uaktywnienie klasy jako klasy encji za pomocą adnotacji Adnotacje na polach Adnotacje na metodach odczytujących (ang. setter) Definicja jednostki trwałej (persistence.xml) Opcjonalna definicja mapowania Adnotacje Plik META-INF/orm.xml

47 Podstawowe adnotacje oznaczenie klasy jako klasy oznaczenie pola jako typu identyfikatora trwałego

48 Encja Prelegent package pl.jaceklaskowski.ejb3.testy.encje; import java.io.serializable; import javax.persistence.entity; import public class Prelegent implements Serializable { private static final long serialversionuid = private long id; private String imie; private String nazwisko; public Prelegent() { } public Prelegent(String imie, String nazwisko) { this.imie = imie; this.nazwisko = nazwisko; } public long getid() { return id; } // Zauważ zmianę widoczności metody, aby wybrani mogli z niej skorzystać void setid(long id) { this.id = id; } } // metody modyfikujace i odczytujące

49 Mapujące adnotacje tabela podstawowa dla definicja charakterystyki generator AUTO, IDENTITY, SEQUENCE, TABLE strategy @Basic z atrybutem fetch (domyślnie EAGER)

50 Konfiguracja mapowania JPA Plik META-INF/orm.xml Ważniejszy niż konfiguracja mapowania za pomocą adnotacji Każdej adnotacji odpowiada element deskryptora mapowania

51 Przykładowy orm.xml <entity-mappings xmlns=" version="1.0"> <entity class="pl.jaceklaskowski.jpa.entity.a"> <attributes> <basic name="str2"> <column name="col2" length="4" /> </basic> </attributes> </entity> </entity-mappings>

52 Typy zarządców encji Podział ze względu na zarządzanie nimi Aplikacyjny zarządca encji Serwerowy zarządca encji Podział ze względu na transakcje Zarządca encji JTA Zarządca encji lokalny dla zasobu

53 Pytania? Nie! To jeszcze nie koniec...

54 Java Persistence QL Java Persistence Query Language (JPQL) język zapytań JPA łudząco podobny do SQL Obowiązkowe klauzule SELECT... FROM... EntityManager.createN...Query() N... = Named lub Native Zapytania nazwane Zapytania lub lub named-native-query

55 Query API int executeupdate() List getresultlist() Object getsingleresult() Query setparameter() Parametry w zapytaniu poprzedzone dwukropkiem Parametry metody setparameter już bez niego

56 Pytania? Nie! To jeszcze nie koniec, ale już blisko...

57 Lektura do poduszki Specyfikacja JPA final/jsr220/index.html Strona Java Persistence API technologies/persistence.jsp Relacje z lektury specyfikacji JPA w Notatniku Artykuły o JPA na moim Wiki Aplikacja korporacyjna z JPA w trybie JTA z GlassFish i PostgreSQL Java Persistence API w samodzielnej aplikacji OpenJPA jako dostawca JPA w samodzielnej aplikacji Hibernate jako dostawca JPA w samodzielnej aplikacji

58 Laboratoria - agenda Utworzenie aplikacji przemysłowej z EJB3 Ziarno sterowane komunikatami (MDB) z klientem zdalnym Ziarno MDB z JPA w trybie JTA Usługa sieciowa JAX-WS jako bezstanowe ziarno sesyjne (SLSB) z JPA Wykorzystane oprogramowanie: Eclipse z wtyczką dla Geronimo NetBeans IDE 6.0

59 I to na dziś tyle...pytania? Słucham?

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

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

Enterprise JavaBean 3.0

Enterprise JavaBean 3.0 Enterprise JavaBean 3.0 Michał Szymczak, Grzegorz Dziemidowicz Politechnika Wrocławska Inżynieria Oprogramowania 26 maja 2009 Ogólne spojrzenie na EJB EJB jako komponent EJB jako framework Typy beanów

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

Bazy danych tworzenie aplikacji bazodanowych ORM / JPA

Bazy danych tworzenie aplikacji bazodanowych ORM / JPA Bazy danych tworzenie aplikacji bazodanowych ORM / JPA ORM (Object Relationa Mapping)/ORB (Object Relational Broker) to nazwa mechanizmu tłumaczenia obiektowej postaci danych wykorzystywanej w aplikacjach

Bardziej szczegółowo

Tworzenie aplikacji dla Oracle Application Server 10g R3 w technologii EJB 3.0

Tworzenie aplikacji dla Oracle Application Server 10g R3 w technologii EJB 3.0 Tworzenie aplikacji dla Oracle Application Server 10g R3 w technologii EJB 3.0 Marek Wojciechowski Politechnika Poznańska, PLOUG e mail: Marek.Wojciechowski@cs.put.poznan.pl Abstrakt. Jedną z nowych cech

Bardziej szczegółowo

Programowanie komponentowe 5

Programowanie komponentowe 5 Budowa warstwy klienta w architekturze typu klient-serwer zbudowanych z komponentów typu EE - klient desktopowy i internetowy. Zastosowanie komponentów opartych na technologii EJB 3.2. na podstawie https://docs.oracle.com/javaee/7/jeett.pdf

Bardziej szczegółowo

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

EJB 3.0 & JBoss Seam. 25 kwietnia 2007 Jacek Gerbszt 1

EJB 3.0 & JBoss Seam. 25 kwietnia 2007 Jacek Gerbszt 1 EJB 3.0 & JBoss Seam 25 kwietnia 2007 Jacek Gerbszt 1 Wyzwania współczesnych aplikacji? Rozproszenie, zdalne wywołania Przetwarzanie transakcyjne Bezpieczeństwo Skalowalność Klastrowanie Łatwe wytwarzanie

Bardziej szczegółowo

Rola EJB na platformie Java EE. Enterprise JavaBeans (EJB)

Rola EJB na platformie Java EE. Enterprise JavaBeans (EJB) Wielowarstwowe aplikacje internetowe Plan wykładu Enterprise JavaBeans (EJB) Wprowadzenie do technologii EJB Typy komponentów EJB Klienci dla komponentów EJB Transakcje w EJB JavaServer Faces (JSF) Enterprise

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

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

Tworzenie komponentów logiki biznesowej i warstwy dostępu do danych w oparciu o EJB3.0/JPA lub EJB 3.1/JPA2

Tworzenie komponentów logiki biznesowej i warstwy dostępu do danych w oparciu o EJB3.0/JPA lub EJB 3.1/JPA2 Kod szkolenia: Tytuł szkolenia: EJB Tworzenie komponentów logiki biznesowej i warstwy dostępu do danych w oparciu o EJB3.0/JPA lub EJB 3.1/JPA2 Dni: 3 Opis: Adresaci szkolenia: Szkolenie adresowane jest

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

JAVA PERSISTENCE API CZĘŚĆ 2 ASPEKTY ZAAWANSOWANE. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska

JAVA PERSISTENCE API CZĘŚĆ 2 ASPEKTY ZAAWANSOWANE. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska JAVA PERSISTENCE API CZĘŚĆ 2 Waldemar Korłub ASPEKTY ZAAWANSOWANE Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska JPA w aplikacji Java EE Połączeniem z bazą danych zarządza serwer aplikacji

Bardziej szczegółowo

Co nowego w Java EE?

Co nowego w Java EE? Co nowego w Java EE? Marek Wojciechowski Politechnika Poznańska e mail: Marek.Wojciechowski@cs.put.poznan.pl Abstrakt. Najnowsza wersja specyfikacji Java Platform Enterprise Edition wprowadza szereg istotnych

Bardziej szczegółowo

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

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

Enterprise Java Beans Narzędzia i Aplikacje Java EE

Enterprise Java Beans Narzędzia i Aplikacje Java EE Enterprise Java Beans Narzędzia i Aplikacje Java EE Michał Piotrowski Michał Wójcik Waldemar Korłub Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika

Bardziej szczegółowo

Co nowego w Java EE?

Co nowego w Java EE? XII Konferencja PLOUG Zakopane Październik 2006 Co nowego w Java EE? Marek Wojciechowski Politechnika Poznańska e mail: Marek.Wojciechowski@cs.put.poznan.pl Abstrakt Najnowsza wersja specyfikacji Java

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

Enterprise JavaBeans (EJB)

Enterprise JavaBeans (EJB) Enterprise JavaBeans (EJB) Wykład prowadzi: Marek Wojciechowski Enterprise JavaBeans (EJB) 1 Plan wykładu Wprowadzenie do technologii EJB Typy komponentów EJB Klienci dla komponentów EJB Transakcje w EJB

Bardziej szczegółowo

Mapowanie obiektowo-relacyjne z wykorzystaniem Hibernate

Mapowanie obiektowo-relacyjne z wykorzystaniem Hibernate Wirtualne przedsiębiorstwo II Mapowanie obiektowo-relacyjne z wykorzystaniem Hibernate Łukasz Macierzyński 157588 Daniel Nikończuk 157621 Kacper Oko 157626 Agenda 1. Co to jest mapowanie obiektowo-relacyjne

Bardziej szczegółowo

Modele komponentowe SCA, OSGi, Distributed OSGi i OSGi Enterprise a Java EE

Modele komponentowe SCA, OSGi, Distributed OSGi i OSGi Enterprise a Java EE Modele komponentowe SCA, OSGi, Distributed OSGi i OSGi Enterprise a Java EE Jacek Laskowski http://www.jaceklaskowski.pl Wersja z 26 marzec 2010 o 15:50:32 Ja...cek Laskowski Pasjonat Korporacyjnej Javy

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

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

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

Contexts and Dependency Injection (CDI) Autor wykładu: Marek Wojciechowski

Contexts and Dependency Injection (CDI) Autor wykładu: Marek Wojciechowski Contexts and Dependency Injection (CDI) Autor wykładu: Marek Wojciechowski ASP.NET (2) Contexts and Dependency Injection (CDI) Specyfikacja składowa Java EE 6 dotycząca współpracy warstwy prezentacji z

Bardziej szczegółowo

Szkolenie wycofane z oferty. Program szkolenia: Enterprise Java Beans 3.0/3.1

Szkolenie wycofane z oferty. Program szkolenia: Enterprise Java Beans 3.0/3.1 Szkolenie wycofane z oferty Program szkolenia: Enterprise Java Beans 3.0/3.1 Informacje: Nazwa: Enterprise Java Beans 3.0/3.1 Kod: Java-EE-EJB Kategoria: Java EE Grupa docelowa: developerzy Czas trwania:

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

Aplikacje internetowe i rozproszone - laboratorium

Aplikacje internetowe i rozproszone - laboratorium Aplikacje internetowe i rozproszone - laboratorium Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z technologią EJB w wersji 3.0, a w szczególności: implementacja komponentów sesyjnych,

Bardziej szczegółowo

Nowy powiew od Słońca: EJB 3.0. Copyright Piotr Kochański & Erudis,

Nowy powiew od Słońca: EJB 3.0. Copyright Piotr Kochański & Erudis, Nowy powiew od Słońca: EJB 3.0 Wstęp Agenda EJB podstawowe informacje Problemy EJB 1.X i 2.X Zmiany wprowadzone w EJB v. 3.0 uproszczone API nowe komponenty encyjne wzorce i antywzorce Przykład, czyli

Bardziej szczegółowo

Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE)

Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE) Programowanie w języku Java Wykład 13: Java Platform, Enterprise Edition (Java EE) Standard J2EE Programowanie w języku Java 2 J2EE - komunikacja Programowanie w języku Java 3 J2EE warstwa biznesowa Programowanie

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

Stanowe komponenty sesyjne

Stanowe komponenty sesyjne Stanowe komponenty sesyjne 1. Porównanie komponentów stanowych i bezstanowych. 2. Cykl życia stanowego komponentu sesyjnego, 3. Komponenty sesyjne a kontekst utrwalania, 4. Zagnieżdżanie komponentów sesyjnych,

Bardziej szczegółowo

Dostęp do baz danych w aplikacjach Java EE

Dostęp do baz danych w aplikacjach Java EE Dostęp do baz danych w aplikacjach Java EE Wykład prowadzi: Marek Wojciechowski JDBC SQLJ Plan wykładu Biblioteka znaczników JSTL SQL EJB (do wersji 2.1) Odwzorowanie obiektowo-relacyjne (O/RM) Java Persistence

Bardziej szczegółowo

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

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

JSF 1.2. w wykonaniu NetBeans IDE 6.1. Jacek Laskowski

JSF 1.2. w wykonaniu NetBeans IDE 6.1. Jacek Laskowski JSF 1.2 w wykonaniu NetBeans IDE 6.1 Jacek Laskowski http://www.jaceklaskowski.pl Konferencja NetBeans RoadShow Kraków (11.04.2008), Warszawa (12.04.2008) O mnie... Pasjonat Korporacyjnej Javy 5 (Java

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 PERSISTENCE API. Wykorzystano fragmenty wykładów M. Piotrowskiego i M. Wójcika. Waldemar Korłub

JAVA PERSISTENCE API. Wykorzystano fragmenty wykładów M. Piotrowskiego i M. Wójcika. Waldemar Korłub Wykorzystano fragmenty wykładów M. Piotrowskiego i M. Wójcika JAVA PERSISTENCE API Waldemar Korłub Platformy Technologiczne KASK ETI Politechnika Gdańska Java Persistence API 2 Specyfikacja dla bibliotek

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

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

Podstawowe informacje o technologii Java EE 7

Podstawowe informacje o technologii Java EE 7 Podstawowe informacje o technologii Java EE 7 na podstawie https://docs.oracle.com/javaee/7/jeett.pdf Programowanie komponentowe 2 Programowanie komponentowe 2, Zofia Kruczkiewicz 1 I. Wielowarstwowa architektura

Bardziej szczegółowo

Zastosowanie komponentów EJB typu Session

Zastosowanie komponentów EJB typu Session Zastosowanie komponentów EJB typu Session na podstawie https://docs.oracle.com/javaee/7/jeett.pdf Programowanie komponentowe Lab1 1 1. Refaktoryzacja kodu programu Sklep_6 z lab5, TINT 1.1. Należy wykonać

Bardziej szczegółowo

mgr inż. Michał Paluch

mgr inż. Michał Paluch Technologie JAVA Java Platform Standard Edition JSE Java Platform Enterprise Edition JEE Java Platform Micro Edition Wersje Różnice Java Enterprise Edition Java EE to platforma umożliwiająca tworzenie

Bardziej szczegółowo

Tomasz Dobek. t.dobek@students.mimuw.edu.pl

Tomasz Dobek. t.dobek@students.mimuw.edu.pl Spring Framework Tomasz Dobek t.dobek@students.mimuw.edu.pl Plan prezentacji Spring z lotu ptaka Kontener Spring IoC Spring AOP Menedżer transakcji w Springu Spring DAO Testy integracyjne Podsumowanie

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 13 Marcin Młotkowski 24 maja 2018 Plan wykładu 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 509 / 553 Plan wykładu Trwałość obiektów 1 Trwałość obiektów

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha

Bardziej szczegółowo

Hibernate. Adrian Gawor, Adam Klekotka, Piotr Kubisz. Technologie Biznesu Elektronicznego. 12 maja 2009

Hibernate. Adrian Gawor, Adam Klekotka, Piotr Kubisz. Technologie Biznesu Elektronicznego. 12 maja 2009 Agenda Hibernate Adrian Gawor, Adam Klekotka, Piotr Kubisz Technologie Biznesu Elektronicznego 12 maja 2009 Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 1 / 42 Agenda 1 2 3 4 5 6 7 Adrian Gawor,

Bardziej szczegółowo

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.

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

Podstawy frameworka Spring

Podstawy frameworka Spring Podstawy frameworka Spring Adresaci szkolenia: Szkolenie przeznaczone jest dla programistów znających język Java, chcących poszerzyć swoje kompetencje w zakresie tworzenia aplikacji.koncepcja szkolenia

Bardziej szczegółowo

Java EE: JSF + EJB + JPA + CDI + BV

Java EE: JSF + EJB + JPA + CDI + BV Java EE: JSF + EJB + JPA + CDI + BV Ćwiczenie 1 Celem ćwiczenia jest utworzenie prostej aplikacji bazodanowej umożliwiającej przeglądanie i dodawanie zleceń serwisowych. Ćwiczenie pokazuje współpracę technologii

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

AKADEMIA GÓRNICZO-HUTNICZA Wydział Elektrotechniki, Automatyki, Elektroniki i Informatyki

AKADEMIA GÓRNICZO-HUTNICZA Wydział Elektrotechniki, Automatyki, Elektroniki i Informatyki AKADEMIA GÓRNICZO-HUTNICZA Wydział Elektrotechniki, Automatyki, Elektroniki i Informatyki Computer Games Poker Bot - komunikacja Dokumentacja Wersja z dnia 01.01.2012 Zespół: Kamil Mazurek Tomasz Kruczkowski

Bardziej szczegółowo

SOP System Obsługi Parkingów

SOP System Obsługi Parkingów SOP System Obsługi Parkingów JEE i Android Marcin Tatjewski Tomasz Traczyk Grzegorz Zieliński Paweł Borycki 5 listopada 2009 www.sopark.pl Plan prezentacji Java Platform, Enterprise Edition (JEE) Wstęp

Bardziej szczegółowo

JBoss Seam: framework nowej generacji. Copyright Piotr Kochański & Erudis, www.erudis.pl

JBoss Seam: framework nowej generacji. Copyright Piotr Kochański & Erudis, www.erudis.pl JBoss Seam: framework nowej generacji Wstęp Agenda Wstęp Elementy JBoss Seam: JSF + EJB3 +...... brakujące ogniwo Możliwości JBoss Seam Przykład zastosowania uproszczenie aplikacji konteksty, konwersacje

Bardziej szczegółowo

Zaawansowane aplikacje internetowe

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

Zwinne i lekkie aplikacje webowe z. Jacek Laskowski http://www.jaceklaskowski.pl

Zwinne i lekkie aplikacje webowe z. Jacek Laskowski http://www.jaceklaskowski.pl Zwinne i lekkie aplikacje webowe z Jacek Laskowski http://www.jaceklaskowski.pl A prelegent to kto? Entuzjasta Java EE 5, OSGi i ostatnio Grails Założyciel i lider Warszawa JUG Członek zespołu NetBeans

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

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

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1) Instrukcja tworzenia aplikacji EE na podstawie aplikacji z dostępem do bazy danych, prezentowanej na zajęciach lab.5 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Projektowanie i wdrażanie

Bardziej szczegółowo

JAVA EE MODEL APLIKACJI. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska

JAVA EE MODEL APLIKACJI. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska JAVA EE MODEL APLIKACJI Waldemar Korłub Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska Architektura aplikacji 2 Java EE od początku była projektowana z myślą o aplikacjach klasy enterprise

Bardziej szczegółowo

ORM w Javie. Adam Michalik 2007

ORM w Javie. Adam Michalik 2007 ORM w Javie Adam Michalik 2007 ORM ORM O/RM O/R mapping Object-Relational Mapping Mapowanie obiektowo relacyjne Odwzorowanie obiektowo-relacyjne Co to jest ORM? Odwzorowanie obiektowo-relacyjne pozwala

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

Programowanie komponentowe

Programowanie komponentowe Enterprise Piotr Błaszyński Wydział Informatyki Zachodniopomorskiego Uniwersytetu Technologicznego 5 czerwca 2019 EJB Enterprise to podstawowa technologia komponentowa platformy Java Enterprise Edition.

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium

Zaawansowane aplikacje internetowe - laboratorium Zaawansowane aplikacje internetowe - laboratorium Java Persistence. Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne NetBeans IDE 5.5 wraz z serwerem Sun Java System Application

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

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

Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html

Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów

Bardziej szczegółowo

Enterprise Java Beans wykład 7 i 8

Enterprise Java Beans wykład 7 i 8 Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej Enterprise Java Beans wykład 7 i 8 Programowanie w Javie 2 mgr inż. Michał Misiak Agenda Co to jest EJB Architektura EJB

Bardziej szczegółowo

Automatyczne generowanie kodu. Marek.Berkan@e-point.pl. 4Developers, 26 marca 2010

Automatyczne generowanie kodu. Marek.Berkan@e-point.pl. 4Developers, 26 marca 2010 4Developers, 26 marca 2010 Zakres wykładu O czym zamierzam opowiedzieć: Przyspieszenie tworzenia aplikacji Ułatwienie utrzymania aplikacji Budowanie kontraktów pomiędzy developerami a innymi uczestnikami

Bardziej szczegółowo

Obsługa transakcji rozproszonych Java. Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska

Obsługa transakcji rozproszonych Java. Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska Obsługa transakcji rozproszonych w języku j Java Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska Plan prezentacji Transakcje i ich własności Proste transakcje w JDBC

Bardziej szczegółowo

Enterprise JavaBeans (EJB)

Enterprise JavaBeans (EJB) Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z sesyjnymi komponentami Enterprise JavaBeans. Zilustrowane będą różnice między komponentami stanowymi i bezstanowymi. Pokazane będzie

Bardziej szczegółowo

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.pl Konwersja i walidacja W wyniku działania konwersji i walidacji surowe dane, przesyłane w postaci

Bardziej szczegółowo

Podstawowe informacje o technologii Java Persistence API - przykład

Podstawowe informacje o technologii Java Persistence API - przykład Podstawowe informacje o technologii Java Persistence API - przykład na podstawie https://docs.oracle.com/javaee/7/jeett.pdf Programowanie komponentowe lab5 1 1 (1). Przygotowanie projektów kopii projektów

Bardziej szczegółowo

1. Model ACID. 2. Deklaratywne zarządzanie transakcjami, atrybuty transakcji. 3. Propagacja transakcji. transakcje rozproszone, propagacja kontekstu

1. Model ACID. 2. Deklaratywne zarządzanie transakcjami, atrybuty transakcji. 3. Propagacja transakcji. transakcje rozproszone, propagacja kontekstu Transakcje 1. Model ACID. 2. Deklaratywne zarządzanie transakcjami, atrybuty transakcji. 3. Propagacja transakcji. transakcje rozproszone, propagacja kontekstu utrwalania. 3. Izolacja typowe problemy,

Bardziej szczegółowo

Programowanie w języku Java WYKŁAD

Programowanie w języku Java WYKŁAD Programowanie w języku Java WYKŁAD dr inż. Piotr Zabawa Certyfikowany Konsultant IBM/Rational e-mail: pzabawa@pk.edu.pl www: http://www.pk.edu.pl/~pzabawa 28.04.2014 WYKŁAD 9 Trwałość w Java cz. 2 wykład

Bardziej szczegółowo

Wprowadzenie. Narzędzia i środowiska programistyczne. Laboratorium 1. Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2

Wprowadzenie. Narzędzia i środowiska programistyczne. Laboratorium 1. Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2 Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Narzędzia i środowiska programistyczne Laboratorium 1 Wprowadzenie Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy 2 O Sobie Od 2014

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

Nowoczesne aplikacje internetowe oparte na Seam, JSF, EJB3, JPA, AJAX

Nowoczesne aplikacje internetowe oparte na Seam, JSF, EJB3, JPA, AJAX Kod szkolenia: Tytuł szkolenia: SEAM/WEB Nowoczesne aplikacje internetowe oparte na Seam, JSF, EJB3, JPA, AJAX Dni: 5 Opis: Adresaci szkolenia: Szkolenie adresowane jest do programistów aplikacji internetowych

Bardziej szczegółowo

Java Enterprise Edition spotkanie nr 6. przygotował Jacek Sroka. Java Persistence API

Java Enterprise Edition spotkanie nr 6. przygotował Jacek Sroka. Java Persistence API Java Enterprise Edition spotkanie nr 6 Java Persistence API Trwałość Serializacja dane reprezentowane binarnie lub w XMLu brak wyszukiwania brak transakcji O/R mapping zazwyczaj: klasa->tabela, obiekt->wiersz,

Bardziej szczegółowo

Metody dostępu do danych

Metody dostępu do danych Metody dostępu do danych dr inż. Grzegorz Michalski Na podstawie materiałów dra inż. Juliusza Mikody Jak działa JDO Podstawowym zadaniem JDO jest umożliwienie aplikacjom Javy transparentnego umieszczenia

Bardziej szczegółowo

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4 Utrwalanie danych zastosowanie obiektowego modelu danych warstwy biznesowej do generowania schematu relacyjnej bazy danych Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4 1. Relacyjne

Bardziej szczegółowo

Java EE: JSF + EJB + JPA

Java EE: JSF + EJB + JPA Java EE: JSF + EJB + JPA Celem ćwiczenia jest utworzenie prostej aplikacji bazodanowej umożliwiającej przeglądanie i dodawanie zleceń serwisowych. Ćwiczenie pokazuje współpracę technologii JSF (podstawowej

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

SPRING FRAMEWORK. dr inż. Jakub Chłapioski

SPRING FRAMEWORK. dr inż. Jakub Chłapioski SPRING FRAMEWORK Katedra Mikroelektroniki i Technik Informatycznych Politechniki Łódzkiej ul. Wólczanska 221/223 budynek B18, 90-924 Łódź dr inż. Jakub Chłapioski 3. Spring Data Access Zarządzanie transakcjami

Bardziej szczegółowo

Karolina Rusin, Paweł Biczysko, Michał Olejnik. 11 maja 2009

Karolina Rusin, Paweł Biczysko, Michał Olejnik. 11 maja 2009 Konfiguracja i poprawne stosowanie Politechnika Wrocławska Informatyka 11 maja 2009 Agenda Wprowadzenie Konfiguracja i poprawne stosowanie 1 Wprowadzenie do ORM 2 jako framework ORM 3 Konfiguracja w projekcie

Bardziej szczegółowo

BEAN VALIDATION. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska

BEAN VALIDATION. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska BEAN VALIDATION Waldemar Korłub Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska Bean Validation Uniwersalny mechanizm walidacji danych we wszystkich warstwach aplikacji Warstwa interfejsu,

Bardziej szczegółowo

Podejście obiektowe do budowy systemów rozproszonych

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Podstawowe wykorzystanie Hibernate

Podstawowe wykorzystanie Hibernate Podstawowe wykorzystanie Hibernate Cel Wykonanie prostej aplikacji webowej przedstawiającą wykorzystanie biblioteki. Aplikacja sprawdza w zależności od wybranej metody dodaje, nową pozycje do bazy, zmienia

Bardziej szczegółowo

JPA Java Persistance API

JPA Java Persistance API JPA Java Persistance API Java Persistence API (JPA) Specyfiacja ipisująca standardy mapiwania ibieitiwi-relacyjnegi (ORM ibject relatinal mapping) Przyiładiwe implementacje: Hibernate OpenJPA EclipseLini

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

Zdalne wywołanie metod - koncepcja. Oprogramowanie systemów równoległych i rozproszonych Wykład 7. Rodzaje obiektów. Odniesienie do obiektu

Zdalne wywołanie metod - koncepcja. Oprogramowanie systemów równoległych i rozproszonych Wykład 7. Rodzaje obiektów. Odniesienie do obiektu Zdalne wywołanie metod - koncepcja Oprogramowanie systemów równoległych i rozproszonych Wykład 7 RMI (Remote Method Invocation) - obiektowe RPC, dostarcza klientowi interfejs do obiektu, implementacja

Bardziej szczegółowo

Zasady generowania kluczy głównych Język Java Persistence Podstawowa architektura wielowarstwowych aplikacji w oparciu o wzorce oprogramowania

Zasady generowania kluczy głównych Język Java Persistence Podstawowa architektura wielowarstwowych aplikacji w oparciu o wzorce oprogramowania Zasady generowania kluczy głównych Język Java Persistence Podstawowa architektura wielowarstwowych aplikacji w oparciu o wzorce oprogramowania Autor Zofia Kruczkiewicz Wzorce oprogramowania 6 1. Różne

Bardziej szczegółowo

Zaawansowane Techniki Bazodanowe

Zaawansowane Techniki Bazodanowe Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Zaawansowane Techniki Bazodanowe Krzysztof Koptyra, Dawid Tomaszewski Raport

Bardziej szczegółowo

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

Oprogramowanie systemów równoległych i rozproszonych Wykład 7 Wykład 7 p. 1/2 Oprogramowanie systemów równoległych i rozproszonych Wykład 7 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Zdalne wywołanie

Bardziej szczegółowo