Dostęp do baz danych w aplikacjach Java EE

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

Download "Dostęp do baz danych w aplikacjach Java EE"

Transkrypt

1 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 API Dostęp do baz danych w aplikacjach Java EE JDBC (Java Database Connectivity) Dostęp do baz danych w aplikacjach Java EE (2) JDBC kompletny przykład import java.sql.*; Interfejs programistyczny (API) do współpracy aplikacji Java z relacyjną bazą danych (i innymi źródłami tabelarycznymi) Część Java SE Interfejs dla dynamicznych instrukcji SQL Zaprojektowany na podstawie X/Open SQL Call Level Interface (podobny do ODBC) Interfejs JDBC jest implementowany przez sterowniki JDBC (ang. JDBC drivers), obsługujące poszczególne systemy zarządzania bazą danych Dostęp do baz danych w aplikacjach Java EE (3) public class MyDemo { public static void main(string[] args) throws ClassNotFoundException, SQLException { Connection conn; Statement stmt; ResultSet rset; }} Class.forName("oracle.jdbc.OracleDriver"); conn = DriverManager.getConnection( "jdbc:oracle:thin:@srv1:1521:orcl","scott","tiger"); stmt = conn.createstatement(); rset = stmt.executequery("select ename,sal from emp"); while (rset.next()) { System.out.print(rset.getString("ename")+" "); System.out.println(rset.getString("sal")); } rset.close(); stmt.close(); conn.close(); Dostęp do baz danych w aplikacjach Java EE (4)

2 Źródła danych w aplikacjach Java EE Mechanizm Connection Pooling Wady otwierania połączeń przez DriverManager parametry połączenia zaszyte w aplikacji kosztowne otwieranie i zamykanie połączeń Od JDBC 2.0 preferowanym mechanizmem uzyskiwania połączeń są źródła danych (obiekty javax.sql.datasource) mogą obsługiwać pule połączeń mogą wspierać transakcje rozproszone posiadają logiczne nazwy, rejestrowane w JNDI w aplikacjach Java EE konfigurowane na serwerze w kodzie aplikacji uzyskany obiekt Connection jest wykorzystywany tak jak przy korzystaniu z DriverManager Dostęp do baz danych w aplikacjach Java EE (5) Konfiguracja źródła danych na serwerze Przykład dla serwera GlassFish <resources> <jdbc-resource enabled="true" jndi-name="jdbc/sample" object-type="user" pool-name="samplepool"/> <jdbc-connection-pool datasource-classname="org.apache.derby.jdbc.clientdatasource" max-pool-size="32" name="samplepool" res-type="javax.sql.datasource" > <property name="databasename" value="sample"/> <property name="user" value="app"/> <property name="password" value="app"/> <property name="url" value="jdbc:derby://localhost:1527/sample"/> <property name="portnumber" value="1527"/> <property name="servername" value="localhost"/> </jdbc-connection-pool> </resources> domain.xml Dostęp do baz danych w aplikacjach Java EE (7) Serwer aplikacji utrzymuje pulę otwartych połączeń z serwerem bazy danych odrębne pule dla różnych parametrów połączenia źródła danych mogą współdzielić tę samą pulę Korzyści: znaczne skrócenie czasu nawiązania połączenia z bazą danych przez aplikację Problemy: potencjalny limit połączeń na poziomie serwera b.d. odpowiedni dobór parametrów puli połączeń (np. min i max liczba połączeń utrzymywanych w puli) Dostęp do baz danych w aplikacjach Java EE (6) Uzyskanie połączenia poprzez źródło Dostęp do źródła poprzez jawny lookup w serwisie nazw JNDI Context ctx = new InitialContext(); DataSource ds = (DataSource)ctx.lookup("jdbc/sample"); Connection conn = ds.getconnection(); Dostęp do źródła dzięki wstrzykiwaniu private DataSource ds; Connection conn = ds.getconnection(); Dostęp do baz danych w aplikacjach Java EE (8)

3 Problemy z bezpośrednim kodowaniem w JDBC SQLJ Podatne na błędy dynamiczny SQL Uciążliwe konieczność zwalniania zasobów przechwytywanie i obsługa wielu wyjątków Problem niezgodności modeli na poziomie aplikacji (model obiektowy) i bazy danych (model relacyjny) Możliwości uniknięcia kodowania na poziomie JDBC: SQLJ biblioteka znaczników JSTL SQL odwzorowanie obiektowo-relacyjne (O/RM) Dotyczy integracji technologii baz danych z językiem Java: zagnieżdżania instrukcji SQL w kodzie Java (statyczny SQL) wykorzystywania statycznych metod Java jako składowanych procedur i funkcji SQL używania czystych klas Java jako typów danych SQL W pierwszym, podstawowym zakresie funkcjonalności jest standardem praktycznie martwym problemy JDBC, które rozwiązywał straciły na znaczeniu wraz z pojawieniem się O/RM Dostęp do baz danych w aplikacjach Java EE (9) SQLJ przykłady #sql { UPDATE emp SET sal = sal * 1.1 WHERE sal < 1000 }; #sql iterator EmpNameIter(String ename, double sal); EmpNameIter iter; double minsal = ; #sql iter = {SELECT ename, sal FROM emp WHERE sal > :minsal }; while (iter.next()) { String n = iter.ename(); double s = iter.sal(); System.out.println(n + " " + s); } iter.close(); Dostęp do baz danych w aplikacjach Java EE (11) Dostęp do baz danych w aplikacjach Java EE (10) Biblioteka JSTL SQL Biblioteka znaczników dla JSP do komunikacji z relacyjną bazą danych Koncepcja niezgodna z wzorcem projektowym MVC i architekturą aplikacji wielowarstwowych kod SQL w warstwie (komponentach) prezentacji stosowanie dopuszczalne tylko w małych projektach Dostęp do baz danych w aplikacjach Java EE (12)

