Overblog Suivre ce blog
Administration Créer mon blog

Articles avec #la technologie apex d oracle tag

APEX : installation gratuite pour POC

20 Décembre 2011 , Rédigé par benkirane Publié dans #La technologie APEX d Oracle

J'ai parlé dans un précédent et lointain billet de la technologie APEX d'Oracle. Aujourd'hui, je vais vous donner la procédure pour installer APEX sur votre PC local afin de voir les différentes fonctionnalités offertes par la technologie (et il y a en a beaucoup !!!!!)

Etape 1 : Installation d'Oracle XE

Avant d'installer APEX, il vous faudra une base de données Oracle. Si vous n'en avez pas, je vous conseille de récupérer la version gratuite sur le site d'Oracle : http://www.oracle.com/technetwork/database/express-edition/downloads/index.html. La dernière version stable à l'heure où j'écris cet article est la 11g.

Il vous faudra pour cela vous enregistrer chez Oracle si vous n'avez pas déjà un compte. L'archive fait plus de 300Mo, il est donc possible que cela prenne un peu de temps à moins que vous ne soyez l'heureux détenteur d'une ligne fibrée :))...

Une fois le téléchargement terminé, il suffit de dézipper le fichier et exécuter le setup. Un mot de passe d'administrateur vous sera demandé, conservez le bien en tête. Par défaut, Oracle XE s'installe sous Windows dans le répertoire C:\oraclexe. Suite au "clicodrome", Oracle est installé sur votre machine et prêt à être utilisé.

Etape 2 : Téléchargement d'APEX

Une fois votre base de données Oracle installée, vous pouvez télécharger APEX et l'installer. Pour le téléchargement, le lien est le suivant: http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html. La dernière version stable à l'heure où j'écris cet article est la 4.1.

L'archive est moins volumineuse que celle d'Oracle, un peu plus de 100Mo, elle sera donc téléchargée plus vite. Une fois téléchargé, dézippez le fichier dans un répertoire à votre convenance. Par exemple, c:\Apex.


Etape 3 : Installation d'APEX (scénario comprenant la configuration de l'Oracle APEX Listener)

Il existe plusieurs façons d'installer APEX. Elles sont toutes décrites très précisément sur le site d'Oracle à cette adresse: http://docs.oracle.com/cd/E23903_01/doc/doc.41/e21673/overview.htm#i46634 (voir paragraphe 1.5 Available Installation Scenarios). Je vous présenterais l'installation d'APEX par configuration de l'Oracle Apex Listener.

Installation de l'environnement de développement APEX

Tout d'abord, comme je l'avais expliqué dans mon billet précédent concernant Apex, la technologie est complètement installée dans une base de données Oracle. La première chose à faire est donc d'exécuter le script SQL d'installation d'APEX. Pour ce faire, démarrer une console de commande Windows (cmd dans la partie rechercher du menu démarrer). Placez vous alors au niveau du répertoire où vous avez dézippé Apex. Dans l'exemple que j'ai pris, se serait c:\Apex\apex.

Connectez vous alors à Oracle à l'aide de la commande sqlplus /nolog.

Dans l'invite de commande SQL, connectez vous alors en tant qu'utilisateur système à l'aide de la commande CONNECT SYS as SYSDBA. Le mot de passe de l'administrateur que vous avez saisi lors de l'installation d'Oracle et que je vous avez demandé de garder en tête vous sera alors demandé. Saisissez le! Si c'est le bon, vous serez alors connecté en tant qu'utilisateur système.

La prochaine étape est d'installer tout l'environnement de développement APEX à l'aide de la commande suivante :

@apexins tablespace_apex tablespace_files tablespace_temp images

Où:

  • tablespace_apex est le nom du tablespace pour l'utilisateur de l'application APEX.

  • tablespace_files est le nom du tablespace pour l'utilisateur de fichier APEX.

  • tablespace_temp est le nom du tablespace temporaire.

  • images est le nom du dossier virtuel utilisé pour les images d'APEX. Pour les futures compatibilité avec les prochaines versions d'APEX, il est recommandé de définir ce dossier par /i/.

