db4o Kacper Skory Marcin Talarek

Slides:



Advertisements
Podobne prezentacje
Java Data Objects.
Advertisements

Introduction to SystemC
Usługi sieciowe Wykład 9 VPN
1 Dzisiejszy wykład Wzorce funkcji Wzorce klas. 2 Wzorce Często pojawia się konieczność pisania podobnych funkcji lub klas operujących na argumentach.
Klasy i obiekty.

Java Server Faces Tomasz Nowak.
C++ w Objectivity Marcin Michalak s1744. Pomocne pakiety: Data Definition Language (DDL). Standard Template Library (STL). Active Schema.
Marcin Pamuła Mateusz Stefek
Java vs C# Michał Prządka Tomasz Nowak
OOPC++ - operatory1 Operatory class complex { private: double re, im; public: complex (double r, double i = 0) { re = r; im = i; } friend complex operator+
GUI Struktury Spotkanie integracyjne Nazwa wydziału: EAIiE Nazwa katedry: Informatyka Miejsce i data prezentacji: Kraków,
Mirosław Ochodek Sponsorzy: JFace Jak jeszcze szybciej tworzyć interfejsy? ECESIS Eclipse Community Education Project An.
1 Przestrzenie nazw. 2 Globalna przestrzeń nazw jest jedna W programach pisanych przez wiele osób, lub korzystających z bibliotek napisanych przez innych,
Testowanie oprogramowania metodą badania pokrycia kodu
Łukasz Monkiewicz.
Współprogramy Plan: Motywacja Składnia Scenariusz obiektu współprogramu Przykłady Producent – konsument ( instrukcja attach ) Czytelnik -pisarze ( instukcja.
Czytanie, pisanie i rysowanie – cd.. Jeszcze jeden strumyk PrintStream działa jak PrintWriter, ale: Używa domyślnego (systemowego) kodowania Nie wyrzuca.

142 JAVA – sterowanie i wątki public class A20 extends javax.swing.JApplet implements ActionListener { private int licznik = 0; private JTextField t =
Aplikacje sieciowe Obiekty typu Socket. ServerSocket ClientSocket Socket ClientSocket Socket.
„Tworzenie aplikacji sieciowych w języku Java”
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Tworzenie aplikacji sieciowych w języku Java Objects classes,
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Tworzenie aplikacji sieciowych w języku Java Threads Prezentacja.
Projektowanie warstwy serwera DisplayTag. Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu.
Hibernate uzupełnienie
Język C# Copyright, 2004 © Adam Czajka.
MS ASP.NET 2005/2006
Przestrzeń System podstawowe klasy i klasy bazowe.
REKURENCJA.
Podstawy inżynierii oprogramowania Zofia Kruczkiewicz
PIO 3_2, Zofia Kruczkiewicz1 Wykład 3 – część druga Iteracyjno-rozwojowy cykl oprogramowania 3.
PRZELICZNIK DŁUGOŚCI w programie NetBeans IDE autorzy: Michał Mrozek i Marcin Mrugała 2012.
Krzysztof Manuszewski
Asynchroniczność w Windows 8 Jakub Binkowski. O mnie Jakub Binkowski Lead.NET Developer.
Made by : Jakub Maćkowiak
PIO 2_2, Zofia Kruczkiewicz1 Wykład 2 – część druga Iteracyjno-rozwojowy cykl oprogramowania 2.
PIO. Autor -Zofia Kruczkiewicz1 Wykład 1-część druga Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowania (część biznesowa aplikacji) iteracyjno-rozwojowy.
PIO. Autor -Zofia Kruczkiewicz1 Wykład 1-część druga Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowania (część biznesowa aplikacji) iteracyjno-rozwojowy.
Efekt cieplarniany jako skutek nadmiernej emisji CO 2 Wrzesień – Październik 2009 TWORZENIE SZKÓŁ DLA ZRÓWNOWAŻONEGO ROZWOJU.
Podstawy programowania
Szkoła w chmurze.
COMENIUS REGIO Families and Schools Together in European Regions
Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Podyplomowe Studium Programowania i Zastosowań Komputerów Autor: Marcin.
Podstawy licencjonowania Exchange, SharePoint oraz Lync.
Adam Suwała DIY - DI.
Cz.8 Zdarzenia. Refleksja – przypomnienie Event Programowanie zdarzeniowe Do dzieła!
Instalacja serwera WWW na komputerze lokalnym
HTML Podstawy języka hipertekstowego Damian Urbańczyk.
Bazy danych w systemie SimCallCenter Krótkie omówienie wyboru baz danych stosowanych w CallCenter, integracja z zewnętrznymi bazami danych Czas 15 min.
Warsztaty C# Część 2 Grzegorz Piotrowski Grupa.NET PO
Warsztaty C# Część 3 Grzegorz Piotrowski Grupa.NET PO
Budowa programu #include /*instrukcje preprocesora */ #include int main(void) { /*podstawowa funkcja programu */ int a=1; /*deklaracja i inicjalizacja.
Zmiany w Przepisach Gry w Piłkę Nożną od 1 września 2006r. Kolegium Sędziów Warmińsko-Mazurskiego Związku Piłki Nożnej.
Prezentacja Szkoły Podstawowej w Święcięńcu Nasze rady na odpady Sprzątanie Świata 20 września 2008r.
Galvanic Spa System II This document is for use by Nu Skin Enterprises Europe staff and independent distributors. It is not to be circulated to members.
Budowanie świadomości marki
Temat 5: Elementy meta.
Temat 1: Składnia języka HTML
Temat 6: Elementy podstawowe
Temat 4: Znaki diakrytyczne i definiowanie języka dokumentu
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 8.
Warsztaty użytkowników programu PLANS – Karwia06 Język makropoleceń JMP programu PLANS Część I mgr inż. Tomasz Zdun.
Instrukcja switch switch (wyrażenie) { case wart_1 : { instr_1; break; } case wart_2 : { instr_2; break; } … case wart_n : { instr_n; break; } default.
Rozdział 3: Bezpieczeństwo w sieci opartej na systemie Windows 2000.
TROCHĘ HISTORII Marek Zając PO CO UŻYWAĆ OPENCL? Marek Zając.
Piotr Czapiewski Wydział Informatyki ZUT.  Extensible Markup Language  Język znaczników  Human-readable and machine-readable  Niezależny od platformy.
Wydział Elektroniki Kierunek: AiR Zaawansowane metody programowania Wykład 6.
PHP (wstęp) Personal Home Page Tools (PHP Tools)
Kurs języka C++ – wykład 13 ( )
Zapis prezentacji:

db4o Kacper Skory Marcin Talarek Snapshot Replication db4o Kacper Skory Marcin Talarek

Replikacja Powielanie zmian w bazie danych do innych baz. np. z bazy lokalnej na ogólnodostępną

Biblioteki db4o-8.0/lib/db4o-8.0.249.16098-all-java5.jar drs-8.0/lib/dRS-8.0.249.16098-core.jar db4o Replication System Do pobrania ze strony producenta db4o.com

Klasa przykładowa Car public class Car { private String name; package zsbd.db4o.replication.snapshot.example; public class Car { private String name; private Pilot pilot; public Car(Pilot pilot, String name) { this.pilot = pilot; this.name = name; } public String getName() { return name; public void setName(String name) { public Pilot getPilot() { return pilot; } public void setPilot(Pilot pilot) { this.pilot = pilot; @Override public String toString() { return "Car [name=" + name + ", pilot=" + pilot + "]";

Klasa przykładowa Pilot package zsbd.db4o.replication.snapshot.example; public class Pilot { private String name; private int points; public Pilot(String name, int points) { super(); this.name = name; this.points = points; } public String getName() { return name; public void setName(String name) { this.name = name; } public int getPoints() { return points; public void setPoints(int points) { this.points = points; @Override public String toString() { return "Pilot [name=" + name + ", points=" + points + "]";

Konfiguracja EmbeddedConfiguration configuration = Db4oEmbedded.newConfiguration(); Generowanie UUID w celu identyfikacji obiektów między bazami. configuration.file().generateUUIDs(ConfigScope.GLOBALLY); Generowanie znaczników czasowych, aby odnajdywać zmiany. configuration.file().generateCommitTimestamps(true);

Replikacja w jedną stronę Tworzenie sesji replikacji dla baz biorących udział w replikacji Ustalanie kierunku replikacji Pobranie zmian od ostatniej replikacji Replikacja zmienionych obiektów Zatwierdzenie sesji

Replikacja w jedną stronę Db4oEmbeddedReplicationProvider providerA = new Db4oEmbeddedReplicationProvider(sourceDatabase); Db4oEmbeddedReplicationProvider providerB = new Db4oEmbeddedReplicationProvider(destinationDatabase); ReplicationSession replicationSession = Replication.begin(providerA, providerB); replicationSession.setDirection(replicationSession.providerA(), replicationSession.providerB()); ObjectSet changes = replicationSession.providerA() .objectsChangedSinceLastReplication(); for (Object changedObject : changes) { replicationSession.replicate(changedObject); } replicationSession.commit();

Replikacja w obie strony Tworzenie sesji replikacji dla baz biorących udział w replikacji. Pobranie zmian od ostatniej replikacji dla obu partnerów replikacji. Replikacja zmienionych obiektów

Replikacja w obie strony Db4oEmbeddedReplicationProvider providerA = new Db4oEmbeddedReplicationProvider(database1); Db4oEmbeddedReplicationProvider providerB = new Db4oEmbeddedReplicationProvider(database2); ReplicationSession replicationSession = Replication.begin(providerA, providerB); ObjectSet changes1 = replicationSession.providerA().objectsChangedSinceLastReplication(); ObjectSet changes2 = replicationSession.providerB().objectsChangedSinceLastReplication(); for (Object changedObjectOnDesktop : changes1) { replicationSession.replicate(changedObjectOnDesktop); } for (Object changedObjectOnMobile : changes2) { replicationSession.replicate(changedObjectOnMobile); replicationSession.commit();

Replikacja w jedna stronę z ograniczeniem co do klasy Tworzenie sesji replikacji dla baz biorących udział w replikacji Ustalanie kierunku replikacji Pobranie zmian od ostatniej replikacji. Tylko zmiany obiektów klasy podanej jako argument. Replikacja zmienionych obiektów Zatwierdzenie sesji.

Replikacja w jedna stronę z ograniczeniem co do klasy Db4oEmbeddedReplicationProvider providerA = new Db4oEmbeddedReplicationProvider(sourceDatabase); Db4oEmbeddedReplicationProvider providerB = new Db4oEmbeddedReplicationProvider(destinationDatabase); ReplicationSession replicationSession = Replication.begin(providerA, providerB); replicationSession.setDirection(replicationSession.providerA(), replicationSession.providerB()); ObjectSet changes = replicationSession.providerA().objectsChangedSinceLastReplication(clazz); //Car.class for (Object changedObject : changes) { // tutaj mogą znalesc sie dodatkowe warunki (np if // (((Person)changedObject).getName().equals("Kowalski)) ... ) replicationSession.replicate(changedObject); } replicationSession.commit();

Replikacja usunięć Tworzenie sesji replikacji dla baz biorących udział w replikacji Replikacja usunięć

Replikacja usunięć Db4oEmbeddedReplicationProvider providerA = new Db4oEmbeddedReplicationProvider(database1); Db4oEmbeddedReplicationProvider providerB = new Db4oEmbeddedReplicationProvider(database2); ReplicationSession replicationSession = Replication.begin(providerA, providerB); replicationSession.replicateDeletions(clazz); replicationSession.commit();