Oracle 8i sous Linux

Dimension: px
Commencer à balayer dès la page:

Download "Oracle 8i sous Linux"

Transcription

1 Oracle 8i sous Linux Gilles Briard Éditions Eyrolles ISBN :

2 16 Pilotes JDBC et SQLJ Dans ce chapitre nous allons aborder les points suivants : le standard JDBC, les pilotes JDBC d Oracle, SQLJ, simplicité et contraintes. Dans les architectures d applications distribuées, les middlewares jouent un rôle fondamental. Ils permettent l échange de données entre des applications et des bases de données. Pour les applications, une base de données est un espace de stockage performant qui sert à la consultation, à la mise à jour et à l ajout de données. Les standards JDBC et SQLJ ont été créés dans cette optique : ce sont des middlewares destinés aux programmes Java. Ils permettent aux applications Java autonomes ou à des applets Java de communiquer avec des bases de données. Au chapitre 13 ODBC et Oracle Objects pour OLE, nous avons présenté les différents moyens de communication entre une application de l environnement Windows et une base Oracle8i. Outre les pilotes ODBC et la technologie OLE, Oracle propose des pilotes JDBC pour se connecter à Oracle8i à partir de n importe quel programme Java. Par rapport à ODBC, JDBC ajoute la portabilité de Java. Ce chapitre vous explique quand et comment utiliser les pilotes JDBC. Par ailleurs, nous aborderons SQLJ pour montrer comment il est possible d incorporer très facilement des instructions SQL à du code Java.

3 2 Outils et langages de programmation PARTIE IV Principe des pilotes JDBC Il existe deux types de pilotes JDBC Oracle : les pilotes JDBC utilisés par les machines virtuelles Java standard, un pilote JDBC spécifique pour les méthodes Java exécutées par Oracle JServer. Figure 16-1 Architecture d une application multiniveaux CLIENT «Léger» Applet Java HTTP Serveur d application JDBC Oracle8i Net8 SQL CLIENT «LOURD» PL/SQL Application Java J D B C Net8 Procédures Java La figure précédente montre une architecture dans laquelle JDBC est une interface incontournable. Le modèle présente un déploiement de type client lourd et un déploiement de type client léger. Dans le premier cas, l application Java accède à la base de données via JDBC, qui repose lui-même sur le protocole Net8. Cette application nécessite un poste de travail dit client lourd car elle réalise à la fois des opérations sur les données et l affichage de ces données. Dans le second cas, le client, est par exemple un navigateur Web qui communique avec un serveur d applications selon le protocole HTTP. Le client léger doit uniquement afficher les informations qu il échange avec le serveur d applications ; il ne réalise aucun traitement sur ces données. Le serveur d applications les recueille depuis la base par l intermédiaire d une connexion JDBC et exécute les opérations nécessaires sur ces données. Ensuite, il les transmet au client léger qui les présente à son tour à l utilisateur final. Ces deux catégories de clients, lourd et léger, ont accès à tous les objets stockés dans la base Oracle8i, via les protocoles HTTP et JDBC : tables, procédures stockées PL/SQL et Java, etc. JDBC : les pilotes et leur utilisation JDBC est principalement une bibliothèque de classes Java destinée à faciliter l accès à des données contenues dans des bases relationnelles. Ce n est pas une invention d Oracle, mais une interface standardisée utilisée par de multiples acteurs de l informatique. Toute la difficulté de cette interface consiste à en saisir le «lego logiciel», les différents composants mis en œuvre par telle ou telle implémentation. Les pilotes JDBC sont en effet multiples et utilisent des «chemins d accès» très variés. JDBC a été conçu après ODBC et en reprend bon nombre de caractéristiques : connexion simultanée à plusieurs bases de données, gestion des transactions, interrogations, appel à des

4 Pilotes JDBC et SQLJ CHAPITRE 16 3 procédures stockées, etc. JDBC ne se contente pas d imiter ODBC : il innove sur des points importants, tel le téléchargement du pilote par le réseau avant son exécution. Le premier pilote JDBC opérationnel, proposé par JavaSoft (la filiale de Sun dédiée aux produits Java), nécessitait l installation de pilotes ODBC pour fonctionner. Cette situation a heureusement évolué. On peut considérer qu il existe trois types de pilotes JDBC : ceux qui réutilisent ODBC ; ceux qui se réfèrent à Net8 ; ceux qui n ont besoin ni d ODBC, ni de Net8. Ces différents accès sont résumés dans le schéma suivant : Figure 16-2 Les différents types de pilotes JDBC Programmes écrits en JAVA accédant à Oracle8i Interface de programmation JDBC Pilote Javasoft utilisant ODBC Pilote ODBC pour Oracle8i Pilote JDBC s appuyant sur Net8 (JDBC-OCI) Pilote JDBC téléchargeable (Thin JDBC) Oracle Net8 Oracle Net8 Sockets de communication JAVA Réseau TCP/IP Réseau vers votre serveur Oracle8i La façon dont vous programmez vos applications Java est unique : elle est définie par les spécifications de l interface de programmation JDBC. À l inverse, lors de l écriture de vos programmes, vous pouvez préciser le type de pilote, donc le chemin que vous souhaitez emprunter pour accéder à Oracle8i. Comment choisir entre les différents JDBC existants L intérêt principal de Java est sa portabilité et ses possibilités de téléchargement d applications. L avantage majeur que les entreprises recherchent dans ces solutions techniques est avant tout l absence de déploiement d applications. Actuellement, il existe des outils de développement très productifs, mais dont l utilisation est limitée par la difficulté de leur installation