4 JSTL SQL przykład taglib uri=" prefix="c"%> taglib uri=" prefix="sql"%> page contenttype="text/html"%> <html><body> <sql:setdatasource var="db" driver="oracle.jdbc.driver.oracledriver" datasource="jdbc/oracleds" user="scott" password="tiger" /> <sql:query var="employees">select * from emp</sql:query> <c:foreach var="columnname" items="${employees.columnnames}"> <th><c:out value="${columnname}"/></th> </c:foreach> <c:foreach var="row" items="${employees.rows}"> <tr><c:foreach var="column" items="${row}"> <td><c:out value="${column.value}"/></td> </c:foreach></tr> </c:foreach> </body></html> Dostęp do baz danych w aplikacjach Java EE (13) Odwzorowanie obiektowo-relacyjne (O/RM) Komponenty encyjne EJB (do wersji 2.1) Technologia EJB od początku J2EE lansowana jako podstawowa technologia implementacja logiki biznesowej; encyjne komponenty EJB jako podstawowy mechanizm komunikacji z bazą danych w aplikacjach EJB Encyjne komponenty EJB nie odniosły sukcesu ( failed technology ) technologia nadmiernie złożona nie wykorzystywały w pełni obiektowych cech Javy nie wykorzystywały siły technologii relacyjnych baz danych (nienaturalne rozwiązania prowadzące do nieefektywnych aplikacji) Dostęp do baz danych w aplikacjach Java EE (14) Java Persistence O/RM = Object-Relational Mapping Implementacje O/RM typowo obejmują: API do zarządzania trwałością obiektów mechanizm specyfikowania metadanych opisujących odwzorowanie klas na relacje w bazach danych język lub API do wykonywania zapytań Popularne implementacje O/RM: Hibernate Oracle Toplink Apache ibatis Java Data Objects (JDO) Dostęp do baz danych w aplikacjach Java EE (15) Standard dotyczący zapewniania trwałości obiektów w aplikacjach Java EE i Java SE opracowany razem z EJB 3 stanowi część Java EE 5 Geneza standardu Java Persistence niepowodzenie koncepcji encyjnych EJB sukces technologii O/RM Rola Java Persistence na tle technologii O/RM oparty o odwzorowanie obiektowo-relacyjne definiuje standardowe API Dostęp do baz danych w aplikacjach Java EE (16)

5 Elementy standardu Java Persistence Encje Interfejs programistyczny Java Persistence API Język zapytań Java Persistence Query Language Metadane o odwzorowaniu obiektowo-relacyjnym Encja (ang. entity) to lekki obiekt służący do reprezentacji trwałych danych Typowo reprezentuje tabelę z relacyjnej bazy danych Definiowana w formie klasy encji i ewentualnie klas pomocniczych Wymagania dla klas encji: POJO z bezargumentowy konstruktor (public lub protected) implementacja Serializable, jeśli obiekty będą odłączane Dostęp do baz danych w aplikacjach Java EE (17) Encja - Przykład Dostęp do baz danych w aplikacjach Java EE (18) Związki między encjami public class Blad implements Serializable private Long id; private String kod; private String opis; public Blad() { } Blad.java public Long getid() { return id; } public void setid(long id) { this.id = id; } public String getkod() { return kod; } public void setkod(string kod) { this.kod = kod; } public String getopis() { return opis; } public void setopis(string opis) { this.opis = opis; } } Dostęp do baz danych w aplikacjach Java EE (19) Liczność 1:1 (@OneToOne) 1:N (@OneToMany) N:1 (@ManyToOne) N:M (@ManyToMany) Kierunkowość dwukierunkowe jednokierunkowe Kaskada operacji: PERSIST, MERGE, REMOVE, REFRESH, ALL Dostęp do baz danych w aplikacjach Java EE (20)

6 Związki między encjami - Przykład Zarządca encji (Entity Manager) Wykonawca public class Wykonawca implements Serializable mappedby="wykonawca") private Collection<Album> albumy; public class Album implements Serializable private Wykonawca wykonawca; } Dostęp do baz danych w aplikacjach Java EE (21) Jednostka trwałości (Persistence Unit) Zarządca encji zarządzany przez kontener (EJB, JSF) wstrzykiwany komponentu aplikacji EntityManager em; kontekst trwałości propagowany między komponentami w ramach transakcji JTA Zarządca encji zarządzany przez aplikację (serwlety,se) tworzony i niszczony przez aplikację każdy zarządca encji tworzy odrębny kontekst EntityManagerFactory emf; EntityManager em = emf.createentitymanager(); Dostęp do baz danych w aplikacjach Java EE (22) Plik persistence.xml - Przykład Definiuje zbiór klas encji zarządzanych przez EntityManager w aplikacji Obejmuje klasy encji z jednej bazy danych Definiowana w pliku konfiguracyjnym persistence.xml Posiada nazwę unikalną w zasięgu widzialności W aplikacjach Java EE wykorzystuje źródło danych obsługujące transakcje JTA nieobsługujące transakcji JTA W aplikacjach Java SE zawiera parametry połączenia JDBC <?xml version="1.0" encoding="utf-8"?> <persistence version="1.0" > persistence.xml <persistence-unit name="albumyjppu" transaction-type="jta"> <provider> oracle.toplink.essentials.ejb.cmp3.entitymanagerfactoryprovider </provider> <jta-data-source>jdbc/sample</jta-data-source> <properties> <property name="toplink.ddl-generation" value="create-tables"/> </properties> </persistence-unit> </persistence> Dostęp do baz danych w aplikacjach Java EE (23) Dostęp do baz danych w aplikacjach Java EE (24)