Au final, vous devez exécuter une commande qui ressemble à cela :
@apexins SYSAUX SYSAUX TEMP /i/

Activation du compte de l'utilisateur APEX_PUBLIC_USER

Une fois l'environnement de développement installé, vous devez activé le compte de l'utilisateur APEX_PUBLIC_USER à l'aide de la commande suivante en étant connecté à SQLPLUS en mode SYSDBA comme précédemment:

ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK;
Modifier ensuite son mot de passe à l'aide de la commande:
ALTER USER APEX_PUBLIC_USER IDENTIFIED BY new_password;

Droits de connexion à la base de données APEX

Il vous faudra ensuite fournir les droits aux autres machines de se connecter à votre base de données APEX en exécutant la procédure suivante:

DECLARE
ACL_PATH  VARCHAR2(4000);
ACL_ID    RAW(16);
BEGIN
-- Look for the ACL currently assigned to '*' and give APEX_040100
-- the "connect" privilege if APEX_040100 does not have the privilege yet.
SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS
WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL;
-- Before checking the privilege, ensure that the ACL is valid
-- (for example, does not contain stale references to dropped users).
-- If it does, the following exception will be raised:
--
-- ORA-44416: Invalid ACL: Unresolved principal 'APEX_040100'
-- ORA-06512: at "XDB.DBMS_XDBZ", line ...
--
SELECT SYS_OP_R2O(extractValue(P.RES, '/Resource/XMLRef')) INTO ACL_ID
FROM XDB.XDB$ACL A, PATH_VIEW P
WHERE extractValue(P.RES, '/Resource/XMLRef') = REF(A) AND
EQUALS_PATH(P.RES, ACL_PATH) = 1;
DBMS_XDBZ.ValidateACL(ACL_ID);
IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_040100',
'connect') IS NULL THEN
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
'APEX_040100', TRUE, 'connect');
END IF;
EXCEPTION
-- When no ACL has been assigned to '*'.
WHEN NO_DATA_FOUND THEN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('power_users.xml',
'ACL that lets power users to connect to everywhere',
'APEX_040100', TRUE, 'connect');
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');
END;
/
COMMIT;

Activation du serveur HTTP XML DB d'Oracle

Pour finaliser la configuration d'APEX, il vous faudra activer ou, si c'est déjà actif, fournir le port sur lequel vous souhaitez vous connecter à APEX à l'aide de la commande suivante:

EXEC DBMS_XDB.SETHTTPPORT(port);

Etape 4 : installation de l'Oracle APEX listener

Lorsque votre environnement de développement APEX est complètement configuré, dans le scénario que j'ai choisi de vous présenter, il est nécessaire d'installer l'Oracle APEX listener qui est téléchargeable à l'adresse suivante:

http://www.oracle.com/technetwork/developer-tools/apex-listener/downloads/index.html.

Une fois téléchargée, dézippez l'archive dans un répertoire à votre convenance. Par exemple, c:\Apex.
Comme vous l'aurez vu, l'archive est une application Web de type WAR. Vous pouvez démarrer le listener
soit par l'intermédiaire d'un serveur d'applications classique (Tomcat, JBoss, Glassfish) soit en
standalone. C'est cette dernière façon que je vais utilisée. La commande à lancer est:
java -Dapex.port=nnnn –jar <temp directory>\apex.war

Vous pouvez positionner le numéro de port que vous souhaitez. Il doit être différent du numéro de port
de lancement du serveur HTTP XML DB. <temp directory> est le répertoire où vous avez décompressé le
listener.
 