5 4 Outils et langages de programmation PARTIE IV sur les postes des utilisateurs. Même si les applications peuvent être téléchargées après modification, les couches techniques basses comme Net8 doivent être installées sur chaque poste utilisateur. Figure 16-3 Architecture de base Postes clients : Browser Internet, client Linux, Microsoft Serveurs d applications Serveur hébergeant la base Oracle 8i Illustrons nos commentaires au moyen d une architecture à trois niveaux : un poste client équipé d un navigateur, un serveur d applications intermédiaire et un serveur de données hébergeant une base Oracle8i. Voyons, selon ces critères, les différentes solutions existantes. Pilote Javasoft (ou autre) utilisant ODBC C est le moins intéressant des trois. Il a comme seul avantage de valider une solution technique novatrice. Pour fonctionner, il faut installer à la fois l interface JDBC (ajout au langage Java qui interprète les appels JDBC dans vos programmes), un pilote ODBC pour Oracle8i (plus sa configuration) et enfin le «client» Net8 et sa configuration. Cela fait beaucoup! Figure 16-4 Pilote JDBC utilisant ODBC Postes clients : Browser Internet Interface de programmation JDBC Pilote Javasoft utilisant ODBC Pilote ODBC pour Oracle 8i Serveurs d applications Serveur hébergeant la base Oracle 8i Oracle Net8 Oracle Net8 Réseau TCP/IP Réseau TCP/IP

6 Pilotes JDBC et SQLJ CHAPITRE 16 5 Ce type de pilote alourdit énormément le poste client. Il convient de le réserver à une validation technique ou à des programmes fonctionnant sur des serveurs d applications. Pilote JDBC s appuyant sur Net8 Pour cette architecture, l installation et la configuration locale de Net8 et du pilote JDBC sont nécessaires. Ce pilote se caractérise par une bonne capacité à prendre en charge une charge importante. Figure 16-5 Pilote JDBC s appuyant sur Net8 Postes clients : Browser Internet ou Network Computer Applet (programme) JAVA Serveurs d applications Serveur Web qui télécharge l Applet JAVA Serveur hébergeant la base Oracle 8i JDBC Thin Oracle Net8 Réseau TCP/IP Réseau TCP/IP La solution technique proposée dans ce cas est fort semblable à celle du client-serveur traditionnel. Deux sortes d applications peuvent être visées par ce type de pilote. Envisageons tout d abord celles fonctionnant sur un serveur d applications : le code applicatif mis en œuvre sur le poste client ne gère que l affichage des données et le code autorisant l accès aux données fonctionne sur le serveur d applications. Une seule installation est alors nécessaire, et ce quel que soit le nombre de clients connectés. L autre type d applications concernées sont les applications client ayant un fort besoin d échanges avec la base Oracle8i, à l instar des applications client-serveur actuelles. La lourdeur d installation d un parc important de machines client se justifie par les performances. Pilote téléchargeable Thin JDBC Ce pilote possède un avantage majeur : il ne nécessite pas l installation d un logiciel Oracle sur le poste client et peut être téléchargé par le réseau, sous forme d une applet Java. Techniquement, le code de ce pilote «émule» Net8 et permet une communication directe entre votre poste client et votre base de données Oracle8i. Les limitations techniques du pilote Thin JDBC concernent son volume de chargement, environ 300 Ko hors application Java, qui le rend difficilement utilisable sur des réseaux à faible débit. REMARQUE Pour les «anciens» d Oracle, le pilote Thin JDBC d Oracle n est autre qu une remise au goût du jour de l ancien SQL*Net V1!

7 6 Outils et langages de programmation PARTIE IV Figure 16-6 Téléchargement d une Applet Postes clients : Browser Internet ou Network Computer Applet (programme) JAVA Serveurs d applications Serveur Web qui télécharge l Applet JAVA Serveur hébergeant la base Oracle 8i JDBC Thin Oracle Net8 Réseau TCP/IP Réseau TCP/IP Pilote JDBC intégré à Oracle JServer Oracle8i est fourni avec JServer, machine virtuelle Java intégrée au serveur de base de données. Comme toute machine virtuelle Java, JServer prend en charge le standard JDBC pour offrir une interface de communication entre une base de données et une application Java. Néanmoins les pilotes JDBC décrits précédemment (JDBC Thin, JDBC OCI) ne sont pas utilisables par les méthodes Java exécutées par JServer. Ces méthodes accèdent à la base via le pilote JDBC embarqué qui garantit de meilleures performances que les pilotes externes à Oracle8i, car il partage les ressources de la base. Il repose sur les bibliothèques natives de la base de données. N importe quelle méthode Java peut être exécutée dans Oracle8i : un développeur d applications trouve un intérêt à déployer dans Oracle8i les classes Java exploitant les données de la base. Le pilote JDBC embarqué fournit la même API que les pilotes JDBC externes : les instructions JDBC prévues pour s exécuter en dehors de la base de données sont strictement identiques aux instructions JDBC qui s exécutent dans Oracle8i. Connexion JDBC à l extérieur d Oracle8i Pour l ouverture une connexion JDBC les méthodes Java qui s exécutent à l extérieur de la base de données doivent spécifier, le nom du pilote JDBC, le nom d utilisateur, le mot de passe de cet utilisateur, les paramètres pour localiser la base de données. Par exemple, la commande suivante établit une connexion JDBC Thin avec la base ORCL, accessible par le port 1521 du serveur unserveur, sous l identité SCOTT/TIGER : DriverManager.registerDriver(new oracle.jdbc.driver.oracledriver()); connexion conn = DriverManager.getconnexion("<URL>"); où <URL> = jdbc:oracle:thin:scott/tiger@unserveur:1521:orcl

