Prof. dr hab. inż. Stanisław Kozielski Gliwice, r. Instytut Informatyki Politechnika Śląska. Recenzja

Podobne dokumenty
Specjalizacja magisterska Bazy danych

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

Promotorem rozprawy jest prof. dr hab. inż. Barbara Białecka, prof. GIG, a promotorem pomocniczym dr inż. Jan Bondaruk GIG.

Programowanie obiektowe

Recenzja mgr Anny ŚLIWIŃSKIEJ Ilościowa ocena obciążeń środowiskowych w procesie skojarzonego wytwarzania metanolu i energii elektrycznej

Alicja Marszałek Różne rodzaje baz danych

Technologia informacyjna

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Porównanie systemów zarządzania relacyjnymi bazami danych

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki Promotor dr inż. Paweł Figat

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

PRZEWODNIK PO PRZEDMIOCIE

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Wykład I. Wprowadzenie do baz danych

Grupa kursów: Wykład Ćwiczenia Laboratorium Projekt Seminarium 15 30

Pojęcie systemu baz danych

Oracle11g: Wprowadzenie do SQL

PHP: bazy danych, SQL, AJAX i JSON

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

Recenzja rozprawy doktorskiej mgr Bartosza Rymkiewicza pt. Społeczna odpowiedzialność biznesu a dokonania przedsiębiorstwa

Bazy danych - wykład wstępny

Projektowanie aplikacji z bazami danych

Podsumowanie wyników ankiety

Baza danych. Modele danych

Mapowanie obiektowo-relacyjne z wykorzystaniem Hibernate

BAZY DANYCH. Co to jest baza danych. Przykłady baz danych. Z czego składa się baza danych. Rodzaje baz danych

Podrozdziały te powinny zawierać informacje istotne z punktu widzenia przyjętego celu pracy

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

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

dr hab. inż. Piotr Krawiec prof. PP Poznań, r. RECENZJA

dr hab. inż. Krzysztof Zatwarnicki, prof. PO Opole, r. Wydział Elektrotechniki, Automatyki i Informatyki Politechnika Opolska

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

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

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia)

Spis treści. Przedmowa

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów

PRACA DYPLOMOWA INŻYNIERSKA. Mobilny system wspomagający pracę. terminala kontenerowego

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

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

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

Projekt przejściowy 2015/2016 BARTOSZ JABŁOŃSKI, TOMASZ JANICZEK

KARTA MODUŁU KSZTAŁCENIA

Web frameworks do budowy aplikacji zgodnych z J2EE

Sylabus do programu kształcenia obowiązującego od roku akademickiego 2014/15

Ocena rozprawy na stopień doktora nauk medycznych lekarz Małgorzaty Marii Skuzy

RELACYJNE BAZY DANYCH

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Informatyka I BAZY DANYCH. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2017

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Opisy efektów kształcenia dla modułu

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04

1. Podstawa prawna oraz kryteria przyjęte do oceny rozprawy doktorskiej

*Grafomania z. Neo4j. Praktyczne wprowadzenie do grafowej bazy danych.

Dodatkowo planowane jest przeprowadzenie oceny algorytmów w praktycznym wykorzystaniu przez kilku niezależnych użytkowników ukończonej aplikacji.

Programowanie MorphX Ax

Model semistrukturalny

JDBC w LoXiMie. Interfejs Java Database Connectivity dla systemu LoXiM. Adam Michalik 2008

Zdalna edycja i przeglądanie dokumentacji medycznej.

Organizacja zajęć BAZY DANYCH II WYKŁAD 1. Plan wykładu. SZBD Oracle

Tworzenie aplikacji bazodanowych

Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK

Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca:

Rok szkolny 2015/16 Sylwester Gieszczyk. Wymagania edukacyjne w technikum. ADMINISTROWANIE BAZAMI DANYCH kl. 4c

1 TEMAT LEKCJI: 2 CELE LEKCJI: 3 METODY NAUCZANIA 4 ŚRODKI DYDAKTYCZNE. Scenariusz lekcji. 2.1 Wiadomości: 2.2 Umiejętności: Scenariusz lekcji

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

