Migration de l'application internet de gestion des licences Software AG : vers une architecture J2EE à base open source

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

Download "Migration de l'application internet de gestion des licences Software AG : vers une architecture J2EE à base open source"

Transcription

1 MEMOIRE INDUSTRIEL ESIEA Barbara POST Migration de l'application internet de gestion des licences Software AG : vers une architecture J2EE à base open source Software AG France Responsable Software AG : M. Joël Milgram, directeur de projets Président du jury : M. Lamine Abdat Parrain : M. Gil Largeaud 15 janvier 2003

2 Migration de l'application internet de gestion des licences Software AG : vers une architecture J2EE à base open source Etude de composants permettant de structurer un développement (frameworks) : Struts, Cocoon 2 Analyse fonctionnelle, développement, chiffrage et planning prévisionnel du projet L'open source : présentation et enjeux REMERCIEMENTS INTRODUCTION... 6 ABSTRACT PRESENTATION DE LA SOCIETE ET DU PROJET SOFTWARE AG : EDITEUR DE LOGICIELS D'INFRASTRUCTURE ET INTEGRATEUR DE SOLUTIONS COMPLETES LA FILIALE FRANÇAISE LE PROJET BUSINESS ALLIANCES EUROPE LICENSE KEY APPLICATION Besoins, buts Fonctionnement Historique du projet MES MISSIONS Un défi Organisation Tâches annexes Documents produits ETUDE DE FRAMEWORKS MVC POURQUOI UN FRAMEWORK MVC ET J2EE? Architecture MVC ou "Model 2" Un framework J2EE ETUDE DE DEUX FRAMEWORKS Pourquoi Struts et Cocoon? Struts 1.1 b Cocoon 2.1-dev Comparaison de Struts et Cocoon Conclusions comment choisir MIGRATION DU PROJ ET LICENSE KEY APPLICATION/BAE DESCRIPTION ET ANALYSE DE L'EXISTANT Architecture Problèmes posés EVALUATION DE SOLUTIONS Struts 1.1 b Cocoon 2.1-dev Conclusions ELEMENTS STRATEGIQUES Solution retenue Modification de fichiers XML Gestion des accès à Tamino Gestion de l'accès à LDAP Autres choix stratégiques...44

3 4.4. DEVELOPPEMENT REALISANT UNE FONCTION DANS SON ENSEMBLE : GENERATION DE LICENCES PAR DEFAUT Généralités Modifications apportées à la configuration par défaut de Cocoon Documentation des fichiers réalisés Maintenance, procédure de mises à jour OUTILS ET METHODES DE DEVELOPPEMENT Editeur/debugger XSLT : Excelon Stylus Studio Editeur et compilateur java : JBuilder Moteur de servlets : Tomcat Débogage Logging CHIFFRAGE PLANNING PREVISIONNEL DE DEVELOPPEMENT Temps nécessaire Exemple de répartition des tâches 3 développeurs Calendrier global CONCLUSIONS Une nouvelle application plus efficace Une prise de risques nécessaire Une documentation réalisée variée Quelques problèmes rencontrés L'OPEN SOURCE : PRES ENTATION ET ENJEUX PRESENTATION Définition de l'open source Une stratégie gagnante Bref historique Différentes licences Quelques acteurs actuels et historiques Quelques points de comparaison avec le logiciel propriétaire L'OPEN SOURCE ET LE MARCHE EN Evolution structurelle des logiciels : du "back -end" vers le "front-end" Produits actuels Clients, utilisateurs Revenus Tendances L'OPEN SOURCE ET LE DEVELOPPEUR Profil et motivations Outils et méthodes A la frontière de la communauté expérience personnelle L'OPEN SOURCE ET LE GENIE LOGICIEL Le logiciel open source Le projet basé sur le logiciel open source DES MODELES ECONOMIQUES BASES SUR L'OPEN SOURCE Vue d'ensemble Cinq modèles, quelquefois pour un même acteur Un modèle pour Software AG? "DE L'ERE DES EDITEURS COMMERCIAUX DE LOGICIELS A CELLE DES ENTREP RISES D'INFORMATION" Utilisateurs professionnels ou changement de modèle économique? Evocation de différentes problématiques Positionnement de Software AG L'OPEN SOURCE ET LE JURISTE Délivrer un logiciel open source, quelle responsabilité? Dissémination de secrets industriels? Forcer l'adoption de standards Les brevets : combat des titans CONCLUSIONS CONCLUSION GENERALE...96 Migration du portail de gestion des licences produits de Software AG

4 7. GLOSSAIRE BIBLIOGRAPHIE ANNEXES AUTRES FRAMEWORKS STRUTS COCOON PROJET BAE LICENSE KEY APPLICATION CONFIGURATIONS APIS OPEN SOURCE ETUDE DES MOTEURS DE SERVLETS COMPARAISON DE PRIX DE QUELQUES EDITEURS / COMPILATEURS JAVA COMMERCIAUX Migration du portail de gestion des licences produits de Software AG

5 Remerciements Je remercie Software AG France de m'avoir accueillie pour mon stage de fin d'études et m'avoir donné l'opportunité, non seulement d'évoluer dans un cadre technologique passionnant, mais d'exercer mes compétences en collaboration, sur l'ensemble des phases d'un projet. Et malgré la conjoncture difficile, de m'avoir permis de terminer le stage. Je remercie plus particulièrement mon responsable, M. Joël Milgram, directeur de projets, pour sa supervision efficace et la grande autonomie qu'il m'a laissée, ainsi que pour l'orientation qu'il a donnée à mon mémoire. Mes pensées se tournent également vers mon suiveur, M. Gil Largeaud, pour ses conseils constructifs concernant mon mémoire, ainsi que M. Jérôme Marc, expert technique de Software AG, pour son assistance lorsque j'en avais besoin, et les quelques échanges que nous avons eus sur Cocoon. 5

6 1. Introduction Aujourd'hui les technologies, les compétences, les besoins évoluent rapidement. Deux défis majeurs, dans le cadre de systèmes existants, sont leur évolution structurelle ainsi que leur pérennité fonctionnelle. Software AG, éditeur de logiciels, utilise depuis mi-2000 un système de production et gestion de licences de ses produits, "License Key Application" (anciennement "Business Alliances Europe"). Il permet, outre la sécurisation contre le piratage, une meilleure répartition de l'information. Cela prend la forme d'un portail intranet (centres logistiques allemand et américain) et internet (partenaires autorisés). Le projet initial a été réalisé par six ingénieurs pendant sept mois, à l'aide d'un outil de développement conçu par Software AG : Bolero. Son évolution et support technique ne seront plus assurés en La question suivante s'est alors posée : comment garantir la pérennité du système indépendamment de l'outil de développement spécifique et des développeurs initiaux? Ma tâche a donc consisté à réaliser une preuve de faisabilité de la migration de cette application vers le standard J2EE, en choisissant un cadre de développement adapté. Ce mémoire présente : brièvement Software AG et sa filiale française, mon étude de deux cadres de développement open source, les étapes du projet auxquelles j'ai participé : 03/02 04/02 05/02 06/02 07/02 08/02 09/02 10/02 11/02 étude de cadres de développement aide à l'extension B2B, étude de moteurs de servlets. durée effective : 3 semaines analyse de l'existant (structure, fonctions) analyse fonctionnelle développement (preuve de faisabilité) documentation du développement analyse des outils utilisés pour le dév. rédaction du mémoire réunions importantes (compte-rendu, prises de décisions, planification) un bilan des outils et méthodes que j'ai utilisés, une réflexion personnelle sur les licences open source dont l'enjeu est des plus importants pour un éditeur de produits commerciaux. Remarque : les termes explicités dans le glossaire (partie 7) voient leur première occurrence dans le corps du document soulignée en pointillés. 6

7 Abstract In today s digital world, technologies, skills, and needs are constantly evolving. Important challenges are how to modify the architecture of an existing system, and how to preserve long-term functional capabilities. Software AG develops and licenses cross-enterprise system software products for electronic business, enterprise application integration, and online transaction processing. Management of its software licenses has been handled since mid-2000 by License Key Application (former Business Alliances Europe). BAE is an intranet-based portal used by German and US logistic centres, and an internet -enabled portal for granted partners. BAE's portal allows centres and partners to generate licenses, as well as perform searches, change license status, gather statistics, and manage users' and partners' information. The initial project required six software engineers for a period of seven months. The system continued to evolve with additional developments up to this year during my internship. Bolero, a proprietary Javabased tool developed by Software AG, is the main development software that was utilized for years. However its evolution has ceased and technical support will become ineffective in Therefore the challenge that I was presented with in working on this project was how to keep the system working, while detaching it from the initial team and software. This document provides an overview and summary of: Software AG and its French subsidiary my study of two open source frameworks that I deemed suitable for the redesign parts of the project I realized, mostly on my own : mainly analysis of existing code and functionalities, functional analysis for the new architecture, some development as feasibility proof, and an estimation of time and cost for the whole project analysis and criticism of the development tools I used personal thoughts, from open source licensing system to software editor's viewpoint 7

