ORACLE APEX – Architektura
Ogóły znajdziecie w poprzednim wpisie. Teraz czas na szczegóły. Opieram się na oficjalnej specyfikacji ORACLE.
Zacznijmy od architektury tego rozwiązania.
Po stronie użytkownika/administratora/dewelopera potrzebujemy tylko przeglądarki, która do wyświetlenia aplikacji używa HTML. Komunikacja z bazą danych obsługiwana jest poprzez Web Listener, który przesyła wszelkie zapytania do silnika narzędzia i bazy danych.
APEX jest zintegrowanym rozszerzeniem bazy danych ORACLE. Składa się z ponad 300 tabel i 200 obiektów PL/SQL zawierających 300 tys. linii kodu. Ekrany/strony są generowane w czasie rzeczywistym na podstawie danych zgromadzonych w repozytorium APEX. Tworzenie lub modyfikowanie aplikacji polega na tworzeniu lub modyfikacji informacji zawartej w repozytorium.
Warianty Web Listener
Mamy do dyspozycji kilka opcji komunikacji użytkowników z serwerem.
Oracle Application Express Listener
Stworzony w Javie wspiera Oracle WebLogic, GlassFish, Tomcat. Połączenie z baza danych za pomocą jdbc. Szybkie wyświetlanie stron. Instalacja.
Apache MOD_PL SQL
Rozszerzenie serwera www Apache (mod_plsql). Możliwość instalacji na maszynie innej niż baza danych. Obrazki są przechowywane jako pliki systemowe.
Bramka PL/SQL
Wbudowana bramka PL/SQL (EPG) działa w serwerze www (XML DB HTTP) bazy danych. Obrazki są przechowywane w bazie danych. Dobre dla mniejszych instalacji bez dostępu do Internetu.
Wiele rozwiązań z jednej instalacji
APEX umożliwia jednej bazie obsługę dużej liczby aplikacji. Deweloperzy pracują w dedykowanych środowiskach (workspace) tworząc aplikacje oparte na jednym lub wielu schematach bazy danych. Pozwala to jednej instancji bazy danych w działaniu w trybie Platforma jako serwis (PaaS).
Raportowanie
APEX współpracuje z serwerami raportów Oracle BI Publisher, OC4J z Apache FOP. Odpowiednia konfiguracja umożliwia przeglądanie różnych elementów aplikacji (np. regiony raportów interaktywnych) jako PDF.
Wsparcie dla serwisów sieciowych
Silnik usług sieciowych APEX wspiera serwisy utworzone w JDeveloper i ORACLE BPEL. Autentykacja podstawowa lub poprzez SSL. Można ręcznie wpisać szczegóły SOAP i URL wywołania usługi. Pomocnik ułatwia definiowanie usług w architekturze REST.
Integracja z bazą danych
SQL – Wsparcie dla SQL i operacji DML (użycie powiązanych zmiennych)
PL/SQL ? użyte jako źródło regionu (zawartość strony), przy przetwarzaniu strony, w procesach na poziomie całej aplikacji oraz w warunkach wykorzystania komponentów. Użycie powiązanych zmiennych. Odwołania do pakietów, procedur i funkcji bazy danych.
Oracle TEXT ? wsparcie przy użyciu klauzuli contains
XML DB ? zapytania przechowywane jako XML, wykorzystanie danych zapisanych w XML, wykonywanie zapytań xpath (wspierane przez XML DB)
Zapytania przestrzenne (spatial queries) ? wsparcie dla zapytań i danych przestrzennych
Multimedia ? wsparcie dla własności bazy danych w edycji Standard i Enterprise. Obsługa najbardziej popularnych formatów z wbudowanym przetwarzaniem obrazów, ekstrakcją i pracą z zawartością DICOM. Dostęp poprzez PL/SQL API.
Funkcje analityczne ? wsparcie dla SQL-owych funkcji lag, lead itp.
Oracle Real Application Cluster (RAC)- wsparcie dla pełnej dostępności i skalowalności przy użyciu RAC