7 Cykl życia encji Utrwalanie instancji encji Instancje encji są zarządzane przez instancję EntityManager Stany instancji encji: nowa (ang. new) zarządzana (ang. managed) odłączona (ang. detached) usunięta (ang. removed) Metoda persist() obiektu EntityManager em; Blad b = new Blad(); b.setkod("b001"); b.setopis("niedozwolona operacja w module X"); em.persist(b); Dostęp do baz danych w aplikacjach Java EE (25) Odczyt, odświeżanie i synchronizacja instancji encji z bazą danych Dostęp do baz danych w aplikacjach Java EE (26) Strategie zarządzania współbieżnością Odczyt poprzez klucz główny: metoda find() Odświeżenie stanu z bazy danych: metoda refresh() Modyfikacje instancji: metody setxxx() encji Synchronizacja instancji odłączonej: metoda merge() Moment zapisu danych do bazy danych: automatycznie: gdy transakcja jest zatwierdzana jawnie: w wyniku wywołania metody flush() Dostęp do baz danych w aplikacjach Java EE (27) No Locking ("ostrich locking") najpopularniejsza strategia ostatni zapis wygrywa (co gdy operacje UPDATE dotyczyły różnych atrybutów?) Pessimistic Locking blokada zakładana przed rozpoczęciem edycji obiektu odpowiednie gdy przewidywane wiele konfliktów (ale) wymaga utrzymania połączenia z bazą danych na czas edycji, przez co nieodpowiednie dla aplikacji webowych Optimistic Locking założenie, że inne transakcje nie zmienią obiektu między jego odczytem a zapisem wykrywanie zmian i ewentualnie wyjątek zalecane dla współczesnych aplikacji Dostęp do baz danych w aplikacjach Java EE (28)

8 Blokowanie optymistyczne w JPA Atrybut encji oznaczony identyfikuje wersję instancji encji typu całkowitoliczbowego (zalecane) lub etykiety czasowej poza szczególnymi sytuacjami automatycznie obsługiwany przez implementację JPA odpowiadającą atrybutowi kolumnę należy dodać ręcznie do Long ver; Wyjątek javax.persistence.optimisticlockexception pojawia się gdy w momencie zatwierdzania transakcji okazuje się, że identyfikator wersji w bazie danych zmienił się od chwili odczytu danych przez aplikację typowo wyjątek prezentowany użytkownikowi! Blokowanie optymistyczne w JPA bez atrybutu wersji Mechanizm "field locking" nieuwzględniony w standardzie JPA dostępny w niektórych implementacjach Field locking w EclipseLink/TopLink typy blokowania optymistycznego (OptimisticLockingType): VERSION_COLUMN (domyślnie) ALL_COLUMNS CHANGED_COLUMNS SELECTED_COLUMNS (wymienione w atrybucie adnotacji) Dostęp do baz danych w aplikacjach Java EE (29) Blokowanie pesymistyczne w JPA Dostęp do baz danych w aplikacjach Java EE (30) Jawne blokowanie w JPA Brak w wersji 1.0 standardu dostępne w niektórych implementacjach realizowane przez natywne zapytania SELECT FOR UPDATE Uwzględnione w JPA 2.0 w dalszym ciągu niezalecane w aplikacjach webowych Stosowane do zablokowania obiektu, który nie ulegnie zmianie np. obiektu powiązanego z modyfikowanym obiektem Realizowane poprzez EntityManager.lock() API em.lock(employee, LockModeType.WRITE) przekazanie parametru LockModeType do metod find() i refresh() EntityManager ustawienie lockmode dla Query / NamedQuery Dostęp do baz danych w aplikacjach Java EE (31) Dostęp do baz danych w aplikacjach Java EE (32)