8 Pilotes JDBC et SQLJ CHAPITRE 16 7 Connexion JDBC dans JServer Lorsqu une méthode Java est exécutée par JServer, son contexte transactionnel est celui de la session courante, la session dans laquelle la méthode est appelée. Au chapitre 17 Java et Oracle8i, nous verrons qu une méthode Java est accessible depuis des instructions SQL ou PL/SQL. Imaginons qu une session SQL*Plus soit ouverte par l utilisateur SCOTT (mot de passe TIGER). Une fois connecté, SCOTT appelle la procédure stockée Java unpackage.getnom(3) qui renvoie le nom de la personne numéro 3. La méthode Java n a pas besoin de spécifier l adresse du serveur, le nom de la base, le nom de l utilisateur, son mot de passe. La méthode Java s exécute dans la session ouverte par SCOTT. Une méthode Java côté serveur est donc toujours connectée à la base données. L objet connexion est créé à partir de la session en cours avec l instruction suivante : connexion conn = new oracle.jdbc.driver.oracledriver.defaultconnexion(); Ensuite des objets Statement, PreparedStatement ou CallableStatement sont créés à partir de l objet conn. SQLJ Depuis longtemps, il est possible de programmer en langage C, C++, Cobol, etc. pour accéder à Oracle. Dans ce but, il existe des «précompilateurs» adaptés au langage utilisé. La mise en œuvre de SQLJ est simple : une balise particulière, #sql, indique l emplacement des instructions SQL intégrées au code Java. Le fichier source Java est alors doté de l extension.sqlj, pour indiquer que ce n est pas un fichier source Java pur. Ce fichier sqlj doit être traité par un précompilateur, dont la tâche est de traduire les instructions SQL en instructions Java. Il génère des fichiers source Java, qui seront compilés par un compilateur Java standard. SQLJ est donc un précompilateur Java qui permet d accéder facilement aux bases de données Oracle8i. SQLJ est un standard pour créer des requêtes SQL plus simplement qu à partir de l API JDBC. Le développeur n a pas besoin d en maîtriser la complexité de JDBC pour écrire des instructions SQL dans un programme Java. Les lignes de code SQLJ sont constituées par des instructions SQL identiques à celles exécutées par des outils comme SQL*Plus. Figure 16-7 Principe de SQLJ Fichier source SQLJ Traducteur SQLJ Fichiers source.java Compilateur Java Fichiers de classe.class Fichiers ressource

9 8 Outils et langages de programmation PARTIE IV La syntaxe est la suivante : #sql { <requête SQL> ; Par exemple la commande SQLJ correspondant à: SELECT JOB FROM EMP WHERE EMPNO=3; s écrit: #sql {SELECT JOB INTO :empfonction FROM EMP WHERE EMPNO=3; SQLJ et JDBC Comparé à JDBC, SQLJ apporte une grande simplification de la syntaxe : le code est plus lisible ; le nombre de lignes de code est moindre ; la syntaxe SQL des instructions SQLJ est vérifiée pendant la compilation ; la correction des erreurs est simplifiée. Tout programme Java peut exploiter SQLJ, qui peut s utiliser dans les applications client et dans les procédures stockées Java (triggers, méthodes, EJB, objets CORBA). Une méthode Java peut contenir à la fois des appels JDBC et des instructions SQLJ. Comme avec JDBC, les paramètres des instructions SQLJ sont des valeurs littérales ou des variables Java. Un avantage de SQLJ consiste en la vérification syntaxique et en la cohérence avec le schéma de la base de données, au moment de la compilation du code. Si une instruction SQLJ appelle par exemple une procédure PL/SQL inexistante, le traducteur SQLJ le signalera. En revanche, SQLJ nécessite de connaître à l avance la requête qui sera exécutée, alors que JDBC permet de créer dynamiquement des requêtes puisqu une requête JDBC est définie par une chaîne de caractères. L exemple suivant présente la différence entre un code JDBC et le code SQLJ équivalent. Le code de cet exemple : ouvre une connexion dans la base Oracle8i sous l identité SCOTT, recherche la fonction de l employé 7 788, affiche le résultat de la requête, recherche la fonction exercée par chaque employé, affiche la liste des employés, avec leur fonction. Exemple utilisant JDBC Définissons le fichier SalariesJDBC.java : import java.sql.*; public class SalariesJDBC { CONNEXION conn;

