Matthieu PASCAUD. IFI Solution J.S.C P2503, building 24T 1 Hoang Dao Thuy Hanoi, Vietnam. Maître de stage : Monsieur DINH Van Hoan

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

Download "Matthieu PASCAUD. IFI Solution J.S.C P2503, building 24T 1 Hoang Dao Thuy Hanoi, Vietnam. Maître de stage : Monsieur DINH Van Hoan"

Transcription

1 Matthieu PASCAUD IFI Solution J.S.C P2503, building 24T 1 Hoang Dao Thuy Hanoi, Vietnam Master Informatique Option Intelligence Artificielle et Multimédia IFI Vietnam Master Ingénierie Informatique Université de La Rochelle France Stage effectué du 15 février 2009 au 15 juillet 2009 Maître de stage : Monsieur DINH Van Hoan

2 Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 2

3 Table des matières 1. Remerciements Résumé Abstract Introduction Présentation du cadre du stage Présentation du Vietnam Présentation de l entreprise Contexte de travail L équipe L environnement de travail La langue Présentation du projet Cahier des charges L architecture de l application Le déroulement du stage Les liens entre la base de données et les fichiers clients La base de données Les besoins de l application Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 3

4 6.7. Les solutions pour le projet Les ordonnanceurs en Java Qu est qu un ordonnanceur? Planification de tâches avec le JDK ( API Timer) Quartz Au final, quelle solution choisir? Un exemple de planification avec Quartz L accès à la base de données avec hibernate Pourquoi utiliser hibernate? Présentation Utilisation Le moteur PortailTV Les composants du moteur Les diagrammes de classes Connexion Accès à la base de données (util) Le moteur Les servlets Les classes de mapping La connexion au serveur FTP Manipulation des fichiers CSV Le fonctionnement du moteur de PortailTV Exécution des tâches sur le serveur BEA Weblogic Les fichiers de configuration Les difficultés rencontrées Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 4

5 8. Conclusion Bibliographie Annexes Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 5

6 Table des figures Matthieu Pascaud, ULR IFI, IFI Solution Figure 1 : compétences au sein d IFI Solution Figure 2 : les secteurs dans lesquelles IFI Solution travaille Figure 3 : architecture de l application Portail TV Figure 4 : description des fichiers profile clients Figure 5 : exemple de fichier profile client Figure 6 : description des fichiers «détails clients» Figure 7 : exemple de fichier «détails clients» Figure 8 : description des fichiers «détails consommation» Figure 9 : exemple de fichier «détails consommations» Figure 10 : description des fichiers «prévisions météo» Figure 11 : exemple de fichier «prévision météo» Figure 12 : description de fichier «météo» Figure 13 : exemple de fichier «météo» Figure 14 : Job «Hello World» Figure 15 : architecture hibernate Figure 16 : diagramme de classes de la connexion Figure 17 : diagramme de classe pour l accès à la base de données Figure 18 : diagramme de classes du moteur Figure 19 : diagramme de classes "servlet" Figure 20 : classe SuiviConsoGaz Figure 21 : classes de mapping de la base de données Figure 22 : exemple de fichier CSV Figure 23 : administration pour la planification des tâches Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 6

7 1. Remerciements Je tiens tout d abord à remercier Monsieur Dinh Van Hoan, mon responsable de stage au sein de la société IFI Solution. Il s est montré très disponible durant cinq mois. J ai pu, grâce à lui, progresser, le questionner lorsque j avais des difficultés. Mes remerciements vont également aux employés d IFI Solution qui m ont apporté leur aide semaine après semaine durant toute la durée de mon stage et plus particulièrement Mademoiselle Tran Thi Ngoc Tram et Monsieur Quan. Je remercie également Monsieur Alain BOUCHER, Directeur des études de l IFI et Monsieur Ho Tuong Vinh qui m ont permis d effectuer ce stage, sans oublier l équipe enseignante pour leur aide. Enfin, mes remerciements vont à Monsieur Rémy Mullot à qui je dois de bénéficier de cette expérience au Vietnam. Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 7

8 2. Résumé Matthieu Pascaud, ULR IFI, IFI Solution Ce mémoire est l aboutissement de cinq mois de stage au sein de la société IFI Solution. Il entre dans le cadre de ma formation en Master, au sein de l Institut de la Francophonie pour l Informatique, en partenariat avec l université de La Rochelle. Le projet sur lequel j ai travaillé provient d une demande effectuée par Edelia (filiale du groupe EDF). Nommé Portail TV, il a pour but de permettre aux clients EDF de visualiser leur consommation d énergie (électricité, gaz, eau) via un écran de télévision ou internet. Cette application a également pour objectif de diminuer les consommations d énergie. En effet, le client pourra recevoir des alertes en cas de dépassement d un niveau de consommation fixé. On distinguera plusieurs parties dans cette application. En effet, il faudra dans un premier temps récupérer toutes les informations concernant les clients, traiter ces données et les insérer dans la base centrale de données. L objectif sera ensuite de permettre au client de visualiser sa consommation, sa prévision et toutes les données le concernant. Mots clés : Développement, J2EE, Java, Hibernate, JSP, Servlets. Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 8

9 3. Abstract Matthieu Pascaud, ULR IFI, IFI Solution This memory is the result of five months spent training in the company IFI Solution. This course falls within the framework of my Master at the French Speaking Institute for computer sciences in partnership with the University of La Rochelle. The project I worked on from a request made by Edelia (a subsidiary of EDF). This project is called TV Portal. The aim of this project is to enable customers to view their EDF Energy consumption (electricity, gas, water) via a television screen or internet. This application also seeks to reduce energy consumption. Indeed, the client can receive alerts in case of exceeding a fixed level of consumption. There are several parties in this application. Indeed, it must first retrieve all information about customers, and process the data and insert them into the central database. It will then allow the customer to view their consumption, forecast and all the data. Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 9

10 4. Introduction Matthieu Pascaud, ULR IFI, IFI Solution Ce stage de fin d étude intervient dans le cadre de mon master 2 effectué au sein de l Institut de la Francophonie pour l Informatique à Hanoi, en partenariat avec l université de La Rochelle. Il s est déroulé durant cinq mois dans la société IFI Solution basée à Hanoi, capitale du Vietnam. Le projet réalisé, Portail TV, est une initiative d Edelia, filiale d EDF. A l heure actuelle, la consommation d énergie est un sujet qui revient quotidiennement ; l objectif de Portail TV est de permettre au client de visualiser sa consommation, ou plutôt de la surveiller. En effet, cette démarche aurait pour but de réduire la consommation des utilisateurs. Le projet réalisé conjointement avec Thibaud FAURE devait utiliser les données des clients et ensuite leur permettre de visualiser ses données via un écran de télévision ou internet. A la demande du client, les contraintes imposées était d utiliser l architecture SOA (serviceoriented architecture) et de le déployer sur un serveur Weblogic 8.1. On distinguera deux parties dans le projet PortailTV : La partie récupération des données clients, traitement des données, mise à jour de la base centrale de données, La partie client qui va lui permettre de visualiser ses données de consommation. Je ne parlerai principalement que de la partie récupération des données, traitements des données, mise à jour de la base car la partie client a été réalisée par Thibaud FAURE. Une des principales difficultés lors de ce stage était de trouver quelles technologies et quelles solutions utiliser pour finaliser ce projet. Je présenterai donc dans un premier temps de quelle manière j ai abordé le stage et quelles solutions j ai utilisées. Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 10

11 5. Présentation du cadre du stage 5.1. Présentation du Vietnam Une des particularités de ce stage réside dans le fait qu il s est déroulé au Vietnam. Il me paraît important de parler de ce pays, dont les coutumes de vie, culture d entreprise et vie culturelles sont différentes de ce que je connais en France. C est donc une expérience extrêmement enrichissante autant sur le plan de l expérience professionnelle que du point de vue sociologique. Voici une présentation succincte du Vietnam : Le Vietnam et sa République Socialiste est l'un des pays de l'asie du Sud Est qui connait une des plus importantes croissances économiques avec plus de 8% en 2007 ; une enquête socioéconomique en Asie Pacifique rapporte que le Vietnam poursuivra son développement sur le même rythme dans les prochaines années. Avec un avenir prometteur et son entrée à l'organisation Mondiale du Commerce (OMC), l'investissement étranger au Vietnam augmente fortement. L'investissement direct étranger en 2006 s'était élevé à plus de 10,2 milliards de dollars. Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 11

