Wstęp do APEX

post_img

Oracle Application Expres ( APEX ) jest to darmowe narzędzie pozwalające na szybkie wytwarzanie aplikacji Web’owych opartych na bazie danych Oracle. Zarządzanie oraz proces tworzenia aplikacji odbywa się za pośrednictwem przeglądarki internetowej.

Ciekawym przykładem takich aplikacji są :

  • http://asktom.oracle.com/pls/apex/f?p=100,
  • http://htmldb.oracle.com/pls/otn/f?p=31517:1,
  • http://www.apexninjas.com.
  • APEX podzielony został na kilka modułów usprawniających pracę nad aplikacjami.

  • Pierwszym oraz najważniejszym modułem APEX jest Application Builder. Pozwala on na tworzenie oraz edycję aplikacji, która składa się ze stron, strony z regionów, a te z kolei z elementów. Regiony mogą zawierać między innymi tekst, raporty, wykresy oraz mapy. Pod postacią elementów (items) kryją się między innymi pola tekstowe, przyciski, listy wyboru, pola wyboru daty. Wszystkie regiony oraz elementy możemy dodawać do strony przy użyciu przygotowanego kreatora. Wygląd strony możemy zdefiniować poprzez zmianę całego tematu lub edycję stylu pojedynczych składowych strony.
  • SQL Workshop jest narzędziem, które pozwala na przeglądanie oraz zarządzanie obiektami bazy danych. Tworzenie oraz edycja obiektów bazy może odbywać się z wykorzystaniem kreatorów lub SQL Command
  • Team Development to moduł wspomagający zarządzanie cyklem wytwórczym aplikacji. Pozwala on na umieszczanie i przeglądanie informacji na temat stanu aplikacji, wykrytych błędach, krokach milowych, komentarzach do aplikacji, podpowiedziach użytkowników. Prace można podzielić pomiędzy poszczególnych użytkowników.
  • Administration umożliwia zarządzanie Workspacem, aplikacją, wytwórcami oraz użytkownikami końcowymi systemu. W module tym przechowywane są również statystyki aktywności użytkowników, przeglądanych strony, ilości logowań itp. Aby móc korzystać z tego modułu należy posiadać uprawnienia administratora aplikacji.
  • Najnowsza wersja APEX 4.1 posiada następujące wymagania:

    baza danych:
    Enterprise Edition, Standard Edition lub Standard Edition One w wersji 10.2.0.3 i wyższej;
    Oracle Database Express Edition 10g Release 2 i wyżej.
    przeglądarka – powinna wspierać obsługę JavaScript, standard W3C dla HTML oraz CSS :
    Microsoft Internet Explorer wersja 7.0 i wyższa;
    Mozilla Firefox wersja 3.6 i wyższa;
    Google Chrome wersja 10.0 i wyższa;
    Apple Safari wersja 5.0 i wyższa.

    APEX składa się z ponad 300 tabel i 200 obiektów PL/SQL zawierających ponad 300.000 linii kodu. Gdy tworzymy lub rozszerzamy aplikację, APEX modyfikuje meta dane przechowywane w tabelach bazy danych.

    Schemat architektury systemu

    Rysunek 1 Schemat architektury (http://apex.oracle.com/i/apex/graphics/apex-architecture.png)

    Rolę “Web Listenera” mogą spełniać:

  • The Embedded PL/SQL Gateway (EPG) – listener działa w serwerze XML DB HTTP w bazie danych Oracle i spełnia podstawowe funkcje “mod_plsql”. Użycie tego rozwiązania nie wymaga instalacji Oracle HTTP Server. EPG nie jest zalecane dla aplikacji z bezpośrednim dostępem do Internetu oraz produkcji na większą skalę. Aplikacjami wykorzystującymi EPG są najczęściej aplikacje intranetowe oraz małe aplikacje produkcyjne.

    Rysunek 2 Architektura APEX z wykorzystaniem Embedded PL/SQL Gateway (http://download.oracle.com/docs/cd/E10513_01/doc/install.310/e10496/img/arch_epg.gif)

  • Apache MOD_PLSQL – rozwiązanie wymaga skonfigurowania servera Oracle http Server (Apache) zawierającego wtyczkę „mod_plsql”. Mod_plsql pełni funkcję łącznika pomiędzy Web serwerem a obiektami APEX’a umieszczonymi w bazie danych. Serwer Apache z mod_plsql może być zainstalowany na tym samym komputerze co baza danych lub innym dowolnym serwerze.

    Rysunek 3 Architektura APEX z wykorzystaniem Oracle HTTP Server z mod_plsql (http://download.oracle.com/docs/cd/E10513_01/doc/install.310/e10496/img/arch.gif)

  • Oracle Application Express Listener jest alternatywą dla Oracle HTTP Server oraz mod_plsq stworzoną w technologii J2EE. Oferuje on większą funkcjonalność oraz zwiększone bezpieczeństwo.

    Rysunek 4 Struktura systemy z wykorzystaniem APEX Listenera (http://www.oracle.com/ocom/groups/public/@otn/documents/digitalasset/157393.png)


    Zastosowania APEX Listenera upraszcza proces wdrażania aplikacji, ponieważ nie wymaga zainstalowanej bazy danych. Listener korzysta z wbudowanego sterownika JDBC.
    APEX Listenera możemy pobrać stąd:http://www.oracle.com/technetwork/developer-tools/apex-listener/downloads/index.html
  • Thoth Gateway jest open-source’ową alternatywą dla rozwiązań Oracle. Rozwiązanie te stanowi bramę pomiędzy bazą danych Oracle a serwerem WWW Microsoftu. Thoth udostępnia dane przy użyciu Microsoft Internet Information (IIS) oraz PL/SQL Web Toolkit(OWA).

    Rysunek 5 Struktura systemu z wykorzystaniem Thoth Gateway (http://thoth-gateway.googlecode.com/files/thoth-gateway-architecture.jpg)

  • APEX umożliwia uruchomienie wielu aplikacji z wykorzystaniem pojedynczej bazy danych. Praca w APEX podzielona jest na obszary robocze „Workspace”, a w nich na aplikacje. Każda aplikacja może wykorzystywać jeden lub wiele schematów bazy danych.

    Rysunek 6 Podział zasobów bazy na wiele aplikacji (http://apex.oracle.com/i/apex/graphics/apex-multitenant.png)

    Instalacja APEX

    Poniżej przedstawiam proces instalacja APEX z wykorzystaniem Oracle Application Express Listener:

    1. Pobieramy i instalujemy bazę danych Oracle w wersji 10.2.0.3 i większej lub Oracle Database 10g Express Edition i większej. Instalacja Oracle Database Express Edition 11g Release 2 zawiera w sobie APEX w wersji 4.02.
    2. Pobieramy i rozpakowujemy APEX( plik apex_4.1.zip).
      Źródło: http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html
    3. Z linii poleceń zmieniamy swoją lokalizację na rozpakowany folder APEX i logujemy się do bazy danych jako użytkownik posiadający uprawnienia SYSDBA

      C:\apex_4.1\apex> sqlplus „/as sysdba”

    4. Uruchamiamy skrypt instalacyjny APEX’a

      @apexins tablespace_apex tablespace_files tablespace_temp images

      Opis parametrów :

      • tablespace_apex – nazwa przestrzeni tabel, w której składowane będą obiekty użytkowników aplikacji;
      • tablespace_file – nazwa przestrzeni tabel, w której składowane będą pliki użytkowników;
      • tablespace_temp – nazwa tymczasowej przestrzeni tabel;
      • images – katalog wirtualny dla plików graficznych aplikacji.

      Przykład wywołania skryptu instalacji:

      @apexins SYSAUX SYSAUX TEMP /i/

    5. Po zakończeniu instalacji, pozostając w folderze instalacyjnym apex, logujemy się do bazy z uprawnieniami SYSDBA i uruchamiamy skrypt zmiany hasła administratora.

      @apxchpwd

    6. Restartujemy bazę danych.
    7. Odblokowujemy i zmieniamy hasło dla konta APEX_PUBLIC_USER, logując się do bazy z uprawnieniami SYSDBA i wykonując polecenia:

      ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK;
      ALTER USER APEX_PUBLIC_USER IDENTIFIED BY nowe_haslo;

    8. Pobieramy i rozpakowujemy APEX Listener
      Źródło: http://www.oracle.com/technetwork/developer-tools/apex-listener/downloads/index.html
    9. Uruchamiamy APEX Listenera w trybie „Standalone Mode”

      java –jar listener\apex.war

      listener jest folderem, do którego rozpakowaliśmy APEX Listenera
      Podczas uruchamiania Listenera zostaniemy poproszeni o podanie:

      • Ścieżki dostępu do plików graficznych APEX
      • Loginu oraz hasła dla administratora oraz managera APEX Listenera

      APEX Listenera możemy uruchomić z wykorzystaniem serwerów aplikacji :

      • Oracle WebLoci Server;
      • Oracle GlassFish Server wersja 3 i wyższa;
      • Oracle Containers for J2EE wersja 10.1.3.4 i wyższa.
    10. Po poprawnym uruchomieniu APEX Listenera automatycznie uruchomi się przeglądarka
      internetowa i otworzy się strona konfiguracyjna listenera.

      http://host:port/apex/listenerConfigure

      Na stronie konfiguracyjnej w zakładce Connection uzupełniamy informację o bazie danych, do której chcemy się podłączyć.

    11. Dostęp do strony logowania APEX’a otrzymujemy poprzez stronę http://host:port/apex/listenerConfigure

    Instalacja APEX z wykorzystaniem pozostałych „Web Listener” została opisana w dokumentacji: http://download.oracle.com/docs/cd/E23903_01/doc/doc.41/e21673/otn_install.htm#CHDEIGGI

    Tworzenie i dostęp do Workspace’ów

    Tworzenie Workspace:

    1. Przechodzimy na stronę administracyjną APEX.
      http://hostname:port/apex/apex_admin
    2. Logujemy się jako administrator, wpisując login: admin oraz to samo hasło, które podaliśmy podczas instalacji.
    3. Wybieramy zakładkę „Manage Workspaces”.
    4. Klikamy w „Create Wokrspace” aby uruchomić kreator tworzenia Workspace’a.
    5. Uzupełniamy dane o Workspace :
      Workspace Name – unikalna nazwa workspace’a;
      Workspace ID – Id musi być większe niż 100000, zostawiamy puste, aby automatycznie uzyskać identyfikator;
      Workspace Description – Opis Wokrspace’a.
      Zatwierdzamy przyciskiem Next.
    6. W następnym oknie wybieramy nasz Workspace i klikamy Next.
    7. Konfigurujemy schemat bazy danych przyporządkowany do naszego Workspace’a.
      Jeżeli chcemy wykorzystać istniejący schemat, ustawiamy „Re-use existing schema” na „Yes” i wybieramy schemat z listy. Jeżeli chcemy stworzyć nowy schemat, ustawiamy „Re-use existing schema” na „No”, wprowadzamy nazwę i hasło schematu, ustawiamy przydział pamięci dla schematu. Zatwierdzamy ustawienia klikając „Next”.
    8. Uzupełniamy dane o administratorze Workspace’a i zatwierdzamy przyciskiem „Next”.
    9. Tworzymy Workspace, klikając „Create Workspace”.

    Logowanie do stworzonego Workspace’a:

    1. Przechodzimy do strony APEX’a

      http://hostname:port/apex;

    2. Na stronie logowania uzupełniamy nazwę naszego Workspace’a, nasz login oraz hasło;
    3. Zatwierdzamy logowanie, klikając „Login”.

    Źródła

  • Thoth Gateway http://code.google.com/p/thoth-gateway/
  • APEX http://apex.oracle.com/pls/otn/f?p=4600:6:0::NO:::
  • Dokumentacja APEX http://download.oracle.com/docs/cd/E23903_01/doc/doc.41/e21673/otn_install.htm#BABEHJHG
  • APEX Listener http://www.oracle.com/technetwork/developer-tools/apex-listener/overview/index.html
  • Ciekawy blog o APEX http://www.apex-blog.com/
  • APEX NINJAS http://www.apexninjas.com/blog/f?p=100:1:976825044293523::::P1_ARTICLE:
  • Dimitri Gielis Blog http://dgielis.blogspot.com/
  • Dodaj komentarz

    Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *