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

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

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

Transkrypt

1 Agenda Hibernate Adrian Gawor, Adam Klekotka, Piotr Kubisz Technologie Biznesu Elektronicznego 12 maja 2009 Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 1 / 42

2 Agenda Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 2 / 42

3 Agenda Idea powstania Składniki projektu Własności projektu Problem: Oprogramowanie wymaga składowania danych Dostęp do danych musi być szybki i łatwy Większość istniejących baz jest relacyjna zaś oprogramowanie jest zorientowane obiektowo Rozwiązanie: Warstwa pośrednia odwzorowująca dane obiektowe występujące w oprogramowaniu na dane relacyjne Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 3 / 42

4 [1] Agenda Idea powstania Składniki projektu Własności projektu Data powstania: 2001 rok Autor i lider: Gavin King Najnowsza wersja: Licencja: Open Source Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 4 / 42

5 Składniki projektu [1] Agenda Idea powstania Składniki projektu Własności projektu Hibernate Annotations Hibernate EntityManager Hibernate Shards Hibernate Validator Hibernate Search Hibernate Tools NHibernate Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 5 / 42

6 Własności projektu [1] Agenda Idea powstania Składniki projektu Własności projektu Naturalny sposób programowania Wiele strategii mapowania i zależności pomiędzy obiektami Wysoka skalowalność Wsparcie konwersacji Wiele sposobów dostępu do danych Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 6 / 42

7 Agenda Własności projektu (2) [1] Idea powstania Składniki projektu Własności projektu Sprawdzenie poprawności wprowadzonych danych Wydajne wyszukiwanie obiektów EJB3.0 Zarówno dla Javy jak i.net Duża integracja ze środowiskami programistycznymi Rozprowadzany na Open Source Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 7 / 42

8 Agenda Hibernate w prostej aplikacji [3] Hibernate w prostej aplikacji Hibernate w zaawansowanej aplikacji Stany obiektów Rysunek przedstawia podstawowy sposób zastosowania Hibernate a. Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 8 / 42

9 Agenda Hibernate w zaawansowanej aplikacji [3] Hibernate w prostej aplikacji Hibernate w zaawansowanej aplikacji Stany obiektów Rysunek przedstawia zaawansowany sposób zastosowania Hibernate a. Oprogramowanie budowane jest w 4 warstwach. Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 9 / 42

10 Stany obiektów [3] Agenda Hibernate w prostej aplikacji Hibernate w zaawansowanej aplikacji Stany obiektów transient - instancja nie jest jeszcze utrwalona w żadnym kontekscie (nie posiada identyfikatora primary key) persistent - instancja została przyporządkowana do kontekstu utrwalającego. Posiada identyfikator (primary key), prawdopodbnie odpowiada wierszowi w bazie. Hibernate gwarantuje, że jeżeli w bazie znajduje się ten obiekt to posiada on wartości takie same jak w środowisku. detached - instancja została już utrwalona, kontekst został zamknięty. Posiada identyfikator i prawdopodbnie odpowiada wierszowi w tabeli. Hibernate nie gwarantuje, że dane w obiekcie Javowym są identyczne z tymi w bazie danych. Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 10 / 42

11 [3] Agenda ORM Transakcje i mechanizmy blokowania Zwalnia programistę z 95% zadań związanych z utrwalaniem obiektów w relacyjnej bazie danych - mapowania zawarte w dokumentach XML Generuje kod SQL zwalniając z ręcznego operowania obiektami JDBC Umożliwia przenoszenie aplikacji pomiędzy wszystkimi bazami SQL Możliwość zaadoptowania w każdej fazie życia oprogramowania Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 11 / 42

