Offre Apex
Transcription
Offre Apex
Oracle application Express (APEX)
Repousser ses limites
Présentation d’Axande
Apex – repousser les limites
Présentation de Oracle Application Express-APEX
Cycle de développement d’une application
Analyse
Modèle de données
Développement de l’application par défaut
Amélioration de l’application
Graphisme, HTML et traduction de l’application
Gestion des environnements de développement, de test
et de production
Intégration à une architecture existante
APEX dans la vraie vie.
Ajax dans Apex
Questions ?
Petite application permettant d’interroger les tables
d’une application pour le support informatique
Application permettant de gérer et interroger les
données d’un entrepôt
Application de type Intranet pour des besoins internes
Application satellite gravitant autour des applications
de type ERP et en particulier intégration à Oracle EBusiness Suite, pour des spécifiques
Application permettant de gérer toute la partie
transactionnelle et grand public d’un site internet
Création: 2004
Entreprise privée – Équipe de 25 personnes
Spécialisée sur les solution Oracle au niveau
base de données, développement, BI et ERP
Application Express est bâti avec du PL/SQL et est accédé à l’aide d’un
fureteur au travers Oracle HTTP Server (Apache) et mod_plsql.
Les applications sont donc générées en temps réel à partir de données
stockées dans un schéma de la base de données.
L’ajout et la modification d’applications ne génèrent pas plus de code, mais
plutôt des ajouts ou des modifications dans le metadata stocké dans des
tables Oracle.
Apex supporte tout le développement :
Gestion des objets base de données et des données: SQL
Workshop
Création d’applications : Application builder
Load des données, monitoring BD : Utilities
Développement rapide
Permet la standardisation du code. Simplifie la maintenance.
Intègre tous les éléments nécessaires.
Application complète rapidement accessible.
Possibilité d’améliorer toutes les composantes par la suite.
Utilities
Load de données d’un fichier excel
SQL Workshop
Requetes
Application Builder
Application démonstration
Gestion de ma collection de films
Bibliothèque des films
Suivi des prêts aux amis
Accès privé pour les amis
Définition des traitements
Lister les traitements
Évaluer selon la grille (Simple, moyen, complexe)
Dossiers fonctionnels
Information sur les écrans, validations, navigation
Traitements
Définition de la sécurité
Triggers , séquences et champs d’audit
CREATE OR REPLACE TRIGGER CATEGORIES_BIU_TRG
before update or insert on CATEGORIES for each row
begin
if inserting then
begin
select CATEGORIES_SEQ.nextval
into :NEW.ID_CATEG from sys.dual;
:new.USAGER_CREATION := nvl(v('G_NOM_USAGER'),0);
:new.DATE_CREATION :=sysdate;
end; end if;
:new.USAGER_MODIFICATION := nvl(v('G_NOM_USAGER'),0);
:new.DATE_MODIFICATION := sysdate;
end;
Fonctionnalités par défaut
Sécurité par défaut
Gestion des sessions
Gestion des BLOB par défaut
Gestion des accès BD par défaut
Widgets de base : Calendrier, pop-up, tri, recherche
Listes interactives
Listes classiques
Démonstration du développement d’une
application complète en quelques minutes.
Développement en équipe
Export de page
Verrouillage de page
Gestion des sources (cvs ou autres)
Sécurité
Accès sécurisé « Authentication » (exemple : LDAP)
Validation des code_usager et mot de passe
Autorisation , accès réservé (ex: administrateur).
Réutilisation d’objets Oracle
Modèle de données existant
Tables, procédures, packages, fonctions, etc.
Ajout de nouvelles composantes
Master – Detail
Région dynamique “Hide and Show”
Affichage des images
HTML
Validations
Composantes partagées
Listes de valeurs
Processus et items d ’Application
Fil d’Ariane (Breadcrumb)
Onglets
Barre de navigation
Traduction
Processus de traduction multilingues
Thèmes et modèles
La partie HTML peut être travaillée en parallèle par une personne
spécialisée
HTML dynamique
HTML et CSS standard
Variables dans les modèles HTML
Démonstration de l’application finale
Master – Detail pour les emprunts
LOV partagée
Régions d’audit
Affichage des images des pochettes de films (utilisation pkg util)
Authentification avec notre table d’usagers
Autorisation pour l’administrateur seulement
Application du CSS développé par le graphiste
Traduction de l’application
Gestion des environnements de dev, test et prod
Import et export
Supporting objects (Packaging)
Objets à mettre en production :
Images, structures, données et applications
Intégration avec SQL Developper
Backups DBA Oracle standard
Test QA standard
Environnement en mode « Runtime only » en prod
Réutilisation des objets Oracle
modèles de données existants
Tables, procédures, packages, fonctions, etc.
Intégration au site web existant
Intégration au Style existant
Réutilisation de fonctionnalités existantes
Javascript et AJAX
Webservices
Fonctionnalités Oracle de base
Gestion des sources
Il est possible d’utiliser CVS, Sourcesafe (ou autres) pour y
stocker les sources d’applications (Exports APEX)
Démonstration hébergée par Axande :
http://vision.axande.fr:8080/apex/f?p=118:1 (login DEMO/
demo)
Démonstration hébergé par Oracle:
http://apex.oracle.com/pls/otn/f?p=35234:1:161590273018990
Exemple hébergé par Axande : appel d’un Web
services fournit par Google Map, depuis Apex :
http://vision.axande.fr:8080/apex/f?p=120:1:201184858324225
:::
D’autres exemples sur
http://www.index-internet.net/info_oracle_apex_exem
Applications spécifiques (exemple,
clients d’Axande)
Applications commerciales :
http://www.oracle.com/technology/products/database/
(sur apex.oracle.com , community
and partners)
-
metalink.oracle.com
Linux.oracle.com
-
Apex.oracle.com (données de 2008)
-
- 1,637,781 pages views
- 2,093 distinct applications used in the past
week
- 2,947 distinct users authenticated in the past
week
- 224 new workspaces approved
- 13,745 total workspaces
AJAX (asynchronous JavaScript and XML)
JavaScript utilisant le XML pour communiquer avec un serveur
lors des requêtes HTTP.
Exécution de la requête HTTP
Résultat
JavaScript : fonction helloworld_ajax
<script language="javascript" type="text/javascript">
<!-function helloworld_ajax () {
var get = new htmldb_Get(null,
$x(pFlowId).value,
'APPLICATION_PROCESS=HELLOWORLD',
$x(pFlowStepId).value);
gReturn = get.get();
if (gReturn) {
alert(gReturn);
}
}
//-->
</script>
Attributs de Page - Entête HTML
PL/SQL : processus d’application
HELLOWORLD
BEGIN
htp.prn(‘Hello world : ‘ || sysdate);
END;
Exécution de la requête HTTP : Bouton de page
Apex cadre bien dans une méthodologie standard
Apex est un outil de développement RAD
Apex s’intègre bien dans un environnement Oracle
existant
Apex utilise une architecture simple (Apache + PLSQL)
Apex est un bon remplacement pour Forms
Programme de conversion vers apex disponibles
Apex est
Apex est
Apex est
Apex est
requise)
entièrement web (HTML et DB )
sécuritaire
de plus en plus utilisé (OTN)
gratuit (Aucune License supplémentaire
Questions ?