8 2. Présentation de la société et du projet Software AG est leader du marché des bases de données XML natives et a de fortes compétences en intégration (solutions middleware). Elle se présente comme "The XML Company" et participe activement à l'élaboration de standards au sein des consortiums internationaux. La filiale française réalise l'implémentation de solutions utilisant les produits Software AG. Dans ce cadre, j'ai été chargée d'étudier et de proposer des solutions techniques pérennes sur le changement d'architecture du portail d'application gérant les licences produits 2.1. Software AG : éditeur de logiciels d'infrastructure et intégrateur de solutions complètes Software AG, éditeur de logiciels fondée en 1969 à Darmstadt, emploie 3000 personnes dont un peu plus du tiers en Allemagne, le reste étant réparti dans 70 pays. Le chiffre d'affaires s'élève à 589 millions d'euros en 2001, réparti assez équitablement entre revenus de licences, contrats de maintenances, et services. Partie du développement d'environnement de développement tel que Natural (langage de 4 e génération), ou de base de données comme Adabas, la société s'est tournée au milieu des années 1990 vers les technologies XML et l'intégration d'applications (EAI : Enterprise Application Integration). Ses produits phares sont actuellement Tamino : base de données native XML, leader sur son marché, et EntireX, outil d'intégration middleware de flux de données hétérogènes. En plus de la vente directe, une politique soutenue de partenariats et contrats a été mise en place, intéressant d'autres éditeurs de logiciels (independent software vendors ("ISVs'')), des distributeurs à valeur ajoutée (value added resellers ("VARs'')), et des intégrateurs (system integrators ("SIs'')). Par ailleurs Software AG est membre de plusieurs organismes ou projets importants : W3C, World Wide Web Consortium, groupes de travail suivants : XML Schema, XML Query, XSLT, XML Protocol, XML DOM, XML InfoModel, Web Services Architecture. Software AG a été éditeur ou co-éditeur de Working Drafts sur : Quilt puis XQuery 1.0, XPath 2.0, XSLT 2.0, Web Services Architecture. OASIS (membre et sponsor). OASIS est un organisme qui aide au développement, à la convergence et à l'adoption de standards d'e-commerce. Unicode, standard permettant la représentation indépendamment de la plate-forme et du langage de n'importe quel caractère. UDDI : Universal Description, Discovery and Integration, standard ouvert de description, recherche et intégration de services e-business sur le réseau internet. Edifrance, groupes de travail autour de l'échange de documents électroniques (EDI). Seulement la filiale française de Software AG est concernée. WS-I, Web Services Interoperability Organization. XML France, association d'utilisateurs de XML. De plus, la "XML Academy" fondée par Software AG propose un cycle de formation complet sur XML en partenariat avec HP La filiale française Software AG France (abrégé : SAGF) dirigée par Philippe Lerer depuis mai 2002, emploie 150 personnes et génère en 2001 un chiffre d'affaires de 21 millions d'euros. L'activité s'est orientée vers la commercialisation, le support et les services intégrant les produits et solutions de Software AG. Des formations sur tous les produits sont assurées. 8

9 Le département services est organisé comme suit, en entité tripartite : - BIS : Business Innovation Services, dirigé par Philippe Toubert. Gère l'avant-projet : consulting, formation - BITS : Business Integration Technology Services, dirigé par Philippe Toubert. Gère les projets. Il est divisé en deux agences se répartissant les projets suivants qu'ils sont orientés bases de données ou administration système. Les responsables sont respectivement Sylvie Morange et Dominique Hubert. - BOS : Business Operation Services, dirigé par François-Xavier Delassus. Gère l'après projet : hotline, maintenance, installation sur site. De ce fait la prise en charge globale de projets basés sur des standards tels que XML, J2EE,.NET, CORBA est assurée par SAGF de manière structurée. L'agence de Dominique Hubert compte un directeur de projets : Isabelle Bertinet, tandis que celle de Sylvie Morange en compte deux : Joël Milgram et Philippe Buisson. Un directeur de projet gère au plus 5 projets à la fois, ainsi que des réponses à des appels d'offres. J'ai eu la chance d'évoluer sous la responsabilité de M. Milgram. Professional Services (en cours de pourvoi) Commercial Gilbert TOMASSO Contrôle de gestion Hanifa BOUASSRIA Assistantes BIS Philippe TOUBERT BITS Philippe TOUBERT BOS François-Xavier DELASSUS Support Michel DOUCET Responsable d'agence Sylvie MORANGE Responsable d'agence Dominique HUBERT Directeur de projets Joël MILGRAM Directeur de projets Philippe BUISSON Directeur de projets Isabelle BERTINET 9

10 2.3. Le projet Business Alliances Europe License Key Application Cette partie reprend les informations tirées d'un document "License Key Application Business Case", d'avril 2002, réalisé par Reinhard Fox, chef de projets au sein du Customer Service Systems, département de Corporate Information Services (informatique interne de Software AG). M. Reinhard Fox est chargé de la maîtrise d'œuvre de License Key Application et de la liaison avec la filiale française qui en assure le développement et la maintenance. Le terme "License Key Application" est préféré à celui de "BAE" surtout depuis les dernières modifications apportées au portail. Cependant dans ce document on trouve les deux termes (souci de prononciabilité) Besoins, buts Software AG, pour protéger ses produits logiciels contre le piratage, utilise une clé de licence unique par produit vendu. La société a décidé de généraliser l'automatisation de cette pratique en l'an En effet la progression des ventes de Tamino a entraîné un besoin de standardiser le mécanisme de production et gestion des licences. Le projet License Key Application a plusieurs buts : - générer une clé unique pour chaque produit ; - permettre une homogénéité dans la manière de produire les licences ; - pouvoir licencier modulairement tous les produits SAG, ainsi que les sous-produits et produits dérivés ; - favoriser le marketing par proposition de licences à durée limitée, avec fonctionnalité entière du produit ; - assurer un service technique pour les clients, la clé de licence servant d'identifiant ; - contrôler les installations de test ; - contrôler les revenus issus des partenariats avec les ISVs, VARs, SIs ; - obtenir des statistiques en général et ceci accessible par des services répartis géographiquement de par le monde afin d'assurer un service permanent Fonctionnement Acteurs et rôles Centres logistiques Deux centres logistiques (LSC, Logistic Service Center) ont la charge de traiter les demandes de clients. Suivant la procédure standard, ils sont habilités à générer des licences et à les expédier sur disquettes accompagnées du CD du produit. Les LSC sont situés à Alsbach en Allemagne (pour les régions Europe-Asie-Pacifique) et Dulles aux USA (région Amériques) Centres de support client Les CSC, Customer Support Center, sont habilités à générer des licences "d'urgence" pour les clients ayant un contrat de maintenance 24h/24, 7j/7, et lorsqu'il y a besoin de licences pour une autre plateforme ou version que celle demandée au départ. Les licences sont alors envoyées par . Ils peuvent par ailleurs effectuer des recherches sur les licences. Les CSC sont situés à Darmstadt (Allemagne), Denver (USA), Manille (Philippines). 10

11 Partenaires Certains partenaires habilités, tels que Altova (Autriche) et Tridion (Pays-Bas), peuvent générer des licences pour les produits partenaires incluant une licence Tamino Corporate Information Services Le service de l'informatique interne de Software AG, Corporate Information Services, est basé en Allemagne. Une de ses tâches est d'assurer l'administration du portail BAE (gestion de la bonne marche du serveur, mise en production ). CIS est le client du projet, ainsi que le maître d'ouvrage SAGF Une équipe d'ingénieurs de la filiale française assure le développement, la maintenance et les tests, avec accès aux serveurs de tests (identiques à ceux de production). Elle est le maître d'œuvre Eléments caractéristiques Identifiant de licence Les informations produits sont stockées au départ dans le Project Planning Database (PPD). Ils ont pour principale caractéristiques le code produit (ex. INO pour Tamino), et la plate-forme (ex. WNT pour Windows NT4). Ces informations ainsi que d'autres renseignements (techniques, financiers) sont insérés dans SAP/R3 qui est chargé de retourner un identifiant par type de licence : License Material Number Structure d'une licence et protection Une licence se présente sous la forme d'un fichier XML contenant des informations sur : - le client à partir de SAP ; - la licence (clé unique sur 32 bits, type et aspect financier) ; - le produit et les fonctionnalités que la licence autorise. L'intégrité d'une licence est assurée par un algorithme, appelé SAGLIC, qui calcule la clé en fonction du contenu du fichier. Si le fichier est modifié, la clé n'est plus valide Environnement R&D Quality Engineering Product Manager LSCs CSCs Serveur de test LK Dév. SAGF Serveur de prod. LK Tamino XML DB Admin. CIS Tamino XML DB 11

12 Légende : CIS : Corporate Information Services CSC : Customer Support Center LK : License Key LSC : Logistic Service Center R&D : Recherche et développement SAGF : Software AG France XML DB : base de données XML Historique du projet L'ajout de fonctionnalités a été progressif, ce qui rend le système complexe. Fin 2002, l'ensemble des réalisations se monte à euros Développement réalisé Le développement du projet a connu plusieurs phases importantes, et a occupé un nombre variable d'ingénieurs : de six pendant les sept premiers mois à deux pour l'extension B2B en Les durées incluent aussi bien la conception que la réalisation et les tests précédant la livraison. juillet-décembre 2000 (cinq mois) : génération de licences et fonction de recherche janvier-février 2001 (deux mois) : gestion des droits utilisateurs mars-septembre 2001 (six mois) : gestion de templates, ajout de nouvelles méthodes de recherche, modification de l'administration octobre-novembre 2001 (deux mois) : ajout de la fonctionnalité de plug-ins décembre 2001-février 2002 (trois mois) : migration de la version à de Tamino mars-juin 2002 (trois mois) : extension B2B permettant aux partenaires de se servir du système Développement prévu pour 2003 premier trimestre : fonctionnalité multi plug-ins nécessaire au passage vers Tamino 4.1 deuxième trimestre : License Key Bundle troisième trimestre : migration de Windows NT4 à Windows 2000 quatrième trimestre : mise à jour de l'algorithme SAGLIC, migration de Bolero vers Java, nouvelle interface de connexion avec SAP Un budget de l'ordre de euros est prévu pour ces tâches Mes missions Un défi J'ai été enthousiasmée à l'idée de relever le défi qui m'a été proposé : faire évoluer une application d'importance stratégique, basée sur un langage de programmation proche de java, vers le standard J2EE, en recherchant les outils les mieux adaptés pour cela. Mon travail devait servir de preuve de faisabilité et permettre d'estimer les besoins temporels et financiers pour la migration proprement dite, sachant que mon stage se terminait avant la budgétisation du projet, et que la conjoncture ne me permettait pas d'être embauchée. De plus l'étude réalisée en première partie devait être générale et applicable à d'autres projets Organisation La majorité du travail a été réalisé de manière autonome, j'ai donc eu toute latitude pour m'organiser au mieux. Des réunions régulières ont permis une planification des grandes étapes : étude des frameworks, réalisation de la preuve de faisabilité, recherches annexes. Les délais étaient implicites, ou précisés avec une marge d'une à deux semaines, sachant qu'à la fin de mon stage on devait avoir tous les éléments décisionnels (études et réalisations), et tout avoir prévu pour soumission au client (maître d'ouvrage). 12

13 J'ai eu à ma disposition : - une station de travail sous Windows NT4, sur laquelle Tamino était déjà fonctionnel. J'ai dû y installer d'autres éléments : Bolero, Microsoft Visual Source Safe (outil de travail en collaboration), ainsi que les outils que j'ai choisis pour mes réalisations. - la documentation technique du projet, dont le manuel utilisateur expliquant en détail le fonctionnement. Dans la phase d'analyse de l'existant je me suis appuyée sur une lecture méthodique du code Bolero. Pendant le début du stage j'ai partagé durant quelques semaines un bureau avec un stagiaire qui avait commencé en même temps que moi et était là pour 2 mois et demi. Nous avons pu nous entraider pour la compréhension du système basé sur les servlets java, ainsi que la programmation Tâches annexes J'ai pu aider, dans la mesure de mes moyens et en continuant ma tâche principale, à l'extension B2B : les partenaires ont accès à l'application via web service. J'ai aidé au codage en Bolero et aux tests. Lors de cette phase on m'a aussi demandé d'étudier des moteurs de servlets, le client devant changer de version à cause de la plate-forme de communication XML utilisée pour le B2B, EntireX XML Mediator. J'ai donc testé le fonctionnement de l'application existante sous divers environnements (JRun et Tomcat). L'annexe 9.8 fait référence à cette étude Documents produits Le corps des études et de la documentation principale du projet est directement structuré et intégré au mémoire. Une partie des autres documents produits, en français ou anglais, ont été intégrés dans le corps ou en annexe, lorsqu'ils ont un intérêt pour le lecteur. Il s'agit principalement de directives d'installation et de configuration de l'application ou de logiciels, ainsi que la comparaison de moteurs de servlets. Par ailleurs mon développement s'accompagne de javadoc (non présentée ici). Les éléments laissés sur le serveur Odin à disposition des futurs développeurs du projet comportent : - les fichiers du projet sous forme de web archive (.war); - une procédure d'installation et de configuration de l'application ; - une documentation du projet ; - un planning global ; - un planning détaillé (MS Project). 13

14 3. Etude de frameworks MVC J'ai réalisé une étude qui se voulait non seulement base de mon travail mais aussi réutilisable pour d'autres projets. Je me suis appuyée sur de nombreuses sources documentaires internet. De petits développements tests m'ont permis de mieux appréhender certains concepts. Cette étude présente d'abord les concepts Modèle (Model), Vue (View) et Contrôleur (Controller) ainsi que la notion de standard J2EE. Puis les deux cadres de développements retenus, Struts et Cocoon 2, sont étudiés sur plusieurs plans : - pourquoi ai-je retenu ces versions? - quels sont les éléments M, V, C de chaque framework? - quels sont les éléments décisionnels et les éventuels problèmes posés? - comparaison de leurs fonctions essentielles - conclusion : récapitulatif des éléments décisionnels et typologies de projets 3.1. Pourquoi un framework MVC et J2EE? Architecture MVC ou "Model 2" Introduction Le modèle MVC (Model-View-Controller) permet de séparer les traitements de données effectués (Model), de ce qui correspond à ce que le client reçoit et qui est dépendant de l'interface finale adoptée (View). La partie Controller assure la synchronisation. Ces composants sont décrits plus précisément ci-après. source : 14

15 L'intérêt majeur du modèle MVC réside en la facilité à construire un projet, appréhender l'existant ou le faire évoluer, en s'appuyant sur des structures standard Partie Model C'est la partie "back-end" du système, qui peut être subdivisée en concepts : l'état interne du système, et les actions qui peuvent être entreprises pour le modifier. Les beans ou EJBs (Enterprise Java beans) représentent cet état, et leurs propriétés les détails de cet état. Une autre partie de cet état est souvent contenue dans des bases de données, dans ce cas les beans réalisent l'interfaçage. Le "business logic" ("comment cela s'effectue") est donc assuré par ces composants Partie Controller Cette partie a pour rôle de recevoir les requêtes du client, de décider quelle fonction de business logic doit être exécutée, déléguer la production de ce qui est renvoyé au client au composant View approprié. Il s'agit le plus souvent de servlets Partie View Cette partie "front -end" gère la présentation des données et résultats envers le client. Les JSPs (Java Server Pages) sont indiquées pour ce rôle, contenant du code HTML statique et du contenu dynamique issu de traitements. Les servlets sont également utilisables, mais moins pratiques pour du contenu répétitif. Une autre approche utilise des feuilles de style XSL Remarques Il faut bien noter que les beans sont divisés en beans de présentation : interfaçage Controller (servlet) et View (JSP), et en beans de traitement (accès aux données, business logic) : interfaçage entre Controller et Model ou bien composants à part entière du Model Un framework J2EE Le standard Java 2 Enterprise Edition J2EE simplifie le développement et le déploiement d'applications multi-tiers : - basé sur un ensemble de composants modulaires standards ; - ensemble de services liés à ces composants ; - prise en charge automatique de comportements de l'application sans besoin de programmation complexe. Ce type de framework présente alors de nombreux intérêts : - intégration des APIs existantes, extensibilité facilitée ; - modularité par intégration d'autres outils (ex. projets du groupe Apache) ; - portabilité maximale, déploiement sur de nombreux serveurs d'application (structure en web application, configuration "minimale" à réaliser sur les moteurs de servlets tels que JRun, Tomcat). 15

16 3.2. Etude de deux frameworks Pourquoi Struts et Cocoon? Besoins Dans le cadre de notre problématique de structuration d applications web s appuyant sur les standards J2EE (extensibilité et interopérabilité accrues), il me semble intéressant de distinguer deux approches à prendre en compte : la première est orientée composant (components), la seconde documents. Ce découpage permet naturellement de couvrir une large gamme de projet. Le choix a aussi été conforté par la taille du framework proposé, sa fréquence d'utilisation, la documentation disponible (site d'origine, mailing-list d'utilisateurs, sources diverses), l'activité des développeurs (correction de bugs, nouvelles fonctionnalités) Décisions Types de frameworks retenus Le framework orienté composants qui a retenu notre attention est Struts (Apache Jakarta). Il correspond à l'association de servlets et beans pour la partie MC, et de JSPs et beans pour la partie présentation. Le framework orienté documents est Cocoon 2 (Apache Xml). Il est modulaire et permet deux orientations pour la partie Controller (utilisation d'extensible server pages, XSP, ou d'actions) Versions choisies pour ces frameworks Les deux solutions retenues pour étude sont open-source et en évolution constante. Ce document risque donc de perdre assez vite une partie de son intérêt, même si la maturité de ces deux frameworks semble très bonne. Afin de mieux coller à la réalité actuelle et à venir proche, les versions les plus avancées disponibles ont été étudiées, et j'ai étudié les versions suivantes avec date de cessation de mise à jour du document : - Struts 1.1 au stade beta 1 (jusqu'à juin 2002), - Cocoon 2.1-dev (jusqu'à septembre 2002). La version de Cocoon retenue n'est pas encore largement distribuée mais disponible via CVS, les fonctionnalités nouvelles par rapport à la version étant encore en développement. On peut donc parler d'une version alpha tout en sachant qu'elle est parfaitement utilisable après tests en phase de production (d'après discussions avec des utilisateurs, voir annexe ). J'ai commencé l'étude et la phase de développement m'appuyant sur Cocoon 2.0.3, puis décidé d'utiliser la version 2.1, sans garantie autre que la vigilance et l'évitement de composants connus comme étant encore non fonctionnels. Ces composants sont évoqués plus rapidement dans l'étude, car soumis à changements possibles. J'aurais prévu de toute façon une migration vers la version 2.1 de Cocoon dès que possible, les changements de structure de à 2.1 n'étant pas très importants d'après les composants retenus. Je compte sur l'activité des développeurs de la communauté jusqu'à la mise en production du projet, afin de corriger quelques bugs. En revanche, l'évolution du projet en utilisant par exemple les XML Forms (non finalisé en septembre 2002) suppose un développement conséquent. J'anticipe donc assez peu au final, sans avoir de regrets en termes d'information des lecteurs de ce document. 16