12 ORM [3] Agenda ORM Transakcje i mechanizmy blokowania Przykładowa implementacja klasy w Javie public class Event { private Long id; private String title; private Date date; public Event() {} // implementacja setterów i getterów } Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 12 / 42

13 ORM [3] Agenda ORM Transakcje i mechanizmy blokowania Przykładowy deskryptor mapowania XML <?xml v e r s i o n ="1.0"?> <!DOCTYPE h i b e r n a t e mapping PUBLIC " // H i b e r n a t e / H i b e r n a t e Mapping DTD 3. 0 / /EN" " h t t p : / / h i b e r n a t e. s o u r c e f o r g e. n e t / h i b e r n a t e mapping 3.0. dtd"> <h i b e r n a t e mapping> < c l a s s name="e v e n t s. Event " t a b l e ="EVENTS"> <i d name=" i d " column="eventid"> <g e n e r a t o r c l a s s =" n a t i v e "/> </id > <p r o p e r t y name="d a t e " t y p e="timestamp " column="eventdate"/> <p r o p e r t y name=" t i t l e "/> </ c l a s s > </ h i b e r n a t e mapping> Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 13 / 42

14 Agenda Transakcje i mechanizmy blokowania [3] Mechanizm blokowania pesymistycznego ORM Transakcje i mechanizmy blokowania Nakładnie blokady na wiersz na cały czas manipulowania obiektem Gwarantuje, że zmiany w bazie będą przeprowadzane bezpiecznie Rozwiązanie wysoce nieskalowalne Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 14 / 42

15 Agenda Transakcje i mechanizmy blokowania [3] Mechanizm blokowania optymistycznego ORM Transakcje i mechanizmy blokowania Zakłada rzadkie występowanie kolicji w manipulowanych danych Zamiast pilnowania by kolizje nie wystąpiły pozwala je rozwiązywać, gdy się zdarzą Blokady zakładane jedynie na moment aktualizacji Powinnien być użyty dla wszystkich encji, które będą używane współbieżnie Brak użycia mechanizmu optymistycznego blokowania przenosi odpowiedzialność zarządzania spójnością danych na warstwę aplikacji Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 15 / 42

16 Agenda Transakcje i mechanizmy blokowania [3] Mechanizm blokowania optymistycznego w Hibernate ORM Transakcje i mechanizmy blokowania Dla pobieranego dokumentu tworzona jest wersja Przy aktualizacji Hibernate sprawdza wartość wersji w systemie oraz dostępnej wersji w bazie. Niezgodność wersji skutkuje rzuceniem wyjątku OptimisticLockExeption Możliwość jawnego podania dla liczby stałoprzecinkowej bądź znacznika czasu Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 16 / 42

17 Agenda HQL EJB QL / JPQL QBC SQL Hibernate udostępnia kilka języków dostępu do danych: Hibernate Query Language (HQL) EJB Query Language (EJB QL / JPQL) Query By Criteria (QBC) Native SQL Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 17 / 42

18 Agenda Hibernate Query Language [3] HQL EJB QL / JPQL QBC SQL Własności Obiektowy Składnia zbliżona do SQL Złączenia, podzapytania i grupowanie Funkcje agregujące Opcjonalność klauzuli select Największe możliwości z języków udostępnianych przez Hibernate Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 18 / 42

19 Agenda Hibernate Query Language [3] HQL EJB QL / JPQL QBC SQL Przykładowe zapytanie HQL select cat.weight + sum(kitten.weight) from Cat cat join cat.kittens kitten group by cat.id, cat.weight Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 19 / 42

20 Agenda HQL EJB QL / JPQL QBC SQL Enterprise JavaBeans Query Language [4] Własności Składnik standardu EJB W EJB 3.0 nazwa została zmieniona na JPQL (Java Persistence Query Language) inspirowany językiem HQL (posiada to samo API) Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 20 / 42

21 Agenda EJB Query Language [4] HQL EJB QL / JPQL QBC SQL Przykładowe zapytanie select cust from Product prod, Store store inner join store.customers cust where prod.name = widget and store.location.name in ( Melbourne, Sydney ) and prod = all elements(cust.currentorder.lineitems) Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 21 / 42

22 Query By Criteria [3] Agenda HQL EJB QL / JPQL QBC SQL Własności mniej popularny niż HQL mocno ograniczone możliwości zapytanie dotyczy tylko jednej klasy trwałej umożliwia sortowanie pozwala na natywne kryteria SQL Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 22 / 42

23 Query By Criteria [3] Agenda HQL EJB QL / JPQL QBC SQL QBC polega na zawężaniu kolekcji obiektów poprzez określanie kryteriów wyboru. Przykładowe kryteria Restrictions.isNull Restrictions.eq Restrictions.like Restrictions.between Restrictions.sqlRestriction Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 23 / 42

24 Query By Criteria [3] Agenda HQL EJB QL / JPQL QBC SQL Przykładowe zapytanie L i s t c a t s = s e s s. c r e a t e C r i t e r i a ( Cat. c l a s s ). add ( R e s t r i c t i o n s. l i k e (" name ", "F%"). addorder ( Order. asc (" name ") ). addorder ( Order. desc (" age ") ). l i s t ( ) ; Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 24 / 42

25 Native SQL [3] Agenda HQL EJB QL / JPQL QBC SQL Własności Pozwala wykorzystać mechanizmy specyficzne dla danego systemu zarządzania bazą danych Ułatwia przenoszenie aplikacji z JDBC do Hibernate Uzależnia implementację od konkretnego SZBD Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 25 / 42

26 Native SQL Agenda HQL EJB QL / JPQL QBC SQL Przykładowe zapytanie s e s s i o n. createsqlquery ( "SELECT ID, NAME, BIRTHDATE FROM CATS " ). l i s t ( ) ; s e s s. createsqlquery ( "SELECT ID, NAME, BIRTHDATE FROM CATS " ). a d d E n t i t y ( Cat. c l a s s ) ; Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 26 / 42

27 Agenda Implementacja JPA w Hibernate Hibernate Annotations Hibernate EntityManager Framework pozwalający na ustandaryzowany sposób zarządzania danymi w aplikacjach Java SE i EE. Własności JPA Oficjalny standard ORM Składnik standardu Enterprise JavaBeans 3.0 W jego tworzenie zaangażowany był m.in. twórca Hibernate - Gavin King Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 27 / 42

28 Agenda Implementacja JPA w Hibernate Implementacja JPA w Hibernate Hibernate Annotations Hibernate EntityManager Hibernate implementuje JPA w postaci warstwy opakowującej Implementacja podzielona jest na dwa niezależne pakiety: Hibernate Annotations Hibernate EntityManager Pakiety są od siebie niezależne Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 28 / 42

29 Agenda Hibernate Annotations [2] Własności Implementacja JPA w Hibernate Hibernate Annotations Hibernate EntityManager Implementuje wszystkie adnotacje EJB 3.0 / JPA, włącznie z opcjonalnymi adnotacjami można zastąpić większość składowych mapowania XML Configuration by exception Adnotowanie atrybutów lub ich akcesorów Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 29 / 42

30 Agenda Hibernate Annotations [2] Możliwości Implementacja JPA w Hibernate Hibernate Annotations Hibernate EntityManager Mapowanie prostych i złożonych atrybutów Definiowanie związków między encjami Określanie strategii dziedziczenia Mapowanie identyfikatorów encji Tuning wydajności Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 30 / 42

31 Agenda Hibernate Annotations [2] Przykładowe adnotacje Implementacja JPA w Hibernate Hibernate Annotations @OneToMany, Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 31 / 42

32 Agenda Hibernate EntityManager [4] Własności Implementacja JPA w Hibernate Hibernate Annotations Hibernate EntityManager Implementuje interfejsy programistyczne oferowane przez JPA Opakowuje metody z pakietu HibernateCore Razem z HibernateAnnotations tworzy kompletną implementację standardu JPA Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 32 / 42

33 Agenda Hibernate EntityManager [4] Klasa EntityManagerFactory Implementacja JPA w Hibernate Hibernate Annotations Hibernate EntityManager EntityManagerFactory Opakowuje SessionFactory Zawiera dane połączenia z konkretnym źródłem danych Zapewnia tworzenie instancji EntityManager a Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 33 / 42

34 Agenda Hibernate EntityManager [4] Klasa EntityManager Implementacja JPA w Hibernate Hibernate Annotations Hibernate EntityManager EntityManager Opakowuje Session Zawiera konkretne połączenie ze źródłem danych Umożliwia wykonywanie zapytań EJB-QL Pozwala na utrwalanie obiektów Zarządza transakcjami Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 34 / 42

35 Cache w Hibernate [3] Agenda Cache Hibernate Validator Hibernate Tools NHibernate Hibernate posiada 2-poziomowy cache: I poziom - Session (zakres transakcji) II poziom - SessionFactory (zakres całej aplikacji) Wybrani dostawcy cache u II poziomu EHCache SwarmCache JBoss Cache Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 35 / 42

36 Agenda Hibernate Validator [1] Cache Hibernate Validator Hibernate Tools NHibernate Pakiet umożliwiający walidację atrybutów klas trwałych. HibernateValidator działa na dwóch poziomach: sprawdza obiekty znajdujące się w pamieci dodaje ograniczenia do schematu bazy danych @Past Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 36 / 42

37 Agenda Hibernate Validator [1] Dokonywanie walidacji Cache Hibernate Validator Hibernate Tools NHibernate W warstwie aplikacji JSF + JBoss Seam <s:validate> W warstwie biznesowej C l a s s V a l i d a t o r p e r s o n V a l i d a t o r = new C l a s s V a l i d a t o r ( Person. c l a s s ) ; I n v a l i d V a l u e [ ] v a l i d a t i o n M e s s a g e s = p e r s o n V a l i d a t o r. g e t I n v a l i d V a l u e s ( p e r s o n ) ; Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 37 / 42

38 Hibernate Tools [1] Agenda Cache Hibernate Validator Hibernate Tools NHibernate Opis Zbiór narzędzi dla Hibernate a i powiązanych z nim projektów, które ułatwiają pracę ze środowiskiem. Mapping Editor - Ułatwia pracę z plikami XML dotyczącymi mapowania obiektów. Console - Pozwala zadawać interaktywnie zapytania w języku HQL. Dostarcza wizualizacje powiązań klas. Reverse Engineering - Najbardziej zaawansowane narzędzie z projektu. Pozwala wygenerować model klas, pliki mapowania, adnotacje, dokumentacje HTML z istniejącej bazy. Wizards - Ułatwiają tworzenie konfiguracji Hibernate a Ant task - Zajmuje się tworzeniem zadań dla Anta. Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 38 / 42

39 NHibernate [1] Agenda Cache Hibernate Validator Hibernate Tools NHibernate Opis Wersja Hibernate a dla środowiska Microsoft.NET Przeportowany Hibernate 2.1 for Java Wymagany Framework.NET w wersji 1.1 lub 2.0 Rozprowadzany na licencji Open Source Silna integracja z MS Visual Studio Wartość podstawowej części projektu to około 182 osobolata praca, czyli ok 10 mln dolarów Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 39 / 42

40 Podsumowanie Agenda Podsumowanie Bibliografia Przykłady Hibernate jest bardzo dojrzałym rozwiązaniem ORM Projekt zawiera wiele modułów ułatwiających pracę oraz wspomagających proces tworzenia oprogramowania Implementuje standard JPA Licencja LGPL sprawia, że możemy go użyć w dowolnym projekcie, ZA DARMO Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 40 / 42

41 Bibliografia Agenda Podsumowanie Bibliografia Przykłady Hibernate - relational persistence for idiomatic java, Maj Hibernate annotations reference documentation, Maj Hibernate core reference documentation, Maj Hibernate entitymanager reference documentation, Maj Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 41 / 42

42 Przykłady Agenda Podsumowanie Bibliografia Przykłady Adrian Gawor, Adam Klekotka, Piotr Kubisz Hibernate 42 / 42

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

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

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

Programowanie wielowarstwowe i komponentowe

Programowanie wielowarstwowe i komponentowe Programowanie wielowarstwowe i komponentowe HIBERNATE CD. Rodzaje relacji Jeden do wielu Pojedyncza Osoba ma wiele Wpisów Wiele do jednego Wiele Wpisów należy do jednej Osoby Jeden do jednego Pojedyncza

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

Hibernate. Od Nowicjusza do Profesjonalisty. Dave Minter Jeff Linwood

Hibernate. Od Nowicjusza do Profesjonalisty. Dave Minter Jeff Linwood Hibernate Od Nowicjusza do Profesjonalisty Dave Minter Jeff Linwood Beginning Hibernate: From Novice to Professional ISBN-13 (pbk): 978-1-59059-693-7 ISBN-10 (pbk): 1-59059-693-5 Original edition Copyright

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

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

Podejście obiektowe do relacyjnych baz danych Hibernate.

Podejście obiektowe do relacyjnych baz danych Hibernate. Podejście obiektowe do relacyjnych baz danych Hibernate. Plan wykładu Czym jest Hibernate? Jakie są zalety pracy z Hibernate? Jak skonfigurować Hibernate? Jak korzystać z Hibernate? Praktyczne przykłady

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

NHibernate. Narzędzie mapowania obiektowo - relacyjnego

NHibernate. Narzędzie mapowania obiektowo - relacyjnego NHibernate Narzędzie mapowania obiektowo - relacyjnego Autor : Maciej Białorucki Mapowanie obiektowo-relacyjne Mapowanie obiektowo - relacyjne Object Relation Mapping Dwa światy Dlaczego nie stosować baz

Bardziej szczegółowo

Załącznik Nr 5 do Zarz. Nr 33/11/12

Załącznik Nr 5 do Zarz. Nr 33/11/12 Załącznik Nr 5 do Zarz. Nr 33/11/12 (pieczęć wydziału) KARTA PRZEDMIOTU Z1-PU7 WYDANIE N1 Strona 1 z 5 1. Nazwa przedmiotu: INTERFEJSY OBIEKTOWO- RELACYJNE 3. Karta przedmiotu ważna od roku akademickiego:

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

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

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

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

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

Spis treści. Przedmowa

Spis treści. Przedmowa Spis treści Przedmowa V 1 SQL - podstawowe konstrukcje 1 Streszczenie 1 1.1 Bazy danych 1 1.2 Relacyjny model danych 2 1.3 Historia języka SQL 5 1.4 Definiowanie danych 7 1.5 Wprowadzanie zmian w tabelach

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

Analiza porównawcza technologii odwzorowania obiektowo-relacyjnego dla aplikacji Java

Analiza porównawcza technologii odwzorowania obiektowo-relacyjnego dla aplikacji Java Analiza porównawcza technologii odwzorowania obiektowo-relacyjnego dla aplikacji Java Piotr Błoch, Marek Wojciechowski Politechnika Poznańska e mail: Marek.Wojciechowski@cs.put.poznan.pl Abstrakt. Zaawansowane

Bardziej szczegółowo

Metody dostępu do danych

Metody dostępu do danych Metody dostępu do danych dr inż. Grzegorz Michalski Na podstawie wykładów dra inż. Juliusza Mikody Obiekt interfejsu Session Jest to podstawowy interfejs komunikacji pomiędzy aplikacją, a API Hibernate

Bardziej szczegółowo

Generowanie raportów

Generowanie raportów 1 Generowanie raportów 1. Wprowadzenie przykładowy problem, podstawowe własności narzędzi raportujących. 2. JasperReports struktura raportu, parametry, zmienne i pola, generowanie raportu (API). 3. ireport

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

Projektowanie obiektowe oprogramowania Wykład 9 Wzorce architektury aplikacji (1) Wiktor Zychla 2013

Projektowanie obiektowe oprogramowania Wykład 9 Wzorce architektury aplikacji (1) Wiktor Zychla 2013 Projektowanie obiektowe oprogramowania Wykład 9 Wzorce architektury aplikacji (1) Wiktor Zychla 2013 1 Automated code generation To bardziej technika wspomagająca niż wzorzec, ale wykorzystywana w praktyce

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 3_2 1 1. Wykonanie kopii programu Sklep_6 2 1. Wykonanie

Bardziej szczegółowo

Gdzie jest moja tabela?

Gdzie jest moja tabela? Gdzie jest moja tabela? Czyli jak sobie radzić w Javie i SQL gdy zmienia się schemat bazy danych. Tomasz Skutnik 21 Listopada 2011 r UWIELBIAM piratów programować. Dziś koduję sklep internetowy. Jak rozmawiać

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

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

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

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

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

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

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

Projekt INP Instrukcja 2. Autor Dr inż. Zofia Kruczkiewicz Projekt INP002017 Instrukcja 2 Autor Dr inż. Zofia Kruczkiewicz I. Czynności wykonane zgodnie z harmonogramem grupy w tygodniach 1-15 Tabela 2. Przebieg realizacji każdego z projektów (tabela 1) Opis realizacji

Bardziej szczegółowo

JBoss: MetaMatrix, Mobicents, Seam, Rools, ESB

JBoss: MetaMatrix, Mobicents, Seam, Rools, ESB JBoss: MetaMatrix, Mobicents, Seam, Rools, ESB Przemysław Rudzki RHCX, RHCI, JBoss Certified Trainer Niezależny Konsultant Plan prezentacji Ostatnie zakupy RedHat/JBoss MetaMatrix Mobicents Technologie

Bardziej szczegółowo

22 października Akademia Górniczo-Hutnicza, Automatyka i Robotyka. Porównanie LINQ i NHibernate. Mateusz Mazur Ale o co chodzi?

22 października Akademia Górniczo-Hutnicza, Automatyka i Robotyka. Porównanie LINQ i NHibernate. Mateusz Mazur Ale o co chodzi? Mazur (m-a-t-i@o2.pl) 22 października 2008 Akademia Górniczo-Hutnicza, Automatyka i Robotyka Plan Wyjaśnienie tematyki Przykład wprowadzający Wyjaśnienie pojęć wydajnościowe, funkcjonalne Praktyczne przedstawienie

Bardziej szczegółowo

Ekspert MS SQL Server Oferta nr 00/08

Ekspert MS SQL Server Oferta nr 00/08 Ekspert MS SQL Server NAZWA STANOWISKA Ekspert Lokalizacja/ Jednostka organ.: Pion Informatyki, Biuro Hurtowni Danych i Aplikacji Wspierających, Zespół Jakości Oprogramowania i Utrzymania Aplikacji Szczecin,

Bardziej szczegółowo

Projektowanie aplikacji z bazami danych

Projektowanie aplikacji z bazami danych Systemy mapowania relacyjno-obiektowego Instytut Informatyki Uniwersytet Wrocławski Plan wykładu Wprowadzenie do trwałości Niedopasowanie paradygmatów Architektura warstwowa Czym jest ORM? Problemy i pytania

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

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

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop. 2016 Spis treści O autorach 11 Podziękowania 12 Część I Wprowadzenie do języka SQL 13 Godzina 1. Witamy w świecie języka SQL 15

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

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

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

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15 T-SQL dla każdego / Alison Balter. Gliwice, cop. 2016 Spis treści O autorce 11 Dedykacja 12 Podziękowania 12 Wstęp 15 Godzina 1. Bazy danych podstawowe informacje 17 Czym jest baza danych? 17 Czym jest

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

Nowoczesne aplikacje internetowe oparte na Spring Framework, JSF, JPA i AJAX

Nowoczesne aplikacje internetowe oparte na Spring Framework, JSF, JPA i AJAX Kod szkolenia: Tytuł szkolenia: SPRING/JSF Nowoczesne aplikacje internetowe oparte na Spring Framework, JSF, JPA i AJAX Dni: 5 Opis: Cel szkolenia: Celem szkolenia jest poznanie zasad budowania aplikacji

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

Aplikacje Internetowe, Servlety, JSP i JDBC

Aplikacje Internetowe, Servlety, JSP i JDBC Aplikacje Internetowe, Servlety, JSP i JDBC Opis Java 2 Enterprise Edition (JEE) jest potężną platformą do tworzenia aplikacji webowych. PLatforma JEE oferuje wszystkie zalety tworzenia w Javie plus wszechstronny

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

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

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

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych Spis treści Wprowadzenie... ix Organizacja ksiąŝki... ix Od czego zacząć?... x Konwencje przyjęte w ksiąŝce... x Wymagania systemowe... xi Przykłady kodu... xii Konfiguracja SQL Server 2005 Express Edition...

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

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

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7 AUREA BPM Oracle TECNA Sp. z o.o. Strona 1 z 7 ORACLE DATABASE System zarządzania bazą danych firmy Oracle jest jednym z najlepszych i najpopularniejszych rozwiązań tego typu na rynku. Oracle Database

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

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

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Podstawowe cechy i możliwości języka Scala mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 2017 1 / 32 mgr inż. Krzysztof Szwarc Programowanie obiektowe Informacje

Bardziej szczegółowo

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie 1 czerwca 2009 Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie = bjects = database for objects w pełni obiektowa

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

MAPOWANIE OBIEKTOWO-RELACYJNE (ORM) CZY TYLKO DOBRA IDEA?

MAPOWANIE OBIEKTOWO-RELACYJNE (ORM) CZY TYLKO DOBRA IDEA? ZESZYTY NAUKOWE 99-112 Zbigniew ROSIEK 1 MAPOWANIE OBIEKTOWO-RELACYJNE (ORM) CZY TYLKO DOBRA IDEA? Streszczenie Mapowanie obiektowo-relacyjne (ORM) jest nowoczesnym podejściem do zagadnienia współpracy

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

JBoss Application Server

JBoss Application Server Zagadnienia Programowania Obiektowego 4 grudnia 2006 1 Co to jest? 2 Co potrafi? Realizowane standardy Własne rozszerzenia Programowanie aspektowe Klastrowanie 3 Jak się z tym pracuje? Instalacja i konfiguracja

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego

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

Oracle11g: Wprowadzenie do SQL

Oracle11g: Wprowadzenie do SQL Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom

Bardziej szczegółowo

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans. GRZEGORZ FURDYNA Krótka Historia Co to jest NetBeans? Historia Wersje NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły NetBeans Profiler Narzędzie do projektowania GUI Edytor NetBeans

Bardziej szczegółowo

ODWZOROWANIE OBIEKTOWO-RELACYJNE

ODWZOROWANIE OBIEKTOWO-RELACYJNE PODSTAWY BAZ DANYCH Mateusz Wojtaszek Agnieszka Walczak Kamil Lisiecki ODWZOROWANIE OBIEKTOWO-RELACYJNE Co to jest ORM? ORM to skrótowe oznaczenie dla "mapowanie obiektowo-relacyjne" (od angielskiego Object-Relational

Bardziej szczegółowo

Przykłady pytań do zaliczenia programu wykonywanego w ramach zajęć laboratoryjnych 6-8 z Programowania komponentowego w Javie. Zofia Kruczkiewicz

Przykłady pytań do zaliczenia programu wykonywanego w ramach zajęć laboratoryjnych 6-8 z Programowania komponentowego w Javie. Zofia Kruczkiewicz Przykłady pytań do zaliczenia programu wykonywanego w ramach zajęć laboratoryjnych 6-8 z Programowania komponentowego w Javie Zofia Kruczkiewicz 1. Jakie warstwy zawiera aplikacja internetowa? 2. Wymień

Bardziej szczegółowo

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle EFEKTY KSZTAŁCENIA Wiedza Absolwent tej specjalności

Bardziej szczegółowo

Microsoft SQL Server Podstawy T-SQL

Microsoft SQL Server Podstawy T-SQL Itzik Ben-Gan Microsoft SQL Server Podstawy T-SQL 2012 przełożył Leszek Biolik APN Promise, Warszawa 2012 Spis treści Przedmowa.... xiii Wprowadzenie... xv Podziękowania... xix 1 Podstawy zapytań i programowania

Bardziej szczegółowo

Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24

Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24 Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24 Agenda Serp24 NoSQL Integracja z CMS Drupal Przetwarzanie danych Podsumowanie Serp24 Darmowe narzędzie Ułatwia planowanie

Bardziej szczegółowo

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż. Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej Wstęp Programowanie w Javie 2 mgr inż. Michał Misiak Agenda Założenia do wykładu Zasady zaliczeń Ramowy program wykładu

Bardziej szczegółowo

Wprowadzenie do Doctrine ORM

Wprowadzenie do Doctrine ORM Wprowadzenie do Doctrine ORM Przygotowanie środowiska Do wykonania ćwiczenia konieczne będzie zainstalowanie narzędzia Composer i odpowiednie skonfigurowanie Netbeans (Tools->Options->Framework & Tools->Composer,

Bardziej szczegółowo

BalticBottomBase. Instytut Morski w Gdańsku Gdańsk,

BalticBottomBase. Instytut Morski w Gdańsku Gdańsk, BalticBottomBase mgr inż. Przemysław Kulesza dr Piotr Piotrowski mgr inż. Michał Wójcik Spójne wyszukiwanie w zbiorze różnorodnych danych geograficznych - metamodel i metoda wyszukiwania Instytut Morski

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

DMX DMX DMX DMX: CREATE MINING STRUCTURE. Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski

DMX DMX DMX DMX: CREATE MINING STRUCTURE. Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski DMX DMX DMX Data Mining Extensions jest językiem do tworzenia i działania na modelach eksploracji danych w Microsoft SQL Server Analysis Services SSAS. Za pomocą DMX można tworzyć strukturę nowych modeli

Bardziej szczegółowo

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z możliwości utworzenia struktury bazy danych z

Bardziej szczegółowo

Programowanie w Ruby

Programowanie w Ruby Programowanie w Ruby Wykład 6 Marcin Młotkowski 14 listopada 2012 Plan wykładu Trwałość obiektów Bazy danych DBM Bazy danych SQL Active records Szeregowanie obiektów Obiekt Serializacja @tytul = 'Pan Tadeusz'

Bardziej szczegółowo

Programowanie MorphX Ax

Programowanie MorphX Ax Administrowanie Czym jest system ERP? do systemu Dynamics Ax Obsługa systemu Dynamics Ax Wyszukiwanie informacji, filtrowanie, sortowanie rekordów IntelliMorph : ukrywanie i pokazywanie ukrytych kolumn

Bardziej szczegółowo

Wykład 1 Inżynieria Oprogramowania

Wykład 1 Inżynieria Oprogramowania Wykład 1 Inżynieria Oprogramowania Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowaniaiteracyjno-rozwojowy cykl oprogramowania Autor: Zofia Kruczkiewicz System Informacyjny =Techniczny SI

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

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski. Bazy danych ITA-101. Wersja 1

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski. Bazy danych ITA-101. Wersja 1 Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski Bazy danych ITA-101 Wersja 1 Warszawa, wrzesień 2009 Wprowadzenie Informacje o kursie Opis kursu We współczesnej informatyce coraz większą

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

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie

Bardziej szczegółowo

Kurs programowania aplikacji bazodanowych

Kurs programowania aplikacji bazodanowych Wykład 5 Instytut Informatyki Uniwersytet Wrocławski Plan wykładu Wprowadzenie do XPO Podstawowe obiekty Utrwalanie obiektów Transakcje i współbieżność Wzorzec unit of work Odwzorowanie dziedziczenia Asocjacje

Bardziej szczegółowo

Db4o obiektowa baza danych wersja.net

Db4o obiektowa baza danych wersja.net Wstęp Db4o obiektowa baza danych wersja.net Db4o (database for objects) to obiektowa baza danych na platformę Java i.net. Pełna wersja bazy db4o jest dostępna na dwóch licencjach: open source: pozwala

Bardziej szczegółowo

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 Bazy Danych LITERATURA C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 J. D. Ullman, Systemy baz danych, WNT - W-wa, 1998 J. D. Ullman, J. Widom, Podstawowy

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

Projektowanie obiektowe oprogramowania Wzorce architektury aplikacji (3) Wykład 11 Repository, Unit of Work Wiktor Zychla 2016

Projektowanie obiektowe oprogramowania Wzorce architektury aplikacji (3) Wykład 11 Repository, Unit of Work Wiktor Zychla 2016 Projektowanie obiektowe oprogramowania Wzorce architektury aplikacji (3) Wykład 11 Repository, Unit of Work Wiktor Zychla 2016 Repository dodatkowa warstwa abstrakcji na obiektową warstwę dostępu do danych.

Bardziej szczegółowo

SZKOLENIE TWORZENIE SYSTEMÓW

SZKOLENIE TWORZENIE SYSTEMÓW SZKOLENIE TWORZENIE SYSTEMÓW INFORMATYCZNYCH Z UŻYCIEM GROOVY I GRAILS KOD: JGR Strona 1 1 Opis Platforma Java EE to zbiór zaawansowanych narzędzi umożliwiających tworzenie systemów korporacyjnych. Jest

Bardziej szczegółowo

Technologia informacyjna

Technologia informacyjna Technologia informacyjna Bazy danych Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2016 Plan wykładu Wstęp do baz danych Modele baz danych Relacyjne bazy danych Język SQL Rodzaje

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

Web Tools Platform. Adam Kruszewski

Web Tools Platform. Adam Kruszewski Web Tools Platform Adam Kruszewski Plan prezentacji 1. Co to jest WTP i dlaczego powstało. 2. Ogólne omówienie projektu 3. Web Standard Tools 4. J2EE Standard Tools 5. Plany następnej wersji Co to jest

Bardziej szczegółowo

Kurs programowania aplikacji bazodanowych

Kurs programowania aplikacji bazodanowych Wykład 6 Instytut Informatyki Uniwersytet Wrocławski Plan wykładu CastleProject i wzorzec ActiveRecord Wybrane możliwości Castle ActiveRecord Inicjalizja i konfiguracja Tworzenie klasy encji, dziedziczenie

Bardziej szczegółowo

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner 2013-03-11

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner 2013-03-11 Poznaj ASP.NET MVC Kamil Cieślak Microsoft Student Partner 2013-03-11 Agenda Czym jest ASP.NET MVC? Wzorzec MVC ASP.NET MVC vs inne frameworki Bazy danych w ASP.NET MVC Jak zacząć? 2 Czym jest ASP.NET

Bardziej szczegółowo

Wzorce dystrybucji i wspólbieżności autonomicznej

Wzorce dystrybucji i wspólbieżności autonomicznej Wzorce dystrybucji i wspólbieżności autonomicznej 1. Wzorce dystrybucji, fasada zdalna (Remote Facade), obiekt transfery danych (Data Transfer Object), 2. Wzorce współbieżności autonomicznej, blokada optymistyczna

Bardziej szczegółowo

Relacje. 1. Modelowanie relacji. - siedem rodzajów relacji J2EE. - relacje jedno i wielokierunkowe, - relacje reprezentowane przez kolekcje.

Relacje. 1. Modelowanie relacji. - siedem rodzajów relacji J2EE. - relacje jedno i wielokierunkowe, - relacje reprezentowane przez kolekcje. Relacje 1. Modelowanie relacji. - siedem rodzajów relacji J2EE. - relacje jedno i wielokierunkowe, - relacje reprezentowane przez kolekcje. 1 Relacje Modelowanie pojęć biznesowych wymaga łączenia komponentów

Bardziej szczegółowo

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Architektura Trwałość przezroczysta Konfiguracja, konfiguracja mapowania Dziedziczenie klas Kolekcje Asocjacje Cykl życia obiektów Trwałość przechodnia

Bardziej szczegółowo