Projekt i implementacja aplikacji do zasilania bazy danych testowymi danymi Jacek Lis Promotor: prof. dr hab. inż. Włodzimierz KASPRZAK
Agenda Motywacja - przedstawienie problemu Analiza istniejących rozwiązań Projekt aplikacji (wzorce, rozwiązania) Charakterystyka wybranej technologii Działanie aplikacji Wnioski
1. Motywacja podczas prac developerskich potrzebujemy danych, aby przetestować działanie aplikacji instalacja pełnego środowiska developerskiego – IDE + baza danych na jednej maszynie developerskiej testowanie wydajności bazy danych pod dużym obciążeniem jednorazowe „zasilanie” bazy danych dużą ilością danych testowych
1. Potrzebujemy narzędzia które... pozwoli na szybkie dodawanie rekordów do tabel automatycznie rozpozna schemat bazy danych wraz z relacjami wygeneruje testowe dane różnych typów – string, date, integer, boolean, null itp.. pozwoli na wielokrotne zasilanie tej samej bazy będzie niezależne od platformy bazodanowej – oracle, mysql, sql server itd. będzie niezależne od platformy – Windows, Linux, Mac OS itd.. wygeneruje raport z operacji zasilania– ilość danych, czas, wydajność itp..
2. Istniejąca rozwiązania EMS Data Generator for ORACLE - dedykowany dla Oracle, wykorzystuje specyficzne typy danych, istnieją dystrybucje dla innych RDBMS DB2 Test Database Generator - współpracuje wyłączenie z DB2, generowanie danych na podstawie określonego wcześniej wzorca GenerateData – narzędzie open-source, technologia internetowa, współpraca jedynie z bazą MySQL Datagenerator – również open-source, współpraca z wieloma RDBMS (np.. MySQL, MSSQL, Oracle itd..) dbMonster – współpraca z różnymi systemami baz danych, tryb tekstowy, możliwe własne rozszerzenia i typy danych
3. Projekt aplikacji – wzorce projektowe - Observer
3. Projekt aplikacji – wzorce projektowe – Method Factory
3. Projekt aplikacji – wzorce projektowe – Abstract Factory
3. Projekt aplikacji – dynamiczne generowanie UI UI generowany na podstawie reprezentacji obiektowej schematu bazy danych autorska implementacja wzorca projektowego Abstract Factory
4. Charakterystyka wybranej technologii Java JDK 6 język obiektowy stworzony przez Sun Microsystems Wieloplatformowość - Write Once, Run Anywhere (WORA) Eclipse 3.3 - open source IDE RCP - Rich Client Platform dbMonster 1.0.3 - aplikacja konsolowa zachowanie kluczy (PK, FK) generowanie PK – silnik bazy danych lub db monster współpraca z wszystkimi bazami danych przez JDBC
5. Działanie aplikacji
5. Działanie aplikacji
5. Działanie aplikacji
5. Działanie aplikacji
6. Wnioski rozwiązanie postawionego problemu unikalne, autorskie rozwiązania wykorzystanie dobrych praktyk programistycznych i wzorców projektowych nowoczesne technologie informatyczne intuicyjna obsługa aplikacji dalszy rozwój aplikacji
Dziękuję za uwagę!