Introduction à Oracle Application Express
Sommaire Qu est-ce que Oracle Application Express (APEX)? Vue d ensemble des fonctionnalités et des différents composants d Oracle APEX Démonstration de création d application avec APEX Utiliser APEX grâce aux services Amazon AWS
1 ère partie Qu est-ce que Oracle Application Express?
Qu est-ce que Oracle Application Express? Outil de développement rapide d application Web centré base de données Unique outil de développement rapide d application (RAD) pour Oracle Database Entièrement basé navigateur : développement, déploiement et utilisation Conception déclarative d applications Web 2.0 à la fois performantes et sécurisées Exploite pleinement les capacités d Oracle Database et les compétences en SQL & PL/SQL Composant standard de la base de données Option sans coût et entièrement supportée par Oracle Database (depuis version 9i) Facile à développer Simple à déployer Aisé à maintenir
Quel usage d APEX?
Architecture d APEX Totalement natif et intégré dans Oracle Database Orienté métadonnées se compose d un référentiel de métadonnées qui stocke les définitions de l application et le moteur d APEX qui génère les processus et les pages. Le moteur d Oracle Application Express ne constitue rien de plus que des données dans des tables et de grandes quantités de code PL/SQL - environ 300 tables et 200 objets PL/SQL contenant plus de 300 000 lignes de code.
Architecture d APEX Créer ou étendre une application n implique pas d écrire du code. En fait, des métadonnées sont créées ou modifiées puis stockées dans les tables de la base de données. Les applications sont rendues en temps réel depuis le référentiel de métadonnées stocké dans ces tables. Le moteur d Application Express est implémenté en PL/SQL et est accessible depuis un simple navigateur Web à travers l Oracle HTTP Server (Apache) et le module mod_plsql.
Architecture d APEX APEX_030200 SCHEMA FLOWS_FILES SCHEMA APEX_PUBLIC_USER SCHEMA
Architecture d APEX Oracle Database 9iR2 / 10g / 11g / XE / SE / EE Oracle HTTP Server (requis avec Oracle Database 9i & 10g - optionnel avec XE & 11g) N a v i g a t e u r W e b ( p o u r développer, déployer, utiliser et administrer l application) Scripts d installation APEX
APEX Entièrement basé navigateur Pas de client lourd à installer pour développer, déployer ou exécuter les applications. Tous les services sont dans le navigateur : développement, requêtage SQL, scripts PL/SQL, utilitaires. Développement à 100% dans le navigateur. Développement interactif et en temps réel.
Langages/technologies utilisés dans APEX Bien que le développement dans APEX soit rapide et centré sur les définitions d objets, les technologies suivantes peuvent être utilisées pour améliorer l application et la rendre plus riche en fonctionnalités : SQL PL/SQL HTML CSS JavaScript AJAX
Historique d Oracle APEX 2006 Application Express 2.2 Consolidation d applications 2006 Application Express 2.1 Oracle XE 2005 HTML DB 2.0 SQL Workshop 2004 HTML DB 1.6 Thèmes 2004 HTML DB 1.5 Première version 2009 Application Express 3.2 Conversion depuis Forms 2008 Application Express 3.1 Etats interactifs, BLOB 2007 Application Express 3.0 Graphiques Flash, impression PDF, migration d applications Access APEX version 4.0 est attendue pour début 2010 avec de nombreuses nouveautés très intéressantes
Utilisations d APEX Conception d applications transactionnelles ou de reporting pour le Web. On peut développer des applications à partir de rien ou à partir de feuilles Excel / bases personnelles (Access). Besoins métiers comme : Application de suivi de problèmes Annuaires Informatique décisionnelle Applications événementielles ou jetables Consolidation de petites applications, bases de données de bureau, feuilles Excel.
Exemples d applications APEX Gestion de placements Application de ressources humaines Boutique en ligne avec panier d achats Gestion de bugs Gestion de la connaissance
Problématique : feuilles de calcul Multiples sources d information et d intégrité Consolidation manuelle de ces différentes sources Rapports générés avec niveaux d intégrité variables Pas de contrôle sur qui peut accéder à l information
Problématique : bases de données personnelles (type Access) Fragmenté Dépendant de la plateforme Non orienté Web Sécurité par mot de passe inadéquate Vulnérable Peut être copié facilement Sauvegardes non consistentes Eparpillement géographique Utilisation inefficace des ressources informatiques
Problématique : répondre aux besoins métiers de l entreprise Géré de manière centralisé dans une base de données d Entreprise Sauvegardé Sécurisé Evolutif Gagner en visibilité de l information Intégrer les silos de données Intégrer les outils de reporting Améliorer la productivité Réagir aux forces du marché Se conformer aux besoins de l entreprise Besoin de faire plus avec moins de personnes et moins de budget
Hébergement multi-applicatif dans APEX
Hébergement multi-applicatif dans APEX
Bénéfices d APEX Productivité Flexibilité Sécurité Portabilité Evolutivité Coût (0 ) Disponibilité Facilité d administration
Bénéfices Coût Productivité Flexibilité Facilité d administration Sécurité Bénéfices d APEX Remarques Outil GRATUIT offert par Oracle. Se concentrer sur ce qui doit être fait plutôt que comment le faire. Entièrement basé navigateur. Permet aux administrateurs, développeurs et utilisateurs de travailler sans contrainte géographique. Basée navigateur et composée d interfaces utilisateur. Permet à quiconque d administrer avec une formation minimale. Intégré dans Oracle Database qui dispose de plus de 15 certificats de sécurité internationaux.
Bénéfices d APEX Bénéfices Evolutivité Disponibilité Portabilité Internationalisation Fiabilité Remarques Tire pleinement profit des capacités d Oracle Database pour supporter des milliers d utilisateurs. Peut utiliser les capacités d Oracle Database pour assurer le moins d interruption possible. Disponible sur les plateformes Windows, Linux et Unix. Permet de créer des applications dans de multiples langues. Offert par une compagnie informatique mondiale de renom Oracle.
Clients APEX
APEX en action http://www.oracle.com/store
APEX en action http://asktom.oracle.com
APEX en action http://www.odtug.com
APEX en action Quelques autres sites développés avec APEX : http://www.moyersoen.be/pls/apex/f?p=2008:1 http://www.udot.utah.gov/main/f?p=100:1 http://www.dgtournament.com http://www.promedmail.org http://www.priceblog.it http://www.northstarbmw.org/ et bien plus encore...
2 ème partie Vue d ensemble des fonctionnalités et différents composants d Oracle APEX
Assistants & attributs APEX est orienté sur les assistants et les attributs. La plupart des fonctionnalités basiques d une application peuvent être développées en utilisant des assistants. Les pages créées avec des assistants peuvent être m o d i f i é e s u l t é r i e u r e m e n t p o u r a j o u t e r d e s fonctionnalités à l application. Les différents composants d une application (page, région, bouton, élément, onglet, liste, barre de navigation, etc.) peuvent être personnalisés en utilisant leurs attributs.
Espace de travail APEX L espace de travail APEX est l endroit où les développeurs construisent leurs applications. Il comporte 3 composants principaux : Application Builder : pour développer les applications SQL Workshop : permet d interagir directement avec la base de données via le navigateur d objet, les commandes SQL, les scripts SQL et le Query Builder (conception graphique de requêtes) Utilitaires : propose des utilitaires : charger/décharger des données aux formats texte, Excel et XML, générer les scripts DDL pour les objets de la base de données, obtenir des rapports sur ces objets, restaurer des objets supprimés, etc.
Fonctionnalités de développement natives Etats Panneaux (fomulaires) Graphiques Validations Processus Calculs Services de traduction Processus conditionnels Authentification Calendriers Branchements Autorisations Modèles Services Web Gestion du statut de session Navigation Services email Journalisation et moniteur d activité
Etats interactifs & états SQL Services de reporting Web 2.0 natifs Améliore considérablement l expérience de l utiisateur final
Les panneaux dans APEX (formulaires) APEX fournit différents types de panneaux à intégrer dans votre application. Les panneaux permettent aux utilisateurs de mettre à jour un enregistrement unique dans une table ou plusieurs à la fois. Panneau sur une table Panneau maître-détail Panneau tabulaire
Les graphiques dans APEX Il y a 18 différents types de graphiques dans APEX, regroupés parmi les : graphiques SVG (Scalable Vector Graphics) graphiques HTML graphiques Flash Vous pouvez créer des graphiques qui permettent aux utilisateurs de naviguer vers d autres graphiques ou états.
Les services Web dans APEX Un service Web est un mécanisme par lequel deux applications s exécutant sur des plateformes distinctes, développées avec des langages différents, et qui sont géographiquement éloignées, peuvent échanger des données par le biais d Internet. APEX permet d intégrer dans les applications des appels à des services Web externes. Dans un scénario typique de service Web, une application métier envoie une requête à un service accessible à une URL donnée grâce au protocole HTTP. Le service reçoit la requête, l interprète et retourne une réponse sous forme de données.
Concevoir des applications intégrées
Composants d une application APEX Pages une application est composée de multiples pages. Les pages sont les composants de base d une application. Régions les pages contiennent des régions. Les régions sont des conteneurs de contenus. Ces contenus peuvent être des états, formulaires, graphiques, calendriers, historiques des accès, etc. Boutons typiquement les boutons initient un processus sur une page. Par exemple les boutons sont utilisés pour créer, modifier ou supprimer un enregistrement dans une table de la base. Eléments un élément est une partie d un formulaire. Cela peut être par exemple un champ texte, un mot de passe, une liste SELECT, une case à cocher, un bouton radio, etc. Les éléments sont utilisés pour recueillir les saisies ou afficher des données à l utilisateur.
Composants d une application APEX Une page dans APEX contient également les sections suivantes qui définissent la logique de l application : Calculs utilisés pour assigner des valeurs aux éléments Validations permettent de créer des contrôles logiques pour vérifier l intégrité des saisies de l utilisateur. Par exemple vérifier qu un champ obligatoire a été renseigné. Processus contrôles logiques utilisés pour exécuter du code DML ou PL/SQL. Typiquement ils sont utilisés pour obtenir ou enregistrer des informations dans les tables. Branchements permettent de définir comment l utilisateur navigue entre les différentes pages de l application.
Composants partagés Les composants partagés sont des composants qui sont créés une seule fois et peuvent être utilisés sur n importe quelle page de l application
Charger & télécharger des fichiers Oracle Application Express propose une fonctionnalité de chargement et de téléchargement de fichiers dans la base de données. Ces fichiers sont stockés en tant que BLOB (Binary Large Object) dans une table. Si vous avez une table avec une colonne de type BLOB, Oracle APEX 3.1 fournit un mécanisme pour aider l utilisateur à charger un fichier sélectionné. Le support des BLOB a été intégré dans APEX version 3.1 Le support des BLOB permet de charger des fichiers directement depuis des formulaires, et de les télécharger ou de les afficher en utilisant des états.
Envoi d email Vous pouvez envoyer des emails depuis une application APEX en utilisant le package PL/SQL APEX_MAIL. Vous pouvez envoyer des emails aux formats texte et HTML. Vous pouvez aussi associer des pièces jointes à vos emails.
JavaScript JavaScript est un langage de script client très utilisé dans le développement Web. Ajouter du JavaScript à une application Web est un excellent moyen pour enrichir et ajouter des fonctionnalités propres aux applications client/serveur sans sacrifier les bénéfices du déploiement pour le Web. Oracle Application Express intègre des interfaces spécialement conçues pour ajouter du code JavaScript.
AJAX Le code JavaScript s exécute sur l ordinateur client. Il ne peut pas envoyer de données dans la base ou lire des fichiers du serveur. Utiliser AJAX (Asynchronous JavaScript And XML) permet de mettre à jour une portion de page APEX sans avoir à recharger toute la page. Le but d AJAX est de rendre les applications plus réactives du point de vue de l utilisateur, en évitant l habitude de soumettre et recharger une page Web entière pour mettre à jour une partie de celle-ci. AJAX peut effectuer un appel au serveur sans soumettre la page.
AJAX Avec AJAX, les applications Web peuvent récupérer des données du serveur de manière asynchrone en arrière-plan sans interférer avec l affichage et le comportement de la page. Le code AJAX est écrit en JavaScript, et permet d effectuer des appels au serveur pour récupérer de nouvelles informations alors que la page est déjà affichée sur l ordinateur client. Cela permet d envoyer et de recevoir des informations dans une variété de formats comme le XML, HTML, JSON et contenu texte. Oracle Application Express contient un cadre de travail (framework) pour supporter AJAX dans les applications.
Reporting & impression dans APEX Avec Oracle Application Express, on peut générer des états HTML pour afficher les résultats de requêtes SQL. Création d états d aspect professionnel. Les états peuvent être imprimés ou téléchargés aux formats HTML, XML, PDF, RTF et XLS. Les états peuvent être liés pour fournir des outils d exploration de données (reporting, data mining). Services de création de rapports PDF.
Reporting & impression dans APEX Le reporting via l impression dans Oracle APEX fonctionne en configurant un serveur d impression et en créant des requêtes et des mises en page d état. Il est possible d utiliser les serveurs d impression suivants dans APEX : Oracle BI Publisher Apache FOP Tout autre processus XSL-FO La requête d un état identifie les données à extraire. La mise en page d un état contient le format dans lequel les données seront affichées. Les états peuvent être aussi envoyés par email depuis l application.
Reporting & impression dans APEX Avec le serveur d impression Oracle BI Publisher : Les mises en page d états peuvent être créées dans Microsoft Word, et ce même par les utlisateurs finaux. Les données de l état peuvent être générées aux formats PDF, RTF et XLS. Contrairement à Oracle APEX, BI Publisher a un coût de licence.
Collections Les collections sont similaires aux tableaux (arrays) dans les autres langages de programmation. Les collections permettent de mémoriser temporairement une ou plusieurs valeurs non scalaires. Vous pouvez utiliser les collections pour stocker des lignes et colonnes en session afin qu elles puissent être accédées, manipulées ou traitées pendant une session spécifique d un utilisateur. Vous pouvez comparer une collection à un conteneur d informations dans lequel vous stockez et nommez temporairement des lignes d informations.
Sécurité dans APEX Authentification - Oracle APEX supporte différents mécanismes pour authentifier les utilisateurs dans l application. Cela inclut : Le mécanisme de sécurité intégré dans Oracle APEX Le mécanisme de sécurité d Oracle Database Le mécanisme de sécurité LDAP Les accès publics ou L authentification personnalisée Autorisation Permet de masquer et protéger n importe quelle partie de l application aux utilisateurs en fonction de leur niveau d accès (privilèges).
Thèmes, modèles et CSS L apparence et le style d une application est définie en utilisant des thèmes, modèles et styles CSS. APEX fournit 20 thèmes prédéfinis quand vous créez une application. Un thème est une collection de différents types de modèles pour afficher des pages, régions, boutons, libellés, etc. Les modèles contiennent du code HTML et du CSS pour définir l apparence et le style d un composant particulier. Si vous voulez créer votre propre apparence graphique pour votre application, vous pouvez créer votre propre thème en utilisant HTML et CSS. Vous pouvez modifier l apparence et le style d une application sans en modifier les fonctionnalités.
Internationalisation En dehors de l anglais, l environnement de développement APEX (Application Builder, SQL Workshop et autres interfaces utilisateur) est disponible dans différentes langues. Langues supportées : allemand, espagnol, français, italien, portuguais brésilien, coréen, chinois (simplifié et traditionnel), japonais.
Internationalisation En dehors de la configuration de la langue de l environnement APEX, vous pouvez aussi développer des applications qui peuvent être affichées dans différentes langues. Une instance d Oracle Database et d Oracle Application Express peuvent supporter multiples sessions de base de données personnalisées gérant chacune une langue différente. Plutôt que d avoir multiples applications dans différentes langues, vous avez juste besoin de modifier l application principale et les changements seront répliqués.
Consolidation & déploiement Pour déplacer une application d une instance Oracle Application Express vers une autre, vous devez déplacer les métadonnées et objets de prise en charge : Définition d application (pages, composants partagés) Objets de prise en charge comme Objets de base de données Fichiers image et CSS Autres types de fichiers (JavaScript, etc.) Créer une application consolidée en utilisant les objets de prise en charge simplifie la migration d applications. Plutôt que de générer de nombreuses étapes pour créer les objets, importer et installer l application et autres fichiers, vous pouvez définir des objets de prise en charge afin que tous les composants de l application puissent être migrés en quelques étapes simples.
3 ème partie Exécuter Oracle APEX sur l infrastructure dans les nuages Amazon AWS
Options de déploiement d Oracle APEX Déployable sur n importe quelle base Oracle en utilisant uniquement un navigateur Web Dans les nuages / Hébergé Sur site Centre de données Sur site Serveur départemental Base de données personnelle
Oracle APEX sur Amazon
Oracle APEX sur Amazon AWS
Oracle APEX sur Amazon AWS Pas de matériel à acheter, installer, gérer et maintenir. Pas d investissement frontal de plusieurs milliers d euros. Pas de frais administratifs et de gestion pour conserver dans un local un serveur physique, le fournir en énergie, assurer sa sécurité physique et prévenir les éventuels incidents/désastres. Sur Amazon AWS le coût global matériel et logiciel est aussi faible que 50 US$ par mois. Possibilité d évoluer de 1 à 4 CPU, de 1 à 10 Go de mémoire RAM et de 10 à 100 Go de stockage en quelques minutes.
Oracle APEX sur Amazon AWS Être opérationnel en moins de 2 heures. Accessible depuis n importe où dans le monde. Paiement à l utilisation. Pas d engagement à long terme. Pas de perte d investissement si vous n utilisez pas le serveur. Choix entre un serveur Linux ou Windows. Repose sur l une des meilleures infrastructures fournie par une entreprise de renommée mondiale Amazon. Plus d informations sur http://aws.amazon.com
4 ème partie A propos de DBCON
A propos de DBCON DBCON est une société spécialisée dans les technologies Oracle Database & Oracle Application Express
Nos services
Formations en ligne / sur site Formations Durée Investissement Développez vos applications avec Oracle APEX (niveau débutants) *Oracle APEX niveau avancé *Administration d Oracle APEX 5 jours (lundi - vendredi) 3 heures/jour cours 1 heure/jour - exercices 5 jours (lundi - vendredi) 3 heures/jour cours 1 heure/jour - exercices 5 jours (lundi - vendredi) 3 heures/jour cours 1 heure/jour - exercices 650 seulement 650 seulement 650 seulement Prix dégressif pour l inscription à plusieurs formations. Formation sur site : 1700 par jour, comprenant toutes les dépenses (transport, hébergement, restauration). *Formations disponibles en français courant 2010 (disponibles immédiatement en anglais).
Contactez-nous contact@dbcon.com http://www.dbcon.com
Questions
Merci!