AKADEMIA GÓRNICZO-HUTNICZA im. Stanisława Staszica w Krakowie. Wydział Geologii, Geofizyki i Ochrony Środowiska. Bazy danych 2

WYTYCZNE DOTYCZĄCE REALIZACJI PRAC DYPLOMOWYCH W INSTYTUCIE ORGANIZACJI SYSTEMÓW PRODUKCYJNYCH NA KIERUNKU ZARZĄDZANIE I INŻYNIERIA PRODUKCJI

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Szablon i zasady pisana pracy dyplomowej. Aneta Poniszewska-Marańda

Efekt kształcenia. Ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie algorytmów i ich złożoności obliczeniowej.

Szczegółowy opis zamówienia:

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

Recenzja. promotor: dr hab. Marianna Kotowska-Jelonek, prof. PŚk

REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką

Rozkład materiału do realizacji informatyki w szkole ponadgimnazjalnej w zakresie rozszerzonym

METODY INŻYNIERII WIEDZY ASOCJACYJNA REPREZENTACJA POWIĄZANYCH TABEL I WNIOSKOWANIE IGOR CZAJKOWSKI

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski

Projekt przejściowy 2016/2017 BARTOSZ JABŁOŃSKI

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2014/2015

Liczba godzin 1,2 Organizacja zajęć Omówienie programu nauczania 2. Tematyka zajęć

Ramowy plan kursu. Lp. Moduły Wyk. Lab. Przekazywane treści

Kurs MATURA Z INFORMATYKI

Specjalnościowy Obowiązkowy Polski Semestr 5

Multi-wyszukiwarki. Mediacyjne Systemy Zapytań wprowadzenie. Architektury i technologie integracji danych Systemy Mediacyjne

EFEKTY KSZTAŁCENIA DLA KIERUNKU STUDIÓW

Recenzja rozprawy doktorskiej mgr Moniki Lisowskiej

Programowanie w Ruby

KARTA PRZEDMIOTU. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI Ogólne umiejętności posługiwania się komputerem

Projekt: MS i CISCO dla Śląska

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi

Transkrypt:

Prof. dr hab. inż. Stanisław Kozielski Gliwice, 29.04.2015 r. Instytut Informatyki Politechnika Śląska Recenzja rozprawy doktorskiej Aleksandry Boniewicz pt.: Optymalizacja warstwy dostępu do danych w aplikacjach korzystających z odwzorowań obiektoworelacyjnych Promotor rozprawy: prof. dr hab. Krzysztof Stencel Promotor pomocniczy: dr inż. Piotr Wiśniewski 1. Aktualność i znaczenie tematyki rozprawy Rozprawa dotyczy systemów odwzorowań obiektowo-relacyjnych (ORM ang. objectrelational mapping). Systemy ORM tworzą sporą grupę narzędzi i środowisk programistycznych, które wyrosły z potrzeb programistów tworzących aplikacje, czyli programy użytkowe, korzystające z baz danych. Problemem w tym procesie jest odmienność obiektowego modelu danych w obiektowych językach programowania, powszechnie stosowanych obecnie do budowy aplikacji i relacyjnego modelu danych, będącego podstawą większości komercyjnych systemów zarządzania bazami danych. Narzędzia ORM udostępniają projektantowi obiektowej aplikacji mechanizmy umożliwiające trwałe przechowywanie obiektów w relacyjnej bazie danych oraz operowanie tymi obiektami z pełną kontrolą transakcyjności. Narzędzia te automatyzują więc proces transformacji danych obiektowych, używanych w aplikacji, na postać danych przechowywanych w relacyjnej bazie danych (i odwrotnie). W strukturze całego systemu informatycznego narzędzia ORM tworzą zazwyczaj dodatkową warstwę pośredniczącą między aplikacją a bazą danych. Systemy ORM budowane są dla określonych języków programowania, natomiast obejmują one jak najszerszy zestaw systemów zarzadzania bazami danych. To rodzi pewien problem, bowiem język SQL, który stanowi podstawę dostępu do relacyjnych baz danych, nie we wszystkich systemach baz danych został zaimplementowany tak samo, a w niektórych systemach niektóre funkcje SQL-a, zwykle rzadziej używane, nie zostały zaimplementowane w ogóle. Przykładem mogą być tzw. zapytania rekurencyjne, wprowadzone dopiero w standardzie SQL:1999, przy czym niektóre firmy tworzące systemów baz danych opracowały już wcześniej własne rozwiązania (np. IBM w DB2 i Oracle). W rezultacie implementacje zapytań rekurencyjnych w różnych systemach baz danych różnią się między sobą, a w niektórych, np. popularnym systemie MySQL, funkcja ta w ogóle nie została zaimplementowana. To m.in. jest przyczyną, że w systemach ORM nie rozwinięto mechanizmów obsługi zapytań rekurencyjnych. W ocenianej rozprawie podjęto próbę rozszerzenia funkcjonalności warstwy odwzorowań obiektowo-relacyjnych o mechanizmy obsługi zapytań rekurencyjnych, rozważając dwa zasadniczo różne przypadki, kiedy w implementacji języka SQL dla danej bazy są dostępne zapytania rekurencyjne, a także kiedy ich brak. Rozpatrzono też wpływ na wydajność wykonywania zapytań rekurencyjnych danych redundantnych, które mogą być materializowane w procesie obsługi bazy danych. 1