9 Tryby blokowania (JPA 2.0) Usuwanie instancji encji OPTIMISTIC (READ w JPA 1.0) OPTIMISTIC_FORCE_INCREMENT (WRITE w JPA 1.0) PESSIMISTIC_READ PESSIMISTIC_WRITE PESSIMISTIC_FORCE_INCREMENT NONE Metoda remove() obiektu EntityManager em; Blad b = em.find(blad.class, new Long(13)); em.remove(b); Dostęp do baz danych w aplikacjach Java EE (33) Transakcje Dostęp do baz danych w aplikacjach Java EE (34) Zapytania do bazy danych EntityManager zarządzany przez kontener (EJB) kontener zarządza transakcjami EntityManager zarządzany przez aplikację transakcja JTA UserTransaction utx; utx.begin(); utx.commit(); // utx.rollback(); transakcja na poziomie zasobu (Java SE, serwlety) EntityManager em; em.gettransaction().begin(); em.gettransaction().commit(); // em.gettransaction().rollback(); Dostęp do baz danych w aplikacjach Java EE (35) Rodzaje zapytań (metody obiektu EntityManager) dynamiczne w JPQL - createquery() dynamiczne natywne - createnativequery() nazwane (JPQL lub natywne) - createnamedquery() Parametryzacja zapytań nazwane (np. :kodbledu) pozycyjne (np.?1) Wykonanie zapytania (metody obiektu Query) getresultlist(), getsingleresult() executeupdate() Dostęp do baz danych w aplikacjach Java EE (36)

10 Zapytanie dynamiczne - Przykład Zapytanie nazwane - Przykład Blad.java EntityManager em; List<Blad> wyn = null; Query q = em.createquery( "SELECT b FROM Blad b WHERE b.opis LIKE '%problem%'"); wyn = "findbykeyword", query = "SELECT b FROM Blad b WHERE b.opis LIKE :keyword") public class Blad implements Serializable { } EntityManager em; List<Blad> wyn = null; wyn = em.createnamedquery("findbykeyword").setparameter("keyword", "%krytyczny%").getresultlist(); Dostęp do baz danych w aplikacjach Java EE (37) Java Persistence Query Language (JPQL) Dostęp do baz danych w aplikacjach Java EE (38) JPQL - Przykłady Umożliwia formułowanie przenaszalnych zapytań, niezależnych od specyfiki poszczególnych systemów Zapytania operują na abstrakcyjnym schemacie obejmującym encje i związki między nimi Składnia podobna do SQL: zapytania SELECT-FROM-WHERE-GROUP BY- HAVING-ORDER BY polecenia UPDATE i DELETE dla masowych operacji modyfikacji i usuwania: UPDATE-SET-WHERE, DELETE-FROM-WHERE Wyrażenia ścieżkowe do nawigacji do związanych encji Nawigacja do kolekcji powiązanych instancji encji SELECT DISTINCT w FROM Wykonawca w, IN(w.albumy) a Wyrażenie ścieżkowe SELECT DISTINCT w FROM Wykonawca w JOIN w.albumy a SELECT a FROM Album a WHERE a.wykonawca.nazwa = Mandaryna Dostęp do baz danych w aplikacjach Java EE (39) Dostęp do baz danych w aplikacjach Java EE (40)

11 Podsumowanie Materiały dodatkowe Na niskim poziomie aplikacje Java korzystają w komunikacji z bazami danych z interfejsu JDBC Bezpośrednie kodowanie w JDBC jest uciążliwe i podatne na błędy, a ponadto nie wykorzystuje obiektowych cech języka Java Dostęp do baz danych w aplikacjach języka Java operujących na złożonym obiektowym modelu biznesowym obecnie realizowany jest najczęściej w oparciu o technologie odwzorowania obiektoworelacyjnego (O/RM) Java Persistence to standard oparty o odwzorowanie obiektowo-relacyjne, definiujący standardowe API Dostęp do baz danych w aplikacjach Java EE (41) JDBC, Hibernate, The Java EE 5 Tutorial, Dostęp do baz danych w aplikacjach Java EE (42)

Aplikacje internetowe oparte na kluczowych technologiach Java Enterprise(Servlet,JSP,JDBC, )

Aplikacje internetowe oparte na kluczowych technologiach Java Enterprise(Servlet,JSP,JDBC, ) Kod szkolenia: Tytuł szkolenia: JEE/JSP Aplikacje internetowe oparte na kluczowych technologiach Java Enterprise(Servlet,JSP,JDBC, ) Dni: 5 Opis: Adresaci szkolenia: Szkolenie adresowane jest do programistów

Bardziej szczegółowo

JDBC (Java Database Connectivity vit )

JDBC (Java Database Connectivity vit ) 1 JDBC (Java Database Connectivity) Marek Wojciechowski Czym jest JDBC? 2 JDBC jest standardowym interfejsem do współpracy aplikacji Java z relacyjną bazą danych JDBC definiuje standardowe interfejsy interfejsy

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

Dostęp do baz danych z aplikacji J2EE

Dostęp do baz danych z aplikacji J2EE 47 Dostęp do baz danych z aplikacji J2EE Marek Wojciechowski Marek.Wojciechowski@cs.put.poznan.pl http://www.cs.put.poznan.pl/mwojciechowski/ Plan rozdziału 48 Źródła danych w JDBC Java Naming and Directory

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

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

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

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

Bazy danych II. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Bazy danych II. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski Bazy danych II Andrzej Grzybowski Instytut Fizyki, Uniwersytet Śląski Wykład 11 Zastosowanie PHP do programowania aplikacji baz danych Oracle Wsparcie programowania w PHP baz danych Oracle Oprócz możliwego

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

Plan wykładu. Dostęp do bazy danych. Architektura JDBC. Dostęp do baz danych z aplikacji Java EE

Plan wykładu. Dostęp do bazy danych. Architektura JDBC. Dostęp do baz danych z aplikacji Java EE 1 Plan wykładu 2 Dostęp do bazy danych Dostęp do baz danych w aplikacjach Java EE JDBC Źródła danych część I: JDBC i źródła danych Dostęp do baz danych z aplikacji Java EE Architektura JDBC Programowane

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

