Framework aplikacji bazodanowych
Rozmiar pliku: 1.98 MB
Praca magisterska obroniona w PJWSTK.
Tytuł: Framework aplikacji bazodanowych
Autor: Rafał Monkiewicz
Promotor: dr inż. Mariusz Trzaska
Streszczenie:
Niniejsza praca koncentruje się na temacie narzędzi dla programistów, które wspierają i przyśpieszają proces implementacji bazodanowych aplikacji biznesowych. Podczas implementacji programiści muszą wykonywać powtarzalne zadania, które z całą pewnością mogą zostać zautomatyzowane i zastąpione przez dedykowane oprogramowanie. Jednak nie powinno to wpłynąć na jakość kodu, łatwość jego utrzymywania oraz testowania. Większość tego typu rozwiązań dostępnych na rynku często zamiast ułatwiać wykonywane prace, dodatkowo je utrudnia wprowadzając do projektów złożoność oraz ukrywając zachowanie kodu. Programiści często są zmuszani do rezygnacji z własnych podejść na rzecz tych narzuconych przez framework. Dodatkowym problemem jest też fakt, że możliwości modyfikacji zachowania takich narzędzi w większości przypadków są bardzo ograniczone. Są one przeznaczone do bardzo konkretnych zadań, ich funkcjonalność jest mało uniwersalna, co w świecie ciągle rozwijających się technologii oraz ciągle zmieniających się wymagań funkcjonalnych jest nie do przyjęcia.
W pracy zostały przedstawione rozwiązania dostępne na rynku, opisano ich wady oraz zalety. Następnie na podstawie doświadczeń autora oraz przeprowadzonych badań stanu sztuki zaproponowany został zbiór wymagań, które powinny zostać spełnione przez odpowiednie narzędzie dla programistów. W dalszej części pracy scharakteryzowano podejście, którego celem było spełnienie tych wymagań. Dodatkowo została zwrócona uwaga na inne możliwe podejścia oraz na uzasadnienie ich odrzucenia. Skoncentrowano się na przedstawieniu podjętych decyzji architektonicznych, zastosowanych technologii, wzorców projektowych, bibliotek oraz na opisie samej implementacji prototypu rozwiązania – platformy o nazwie kodowej Timegen, która może integrować się ze środowiskiem programistycznym Microsoft Visual Studio. Zaprezentowano też sposób użycia uzyskanego rozwiązania oraz możliwości wprowadzania nowych funkcjonalności. Zrealizowany prototyp umożliwia generowanie kodu dla NHibernate (mapowanie obiektowo-relacyjne w celu rozwiązania problemu niezgodności impedancji) oraz NOBC (umożliwia komunikację z bazami danych środowiska ODRA z poziomu platformy .NET Framework).
Pod koniec pracy opisano na ile postawione wymagania zostały spełnione. Zestawiono wady i zalety otrzymanego rozwiązania oraz przedstawione plany rozwoju projektu.