WARSTWA BIZNESOWA Warstwa biznesowa zawierająca całą logikę biznesową aplikacji. Umożliwia dostęp do źródeł danych, przekazując dane z bazy danych do warstwy aplikacji w dogodnym formacie. Warstwa osłania system informatyczny przed warstwą prezentacji widoczną przez klienta. Do głównych zadań tej warstwy należy wykonywanie logiki biznesowej aplikacji poprzez odwoływanie się do warstwy baz danych systemu, kontrolowanie przebiegu transakcji oraz zarządzanie bezpieczeństwem wykonywanych przetwarzań biznesowych. Sposób komunikacji z warstwą aplikacji i baz danych Komunikacja warstwy biznesowej z warstwą baz danych realizowana będzie za pomocą narzędzia JDBC (ang. Java DataBase Connectivity - łącze do baz danych w języku Java). Jest to interfejs programowania umożliwiający niezależnym od platformy aplikacjom napisanym w języku Java porozumiewać się z bazami danych za pomocą języka SQL. W celu ułatwienia dostępu do bazy danych użyte zostanie narzędzie TopLink firmy Oracle. Umożliwia ono łatwy dostęp do danych przechowywanych w bazie danych oraz dostęp do tych danych za pomocą obiektów Javy, dzięki czemu łatwo przetworzyć dane do postaci używanej przez warstwę aplikacji. TopLink wbudowany jest w górną warstwę JDBC i wprowadza poziom atrakcji ukrywający szczegóły przechowywania danych. Komunikacja z warstwą aplikacji możliwa jest dzięki obiektom i listom obiektów Javy, które zawierają odpowiednio zmodyfikowane dane. Szczegóły działania warstwy Aplikacja Javy wykorzystuje TopLink API w celu komunikacji z warstwą TopLink; warstwa TopLink przekształca wywołania aplikacyjne w komendy SQL przekazywane do systemu zarządzania bazą danych poprzez JDBC. Dostęp do bazy danych ułatwiają takie elementy jak: - deskryptory – opisują powiązanie pomiędzy klasą Java a tabelą w bazie danych - odwzorowanie – opisuje powiązanie pomiędzy atrybutem klasy a kolumna tabeli Deskryptory i odwzorowania całej aplikacji zgromadzone są w jednym projekcie, który zawiera wszystkie metadane niezbędne do realizacji odwzorowań obiektowo-relacyjnych. Transakcje realizowane są na poziomie modelu obiektowego, z wykorzystaniem kopii roboczej w celach bezpieczeństwa. Podczas transakcji wykonywane są zmiany jedynie na danych , które zostały zmienione przez użytkownika. Dopiero zatwierdzenia transakcji w bazie danych kończy przetwarzanie transakcyjne. Przed przekazaniem danych z bazy danych do warstwy aplikacji, sprawdzana jest ich spójność. Dane przygotowywane są w takie sposób, aby warstwa aplikacji mogła w zadanego obiektu wybrać w prosty sposób potrzebne dane. W tym celu wykorzystywane są widoki oraz normalizacja.