Jak powstawała aplikacja

Opublikowano: 2018-07-15 12:28:30


article
Mając do dyspozycji platformę wdrożeniową, zacząłem pisać elementarne aplikacje. Jak to zwykle bywa, w pierwszej kolejności należało napisać aplikację "Hello, World!". Potem przyszła kolej na obsługę formularzy (odbieranie danych od użytkownika i pokazywanie na ekranie).

W następnym kroku skupiłem się na współpracy z bazą danych. Do przechowywania danych aplikacji wybrałem zewnętrzny serwis ElephantSQL, gdzie można stworzyć własną bazę PostgreSQL. Komunikacja aplikacji z bazą odbywa się protokołem JDBC przy wykorzystaniu tzw. connection stringa, zawierającego m. in. nazwę bazy, użytkownika i hasło. Aby tych informacji nie umieszczać na stałe w kodzie, użyłem zmiennych systemowych platformy Heroku. Gdy połączenie zadziałało, moim następnym celem stało się opanowanie techniki pełnej obsługi typu CRUD (Create Read Update Delete), a więc podstawowych działań, jakie podczas normalnej pracy aplikacja wykonuje na bazie. Tak więc niezbędne było opanowanie zapisu do bazy odbieranych od użytkownika danych oraz wyświetlanie danych pobieranych z bazy.

Gdy obsługę bazy miałem opanowaną, stworzyłem szkielet aplikacji oparty na MVC (Model View Controller), w którym kontrola działania, pobieranie i zapis danych oraz prezentacja interfejsu użytkownika są od siebie odseparowane. W naturalny sposób zastosowałem tu architekturę serwletów, w której funkcję kontrolera pełnią właśnie serwlety. Tak mi się ona spodobała, że już przy niej pozostałem. Jest ona na tyle przejrzysta i zrozumiała, że pozwala łatwo zrozumieć przepływ sterowania w aplikacji - od początku do końca, od odebrania requesta, poprzez logikę biznesową, jaką zaprojektowaliśmy, aż po sposób przygotowania odpowiedzi i zwrócenie response'a. Odpowiedź z kolei, czyli warstwa interfejsu użytkownika, oparta została na technologii JSP (Java Server Pages) wraz z JSTL (Java Standard Tag Library).