Zaawansowane Aplikacje Internetowe

Zaawansowane Aplikacje Internetowe framework Katedra Mikroelektroniki i Technik Informatycznych Łódź, 13 października 2010 1 Wprowadzenie Informacje organizacyjne 2 3 4 Informacje o przedmiocie Informacje organizacyjne Dokładne informacje

Bardziej szczegółowo

JAVA I BAZY DANYCH. MATERIAŁY: http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html

JAVA I BAZY DANYCH. MATERIAŁY: http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html JAVA I BAZY DANYCH ZAGADNIENIA: wprowadzenie; JDBC; komunikacja z bazą danych; HSQLDB. MATERIAŁY: http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html http://th-www.if.uj.edu.pl/zfs/ciesla/ JĘZYK

Bardziej szczegółowo

Odwzorowanie obiektowo-relacyjne

Odwzorowanie obiektowo-relacyjne Odwzorowanie obiektowo-relacyjne Wykład prowadzi: Marek Wojciechowski Odwzorowanie obiektowo-relacyjne 1 Plan wykładu Odwzorowanie obiektowo-relacyjne (O/RM) Hibernate Java Persistence Odwzorowanie obiektowo-relacyjne

Bardziej szczegółowo

Kompozycja i dziedziczenie klas

Kompozycja i dziedziczenie klas Programowanie obiektowe Kompozycja i dziedziczenie klas Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Kompozycja i dziedziczenie klas

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

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

mgr inż. Michał Paluch

mgr inż. Michał Paluch Spring DAO Wzorzec projektowy Data Access Object (DAO) rozdzielenie mechanizmu trwałości obiektów od reguł biznesowych Oferuje wsparcie dla interfejsu JDBC narzędzi ORM: Hibernate, JDO, ibatis SQL Maps

Bardziej szczegółowo

InsERT GT Własne COM 1.0

InsERT GT Własne COM 1.0 InsERT GT Własne COM 1.0 Autor: Jarosław Kolasa, InsERT Wstęp... 2 Dołączanie zestawień własnych do systemu InsERT GT... 2 Sposób współpracy rozszerzeń z systemem InsERT GT... 2 Rozszerzenia standardowe

Bardziej szczegółowo

Java wybrane technologie

Java wybrane technologie Java wybrane technologie spotkanie nr 9 Java Message Service i Message-Driven Beans Alternatywa dla RMI-IIOP asynchroniczność (asynchrony) brak blokowania daje się fire-and-forget rozprężenie (decoupling)

Bardziej szczegółowo

Obs³uga transakcji rozproszonych w jêzyku Java

Obs³uga transakcji rozproszonych w jêzyku Java VII Seminarium PLOUG Warszawa Marzec 2003 Obs³uga transakcji rozproszonych w jêzyku Java Marek Wojciechowski, Maciej Zakrzewicz marek, mzakrz}@cs.put.poznan.pl Politechnika Poznañska, Instytut Informatyki

Bardziej szczegółowo

Enterprise JavaBeans 3.0

Enterprise JavaBeans 3.0 Enterprise JavaBeans 3.0 Jacek Laskowski http://www.jaceklaskowski.pl Politechnika Poznańska Poznań, 07.12.2007, wersja 1 O mnie... Entuzjasta technologii Java EE 5 Założyciel i lider Warszawa JUG Członek

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

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

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

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych Spis treści 1. Wstęp... 9 1.1. Inżynieria oprogramowania jako proces... 10 1.1.1. Algorytm... 11 1.2. Programowanie w językach wysokiego poziomu... 11 1.3. Obiektowe podejście do programowania... 12 1.3.1.

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

Praca na wielu bazach danych część 2. (Wersja 8.1)

Praca na wielu bazach danych część 2. (Wersja 8.1) Praca na wielu bazach danych część 2 (Wersja 8.1) 1 Spis treści 1 Analizy baz danych... 3 1.1 Lista analityczna i okno szczegółów podstawowe informacje dla każdej bazy... 3 1.2 Raporty wykonywane jako

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

Charakterystyka systemów plików

Charakterystyka systemów plików Charakterystyka systemów plików Systemy plików są rozwijane wraz z systemami operacyjnymi. Windows wspiera systemy FAT oraz system NTFS. Różnią się one sposobem przechowywania informacji o plikach, ale

Bardziej szczegółowo

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

Język JAVA podstawy. wykład 1, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 1, część 1 1 Język JAVA podstawy Język Java to jeden z najbardziej popularnych obiektowych języków programowania. Należy do grupy języków programowania bazujących na C i C++.

Bardziej szczegółowo

Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące.

Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące. Programowanie II prowadzący: Adam Dudek Lista nr 8 Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące. Jest to najważniejsza cecha świadcząca o sile programowania

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

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

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

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

Harmonogramowanie projektów Zarządzanie czasem

Harmonogramowanie projektów Zarządzanie czasem Harmonogramowanie projektów Zarządzanie czasem Zarządzanie czasem TOMASZ ŁUKASZEWSKI INSTYTUT INFORMATYKI W ZARZĄDZANIU Zarządzanie czasem w projekcie /49 Czas w zarządzaniu projektami 1. Pojęcie zarządzania

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