17 Struts 1.1 b1 Remarque : cette version n'est pas la version la plus récente à la clôture de ce document (décembre 2002) Présentation Déclinaison du modèle MVC Struts a été développé pour les projets qui choisissent l'association servlets / JSPs, avec plusieurs ambitions: Ne plus utiliser les scriptlets : code java dans les JSPs, ce qui est peu lisible au milieu du code HTML, moins facilement développable, mêle une partie du traitement à la présentation. Ainsi des tags respectant globalement la norme d'écriture de XML sont utilisé lorsque les JSPs ont besoin : - d'inclure des éléments issus des beans de présentation ; - d'effectuer, non pas des traitements, mais des choix plus complexes qu'une simple inclusion. Faciliter la logique temporelle des séries d'appels entre le Controller et les deux autres couches, et la séparation du contrôle des formulaires et du traitement des informations de ceux-ci. Struts comporte donc des éléments MVC dans les trois parties : Partie Controller : servlet controller, servlets de classe ActionServlet. Partie View : JSPs incluant des tags spécifiques à Struts. Partie Model : beans de type Action et ActionForm et beans ordinaires (business logic et présentation). Le graphique suivant est issu d'une présentation de Struts par Sun en décembre

18 Diagramme de classes : Relation entre la partie Controller et Model, redessiné d après : 106.ibm.com/developerworks/library/j-struts/?dwzone=java. Diagramme de séquence : source : 18

