ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL...

25
<Insert Picture Here> ApExposé Cédric MYLLE 05 Février 2008 Exposé Système et Réseaux : ApEx, Application Express d’Oracle

Transcript of ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL...

Page 1: ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL environ 300 000 lignes de code 9. L’outil ApEx – Ses architectures • Deux architectures

<Insert Picture Here>ApExposé

Cédric MYLLE 05 Février 2008

Exposé Système et Réseaux : ApEx, Application Express d’Oracle

Page 2: ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL environ 300 000 lignes de code 9. L’outil ApEx – Ses architectures • Deux architectures

Sommaire• Introduction• Les besoins• L’outil ApEx• L’outil ApEx• Le développement d’applications• Exemple d’utilisation• Conclusion

2

Page 3: ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL environ 300 000 lignes de code 9. L’outil ApEx – Ses architectures • Deux architectures

Le monde Oracle Le monde Oracle et ApEx

3

Page 4: ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL environ 300 000 lignes de code 9. L’outil ApEx – Ses architectures • Deux architectures

Introduction – Oracle

• Très développé dans le monde de l’entreprise

• Ses SGBD: traiter de l’information en masse

• Propose aux entreprises : • Propose aux entreprises : � Des performances optimales� Un support : Metalink� Une exploitation des données efficace

4

Page 5: ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL environ 300 000 lignes de code 9. L’outil ApEx – Ses architectures • Deux architectures

Introduction – Exploitation des données

• Des solutions pour exploiter les données:� 1992 - Oracle Forms (Oracle 6)

� 1998 - WebDB (8i)

� 1999 - Project Marvel (9i)

� 2004 - HTMLDB (9i R2)� 2004 - HTMLDB (9i R2)

� 2006 - ApEx (ex HTMLDB 2.1)

• La dernière version (11g et XE-eXpress Edition): ApEx – Application Express 3.0.1

5

Page 6: ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL environ 300 000 lignes de code 9. L’outil ApEx – Ses architectures • Deux architectures

Les besoins – ApEx : qu’est-ce que c’est ?

• Environnement de développement pour applications Web

• Lien direct avec les bases de données Oracle via un simple navigateurvia un simple navigateur

• Pas de configuration

• Tout est fait graphiquement� On pourrait se passer du clavier

6

Page 7: ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL environ 300 000 lignes de code 9. L’outil ApEx – Ses architectures • Deux architectures

Les besoins – Objectifs d’ApEx

• Pour les utilisateurs:� Accéder simplement aux données� Retrouver RAPIDEMENT les informations

• Pour les développeurs:• Pour les développeurs:� Créer des présentations modernes� Développer en un minimum de temps

7

Page 8: ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL environ 300 000 lignes de code 9. L’outil ApEx – Ses architectures • Deux architectures

Le fonctionnement Le fonctionnement d’Apex

8

Page 9: ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL environ 300 000 lignes de code 9. L’outil ApEx – Ses architectures • Deux architectures

L’outil ApEx – Son fonctionnement

• Nécessite une base de données Oracle

• Crée 2 schémas dans cette base:� FLOWS_XXXXXX (où XXXXXXX est le numéro de

version d’ApEx)

� FLOWS_FILES� FLOWS_FILES

• Stocke les metadata dans ces schémas :� 215 tables� 200 objets PL/SQL� environ 300 000 lignes de code

9

Page 10: ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL environ 300 000 lignes de code 9. L’outil ApEx – Ses architectures • Deux architectures

L’outil ApEx – Ses architectures

• Deux architectures disponibles:

� Architecture la plus répandue : 3 tiers� Intégrée depuis le début de HTMLDB

� Nouvelle architecture : 2 tiers� Disponible non officiellement depuis la 10.2.0.3.0

� Intégrée officiellement pour ApEx avec les bases Oracle 11g et Oracle XE

10

Page 11: ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL environ 300 000 lignes de code 9. L’outil ApEx – Ses architectures • Deux architectures

L’outil ApEx – Son architecture 3 tiers (1)

• Trois éléments:

11

• Trois éléments:� Un navigateur Internet� Un serveur HTTP Apache muni du plug-in

nommé « mod_plsql »� La base de données Oracle contenant ApEx

Page 12: ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL environ 300 000 lignes de code 9. L’outil ApEx – Ses architectures • Deux architectures

L’outil ApEx – Son architecture 3 tiers (2)

12

Page 13: ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL environ 300 000 lignes de code 9. L’outil ApEx – Ses architectures • Deux architectures

L’outil ApEx – Son architecture 2 tiers (1)

• Deux éléments:• Deux éléments:� Un navigateur Internet� La base de données Oracle contenant:

� ApEx� Un XML DB HTTP listener

13

Page 14: ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL environ 300 000 lignes de code 9. L’outil ApEx – Ses architectures • Deux architectures

L’outil ApEx – Son architecture 2 tiers (2)

14

Page 15: ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL environ 300 000 lignes de code 9. L’outil ApEx – Ses architectures • Deux architectures

L’outil ApEx – Comparaison des architectures

• Pourquoi choisir son architecture 3 tiers ?� Pour des questions de sécurité: il est préconisé de la

couplé à un firewall en plaçant le serveur HTTP dans la DMZ et la base de données dans la partie LAN

� Le mod_plsql possède plus de fonctionnalités que le XDB Listener (le System Monitoring, le cache HTML dynamique, …)dynamique, …)

• Pourquoi choisir son architecture 2 tiers ?� Simplification de l’installation, de la configuration, de

l’administration, …� Le XDB listener peut être utilisé pour d’autres

applications de type «PL/SQL Web applications»

15

Page 16: ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL environ 300 000 lignes de code 9. L’outil ApEx – Ses architectures • Deux architectures

Le développement des Le développement des applications

16

Page 17: ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL environ 300 000 lignes de code 9. L’outil ApEx – Ses architectures • Deux architectures

Le développement – Administration des Schémas

• Un schéma par application !

• Deux solutions pour stocker les données:� Les schémas sur la même BDD qu’ApEx

� Pratique, mais dangereux� Pratique, mais dangereux

� Les schémas dans une BDD distincte

� Accès par dbLink

17

Page 18: ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL environ 300 000 lignes de code 9. L’outil ApEx – Ses architectures • Deux architectures

• Un Workspace « administrateur »:� Pour la configuration� Pour le monitoring� Pour la gestion des Workspaces� Pour l’affectation des schémas aux applications

Le développement – Administration des Workspaces

� Pour l’affectation des schémas aux applications

• Des Workspaces « développeur »:� Application Builder: développement des applications

� SQL Workshop: gestion des schémas

� Utilities : gestion des applications

18

Page 19: ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL environ 300 000 lignes de code 9. L’outil ApEx – Ses architectures • Deux architectures

Le développement – Les applications

• Une application est découpée de la sorte:�1 application = 1 ensemble de pages

� 1 page = 1 ensemble de fonctionnalités� 1 fonctionnalité = des éléments

• Des fonctionnalités communes

• Développées à l’aide de deux vues:� Une pour la création� Une pour la visualisation

19

Page 20: ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL environ 300 000 lignes de code 9. L’outil ApEx – Ses architectures • Deux architectures

Le développement – Les langages

• SQL, PL/SQL, HTML, JavaScript et Ajax

• Dans une page ou un élément, chaque langage possède un emplacement réservé

• Ils communiquent entre eux par des évènements

20

Page 21: ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL environ 300 000 lignes de code 9. L’outil ApEx – Ses architectures • Deux architectures

Quelques exemples d’utilisation

• Supervision des bases Oracle� Oracle Enterprise Manager

• Suivi qualité� Exploitation des données� Exploitation des données� Gestion des stocks

• ApEx lui-même !

21

Page 22: ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL environ 300 000 lignes de code 9. L’outil ApEx – Ses architectures • Deux architectures

Démonstration

• Version en ligne d’ApEx :� Gratuit� Découverte des nouvelles versions

http://apex.oracle.com/pls/otn/f?p=4550:1

• Démonstration sur mon poste

22

Page 23: ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL environ 300 000 lignes de code 9. L’outil ApEx – Ses architectures • Deux architectures

Conclusion• Inconvénients :

� Maintenance du code� Utilisation basique des langages

• Avantages :� Rapidité de développement� Développement simplifié comparé au PHP, � Développement simplifié comparé au PHP,

ASP, JSP, …� Pas de configuration avec les bases Oracle

• Prochaines versions:� ApEx 3.1� ApEx 4.0

23

Page 24: ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL environ 300 000 lignes de code 9. L’outil ApEx – Ses architectures • Deux architectures

Références

• Oracle :

http://www.oracle.com/technology/products/database/application_express/index.html

http://download.oracle.com/docs/cd/B28359_01/http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28424/adfns_web.htm

• RCI Informatique :

http://www.rci-informatique.fr/

24

Page 25: ApExposé - IGMdr/XPOSE2007/cmylle_apex/doc/Ap... · 2008-03-24 · 215 tables 200 objets PL/SQL environ 300 000 lignes de code 9. L’outil ApEx – Ses architectures • Deux architectures

Questions ?Questions ?

25