Program szkoleniowy Efektywni50+ Moduł III Standardy wymiany danych

Program szkoleniowy Efektywni50+ Moduł III Standardy wymiany danych Program szkoleniowy Efektywni50+ Moduł III 1 Wprowadzenie do zagadnienia wymiany dokumentów. Lekcja rozpoczynająca moduł poświęcony standardom wymiany danych. Wprowadzenie do zagadnień wymiany danych w

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

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

Współczesne serwisy internetowe. Wykład 1 Dr Krzysztof Podlaski

Współczesne serwisy internetowe. Wykład 1 Dr Krzysztof Podlaski Współczesne serwisy internetowe Wykład 1 Dr Krzysztof Podlaski Dane Kontaktowe Podlaski Krzysztof E-mail podlaski@uni.lodz.pl www: http://merlin.phys.uni.lodz.pl/kpodlaski Tutaj będą slajdy z wykładów

Bardziej szczegółowo

Rozwój aplikacji wykorzystujących hibernate

Rozwój aplikacji wykorzystujących hibernate Magdalena Fret I Edukacja Medialna i Informatyczna II stopnia/pedagogika Lab A1 studia stacjonarne Rozwój aplikacji wykorzystujących hibernate 1). Pojęcie Hibernate Hibernate jest frameworkiem służącym

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

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

Ładowanie i reorganizacja

Ładowanie i reorganizacja Ładowanie i reorganizacja danych Cele Ładowanie danych za pomocą wstawiania ścieżką bezpośrednią Ładowanie danych do tabel Oracle za pomocą ścieżki konwencjonalnej oraz bezpośredniej SQL*Loader Reorganizacja

Bardziej szczegółowo

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy Instrukcja obsługi programu 2.11. Przygotowanie programu do pracy - ECP Architektura inter/intranetowa System Informatyczny CELAB Przygotowanie programu do pracy - Ewidencja Czasu Pracy Spis treści 1.

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

0.1 Hierarchia klas. 0.1.1 Diagram. 0.1.2 Krótkie wyjaśnienie

0.1 Hierarchia klas. 0.1.1 Diagram. 0.1.2 Krótkie wyjaśnienie 0.1 Hierarchia klas 0.1.1 Diagram 0.1.2 Krótkie wyjaśnienie Po pierwsze to jest tylko przykładowe rozwiązanie. Zarówno na wtorkowych i czwartkowych ćwiczeniach odbiegaliśmy od niego, ale nie wiele. Na

Bardziej szczegółowo

System kontroli wersji SVN

System kontroli wersji SVN System kontroli wersji SVN Co to jest system kontroli wersji Wszędzie tam, gdzie nad jednym projektem pracuje wiele osób, zastosowanie znajduje system kontroli wersji. System, zainstalowany na serwerze,

Bardziej szczegółowo

Programowanie w internecie nazwa przedmiotu SYLABUS A. Informacje ogólne

Programowanie w internecie nazwa przedmiotu SYLABUS A. Informacje ogólne Programowanie w internecie nazwa SYLABUS A. Informacje ogólne Elementy składowe sylabusu Nazwa jednostki prowadzącej studiów Poziom kształcenia Profil studiów Forma studiów Rodzaj Rok studiów /semestr

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

Aplikacje internetowe i rozproszone - laboratorium

Aplikacje internetowe i rozproszone - laboratorium Aplikacje internetowe i rozproszone - laboratorium Web Services (część 3). Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005. Visual Studio 2005 jest

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

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

Java Persistence API - zagadnienia zaawansowane

Java Persistence API - zagadnienia zaawansowane Program szkolenia: Java Persistence API - zagadnienia zaawansowane Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Java Persistence API - zagadnienia zaawansowane Java-EE-jpa-pro

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

Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych?

Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych? Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych? 1 Podstawowe pojęcia: 2 3 4 5 Dana (ang.data) najmniejsza, elementarna jednostka informacji o obiekcie będąca przedmiotem przetwarzania

Bardziej szczegółowo

Technologie internetowe Internet technologies Forma studiów: Stacjonarne Poziom kwalifikacji: I stopnia. Liczba godzin/tydzień: 2W, 2L

Technologie internetowe Internet technologies Forma studiów: Stacjonarne Poziom kwalifikacji: I stopnia. Liczba godzin/tydzień: 2W, 2L Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: moduł specjalności obowiązkowy: Sieci komputerowe Rodzaj zajęć: wykład, laboratorium Technologie internetowe Internet technologies Forma studiów:

Bardziej szczegółowo

Java Database Connectivity

Java Database Connectivity Java Database Connectivity Celem ćwiczenia jest zbudowanie kilku prostych serwletów z użyciem technologii JDBC. Podczas ćwiczenia zbudowane zostaną serwlety ilustrujące podstawowe techniki łączenia się

Bardziej szczegółowo

Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych. Andrzej Bąk

Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych. Andrzej Bąk Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych Andrzej Bąk Wstęp Zarys Co to jest baza danych? Podstawy teorii baz danych Klasyfikacja baz danych Organizacja danych w relacyjnej