19 Partie Controller Ce rôle est assuré par une classe dérivée des servlets : ActionServlet. Un ActionServlet est associé à un formulaire HTML (avec des tags Struts pour définir les champs) référencé par un bean de type ActionForm. Un ActionServlet est configuré par un ActionMapping. Cette configuration, définie dans struts-config.xml, permet de savoir quels éléments sont associés au ActionServlet : JSP appelante URI (path) pour l'appeler bean ActionForm pour contrôler un formulaire forwards (ActionForward) pour rediriger vers une JSP ou une autre à l'issue du traitement et suivant son résultat Partie Model Les ActionForm permettent de contrôler les formulaires : en effet dans le cas où il ne s'agit pas d'un simple contrôle de remplissage et de type des champs, la validation côté serveur est recommandée. Les erreurs sont gérées par l'ajout d'objets ActionError à une liste ActionErrors(). Cette liste est ensuite retournée à l'actionservlet Partie View Les tags utilisables dans les JSPs sont définis dans des taglibs. Il y a cinq famille de taglibs : struts-bean, struts-html, struts-logic, struts-template, struts-nested. struts-bean : permet, à l'instar de <JSP:useBean>, de manipuler les beans de présentation. struts-html : permet de simplifier la création de formulaires HTML et la gestion de leurs erreurs de remplissage en les liant à un ActionForm et un MessageResources.properties. struts-logic : permet des évaluations logiques de propriétés de beans, suivies d'actions ou d'insertion de code, à la place de scriptlets. struts-template: permet d'inclure du contenu (JSP, HTML) dans une JSP, un peu comme la directive <JSP:include>, mais en permettant de bien différencier la JSP conteneur et les JSPs contenu. struts-nested : permettent d'utiliser facilement les propriétés de beans imbriqués (le bean B est une propriété du bean A), par exemple pour construire graphiquement une structure récursive ou complexe (menu etc.) Fichier de configuration Le fichier struts-config.xml contient : les mappings des actions: (section <action-mappings />) pour chaque tag <action />. Les attributs sont les suivants : - type : nom de la classe Action implémentée pour ce mapping ; - name : nom du form bean (validation de formulaire) défini par l'attribut que cette action utilise ; - path : URI de la requête qui active la sélection de ce mapping. (nom logique) ; - unknown : si à true, cette action est l'action par défaut de l'application ; - validate : si à true, la méthode validate() de l'action associée à ce mapping est appelée, c'est-à-dire qu'une validation de formulaire est effectuée ; - forward : URI de requête vers laquelle le contrôle est passé lorsque le mapping est invoqué. Alternative à la déclaration de l'attribut type ; 19

20 - input : URL de la JSP appelante, d'où le client envoie des paramètres ; - scope : persistance du bean : session, requête, page. les mappings des beans (section <form-beans />), associant un nom (name) à une classe (type) pour chaque tag <form-bean>. la déclaration de message-resources : fichier.properties contenant des messages texte qui seront inclus par des tags <bean:message key=" "> dans une JSP. la déclaration de data-sources permettant une liaison avec une base de données relationnelle. la déclaration de global-forwards, mapping d'uris valables quelles que soient l'action. D'autre part le descripteur de déploiement de la web application : web.xml est modifié pour que les ActionServlet soient mappés sur l'extension.do (URL d'appel) : dans la section <servletmappings /> le tag <servlet-name> a pour valeur "action" pour les ActionServlets, le tag <urlpattern> correspondant a pour valeur " *.do". En annexe , un exemple de fichier de configuration Eléments décisionnels dans le cadre d'un projet Certains éléments tel que ceux gérant l'accès à une base de données relationnelle, ou les DynaBeans (beans flexibles), ne sont pas détaillés, seulement évoqués dans le tableau du Typologie du projet Struts convient à un projet présentant une ou plusieurs des caractéristiques suivantes : - présence de formulaires à remplir par l'utilisateur avec contrôle des types/valeurs entrés dans les champs ; - une partie du code qui sera retourné à l'utilisateur est statique (HTML) ; - interaction avec une base de données relationnelles ; - présence d'un menu avec présentation visuelle différente par niveaux (usage de struts-nested) Form beans Ils servent à la validation de formulaire côté serveur, c'est-à-dire qu'un traitement peut être effectué avant de retourner un message d'erreur. Les classes ActionForm permettant la vérification de formulaires retournent des objets ActionError, qui utilisent un fichier properties pour stocker les messages retournés au client lorsqu'une erreur est détectée. Ces messages peuvent être formatés en HTML (style local dans le fichier.properties). Lorsque ActionForm est défini, la méthode reset() est appelée et les données entrées dans les champs texte du formulaire d'origine sont perdues si on renvoie à l'issue de l'action sur la JSP d'origine. Or pour un utilisateur il semble normal de retrouver les données entrées en plus du message d'erreur. Une solution est de conserver les données entrées en placant le ActionForm considéré en tant qu'attribut de session et d'ôter cet attribut avant le/les forward Forwards Ce sont des facilitations d'écriture qui associent un nom logique à une URL. Ainsi le code java ne contient pas de nom de JSP "en dur". Les forwards globaux (global-forwards) sont utiles pour gérer la déconnexion ou le retour à un menu principal par exemple (scope=session, sinon scope=request). 20