12 5.2. Présentation de l entreprise Fondée début 2003, la société IFI Solution, située à Hanoi au Vietnam, est spécialisée dans le développement informatique en offshore. Ses clients sont donc principalement des entreprises européennes souhaitant externaliser un projet à l étranger. Elle a été créée par des anciens étudiants de l IFI et a donc maintenant plus de 6 ans d expérience dans les services de sous traitance de logiciel. La société propose un éventail de services d offshore programming qui sont divisés en trois catégories : le développement logiciel, la certification/vérification, et le développement Web. Elle est bien sûr en mesure de développer tous ses projets sur plates formes Windows, Linux/Unix et Mac OS. Grâce à l accomplissement de travaux dans des domaines très variés, IFI Solution a su acquérir de l expérience et de la notoriété. Que ce soit dans le domaine médical, de l aviation, des télé services ou des grands groupes industriels, sa polyvalence et ses compétences lui permettent de répondre à de nombreuses offres. Elle fait ainsi partie des dix meilleures entreprises du Vietnam dans le domaine de la sous traitance de logiciels pour des entreprises européennes. Elle est également numéro un dans la sous traitance de logiciels embarqués pour le marché français. Les différentes compétences que possèdent les employés d IFI Solution sont répertoriées dans le tableau ci dessous : Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 12

13 Figure 1 : compétences au sein d IFI Solution A ce jour, l objectif d IFI Solution est de devenir un leader de l offshore informatique et de conquérir de nouveaux clients issus des petites et moyennes entreprises en Europe et aux États Unis. Les ingénieurs d IFI Solution sont diplômés des prestigieuses universités vietnamiennes et étrangères, dont fait partie l IFI. Ils ont pour la plupart un Master Informatique, et ont eu une ou plusieurs expériences professionnelles à l étranger. De plus, au sein de l entreprise, tous les employés sont conduits à parler en Anglais, voire en Français pour ceux d entre eux l ayant étudié au Vietnam ou pratiqué durant leur stage de fin d études en France (de deux mois à quatre ans). IFI Solution et l IFI ont ainsi une coopération active, démontrée par la cérémonie des «Top IFI Awards» qui a lieu tous les ans et durant laquelle des étudiants de l IFI reçoivent des prix de la part d IFI Solution, prix décernés aux étudiants du Master de l'ifi qui ont obtenu les meilleurs résultats dans les modules jugés utiles pour leur réussite au sein d'une entreprise. Ces «Awards» sont donc décernés pour les meilleurs résultats dans les cours "Génie logiciel avancé" et "Français et communication" ainsi qu à l étudiant ayant eu la meilleure progression dans le cours "Français et communication". Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 13

14 IFI Solution a depuis 2003 acquis des connaissances dans les domaines et secteurs répertoriés dans le tableau qui suit : [8] Figure 2 : les secteurs dans lesquelles IFI Solution travaille De plus, IFI Solution a obtenu la normalisation ISO 9001 : 2000, apportant une vision sérieuse de leur entreprise vis à vis de leurs clients actuels ou clients potentiels. En effet, cette norme spécifie les exigences relatives au système de management de la qualité lorsqu'un organisme : 1. doit démontrer son aptitude à fournir régulièrement un produit conforme aux exigences des clients et aux exigences réglementaires applicables, 2. vise à accroître la satisfaction de ses clients par l'application efficace du système, y compris les processus pour l'amélioration continue du système et l'assurance de la conformité aux exigences des clients et aux exigences réglementaires applicables. Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 14

15 5.3. Contexte de travail L équipe Matthieu Pascaud, ULR IFI, IFI Solution Mon stage s est déroulé sous la responsabilité de Mr DINH Van Hoan, mon tuteur de stage au sein d IFI Solution. Dans ce cadre, il simulait les attentes du client, de sorte que, chaque semaine, un rapport ainsi qu une discussion à propos de l avancement du projet soient effectués. Pour toutes questions techniques, je pouvais demander aux chefs de projet Melle Tram et Mr Quan L environnement de travail Le développement s est déroulé sous le système d exploitation XP Professional. L environnement de développement était composé d Eclipse 3.2 ainsi que de Weblogic 8.1. Ce dernier nous permettait de tester l application en local La langue Au sein de la société IFI Solution, la communication s effectue le plus souvent en vietnamien, mais également en anglais ou en français, ce qui m a conduit à utiliser les deux et ainsi de progresser en anglais. Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 15

16 6. Présentation du projet 6.1. Cahier des charges Portail TV est une application qui a pour but d afficher les informations de consommation d énergie via l écran de la télévision. Pour une normalisation au standard industriel, le client d IFI Solution va immigrer cette application en nouvelle plate forme. Il va convertir aussi des données en forme accessible à travers l Internet. Dans le cadre du stage chez IFI Solution, le stagiaire doit : * faire de la modélisation du moteur à planifier dans l environnement de J2EE WebLogic 8.1 pour le traitement des données dans une base de données centrale * participer à l implémentation du système, * se familiariser avec les processus du développement de logiciel qui sont appliqués au sein IFI Solution. Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 16

17 6.2. L architecture de l application Station météo Fichiers CSV Client Edelia Fichiers CSV Base de données MOTEUR (application) Figure 3 : architecture de l application Portail TV Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 17

18 Le schéma de l application désirée se compose comme suit. Le client va envoyer ses données de consommation par l intermédiaire d un modem ; celles ci seront envoyées de manière journalière au serveur FTP. Les données météo seront également envoyées de la même manière. On compte en général une station météo par ville. L application que l on m a demandé de réaliser est le moteur. Celui ci va permettre de récupérer les données sur le serveur FTP, traiter ces données afin de les rendre compatibles avec la base de données pour la mettre à jour. Le client doit pouvoir visualiser sa consommation dans un délai de 24 heures après l envoi de ses données sur le serveur FTP. Les seules informations que je possédais pour finaliser le projet étaient les fichiers de consommations issues des clients enrichies d une brève description. Voir annexe Le déroulement du stage Plusieurs étapes sont à distinguer lors du déroulement du stage. Premièrement, j ai travaillé sur un projet destiné au client Edelia. J ai pu me familiariser avec la technologie J2EE ainsi que les servlets dans un environnement de développement Eclipse. Cette démarche, qui s est déroulée sur plusieurs semaines, m a permis de faire connaissance avec l équipe du projet, d appréhender la base de données utilisée pour mon sujet de stage. Une fois cette étape dépassée, il m a fallu faire une présentation de la base de données et des différentes relations entre les tables afin de savoir si je les avais bien assimilées. Une grosse partie du travail fut ensuite d étudier la faisabilité, de chercher les solutions techniques adéquates pour enfin définir les spécifications du projet. Voici le planning initialement prévu pour le déroulement du stage : Date de début Date de fin Découverte de l entreprise, des projets déjà réalisés. Réalisation d u planning. Travail sur un projet Edelia (HCS). Appréhension de la base de données. 15/02/ /03/2009 Analyse des besoins et étude de la faisabilité 26/03/ /04/2009 Spécification - Conception 14/04/ /04/2009 Codage-implémentation 23/04/ /06/2009 Tests 23/06/ /07/2009 Déploiement sous serveur Weblogic 8.1, livraison 02/07/ /07/2009 Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 18

19 Le codage et le déploiement sous Weblogic 8.1 se sont avérés plus longs que prévu en raison d un mauvais choix de l environnement de développement : utilisation de Java 1.5 au lieu de Java Les liens entre la base de données et les fichiers clients Voici les fichiers clients présents sur le serveur FTP qu il faut utiliser afin de mettre à jour la base de données : Figure 4 : description des fichiers profile clients Figure 5 : exemple de fichier profile client Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 19