Prace nad rozwojem narzędzi ORM są w dalszym ciągu prowadzone, więc podjęcie tematu, który umożliwia rozszerzenie funkcjonalności tych systemów uważam za aktualne i celowe. Rozważając znaczenie podjętego tematu należałoby postawić też pytanie, na ile zapytania rekurencyjne są problemem istotnym dla aplikacji korzystających z baz danych. Dla części aplikacji nie jest to zadanie typowe i pierwszoplanowe. Jednak dane o strukturze hierarchicznej oraz dane grafowe nie są rzadkością w bazach danych, a uwzględnienie powiązań hierarchicznych, a także powiązań w postaci grafu prowadzi do zapytań rekurencyjnych. Autorka pracy przedstawiła statystykę pokazującą skalę obecności tego typu danych i zapytań w wybranej kategorii systemów informatycznych (systemów obsługi studiów). Reasumując, uważam że rozprawa dotyczy aktualnej i wystarczająco ważnej problematyki badawczej. 2. Zakres pracy Praca składa się z siedmiu rozdziałów, czterech dodatków i bibliografii. W pierwszym rozdziale zdefiniowano elementarne pojęcia dotyczące relacyjnego modelu danych oraz obiektowego modelu programowania, a następnie scharakteryzowano bardzo krótko narzędzia realizujące odwzorowania obiektowo-relacyjne. Sformułowano też cel rozprawy, wymieniono wyniki uznane przez autorkę za najważniejsze i przedstawiono strukturę pracy. Cel pracy niepotrzebnie został zdefiniowany nazbyt ogólnie, dopiero dalsza treść punktu 1.1.1 pracy doprecyzowuje zakres badań. Drugi rozdział pracy zawiera w pierwszej części podstawowe informacje o wybranych w pracy rozwiązaniach ORM: JPA standardzie ORM dla języka Java oraz Hibernate - popularnym systemie ORM wykorzystującym standard JPA. Autorka przyjęła tu dość dyskusyjną formę prezentacji sposobu odwzorowania obiektów na relacje listingi plików 2.1 2.4 i omawianie ich szczegółów można by przenieść do dodatków. W drugiej części tego rozdziału krótko przedstawiono historię implementacji zapytań rekurencyjnych w języku SQL i składnię tych zapytań w standardzie SQL:1999. Omówiono też różnice w implementacji zapytań rekurencyjnych w różnych systemach zarządzania bazami danych. Trzeci rozdział zawiera opis bazy danych wykorzystanej do eksperymentalnej oceny wydajności programów implementujących metody omawiane bądź opracowane w kolejnych rozdziałach rozprawy. Opis ten jest nadzwyczaj skąpy: przedstawiono strukturę tabel, ale brak komentarzy, które mogłyby ułatwić interpretację danych. Przedstawiono również teksty 7 zapytań rekurencyjnych do zdefiniowanej bazy danych. W czwartym rozdziale pracy przedstawiono proponowane rozwiązanie interfejsu programistycznego rozszerzającego system Hibernate o możliwość kierowania zapytań rekurencyjnych do systemów baz danych, które takie zapytania realizują. Dla przykładowych tabel z danymi hierarchicznymi i danymi grafowymi (dającymi możliwość formułowanie rekurencyjnych zapytań) zaprezentowano przykłady różnego formułowania takich zapytań dla dwóch dostępnych w Hibernate sposobów odwzorowania obiektów na tabele: za pomocą plików konfiguracyjnych XML oraz użycia odpowiednich adnotacji w klasie Javy. Przeprowadzono testy wydajności opracowanych rozwiązań poprzez pomiar czasu wykonania zapytań rekurencyjnych dla różnych rozmiarów danych i trzech systemów zarządzania bazami danych. Komentując przedstawione rozwiązania można zwrócić uwagę, że osiągnięto zamierzony cel, jednakże sposób prezentacji treści rozdziału czwartego pozostawia spory niedosyt. Oba projekty interfejsu spadają z nieba i zostały przedstawione w postaci listingów odpowied- 2