21 Par exemple le code suivant : servlet.getservletconfig().getservletcontext().getrequestdispatcher("menu.j SP").forward(request,response); devient : mapping.findforward("menu"); Taglibs Leur apport est de plusieurs ordres : - syntaxe XML dont plus facilement gérable au niveau de la maintenance du code, - remplacent les scriptlets dans certains cas, - appel "intuitif" de propriétés d'objets java, - gestion de conditions logiques à l'intérieur d'une JSP, - nesting de beans, qui associé à un appel récursif de JSP permet de faciliter la création de menus Gestion du multilangage Le multilangage n'est géré qu'au niveau de la présentation (vers l'utilisateur), et pas au niveau de l'entrée des données par l'utilisateur. Struts utilise des fichiers properties, déclarés en tant que message-resources, qui contiennent des messages plus ou moins formatés HTML, mais il est recommandé que leur longueur soit raisonnable. L'utilisation d'un fichier properties ou un autre (nom du fichier suffixé par un identifiant langue_pays d'après les codes ISO 639 et 3166) dépend de la Locale (modifiable en tant qu'attribut de session) Addendums Model 2X, extension de la partie View Une extension proposée par Julien Mercay et Gilbert Bouzeid peut être utilisée afin d'enrichir le format de sortie autorisé par Struts. Un article de février 2002 explique son fonctionnement : ajout d'un élément XSL Servlet en partie View, vers lequel le Controller (ActionServlet) redirige. Voir annexe pour plus de détails Conclusions - Tableau récapitulatif Le tableau suivant récapitule les éléments et fonctions importantes de Struts. Elément ou fonction Rôle Avantages Inconvénients Précautions form beans, ActionForm Contrôle de formulaire (messages d'erreur inclus dans un fichier properties) ValidatorForm ValidatorActionForm Contrôle de formulaire (description du champ dans un fichier XML en utilisant les expressions régulières) contrôle complexe de champ Facilitation du contrôle de champs de formulaire Facilitation du contrôle de champs de formulaire Codage du contrôle à développer soi-même Ne convient pas aux systèmes à forte charge (un objet attribut de session par formulaire) Nécessite un.jar non inclus dans la distribution 1.1b1 : jakarta-regexp- 1.2.jar, de /regexp 21

22 Elément ou fonction Rôle Avantages Inconvénients Précautions Dynabeans Bean dont les propriétés Pas besoin d'écrire une sont dynamiques classe java par bean, possibilité de changement de type des propriétés ActionServlet Controller Gestion de l'enchaînement des actions Forwards Beans de présentation Indique l'étape suivante (JSP après action) leurs propriétés sont récupérées dans les JSPs par les tags <bean /> Gestion du multilangage Retour à l'utilisateur en fonction de la Locale choisie BasicDataSource et struts datasource manager taglibs <html /> Accès à une base de données relationnelle Principalement encapsulation des éléments de formulaire en tant que propriétés d'un bean de type ActionForm Gestion des noms réels des JSP au niveau du fichier de configuration XML, écriture allégée. Inclusion facilitée - Ne pas mettre de business logic dans cette classe - La propriété doit être de type String - limité au niveau présentation et fichiers properties Flexibilité de configuration dans struts-config.xml Facilitation d'écriture, permet le contrôle de formulaire Méthode POST utilisée par défaut : paramètres non visibles dans l'url Gestion de l'url de base HTML (réécriture de liens, maintien de la session client sans cookies) Le getter de "value" doit être obligatoirement "getvalue()" (respect du standard java) - Confusion possible de certains attributs avec ceux du standard HTML 4.0 (même nom mais pas même fonction), rigueur nécessaire - taglibs <bean /> taglibs <logic /> Utilisation des propriétés Peut remplacer les de beans de scriptlets présentation Action ou insertion de code conditionnelle, itération taglibs <template /> Insertion dynamique de JSP/HTML taglibs <nested /> Gestion de beans de présentation imbriqués custom tags Moins de JSPs à écrire, flexibilité Permet de bien séparer la JSP conteneur et les JSPs contenu. Simplification des relations parent-enfant - - Présence de scriptlets possible, peut devenir confus (morcellement) Equivalent dans certains - cas à des séries de <JSP:include /> Limiter aux cas simples, bien commenter - N'apparaît officiellement que dans Struts 1.1 beta 1 Extension de tags à partir de javax.servlet.jsp. tagext.tagsupport Remplace des scriptlets Développement supplémentaire La fonction alors développée manque à la version de Struts utilisée - 22

23 Cocoon 2.1-dev Présentation Déclinaison du modèle MVC Cocoon est un framework ayant une approche orientée document, c'est-à-dire qu'une succession d'opérations est appliquée à un fichier ou un flux XML. Ceci est assuré par des pipelines, qui sont des suites de : - génération de flux XML à partir de sources diverses ; - transformations, par application de feuilles de style XSL ; - sérialisation, par rendu du document dans un format final. La structure de Cocoon amène le développeur à réaliser : - une structuration du sitemap (fichier de configuration) pour la logique du site ; - du code java pour les parties Model (business logic) et Controller (actions) ; - des feuilles de style XSL pour la partie View Partie Model Elle est assurée par les generators, qui produisent un flux XML à partir de : - fichier XML ou URL (file generator) ; - requête HTTP ordinaire (request generator) ; - requête HTTP (POST) avec contenu au format XML (stream generator) ; - JSP (JSP generator) ; - XSP (serverpages generator) Partie Controller Les selectors, matchers, actions sont les éléments assurant la partie Controller au niveau d'un pipeline donné. 23

24 Si on les utilise, les pages XSP (XML Server Page) peuvent être associées à une logicsheet (XSL) : dans ce cas la logicsheet est un élément Controller et la page XSP élément Model Partie View Les transformers (XSLT, i18n, sql, log ) puis les serializers (XML, HTML, WML, fop, text ) ont pour rôle d'assurer le traitement du document XML suivant la configuration définie par un pipeline du sitemap. Ils transforment le flux d'évènements SAX en document XML (transformation) puis en document dans un format spécifique (sérialisation). En plus de transformers prédéfinis, des feuilles de style XSL sont aussi utilisables Fichiers de configuration cocoon.xconf Ce fichier définit les composants utilisés par Cocoon (parseur XML, processeur XSLT, loggers, compilateur java, sitemap, components, gestion de la mémoire et de la recompilation ). Il sert à l'initialisation de CocoonServlet, point de départ du lancement du framework sitemap.xmap Un ou plusieurs sitemaps définissent l'enchaînement des opérations au niveau du site par pipelines. Il y a plusieurs sitemaps si on divise l'application en parties logiques, lesquelles se retrouvent dans l'arborescence des fichiers pour plus de clarté. La structure XML d'un sitemap comporte les éléments suivants : <?xml version="1.0"?> <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"> <map:components/> <map:views/> <map:resources/> <map:action-sets/> <map:pipelines/> </map:sitemap> Les components sont les éléments de la partie Model (generators), Controller (selectors, matchers, aggregators, actions ), View (transformers, serializers). Les views permettent de définir des "vues" orthogonales aux pipelines et indépendant d'eux (vision partielle du document, formatage spécifique). Les resources sont des définitions de pipelines réutilisables. Les action-sets sont des ensembles d'actions liées à une page. Les pipelines sont des séries d'opérations associant les différents components MVC dans un ordre défini. En annexe le détail de la structure d'un pipeline logkit.xconf Il gère les options d'écriture de fichiers de logs, avec définition des chemins de fichiers, catégories et niveau de logging instrumentation.xconf Apparu courant septembre 2002, ce fichier paramètre le rapport de surveillance de la charge mémoire. 24

25 Eléments décisionnels dans le cadre d'un projet Typologie du projet Cocoon 2 est utilisable pour un projet présentant une ou plusieurs des caractéristiques suivantes : - format final des données retournées au client diversifié : XML, HTML, PDF - présence de données déjà au format XML (facilite les choses), - base de données XML ou relationnelle (requêtes facilitées, directement à partir du sitemap pour la première, par les XSPs ou un transformer pour la seconde), - présence de formulaires à remplir par l'utilisateur avec contrôle des types/valeurs entrés dans les champs, - ressources protégées par différents moyens d'authentification XSP et Logicsheets XSP Les pages XSP sont des documents XML sur lesquels une logique est appliquée, qu'elle soit intégrée ou externe (recommandé). Dans ce dernier cas, une XSP est plus précisément au sens strict le résultat de l'assemblage de documents XML et XSL (logicsheet). Il y a génération de contenu dynamique par association de deux types de markup XML : éléments XSP : tags de logique (xsp:logic) et de structure (xsp:structure). Ils permettent une écriture simplifiée (déclarative) de code qui sera généré lors de la compilation (au niveau du generator). Ces tags correspondent essentiellement à une logique intégrée. élément "utilisateur", de contenu (données dans le document XML produit), avec un autre namespace que xsp. Cet élément devient la racine du document XML produit. D'autres tags (issus de logicsheets) permettent de remplacer dans la mesure du possible l'écriture de fonctions (java par exemple). Ils étendent les tags XSP Logicsheets Les logicsheets sont des feuilles de style XSL servant de filtres XML. Elles s'appliquent à un document XML et trans forment des tags XML en bouts de code dans le langage de programmation choisi (généralement java). Le résultat intermédiaire est sous forme de XSPs avec code (java) intégré. Il existe plusieurs types de logicsheets fournies par Cocoon : accès aux données d'environnement, "utilitaires" et accès aux données et bases de données. Ces deux dernières catégories permettent de limiter l'écriture de code (java) par écriture déclarative. Une logicsheet est liée à un document XSP (XML avec namespace xsp) Soit la logicsheet est appliquée à un document XML donné par l'instruction : <?xml-logicsheet href="logicsheet..xsl"?>, soit la logicsheet est built-in, déclarée dans cocoon.xconf. 25

26 Méthodes de création d'une XSP Logicsheet externe Usage de taglibs Remarques Si on utilise des instructions intégrées aux XSPs, elles ressemblent un peu aux JSPs (association de code exécutable et de markup statique) mais diffèrent essentiellement par la génération de données dynamiques et non de présentation. De plus, java n'est pas le seul langage disponible pour la partie code. D'après plusieurs débats récurrents (voir quelques extraits en annexe ) entre les utilisateurs de Cocoon, les XSPs devraient n'être utilisées qu'avec des taglibs, sans insertion de morceaux de code java. De même, si un projet utilise à la fois des XSPs et des Actions, comme ces éléments peuvent jouer des rôles identiques, une certaine confusion d'architecture est possible. En effet les Actions sont inscrites dans une logique lisible dans un pipeline du sitemap tandis que les XSPs réalisent une logique à un moment donné. On peut complètement se passer des XSPs dès lors qu on utilise des Actions. Personnellement j'ai choisi cette approche, mes développements nécessitent alors une plus grande variété de transformers, et aussi des extensions java si je ne développe pas de transformers spécifiques à mon application Actions Fonctionnement Les actions (traitement par une classe java dérivée de org.apache.cocoon.acting.composeraction) ont été introduites dans Cocoon 2.0 pour mieux respecter le modèle MVC (composant Controller). 26

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4 Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/5 Titre professionnel : Reconnu par l Etat de niveau III (Bac), inscrit au RNCP (arrêté du 12/10/07, J.O. n 246 du 23/10/07) (32 semaines) Unité 1 : Structurer une application 6 semaines Module

Plus en détail

Ecole Nationale Supérieure des Télécommunications Les outils XML

Ecole Nationale Supérieure des Télécommunications Les outils XML Ecole Nationale Supérieure des Télécommunications Les outils XML Page 1 sur 13 SOMMAIRE 1 Introduction 3 2 Parseur XML et processeur XSLT 4 2.1 Le Parseur XML v2 4 2.1.1 Les API DOM et SAX 4 2.1.2 Le parseur

Plus en détail

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web PROGRAMMATION PUBLIC Professionnels informatiques qui souhaitent développer des applications et «applets» Java DUREE 4 jours 28 heures OBJECTIF Créer divers «applets» à intégrer dans un site Web dynamique,

Plus en détail

VisualAge Pacbase 3.0 et WebSphere

VisualAge Pacbase 3.0 et WebSphere VisualAge Pacbase 3.0 et WebSphere Conférence VisualAge Pacbase 13 décembre 2001 Fernand Bonaguidi Jean-François Lévi 1 La plateforme logicielle WebSphere Applications de s et de Partenaires Accélérateurs

Plus en détail

Cocoon. Cocoon. http://cocoon.apache.org/ (alain.bouju@univ-lr.fr) (http://perso.univ-lr.fr/abouju)

Cocoon. Cocoon. http://cocoon.apache.org/ (alain.bouju@univ-lr.fr) (http://perso.univ-lr.fr/abouju) Cocoon Cocoon http://cocoon.apache.org/ (alain.bouju@univ-lr.fr) (http://perso.univ-lr.fr/abouju) 1 Cocoon Présentation Apache Cocoon est un système de développement web permettant une séparation des problèmes

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

PHPBoost. Un CMS innovant

PHPBoost. Un CMS innovant PHPBoost Un CMS innovant Introduction CMS = Content Management System Littéralement système de gestion de contenu Assistant de publication de site web Logiciel exécuté côté serveur Une fois mis en place,

Plus en détail

Les Utilisateurs dans SharePoint

Les Utilisateurs dans SharePoint Les Utilisateurs dans SharePoint La gestion des utilisateurs dans SharePoint SharePoint dont le cœur est l'outil collaboratif, Windows SharePoint Services. Chaque utilisateur (ou collaborateur) peut créer

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

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

SOA et Services Web. 23 octobre 2011. SOA: Concepts de base

SOA et Services Web. 23 octobre 2011. SOA: Concepts de base SOA et Services Web 23 octobre 2011 1 SOA: Concepts de base 2 Du client serveur à la SOA N est Nest pas une démarche entièrement nouvelle: années 1990 avec les solutions C/S Besoins d ouverture et d interopérabilité

Plus en détail

Unité de formation 1 : Structurer une application. Durée : 3 semaines

Unité de formation 1 : Structurer une application. Durée : 3 semaines PROGRAMME «DEVELOPPEUR LOGICIEL» Titre professionnel : «Développeur Logiciel» Inscrit au RNCP de niveau III (Bac+2) (JO du 23 Octobre 2007) (32 semaines) Unité de formation 1 : Structurer une application

Plus en détail

0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage. 3- Organisation du cours

0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage. 3- Organisation du cours 0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage 3- Organisation du cours Le présent cours constitue une introduction pour situer le langage C++, beaucoup des concepts

Plus en détail

Symfony 2. 1.Définition de symfony 2. 2.Installation. 3.Structure. 4.Symfony et les commandes

Symfony 2. 1.Définition de symfony 2. 2.Installation. 3.Structure. 4.Symfony et les commandes Symfony 2 Sommaire : 1.Définition de symfony 2 2.Installation 3.Structure 4.Symfony et les commandes 5.Le fonctionnement : le routeur (les url), les bundles, twig(templates) 6.L architecture de symfony2

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

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

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand 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

Joomla! Création et administration d'un site web - Version numérique

Joomla! Création et administration d'un site web - Version numérique Avant-propos 1. Objectifs du livre 15 1.1 Orientation 15 1.2 À qui s adresse ce livre? 16 2. Contenu de l ouvrage 17 3. Conclusion 18 Introduction 1. Un peu d histoire pour commencer... 19 1.1 Du web statique

Plus en détail

Auto-évaluation Aperçu de l architecture Java EE

Auto-évaluation Aperçu de l architecture Java EE Auto-évaluation Aperçu de l architecture Java EE Document: f1218test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION APERÇU

Plus en détail

JASPERSOFT ET LE PAYSAGE ANALYTIQUE. Jaspersoft et le paysage analytique 1

JASPERSOFT ET LE PAYSAGE ANALYTIQUE. Jaspersoft et le paysage analytique 1 JASPERSOFT ET LE PAYSAGE ANALYTIQUE Jaspersoft et le paysage analytique 1 Ce texte est un résumé du Livre Blanc complet. N hésitez pas à vous inscrire sur Jaspersoft (http://www.jaspersoft.com/fr/analyticslandscape-jaspersoft)

Plus en détail

Développement de Servlets et JSP avec Eclipse

Développement de Servlets et JSP avec Eclipse Développement de Servlets et JSP avec Eclipse Sommaire 1 Mise en place o 1.1 Installation de Galileo o 1.2 Association de Galileo avec une installation de Tomcat o 1.3 Pilotage des serveurs 2 Développement

Plus en détail

Conseil, Etudes et Edition de logiciels NORMES & CONVENTIONS DE DEVELOPPEMENT JAVA ET SQL

Conseil, Etudes et Edition de logiciels NORMES & CONVENTIONS DE DEVELOPPEMENT JAVA ET SQL Conseil, Etudes et Edition de logiciels NORMES & CONVENTIONS DE DEVELOPPEMENT JAVA ET SQL Table des matières Système d'exploitation... 3 Environnement de développement intégré... 3 Le workspace... 3 Le

Plus en détail

Les tableaux de bord de pilotage de nouvelle génération. Copyright 2002-2008 PRELYTIS

Les tableaux de bord de pilotage de nouvelle génération. Copyright 2002-2008 PRELYTIS Les tableaux de bord de pilotage de nouvelle génération Sommaire PRELYTIS en quelques mots LiveDashBoard : principes directeurs et positionnement La couverture fonctionnelle Démonstration Les packages

Plus en détail

Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet

Cahier de charges (Source : Java EE - Guide de développement d'applications web en Java par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module Site Web dynamique JSP / Servlet Sujet : betaboutique Soutenance le 04 / 01 /2013 &

Plus en détail

Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform

Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform IBM Software Group Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform Thierry Bourrier, Techical Consultant thierry.bourrier@fr.ibm.com L Architecture

Plus en détail

Synthèse de son offre logicielle

Synthèse de son offre logicielle Connecting your business Synthèse de son offre logicielle Copyright 2006, toute reproduction ou diffusion non autorisée est interdite STREAM MIND Créateur de produits logiciels innovants dans le traitement

Plus en détail

Les architectures N-tiers

Les architectures N-tiers Les architectures N-tiers 1 SOMMAIRE DU COURS XML ET LES ARCHITECTURES N-TIER Introduction aux architectures N-tier Serveurs d applications Déploiement d applications J2EE Tiers applicatif : servlets Tiers

Plus en détail

SENTINEL S/5 avec CODESOFT Version 8

SENTINEL S/5 avec CODESOFT Version 8 SENTINEL S/5 avec CODESOFT Version 8 TEKLYNX International Copyright 2005 5 Décembre, 2005 RN-0001.00 PRODUCT RELEASE NOTES SENTINEL S/5 version 5.01 Release Notes v.fr 1 SENTINEL S/5 avec CODESOFT version

Plus en détail

Créer le modèle multidimensionnel

Créer le modèle multidimensionnel 231 Chapitre 6 Créer le modèle multidimensionnel 1. Présentation de SSAS multidimensionnel Créer le modèle multidimensionnel SSAS (SQL Server Analysis Services) multidimensionnel est un serveur de bases

Plus en détail

SIO-65291 Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

SIO-65291 Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault SIO-65291 Page 1 de 5 1- Objectifs généraux Applications Web dynamiques Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault acquérir les principes et concepts fondamentaux dans le domaine d'applications

Plus en détail

PLAN PROJET. Binôme ou monôme (B/M): M. : abdlhaqmilan@gmail.com GSM : 00212640108250. : Gestion d'une agence de location de voiture.

PLAN PROJET. Binôme ou monôme (B/M): M. : abdlhaqmilan@gmail.com GSM : 00212640108250. : Gestion d'une agence de location de voiture. Développement d une application JAVA EE PLAN PROJET Binôme ou monôme (B/M): M Nom & Prénom : AZRAGUE Abdelhaq Email : abdlhaqmilan@gmail.com GSM : 00212640108250 Organisme Scolaire : Gestion d'une agence

Plus en détail

Modèle spagetthi et solution EAI

Modèle spagetthi et solution EAI EAI Définition L'EAI est une notion ancienne mais toujours d'actualité. En effet, le besoin de faire communiquer des applications développées à des moments différents, dans des technologies différentes

Plus en détail

LANGAGES & DéVELOPPEMENT. Une équipe à vos côtés pour toutes vos montées en compétences

LANGAGES & DéVELOPPEMENT. Une équipe à vos côtés pour toutes vos montées en compétences LANGAGES & DéVELOPPEMENT Une équipe à vos côtés pour toutes vos montées en compétences ASP.NET OPTION VB.NET OU C# 5 jours Permettre aux participants de mieux appréhender ce qu est la programmation pour

Plus en détail

Qu'est-ce qu'un Web Service?

Qu'est-ce qu'un Web Service? WEB SERVICES Qu'est-ce qu'un Web Service? Un Web Service est un composant implémenté dans n'importe quel langage, déployé sur n'importe quelle plate-forme et enveloppé dans une couche de standards dérivés

Plus en détail

Technologie SAFE* X3 - Outils et Développement. Développement, Fonction de base 2 e partie 3 jours. Web Services. 2 jours

Technologie SAFE* X3 - Outils et Développement. Développement, Fonction de base 2 e partie 3 jours. Web Services. 2 jours - Vous êtes consultant, chef de projets, acteur clé au sein de votre entreprise et vous intervenez en phase de déploiement ou de paramétrage d un logiciel Sage, Optez pour les formations «Produits» : Nous

Plus en détail

Kit d'intégration FAS+

Kit d'intégration FAS+ Guide d'intégration de l'application IAM - Annexe Kit d'intégration FAS+ Date 24/08/2012 Version 3.0 TABLE DES MATIÈRES 1 Introduction...3 2 Kit d'intégration FAS+...3 2.1 Pages JSP...4 2.2 Classes Java...7

Plus en détail

Programmation Avancée pour le Web

Programmation Avancée pour le Web L3 Informatique Option : ISIL Programmation Avancée pour le Web RAMDANI Med U Bouira 1 Contenu du module Introduction aux applications Web Rappels sur les sites Web Conception d une application Web Notion

Plus en détail

GRAILS L'ARCHITECTURE GRAILS

GRAILS L'ARCHITECTURE GRAILS GRAILS L'ARCHITECTURE GRAILS Grails est un serveur d'application web basé sur le langage Groovy, et le framework Spring. Il est édité par la société : SpringSource. Une application Grails se décompose

Plus en détail

Cursus Sage ERP X3 Outils & Développement. CURSUS Sage ERP X3 Outils & Développement ADVANCED. Administration avancée.

Cursus Sage ERP X3 Outils & Développement. CURSUS Sage ERP X3 Outils & Développement ADVANCED. Administration avancée. Cursus Outils & Développement Vous êtes Consultant, Chef de Projets, Directeur des Systèmes d Information, Directeur Administratif et Financier, Optez pour les «formations Produits». Nous vous proposons

Plus en détail

Programme de formation

Programme de formation INSCRIVEZ VOUS Formations sélectionnées et financées par le FAFIEC Programme de formation mardi 16 septembre 2014 Les Métiers du Test Module 5.2 - Automatisation des tests fonctionnels : HP Unified Functional

Plus en détail

Dossier de Conception Système

Dossier de Conception Système Dossier de Conception Systeme FullMANGA Document Dossier de Conception Système Version 1.2 Commencé le 30 novembre 2006 Dernière modification 4 décembre 2006 Statut Finale Client Enseignants du M2P GI

Plus en détail

Scub Foundation. Socle technique Java Open Source http://www.scub-foundation.org

Scub Foundation. Socle technique Java Open Source http://www.scub-foundation.org Scub Foundation Socle technique Java Open Source http://www.scub-foundation.org Présentation de Scub Présentation de Scub Scub est une société de service en informatique qui a pour but de fournir du conseil

Plus en détail

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova I. Introduction Dans une période où la plasticité peut aider à réduire les coûts de développement de projets comme des applications mobile,

Plus en détail

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean. Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa (buffa@unice.fr), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime

Plus en détail

RAPPORT DE CONCEPTION UML :

RAPPORT DE CONCEPTION UML : Carlo Abi Chahine Sylvain Archenault Yves Houpert Martine Wang RAPPORT DE CONCEPTION UML : Bamboo Ch@t Projet GM4 Juin 2006 Table des matières 1 Introduction 2 2 Présentation du logiciel 3 2.1 Précisions

Plus en détail

http://www.alfresco.com/fr/community/register/?source=docs Extensions, Documentation, Tutoriels, Astuces

http://www.alfresco.com/fr/community/register/?source=docs Extensions, Documentation, Tutoriels, Astuces Maryem Rhanoui 2013 Alfresco Liens utiles Le site Alfresco : http://www.alfresco.com/fr/ Le Portail Content Community http://www.alfresco.com/fr/community/register/?source=docs Extensions, Documentation,

Plus en détail

SQL Server 2008 Report Builder 2.0

SQL Server 2008 Report Builder 2.0 SQL Server 2008 Report Builder 2.0 Installation et utilisation de Report Builder 2.0 Dans le cadre de la création de rapports pour SQL Server Reporting Services 2008, un outil est disponible, Report Builder

Plus en détail

PROSOP : un système de gestion de bases de données prosopographiques

PROSOP : un système de gestion de bases de données prosopographiques PROSOP : un système de gestion de bases de données prosopographiques Introduction : Ce document présente l outil en développement PROSOP qui permet la gestion d'une base de donnée prosopographique de la

Plus en détail

www.synel-france.com

www.synel-france.com VOTRE SUITE LOGICIELLE COMPLÈTE DEDIÉE A LA GESTION DU TEMPS www.synel-france.com Horioweb La solution modulaire de Synel pour la gestion du temps, le contrôle d'accès, l'établissement des coûts, la RH,

Plus en détail

Etude comparative des 5 CMS Open Source

Etude comparative des 5 CMS Open Source Etude comparative des 5 CMS Open Source SPIP/Joomla!/OpenCMS/Jahia/Drupal Réaliser Par : Abderrahim BARGAOUI Enseignant: M. Philippe BOOTZ Module : Théorie de l Hypermédia SPIP : Présentation : SPIP (Système

Plus en détail

DRS. Donnez des Capacités à Votre Serveur d Impression d Entreprise. Distributeur exclusif de la gamme des logiciels Levi, Ray & Shoup, Inc.

DRS. Donnez des Capacités à Votre Serveur d Impression d Entreprise. Distributeur exclusif de la gamme des logiciels Levi, Ray & Shoup, Inc. DRS Donnez des Capacités à Votre Serveur d Impression d Entreprise Distributeur exclusif de la gamme des logiciels Levi, Ray & Shoup, Inc. Les documents les plus importants de votre entreprise sont issus

Plus en détail

Architecture technique

Architecture technique OPUS DRAC Architecture technique Projet OPUS DRAC Auteur Mathilde GUILLARME Chef de projet Klee Group «Créateurs de solutions e business» Centre d affaires de la Boursidière BP 5-92357 Le Plessis Robinson

Plus en détail

Introduction à Windows Workflow Foundation

Introduction à Windows Workflow Foundation Introduction à Windows Workflow Foundation Version 1.1 Auteur : Mathieu HOLLEBECQ Co-auteur : James RAVAILLE http://blogs.dotnet-france.com/jamesr 2 Introduction à Windows Workflow Foundation [07/01/2009]

Plus en détail

REQUEA. v 1.0.0 PD 20 mars 2008. Mouvements d arrivée / départ de personnels Description produit

REQUEA. v 1.0.0 PD 20 mars 2008. Mouvements d arrivée / départ de personnels Description produit v 1.0.0 PD 20 mars 2008 Mouvements d arrivée / départ de personnels Description produit Fonctionnalités L application Gestion des mouvements d arrivée / départ de Requea permet la gestion collaborative

Plus en détail

présente le premier framework J2EE français sous licence commerciale

présente le premier framework J2EE français sous licence commerciale présente J2EE Technical Components Factory le premier framework J2EE français sous licence commerciale Avec le retour d expérience client du département IT de CONTACT PRESSE Agnès Heudron : agnesh@infinites.fr

Plus en détail

rad-framework Software development plan document version 01 Oussama Boudyach April 20, 2011

rad-framework Software development plan document version 01 Oussama Boudyach April 20, 2011 rad-framework Software development plan document version 01 Oussama Boudyach April 20, 2011 1 Contents 1 Introduction 3 2 Documents et matériels 3 2.1 Document et matériel octroyé:....................................

Plus en détail

Description et illustration du processus unifié

Description et illustration du processus unifié USDP Description et illustration du processus unifié Définit un enchaînement d activités Est réalisé par un ensemble de travailleurs Avec des rôles, des métiers Avec pour objectifs de passer des besoins

Plus en détail

Systèmes de Gestion de Contenu

Systèmes de Gestion de Contenu Introduction aux de site Web Master 1 CAWEB Page 1/7 Introduction Définition CMS Content Management Systems : logiciels de conception et de mise à jour dynamique de site web ou d'application multimédia

Plus en détail

Projet tutoré. Groupe: Yashine,Resnays, Martial,Amadou, Alain Tuteur: Moez Essaidi Objet: Module de Reporting Ad hoc

Projet tutoré. Groupe: Yashine,Resnays, Martial,Amadou, Alain Tuteur: Moez Essaidi Objet: Module de Reporting Ad hoc Projet tutoré Groupe: Yashine,Resnays, Martial,Amadou, Alain Tuteur: Moez Essaidi Objet: Module de Reporting Ad hoc Sommaire 2 Le projet Le Cadre Description Cahier des charges Architecture L'équipe La

Plus en détail

Evolutions du Web et des langages

Evolutions du Web et des langages Evolutions du Web Evolutions du Web et des langages WEB statique Ces pages sont écrites en HTML Les pages demandées sont identiques quelque soit La personne qui les demande L heure de la demande Etc. WEB

Plus en détail

SQL Server Management Studio Express

SQL Server Management Studio Express SQL Server Management Studio Express L'outil de gestion gratuit des bases Microsoft SQL Suite à mon précédent article, Microsoft a mis à disposition du public d'un outil gratuit de gestion des bases de

Plus en détail

EXTENSION de Microsoft Dynamics CRM 2013. Réf FR 80452

EXTENSION de Microsoft Dynamics CRM 2013. Réf FR 80452 EXTENSION de Microsoft Dynamics CRM 2013 Réf FR 80452 Durée : 3 jours A propos de ce cours : Ce cours offre une information interactive et détaillée sur le développement d extensions pour Microsoft Dynamics

Plus en détail

http://www.sigl.epita.net Struts Struts Romain Couturier Aurélia Fermé Frédéric Lung Tung Matthieu Nicolas 17/06/2002 17/06/2002 ACO slide 1

http://www.sigl.epita.net Struts Struts Romain Couturier Aurélia Fermé Frédéric Lung Tung Matthieu Nicolas 17/06/2002 17/06/2002 ACO slide 1 http://www.sigl.epita.net Romain Couturier Aurélia Fermé Frédéric Lung Tung Matthieu Nicolas slide 1 Plan Rappels Servlet JSP JavaBean MVC (1 & 2) Présentation Vue Contrôleur Modèle Exemple d application

Plus en détail

Contexte PPE GSB CR. Analyse. Projet réalisé :

Contexte PPE GSB CR. Analyse. Projet réalisé : Contexte PPE GSB CR Le laboratoire est issu de la fusion entre le géant américain Galaxy et le conglomérat Swiss Bourdin. Cette fusion a eu pour but de moderniser l activité de visite médicale et de réaliser

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 16 NFP111 Systèmes et Applications Réparties Cours 10 - Les Enterprise Java Beans ( aux serveurs ) Claude Duvallet Université du Havre UFR Sciences et Techniques

Plus en détail

Formation Certifiante : Java/Java EE, Hibernate, Struts2, JSF2 et Spring3

Formation Certifiante : Java/Java EE, Hibernate, Struts2, JSF2 et Spring3 Formation Certifiante : Java/Java EE, Hibernate, Struts2, JSF2 et Spring3 Présentation de la formation Cette formation s'inscrit dans le cadre des formations d'été assurées par la société Inovia Information

Plus en détail

Solutions de gestion de la sécurité Livre blanc

Solutions de gestion de la sécurité Livre blanc Solutions de gestion de la sécurité Livre blanc L intégration de la gestion des identités et des accès avec l authentification unique Objectif : Renforcer la politique de sécurité et améliorer la productivité

Plus en détail

Architectures et Web

Architectures et Web Architectures et Web Niveaux d'abstraction d'une application En règle générale, une application est découpée en 3 niveaux d'abstraction : La couche présentation ou IHM (Interface Homme/Machine) gère les

Plus en détail

Formation en Logiciels Libres. Fiche d inscription

Formation en Logiciels Libres. Fiche d inscription République Tunisienne Ministère de l'industrie et la Technologie - Secrétariat d'état de la Technologie Unité des Logiciels Libres Formation en Logiciels Libres Fiche d inscription (Une fiche par candidat)

Plus en détail

Cours Serveurs d application. et Java avancé. Introduction au cours Serveurs d application. et Java avancé. Prérequis / Objectifs.

Cours Serveurs d application. et Java avancé. Introduction au cours Serveurs d application. et Java avancé. Prérequis / Objectifs. Cours Serveurs d application et Java avancé Introduction au cours Serveurs d application et Java avancé ITU Université de Nice Richard Grin Version O 1.0.1 12/4/14 20 h de cours et TPs Richard Grin, université

Plus en détail

[ Hornet ] Guide de migration d'un projet Acube vers Hornet

[ Hornet ] Guide de migration d'un projet Acube vers Hornet [ Hornet ] Guide de migration d'un projet Acube vers Hornet 3.6B Cette création est mise à disposition selon le Contrat Paternité - Pas d'utilisation Commerciale - Partage des Conditions Initiales à l'identique

Plus en détail

OpenText Content Server v10 Cours 3-0126 (ex 215)

OpenText Content Server v10 Cours 3-0126 (ex 215) v10 Cours 3-0126 (ex 215) Administration système et indexation-recherche Durée : 5 jours Ce cours de 5 jours apprendra aux administrateurs, aux architectes système et aux services support comment installer,

Plus en détail

Gestion des immeubles

Gestion des immeubles RAPPORT DE CONCEPTION Gestion des immeubles BOUSSRHAN YOUSSEF & BENZITI WALID Email : Youssefboussrhan@gmail.com GSM : 0678510690, 0611347597 ISTA NTIC SYBA CRJJ GROUPE B Annexe : Figure 1: Diagramme de

Plus en détail

STAGE2 STAGIAIRE / NIKOLAOS TSOLAKIS. 16/02/2015 : choix des outils nécessités pour l application : Didier Kolb, le maitre de stage

STAGE2 STAGIAIRE / NIKOLAOS TSOLAKIS. 16/02/2015 : choix des outils nécessités pour l application : Didier Kolb, le maitre de stage STAGE2 STAGIAIRE / NIKOLAOS TSOLAKIS 16/02/2015 : choix des outils nécessités pour l application : Didier Kolb, le maitre de stage m invite à faire une étude sur les outils qui seraient utilisés. Sites

Plus en détail

A. Introduction. Chapitre 4. - les entités de sécurité ; - les sécurisables ; - les autorisations.

A. Introduction. Chapitre 4. - les entités de sécurité ; - les sécurisables ; - les autorisations. Chapitre 4 A. Introduction Le contrôle d'accès représente une opération importante au niveau de la gestion de la sécurité sur un serveur de bases de données. La sécurisation des données nécessite une organisation

Plus en détail

AUTOMATISATION DES TESTS FONCTIONNELS - HP UNIFIED FONCTIONAL TESTING (UFT)

AUTOMATISATION DES TESTS FONCTIONNELS - HP UNIFIED FONCTIONAL TESTING (UFT) AUTOMATISATION DES TESTS FONCTIONNELS - HP UNIFIED FONCTIONAL TESTING (UFT) REF : CQL08 DURÉE : 5 JOURS OBJECTIFS Maîtriser la démarche d automatisation des tests Savoir automatiser les tests fonctionnels

Plus en détail

Dossier de conception. Conception d un site E-learning

Dossier de conception. Conception d un site E-learning Conception d un site E-learning Encadré par : Mr. LACHGAR Mohamed Réalisé par : LECHQER Younesse ELEOUAD Abdelhadi SOMMAIRE I. PERIMETRE DU PROJET... 2 1.1. ENJEUX ET VISION DU PROJET... 3 1.2. ARCHITECTURE

Plus en détail

Mesure d'audience sur Internet

Mesure d'audience sur Internet Mesure d'audience sur Internet différences fondamentales entre les solution basées sur les journaux et celles utilisant le marquage de site. L objectif de ce document est de répondre à la question légitime

Plus en détail

Nuxeo Runtime Bogdan Stefanescu - Solutions Linux 2007

Nuxeo Runtime Bogdan Stefanescu - Solutions Linux 2007 Nuxeo Runtime Bogdan Stefanescu - Solutions Linux 2007 Qui suis-je? Bogdan Stefanescu mailto:bs@nuxeo.com Architecte / Team Leader chez Nuxeo http://www.nuxeo.com/ Lead Architect et Team Leader du projet

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

Créer un rapport pour Reporting Services

Créer un rapport pour Reporting Services Créer un rapport pour Reporting Services Comment créer des rapports pour SSRS Maintenant que nous avons vu que la version de SQL Server 2005 Express Edition with Advanced Services intègre SQL Server Reporting

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

WWW - Intérêts du Web

WWW - Intérêts du Web WWW - Intérêts du Web client universel facilité d'emploi standards ouverts intégration des autres services Internet extensibilité du système faibles coûts logiciel et réseau utilisation au sein d'une entreprise

Plus en détail

BOOSTEZ MAITRISEZ. votre business en ligne. la qualité de vos données

BOOSTEZ MAITRISEZ. votre business en ligne. la qualité de vos données 3 BOOSTEZ votre business en ligne MAITRISEZ la qualité de vos données J accélère drastiquement le temps de mise en ligne d un nouveau site et je m assure de la qualité de marquage Mon site évolue constamment

Plus en détail

plateformes prises en charge...5 Installation et activation...7 Intégration avec une plateforme SAP BusinessObjects...11

plateformes prises en charge...5 Installation et activation...7 Intégration avec une plateforme SAP BusinessObjects...11 2009-11-24 Copyright 2009 SAP AG. Tous droits réservés.sap, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP Business ByDesign, et les autres produits et services SAP mentionnés dans ce document, ainsi

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

Retour d expérience. Julien BERNARD Crédit Agricole Asset Management

Retour d expérience. Julien BERNARD Crédit Agricole Asset Management Retour d expérience Julien BERNARD Crédit Agricole Asset Management Sommaire 1. Crédit Agricole Asset Management 2. Etat des lieux applicatifs 3. Plate-forme de développement 4. Retour d expérience sur

Plus en détail

ENTREPRISE CONTENT MANAGEMENT & RECORDS MANAGEMENT ECM & RM

ENTREPRISE CONTENT MANAGEMENT & RECORDS MANAGEMENT ECM & RM ENTREPRISE CONTENT MANAGEMENT & RECORDS MANAGEMENT PLAN Introduction Partie I : le records management Qu est ce que le RM? Les principes du RM Les objectifs du RM Les enjeux du RM Les étapes de la mise

Plus en détail

Le client/serveur repose sur une communication d égal à égal entre les applications.

Le client/serveur repose sur une communication d égal à égal entre les applications. Table des matières LES PRINCIPES DE BASE... 1 Présentation distribuée-revamping...2 Présentation distante...3 Traitements distribués...3 données distantes-rd...4 données distribuées-rda distribué...4 L'ARCHITECTURE

Plus en détail

Cours en ligne Développement Java pour le web

Cours en ligne Développement Java pour le web Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité

Plus en détail

UNIVERSITÉ DE NICE - SOPHIA ANTIPOLIS IUT DE NICE - CÔTE D'AZUR DÉPARTEMENT INFORMATIQUE. 41 bd. Napoléon III 06200 NICE RAPPORT D ALTERNANCE

UNIVERSITÉ DE NICE - SOPHIA ANTIPOLIS IUT DE NICE - CÔTE D'AZUR DÉPARTEMENT INFORMATIQUE. 41 bd. Napoléon III 06200 NICE RAPPORT D ALTERNANCE UNIVERSITÉ DE NICE - SOPHIA ANTIPOLIS IUT DE NICE - CÔTE D'AZUR DÉPARTEMENT INFORMATIQUE 41 bd. Napoléon III 06200 NICE RAPPORT D ALTERNANCE POUR L'OBTENTION DU DIPLÔME DE LICENCE PROFESSIONNELLE SYSTÈMES

Plus en détail

Les évolutions des méthodes de développement de logiciels. Depuis Merise de l'eau est passée sous les ponts

Les évolutions des méthodes de développement de logiciels. Depuis Merise de l'eau est passée sous les ponts Les évolutions des méthodes de développement de logiciels Depuis Merise de l'eau est passée sous les ponts Programmation Orientée Objets Encapsulation des données et des traitements Polymorphisme Modularité

Plus en détail

Gérez efficacement vos flux d entreprises.

Gérez efficacement vos flux d entreprises. Gérez efficacement vos flux d entreprises. g geai* répond au besoin de gestion des flux de données inter et intra-entreprises. Vous maîtrisez vos flux autour d une application centralisée. *EAI : Enterprise

Plus en détail

Questions fonctionnelles

Questions fonctionnelles Questions fonctionnelles Réf. Question fonctionnelle Oui nativement Multilinguisme: Les interfaces homme-machine sont -elles disponibles en QF1 plusieures langues? Si oui, quelles langues? Pour quels modules?

Plus en détail

les techniques d'extraction, les formulaires et intégration dans un site WEB

les techniques d'extraction, les formulaires et intégration dans un site WEB les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents

Plus en détail

Cours Android. Cours en ligne Développement sur mobile avec Android. Académie Libre info@academielibre.fr

Cours Android. Cours en ligne Développement sur mobile avec Android. Académie Libre info@academielibre.fr Cours Android Cours en ligne Développement sur mobile avec Android Académie Libre info@academielibre.fr Programme général du cours Développement sur mobile avec Android Module 1 - Programmation J2ee A)

Plus en détail

1 Introduction... 17. 2 Ma première page PHP... 25. 3 Les clefs du PHP... 53

1 Introduction... 17. 2 Ma première page PHP... 25. 3 Les clefs du PHP... 53 1 Introduction... 17 1.1. Naissance de ce langage... 18 1.2. Evolution du langage... 18 1.3. Intérêt de ce langage... 19 La liberté... 19 La portabilité... 20 La facilité... 21 Un peu d histoire... 21

Plus en détail

Concepteur Développeur Informatique Option Nomade

Concepteur Développeur Informatique Option Nomade Concepteur Développeur Informatique Option Nomade Module : Espace ouvert de formation (2 semaines) Ce module est composée de plusieurs parties : - le module développement durable (14 heures), qui traite

Plus en détail