20 Figure 6 : description des fichiers «détails clients» Figure 7 : exemple de fichier «détails clients» Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 20

21 Figure 8 : description des fichiers «détails consommation» Figure 9 : exemple de fichier «détails consommations» Figure 10 : description des fichiers «prévisions météo» Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 21

22 Figure 11 : exemple de fichier «prévision météo» Figure 12 : description de fichier «météo» Figure 13 : exemple de fichier «météo» Comme on peut le constater les fichiers sont de type CSV, c'est à dire que chaque champ est séparé par une virgule. Ces fichiers seront donc faciles à traiter La base de données Elle comporte un grand nombre de classes mais seules certaines nous seront utiles. Un problème intervient assez rapidement : les fichiers d entrées ne correspondent pas exactement à la base de données. En effet, les fichiers exemples ne proviennent pas de France et ne sont pas similaires aux champs de la base. Avec l aide des chefs de projets qui Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 22

23 travaillent sur cette base, il a finalement été possible de lier les champs des fichiers CSV avec les champs de la base de données Les besoins de l application Cette application est destinée au client Edelia (filiale d EDF). Il faut donc prévoir un grand nombre d utilisateurs. Les fichiers présents sur le serveur FTP sont donc volumineux et comportent un grand nombre d enregistrements. Il y aura donc une contrainte de performance qui va apparaître. En effet, un client Edelia doit pouvoir consulter sa consommation dans les 24 heures suivant l envoi de ses données de consommation. Pour éviter de surcharger le réseau et utiliser de la bande passante inutilement, on va planifier les tâches de téléchargement de fichiers et de mise à jour de base de données. D où le besoin de moteur de planification. Ceci permet également d effectuer des tâches sans intervention humaines. Un autre point important est la réutilisabilité de l application. En effet, les fichiers en entrée peuvent être changés ainsi que la base de données. Le code doit donc être réutilisable facilement. C est pour cela qu il faut choisir les solutions adéquates Les solutions pour le projet Une des fonctionnalités de l application était la planification de tâches. Plusieurs solutions se sont donc présentées à moi. Une précision qu il est utile de rajouter est que la méthode choisie devait être gratuite. J ai donc effectué une longue recherche sur les solutions les plus adéquates afin de planifier des tâches en Java, l objectif final étant de choisir la mieux adaptée à l application Les ordonnanceurs en Java Qu est qu un ordonnanceur? Beaucoup d'applications d'entreprise nécessitent des traitements souvent longs et coûteux en ressources système. Lorsque ces traitements ne nécessitent pas d'interaction avec l'utilisateur, leur déclenchement peut être différé sur une période de charge faible, afin de Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 23

24 ne pas détériorer les temps de réponse. Depuis la version 1.4, java permet d'effectuer des planifications de tâche simples. Cependant les applications d'entreprise exigent des possibilités de reprise après panne, haute disponibilité, etc C'est ce que propose Quartz, une librairie open source. [1] Voici la liste des ordonnanceurs candidats pour l utilisation de ceux ci au sein du projet : Quartz : Timer Java API : java.util.timer, java.util.timertask Nous allons maintenant commenter les différents avantages et inconvénients de chaque méthode Planification de tâches avec le JDK ( API Timer) La version 1.3, l API standard de Java propose un système de planification de tâches basique au travers des classes java.util.timer et java.util.timertask. La classe Timer représente le scheduler et TimerTask, une tâche à exécuter. On définit une tâche avec une classe qui dérive de TimerTask et implémente la méthode run(). Une instance de la tâche est ensuite passée au Timer en spécifiant des paramètres de planification. Ce dernier exécute ensuite la méthode run() à la date programmée.[2] Le Timer, comme tous les scheduler ne peut pas empêcher l apparition des retards. Mais généralement les schedulers proposent des solutions pour les minimiser ou les contourner en amortissant le retard d une tâche sur les suivantes, quitte à ne pas respecter un intervalle défini. De plus la probabilité et le temps moyen des retards augmentent avec le nombre de tâches, surtout si plusieurs sont programmées en même temps. Et dans ce cas, le Timer n est pas adapté. La raison réside dans son implémentation. Il dispose d une file d attente de tâches ordonnées par date croissante de prochain démarrage et d un thread de traitement. L algorithme implémenté est simple : le thread se met en attente de la première tâche de la file. Lorsque la date d exécution est atteinte, le thread appelle la méthode run(), met à jour la prochaine date d exécution de la tâche et se remet en attente. La présence d un seul thread de traitement interdit d optimiser les exécutions concurrentes de tâches. Malheureusement ce mode d utilisation est fréquent sur les applications d entreprise, généralement distribuées. Dans une application distribuée plusieurs tâches peuvent Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 24

25 facilement s exécuter en parallèle pour optimiser l utilisation des ressources. Une tâche peut effectuer un calcul tandis qu une seconde effectue des requêtes sur une base de données, et une troisième effectue un transfert de fichier Le Timer n est donc pas optimal dans ce genre d application, mais tel n est pas son but, d autant qu il existe une spécification pour un Timer «j2ee» géré par un conteneur de serveur d application. D autres points font du Timer un composant pour des applications standards et non «entreprise» : pas de planification sophistiquée, pas de persistance des tâches, pas de système de gestion des tâches évolué. Cependant les cas d utilisation du Timer sont multiples et ce dernier reste intéressant pour sa grande simplicité et son intégration dans l API standard. Cet ordonnanceur a l avantage d être simple et peut fonctionner sur toutes les plateformes car inclus dans l API Java depuis la version Quartz Quartz est une librairie java offrant des fonctions de planification de tâches. Elle est développée par le projet open source OpenSymphony qui est responsable d une dizaine d autres sous projets tel que WebWork. Ces sous projets sont principalement dans le domaine du développement de composants J2EE en recherchant avant tout la simplicité d intégration et d utilisation. Il peut être autant utilisé sur des projets de grande envergure que sur de petits projets et permet la planification simple et complexe de tâches. A titre d exemple, vous pouvez définir qu une tâche soit exécutée tous les jours à telle heure, toutes les 24 heures, ou bien encore tous les lundis et mercredis de chaque semaine. Dès lors, Quartz permet un large éventail de possibilités au niveau des planifications et peut répondre ainsi aux besoins de chacun, au cas par cas. Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 25

26 Quartz permet donc d exécuter à des moments très précis des tâches qui seraient par exemple nécessaires pour effectuer de la maintenance quotidienne, des migrations de données ou encore le nettoyage répétitif de répertoires données[3]. Voici une liste non exhaustive des possibilités de planification: Planification fournissant un paramétrage très fin. On peut faire des tâches ponctuelles à une date précise, des tâches répétitives avec un nombre de répétitions paramétré et un délai entre chaque appel, ou bien utiliser une expression cron (chaîne de caractères) pour des planifications plus précises. Séparation entre les tâches exécutables ("Jobs") et les planifications ("Triggers"). On en tire une grande souplesse dans la gestion de l'ordonnancement. Gestion d'erreur. Les Jobs peuvent remonter des JobExecutionException qui indiquent le comportement à adopter par le Scheduler. On peut relancer le Job immédiatement, supprimer le trigger qui l'a invoqué ou supprimer tous les Triggers. On peut aussi définir un comportement pour une planification ratée (ie. pas exécutée à la bonne date). Jobs avec ou sans états. Quartz gère les données afférentes aux tâches dans un JobDataStore qui permet à chacune des tâches de récupérer des paramètres et/ou de modifier des données de son contexte. Pour chaque Job, on peut spécifier si les données doivent être maintenues entre chaque appel ou non. Notez bien qu'un Job StateFull ne peut s'exécuter en mode parallèle. Persistance des Jobs. On peut configurer Quartz pour sauvegarder en base de données toutes les planifications, afin de pouvoir redémarrer l'application sans perte. Mode client / serveur. Le Scheduler peut exposer ses services en RMI à destination d'autres Schedulers qui fonctionneront en proxy et reporteront leurs appels au serveur. Support des transactions JTA. Quand la persistance est activée, on peut configurer l'ordonnanceur pour participer aux transactions. Mise en cluster. En mode persistant, on peut configurer plusieurs Schedulers en cluster. Au moment où un Trigger doit se déclencher, un Scheduler pose un verrou dessus et le traite, ce qui répartit naturellement la charge. Pour la reprise sur erreur, Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 26