Bardziej szczegółowo

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007 GEO-SYSTEM Sp. z o.o. 02-732 Warszawa, ul. Podbipięty 34 m. 7, tel./fax 847-35-80, 853-31-15 http:\\www.geo-system.com.pl e-mail:geo-system@geo-system.com.pl GEO-RCiWN Rejestr Cen i Wartości Nieruchomości

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

Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x

Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x Wersja 02 Styczeń 2016 Centrum Elektronicznych Usług Płatniczych eservice Sp. z o.o. Spis treści 1. Wstęp... 3 1.1. Przeznaczenie dokumentu...

Bardziej szczegółowo

API transakcyjne BitMarket.pl

API transakcyjne BitMarket.pl API transakcyjne BitMarket.pl Wersja 20140314 1. Sposób łączenia się z API... 2 1.1. Klucze API... 2 1.2. Podpisywanie wiadomości... 2 1.3. Parametr tonce... 2 1.4. Odpowiedzi serwera... 3 1.5. Przykładowy

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

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 8.1, opracowanie materiału: Piotr Nierebiński, Mateusz Turski (na podstawie materiału oryginalnego

Bardziej szczegółowo

Instrukcja obsługi Norton Commander (NC) wersja 4.0. Autor: mgr inż. Tomasz Staniszewski

Instrukcja obsługi Norton Commander (NC) wersja 4.0. Autor: mgr inż. Tomasz Staniszewski Instrukcja obsługi Norton Commander (NC) wersja 4.0 Autor: mgr inż. Tomasz Staniszewski ITM Zakład Technologii Maszyn, 15.10.2001 2 1.Uruchomienie programu Aby uruchomić program Norton Commander standardowo

Bardziej szczegółowo

Krakowska Akademia im. Andrzeja Frycza Modrzewskiego. Karta przedmiotu. obowiązuje studentów, którzy rozpoczęli studia w roku akademickim 2013/2014

Krakowska Akademia im. Andrzeja Frycza Modrzewskiego. Karta przedmiotu. obowiązuje studentów, którzy rozpoczęli studia w roku akademickim 2013/2014 Krakowska Akademia im. Andrzeja Frycza Modrzewskiego Karta przedmiotu obowiązuje studentów, którzy rozpoczęli studia w roku akademickim 01/014 Wydział Zarządzania i Komunikacji Społecznej Kierunek studiów:

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

Programowanie w języku Java. Bazy danych SQLite w Javie

Programowanie w języku Java. Bazy danych SQLite w Javie Programowanie w języku Java Bazy danych SQLite w Javie Co to jest SQLite SQLite to bezserwerowa, nie wymagająca konfiguracji relacyjna baza danych. Znajduje szerokie zastosowanie np.. w systemie android

Bardziej szczegółowo

PERSON Kraków 2002.11.27

PERSON Kraków 2002.11.27 PERSON Kraków 2002.11.27 SPIS TREŚCI 1 INSTALACJA...2 2 PRACA Z PROGRAMEM...3 3. ZAKOŃCZENIE PRACY...4 1 1 Instalacja Aplikacja Person pracuje w połączeniu z czytnikiem personalizacyjnym Mifare firmy ASEC

Bardziej szczegółowo

SIECI KOMPUTEROWE I BAZY DANYCH

SIECI KOMPUTEROWE I BAZY DANYCH KATEDRA MECHANIKI I ROBOTYKI STOSOWANEJ WYDZIAŁ BUDOWY MASZYN I LOTNICTWA, POLITECHNIKA RZESZOWSKA SIECI KOMPUTEROWE I BAZY DANYCH Laboratorium DB2: TEMAT: Relacyjne bazy danych Cz. I - III Cel laboratorium

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium Architektura Spring.

Zaawansowane aplikacje internetowe - laboratorium Architektura Spring. Zaawansowane aplikacje internetowe - laboratorium Architektura Spring. Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej architekturę Spring. Aplikacja składa się z jednego

Bardziej szczegółowo

Bazy danych. Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15

Bazy danych. Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15 Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15 Przechowywanie danych Wykorzystanie systemu plików, dostępu do plików za pośrednictwem systemu operacyjnego

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

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

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

V. Wymagania dla wsparcia projektu oraz nadzoru eksploatacyjnego... 6

V. Wymagania dla wsparcia projektu oraz nadzoru eksploatacyjnego... 6 ZAŁĄCZNIK NR 5 Postępowania nr EU/12/ZI/ZZ/2011o udzielenie zamówienia w trybie przetargu nieograniczonego na: Opracowanie, wykonanie i wdrożenie SYSTEMU BOOKINGÓW DLA LINII ŻEGLUGOWYCH SPECYFIKACJA TECHNICZNA

Bardziej szczegółowo

Testowanie i wdrażanie oprogramowania Emulator systemu bankowego

Testowanie i wdrażanie oprogramowania Emulator systemu bankowego Kamil Bednarz, Rafał Bukała, Rafał Liwerski, Maciej Maciejko, Marcin Pacułt, Krzysztof Pado 20 czerwca 2011 Plan prezentacji 1 Cel projektu 2 3 Narzędzia i technologie wykorzystane w projekcie 4 Cel projektu

Bardziej szczegółowo

PL/SQL. Zaawansowane tematy PL/SQL

PL/SQL. Zaawansowane tematy PL/SQL PL/SQL Zaawansowane tematy PL/SQL Cele Przypomnienie kursorów Przypomnienie procedur i funkcji składowanych Poznanie pakietów składowanych 2 Bazę danych Oracle możemy traktować jakby była złożona z dwóch

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

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

dbsamples.udl lub przygotowany wcześniej plik dla Excela) i OK,

