Introduction Fonctionnement PluginsConfigurationLes données Le framework MAG Framework de conception de canaux complexes Implémente IChannel Possède son.

Slides:



Advertisements
Présentations similaires
Réaliser en Java un programme client d’une Base de Données
Advertisements

Le struts validator – framework de validation
C#3 et le projet Linq Mitsuru FURUTA
IChannelIPrivilegedIMultithreadedIServantICacheableIMimeResponse Type custom : les interfaces de programmations IChannel : canal standard, stateful 5 méthodes.
Implémentation de l'interface IChannel Récupération de paramètres
Tomcat et son fonctionnement XML
1 Quelques précisions sur l'héritage. 2 Signification de super.f() appel à la méthode f() masquée super : désigne l'objet appelant comme s'il était de.
Programmation Web Les JSP.
51 Les technologies XML Cours 7 : Utilisations dXML Janvier Version 1.0 -
MySQL et PHP.
Tarak Chaari, Stéphane Frénot, Frédérique Laforest, Frédéric Le-Mouël JAV1 JAV – TD 5 Lhéritage en Java.
Stéphane Frenot - Département Télécommunication - SID - II - Jdbc 280 JDBC Java Databases Connectivity.
PHP5 poo.
PHP mySQL Extension php_mysql. Connexion à une base de données Établir une connexion mysql_connect(string server, string username, string password) –permet.
TP 3-4 BD21.
Servlet JAVA.
Jérôme CUTRONA PHP et bases de données Jérôme CUTRONA 01:07:51 Programmation Web
Jérôme CUTRONA PHP PDO Jérôme CUTRONA 01:08:01 Programmation Web
Connexion base de données
Ametys Runtime.
HIBERNATE Framework de mapping objet-relationnel
Le langage PHP 5.
Struts 1 & 2 Tlohi ibtissam Tabit boutaina Ilias bouras
JDBC Java Data Base Connectivity. Java DataBase Connectivity (JDBC) Cette API est développée par Sun en collaboration avec les grands éditeurs de SGBD.
Xml/xslt : Extensible Stylesheet Language Transformation réalisé par: saÏd NAÏM.
Accès aux données généralisé SQL est presque une solution! Le problème: Le SQL n'est pas une langue complète, et doit être intégré dans un langage de programmation.
JDBC ou comment manipuler une base de données en Java ?
Projet JAVA EE Approfondi
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
© 2007 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java et les Exceptions Peter Van Roy Département dIngénierie Informatique,
Factory Design Patterns Factory Method
29/01/09SpringFramework1 SpringFramework Alice GARCIA Fabien FAGOAGA Option Génie Logiciel 3 ème année ENSEIRB.
1 Développement des Applications des Bases de Données Chapitre 6.
POO-L3 H. Fauconnier1 Supplément gratuit…. POO-L3 H. Fauconnier2 Entrée-sortie public static void main(String[] args) { // sortie avec printf ou double.
Design Pattern: Decorator
IFT 6800 Atelier en Technologies d’information
JSP (Java Server Pages)
Chapitre 9 Les sous-programmes.
COURS DE PROGRAMMATION ORIENTEE OBJET :
1 CSI 2532 Lab6 Application Web et DB Février 27, 2012.
1212 Entrée et sortie de fichiers Objectifs À la fin de ce cours, vous serez capables de : • Lire à partir de la console • Écrire sur la console.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Xooctory.
Linq & les expressions lambda. L Language In Integrated Q Query.
Exploration de la programmation android Formation Assurer par: Club FreeWays Réalisé par: BOUHJJA Lamia.
Cours n°3 rappels. POO-L3 H. Fauconnier2 Entrée-sortie public static void main(String[] args) { // sortie avec printf ou double a = 5.6d ; double b =
La notion de type revisitée en POO
Module 8 : Surveillance des performances de SQL Server
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Cours 9 Exceptions (fin) Généricité. POO-L3 H. Fauconnier2 Chaînage d'exceptions  Une exception peut être causée par une autre.  il peut être utile.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 6 – Exceptions.
Créer des packages.
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Masters IIGLI et ILGII – Intranet internet extranet – – Claude Montacié 1 Cours n° 10 Accès distant aux bases de données.
ANTOINE CHEVERT , PASCAL LAMY
12/04/ Les exceptions Cours 11 Cours 11.
Projet SurfCam : Sous partie Stockage des acquisitions.
Les sockets.
Schéma de conception Factory Method Exemple Sylvain Giroux.
 Formulaires HTML : traiter les entrées utilisateur
Master 1 SIGLIS Intégration des données dans l’entreprise Stéphane Tallard JDBC: Java Database Connectivity Master 1 SIGLIS1JDBC.
Amandine SOURY Bertrand DUCOULOMBIER Formation Java J2EE - Décembre Projet final de la formation Infotel : Gestion des cartes grises Formation.
Les Servlets Présentation Cycle de vie Principe de fonctionnement
Interface Java – Oracle : JDBC. I-2 JDBC (Java DataBase Connectivity) : interface API (Application Programming Interface) qui permet d’exécuter des ordres.
Module 2 : Planification de l'installation de SQL Server
JDBC (Complément de cours) IFT 3030
Bases de données Singleton pour la connexion
LES CLASSES ET LES OBJETS
JDBC - Y. Bekkers1 Java et les SGBDR Librairies JDBC Yves Bekkers.
Bases de données Singleton pour la connexion
Transcription de la présentation:

Introduction Fonctionnement PluginsConfigurationLes données Le framework MAG Framework de conception de canaux complexes Implémente IChannel Possède son cycle de vie propre Permet de déléguer le traitement d'une requête à la bonne classe (contrôleur) Utilise un fichier de configuration XML Simplifie l'accès à une ou plusieurs sources de données, indépendamment de leur type (JDBC ou pool Tomcat JNDI) Implémente ICacheable Facilite les interactions avec le XSL Facilite l'utilisation de canaux servants (MAG ou non) Permet de redéfinir un morceau d'une application existante en personnalisant certaines actions

Fonctionnement setRuntimeData renderXML init setXMLsetOutput IntroductionPluginsConfigurationLes données Le framework MAG

Classes principales MainChannel : Implémente IChannel, ICacheable, IMimeResponse setRuntimeData : détermine l'action en cours, l'instancie dynamiquement et appelle les méthodes init, setXML et setOutput séquentiellement renderXML : réalise la transformation XSL en s'appuyant sur les informations de l'action courante ConfigChannel : Réalise la lecture de la configuration propre au MAG Classe abstraite à étendre et à implémenter sous la forme d'un singleton Permet la lecture de la partie propre à l'application de la configuration Permet d'ouvrir des connexions vers les sources de données définies dans la configuration SubChannel : Implémentation de référence de ISubChannel Implémente un comportement par défaut Toutes les actions doivent étendre cette classe ou implémenter ISubChannel IntroductionPluginsConfigurationLes données Le framework MAG

Plugins Message : Affiche un ou plusieurs messages (erreur, warning, information) Éventuellement, redirige vers une autre action Éventuellement, passe des paramètres à l'action suivante Confirm : Affiche une question avec un choix Oui / Non Transmets la réponse à une action Traite la réponse et appelle des actions différentes suivant le choix Éventuellement, passe des paramètres (différents) à l'action suivante Les appels sont statiques : Message.message(mainChannel, runtimeData, "Une erreur s'est produite"); return Boolean.FALSE; IntroductionPluginsConfigurationLes données Le framework MAG

Fichier de configuration <action name="default" classname="org.esupportail.portal.channels.CMag.actions.DefaultAction" xslfile="Default.xsl" /> <action name="about" classname=" org.esupportail.portal.channels.CMag.actions.DefaultAction" init="aboutinit" setxml="aboutxml" setoutput="aboutoutput" sslfile="About.ssl" ssltitle="normal" /> <action name="annuaire" type="servant" classname="org.esupportail.portal.channels.CAnnuaire.AnnuaireServant" servantfinish="default" /> IntroductionPluginsConfigurationLes données Le framework MAG

Accès aux données <pool name="default" type="JNDI" url="PortalDB" /> <pool name="mysql" type="JDBC" url="jdbc:mysql://mysql.univ.fr/MaBase" driverClassName="com.mysql.jdbc.Driver" username="mysqluser" password="password" /> IntroductionPluginsConfigurationLes données Le framework MAG

Query query = Config.getInstance().getConnexionDefault(); ou Query query = Config.getInstance().getConnexion("mysql"); … String sql = "SELECT * FROM APP_USERS WHERE NAME_USER = 'toto'"; try { query.setSql(sql); query.select(); ResultSet rs = query.getRs(); while(rs.next()) { String username = rs.getString("NAME_USER"); } query.close(); } catch(SQLException e) { query.close(); throw new Exception(e.getMessage()); } IntroductionPluginsConfigurationLes données Le framework MAG Accès aux données