27 quand une instance tombe, les autres vont récupérer les Jobs qui lui étaient affectés et feront tourner ceux marqués pour recouvrement ("request recovery"). Il est par exemple possible d effectuer une planification des tâches de la manière suivante : exécuter à un moment donné de la journée ou de la nuit à la milliseconde, exécuter certains jours de la semaine, du mois ou de l année, exécuter quotidiennement sauf certains jours, répéter un nombre donné de fois, répéter tous les x temps jusqu à une date donnée, répéter indéfiniment. Les avantages de Quartz par rapport aux timers de Java sont les suivants : La gestion des retards : elle permet de prévoir une action lorsque la tâche a été annulée ou a pris du retard. Le multithreading : il prend en charge plusieurs tâches afin de pouvoir les gérer en parallèle. La persistance des tâches : celle ci permet de garder en mémoire l'ordonnancement dans le cas d'une panne de machine par exemple.[4] En outre, Quartz s'inscrit dans le projet OpenSymphony. Quartz est opensource et se trouve entièrement compatible avec Apache Software License ou encore avec le serveur Weblogic. Enfin, l'installation est très simple. Il suffit de télécharger Quartz puis d'ajouter les librairies suivantes dans le classpath de l'application : lib/quartz.jar [librairie principale] lib/commons logging.jar lib/quartz weblogic.jar Au final, quelle solution choisir? Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 27