nich plików i programów (wraz z komentarzami). Taki sposób prezentacji niezbyt przystaje do pracy doktorskiej. W rozdziale piątym przedstawiono projekt rozbudowy systemu odwzorowań obiektoworelacyjnych Hibernate o możliwość wykonania zapytań rekurencyjnych w tym systemie. Założono więc, że ORM Hibernate współpracuje z systemem zarządzania bazą danych, który nie realizuje rekurencyjnych zapytań języka SQL, natomiast w tabelach relacyjnej bazy danych są przechowywane dane o strukturze hierarchicznej lub dane grafowe. Rozpatrzono trzy metody realizacji zapytań rekurencyjnych: iterację bezpośrednią, rozwinięcie wszerz i rozwinięcie w głąb. Autorka zaimplementowała wszystkie trzy metody dla systemu Hibernate współpracującego z bazą danych MySQL i przeprowadziła testy porównujące te metody dla różnej liczby rekordów tabeli z danymi hierarchicznymi i różnej liczby poziomów zagłębienia rekursji. W szóstym rozdziale rozpatrzono możliwość przyspieszenia wykonywania zapytań rekurencyjnych poprzez wykorzystanie danych redundantnych, gromadzonych (zmaterializowanych) w bazie danych. Rozpatrzono dwa warianty przechowywania danych redundantnych: w dodatkowo utworzonej tabeli lub w dodatkowych kolumnach utworzonych w tabeli podstawowej, zawierającej dane o strukturze hierarchicznej. Dla każdego wariantu przedstawiono dwie metody wykorzystania danych redundantnych. W pierwszym wariancie analizowano metodę ścieżek pełnych, w której są wyznaczane i materializowane wszystkie ścieżki możliwe do utworzenia dla rozważanych danych hierarchicznych oraz metodę ścieżek logarytmicznych, w której nie przechowuje się wszystkich węzłów na drodze od korzenia do każdego węzła, a jedynie te pary węzłów, których odległość w hierarchii jest potęga dwójki. Metoda ścieżek pełnych jest znana z literatury, natomiast autorska metoda ścieżek logarytmicznych pozwala zachować kompromis między wielkością pomocniczej tabeli i kosztem jej budowy, a kosztem zadawania zapytań o połączenie węzłów hierarchii. Dla drugiego wariantu, wymagającego utworzenie dodatkowych kolumn, przedstawiono metodę zbiorów zagnieżdżonych oraz metodę ścieżek zmaterializowanych (obie znane z literatury). W pierwszej z tych metod do tabeli dodawane są dwie kolumny, do których są wpisywane liczby informujące o lewostronnych i prawostronnych powiązaniach każdego wiersza tabeli traktowanego jako węzeł struktury drzewiastej. W metodzie ścieżek zmaterializowanych do tabeli jest dodawana kolumna, w której w każdym wierszu umieszczana jest lista węzłów od danego węzła do korzenia drzewa. Analiza tekstu podrozdziału 6.2, w którym zaprezentowano wymienione wyżej metody, jest bardzo uciążliwa. Opis metod, a zwłaszcza przykładów, jest niezwykle oszczędny. W drugiej części rozdziału szóstego przedstawione zostały dwie grupy testów, którym poddano metody zapewniające realizację zapytań rekurencyjnych. Celem pierwszej było sprawdzenie, czy użycie danych redundantnych faktycznie skraca czas realizacji zapytań rekurencyjnych. Porównano metodę ścieżek pełnych z metodą rozwijania zapytań wszerz. W analizie wyników podkreślono, że ocena przydatności tych metod zależy od porównania częstości wykonywania zapytań i modyfikacji danych zmieniających hierarchiczne powiązania danych, a więc wymagających uaktualnienia tabeli zawierającej wszystkie ścieżki w hierarchii. Celem drugiej grupy testów było porównanie wzajemne wszystkich czterech metod korzystających z danych redundantnych, z uwzględnieniem narzutów czasowych jakie wprowadzają operacje modyfikacji danych (wstawienie, usunięcie, aktualizacja), zmuszające do aktualizacji danych redundantnych. Wskazano obszary, w których przeważają zalety poszczególnych metod. Zwrócono uwagę, że zastosowanie metod wymagającego utworzenia 3