dbsamples.udl lub przygotowany wcześniej plik dla Excela) i OK, PRACA Z BAZAMI DANYCH w AutoCAD-zie AutoCAD umożliwia dostęp do zewnętrznych baz danych, utworzonych zarówno w MS ACCESS czy w MS EXCEL, jak i w dbase czy SQL Server. Połączenie następuje poprzez odwołanie

Bardziej szczegółowo

VLAN Ethernet. być konfigurowane w dowolnym systemie operacyjnym do ćwiczenia nr 6. Od ćwiczenia 7 należy pracować ć w systemie Linux.

VLAN Ethernet. być konfigurowane w dowolnym systemie operacyjnym do ćwiczenia nr 6. Od ćwiczenia 7 należy pracować ć w systemie Linux. VLAN Ethernet Wstęp Ćwiczenie ilustruje w kolejnych krokach coraz bardziej złożone one struktury realizowane z użyciem wirtualnych sieci lokalnych. Urządzeniami, które będą realizowały wirtualne sieci

Bardziej szczegółowo

Informacje o omawianym programie. Założenia programu omawianego w przykładzie

Informacje o omawianym programie. Założenia programu omawianego w przykładzie 1 Komunikacja człowiek - komputer Przedmiot: Komunikacja człowiek - komputer Ćwiczenie: 3 Temat dwiczenia: Projektowanie interfejsu programu typu bazodanowego dr Artur Bartoszewski CZĘŚD I analiza przykładowego

Bardziej szczegółowo

OPIS PRZEDMIOTU ZAMÓWIENIA

OPIS PRZEDMIOTU ZAMÓWIENIA Załącznik nr 1 OPIS PRZEDMIOTU ZAMÓWIENIA I. Informacje ogólne Przedmiotem postępowania jest wdrożenie platformy komunikacyjnej poprzez zapewnienie możliwości dwukierunkowej wymiany danych dotyczących

Bardziej szczegółowo

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java Informatyka I Standard JDBC Programowanie aplikacji bazodanowych w języku Java dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Standard JDBC Java DataBase Connectivity uniwersalny

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

Opis instalacji systemu Intranet Komunikator

Opis instalacji systemu Intranet Komunikator mkomp Systemy Informatyczne Małgorzata Hyla 41-914 Bytom, Plac Żeromskiego 11/7 tel. +48 793-59-59-49 NIP 645-160-80-37 REGON 241529060 Opis instalacji systemu Intranet Komunikator Wersja 2.0 Systemy firmy

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

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

Spis treści. Rozdział 1 ewyniki. mmedica - INSTR UKC JA UŻYTKO W NIKA

Spis treści. Rozdział 1 ewyniki. mmedica - INSTR UKC JA UŻYTKO W NIKA Wersja 5.1.9 Spis treści Rozdział 1 1.1 1.1.1 1.1.2 1.2 1.3 1.4 1.5 I Konfiguracja... 1-1 OID świadczeniodawcy... 1-2 Dodanie... instytucji zewnętrznej 1-4 Dodanie... zlecenia 1-11 Pobranie... materiału

Bardziej szczegółowo

SpedCust 5 instrukcja instalacji

SpedCust 5 instrukcja instalacji SpedCust 5 instrukcja instalacji jedno- i wielostanowiskowej Schenker Sp. z o.o. Imię i nazwisko Oddział Miejscowość, data INSTRUKCJA INSTALACJI SpedCust5 Aby zainstalować i uruchomić system niezbędne

Bardziej szczegółowo

emszmal 3: Eksport wyciągów do Subiekt (Su\Re\Ra) nexo (plugin dostępny wraz z dodatkiem Biznes)

emszmal 3: Eksport wyciągów do Subiekt (Su\Re\Ra) nexo (plugin dostępny wraz z dodatkiem Biznes) emszmal 3: Eksport wyciągów do Subiekt (Su\Re\Ra) nexo (plugin dostępny wraz z dodatkiem Biznes) Zastosowanie Rozszerzenie Eksport wyciągów do Subiekt (Su\Re\Ra) nexo przeznaczone jest dla użytkowników

Bardziej szczegółowo

Spis treści INTERFEJS (WEBSERVICES) - DOKUMENTACJA TECHICZNA 1

Spis treści INTERFEJS (WEBSERVICES) - DOKUMENTACJA TECHICZNA 1 I N T E R F E J S W E BSERVICES NADAWANIE PAKIETÓW DO S YSTEMU MKP P RZEZ INTERNET D O K U M E N T A C J A T E C H N I C Z N A S T Y C Z E Ń 2 0 1 2 Spis treści 1. Wstęp... 2 2. Informacje ogólne... 2

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

PROE wykład 7 kontenery tablicowe, listy. dr inż. Jacek Naruniec

PROE wykład 7 kontenery tablicowe, listy. dr inż. Jacek Naruniec PROE wykład 7 kontenery tablicowe, listy dr inż. Jacek Naruniec Prosty kontener oparty na tablicach Funkcja dodawanie pojedynczego słonia do kontenera: 1 2 3 4 5 6 7 11 12 13 14 15 16 17 21 22 23 24 25

Bardziej szczegółowo