10 Pilotes JDBC et SQLJ CHAPITRE 16 9 public SalariesJDBC() throws SQLException { // Enregistrement du pilote JDBC Oracle DriverManager.registerDriver(new oracle.jdbc.driver.oracledriver()); //Ouverture d une session dans la base /*Il faut adapter la chaîne unserveur:1521:orcl remplacer unserveur par le nom TCP/IP du serveur de la base remplacer 1521 par le port Net8 de la base remplacer ORCL par le SID de votre base Oracle */ try { conn = DriverManager.getCONNEXION("jdbc:oracle:thin:@unServeur:1521:orcl", "scott","tiger"); catch (SQLException exception) { System.out.println("Impossible d ouvrir la session"); System.err.println(exception) ; System.exit(1); public void requete() throws SQLException { String job; String nom; int empid = 7788; //Recherche du nom et de la fonction du salarié //Préparation de la requête PreparedStatement requete = conn.preparestatement("select ename,job from EMP where empno=?"); requete.setint(1,empid); //Exécution de la requête ResultSet resultat = (ResultSet)requete.executeQuery(); //Affichage des résultats while (resultat.next()) { System.out.println("Nom du salarié #"+empid+" : "+resultat.getstring(1)); System.out.println("Fonction du salarié #"+empid+" : "+resultat.getstring(2)); resultat.close(); requete.close();

11 10 Outils et langages de programmation PARTIE IV //Liste des fonctions de tous les salariés //Préparation de la requête requete = conn.preparestatement("select ename,job from EMP"); //Exécution de la requête resultat = (ResultSet)requête.executeQuery(); //Affichage des résultats System.out.println("Liste des salariés avec leur fonction :"); while (resultat.next()) { System.out.println(resultat.getString(1)+" est un "+resultat.getstring(2)); résultat.close(); requête.close(); public static void main (String [] args) throws SQLException { SalariesJDBC application= new SalariesJDBC(); application.requete(); Exemple identique avec SQLJ Définissons le fichier Salaries.sqlj : import sqlj.runtime.ref.*; import java.sql.*; public class Salaries { /*définition d un itérateur qui contient un champ ename et un champ job pour recevoir des lignes de la table EMP du schéma SCOTT */ #sql iterator liste( String ename, String job ); public Salaries() throws SQLException { //Enregistrement du pilote JDBC Oracle DriverManager.registerDriver(new oracle.jdbc.driver.oracledriver()); //Ouverture d une session dans la base //Définition d un contexte pour les instructions SQLJ

12 Pilotes JDBC et SQLJ CHAPITRE try { CONNEXION conn = DriverManager.getCONNEXION("jdbc:oracle:thin:@unServeur:1521: orcl","scott","tiger"); DefaultContext.setDefaultContext(new DefaultContext(conn)); catch (SQLException exception) { System.out.println("Impossible d ouvrir la session"); System.err.println(exception) ; System.exit(1); public void requete() throws SQLException { String job; String nom; int empid = 7788; //Recherche du nom et de la fonction du salarié #sql {SELECT ENAME,JOB into :nom,:job from EMP where empno=:empid; System.out.println("Nom du salarié #"+empid+" : "+nom); System.out.println("Fonction du salarié #"+empid+" : "+job); //Liste des fonctions de tous les salariés liste uneliste; #sql uneliste={select ENAME,JOB from EMP; //Affichage des résultats System.out.println("Liste des salariés avec leur fonction :"); while (uneliste.next()) { System.out.println(uneListe.ename()+" est un "+uneliste.job()); public static void main (String [] args) throws SQLException { Salaries application= new Salaries(); application.requete(); Comparaison du code source JDBC et du code source SQLJ La différence est nette entre les deux codes source Java. Le premier nécessite : la création d un objet PreparedStatement, la création d un objet ResultSet,

13 12 Outils et langages de programmation PARTIE IV un appel de méthode setint pour affecter la valeur d un paramètre de la requête, un appel de méthode getstring pour récupérer la valeur d une colonne. Le second, avec SQLJ, nécessite : la création d une variable INT pour affecter la valeur d un paramètre de la requête, la création d une variable STRING pour récupérer la valeur d une colonne, le codage d une instruction SQL dans une syntaxe très claire. En outre, le code SQLJ est identique à l instruction SQL qui serait exécutée dans SQL*Plus. Exécution des exemples précédents Avant d exécuter les deux applications, il faut adapter la chaîne de connexion à la base de données, c est à dire : remplacer unserveur par le nom TCP/IP du serveur de la base, remplacer 1521 par le port Net8 de la base, remplacer ORCL par le SID de votre base Oracle. L application SalariesJDBC et l application Salaries produisent le même résultat, à savoir : Nom du salarié #7788 : SCOTT Fonction du salarié #7788 : ANALYST Liste des salariés avec leur fonction : SMITH est un CLERK ALLEN est un SALESMAN WARD est un SALESMAN JONES est un MANAGER MARTIN est un SALESMAN BLAKE est un MANAGER CLARK est un MANAGER SCOTT est un ANALYST KING est un PRESIDENT TURNER est un SALESMAN ADAMS est un CLERK JAMES est un CLERK FORD est un ANALYST MILLER est un CLERK Écrire un fichier SQLJ Comment différencier un fichier source Java utilisant SQLJ d un fichier source n utilisant pas SQLJ? Tout simplement par l extension du fichier source : un fichier source Java utilisant SQLJ porte l extension.sqlj ; un fichier source Java n utilisant pas SQLJ est doté de l extension.java.

14 Pilotes JDBC et SQLJ CHAPITRE Traduire et compiler un fichier sqlj : l utilitaire SQLJ Les compilateurs Java standard (celui de SUN, celui d Oracle8i), ne savent pas compiler directement un fichier source.sqlj. Pour compiler un fichier source.sqlj, un traducteur SQLJ traduit le fichier SQLJ en fichiers source Java et en fichiers de ressource. Ensuite, un compilateur Java standard compile ces fichiers source Java en fichiers.class. Le traducteur se charge de vérifier que les noms des tables, des colonnes et des types de données qui apparaissent dans les requêtes SQLJ sont cohérents avec le schéma relationnel de la base. Oracle8i est fourni avec l utilitaire SQLJ, qui réalise les opérations de génération et la compilation des fichiers.java. Pour que SQLJ fonctionne, la configuration suivante est nécessaire : CLASSPATH doit contenir $(ORACLE_HOME)/sqlj/lib/translator.zip Figure 16-8 Chargement d un fichier SQLJ dans Oracle8i Fichier SQLJ Traducteur SQLJ Fichiers Java Fichiers Class Fichiers Ressource loadjava Oracle8i Traducteur SQLJ embarqué Fichiers Class Fichiers Ressource compilation à l'intérieur de la base compilation à l'extérieur de la base

15 14 Outils et langages de programmation PARTIE IV La syntaxe de SQLJ est simple : sqlj <nom fichier sqlj> ou pour indiquer sur quel schéma vérifier les requêtes SQL sqlj user=nom/mot de passe@jdbc:oracle:thin:@<url> nom_fichier.sqlj <URL> = <serveur>:<port Net8>:<SID> (ex: localhost:1521:orcl) Par exemple: sqlj exemplesqlj.sqlj Pour déployer un fichier.sqlj dans Oracle8i, Loadjava accepte : les fichiers générés avec l utilitaire SQLJ, le fichier.sqlj. Dans le deuxième cas, l utilitaire Loadjava appellera le traducteur SQLJ interne à la base de données pour générer les sources Java et les fichiers de ressource et compiler ces fichiers. La figure 16-8 montre les deux mécanismes possibles pour charger dans Oracle8i des fichiers SQLJ. SQLJ côté serveur Aucune modification du code Java n est nécessaire, si le code SQLJ s exécute dans la base de données : la syntaxe est identique. La seule différence entre une méthode s exécutant à l extérieur d Oracle8i et une méthode s exécutant à l intérieur d Oracle8i concerne l ouverture de session. Lorsque le code SQLJ est traité par JServer, la session est implicitement la session en cours, comme pour les opérations JDBC. Dans ce cas, il n est donc pas nécessaire de réaliser une ouverture de session. Côté serveur, SQLJ présente une restriction : les instructions SQLJ ne s appliquent que sur la base de données où la méthode Java s exécute ; une base distante n est pas accessible par des commandes SQLJ. Le code du fichier SalariesKPRB.sqlj se présente comme suit : import sqlj.runtime.ref.*; import java.sql.*; public class SalariesKPRB { public SalariesKPRB() throws SQLException { public static String requete(int empid) throws SQLException { String job; String nom; #sql {SELECT ENAME,JOB into :nom,:job from EMP where empno=:empid; System.out.println("Nom du salarié #"+empid+" : "+nom); System.out.println("Fonction du salarié #"+empid+" : "+job); return new String("#"+empId+" : "+nom+" - "+job);

16 Pilotes JDBC et SQLJ CHAPITRE La classe SalariesKPRB est prévue pour fonctionner dans Oracle8i, ce qui explique l absence d ouverture de session. Elle comprend la méthode requete, qui prend comme argument le numéro d un employé et renvoie une chaîne de caractères indiquant le nom et la fonction de cet employé. La requête SELECT est exécutée sur la table EMP du schéma courant. Pour cet exemple, il faudra se connecter sous SCOTT afin d exécuter la méthode Java. Nous compilons ce fichier avec SQLJ. sqlj SalariesKPRB.sqlj Trois fichiers sont générés, à savoir : SalariesKPRB.class, un fichier de classe Java ; SalariesKPRB_SJProfile0.ser, un fichier de ressource Java ; SalariesKPRB_SJProfileKeys.class, un fichier de classe Java. Ensuite nous déployons ces fichiers dans Oracle8i pour pouvoir appeler la méthode requete comme une procédure stockée Java. Les étapes de mise en oeuvre des procédures stockées Java seront présentées au chapitre 17 Java et Oracle 8i. Pour déployer les fichiers dans Oracle8i, il faut procéder comme suit : loadjava resolve thin user scott/tiger@unserveur:1521:orcl SalariesKPRB.class SalariesKPRB_SJProfile0.ser SalariesKPRB_SJProfileKeys.class La méthode Java requete est publiée en tant que fonction PL/SQL sous le nom SalariesNomJob : sqlplus scott/tiger CREATE OR REPLACE FUNCTION SalariesNomJob(p0 NUMBER) RETURN VARCHAR2 AS LANGUAGE JAVA NAME SalariesKPRB.requete(int) return java.lang.string ; Pour tester cette méthode, il convient de : se connecter à la base en tant que SCOTT/TIGER ; paramétrer SQL*PLUS pour qu il affiche les sorties envoyés sur System.out ; appeler la fonction SalariesNomJob. Voici le détail des commandes à lancer dans SQL*PLUS : SQL> set serveroutput on SQL> call dbms_java.set_output(2000); SQL> VARIABLE chaine VARCHAR2(80); SQL> call SalariesNomJob(7839) into :chaine; Nom du salarié #7839 : KINGFonction du salarié #7839 : PRESIDENT Appel terminé. SQL> print chaine; CHAINE #7839 : KING - PRESIDENT

17 16 Outils et langages de programmation PARTIE IV Résumé JDBC est le standard indispensable pour réaliser la communication entre un programme Java (applet ou application) et une base de données. Contrairement à ODBC, l API JDBC est portable sur toutes les plates-formes prenant en charge Java. Nous avons montré que JDBC présente quelques difficultés d utilisation. Le standard SQLJ corrige ce défaut en proposant une interface moins complexe pour accéder à une base.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige. : JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL

Plus en détail

Java DataBaseConnectivity

Java DataBaseConnectivity Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage

Plus en détail

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection

Plus en détail

Oracle 8i sous Linux

Oracle 8i sous Linux Oracle 8i sous Linux Gilles Briard Éditions Eyrolles ISBN : 2-212-09135-4 2000 Avant-propos Linux est un système désormais éprouvé, comme son arrivée dans les entreprises l atteste. L engouement qu il

Plus en détail

TP Programmation Java / JDBC / Oracle

TP Programmation Java / JDBC / Oracle TP Programmation Java / JDBC / Oracle 1. Connectivité avec une base de données Oracle au travers de l interface JDBC L interface de programmation (API) JDBC (Java DataBase Connectivity) est une librairie

Plus en détail

Introduction à JDBC. Accès aux bases de données en Java

Introduction à JDBC. Accès aux bases de données en Java Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity

Plus en détail

Java et les bases de données

Java et les bases de données Michel Bonjour http://cuiwww.unige.ch/~bonjour CENTRE UNIVERSITAIRE D INFORMATIQUE UNIVERSITE DE GENEVE Plan Introduction JDBC: API SQL pour Java - JDBC, Java, ODBC, SQL - Architecture, interfaces, exemples

Plus en détail

Le Langage SQL version Oracle

Le Langage SQL version Oracle Université de Manouba École Supérieure d Économie Numérique Département des Technologies des Systèmes d Information Le Langage SQL version Oracle Document version 1.1 Mohamed Anis BACH TOBJI anis.bach@isg.rnu.tn

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

Application BdD et JDBC. Introduction 1/28. I Dans tout les cas, une seule problématique. I Quelques alternatives :

Application BdD et JDBC. Introduction 1/28. I Dans tout les cas, une seule problématique. I Quelques alternatives : ntroduction 1/28 2/28 Anne-Cécile Caron Licence MAGE - Bases de Données 2013-2014 Application base de données Pour le développeur : Quel est l environnement? type de client (mode client serveur, intranet,...)

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Accès aux bases de données

Accès aux bases de données 13 Accès aux bases de données Les bases de données fournissent un mécanisme de stockage persistant pour les données d application et dans bien des cas, elles sont essentielles au fonctionnement des applications.

Plus en détail

Programmation d application Bases de données avec Java

Programmation d application Bases de données avec Java Plan du document Programmation d application Bases de données avec Java INT Problématique slide 3 Correspondance diagramme de classe slide 4 UML vers schéma relationnel Programmation BD avec JDBC slide

Plus en détail

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée

Plus en détail

Module BD et sites WEB

Module BD et sites WEB Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD

Plus en détail

TP1. Outils Java Eléments de correction

TP1. Outils Java Eléments de correction c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par

Plus en détail

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC Sommaire 1. Objectifs et intérêts... 2 2. Intégrer le driver SQL Server dans SJSAS 9... 2 2.1. Télécharger

Plus en détail

Architectures web/bases de données

Architectures web/bases de données Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est

Plus en détail

RMI le langage Java XII-1 JMF

RMI le langage Java XII-1 JMF Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine

Plus en détail

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants

Plus en détail

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page

Plus en détail

JDBC le langage Java XVI-1 JMF

JDBC le langage Java XVI-1 JMF JDBC Java Database Connectivity XVI-1 JDBC JDBC est une API Java (ensemble de classes et d'interfaces défini par SUN et les acteurs du domaine des BD) permettant d'accéder aux bases de données à l'aide

Plus en détail

Compte Rendu d intégration d application

Compte Rendu d intégration d application ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...

Plus en détail

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE Le responsable de la société Itaste utilise une application installée sur son poste : elle est programmée en VBA sous Microsoft Access et pourvue d une

Plus en détail

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 Tsoft et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 OEM Console Java OEM Console HTTP OEM Database Control Oracle Net Manager 6 Module 6 : Oracle Enterprise Manager Objectifs Contenu A la fin de ce module,

Plus en détail

Remote Method Invocation (RMI)

Remote Method Invocation (RMI) Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe

Plus en détail

2 Chapitre 1 Introduction

2 Chapitre 1 Introduction 1 Introduction Ce livre présente les Enterprise JavaBeans 2.0 et 1.1 qui constituent la troisième et la deuxième version de la spécification des Enterprise JavaBeans. Tout comme la plate-forme Java a révolutionné

Plus en détail

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

Plus en détail

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France Développement d applications Internet et réseaux avec LabVIEW Alexandre STANURSKI National Instruments France Quelles sont les possibilités? Publication de données Génération de rapports et de documents

Plus en détail

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

Mise en oeuvre d'une base de données mono-utilisateur avec SQLite

Mise en oeuvre d'une base de données mono-utilisateur avec SQLite Mise en oeuvre d'une base de données mono-utilisateur avec SQLite Utilisation de SQLite dans le logiciel CASSIS Plan Le contexte scientifique avec le logiciel CASSIS La problématique avec Mysql La solution

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

Introduction aux Bases de Données Relationnelles Conclusion - 1

Introduction aux Bases de Données Relationnelles Conclusion - 1 Pratique d un : MySQL Objectifs des bases de données Où en sommes nous? Finalement, qu est-ce qu un? Modèle relationnel Algèbre relationnelle Conclusion SQL Conception et rétro-conception Protection de

Plus en détail

Connexion à SQL server

Connexion à SQL server Micromedia International Etude technique Auteur : Pierre Chevrier Nombre de pages : 18 Société : Date : 12/09/2012 Réf. : ETT_20110624_000001.docx Connexion à SQL server Ce document précise les modalités

Plus en détail

Le modèle client-serveur

Le modèle client-serveur Le modèle client-serveur Olivier Aubert 1/24 Sources http://www.info.uqam.ca/~obaid/inf4481/a01/plan.htm 2/24 Historique architecture centralisée terminaux passifs (un seul OS, systèmes propriétaires)

Plus en détail

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza Avant de commencer à travailler avec le produit, il est nécessaire de comprendre, à un haut niveau, les problèmes en réponse desquels l outil a été

Plus en détail

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau) CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.

Plus en détail

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 ORACLE 10G DISTRIBUTION ET REPLICATION Distribution de données avec Oracle G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 1 Plan 12. Distribution de données 12.1 Génération des architectures C/S et Oracle

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

La base de données XML exist. A. Belaïd

La base de données XML exist. A. Belaïd La base de données XML exist Introduction Qu est-ce-que exist? C est une base de donnée native, entièrement écrite en Java XML n est pas une base de données en soi Bien qu il possède quelques caractéristiques

Plus en détail

Bien architecturer une application REST

Bien architecturer une application REST Olivier Gutknecht Bien architecturer une application REST Avec la contribution de Jean Zundel Ce livre traite exactement du sujet suivant : comment faire pour que les services web et les programmes qui

Plus en détail

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce

Plus en détail

25 septembre 2007. Migration des accès au Registre national en protocole X.25 vers le protocole TCP/IP, pour les utilisateurs du Registre national

25 septembre 2007. Migration des accès au Registre national en protocole X.25 vers le protocole TCP/IP, pour les utilisateurs du Registre national 25 septembre 2007 Migration des accès au Registre national en protocole X.25 vers le protocole TCP/IP, pour les utilisateurs du Registre national Plan Introduction Les catégories d utilisateurs Migration

Plus en détail

Chapitre I Notions de base et outils de travail

Chapitre I Notions de base et outils de travail Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement

Plus en détail

Initiation à SQL. Le langage de communication avec une base de données relationnelles. Application avec PostgreSQL. Nathalie Camelin 2011/2012

Initiation à SQL. Le langage de communication avec une base de données relationnelles. Application avec PostgreSQL. Nathalie Camelin 2011/2012 Initiation à SQL Le langage de communication avec une base de données relationnelles Application avec PostgreSQL Nathalie Camelin 2011/2012 Université du Maine Institut Claude Chappe D'après Levy Estève

Plus en détail

La reconquête de vos marges de manœuvre

La reconquête de vos marges de manœuvre La reconquête de vos marges de manœuvre Libérez vos applications critiques Bull ouvre de nouvelles portes à votre patrimoine applicatif. Bull LiberTP fait passer simplement vos applications transactionnelles

Plus en détail

Java au cœur de la base de données Oracle

Java au cœur de la base de données Oracle 32 Tips&techniques Philippe Daucourt, HEG Haute école de gestion Arc Java au cœur de la base de données Oracle Depuis la version 8i, Oracle embarque une machine virtuelle Java (JVM) au cœur de sa base

Plus en détail

FileMaker Pro 13. Utilisation d une Connexion Bureau à distance avec FileMaker Pro 13

FileMaker Pro 13. Utilisation d une Connexion Bureau à distance avec FileMaker Pro 13 FileMaker Pro 13 Utilisation d une Connexion Bureau à distance avec FileMaker Pro 13 2007-2013 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054

Plus en détail

TP Contraintes - Triggers

TP Contraintes - Triggers TP Contraintes - Triggers 1. Préambule Oracle est accessible sur le serveur Venus et vous êtes autorisés à accéder à une instance licence. Vous utiliserez l interface d accés SQL*Plus qui permet l exécution

Plus en détail

JAVA 8. JAVA 8 - Les fondamentaux du langage. Les fondamentaux du langage Java. Avec exercices pratiques et corrigés JAVA 8 29,90.

JAVA 8. JAVA 8 - Les fondamentaux du langage. Les fondamentaux du langage Java. Avec exercices pratiques et corrigés JAVA 8 29,90. Analyste et développeur pendant plus de 10 ans, Thierry GROUSSARD s est ensuite orienté vers la formation et plus particulièrement dans le domaine du développement. Sa connaissance approfondie des besoins

Plus en détail

1/ Présentation de SQL Server :

1/ Présentation de SQL Server : Chapitre II I Vue d ensemble de Microsoft SQL Server Chapitre I : Vue d ensemble de Microsoft SQL Server Module: SQL server Semestre 3 Année: 2010/2011 Sommaire 1/ Présentation de SQL Server 2/ Architerture

Plus en détail

FileMaker 13. Guide ODBC et JDBC

FileMaker 13. Guide ODBC et JDBC FileMaker 13 Guide ODBC et JDBC 2004-2013 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et Bento sont des marques commerciales de

Plus en détail

Cisco Certified Network Associate

Cisco Certified Network Associate Cisco Certified Network Associate Version 4 Notions de base sur les réseaux Chapitre 3 01 Quel protocole de la couche application sert couramment à prendre en charge les transferts de fichiers entre un

Plus en détail

Jérôme FESSY. IUT de Paris 5. Base de Données. Cours Introductif. Base de Données

Jérôme FESSY. IUT de Paris 5. Base de Données. Cours Introductif. Base de Données Base de Données Cours Introductif Base de Données Quelques chiffres Évolution annuelle moyenne 2004/2000 15% +20% 12% 5% 0.5% 2000 2004 L3G IA SG mono poste : Part de marché 5% 5% 10% Paradox 65% SG 15%

Plus en détail

XML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

XML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million XML, PMML, SOAP Rapport EPITA SCIA Promo 2004 16 janvier 2003 Julien Lemoine Alexandre Thibault Nicolas Wiest-Million i TABLE DES MATIÈRES Table des matières 1 XML 1 1.1 Présentation de XML.................................

Plus en détail

Panorama des Bases de Données

Panorama des Bases de Données Panorama des Bases de Données Didier DONSEZ Université de Valenciennes Institut des Sciences et Techniques de Valenciennes e-mail : donsez@univ-valenciennes.fr Le Modèle Relationnel Un modèle de données

Plus en détail

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions

Plus en détail

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle 1 Principes 2 Architecture 3 4 Aperçu d utilisation

Plus en détail

FileMaker Pro 12. Utilisation d une Connexion Bureau à distance avec FileMaker Pro 12

FileMaker Pro 12. Utilisation d une Connexion Bureau à distance avec FileMaker Pro 12 FileMaker Pro 12 Utilisation d une Connexion Bureau à distance avec FileMaker Pro 12 2007-2012 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054

Plus en détail

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence É C O L E D I N G É N I E U R D E S T E C H N O L O G I E S D E L I N F O R M A T I O N E T D E L A C O M M U N I C A T I O N Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION Mentions

Plus en détail

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Table des matières Avant-propos................................................ 1 Quel est l objectif de cet ouvrage?............................. 4 La structure

Plus en détail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés

Plus en détail

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

IFT3030 Base de données. Chapitre 2 Architecture d une base de données IFT3030 Base de données Chapitre 2 Architecture d une base de données Plan du cours Introduction Architecture Modèles de données Modèle relationnel Algèbre relationnelle SQL Conception Fonctions avancées

Plus en détail

CAHIER DES CHARGES D IMPLANTATION

CAHIER DES CHARGES D IMPLANTATION CAHIER DES CHARGES D IMPLANTATION Tableau de diffusion du document Document : Cahier des Charges d Implantation EVRP Version 6 Etabli par DCSI Vérifié par Validé par Destinataires Pour information Création

Plus en détail

Cahier des charges (CDC)

Cahier des charges (CDC) Cahier des charges (CDC) PTella Auteur Arnaud Aucher - Ecole Centrale Groupe PT1 3 Nom du document Version 3 Page 1 / 5 Sommaire Sommaire... 2 Présentation générale du projet... 3 1. Descriptif du projet...

Plus en détail

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS 1. Introduction Nous allons aborder la notion de surcouche procédurale au sein des SGBDS relationnels tels que Oracle (PLSQL)

Plus en détail

Installation du client

Installation du client 1 Oracle NET Installation du client Étapes similaires à l installation du serveur. Un client Oracle doit au minimum le composant Oracle Net qui permet d accéder à une base Oracle du réseau. Types d installation:

Plus en détail

Le langage SQL (première partie) c Olivier Caron

Le langage SQL (première partie) c Olivier Caron Le langage SQL (première partie) 1 Plan Le S.G.B.D. postgres Le langage SQL Langage de manipulation de données Langage de requêtes 2 Quelques mots sur Postgres (1/2) Travaux de Stonebraker (Univ. Berkeley)

Plus en détail

Refonte front-office / back-office - Architecture & Conception -

Refonte front-office / back-office - Architecture & Conception - Refonte front-office / back-office - Architecture & Conception - GLG204 - Architectures Logicielles Java 2008/2009 Nom : Cédric Poisson Matricule : 06-49012 Version : 1.0 Jeudi 28 mai 2009 1 / 23 Table

Plus en détail

Architecture Orientée Service, JSON et API REST

Architecture Orientée Service, JSON et API REST UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API

Plus en détail

Cours Bases de données

Cours Bases de données Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles

Plus en détail

WebObjects : des applications dynamiques pour Internet et Intranet. Approche technologique

WebObjects : des applications dynamiques pour Internet et Intranet. Approche technologique WebObjects : des applications dynamiques pour Internet et Intranet Approche technologique Apple Entreprise Software & Services Juin 1998 Sommaire Synthèse 4 WebObjects, des besoins aux solutions 6 Cahier

Plus en détail

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Introduction Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Forms 10g permet l utilisation du JAVA côté client et côté application

Plus en détail

FileMaker 10. Guide ODBC et JDBC

FileMaker 10. Guide ODBC et JDBC FileMaker 10 Guide ODBC et JDBC 2004-2009 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054, Etats-Unis FileMaker, le logo en forme de dossier,

Plus en détail

Création d une application JEE

Création d une application JEE Création d une application JEE Rédacteurs : Alexandre Baillif, Philippe Lacomme, Raksmey Phan et Michaël PLAN Date : juillet 2010 Mise à jour : Michaël PLAN Date : octobre 2014 Avertissement : - ce document

Plus en détail

Comment booster vos applications SAP Hana avec SQLSCRIPT

Comment booster vos applications SAP Hana avec SQLSCRIPT DE LA TECHNOLOGIE A LA PLUS VALUE METIER Comment booster vos applications SAP Hana avec SQLSCRIPT 1 Un usage optimum de SAP Hana Votre contexte SAP Hana Si vous envisagez de migrer vers les plateformes

Plus en détail

Architecture de la plateforme SBC

Architecture de la plateforme SBC Simple Business Connector Architecture de la plateforme SBC Titre Projet Description Architecture de la plateforme SBC Plateforme SBC Ce document reprend toutes les étapes de l'installation du serveur

Plus en détail

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 1 BERNIER François http://astronomie-astrophotographie.fr Table des matières Installation d un serveur HTTP (Hypertext Transfer

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Initiation aux bases de données (SGBD) Walter RUDAMETKIN Initiation aux bases de données (SGBD) Walter RUDAMETKIN Bureau F011 Walter.Rudametkin@polytech-lille.fr Moi Je suis étranger J'ai un accent Je me trompe beaucoup en français (et en info, et en math, et...)

Plus en détail

Hébergement de sites Web

Hébergement de sites Web Hébergement de Solutions complètes et évolutives pour l hébergement de sites Web dynamiques et de services Web sécurisés. Fonctionnalités Serveur Web Apache hautes performances Apache 1. et.0 1 avec prise

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

Cours CCNA 1. Exercices

Cours CCNA 1. Exercices Cours CCNA 1 TD3 Exercices Exercice 1 Enumérez les sept étapes du processus consistant à convertir les communications de l utilisateur en données. 1. L utilisateur entre les données via une interface matérielle.

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme 1 2 c est quoi? Technologie développée par SUN Microsystems lancée en 1995 Dans un des premiers papiers* sur le langage JAVA, SUN le décrit

Plus en détail

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09 INFORMATIQUE & WEB Code du diplôme : CP09 Passionné par l informatique et le web, vous souhaitez obtenir une certification dans un domaine porteur et enrichir votre CV? PARCOURS CERTIFICAT PROFESSIONNEL

Plus en détail

Gestion distribuée (par sockets) de banque en Java

Gestion distribuée (par sockets) de banque en Java Gestion distribuée (par sockets) de banque en Java Université Paris Sud Rappel sur la solution locale de gestion simple de banque L objet de cet exercice était de créer une application java qui implante

Plus en détail

Remote Method Invocation en Java (RMI)

Remote Method Invocation en Java (RMI) Remote Method Invocation en Java (RMI) Modélisation et construction des applications réparties (Module M-4102C) J. Christian Attiogbé Fevrier 2015 J. Christian Attiogbé (Fevrier 2015) Remote Method Invocation

Plus en détail

Logiciel de gestion de caisse et d ardoises

Logiciel de gestion de caisse et d ardoises 6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Logiciel de gestion de caisse et d ardoises BOIRLEAUD Pierre-Jean MOLINS Nicolas REHFELD Vincent Table des matières

Plus en détail

Bases de données avancées Introduction

Bases de données avancées Introduction Bases de données avancées Introduction Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours BDA Plan Objectifs et contenu du cours Rappels BD relationnelles Bibliographie Cours BDA (UCP/M1)

Plus en détail

GPC Computer Science

GPC Computer Science CYCLE ISMIN P2015 GPC Computer Science P LALEVÉE lalevee@emse.fr @p_lalevee A3.01 0442616715 C YUGMA yugma@emse.fr A3.01 0442616715 01/09/2014 Présentation GPC CS - Ph. Lalevée - C Yugma 1 Scolarité Site

Plus en détail

Qu est-ce que ArcGIS?

Qu est-ce que ArcGIS? 2 Qu est-ce que ArcGIS? LE SIG ÉVOLUE Depuis de nombreuses années, la technologie SIG améliore la communication, la collaboration et la prise de décision, la gestion des ressources et des infrastructures,

Plus en détail

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40 Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr

Plus en détail

Tutoriel XBNE Connexion à un environnement XBMC distant

Tutoriel XBNE Connexion à un environnement XBMC distant Tutoriel XBNE Connexion à un environnement XBMC distant 1. Introduction... 3 2. Quelques notions d informatique... 4 2.1 Réseau informatique... 4 2.1.1 Adresse ip... 4 2.1.2 Fixer l adresse ip d un équipement...

Plus en détail