dodatkowych kolumn do tabel podstawowych (zawierających np. dane hierarchiczne) może być nie do zaakceptowania w środowisku produkcyjnym bazy danych zawierającej te tabele. W trzeciej części rozdziału szóstego zaproponowano funkcje kosztu dla obciążenia bazy danych zapytaniami rekurencyjnymi i operacjami modyfikacji danych. Funkcje te opracowano dla wszystkich metod korzystających z danych redundantnych, na podstawie wyników omówionych eksperymentów. Ostatni, siódmy, rozdział pracy zawiera podsumowanie uzyskanych wyników. Zasygnalizowano też planowane w przyszłości zadania badawcze, które mają ułatwić praktyczne wykorzystanie rezultatów pracy. Do pracy dołączono cztery dodatki. W pierwszym zamieszczono wykaz tabel Uniwersyteckiego Systemów Obsługi Studiów zawierających dane hierarchiczne oraz listingi kilkunastu wybranych zapytań rekurencyjnych tego systemu. Drugi dodatek zawiera skrypt z poleceniami SQL-a tworzącymi tabele testowej bazy danych. W trzecim dodatku zamieszczono teksty procedur wypełniania i pielęgnacji danych redundantnych, wymaganych w metodach przedstawionych w rozdziale 6. Ostatni dodatek przedstawia wyniki dodatkowych testów dla czterech metod korzystających z danych redundantnych, uwzględniające selektywność zapytań. Kończąca rozprawę bibliografia zawiera wykaz 39 cytowanych w pracy źródeł. 3. Ocena pracy Autorka wykazała się gruntowną wiedzą z zakresu narzędzi odwzorowań obiektoworelacyjnych, a także problemów realizacji zapytań rekurencyjnych w bazach danych. Do ważniejszych rezultatów badawczych uzyskanych w rozprawie zaliczam: opracowanie interfejsu programistycznego rozszerzającego narzędzia odwzorowań obiektowo-relacyjnych (na przykładzie systemu Hibernate) o możliwość kierowania zapytań rekurencyjnych do systemów baz danych, które takie zapytania realizują; opracowanie i eksperymentalna analiza własności trzech metod wykonania z poziomu narzędzi ORM zapytań rekurencyjnych do systemów baz danych, które nie realizują rekurencyjnych zapytań języka SQL; opracowanie i szczegółowa analiza czterech metod wykorzystania danych redundantnych do przyspieszenia wykonania na poziomie narzędzi ORM zapytań rekurencyjnych do systemów baz danych nie wspierających takich zapytań. W powyższych punktach pierwiastki badawcze najwyraźniej zarysowane są w temacie trzecim, gdzie przedstawiono m.in. autorską metodę ścieżek logarytmicznych. W pozostałych przewagę mają problemy programistyczne, swą złożonością wykraczające jednak poza poziom zadań inżynierskich. Doceniam eksperymentalną część pracy, która pozwoliła sprawdzić poprawność i ocenić jakość proponowanych metod. Realizacja tej części daje podstawę do pozytywnej oceny warsztatu programistycznego i doświadczenia Autorki pracy. Problemy rozwiązane w ocenianej pracy nie należą wprawdzie do tych, które otwierają nowe kierunki badawcze, ale stwarzają one podstawy do użytecznego rozszerzenia funkcjonalności narzędzi ORM. Należy przy tym zauważyć, że narzędzia ORM zajmują ważne miejsce w zbiorze narzędzi i środowisk programistycznych decydujących o łatwości tworzenia i wydajności systemów informatycznych korzystających z baz danych. Reasumując, uważam że cel rozprawy został osiągnięty. 4

