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 ?

Documents pareils