28 Les besoins de l application sont les suivants : Paramétrage fin de l ordonnancement Gestion des retards Evolution possible de l application Après avoir testé les solutions précédentes grâce à des exemples, j ai choisi d utiliser Quartz. En effet, les fonctionnalités sont beaucoup plus évoluées et permettent d ordonnancer, de manière précise une application d entreprise comme celle que je devais réaliser. Le fait de pouvoir passer, en paramètre une expression telle que Cron (chaîne de caractères définissant l horaire de planification) a été une des raisons de mon choix. En effet, cela permet une administration relativement aisée. Il suffit de passer une chaine de caractère (expression cron) pour définir l heure d ordonnancement. Quartz permet également de gérer les erreurs. En effet, on peut savoir si une tâche a été exécutée ou non, ce qui n est pas le cas du Timer de l API Java. Une raison, et pas la moindre, qui m a poussé à choisir Quartz, est sa documentation riche et ses exemples très complets Un exemple de planification avec Quartz Il existe principalement trois types d objets : le Scheduler, les Jobs et les Triggers. Un Job (travail) représente une tâche à exécuter, un Trigger (déclencheur), le mécanisme de planification d une tâche. Concernant les relations, un job peut être utilisé par plusieurs trigger, mais un trigger n est associé qu à un seul job. La classe Test correspond à l ordonnanceur (scheduler). On va déclarer chaque tâche qu on souhaite exécuter et avec quel intervalle de temps. Dans l exemple suivant la tâche ou encore le job sera exécuté toutes les 20 secondes, ceci étant défini dans l expression cron suivante : "0/20 * * * *?". public class Test { public void run() throws Exception { SchedulerFactory sf = new StdSchedulerFactory(); Scheduler sched = sf.getscheduler(); JobDetail job = new JobDetail("job1", "group1", HelloWorld.class); CronTrigger trigger = new CronTrigger("trigger1", "group1", "job1","group1", "0/20 * * * *?"); trigger.setpriority(10); sched.addjob(job, true); Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 28

29 Date ft = sched.schedulejob(trigger); sched.start(); public static final void main(string[] args) throws Exception { Test test = new Test(); test.run(); public static final void main(string[] args) throws Exception { Test test = new Test(); test.run(); La classe suivante représente le «Job», c'est à dire la tâche qui va être lancée par l ordonnanceur. public class HelloWorld implements Job { /** * Quartz requires a public empty constructor so that the * scheduler can instantiate the class whenever it needs. */ public HelloWorld() { /** * JobExecutionException * if there is an exception while executing the job. */ public void execute(jobexecutioncontext context) throws JobExecutionException { // This job simply prints out its job name and the // date and time that it is running String jobname = context.getjobdetail().getfullname(); System.out.println("Job download says Hello World: " + jobname + " executing at " + new Date()); Le résultat de l exécution de cet exemple sous l environnement de développement Eclipse est le suivant : Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 29

30 Figure 14 : Job «Hello World» Le job «HelloWorld» est bien exécuté toutes les 20 secondes comme on peut le voir sur la console Eclipse. Dans cet exemple, un seul job est lancé ce qui n est pas le cas dans notre application. On utilisera donc un système de priorité afin de gérer les accès concurrents. trigger.setpriority(10); L accès sera donné au Trigger dont la valeur de priorité est la plus importante L accès à la base de données avec hibernate Il m a été demandé d utiliser le framework hibernate pour l accès à la base de données. Nous allons décrire ce framework avec les différents avantages qu il apporte. Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 30

31 Pourquoi utiliser hibernate? Hibernate va permettre d améliorer la communication entre une base de données relationnelle (celle utilisée) et l univers objet. Sans utilisation de ce type de framework, on fait face à des problèmes de performance et des développement onéreux. Les fonctionnalités du framework hibernate et ses avantages sont divers. En voici une liste : gère la persistance des données abstraction de la couche de données permet la communication entre bases de données relationnelles et environnement objet fonctionne sous le serveur BEA Weblogic open source Ces avantages répondent complètement au besoin de l application. En effet, le changement de la base de données ou son évolution ne causera pas de perte de temps en termes de maintenance car la couche de données est rendue abstraite avec ce framework. Le besoin de performance incite également à utiliser Hibernate puisqu il s agit d une application destiné à EDF et dont le nombre de clients est très important. La performance sera donc un critère de choix. Dans notre cas, le framework hibernate permettra de rendre l application évolutive (notamment si l on souhaite changer de base de données), mais également de gagner du temps en développement et enfin il améliorera les performances lorsqu il s agira de manipuler un volume important de données Présentation Hibernate est un framework open source gérant la persistance des objets en base de données relationnelles. Hibernate est adaptable en termes d'architecture, il peut donc être utilisé aussi bien dans un développement client lourd, que dans un environnement web léger de type Apache Tomcat Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 31

32 ou dans un environnement J2EE complet : WebSphere, JBoss Application Server et WebLogic de BEA Weblogic. Il apporte une solution aux problèmes d'adaptation entre le paradigme objet et les SGBD en remplaçant les accès à la base de données par des appels à des méthodes objet de haut niveau[5]. Voici comment se présente l architecture d hibernate : Figure 15 : architecture hibernate Ce type de technologie peut être appelé framework de mapping objet relationnel ou de persistance objet des données. En effet, la couche applicative voit les données comme des classes dont le contenu reste en mémoire même après la fin d'exécution du programme, d'où persistance des données. De plus, le lien entre les classes exposées et la source physique des données (souvent une base de données relationnelle) est définie par un fichier xml, d'où mapping objet relationnel Utilisation L utilisation d hibernate nécessite plusieurs étapes : Création du fichier de configuration xml. Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 32

33 Création du fichier de mapping xml. Classe HibernateUtil. Création du fichier de configuration xml Le fichier crée va permettre d'indiquer au moteur d'hibernate les paramètres de connexion à la base de données. <?xml version='1.0' encoding='utf-8'?> <!--DOCTYPE hibernate-configuration SYSTEM "hibernate-configuration- 3.0.dtd"--> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" " <hibernate-configuration> <!-- Oracle config --> <session-factory> <property name="hibernate.connection.driver_class">oracle.jdbc.driver.oracledriver</p roperty> <property property> <property name="hibernate.connection.username">aaaaa</property> <property name="hibernate.connection.password">aaaaa</property> <property name="hibernate.connection.pool_size">10</property> <property name="dialect">org.hibernate.dialect.oracledialect</property> <property name="show_sql">false</property> <mapping resource="oracle_portailtv_config.hbm.xml" /> </session-factory> <!-- Oracle config--> </hibernate-configuration> Création du fichier de mapping xml Ce fichier est un élément majeur puisqu'il va permettre à Hibernate de faire le pont entre les classes de persistance et la source de données[6]. <?xml version="1.0"?> <!--DOCTYPE hibernate-mapping SYSTEM "hibernate-mapping-3.0.dtd"--> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 33

34 " <hibernate-mapping> <class name="dao.referent" table="referent"> <id name="refid" type="integer" column="ref_id"> </id> <property name="clcid" column="clc_id" type="integer" /> <property name="clgid" column="clg_id" type="integer" /> <property name="prsid" column="prs_id" type="integer" /> <property name="socid" column="soc_id" type="integer" /> <property name="refnrefappli" column="ref_r_ref_appli" type="integer" /> <property name="reflogin" column="ref_login" type="string" /> <property name="reftpasswd" column="ref_t_passwd" type="string" /> <!--property name="clgnnum" column="clg_n_num" type="string" /> <property name="fndid" column="fnd_id" type="integer" /--> <property name="refcreation" column="ref_d_creation" type="java.util.date" /> <property name="refdfin" column="ref_d_fin" type="java.util.date" /> <property name="refmaj" column="ref_d_maj" type="java.util.date" /> <property name="refdconnexion" column="ref_d_connexion" type="java.util.date" /> <property name="refretat" column="ref_r_etat" type="string" /> </class> </hibernate-mapping> Dans notre exemple, une seule table est mappée afin de ne pas surcharger le mémoire mais toutes les classes manipulées doivent être mappées grâce à ce fichier. Chaque classe mappée doit être implémentée en Java avec un constructeur par défaut et les getters et setters pour tous les attributs. Voici un exemple : package dao; import java.util.date; public class Referent { /* *REF_ID */ private Integer refid; /* * CLC_ID */ private Integer clcid; /* * CLG_ID */ private Integer clgid; Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 34

35 /* * PRS_ID */ private Integer prsid; /* * Constructeur par defaut */ public Referent() { public Integer getrefid() { return refid; public void setrefid(integer refid) { this.refid = refid; public Integer getclcid() { return clcid; public void setclcid(integer clcid) { this.clcid = clcid; public Integer getclgid() { return clgid; public void setclgid(integer clgid) { this.clgid = clgid; public Integer getprsid() { return prsid; public void setprsid(integer prsid) { this.prsid = prsid; Classe HibernateUtil Une classe Hibernate appellée SessionFactory permet à partir du fichier de configuration (hibernate.cfg.xml) d'être associée à la source de données. Elle fournit des objets Session pour manipuler les données. Cependant, en général, les serveurs d'application et les conteneurs de servlets, exécutent dans plusieurs threads le même code. En utilisation Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 35

36 directe, SessionFactory serait donc instancié autant de fois qu'il y a de threads. Chaque instance se base pourtant sur le même fichier de configuration. Il est donc plus adapté de rendre une même instance de SessionFactory accessible par les threads. public class HibernateUtil { private static final SessionFactory ssessionfactory; static { try { // Creer un SessionFactory ssessionfactory = new Configuration().configure( Constant.CONFIG_WS_FILE_NAME).buildSessionFactory(); catch (Throwable ex) { throw new ExceptionInInitializerError(ex); public static final ThreadLocal ssession = new ThreadLocal(); public static Session currentsession() throws HibernateException { Session vsession = (Session) ssession.get(); // Ouvrir une nouvelle session, si elle n est pas deja ouverte if (vsession == null) { vsession = ssessionfactory.opensession(); ssession.set(vsession); return vsession; public static void closesession() throws HibernateException { Session vsession = (Session) ssession.get(); ssession.set(null); if (vsession!= null) vsession.close(); /** ptransaction */ public static void saferollback(transaction ptransaction) { if (ptransaction!= null) { ptransaction.rollback(); Il est maintenant possible d utiliser hibernate afin de récupérer, insérer, modifier des données dans la base de données. L équivalent du SELECT, INSERT, UPDATE en SQL peut être effectué grâce à hibernate. Voici un exemple où l on va récupérer des informations dans la Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 36

37 base de données. Cette portion de code permet de récupérer l ID d un utilisateur à partir de son login et mot de passe. public Integer getrefid(string user, String passwd) { Integer vret = null; Session vsession = HibernateUtil.currentSession(); try { Criteria vcrit = vsession.createcriteria(referent.class); vcrit.add(expression.eq("reflogin", user)); vcrit.add(expression.eq("reftpasswd", passwd)); List vlstpays = vcrit.list(); Iterator vitrt = vlstpays.iterator(); if (vitrt.hasnext()) { Referent ref = (Referent) vitrt.next(); vret = ref.getrefid(); catch (HibernateException he) { he.printstacktrace(); System.out.println("Erreur avec hibernate"); catch (Exception e) { e.printstacktrace(); System.out.println("Erreur connexion base"); finally { HibernateUtil.closeSession(); return vret; Cet exemple est l équivalent de : Select refid from REFERENT where flogin=user and reftpasswd = passwd ; 7. Le moteur PortailTV Une fois les solutions et technologies choisies, il est maintenant possible de décrire la démarche pour développer ce projet et les difficultés rencontrées. Plusieurs parties sont à distinguer. La première correspond à la connexion à un serveur FTP, la seconde permet de manipuler les fichiers et rendre les données compatibles avec la base de données, la troisième partie permet d accéder à la base afin d y insérer les données Les composants du moteur On va retrouver plusieurs composants dans l application : Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 37

38 Le composant de connexion : celui ci va se connecter au serveur FTP, télécharger des fichiers, les supprimer, se déconnecter, dresser la liste des fichiers dans un répertoire Le composant util : c est l interface entre le moteur et la base de données. Il va permettre d insérer dans la base de données, ou encore de récupérer des données. Pour cela il utilisera le package dao (Data Access Objects). Ce dernier étant la représentation des tables de la base de données en tant qu objets Le moteur : il utilise les composants de connexion et util afin de télécharger les données sur le serveur, consulter et mettre à jour la base de données. Il va également permettre de traiter les fichiers pour ensuite insérer les données dans la base. Les servlets : ceci regroupe les servlets qui vont permettre de lancer les différentes tâches (jobs) sur le serveur Weblogic. Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 38

39 7.2. Les diagrammes de classes Connexion Figure 16 : diagramme de classes de la connexion Ici on retrouve une classe mère abstraite. Ceci va permettre de pouvoir modifier facilement la connexion en FTP sans changer le prototype des fonctions. Ceci peut être utile si l on souhaite se connecter en SSL. Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 39

40 7.2.2 Accès à la base de données (util) Figure 17 : diagramme de classe pour l accès à la base de données Ici, on trouve toutes les classes permettant d accéder à la base de données. On va par exemple pouvoir insérer une nouvelle personne ou consulter. Ces classes permettront également de mettre à jour la consommation des clients ou encore le suivi météo. Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 40

41 7.2.3 Le moteur Figure 18 : diagramme de classes du moteur Les différentes classes du moteur permettent la mise à jour de la base de données pour les fichiers de consommation, clients, météo. On pourra également traiter les fichiers CSV, télécharger les types de fichiers voulus et tenir un fichier de statistiques sur les fichiers téléchargés et traités afin d être inséré dans la base de donnés (ManageFilesUpdatedBD et ManageFilesDownloaded). Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 41

42 7.2.4 Les servlets Figure 19 : diagramme de classes "servlet" Chaque servlet va appeler une classe du moteur à des horaires définis dans la classe ParametersDownload. Par exemple la ServletDLDetails va appeler la classe DownloadCustomerDetails suivant les paramètres récupérés par la classe ParametersDownload Les classes de mapping Voici la représentation d une classe permettant le mapping de la table du suivi de consommation de gaz : Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 42

43 Figure 20 : classe SuiviConsoGaz Les classes suivantes sont représentées de la même manière dans le projet, c'est à dire qu on retrouve les attributs ainsi que leurs getters et setters. Figure 21 : classes de mapping de la base de données 7.3. La connexion au serveur FTP L accès au serveur FTP et le téléchargement des données devait se faire en FTP sécurisé par SSL. J ai donc effectué les recherches nécessaires afin de savoir si cela était possible. J ai trouvé dans l API Java 1.5 les classes nécessaires aux manipulations de fichiers sur un serveur Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 43

44 FTP sécurisé par SSL. Afin de tester l application, j ai crée un serveur FTP/SSL grâce à Filezilla Server et cela fonctionnait sans aucun souci Manipulation des fichiers CSV Les fichiers CSV se présentes de la manière suivante : Figure 22 : exemple de fichier CSV On stockera le contenu du fichier dans un vecteur. Les doubles quottes ne seront pas stockées. On ne stockera que les valeurs afin d éviter des manipulations de chaînes de caractères qui pourraient nuire au temps d exécution de l application. Il faut ensuite rendre les champs des fichiers CSV compatibles avec ceux de la base de données. Pour cela on devra convertir les chaînes de caractères représentant des nombres en entier, flottant Les dates devront également être parsées car leur format ne correspond pas avec celui de la base Le fonctionnement du moteur de PortailTV Une fois les fichiers clients, consommations et météo présents sur le serveur, le moteur peut alors effectuer son travail. Celui ci consiste à télécharger les fichiers à des intervalles de temps définis par l administrateur. Chaque type de fichier, détails clients, consommation, météo, sera téléchargé à des heures différentes. En effet, on associe chaque téléchargement d un type de fichier à une tâche différente. Le nom de chaque fichier téléchargé ainsi que la date de téléchargement est stocké dans un fichier XML afin de vérifier qu il n y a pas eu d oubli mais également de consulter à quel moment il y a le plus de fichiers à télécharger. De façon à ne pas télécharger plusieurs fois les mêmes fichiers, ces derniers sont effacés du serveur FTP après téléchargement. Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 44

45 Une fois les fichiers téléchargés, il est maintenant possible de les traiter afin d insérer les données dans la base. Cette étape repose sur le même principe que le téléchargement, c'est à dire que cette tâche sera effectuée aux horaires définis par l administrateur. Chaque fichier présent sur le serveur (Weblogic) sera lu et permettra de mettre à jour la base de données. On déplacera un fichier qui a permis de mettre à jour la base dans un dossier spécifique aux fichiers déjà traités pour éviter de consulter un fichier qui ferait plusieurs dizaines de milliers de lignes et pour savoir si tel fichier a déjà été traité ou non. Un document XML sera également crée afin de connaître les fichiers traités et à quelle heure ils l ont été. <?xml version="1.0"?> <file name="edrp_consumption_details csv"> <date>wed Jul 01 09:44:00 ICT 2009</date> </file> <file name="edrp_consumption_details csv"> <date>wed Jul 01 09:44:00 ICT 2009</date> </file> <file name="edrp_consumption_details csv"> <date>wed Jul 01 09:44:00 ICT 2009</date> </file> <file name="edrp_consumption_details csv"> <date>wed Jul 01 09:44:00 ICT 2009</date> </file> <file name="edrp_customer_details csv"> <date>wed Jul 01 09:44:00 ICT 2009</date> 7.6. Exécution des tâches sur le serveur BEA Weblogic Une fois la planification de tâches avec la libraire Quartz maîtrisée, il faut maintenant effectuer celle ci sur le serveur. Il n y a alors qu une seule solution possible : créer des servlets qui feront appel aux fonctions de planification. Les servlets doivent êtres chargées au démarrage de l application. Il faut donc créer un fichier web.xml et les définir. Voir annexe 2 pour consulter le fichier web.xml. Voici un extrait du fichier web.xml pour le projet portail TV. On retrouve le nœud <load onstartup>3</load on startup> permettant de définir à quelle position la servlet va être chargée sur le serveur. <?xml version="1.0" encoding="iso "?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" " <web-app id="webapp"> <display-name>ifi</display-name> Master Informatique option I.A. & Multimédia, Février Juillet 2009 Page 45

Tutoriel d installation de Hibernate avec Eclipse

Tutoriel d installation de Hibernate avec Eclipse Tutoriel d installation de Hibernate avec Eclipse Table des matières 1. Création de la base de données... 4 2. Installation de Hibernate Synchronizer... 5 3. Utilisation de Hibernate... 6 3.1 Création

Plus en détail

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

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

Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14

Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14 Document FAQ Supervision et infrastructure - Accès aux EXP Page: 1 / 9 Table des matières Introduction... 3 Démarrage de la console JMX...4 I.Généralités... 4 II.WebLogic... 5 III.WebSphere... 6 IV.JBoss...

Plus en détail

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. Note technique W4 Engine Extension SSO Java Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. 1 Présentation 3 2 Custom SSO Java 4 3 Bilan 10 Sommaire Référence

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

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

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

BIRT (Business Intelligence and Reporting Tools)

BIRT (Business Intelligence and Reporting Tools) BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»

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

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

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture API04 Contribution Apache Hadoop: Présentation et application dans le domaine des Data Warehouses Introduction Cette publication a pour but de présenter le framework Java libre Apache Hadoop, permettant

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

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

JOnAS 5. Serveur d application d

JOnAS 5. Serveur d application d JOnAS 5 Serveur d application d dynamique Agenda En quelques mots Caractéristiques essentielles Zoom sur le versioning 2 Bull, 2008 Serveur d application dynamique JOnAS - Serveur d application Open Source

Plus en détail

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hébert.eheb@yahoo.fr

Plus en détail

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Jade. Projet Intelligence Artificielle «Devine à quoi je pense» Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges

Plus en détail

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7 Sommaire 1-Introduction 2 1-1- BPM (Business Process Management)..2 1-2 J-Boss JBPM 2 2-Installation de JBPM 3 2-1 Architecture de JOBSS JBPM 3 2-2 Installation du moteur JBoss JBPM et le serveur d application

Plus en détail

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage Technologies du Web Créer et héberger un site Web Page 1 / 26 Plan Planification Choisir une solution d hébergement Administration Développement du site Page 2 / 26 Cahier des charges Objectifs du site

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

Windows (2000/NT), Solaris, AIX, HP-UX, Linux Haute disponibilité : SunCluster 3, Veritas Cluster Server 4. J2EE (JSP, Servlet, EJB, JTA), Open Source

Windows (2000/NT), Solaris, AIX, HP-UX, Linux Haute disponibilité : SunCluster 3, Veritas Cluster Server 4. J2EE (JSP, Servlet, EJB, JTA), Open Source David MAFFRAND Architecte SI E-mail : dmafblog@gmail.com Web : http://dmaf.free.fr Certifié Weblogic Server 6 Certifié webmethods Integration 4.6 Certifié webmethods Enterprise 5.0 Certifié webmethods

Plus en détail

Qu'est-ce que le BPM?

Qu'est-ce que le BPM? Qu'est-ce que le BPM? Le BPM (Business Process Management) n'est pas seulement une technologie mais, dans les grandes lignes, une discipline de gestion d'entreprise qui s'occupe des procédures contribuant

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

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

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8 Sage 100 CRM Guide de l Import Plus avec Talend Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel

Plus en détail

Projet Java EE Approfondi

Projet Java EE Approfondi EISTI Projet Java EE Approfondi Manuel d installation du framework Stripes Amaury Languillat, Yann Gonzalez, Arnaud Recher, Vincent Laronde, Anys Mechkar 10 Manuel d installation Téléchargement On part

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

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

Catalogue des Formations Techniques

Catalogue des Formations Techniques Catalogue des Formations Techniques Items Média Concept 4, allées Pierre-Gilles de Gennes - 33700 Mérignac Téléphone : 05.57.35.73.73 Télécopie : 05.57.35.73.70 Courriel : contact@imc-fr.com 2 Préambule

Plus en détail

APIs de table pour SQL Server

APIs de table pour SQL Server 2013 D - Pratique APIs de table pour SQL Server Établissement: HEG Arc Haute école Arc Gestion Réalisé par: M. Informaticien de gestion 2009-2013 S adresse à: M.Fabrice Camus Date de début et de fin du

Plus en détail

Réalisation d un couplage téléphonie-informatique pour la suite Novanet

Réalisation d un couplage téléphonie-informatique pour la suite Novanet Réalisation d un couplage téléphonie-informatique pour la suite Novanet Edouard SIMON D.U.T Informatique 31 Mars 2008 20 Juin 2008 Tuteur en entreprise : M. Julien ROMBOUTS Tuteur universitaire : M. Jérôme

Plus en détail

Projet Active Object

Projet Active Object Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques

Plus en détail

1. Installation d'un serveur d'application JBoss:

1. Installation d'un serveur d'application JBoss: EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 4 EJB3, Serveur d'application JBoss 1. Installation d'un serveur d'application JBoss: télécharger l'archive du serveur JBoss à l'adresse: http://sourceforge.net/projects/jboss/files/jboss/jboss-5.0.0.ga/jboss-5.0.0.ga.zip/download

Plus en détail

Analyse comparative entre différents outils de BI (Business Intelligence) :

Analyse comparative entre différents outils de BI (Business Intelligence) : Analyse comparative entre différents outils de BI (Business Intelligence) : Réalisé par: NAMIR YASSINE RAGUI ACHRAF Encadré par: PR. L. LAMRINI Dans le domaine d économies des Big Data et Open Data, comment

Plus en détail

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un

Plus en détail

La montée des bases de données open source

La montée des bases de données open source La montée des bases de données open source Un document eforce FRANCE Mars 2003 La montée des bases de données open source - Page 1 sur 6 La montée en puissance des projets open source est incontestable

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

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

Maarch V1.4 http://www.maarch.org

Maarch V1.4 http://www.maarch.org COLD (factures clients) Maarch Professional Services Maarch PS anime le développement d un produit d archivage open source : http://www.maarch.org Guide de visite COLD (factures clients) VERSION DATE ACTEUR

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

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation

Plus en détail

Web Tier : déploiement de servlets

Web Tier : déploiement de servlets Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation

Plus en détail

SITE WEB E-COMMERCE ET VENTE A DISTANCE

SITE WEB E-COMMERCE ET VENTE A DISTANCE Développement d une application JAVA EE SITE WEB E-COMMERCE ET VENTE A DISTANCE PLAN PROJET Binôme ou monôme (B/M): M Nom & Prénom : AIT NASSER Btissam Email : aitnasser.btissam123@gmail.com GSM : Organisme

Plus en détail

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus

Plus en détail

Projet Viticulture - TP 3 : bases de données distantes BTS Services informatiques aux organisations

Projet Viticulture - TP 3 : bases de données distantes BTS Services informatiques aux organisations Projet Viticulture TP 3 : bases de données externes Description du thème Partie 1 : bases de données locales SQLite Partie 2 : projet H2O stockage local Partie 3 : bases de données distantes Partie 4 :

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Introduction à la plateforme J2EE

Introduction à la plateforme J2EE Introduction à la plateforme J2EE Auteur : Oussama Essefi Directeur technique Expert Consulting Oussama.essefi@expert-consulting.biz Copyright 2010 Expert Consulting Page 1 1. Introduction 1.1. Pourquoi

Plus en détail

UltraBackup NetStation 4. Guide de démarrage rapide

UltraBackup NetStation 4. Guide de démarrage rapide UltraBackup NetStation 4 Guide de démarrage rapide Table des matières 1 Fonctionnalités... 3 1.1 Ce qu UltraBackup NetStation permet de faire... 3 1.2 Ce qu UltraBackup NetStation ne permet pas de faire...

Plus en détail

SQL Server Installation Center et SQL Server Management Studio

SQL Server Installation Center et SQL Server Management Studio SQL Server Installation Center et SQL Server Management Studio Version 1.0 Grégory CASANOVA 2 SQL Server Installation Center et SQL Server Management Studio [03/07/09] Sommaire 1 Installation de SQL Server

Plus en détail

L art d ordonnancer. avec JobScheduler. François BAYART

L art d ordonnancer. avec JobScheduler. François BAYART L art d ordonnancer avec JobScheduler François BAYART 30 Octobre 2010 [1] 234567 introduction Introduction Qui suis-je? François Bayart consultant système en solution libre et propriétaire Redhat (1996),

Plus en détail

Notes de cours : bases de données distribuées et repliquées

Notes de cours : bases de données distribuées et repliquées Notes de cours : bases de données distribuées et repliquées Loïc Paulevé, Nassim Hadj-Rabia (2009), Pierre Levasseur (2008) Licence professionnelle SIL de Nantes, 2009, version 1 Ces notes ont été élaborées

Plus en détail

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/

Plus en détail

PRODUCTS LIST (updated 11th January 2010)

PRODUCTS LIST (updated 11th January 2010) PRODUCTS LIST (updated 11th January 2010) OPERATING SYSTEMS SUN SOLARIS 10, 9, 10 B OP Application and database servers Red Hat Enterprise Linux Server 4.x and 5.x B OP Single Application Host Windows

Plus en détail

Développement Web - Object Relational Mapping and Hibernate

Développement Web - Object Relational Mapping and Hibernate 1 / 58 Développement Web - Object Relational Mapping and Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer M1/M2 Informatique 2010-2011 2 / 58 Plan Plan 1 Introduction

Plus en détail

27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s)

27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s) Propriétés du Document Source du Document SDK_accords.odt Titre du Document SDK Python et Java pour le développement de services ACCORD Module(s) PyaccordsSDK, JaccordsSDK Responsable Prologue Auteur(s)

Plus en détail

Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 31 ans Statut : Indépendant SITUATION ACTUELLE

Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 31 ans Statut : Indépendant SITUATION ACTUELLE Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 31 ans Statut : Indépendant Adresse Personnelle : 3, allée du Roussillon 91300 Massy Téléphone : (+33) 06 78 37 34 82 E-mail : youssef.lyhyaoui@spartup.com

Plus en détail

Etude de cas : PGE JEE V2

Etude de cas : PGE JEE V2 Arrivés à ce point du tutoriel, nous savons créer une application Web implémentant la persistance des données. Toutefois, le modèle de cette application était simple et composé d'une unique classe et les

Plus en détail

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1 LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1 SAS Cost and Profitability Management, également appelé CPM (ou C&P), est le nouveau nom de la solution SAS Activity-Based Management. Cette version

Plus en détail

Introduction MOSS 2007

Introduction MOSS 2007 Introduction MOSS 2007 Z 2 Chapitre 01 Introduction à MOSS 2007 v. 1.0 Sommaire 1 SharePoint : Découverte... 3 1.1 Introduction... 3 1.2 Ce que vous gagnez à utiliser SharePoint... 3 1.3 Dans quel cas

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

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

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

Plus en détail

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. ASTRIUM - Toulouse JEE Formation 2013 TP JEE Développement Web en Java Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. Figure 1 Architecture

Plus en détail

Tenrox. Guide d intégration Tenrox-Salesforce. Janvier 2012. 2012 Tenrox. Tous droits réservés.

Tenrox. Guide d intégration Tenrox-Salesforce. Janvier 2012. 2012 Tenrox. Tous droits réservés. Tenrox Guide d intégration Tenrox-Salesforce Janvier 2012 2012 Tenrox. Tous droits réservés. À propos de ce guide Le présent guide décrit les procédures nécessaires pour configurer les paramètres d intégration

Plus en détail

Eclipse atelier Java

Eclipse atelier Java Eclipse atelier Java Table des matières 1. Introduction...2 2. Télécharger eclipse...3 3. Installer eclipse...3 4. Premier lancement d eclipse...3 5. Configurer eclipse pour faire du Java...5 6. Développer

Plus en détail

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL . THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL Mr MEZRED MOHAMED Ingénieur météorologue INTRODUCTION Il existe de nombreuses manières de construire une base de données. En effet,

Plus en détail

VMWare Infrastructure 3

VMWare Infrastructure 3 Ingénieurs 2000 Filière Informatique et réseaux Université de Marne-la-Vallée VMWare Infrastructure 3 Exposé système et nouvelles technologies réseau. Christophe KELLER Sommaire Sommaire... 2 Introduction...

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 I. Objectif du TP TP1 : Initiation à Java et Eclipse Programmation Mobile Initiation à l environnement Eclipse et aux notions de base du langage Java. II. Environnement

Plus en détail

SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8

SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8 SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8 INTRODUCTION Bonjour à tous; Aujourd hui je publie une nouvelle version de l adaptation de la Sync Framework Toolkit,

Plus en détail

Application de lecture de carte SESAM-Vitale Jeebop

Application de lecture de carte SESAM-Vitale Jeebop Application de lecture de carte SESAM-Vitale Jeebop Présentation Le module de lecture de carte SESAM-Vitale Jeebop est une application Java Web Start, c'est à dire une application Java qui se télécharge

Plus en détail

Notre Catalogue des Formations IT / 2015

Notre Catalogue des Formations IT / 2015 Notre Catalogue des Formations IT / 2015 Id Intitulé Durée Gestion de projets et méthodes I1101 I1102 I1103 I1104 I1105 I1106 I1107 I1108 I1109 I1110 I1111 I1112 I1113 I1114 I1115 I1116 I1117 I1118 I1119

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

IBM System i. DB2 Web Query for System i : le successeur de Query/400? Oui, mais bien plus!!!

IBM System i. DB2 Web Query for System i : le successeur de Query/400? Oui, mais bien plus!!! DB2 Web Query for System i : le successeur de Query/400? Oui, mais bien plus!!! Stéphane MICHAUX Philippe BOURGEOIS Christian GRIERE stephane_michaux@ibi.com pbourgeois@fr.ibm.com cgriere@fr.ibm.com Les

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

1 JBoss Entreprise Middleware

1 JBoss Entreprise Middleware 1 JBoss Entreprise Middleware Les produits de la gamme JBoss Entreprise Middleware forment une suite de logiciels open source permettant de construire, déployer, intégrer, gérer et présenter des applications

Plus en détail

Open Source Job Scheduler. Installation(s)

Open Source Job Scheduler. Installation(s) Open Source Job Scheduler Installation(s) Installations Standard Configuration Superviseur Agent SOS-Paris 2 Pré-requis o Base de données o MySQL, MSACCESS, Oracle o JDBC ou ODBC o Connecteurs o Mysql

Plus en détail

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES DÉCOUVREZ DES POSSIBILITÉS ILLIMITÉES GRÂCE A L INTÉGRATION À DES SYSTÈMES D ENTREPRISE EXISTANTS FONCTIONNALITÉS Connectivité des systèmes

Plus en détail

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10 Dossier Technique Page 1/10 Sommaire : 1. REPONSE TECHNIQUE A LA DEMANDE 3 1.1. Prise en compte de la dernière version de phpcas 3 1.2. Gestion de la connexion à GRR 3 1.2.1. Récupération des attributs

Plus en détail

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e : CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i

Plus en détail

CQP Développeur Nouvelles Technologies (DNT)

CQP Développeur Nouvelles Technologies (DNT) ORGANISME REFERENCE STAGE : 26572 20 rue de l Arcade 75 008 PARIS CONTACT Couverture géographique : M. Frédéric DIOLEZ Bordeaux, Rouen, Lyon, Toulouse, Marseille Tél. : 09 88 66 17 40 Nantes, Lille, Strasbourg,

Plus en détail

Bénéfices pour votre organisation : une solution pouvant supporter vos besoins d affaires

Bénéfices pour votre organisation : une solution pouvant supporter vos besoins d affaires Pivotal CRM 6.0 Quelle que soit la tendance d évolution des marchés, faites de vos clients le moteur de votre réussite avec une meilleure maîtrise et une meilleure flexibilité et un coût de possession

Plus en détail

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009 Présentation de gsoap Plan

Plus en détail

COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA

COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA DEFINITION D UNE BIBLIOTHEQUE D ACCES A UNE BASE DE DONNEES Cet article s adresse aux administrateurs SAS en charge de la mise à disposition des

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

Connaître la version de SharePoint installée

Connaître la version de SharePoint installée Connaître la version de SharePoint installée Comment savoir la version de SharePoint en cours Dans le cadre de la maintenance de plusieurs fermes SharePoint, il est indispensable de connaître les versions

Plus en détail

Serveur d'archivage 2007 Installation et utilisation de la BD exist

Serveur d'archivage 2007 Installation et utilisation de la BD exist Type du document Procédure d'installation Auteur(s) Eric Bouladier Date de création 26/02/20007 Domaine de diffusion tous Validé par Equipe Versions Date Auteur(s) Modifications V1.00 26/02/2007 Eric Bouladier

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

Java pour le Web. Cours Java - F. Michel

Java pour le Web. Cours Java - F. Michel Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications

Plus en détail

Présentation Alfresco

Présentation Alfresco Présentation d un CMS : Alfresco Présentation Alfresco Ludovic Plantin, Frédéric Sénèque, Xu Zhao Polytech Grenoble Décembre 2008 Plantin, Sénèque, Xu (Polytech) Présentation Alfresco Décembre 2008 1 /

Plus en détail

La haute disponibilité de la CHAINE DE

La haute disponibilité de la CHAINE DE Pare-feu, proxy, antivirus, authentification LDAP & Radius, contrôle d'accès des portails applicatifs La haute disponibilité de la CHAINE DE SECURITE APPLICATIVE 1.1 La chaîne de sécurité applicative est

Plus en détail

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet TP Composants Java ME - Java EE Vous allez, dans ce TP, construire une architecture client serveur, plus précisément MIDlet cliente, servlet serveur. Pour cela, on va d'abord installer la partie serveur

Plus en détail

La gestion de la persistance avec Hibernate. Hibernate et la gestion de persistance. La gestion de la persistance (1/2) Introduction

La gestion de la persistance avec Hibernate. Hibernate et la gestion de persistance. La gestion de la persistance (1/2) Introduction La gestion de la persistance avec et la gestion de persistance Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Claude.Duvallet@gmail.com

Plus en détail

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 MapReduce Malo Jaffré, Pablo Rauzy ENS 16 avril 2010 Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 Qu est ce que c est? Conceptuellement Données MapReduce est un framework de calcul distribué

Plus en détail

Vanilla : Virtual Box

Vanilla : Virtual Box Vanilla : Virtual Box Installation Guide for Virtual Box appliance Guide d'installation de l'application VirtualBox Vanilla Charles Martin et Patrick Beaucamp BPM Conseil Contact : charles.martin@bpm-conseil.com,

Plus en détail

DEMARREZ RAPIDEMENT VOTRE EVALUATION

DEMARREZ RAPIDEMENT VOTRE EVALUATION Pentaho Webinar 30 pour 30 DEMARREZ RAPIDEMENT VOTRE EVALUATION Resources & Conseils Sébastien Cognet Ingénieur avant-vente 1 Vous venez de télécharger une plateforme moderne d intégration et d analyses

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

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D NOVA BPM «Première solution BPM intégr grée» Pierre Vignéras Bull R&D Définitions Business Process Pratiques existantes qui permettent aux personnes et systèmes de travailler ensemble Business Process

Plus en détail

Automatisation de l administration système

Automatisation de l administration système Automatisation de l administration système Plan Problèmatique : trop de systèmes, trop de solutions Typage des solutions Puppet : gestion de configuration de systèmes Capistrano : déploiement d applications

Plus en détail