Le chemin vers le répertoire d'installation d'Apex est c:\Apex\apex si vous avez suivi l'exemple que j'ai fourni.
Suite au lancement de cette commande, le chemin vers le répertoire des ressources statiques d'APEX vous sera demandé c'est le dossier images du répertoire d'installation d'Apex. Dans mon exemple donc, c:\Apex\apex\images.
D'autres éléments vous seront demandés comme le nom de l'administrateur du listener ainsi que son mot de passe (et sa confirmation) et le nom du manager du listener et son mot de passe.

Si tout est ok, une fenêtre Web devrait s'ouvrir pour compléter la configuration de l'Oracle Apex Listener. La copie d'écran suivante vous indique les éléments que vous devez saisir dans le formulaire:



Le mot de passe de l'utilisateur APEX_PUBLIC_USER est celui que vous avez défini plus haut.

Lorsque vous avez rempli le formulaire, cliquez sur le bouton Apply pour prendre en compte la configuration. Si tout s'est bien passé, vous devriez accéder automatiquement à l'URL suivante: http://localhost:8787/apex/f?p=4550:1.

Etape 5 : création d'un nouveau workspace

A partir de la page précédente, vous pouvez accéder à la partie administration d'APEX en bas de page. Un login / mot de passe vous sera demandé. Saisissez alors admin et admin se sont les login / mot de passe que vous avez défini pour la connexion Oracle. Modifier ensuite le mot de passe administrateur (demandé automatiquement). Il faudra saisir un mot de passe ayant au moins une majuscule et un caractère spécial comme le $.

Utilisez ensuite ce login/mot de passe pour vous connecter à la console d'administration d'APEX. Vous devriez arriver sur la page suivante (APEX version 4.1):

Allez alors dans Manage Workspaces puis Create Workspace. Choisissez alors un nom pour votre Workspace et cliquer sur Next. Saisissez alors un nom pour votre schema et un mot de apsse associé et cliquez sur Next. Entrez alors les informations sur l'administrateur de ce nouveau Workspace et cliquez sur Next. Si le récapitulatif des informations vous convient, cliquer sur le bouton create Workspace pour terminer sa création.

Retournez alors sur l'URL http://localhost:8787/apex/f?p=4550:1 afin de vous connecter à votre nouveau Workspace qui comprend une belle application exemple de ce que vous pouvez faire avec APEX.

Amusez vous bien !! Et si vous avez des retours sur ce billet, n'hésitez pas, je prends toutes les critiques positives comme négatives...

Lire la suite

La technologie APEX d'Oracle

9 Novembre 2009 , Rédigé par benkirane Publié dans #La technologie APEX d Oracle

APEX… HTML DB …? Cela ne doit pas vous dire grand chose ou, en tout cas, à pas grand monde. J’étais dans la même situation que vous quand Eric, l'ingénieur commercial, m’a proposé ma première mission chez Logica. Aucune idée de ce que cela pouvait être et à quoi cela pouvait ressembler. Difficile dans ce cas d’accepter une mission chez un client sans trop savoir le type de travail qu’on va devoir effectuer. Pour les prochains ingénieurs qui seront dans ma situation, j’ai décidé de lever – un peu - le voile sur cette technologie afin que vous en sachiez plus et que vous puissiez prendre une décision qui va dans le sens de ce que vous souhaitez faire.

Petite définition pour commencer.

APEX, autrefois appelé HTML DB, est en fait une technologie Oracle fournie gratuitement avec la base de données. C’est en fait tout simplement un outil de développement rapide d’applications Web en lien direct avec une base de données Oracle. A l’aide d’un navigateur Web et d’une expérience limitée dans la programmation, il est possible, facilement, de concevoir, créer et déployer des applications Web professionnelles performantes et sécurisées à destination de dizaines, centaines voir de milliers d’utilisateurs. Cette technologie combine les qualités d’une base de données personnelle, la productivité, la facilité d’emploi et la flexibilité avec les qualités d’une base de données d’entreprise, la sécurité, l’intégrité, l’adaptabilité, la disponibilité et tout cela construit pour le Web. En résumé, cette technologie a de quoi charmer toute entreprise disposant d’une base de données Oracle sachant qu’aucune licence supplémentaire n’est nécessaire pour l’utiliser.

