Technologie odwzorowania. owania obiektowo-relacyjnego. relacyjnego: Oracle TopLink

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

Download "Technologie odwzorowania. owania obiektowo-relacyjnego. relacyjnego: Oracle TopLink"

Transkrypt

1 105 Technologie odwzorowania owania obiektowo-relacyjnego relacyjnego: Oracle TopLink

2 Plan prezentacji 106 Wprowadzenie TopLink Workbench TopLink w JDeveloper 10g Wybrane metody odwzorowania obiektowo-relacyjnego Zarządzanie sesjami TopLink Realizacja zapytań dynamicznych Obsługa tożsamości obiektów Przetwarzanie transakcyjne

3 TopLink: : Przeznaczenie produktu 107 Warstwa komunikacji aplikacji Java z bazą danych, oparta na koncepcji odwzorowania obiektowo-relacyjnego Projektant aplikacji w języku XML definiuje zasady odwzorowań obiektów Java na rekordy tabel bazy danych Aplikacja Java wykorzystuje TopLink API w celu komunikacji z warstwą TopLink; warstwa TopLink przekształca wywołania aplikacyjne w komendy SQL przekazywane do systemu zarządzania bazą danych poprzez JDBC Aplikacja Java TopLink Runtime Engine JDBC Baza danych Definicja odwzorowania

4 TopLink: : historia 108 Opracowany na początku lat dziewięćdziesiątych przez firmę WebGain jako platforma usługowa w środowisku Smalltalk W 1996 roku przeniesiony do języka Java Firma WebGain przejęta przez Oracle, TopLink włączony do Oracle9i

5 TopLink: : Cykl rozwoju aplikacji 109 Projektowanie i implementacja relacyjnej bazy danych Projektowanie i implementacja obiektowego modelu danych w języku Java Definicja odwzorowań obiektowo-relacyjnych pomiędzy obiektami Java a rekordami tabel w bazie danych (metadane) Implementacja kodu przetwarzania danych w języku Java tabele klasy xml metadane (projekt TopLink)

6 TopLink: : Narzędzia 110 JDeveloper 10g R3 zawiera kreatory i edytory odwzorowań TopLink TopLink Workbench to samodzielna aplikacja Java służąca do definicji i edycji odwzorowań TopLink Biblioteka TopLink API

7 TopLink: : Definicje 111 Deskryptor (descriptor) - opisuje powiązanie pomiędzy klasą Java a tabelą w bazie danych Odwzorowanie (mapping) - opisuje powiązanie pomiędzy atrybutem klasy a kolumną tabeli Projekt (project) - gromadzi wszystkie deskryptory i odwzorowania dla całej aplikacji

8 TopLink: : Projekt 112 Projekt jest kontenerem zawierającym wszystkie metadane niezbędne do realizacji odwzorowań obiektowo-relacyjnych Formy reprezentacji projektów TopLink: plik XML do dynamicznego użycia podczas wykonania aplikacji klasa Java zawierająca kod odwzorowań obiektowo-relacyjnych do statycznego użycia podczas wykonywania aplikacji plik WMP wykorzystywany przez TopLink Workbench

9 TopLink: : Projekt w postaci pliku XML 113 <?xml version="1.0" encoding="utf-8"?> <toplink:object-persistence version="oracle TopLink - 10g" xmlns:opm=" xmlns:xsd=" xmlns:toplink=" xmlns:xsi=" <opm:name>myproj1</opm:name> <opm:class-mapping-descriptors> <opm:class-mapping-descriptor xsi:type="toplink:relational-class-mapping-descriptor"> <opm:class>package1.dept</opm:class> <opm:alias>dept</opm:alias> <opm:primary-key> <opm:field table="dept" name="deptno" xsi:type="opm:column"/> </opm:primary-key> <opm:events xsi:type="toplink:event-policy"/> <opm:querying xsi:type="toplink:query-policy"/> <opm:attribute-mappings> <opm:attribute-mapping xsi:type="toplink:direct-mapping"> <opm:attribute-name>nazwa</opm:attribute-name> <opm:field table="dept" name="dname" xsi:type="opm:column"/> </opm:attribute-mapping>...

10 TopLink: : Projekt w postaci klasy Java 114 import oracle.toplink.sessions.*; import oracle.toplink.descriptors.*;... import oracle.toplink.sequencing.*; public class MyProj1 extends oracle.toplink.sessions.project { public MyProj1() { setname("test"); applylogin(); adddescriptor(buildempdescriptor()); adddescriptor(builddeptdescriptor());} public void applylogin() { DatabaseLogin login = new DatabaseLogin(); login.useplatform( new oracle.toplink.platform.database.oracle.oracle10platform()); login.setdriverclassname("oracle.jdbc.driver.oracledriver"); login.setconnectionstring("jdbc:oracle:thin:@localhost:1521:orcl"); login.setusername("scott"); login.setencryptedpassword("3e20f8982c53f4aba825e30206ec8ade");...

11 115 Definiowanie odwzorowań obiektowo-relacyjnych za pomocą narzędzia TopLink Workbench

12 Definiowanie odwzorowań obiektowo-relacyjnych (Workbench( Workbench) 116 Utwórz nowy projekt i wybierz rodzaj źródła danych. File->New->Project...

13 Definiowanie odwzorowań obiektowo-relacyjnych (Workbench( Workbench) 117 Określ parametry fizycznego połączenia z bazą danych. Database->Add...

14 Definiowanie odwzorowań obiektowo-relacyjnych (Workbench( Workbench) 118 Określ lokalizację skompilowanych klas Java, które zostaną odwzorowane na tabele bazy danych. Project->General->Classpath

15 Definiowanie odwzorowań obiektowo-relacyjnych (Workbench( Workbench) 119 Załaduj definicje klas, które zostaną odwzorowane na tabele bazy danych. Project->Add or Refresh Classess...

16 Definiowanie odwzorowań obiektowo-relacyjnych (Workbench( Workbench) 120 Połącz się z bazą danych, załaduj definicje tabel. Database->Log In to Database Database->Add or Update Existing Tables from Database

17 Definiowanie odwzorowań obiektowo-relacyjnych (Workbench( Workbench) 121 Zdefiniuj odwzorowania klas i ich atrybutów na tabele i ich kolumny.

18 Definiowanie odwzorowań obiektowo-relacyjnych (Workbench( Workbench) 122 Zapisz plik projektu TopLink w formie pliku XML lub klasy Java. Export->Project Deployment XML... Export->Project Java Source...

19 Wykorzystanie gotowego projektu TopLink w JDeveloper 10g (XML) 123 Project project = XMLProjectReader.read("C:/MyApp1/MyProject1.xml"); DatabaseSession session = project.createdatabasesession(); DatabaseLogin login = new DatabaseLogin(); login.useplatform(new oracle.toplink.platform.database.oracle.oracle10platform()); login.setdriverclassname("oracle.jdbc.driver.oracledriver"); login.setconnectionstring("jdbc:oracle:thin:@localhost:1521:orcl"); login.setusername("scott"); login.setpassword("tiger"); session.setdatasourcelogin(login); session.login();...

20 Wykorzystanie gotowego projektu TopLink w JDeveloper 10g (Java) 124 Project project = new MyProject1(); DatabaseSession session = project.createdatabasesession(); DatabaseLogin login = new DatabaseLogin(); login.useplatform(new oracle.toplink.platform.database.oracle.oracle10platform()); login.setdriverclassname("oracle.jdbc.driver.oracledriver"); login.setconnectionstring("jdbc:oracle:thin:@localhost:1521:orcl"); login.setusername("scott"); login.setpassword("tiger"); session.setdatasourcelogin(login); session.login();...

21 125 Definiowanie odwzorowań obiektowo-relacyjnych za pomocą narzędzia JDeveloper 10g

22 Definiowanie odwzorowań obiektowo-relacyjnych (JDeveloper( 10g) Utwórz klasy Java, które zostaną odwzorowane na tabele bazy danych. 126 File->New...->General->Java Class

23 Definiowanie odwzorowań obiektowo-relacyjnych (JDeveloper( 10g) Określ parametry fizycznego połączenia z bazą danych. 127 Connections->Databae->New Database Connection...

24 Definiowanie odwzorowań obiektowo-relacyjnych (JDeveloper( 10g) Załaduj definicje tabel z bazy danych. 128 File->New...->Database Tier->Offline Database Objects Imported from Database

25 Definiowanie odwzorowań obiektowo-relacyjnych (JDeveloper( 10g) Utwórz plik projektu TopLink. 129 File->New...->Business Tier->TopLink Object-Relational Map

26 Definiowanie odwzorowań obiektowo-relacyjnych (JDeveloper( 10g) 130 Utwórz puste deskryptory dla klas Java, które będą odwzorowane na tabele bazy danych. Toplink->Add or Remove Descriptors...

27 Definiowanie odwzorowań obiektowo-relacyjnych (JDeveloper( 10g) 131 Zdefiniuj odwzorowania klas i ich atrybutów na tabele i ich kolumny.

28 Wykorzystanie projektu TopLink w JDeveloper 10g (XML) 132 public static final void main(string[] args) { Project project = XMLProjectReader.read( "META-INF/MyToplink1.xml", Thread.currentThread().getContextClassLoader()); DatabaseSession session = project.createdatabasesession(); session.shouldlogmessages(); session.login(); Collection results = session.readallobjects(dept.class); for (Iterator itr = results.iterator();itr.hasnext();) { printobjectattributes(itr.next(), session); } session.logout(); Wygeneruj kod przykładowej aplikacji-klienta. New Sample Java Client...

29 133 TopLink: : wybrane metody odwzorowania obiektowo-relacyjnego

30 Rodzaje odwzorowań 134 Odwzorowania bezpośrednie (direct mapping) dotyczą odwzorowania pojedynczego atrybutu na pojedynczą kolumnę tabeli Odwzorowania związków (relationship mapping) dotyczą odwzorowania powiązań pomiędzy obiektami na powiązania klucza obcego pomiędzy rekordami tabeli

31 Rodzaje odwzorowań bezpośrednich 135 Direct-to-field wartość atrybutu obiektu odpowiada wartości kolumny tabeli żadnych przekształceń Object type każdej wartości atrybutu obiektu odpowiada powiązana z nią wartość kolumny tabeli np. "Male" -> "M", "Female"->"F" Type conversion konwersja typu danych podczas odwzorowywania wartości atrybutu na wartość kolumny tabeli np. String->NUMBER Serialized Object wartość atrybutu obiektu jest serializowana i zapisywana w bazie danych jako BLOB

32 Rodzaje odwzorowań związk zków 136 One-to-one odwzorowuje powiązanie pojedynczego obiektu z innym pojedynczym obiektem np. samochód - dowód rejestracyjny Aggregate szczególny rodzaj związku one-to-one powiązane ze sobą kolumny stanowią jeden rekord One-to-many odwzorowuje powiązanie pojedynczego obiektu z wieloma obiektami np. departament - pracownicy Many-to-many odwzorowuje powiązanie wielu obiektów z wieloma obiektami np. pracownicy - projekty

33 Przykład definicji odwzorowania bezpośredniego 137 Powiąż deskryptor z tabelą Wybierz typ odwzorowania dla atrybutu: direct-to-field Powiąż atrybut z kolumną tabeli

34 Przykład definicji odwzorowania związku zku 1:N (1/2) Wybierz typ odwzorowania dla atrybutu: one-to-many 138 Wskaż deskryptor, do którego prowadzi referencja (strona "many") Wskaż powiązanie klucza obcego pomiędzy rekordami tabel bazy danych

35 Przykład definicji odwzorowania związku zku 1:N (2/2) 139 Zdefiniuj zwrotne powiązanie one-to-one

36 Przykład definicji odwzorowania związku zku M:N (1/2) 140 Wybierz typ odwzorowania dla atrybutu: many-to-many Wskaż deskryptor, do którego prowadzi referencja (druga strona "many") Wskaż tabelę implementującą związek M:N

37 Przykład definicji odwzorowania związku zku M:N (2/2) 141 Wskaż klucz obcy pomiędzy tabelą źródłową a tabelą implementującą związek M:N Wskaż klucz obcy pomiędzy tabelą implementującą związek M:N a tabelą docelową

38 Zarządzanie sesjami TopLink 142

39 Sesja TopLink 143 Sesja jest obiektem Java (interfejs Session), który reprezentuje połączenie aplikacji z relacyjną bazą danych, w pełni obsługując komunikację z serwerem bazy danych

40 Rodzaje sesji 144 DatabaseSession - uproszczona implementacja umożliwiająca pojedynczemu użytkownikowi dostęp do bazy danych Aplikacja ServerSession/ClientSession - umożliwia współbieżny dostęp do bazy danych przez wielu użytkowników, obsługuje buforowanie danych i grupowanie połączeń Aplikacja Aplikacja DatabaseSession ClientSession ClientSession ServerSession RemoteSession - umożliwia dostęp do bazy danych poprzez pośredniczący serwer TopLink

41 Tworzenie sesji DatabaseSession 145 Project Projekt TopLink (XML) XMLProjectReader.read("MyProject1") createdatabasesession() DatabaseSession login()

42 Tworzenie sesji DatabaseSession 146 Utworzenie sesji i połączenie się z bazą danych na podstawie parametrów zapisanych w pliku projektu: Project project = XMLProjectReader.read("C:/MyApp1/MyProject1.xml"); DatabaseSession session = project.createdatabasesession(); session.login();... session.logout(); Utworzenie sesji i połączenie się z bazą danych na podstawie parametrów podanych podczas działania aplikacji: Project project = XMLProjectReader.read("C:/MyApp1/MyProject1.xml"); DatabaseLogin login = project.getlogin(); login.setconnectionstring("jdbc:oracle:thin:@localhost:1521:orcl"); login.setusername("scott"); login.setpassword("tiger"); DatabaseSession session = project.createdatabasesession(); session.login();... session.logout();

43 Plik sessions.xml 147 <?xml version = '1.0' encoding = 'UTF-8'?> <!DOCTYPE toplink-configuration PUBLIC "-//Oracle Corp.//DTD TopLink Sessions 9.0.4//EN" "sessions_9_0_4.dtd"> <toplink-configuration> <session> <name>default</name> <project-xml>meta-inf/mytoplink1.xml</project-xml> <session-type> <server-session/> </session-type> <login> <driver-class>oracle.jdbc.oracledriver</driver-class> <connection-url>jdbc:oracle:thin:@localhost:1521:orcl</connection-url> <user-name>scott</user-name> <encrypted-password>3e20f8982c53f4aba825e30206ec8ade</encrypted-password> </login> </session> </toplink-configuration> Opcjonalny plik sessions.xml może być użyty do zapisu domyślnych parametrów połączeniowych

44 Wykorzystanie pliku sessions.xml 148 XMLSessionConfigLoader loader = new XMLSessionConfigLoader("C:/Myapp1/sessions.xml"); SessionManager mgr = SessionManager.getManager(); DatabaseSession session = (DatabaseSession)mgr.getSession(loader, "default", Thread.currentThread().getContextClassLoader()); Nazwa predefiniowanego połączenia z pliku sessions.xml

45 Tworzenie sesji ClientSession/ServerSession ServerSession 149 // inicjalizacja - utworzenie obiektu ServerSession Project project = XMLProjectReader.read("C:/MyApp1/MyProject1.xml"); ServerSession server = project.createserversession(1, 3); server.login(); // cykl pracy dla każdego klienta - utworzenie obiektu ClientSession ClientSession client = server.acquireclientsession();... client.release(); Minimalny/maksymalny rozmiar puli współdzielonych połączeń z bazą danych

46 Wykonywanie zapytań przez TopLink 150 Poprzez Session API: readobject() - odczyt pojedynczego odwzorowanego obiektu readallobjects() - odczyt wielu odwzorowanych obiektów executequery() - wykonanie dynamicznego zapytania Poprzez obiekty zapytań (query objects): ReadObjectQuery - odczyt pojedynczego odwzorowanego obiektu ReadAllQuery - odczyt wielu odwzorowanych obiektów Treść zapytania może być zdefiniowana z użyciem: języka wyrażeń obiektowych języka SQL języka EJB QL Query by Example

47 Wykonywanie zapytań przez TopLink 151 Odczytaj wszystkie odwzorowane obiekty klasy Emp: Vector results = session.readallobjects(emp.class); for (int i=0; i<results.size(); i++) { } Emp e = (Emp) results.elementat(i); System.out.println(e.getEname()); Odczytaj odwzorowane obiekty klasy Emp posługując się podanym zapytaniem SQL: ReadAllQuery query = new ReadAllQuery(); query.setreferenceclass(emp.class); query.setsqlstring("select * from emp where ename like 'K%'"); for (int i=0; i<results.size(); i++) { } Emp e = (Emp) results.elementat(i); System.out.println(e.getEname());

48 Wykonywanie zapytań przez TopLink 152 Odczytaj odwzorowane obiekty klasy Emp posługując się podanym zapytaniem EJB QL: ReadAllQuery query = new ReadAllQuery(); query.setreferenceclass(emp.class); query.setejbqlstring("select object(e) from Emp e where e.sal<3000"); for (int i=0; i<results.size(); i++) { Emp e = (Emp) results.elementat(i); System.out.println(e.getEname());} Odczytaj odwzorowane obiekty klasy Emp posługując się wyrażeniem obiektowym: ExpressionBuilder builder = new ExpressionBuilder(); Expression selectsalesmen = builder.get("job").equal("salesman"); Vector results = session.readallobjects(emp.class, selectsalesmen); for (int i=0; i<results.size(); i++) { Emp e = (Emp) results.elementat(i); System.out.println(e.getEname());}

49 Wykonywanie zapytań przez TopLink 153 Odczytaj odwzorowane obiekty klasy Emp posługując się zapytaniem Query-by-Example: Emp exampleemp = new Emp(); exampleemp.setename("martin"); exampleemp.setjob("salesman"); ReadAllQuery q = new ReadAllQuery(Emp.class); q.setexampleobject(exampleemp); Vector results = (Vector)session.executeQuery(q); for (int i=0; i<results.size(); i++) { } Emp e = (Emp) results.elementat(i); System.out.println(e.getSal());

50 Wykonywanie zapytań przez TopLink 154 Zdefiniuj treść zapytania w pliku projektu TopLink. Wykonaj sparametryzowane zapytanie predefiniowane: Vector results = (Vector)session.executeQuery("findRichEmp", Emp.class, 2500);

51 Zapytania dynamiczne 155

52 Wykonywanie zapytań dynamicznych 156 Treść zapytania może być konstruowana podczas działania aplikacji: w języku wyrażeń obiektowych w języku SQL poprzez wywołania funkcji składowanych w języku EJB QL metodą Query by Example

53 Język wyrażeń obiektowych 157 Obiekty klasy Expression reprezentują wyrażenia selekcji danych Do tworzenia obiektów Expression służy klasa ExpressionBuilder Klasa ExpressionMath implementuje operatory matematyczne do wykorzystania w wyrażeniach selekcji danych

54 Struktura prostych wyrażeń 158 zapis SQL np. upper(ename)='king' funkcja (atrybut) operator wartość get(atrybut).funkcja().operator(wartość) zapis wyrażenia obiektowego np. get("ename").touppercase().equal("king") w przypadku funkcji ExpressionMath: funkcja(get(atrybut)).operator(wartość)

55 Proste zapytania w języku j wyrażeń obiektowych 159 Pobierz dane pracowników spełniających warunek JOB='SALESMAN': ExpressionBuilder builder = new ExpressionBuilder(); Expression selectsalesmen = builder.get("job").equal("salesman"); Vector results = session.readallobjects(emp.class, selectsalesmen); for (int i=0; i<results.size(); i++) { Emp e = (Emp) results.elementat(i); System.out.println(e.getEname()); }

56 Proste zapytania w języku j wyrażeń obiektowych 160 Pobierz dane pracowników zatrudnionych w departamencie spełniającym warunek DEPTNO=20 Expression selectdept20 = builder.get("dept").get("deptno").equal(20); Metody pokrewne: - notequal(object) - greaterthan(object) - greaterthanequal(object) - lessthan(object) - lessthanequal(object) - isnull() - notnull() - between(value, value) - notbetween(value, value) - like(string) - notlike(string) - likeignorecase(string) - equalsignorecase(string) - containsallkeywords(string) - containsanykeywords(string) - in(values[]) - notin(values[]) - containssubstring(string)

57 Proste zapytania w języku j wyrażeń obiektowych 161 Pobierz dane pracowników spełniających warunek UPPER(ENAME) LIKE 'K%' Expression selectknames = builder.get("ename").touppercase().like("k%"); Metody pokrewne: - tolowercase() - touppercasecasedwords() - todate() - rightpad(int, String) - leftpad(int, String) - righttrim() - lefttrim() - trim() - length() - concat(object) - adddate(string, int) - addmonths(int) - monthsbetween(date) - nextday(string) - datedifference(string, Date) - datetostring() - indexof(string) - replace(string, String) - substring(int, int)

58 Proste zapytania w języku j wyrażeń obiektowych 162 Pobierz dane pracowników spełniających warunek JOB='SALESMAN' i zarazem zatrudnionych w departamencie spełniającym warunek DEPTNO=20 Expression selectsalesmen = builder.get("job").equal("salesman"); Expression selectdept20 = builder.get("dept").get("deptno").equal(20); Expression complexselect = selectdept20.and(selectsalesmen); Metody pokrewne: - or(expression) - not()

59 Proste zapytania w języku j wyrażeń obiektowych - ExpressionMath 163 Pobierz dane pracowników, których pensja powiększona o 40% przekracza $6000 Expression selectsalesmen = ExpressionMath.multiply(builder.get("sal"), 1.4).greaterThan(6000); Metody pokrewne: - add(expression, Object) - ceil(expression) - sin(expression) - cos(expression) - divide(expression, Object) - floor(expression) - log(expression) - mod(expression, int) - multiply(expression, Object) - power(expression,object) - round(expression, int) - subtract(expression, Object) - tan(expression) - trunc(expression, int)

60 Obsługa tożsamo samości obiektów 164

61 Tożsamo samość obiektów: motywacje 165 TopLink wymaga implementacji (wskazania) atrybutów reprezentujących wartości klucza podstawowego odwzorowywanej tabeli Obiekt o danej wartości klucza podstawowego występuje w pamięci operacyjnej wyłącznie raz

62 Generowanie wartości kluczy 166 Podczas wprowadzania danych TopLink może generować wartości kluczy podstawowych: za pomocą tabeli sekwekcji za pomocą rodzimych mechanizmów oferowanych przez system zarządzania bazą danych Tabela sekwencji: dwie kolumny: nazwa sekwencji i aktualna wartość sekwencji tworzona przez programistę wskazana do użycia przez TopLink

63 Bufor obiektów 167 W celu poprawy wydajności, TopLink przechowuje w pamięci operacyjnej ostatnio odczytywane obiekty odwzorowujące dane z bazy danych Mapa tożsamościowa (identity map) - struktura danych składająca się z wartości kluczy podstawowych i skojarzonych z nimi obiektów Session N Identity Map (Emp): Identity Map (Dept):...

64 Parametry bufora obiektów 168 Algorytm obsługi bufora: Weak with Soft Subcache: pierwszych n obiektów powiązanych referencjami soft, pozostałe referencjami weak (zalecany) Weak with Hard Subcache: pierwszych n obiektów powiązanych referencjami harf, pozostałe referencjami weak Weak: wszystkie obiekty powiązane referencjami weak Full: wszystkie obiekty przechowywane na stałe None: brak bufora Rozmiar bufora

65 Przetwarzanie transakcyjne 169

66 Unit of Work 170 Mechanizm Unit of Work umożliwia realizację transakcji na poziomie modelu obiektowego oraz jej odwzorowanie na transakcję w bazie danych Jeżeli podczas Unit of Work wystąpi błąd: zmiany w bazie danych są wycofywane przywracany jest poprzedni stan obiektów w pamięci operacyjnej Podczas realizacji operacji zatwierdzenia Unit of Work: rozpoczynana jest transakcja w bazie danych wykonywane są modyfikacje tylko tych danych, które zostały zmienione przez użytkownika zatwierdzana jest transakcja w bazie danych Unit of Work wymaga, aby wszystkie operacje modyfikacji danych były wykonywane z użyciem "kopii roboczej" właściwego obiektu

67 Implementacja transakcji Unit of Work 171 Pobierz obiekt transakcji UnitOfWork uow = session.acquireunitofwork(); Zarejestruj obiekt, który zamierzasz modyfikować - w odpowiedzi otrzymasz "kopię roboczą" Emp employeecopy = (Emp) uow.registerobject(employee); Przeprowadź modyfikację danych korzystając z kopii roboczej obiektu employeecopy.setename("kowalski"); Zatwierdź transakcję uow.commit();

68 Funkcjonalność Unit of Work 172 register(object) - dokonuje rejestracji podanego obiektu; zwraca kopię roboczą registerallobjects(vector) - dokonuje rejestracji wszystkich obiektów umieszczonych w tablicy; zwraca tablicę kopii roboczych commit() - zatwierdza transakcję, dezaktualizuje kopie robocze commitandresume() - zatwierdza transakcję, kopie robocze mogą być nadal wykorzystywane revertobject(object) - wycofuje transakcję, przywraca obiektom stan sprzed rozpoczęcia transakcji, kopie robocze pozostają ważne revertandresume() - przywraca obiektom stan sprzed rozpoczęcia transakcji lecz nie wycofuje transakcji

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

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

Business Intelligence Beans + Oracle JDeveloper

Business Intelligence Beans + Oracle JDeveloper Business Intelligence Beans + Oracle JDeveloper 360 Plan rozdziału 361 Wprowadzenie do Java OLAP API Architektura BI Beans Instalacja katalogu BI Beans Tworzenie aplikacji BI Beans Zapisywanie obiektów

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

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

Hurtownie danych - przegląd technologii

Hurtownie danych - przegląd technologii Hurtownie danych - przegląd technologii Problematyka zasilania hurtowni danych - Oracle Data Integrator Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl www.cs.put.poznan.pl/rwrembel

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

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko Podstawowe pojęcia dotyczące relacyjnych baz danych mgr inż. Krzysztof Szałajko Czym jest baza danych? Co rozumiemy przez dane? Czym jest system zarządzania bazą danych? 2 / 25 Baza danych Baza danych

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

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

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

Wywoływanie metod zdalnych

Wywoływanie metod zdalnych Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby

Bardziej szczegółowo

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

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

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

Aplikacje RMI Lab4

Aplikacje RMI   Lab4 Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Lab4 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych 1 1. Koncepcja budowy aplikacji RMI (aplikacja rozproszonych

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

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS UNIWERSYTET ZIELONOGÓRSKI INSTYTUT INFORMATYKI I ELEKTROTECHNIKI ZAKŁAD INŻYNIERII KOMPUTEROWEJ Przygotowali: mgr inż. Arkadiusz Bukowiec mgr inż. Remigiusz Wiśniewski LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

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

Paweł Cieśla. Dokumentacja projektu

Paweł Cieśla. Dokumentacja projektu Paweł Cieśla Dokumentacja projektu Projekt Project1 został utworzony i skompilowany na próbnej wersji Delphi XE 4. Po uruchomieniu programu należy kliknąć przycisk Wczytaj plik tekstowy, następnie wskazać

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

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

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 4 Budowa prostych formularzy, stany sesji, tworzenie przycisków Plan Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 2 Formularz i jego typy Tworzenie formularza

Bardziej szczegółowo

Monika Kruk Mariusz Grabowski. Informatyka Stosowana WFiIS, AGH 13 grudzień 2006

Monika Kruk Mariusz Grabowski. Informatyka Stosowana WFiIS, AGH 13 grudzień 2006 OBIEKTOWOŚĆ W BAZIE DANYCH ORACLE Monika Kruk Mariusz Grabowski Informatyka Stosowana WFiIS, AGH 13 grudzień 2006 Plan prezentacji kilka słów o bazie danych ORACLE rzecz o obiektach ORACLE tworzenie typów

Bardziej szczegółowo

Wywoływanie metod zdalnych

Wywoływanie metod zdalnych Wywoływanie metod zdalnych Podejście obiektowe do budowy systemów rozproszonych Wywoływanie metod zdalnych model systemu obiekt aplikacja kliencka interfejs serwer proxy szkielet sieć Istota podejścia

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

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

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

STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA

STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA LABORATORIUM SYSTEMÓW MOBILNYCH STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA DANYCH Z PLIKÓW MIF, SHP I ICH KONWERSJI DO POSTACI RELACYJNEJ I. Temat ćwiczenia Stworzenie biblioteki słuŝącej do wczytywania

Bardziej szczegółowo

Tabela wewnętrzna - definicja

Tabela wewnętrzna - definicja ABAP/4 Tabela wewnętrzna - definicja Temporalna tabela przechowywana w pamięci operacyjnej serwera aplikacji Tworzona, wypełniana i modyfikowana jest przez program podczas jego wykonywania i usuwana, gdy

Bardziej szczegółowo

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł

Bardziej szczegółowo

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

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1 Obiektowe programowanie rozproszone Java RMI Krzysztof Banaś Systemy rozproszone 1 Java RMI Mechanizm zdalnego wywołania metod Javy (RMI Remote Method Invocation) posiada kilka charakterystycznych cech,

Bardziej szczegółowo

Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012:

Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012: Systemy baz danych 16.04.2013 1. Plan: 10. Implementacja Bazy Danych - diagram fizyczny 11. Implementacja Bazy Danych - implementacja 2. Zadania: 1. Przygotować model fizyczny dla wybranego projektu bazy

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Remote Method Invocation 17 listopada 2010

Remote Method Invocation 17 listopada 2010 Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja klienckak interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów

Bardziej szczegółowo

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Wprowadzenie do projektowania i wykorzystania baz danych Relacje Wprowadzenie do projektowania i wykorzystania baz danych Relacje Katarzyna Klessa Dygresja nt. operatorów SELECT 2^2 SELECT 2^30 SELECT 50^50 2 Dygresja nt. operatorów SELECT 2^30 --Bitwise exclusive OR

Bardziej szczegółowo

Zaawansowane aplikacje WWW - laboratorium

Zaawansowane aplikacje WWW - laboratorium Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w

Bardziej szczegółowo

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Krzysztof Kadowski. PL-E3579, PL-EA0312, Krzysztof Kadowski PL-E3579, PL-EA0312, kadowski@jkk.edu.pl Bazą danych nazywamy zbiór informacji w postaci tabel oraz narzędzi stosowanych do gromadzenia, przekształcania oraz wyszukiwania danych. Baza

Bardziej szczegółowo

Remote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1

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

Bardziej szczegółowo

Podejście obiektowe do budowy systemów rozproszonych

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Podejście obiektowe do budowy systemów rozproszonych

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

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

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

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

Wykład 8: klasy cz. 4

Wykład 8: klasy cz. 4 Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD

Bardziej szczegółowo

Szkolenie autoryzowane. MS 6232 Wdrażanie bazy danych Microsoft SQL Server 2008 R2

Szkolenie autoryzowane. MS 6232 Wdrażanie bazy danych Microsoft SQL Server 2008 R2 Szkolenie autoryzowane MS 6232 Wdrażanie bazy danych Microsoft SQL Server 2008 R2 Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje Opis szkolenia Szkolenie, gdzie uczestnicy zapoznają

Bardziej szczegółowo

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu Dane wejściowe Oracle Designer Generowanie bazy danych Diagramy związków encji, a w szczególności: definicje encji wraz z atrybutami definicje związków między encjami definicje dziedzin atrybutów encji

Bardziej szczegółowo

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

Microsoft.NET: LINQ to SQL, ASP.NET AJAX Microsoft.NET: LINQ to SQL, ASP.NET AJAX Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2008 oraz serwer bazy danych SQL Server Express 2005 (lub

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

akademia androida Składowanie danych część VI

akademia androida Składowanie danych część VI akademia androida Składowanie danych część VI agenda 1. SharedPreferences. 2. Pamięć wewnętrzna i karta SD. 3. Pliki w katalogach /res/raw i /res/xml. 4. Baza danych SQLite. 5. Zadanie. 1. SharedPreferences.

Bardziej szczegółowo

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba.

Oracle PL/SQL. Paweł Rajba. Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 8 Wprowadzenie Definiowanie typu obiektowego Porównywanie obiektów Tabele z obiektami Operacje DML na obiektach Dziedziczenie -

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

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

Baza danych. Modele danych

Baza danych. Modele danych Rola baz danych Systemy informatyczne stosowane w obsłudze działalności gospodarczej pełnią funkcję polegającą na gromadzeniu i przetwarzaniu danych. Typowe operacje wykonywane na danych w systemach ewidencyjno-sprawozdawczych

Bardziej szczegółowo

Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania

Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania Opis biznesowy świata rzeczywistego Wymagania funkcjonalne i niefunkcjonalne aplikacji Diagram przypadków życia Diagramy klas i sekwencji:

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

Dokumentacja do API Javy.

Dokumentacja do API Javy. Dokumentacja do API Javy http://java.sun.com/j2se/1.5.0/docs/api/ Klasy i obiekty Klasa jest to struktura zawierająca dane (pola), oraz funkcje operujące na tych danych (metody). Klasa jest rodzajem szablonu

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI Bazy danych Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI Wszechnica Poranna Trzy tematy: 1. Bazy danych - jak je ugryźć? 2. Język SQL podstawy zapytań. 3. Mechanizmy wewnętrzne baz danych czyli co

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

Języki i metody programowania Java. Wykład 2 (część 2)

Języki i metody programowania Java. Wykład 2 (część 2) Języki i metody programowania Java INF302W Wykład 2 (część 2) Autor Dr inż. Zofia Kruczkiewicz 1 Struktura wykładu 1. Identyfikacja danych reprezentowanych przez klasy podczas opracowania koncepcji prostego

Bardziej szczegółowo

MongoDB. wprowadzenie. dr inż. Paweł Boiński, Politechnika Poznańska

MongoDB. wprowadzenie. dr inż. Paweł Boiński, Politechnika Poznańska MongoDB wprowadzenie dr inż. Paweł Boiński, Politechnika Poznańska Plan Historia Podstawowe pojęcia: Dokument Kolekcja Generowanie identyfikatora Model danych Dokumenty zagnieżdżone Dokumenty z referencjami

Bardziej szczegółowo

Database Connectivity

Database Connectivity Oprogramowanie Systemów Pomiarowych 15.01.2009 Database Connectivity Dr inŝ. Sebastian Budzan Zakład Pomiarów i Systemów Sterowania Tematyka Podstawy baz danych, Komunikacja, pojęcia: API, ODBC, DSN, Połączenie

Bardziej szczegółowo

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Zasady transformacji modelu DOZ do projektu tabel bazy danych Zasady transformacji modelu DOZ do projektu tabel bazy danych A. Obiekty proste B. Obiekty z podtypami C. Związki rozłączne GHJ 1 A. Projektowanie - obiekty proste TRASA # * numer POZYCJA o planowana godzina

Bardziej szczegółowo

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152 Wstęp...xv 1 Rozpoczynamy...1 Co to jest ASP.NET?...3 W jaki sposób ASP.NET pasuje do.net Framework...4 Co to jest.net Framework?...4 Czym są Active Server Pages (ASP)?...5 Ustawienia dla ASP.NET...7 Systemy

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

1 Atrybuty i metody klasowe

1 Atrybuty i metody klasowe 1 Atrybuty i metody klasowe Składowe klasowe (statyczne) Każdy obiekt klasy posiada własny zestaw atrybutów. Metody używają atrybutów odpowiedniego obiektu. Czasem potrzeba atrybutów wspólnych dla wszystkich

Bardziej szczegółowo

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

Remote Method Invocation 17 listopada rozproszonych. Dariusz Wawrzyniak (IIPP) 1 P d jś i bi kt d b d t ó Podejście obiektowe do budowy systemów rozproszonych Dariusz Wawrzyniak (IIPP) 1 interfejs (w języku Java),wywiedziony idi z Remote obie kt aplikacja klie ncka interfe js serw

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

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania

Bardziej szczegółowo

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1 Bazy danych Wykład IV SQL - wprowadzenie Copyrights by Arkadiusz Rzucidło 1 Czym jest SQL Język zapytań deklaratywny dostęp do danych Składnia łatwa i naturalna Standardowe narzędzie dostępu do wielu różnych

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Plan. Raport. Tworzenie raportu z kreatora (1/3)

Plan. Raport. Tworzenie raportu z kreatora (1/3) 3 Budowa prostych raportów opartych o bazę danych Plan Co to jest raport? Tworzenie za pomocą kreatora Tworzenie opartego o polecenie SQL Edycja atrybutów Atrybuty regionu Atrybuty Atrybuty kolumn 2 Raport

Bardziej szczegółowo

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Celem ćwiczeń jest poznanie zasad tworzenia baz danych i zastosowania komend SQL. Ćwiczenie I. Logowanie

Bardziej szczegółowo

Serwery Statefull i Stateless

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

Bardziej szczegółowo

Pojęcie bazy danych. Funkcje i możliwości.

Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych Baza danych to: zbiór informacji zapisanych według ściśle określonych reguł, w strukturach odpowiadających założonemu modelowi danych, zbiór

Bardziej szczegółowo

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Usługi analityczne budowa kostki analitycznej Część pierwsza. Usługi analityczne budowa kostki analitycznej Część pierwsza. Wprowadzenie W wielu dziedzinach działalności człowieka analiza zebranych danych jest jednym z najważniejszych mechanizmów podejmowania decyzji.

Bardziej szczegółowo

Wykorzystywanie parsera DOM w programach Java i PL/SQL

Wykorzystywanie parsera DOM w programach Java i PL/SQL Wykorzystywanie parsera DOM w programach Java i PL/SQL Maciej Zakrzewicz mzakrz@cs.put.poznan.pl http://www.cs.put.poznan.pl/~mzakrz/ Parser DOM Aplikacja DOM API Parser DOM Dokument XML Drzewo DOM Parser

Bardziej szczegółowo

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych Paweł Paduch paduch@tu.kielce.pl 06-04-2013 Rozdział 1 Wstęp Na dzisiejszych zajęciach zajmiemy się projektem bazy danych.

Bardziej szczegółowo

Wprowadzenie do technologii Business Intelligence i hurtowni danych

Wprowadzenie do technologii Business Intelligence i hurtowni danych Wprowadzenie do technologii Business Intelligence i hurtowni danych 1 Plan rozdziału 2 Wprowadzenie do Business Intelligence Hurtownie danych Produkty Oracle dla Business Intelligence Business Intelligence

Bardziej szczegółowo

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38 Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem zajęcia 1 dr Jakub Boratyński pok. A38 Program zajęć Bazy danych jako podstawowy element systemów informatycznych wykorzystywanych

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe zastosowanie języka Java SE Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z

Bardziej szczegółowo

Bazy danych 2. Wykład 6

Bazy danych 2. Wykład 6 Wykład 6 ADO model bezpołączeniowy Klasa DataSet kolekcja DataTable Obiekty DataColumn Obiekty DataRow Aktualizacja bazy za pomocą obiektu DataAdapter Definiowanie powiązań między tabelami w obiekcie DataSet

Bardziej szczegółowo

Tuning SQL Server dla serwerów WWW

Tuning SQL Server dla serwerów WWW Tuning SQL Server dla serwerów WWW Prowadzący: Cezary Ołtuszyk Zapraszamy do współpracy! Plan szkolenia I. Wprowadzenie do tematu II. Nawiązywanie połączenia z SQL Server III. Parametryzacja i przygotowanie

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

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

Programowanie obiektowe

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

Bardziej szczegółowo

Języki i metody programowania Java INF302W Wykład 2 (część 1)

Języki i metody programowania Java INF302W Wykład 2 (część 1) Języki i metody programowania Java INF302W Wykład 2 (część 1) Autor Dr inż. Zofia Kruczkiewicz Autor: Zofia Kruczkiewicz, Języki i metody programowania Java, wykład 2, część 1 1 Struktura wykładu 1. Identyfikacja

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

System plików warstwa logiczna

System plików warstwa logiczna Dariusz Wawrzyniak Pojęcie u Plik jest abstrakcyjnym obrazem informacji gromadzonej i udostępnianej przez system komputerowy. Plik jest podstawową jednostką logiczną magazynowania informacji w systemie

Bardziej szczegółowo

Część I Istota analizy biznesowej a Analysis Services

Część I Istota analizy biznesowej a Analysis Services Spis treści Część I Istota analizy biznesowej a Analysis Services 1 Analiza biznesowa: podstawy analizy danych... 3 Wprowadzenie do analizy biznesowej... 3 Wielowymiarowa analiza danych... 5 Atrybuty w

Bardziej szczegółowo

Przypisywanie bibliotek w architekturze SAS

Przypisywanie bibliotek w architekturze SAS SAS Institute TECHNICAL SUPPORT Przypisywanie bibliotek w architekturze SAS Platforma SAS pozwala na zdefiniowanie wspólnych zasobów w metadanych oraz ustalanie praw dostępu dla użytkowników i grup. Ze

Bardziej szczegółowo

Wykład 7: Pakiety i Interfejsy

Wykład 7: Pakiety i Interfejsy Wykład 7: Pakiety i Interfejsy Plik Źródłowy w Javie Składa się z: instrukcji pakietu (pojedyncza, opcjonalna) instrukcji importujących (wielokrotne, opcjonalne) deklaracji klasy publicznej (pojedyncza,

Bardziej szczegółowo