Ponadto można też podkreślić, że rezultaty badań przedstawione w pracy były wcześniej publikowane w sześciu pracach ze współudziałem autorki rozprawy, w tym w trzech publikacjach indeksowanych przez Web of Science. Prace te były również prezentowane na kilku konferencjach międzynarodowych. Wyniki te zostały więc w jakimś stopniu zweryfikowane w środowisku naukowym. Wszystkie te publikacje mają jednak kilku autorów i brak mi danych, aby szczegółowo ocenić wkład w te prace autorki rozprawy. Natomiast należy zauważyć, że w czterech publikacjach jej nazwisko znalazło się na pierwszym miejscu na liście autorów. 4. Uwagi do pracy W ramach uwag kieruję do Autorki następujące pytanie: Czy można byłoby rozważyć wbudowanie zapytania rekurencyjnego do perspektywy definiowanej po stronie bazy danych? Jak wtedy zmieniłoby to problem wykonywania zapytań rekurencyjnych z poziomu warstwy ORM? Strona redakcyjna pracy budzi szereg wątpliwości, bądź nawet zastrzeżeń. Dałem im wyraz w punkcie 2 tej recenzji w trakcie omawiania zakresu rozprawy. Lektura teksu pracy nasunęła mi jeszcze kilka uwag: 1) Str. 37: W tytule tablicy 4.2 powinny się chyba pojawić dane grafowe?. 2) Str. 46: Rysunek 4.3, zwłaszcza w wersji czarno-białej, jest praktycznie nieczytelny. 3) Str. 46 i 47: Zamieszczone w tablicach 4.3-4.5 określenie Kod natywny Hibernate wymaga bardziej dokładnego objaśnienia. 4) W pracy brak wykazu używanych skrótów, który zwykle ułatwia analizę tekstu. 5) Tytuły niektórych rozdziałów lub podrozdziałów niewiele mówią, np. 2 Podstawowe informacje, 4.4 Analiza (podobnie 5.4 i 6.4), Przedstawione uwagi nie wpływają istotnie na moją merytoryczną ocenę wyników rozprawy. 5. Wniosek końcowy Podsumowując stwierdzam, że w recenzowanej rozprawie został sformułowany, a następnie poprawnie rozwiązany problem naukowy dotyczący rozszerzenia funkcjonalności narzędzi warstwy odwzorowań obiektowo-relacyjnych o możliwość wykonywania zapytań rekurencyjnych do baz danych. Autorka wykazała się gruntowną wiedzą w zakresie narzędzi odwzorowań obiektoworelacyjnych oraz realizacji zapytań rekurencyjnych w bazach danych, a także umiejętnościami i doświadczeniem praktycznym, udokumentowanymi implementacją opracowanych metod i eksperymentalną weryfikacją opracowanej koncepcji. Stwierdzam, że oceniana praca spełnia wymagania stawiane rozprawom doktorskim przez obowiązujące przepisy. Wnoszę o dopuszczenie Pani mgr Aleksandry Boniewicz do dalszych etapów przewodu doktorskiego. 5