Quels types d’applications sont réalisables ?

APEX est un outil très productif (je me répète mais c’est toute sa puissance !!) qui permet de créer des applications Web qui font un rapport sur les données d’une base Oracle. Les utilisateurs peuvent alors naviguer à travers leurs données comme s’ils le faisaient sur un site Web. Les colonnes de ces rapports peuvent être très facilement liées à d’autres rapports, à des formulaires ou même à des graphiques. Tout cela sans écrire une seule ligne de code et de manière totalement déclarative.

APEX dispose d’un performant moteur de rendu qui permet aux requêtes SQL d’être représentées graphiquement. Les données sont alors communiquées aux utilisateurs de manière plus efficace. La technologie est aussi très performante dans l’édition de données et supporte un grand nombre d’éléments pour les formulaires incluant les boutons radio, les cases à cocher, les listes de sélection, des éditeurs de texte et des sélecteurs de dates.

Voici des copies d’écran de ce que peuvent être les différents types de pages Web qu’il est possible de créer dans APEX : APEX : Report Classique

APEX : Report intéractif

APEX : Graphique

PEX Formulaire

Quand APEX peut-il être utilisé ?

APEX a été plutôt conçu pour réaliser des programmes ayant un gros besoin d’affichage de rapports et d’édition de données aux différentes équipes opérationnelles d’une entreprise. La conception d’application basée sur un navigateur Web facilement mis à disposition des développeurs, la structure de programmation déclarative et l’utilisation d’assistants simples font de cette technologie un remplaçant naturel aux bases de données de bureau comme Microsoft Access. Les experts en langage SQL apprécient énormément d’avoir ce genre d’outils à disposition car ils peuvent, rapidement et sans trop d’expérience du Web, créer des applications. Avec APEX, il n’est pas nécessaire d’apprendre des langages de scripts complexes ou de connaître des méthodes de déploiement évoluées. Avec quelques requêtes SQL et quelques composants prédéfinis, il est possible de concevoir des applications très professionnelles, sécurisées et évolutives. Attention cependant, s’il est vrai qu’avec peu de connaissances en PL/SQL, il est possible de développer des applications basiques, pour des développements plus complexes, il est nécessaire d’avoir des connaissances plus abouties. C’est d’ailleurs la plus-value pour un développeur APEX puisque rapidement, il peut fortement faire évoluer sa compétence dans l’écriture de code PL/SQL et au niveau du langage SQL en général.

Architecture

Le moteur APEX restitue des applications en temps réel provenant de données stockées dans des tables de la base de données. Quand vous créez ou faites évoluer une application, APEX crée ou modifie des méta-données stockées dans des tables d'Oracle. Quand l'application est exécutée, le moteur APEX lit alors ces méta-données et affiche l'application. APEX réside complètement dans votre base de données Oracle. Il ne se compose de rien plus que de données dans des tables et de grandes quantités de code PL/SQL. La base d'APEX c'est environ 215 tables et 200 objets PL/SQL contenant plus de 300,000 lignes de code.

Pour fournir un comportement stable dans une application, APEX gère d'une manière transparente l'état de la session dans la base de données. Les développeurs peuvent récupérer et fixer l'état de la session en utilisant des initialisations aussi simples que ce que prévoie la syntaxe standard d'initialisation de variable en SQL.

Voici le schéma de l’architecture d’APEX :

APEX : architecture

Sur ce schéma, on voit bien qu’APEX réside dans la base de données Oracle. Pour créer des applications, les développeurs ont accès, à travers un navigateur Web, à un espace de travail (Workspace en anglais) où ils peuvent créer autant d’applications qu’ils le souhaitent. Chaque espace de travail étant connecté à un unique schéma Oracle où sont stockées les tables spécifiques utilisées par les applications contenues dans cet espace. Les utilisateurs n’ont pas accès à cet environnement de travail mais accèdent directement aux applications développées.

Lire la suite