Industrialisation des développements AJAX - J2EE

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

Download "Industrialisation des développements AJAX - J2EE"

Transcription

1 Industrialisation des développements AJAX - J2EE Laurent Guérin ( lguerin@sogeti.com ) 25 Janvier «Les Jeudis de l objet» Ecole des Mines de Nantes 1 - Retour d expérience & naissance d un framework 2 - AJAX 3 - Telosys Jeudis de l'objet - EMN - 25/02/2007 1

2 1.1 - Constats Constats Statistiques du Standish Group CHAOS Report % 29% Succès Dépassement Abandon 53% Quelques constantes : Productivité insuffisante (manque d outils) Faiblesse des tests (unitaires, fonctionnels, couverture) Problème d estimation des charges (activité peu prédictible) Mauvaise gestion des risques Pas (ou trop peu) de «capitalisation du savoir faire» Industrialisation des développements AJAX/J2EE - Laurent GUERIN 4 Jeudis de l'objet - EMN - 25/02/2007 2

3 Architectures «web n-tiers» Tendance forte : «webiser» les applications métier pour Réduire les coûts de déploiement et de gestion de parc Rendre les applications accessibles à partir de postes de travail banalisés utilisation en mode «extranet» Mais le «web traditionnel» a atteint ses limites Ergonomie inadaptée aux applications à usage intensif Le «client léger» est de plus en plus «riche» ( plus complexe ) Utilisation croissante de technologies de type AJAX Projets complexes, parfois chaotiques Industrialisation des développements AJAX/J2EE - Laurent GUERIN 5 Architectures «web n-tiers» Environnement souvent complexe => Compétences multiples UML Design Patterns navigateur Réseau application navigation persistence façade services métier objets métier framework 1 framework 2 framework 3 HTML, CSS JavaScript, DOM, DHTML, XML/XSL, Java, C#, L3G! SQL Industrialisation des développements AJAX/J2EE - Laurent GUERIN 6 Jeudis de l'objet - EMN - 25/02/2007 3

4 Architectures «web n-tiers» La productivité a régressé! Productivité COBOL L3G C/C++ Client - serveur L4G Années Web n-tiers Proportion de code technique encore trop importante! Industrialisation des développements AJAX/J2EE - Laurent GUERIN 7 Objectifs Accroître la productivité Améliorer la qualité Favoriser la capitalisation des composants et des compétences Combler le vide du «client léger riche» répondre aux attentes : des utilisateurs (meilleure ergonomie) des développeurs (environnement de développement simple et efficace) Industrialisation des développements AJAX/J2EE - Laurent GUERIN 8 Jeudis de l'objet - EMN - 25/02/2007 4

5 Démarche d industrialisation 3 axes de rationalisation des développements «n-tiers/j2ee» Industrialisation des développements AJAX/J2EE - Laurent GUERIN 9 Démarche d outillage Détecter & éviter une situation classique : le «syndrome du bûcheron» S attaquer aux causes plutôt qu aux effets mettre en place les outils adaptés Coût initial Mais le retour sur investissement peut être important et rapide ( loi des 20/80 ) Ne pas chercher à tout industrialiser Mesurer le coût d exploitation des outils Adopter une démarche d amélioration progressive ( principe du «Kaïsen» ) Industrialisation des développements AJAX/J2EE - Laurent GUERIN 10 Jeudis de l'objet - EMN - 25/02/2007 5

6 1.2 Un projet de migration technologique vers AJAX/J2EE Situation initiale «client/serveur» Protocole propriétaire Déploiement Run - time Ecrans «classiques» Industrialisation des développements AJAX/J2EE - Laurent GUERIN 12 Jeudis de l'objet - EMN - 25/02/2007 6

7 Cible standards Suppression des «run-times» Adoption de «standards» «client léger» suppression des contraintes de déploiement Industrialisation des développements AJAX/J2EE - Laurent GUERIN 13 AJAX, une histoire ancienne? Le projet cité en exemple débute en 2003 Les choix technologiques ( «XML/http» via le composant «XMLHttpRequest» ) sont basés sur des retours d expérience des années 2001 et 2002 : Navigateur : Internet Explorer Serveurs de tous types : Java (J2EE) Microsoft ASP PHP «AJAX» : seul le nom est récent! Industrialisation des développements AJAX/J2EE - Laurent GUERIN 14 Jeudis de l'objet - EMN - 25/02/2007 7

8 Contraintes et moyens Contraintes fortes : Logiciel «lourd» : 210 écrans, 64 éditions, batchs, Portabilité : bases de données, serveurs J2EE, O.S. Usage intensif : IHM riche préserver l ergonomie Autres : internationalisation, capacité réseau limitée, capacité à monter en charge... Moyens limités : 450 j/h de réalisation et tests unitaires Equipe : majorité de débutants / J2EE Points positifs : Comportement stéréotypé des écrans et des éditions Industrialisation possible Industrialisation des développements AJAX/J2EE - Laurent GUERIN 15 Démarche d industrialisation Phase de «R&D» en amont du projet noyau du framework Processus d enrichissement continu Réalisation d un générateur de code Stabilisation de l équipe (pour appropriation du cycle de développement et des outils) Normes, méthodes, «best practices», Industrialisation des développements AJAX/J2EE - Laurent GUERIN 16 Jeudis de l'objet - EMN - 25/02/2007 8

9 Organisation et méthodes Spécialisation Stabilité Outils Cadre Refactoring Normes Itérations Prototypes Généralisation Améliorations Kaïsen Industrialisation des développements AJAX/J2EE - Laurent GUERIN 17 Architecture Web classique? Pattern «MVC» ou «MVC 2»? Inadapté au contexte Utilisateur Requête <form> GET/POST Réponse 1 5 Page complète Servlet forward JSP 3 2 use Bean 4 Réaffichage! Pas de requêtes transparentes Données utiles : 10 à 20 % du volume de la page! Maintien de contexte détaillé ( postback ) Industrialisation des développements AJAX/J2EE - Laurent GUERIN 18 Jeudis de l'objet - EMN - 25/02/2007 9

10 Le socle technique Framework spécifique, adapté au besoin : global ( écrans base de données ) orienté «écrans» ( principe de dialogue «client / serveur» ) Industrialisation des développements AJAX/J2EE - Laurent GUERIN 19 Cadre & outillage Organisation Cadrage Génération de code + plugins Normes Industrialisation des développements AJAX/J2EE - Laurent GUERIN 20 Jeudis de l'objet - EMN - 25/02/

11 1.3 Bilan du projet Portabilité vers le «Web» Les «applications métier» à usage intensif peuvent être portées vers des postes de travail de type «client léger» sans dégrader leur ergonomie, mais L interface Web ne peut se satisfaire du HTML de base! Il est souvent indispensable de fonctionner dans un mode «client serveur» ( => AJAX ) La complexité induite par la technologie AJAX doit être encapsulée dans le socle technique (non visible par le développeur) Industrialisation des développements AJAX/J2EE - Laurent GUERIN 22 Jeudis de l'objet - EMN - 25/02/

12 XML / http ( AJAX ) Découplage total entre le poste de travail et le serveur Application «orientée écrans» ( et non «navigation de pages» ) ergonomie très réactive, sessions multi-écrans, contrôles champ par champ, idéal pour les «applications métier» ( usage intensif ) Uniquement du XML dans les flux de données? Approche trop «puriste»? Complexe à traiter «côté client» dans certains cas exemple : mise en forme de listes ( JavaScript inefficace => XSL! ) Industrialisation des développements AJAX/J2EE - Laurent GUERIN 23 XML / http ( AJAX ) Ne pas «abuser» des requêtes AJAX Penser à la montée en charge Contrôles champ par champ suffisant Contrôles sur saisie de caractères excessif! Localisation des traitements : Est-il judicieux de coder des «règles métier» en JavaScript? Equilibre à trouver : - Contrôles de surface côté client ( JavaScript ) - Règles métier côté serveur ( Java ) Industrialisation des développements AJAX/J2EE - Laurent GUERIN 24 Jeudis de l'objet - EMN - 25/02/

13 Industrialisation Rationalisation des développements : Framework Outils indispensable Méthode Productivité reste faible sur la couche de présentation Renforcer le socle technique et les outils Le développement JavaScript doit être professionnel! Générateurs de code : Outils relativement coûteux Doivent être souples, paramétrables et intégrés dans l environnement de développement (ex : Eclipse) Industrialisation des développements AJAX/J2EE - Laurent GUERIN 25 Les limites du navigateur Ne pas essayer de tout faire dans le navigateur! Il reste de nombreux cas qu un navigateur ne peut pas résoudre Gestion du mode déconnecté Notification à l initiative du «monde extérieur» Intégration avec des solution externes (bureautique,.. ) Gestion de périphériques spécialisés Pour les cas d utilisation très complexes (ex : gestion d un diagramme de Gantt ) conserver un client lourd conserver autant que possible le protocole http Industrialisation des développements AJAX/J2EE - Laurent GUERIN 26 Jeudis de l'objet - EMN - 25/02/

14 Conclusions Un seul framework couvrant toutes les couches est particulièrement efficace : navigateur Réseau persistance Présentation métier framework «client» framework «serveur» Cohérence globale Economie d objets inutiles ou redondants Permet de «rapprocher l IHM des données» (comme un AGL «client / serveur» ) NB: L efficacité ne doit pas être obtenue aux dépens de l isolation des couches Industrialisation des développements AJAX/J2EE - Laurent GUERIN 27 Conclusions La plupart des «applications métier» à base de «client lourd» peuvent être «webisées» Certaines applications devront cependant conserver une partie de leur IHM en «client lourd» les architectures doivent prévoir l utilisation de postes de travail hybrides Navigateur ( AJAX ) Eclipse RCP, Swing, etc.. Requête XML http Réponse Serveur WebApp Industrialisation des développements AJAX/J2EE - Laurent GUERIN 28 Jeudis de l'objet - EMN - 25/02/

15 1.4 Emergence de Telosys Constat ( début 2005 ) Le principe de dialogue «client / serveur» avec «XML / http» a fait ses preuves J.J.Garrett vient de lancer le terme «AJAX» Ce principe commence à être reconnu et peut être réutilisé sur d autres projets Lancement des travaux pour préparer un framework générique : Architecture plus modulaire & outillage renforcé Simplification de la création des écrans ( bibliothèque de «TagLibs» + système de «templates» ) protocole d échange XML simple et évolutif framework JavaScript plus complet Industrialisation des développements AJAX/J2EE - Laurent GUERIN 30 Jeudis de l'objet - EMN - 25/02/

16 Les objectifs Accessible à des développeurs peu expérimentés dans le monde Web / J2EE (prise en main rapide) Améliorer la productivité ( capacité de développement rapide d applications ) Faciliter l utilisation des méthodes agiles/itératives (utilisable dès la phase de maquettage) Offrir une solution complète, auto-suffisante, couvrant toutes les couches Solution légère et intégrée ( plus efficace ) Industrialisation des développements AJAX/J2EE - Laurent GUERIN 31 Evolution ( ) Choix du nom : «Telosys» Choix de la licence : LGPL Intégration dans ObjectWeb : Mars 2005 : premiers contacts Mai 2005 : proposé au collège des architectes Septembre 2005 : accepté 2006 : premières utilisations des versions «alpha» sur des cas d utilisation réels Industrialisation des développements AJAX/J2EE - Laurent GUERIN 32 Jeudis de l'objet - EMN - 25/02/

17 Site Web Industrialisation des développements AJAX/J2EE - Laurent GUERIN AJAX Jeudis de l'objet - EMN - 25/02/

18 AJAX : qu est-ce que c est? AJAX n est pas Un produit de nettoyage Un club de foot d Amsterdam AJAX n est pas non plus Une nouvelle technologie Une norme AJAX = Asynchronous JavaScript And XML un nom pour désigner l utilisation combinée de technologies existantes ( cf. article de Jesse James Garrett, février 2005) une nouvelle façon de concevoir le dialogue «navigateur serveur» «Web 2.0» Industrialisation des développements AJAX/J2EE - Laurent GUERIN 35 Modèle «AJAX» Modèle de dialogue avec le serveur beaucoup plus flexible que le modèle Web traditionnel Industrialisation des développements AJAX/J2EE - Laurent GUERIN 36 Jeudis de l'objet - EMN - 25/02/

19 AJAX : qu est-ce que c est? AJAX repose sur l utilisation de l objet natif «XMLHttpRequest» disponible dans les navigateurs les plus utilisés ( Firefox, Internet Explorer, Safari, ) XMLHttpRequest permet d effectuer des requêtes sur un serveur HTTP à partir de la page courante sans provoquer un rechargement de page nombreuses possibilités : effectuer des «requêtes transparentes» retrouver des concepts «client / serveur» améliorer l ergonomie etc Industrialisation des développements AJAX/J2EE - Laurent GUERIN 37 AJAX et Web 2.0 : effet de mode? «Hype Cycle for Web Technologies» ( Gartner Group 2006 ) Web 2.0 AJAX Ne pas confondre AJAX, Web 2.0 et RIA Industrialisation des développements AJAX/J2EE - Laurent GUERIN 38 Jeudis de l'objet - EMN - 25/02/

20 AJAX et RIA R.I.A. : «Rich Internet Application» Application Web disposant d une «ergonomie riche» Objectif : retrouver des ergonomies comparables à celles des applications «client lourd» tout en conservant les avantages du Web AJAX n est pas directement lié à RIA AJAX favorise la mise en place d ergonomies riches, Mais n apporte pas les «composants DHTML» nécessaires ( bibliothèques de «widgets» ) Les frameworks «côté client» fournissent des solutions à différents niveaux : JavaScript, AJAX, RIA, etc Industrialisation des développements AJAX/J2EE - Laurent GUERIN 39 AJAX et Web 2.0 Web 2.0 = notion floue Aucune définition ( terme créé par l éditeur O Reilly ) Désigne une nouvelle génération de sites web : version 2.0 ( par opposition au «Web 1.0»? ) Effet de mode? Caractéristiques des sites «Web 2.0» Ergonomie et look amélioré (grâce à AJAX) Syndication de contenu ( fils RSS et Atom ) Contraintes induites par l utilisation d AJAX : Problème de référencement par les moteurs de recherche Pas de gestion de l historique de navigation Pas de marquage de page dans les favoris Industrialisation des développements AJAX/J2EE - Laurent GUERIN 40 Jeudis de l'objet - EMN - 25/02/

21 AJAX et «applications métier» Historiques des applications métier : Ecrans passifs «mode caractères» Client Serveur Web AJAX permet : Migrations technologiques : Ecrans passifs Navigateur Client / Serveur Navigateur et/ou «poste de travail hybride» Amélioration de l ergonomie des «applications web» Applications métier non impactées par les problématiques de référencement, historique, favoris, etc Industrialisation des développements AJAX/J2EE - Laurent GUERIN AJAX Aspects Techniques Jeudis de l'objet - EMN - 25/02/

22 AJAX : Synchrone ou asynchrone? Synchrone : Navigateur bloqué jusqu au retour de la réponse Événements «empilés» par le navigateur Impossibilité d afficher une information visuelle pour indiquer à l utilisateur qu un traitement est en cours (problématique de rafraîchissement de l écran après interprétation du bloc JavaScript) Asynchrone : L utilisateur peut continuer à utiliser le navigateur pendant une requête Prévoir le cas des plusieurs requêtes émises en parallèle Prévoir un moyen de bloquer l utilisation du navigateur Industrialisation des développements AJAX/J2EE - Laurent GUERIN 43 AJAX : Transport des données Qu est-ce que l on transporte? Des «données» ( des «objets» ) ex : XML, POST http Des «vues» ( données déjà mises en forme par le serveur ) ex : HTML, XHTML Les objectifs : Disposer de format de données indépendants des langages de développement Véhiculer des données compréhensibles par les «deux côtés» ( client et serveur ) Eviter une analyse de flux ( «parsing» ) trop complexe ( temps de réponse, empreinte mémoire, ) Industrialisation des développements AJAX/J2EE - Laurent GUERIN 44 Jeudis de l'objet - EMN - 25/02/

23 Transport des données : XML En principe AJAX => XML Avantages : Standard Indépendant des langages Utilisable pour des données brutes ou des présentations ( XHTML ) Permet de transporter des objets Inconvénients : Nécessite un «parser» XML Objets => mapper/wrapper XML Industrialisation des développements AJAX/J2EE - Laurent GUERIN 45 Transport des données : Texte Le corps de la requête/réponse http peut contenir tout type de texte Données dans un format quelconque (format spécifique, «CSV», ) Du code JavaScript ( ex. Google Suggest ) : eval ( http.responsetext ) Des données au format «JSON» Industrialisation des développements AJAX/J2EE - Laurent GUERIN 46 Jeudis de l'objet - EMN - 25/02/

24 Transport des données : JSON JSON : JavaScript Object Notation ( ) permet de représenter des éléments imbriqués { } "fullname": "Bob Dylan", "org": "Music Consulting", " addrs": [ {"type": "work", "value": "bob@foo.biz"}, {"type": "home", "pref": 1, "value": "bob@foo.tv"} ], "telephones": [ {"type": "work", "pref": 1, "value": " "}, {"type": "fax", "value": " "}, {"type": "mobile", "value": " "} ] notation native en JavaScript var obj = {"fullname":"bob","org":"foo"}; var obj2 = eval('(' + jsontext + ')'); autres langages (Java, C++,..) => API Industrialisation des développements AJAX/J2EE - Laurent GUERIN La problématique «JavaScript» Jeudis de l'objet - EMN - 25/02/

25 AJAX & JavaScript AJAX => JavaScript! JavaScript a «mauvaise réputation» Langage «non contrôlé» ( pas de compilation, faiblement typé, ) Faiblesse des outils de développement Problèmes de portabilité entre navigateurs Programmation par «copier/coller» etc... «The World's Most Misunderstood Programming Language» ( Douglas Crockford ) Industrialisation des développements AJAX/J2EE - Laurent GUERIN 49 AJAX & JavaScript Et pourtant JavaScript n est pas si mauvais JavaScript est «orienté objet» «orienté prototype» ( «prototype based» vs «class based» ) tout est objet ( même les fonctions ) dispose d «Exceptions» JavaScript est normalisé et évolue régulièrement ECMA-262 (ECMAScript) Il existe des outils & composants E4X ( ECMAScript for XML - norme ECMA-357 ) : navigation DOM «à la XPath» JavaScipt Templates ( +/- Velocity en JavaScript ) Frameworks JavaScript 1.6 Firefox 1.5 JavaScript 1.7 Firefox 2.0 Industrialisation des développements AJAX/J2EE - Laurent GUERIN 50 Jeudis de l'objet - EMN - 25/02/

26 JavaScript : les bonnes pratiques Développer en JavaScript comme on développe en Java Pas de variables globales ( risques de collision ) Concevoir et développer des «classes» Documenter les classes ( cf. outillage «JS-doc» ) Faire des tests unitaires Assembler les classes dans un fichier «.js» ( comme un «.jar» en Java ) Utiliser un environnement de développement adapté Exemple : Eclipse / FireFox + extensions / Ant ou Maven Mettre en place des composants ou frameworks JavaScript Industrialisation des développements AJAX/J2EE - Laurent GUERIN 51 JavaScript : les bonnes pratiques Exemple : Diagramme de classes de Telosys-JS Industrialisation des développements AJAX/J2EE - Laurent GUERIN 52 Jeudis de l'objet - EMN - 25/02/

27 JavaScript : les bonnes pratiques Exemple : Documentation de Telosys-JS /** * Client stub to invoke server actions ScreenActions Object the Screen instance Laurent GUERIN */ function ScreenActions( oscreen ) { /** * Invokes the standard "SET" action to * update data on the server * Set all the Screen Context elements Object the server response object */ this.doset = function () { } ScreenActions_class.js } Telosys «JS-DOC» Industrialisation des développements AJAX/J2EE - Laurent GUERIN Choisir un «Framework AJAX» Jeudis de l'objet - EMN - 25/02/

28 Frameworks AJAX Une offre pléthorique à classifier : Open Source ou Propriétaire «côté client» uniquement Orienté présentation ( effets visuels, drag & drop, widgets, ) + appels AJAX Exemples : Prototype, DOJO (JSON-RPC), script.aculo.us, OpenRico ( XML-RPC ) «côté client» et «côté serveur» AJAX Java : DWR, Echo2 (XML-RPC), Telosys (XML-RPC) AJAX PHP : CPAINT AJAX Ruby : Ruby on Rails AJAX.Net : ATLAS (Microsoft) Industrialisation des développements AJAX/J2EE - Laurent GUERIN 55 Frameworks AJAX Positionnement des frameworks les plus connus Prototype Dojo script.aculo.us Open Rico JAVA (J2EE) navigateur Réseau Processeur de requêtes Persistance Application ( dwr/*.js ) DWR ( dwr.jar ) Echo2 ( echo2_*.jar ) ( telosys.js ) Telosys ( telosys.jar ) Industrialisation des développements AJAX/J2EE - Laurent GUERIN 56 Jeudis de l'objet - EMN - 25/02/

29 Frameworks AJAX Quelques critères de choix Non intrusif ( ne pas impacter les standards ) JavaScript : ECMAScript Java : Objets «pure POJO» Minimum de code (globalement & minimum de code JavaScript en particulier) Intégration avec la couche de présentation ( ex : taglibs JSP ) Préserver l interopérabilité avec des «postes de travail hybrides» échanges au format XML Industrialisation des développements AJAX/J2EE - Laurent GUERIN Le framework Telosys Jeudis de l'objet - EMN - 25/02/

30 Telosys Un framework conçu pour réaliser des applications métier de type Client/Server Web Principe : poste de travail de type «client http» (navigateur, ) orienté «écrans» («pages web» ) serveur qui fournit des «actions» et des «services» requêtes client/serveur «AJAX» : XML-RPC sur HTTP (seules les données utiles sont échangées) Différentes «briques» intégrées, mais utilisables séparément : Framework JavaScript Gestionnaire d écran «screen maps» Couche de persistance (mapping O/R) Gestionnaire d actions Gestionnaire de services Générateurs de code Industrialisation des développements AJAX/J2EE - Laurent GUERIN 59 Pourquoi Telosys? Répondre à la problématique des postes de travail des applications à usage intensif Associer le meilleur des deux mondes : «client léger» & «client-serveur» WebApp + Navigateur : pas de déploiement, protocoles standard, mais inadapté à une utilisation intensive Telosys voie du milieu Client / Server : orienté écran ergonomie riche, mais Protocoles Non standard + contraintes de déploiement Industrialiser les développements ( améliorer la qualité et la productivité ) réduction du «code technique»! Industrialisation des développements AJAX/J2EE - Laurent GUERIN 60 Jeudis de l'objet - EMN - 25/02/

31 Philosophie & principes généraux Simplicité : Placer l unique fichier telosys.jar dans le projet et l utiliser Ouverture : Utilisable avec n importe quelle autre technologie (Web Services, EJB, Hibernate, clients lourds, ), intégration avec des «servlet/jsp classiques», Struts, JSF, Couverture globale & autonomie : Toutes les couches d une application web standard sont couvertes Aucun autre framework n est nécessaire Adaptabilité : Comportement standard peut être adapté/spécialisé Proposer des solutions, ne pas les imposer! Industrialisation des développements AJAX/J2EE - Laurent GUERIN 61 Telosys : Licence & Technologies Licence : GNU Lesser General Public License (LGPL) Technologies standards : Côté Serveur : Java (Servlet, JSP, JDBC) Côté client : DHTML (HTML, Javascript, CSS) or XUL Browsers : Internet Explorer & Firefox Dialogue : XML / HTTP IDE : Eclipse + plugins Industrialisation des développements AJAX/J2EE - Laurent GUERIN 62 Jeudis de l'objet - EMN - 25/02/

32 Telosys : Architecture Browser (Internet Explorer, Firefox, ) HTTP J2EE Web Container UIL Screen templates Telosys ( Screen Map Server ) Screen map ( XHTML or XUL ) JavaScript Framework 1 2 HTML XUL get screen map request XML XML response authentication Screen map (JSP) RPL JavaScript Framework Business Layer Screen context JSP taglib DAL Telosys ( Request Server ) Client AJAX dialog Server Database Industrialisation des développements AJAX/J2EE - Laurent GUERIN 63 Telosys : Couches côté serveur Request Processing Layer Screen Layer Screen Application Business Layer B.S. B.O. D.A.O. XML XML Parser Screen Request Request Processor Screen Session Action Specific Action Screen Triggers XML XML Writer XmlWrapper Screen Response Screen Standard Action ScreenData Data Access Layer Screen-DAO Table-DAO Standard DAO Connection Pool POJO Screen-VO Global-VO Table-VO Commons J2EE Web Container (Tomcat, ) Industrialisation des développements AJAX/J2EE - Laurent GUERIN 64 Jeudis de l'objet - EMN - 25/02/

33 Telosys : différents types de clients Telosys fournit un Screen Map Server pour construire des IHM Web ( HTML / XUL ) Tout type de client http peut dialoguer avec le Request Processor ( XML-RPC ) : des applications «client lourd», quel que soit le langage (Java, C++, C#,..) ou le 4GL (Delphi, ) des serveurs (J2EE,.Net, PHP, ) etc The server side is client agnostic Navigateur ( HTML or XUL ) Application «desktop» ( Java, C, C++, C#, ) Serveur ( J2EE,.Net, PHP, )? XML HTTP J2EE Web Container Telosys Request Processor Outil de test Industrialisation des développements AJAX/J2EE - Laurent GUERIN 65 Principe de développement L indépendance des composants permet d envisager différents principes de développement : UML A partir du modèle applicatif / métier navigateur Présentation Persistance Composants applicatifs / métier IHM vers le modèle de données Modèle de données vers IHM Industrialisation des développements AJAX/J2EE - Laurent GUERIN 66 Jeudis de l'objet - EMN - 25/02/

34 3.2 - Persistance Telosys-DAL : Architecture Application Data Access Layer Connection getconnection() Manager init() dbconfig.xml «DAO» «SqlConnection Provider» AgencyVO AgencyDAO SqlConnection Pool SqlConnection AgencyVOList SqlConnection Pool EmployeeVO EmployeeDAO SqlConnection EmployeeVOList SqlConnection Factory SqlConnection Value Objects For each table : 1 VO & 1 VOList For each table : 1 DAO Pool or single connection Multiple databases Industrialisation des développements AJAX/J2EE - Laurent GUERIN 68 Jeudis de l'objet - EMN - 25/02/

35 Telosys-DAL : DAO VO VOList Exemple : table «Employe» SqlRequests. gettablename(). getsqlxxxx() EmployeVO. getxxxx(). setxxxx(). isxxxx(). tostring() POJO 0..N EmployeVOList. EmployeeVO add(). add( EmployeeVO ). insert ( index, EmployeeVO ). replace ( index, EmployeeVO ). remove ( index ). remove (EmployeeVO ). EmployeeVO get( index ). EmployeeVO getfirst(). EmployeeVO getnext() LinkedList Mapping Table - VO. load(). save(). delete(). insert(). update(). exists(). loadlist(). savelist(). deletelist(). insert(). count(). createquery() EmployeDAO ListQuery. setparameter(). getsqlselect(). getsqlcount(). getsqldelete() Industrialisation des développements AJAX/J2EE - Laurent GUERIN 69 Telosys-DAL : Générateur de code Plugin Eclipse Modèle = Base de données ( metadata ) Mapping Colonne Table Attribut Java Génération. VO. VOList. DAO Industrialisation des développements AJAX/J2EE - Laurent GUERIN 70 Jeudis de l'objet - EMN - 25/02/

36 3.3 - Screen Context & Actions Standards Telosys-SCL : Screen Context SCL ( «Screen Context Layer» ) : Conteneur de «Screen Context» Screen Context = assemblage d objets (éléments) gérés par les écrans de l application Un écran manipule généralement des «entités» et des «listes» un Screen Context = assemblage de VO et de VOList Pattern «SDO simplifié» Element Name Value Object Screen Context 1 à N «Elements» Element Name Element Name Value Object List Value Object Value Object Value Object Value Object Industrialisation des développements AJAX/J2EE - Laurent GUERIN 72 Jeudis de l'objet - EMN - 25/02/

37 Telosys-SCL : Screen Context Exemple de Screen Context : public class EmplData extends StandardScreenData { //--- Elements Names public final static String EMPLOYEE = "employee" ; public final static String AGENCY = "agency" ; public final static String PROJECTS = "projects" ; } // public EmplData() throws TelosysException { //--- Define the Screen Data Elements defineelement( EMPLOYEE, EmployeeVO.class ); defineelement( AGENCY, AgencyVO.class ); defineelement( PROJECTS, ProjectVOList.class ); } Element Name Element Type ( class ) Industrialisation des développements AJAX/J2EE - Laurent GUERIN 73 Telosys-SCL : Screen Context Chaque utilisateur ( session http ) travaille sur 1 à N écrans simultanément donc sur 1 à N «Screen Context» 1 user Http Session Screen Session 1 http session 1 Screen Session 0..N screens Screen Context 0..N Screen Context Vue(s) Modèle(s) Industrialisation des développements AJAX/J2EE - Laurent GUERIN 74 Jeudis de l'objet - EMN - 25/02/

38 Telosys-SCL : Screen Action Les actions utilisateur sont soumises au serveur (en XML-RPC) qui les exécute dans un «contexte» : Action Modèle Standard Actions Screen Triggers Screen Context Screen Context Elements ACTION Screen Procedures Value Object Specific Screen Actions Screen DAO Action Implementation Industrialisation des développements AJAX/J2EE - Laurent GUERIN 75 Telosys-SCL : Screen Action Telosys fournit un jeu d actions standards pour réaliser les opérations classiques d un écran et permet d ajouter des opérations spécifiques Gestion du Screen Context : Open Close Set Get Clear Screen Context Persistance du Screen Context : Load Save Insert Delete Update Standard pas de codage (surcharge possible ) Debug : Ping Echo Appel de procédure : Exec Spécifique à implémenter Industrialisation des développements AJAX/J2EE - Laurent GUERIN 76 Jeudis de l'objet - EMN - 25/02/

39 Telosys-SCL : exemple d action Action «load» Client 1 load ret. code set=true get=true Data Params Server Screen Data Params Data Data Access Layer 2 load set=false get=true Params Params ret. code Data no set Data 3 load set=true get=false ret. code Params Screen Data Params Data X M L Java objects Request : default values set="true" / get="true" Response : flag found or not found Industrialisation des développements AJAX/J2EE - Laurent GUERIN 77 Telosys-SCL : Triggers Chaque exécution d action est encadrée par le déclanchement de deux triggers (avant et après) 1 beforexxx() Return true «continue» autorise l exécution de l action Return false «cancel» annule l exécution de l action ACTION 2 Traitement de L action Xxx 3 afterxxx() Return true action validée ( commit ) Return false action annulée ( rollback ) Utilisations : contrôles, règles «métier», traces, journalisation, etc Industrialisation des développements AJAX/J2EE - Laurent GUERIN 78 Jeudis de l'objet - EMN - 25/02/

40 Telosys-SCL : Screen Context La classe Screen Registry permet de définir les Screen Context et les composants qu ils utilisent Screen Context Screen Name Screen Data Screen DAO Screen Actions Screen Triggers Screen Procedures Données ( «éléments» ) Comportements ( «actions» ) public class ScreenRegistry extends StandardScreenRegistry public void initregistry() { // Parameters : // Name, Elements, Screen DAO, Actions, Triggers, Procedures register("s001", S001.class, S001dao.class, null, S001trig.class, S001proc.class); register("s002", S002.class, S002dao.class, null, null, null ); } Screen Name Screen Components : data + actions Industrialisation des développements AJAX/J2EE - Laurent GUERIN Dialogue Client-Serveur Jeudis de l'objet - EMN - 25/02/

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

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

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

RAPPORT DE STAGE GWT PRISE EN MAIN SERVLET - TEST DES DAO TELOSYS PLUGIN ECLIPSE WIZARD DATASET TELOSYS

RAPPORT DE STAGE GWT PRISE EN MAIN SERVLET - TEST DES DAO TELOSYS PLUGIN ECLIPSE WIZARD DATASET TELOSYS RAPPORT DE STAGE GWT PRISE EN MAIN SERVLET - TEST DES DAO TELOSYS PLUGIN ECLIPSE WIZARD DATASET TELOSYS SOMMAIRE 1 Introduction...4 2 Généralités à propos du stage...4 2.1 Sujet initial du stage Objectifs...4

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

Point sur les solutions de développement d apps pour les périphériques mobiles

Point sur les solutions de développement d apps pour les périphériques mobiles Point sur les solutions de développement d apps pour les périphériques mobiles Par Hugues MEUNIER 1. INTRODUCTION a. Une notion importante : le responsive web design Nous sommes en train de vivre une nouvelle

Plus en détail

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

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

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

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

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

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

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

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

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

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

Plus en détail

Expert technique J2EE

Expert technique J2EE EHRET Guillaume 25, rue de la Richelandiere 42100 SAINT ETIENNE 32 ans - Célibataire Expert technique J2EE Domaines de compétences Environnement et langages Expertise en programmation Java et en architecture

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

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

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server Sébastien Boutard Thomas David Le plan de la présentation Petit retour sur les environnements de développement ArcGIS Server

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

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse THÉMATIQUES Comprendre les frameworks productifs Découvrir leurs usages Synthèse 2 LES ENJEUX DES FRAMEWORKS D ENTREPRISE EN 2012 LE CONSTAT Ressources Recrutement Flexibilité Intérêt Montée en compétence

Plus en détail

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) Présentation du langage XML 1. De SGML à XML 17 2. Les bases de XML 18 2.1 Rappel sur HTML 18 2.2 Votre premier document XML 19 2.3 Les avantages de XML 21 3. La syntaxe XML 21 3.1 La première ligne du

Plus en détail

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

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada AJAX (Administrateur) (Dernière édition) Programme de formation Microsoft Partner France, Belgique, Suisse, Roumanie - Canada WWW.SASGROUPE.COM Formez vos salariés pour optimiser la productivité de votre

Plus en détail

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s Mickaël Mickaël BLANCHARD BLANCHARD Préface de Sébastien L e p e r s Magento Préface de Sébastien L e p e r s Magento Réussir son site e-commerce Réussir son site e-commerce Groupe Eyrolles, 2010, ISBN

Plus en détail

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement 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

Module BD et sites WEB

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

Plus en détail

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i Modernisation IBM i Nouveautés 2014-2015 IBM Power Systems - IBM i 19 et 20 mai 2015 IBM Client Center, Bois-Colombes S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i Mardi

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

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES WEB & DÉVELOPPEMENT LES BASES DU WEB HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES LE LANGAGE HTML STRUCTURE D UNE PAGE En-tête et corps Syntaxe INSÉRER DES CONTENUS Texte : formatage (titre,

Plus en détail

1.2 - Définition Web 2.0 ( wikipedia )

1.2 - Définition Web 2.0 ( wikipedia ) 1.2 - Définition Web 2.0 ( wikipedia ) Web 2.0 est un terme souvent utilisé pour désigner ce qui est perçu comme une transition importante du World Wide Web, passant d'une collection de sites web à une

Plus en détail

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully Les grandes facettes du développement Web Qui sommes nous? Nicolas Thouvenin Stéphane Gully Projets Web depuis 2000 LAMP, NodeJS HTML, CSS, jquery

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

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information. PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue

Plus en détail

Applications distribuées: le retour du client "riche"

Applications distribuées: le retour du client riche Applications distribuées: le retour du client "riche" Markus Jaton, Olivier Liechti Olivier Liechti / Markus Jaton /1 Agenda Java a-t-il un avenir sur le "desktop"? Swing vs. AJAX: idées préconçues? Architecture

Plus en détail

Devenez un véritable développeur web en 3 mois!

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

Plus en détail

Petite définition : Présentation :

Petite définition : Présentation : Petite définition : Le Web 2.0 est une technologie qui permet la création de réseaux sociaux, de communautés, via divers produits (des sites communautaires, des blogs, des forums, des wiki ), qui vise

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

Président d Inotekk Gestion de la société, développement du portefeuille clients, gestion et réalisation des projets informatiques

Président d Inotekk Gestion de la société, développement du portefeuille clients, gestion et réalisation des projets informatiques LEO MARQUES Né le 11/09/1984 à Paris XIème (75) 7 Ter avenue Edith Cavell 06000 NICE Tél. Portable : 06 15 22 48 08 Permis A et B, véhicule personnel Président d Inotekk Gestion de la société, développement

Plus en détail

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS Avant de commencer 1. Introduction 15 2. HTML5 oui, mais pas que... 15 2.1 HTML5 16 2.2 JavaScript 17 2.3 CSS 18 3. Les outils 18 Préparation des outils et création du projet 1. Introduction 21 2. Team

Plus en détail

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

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

Plus en détail

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

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

Alfstore workflow framework Spécification technique

Alfstore workflow framework Spécification technique Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date

Plus en détail

Formation : WEbMaster

Formation : WEbMaster Formation : WEbMaster Objectif et Description : Centre Eclipse vous propose une formation complète WebMaster, vous permettant de : Utiliser dès maintenant les nouveautés du web2, ainsi alléger les besoins

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

Mercredi 15 Janvier 2014

Mercredi 15 Janvier 2014 De la conception au site web Mercredi 15 Janvier 2014 Loïc THOMAS Géo-Hyd Responsable Informatique & Ingénierie des Systèmes d'information loic.thomas@anteagroup.com 02 38 64 26 41 Architecture Il est

Plus en détail

> + Consultant / Architecte JEE Indépendant. Fabien GUIBERT 34 ans, 11 ans d expérience d expérience COMPETENCES / DOMAINES METIERS

> + Consultant / Architecte JEE Indépendant. Fabien GUIBERT 34 ans, 11 ans d expérience d expérience COMPETENCES / DOMAINES METIERS Expertise - Formation Production www.neobject.fr Fabien GUIBERT 34 ans, 11 ans d expérience d expérience Indépendant COMPETENCES / DOMAINES METIERS Conseil et Audit en Architecture du SI Gestion de Projets

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

Assurances & Mutuelles, Industrie, Santé, Énergie, Transport, Médias / Multimédias, Télécoms, Services

Assurances & Mutuelles, Industrie, Santé, Énergie, Transport, Médias / Multimédias, Télécoms, Services Société de conseil et d ingénierie en informatique SEELANDE Consulting, société de conseil et d ingénierie en informatique spécialisée dans les NTIC, se positionne dans différents secteurs d activités

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

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com Cours Plugin Eclipse Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com 1 Qui suis-je? Ancien étudiant de Jussieu - Paris VI Diplomé du Master Technologies

Plus en détail

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui Formation PARTIE 1 : ARCHITECTURE APPLICATIVE DUREE : 5 h Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui automatisent les fonctions Définir une architecture

Plus en détail

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Failles XSS : Principes, Catégories Démonstrations, Contre mesures HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet Séminaire 15 ans HSC Failles XSS : Principes, Catégories Démonstrations,

Plus en détail

Introduction à. Oracle Application Express

Introduction à. Oracle Application Express Introduction à Oracle Application Express Sommaire Qu est-ce que Oracle Application Express (APEX)? Vue d ensemble des fonctionnalités et des différents composants d Oracle APEX Démonstration de création

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

Un serveur d'archivage

Un serveur d'archivage Un serveur d'archivage destiné au Service Commun de Documentation de l'université de la Méditerranée Encadrement : Noël Novelli Représentants client (S.C.D.) : Axelle Clarisse Ronan Lagadic Equipe Projet

Plus en détail

Outil de planification en ligne pour des créations de rendez-vous ou de sondage

Outil de planification en ligne pour des créations de rendez-vous ou de sondage Outil de planification en ligne pour des créations de rendez-vous ou de sondage Centre de Ressources Informatiques (C.R.I.) d'orléans Université d'orléans 4-6 rue Léonard de Vinci, 45061 Orléans Cedex

Plus en détail

Moderniser. le système d information et le portefeuille applicatif. www.bull.com

Moderniser. le système d information et le portefeuille applicatif. www.bull.com Moderniser le système d information et le portefeuille applicatif L évolution technologique des plates-formes, l ouverture du système d information et la modernisation du portefeuille applicatif sont des

Plus en détail

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement Guillaume HARRY l Contenu sous licence Creative Commons CC-BY-NC-ND Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement P. 2 1. Introduction 2.

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

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie 1 / 22 Technologies Web Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya Université Pierre et Marie Curie Rappel 2 / 22 Problématique Quelles technologies utiliser

Plus en détail

Cours Bases de données

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

Plus en détail

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

DotNet. Plan. Les outils de développement

DotNet. Plan. Les outils de développement DotNet Les outils de développement Version 1.03 du 16/10/2006 par Jacky Renno Plan La machine virtuelle Le kit de développement Le kit de langage Le Visual Studio.NET Le serveur web IIS 6.0 Le modeleur

Plus en détail

AngularJS pour une application d'entreprise

AngularJS pour une application d'entreprise AngularJS pour une application d'entreprise SAVOIR FAIRE SERIAL Jean-Philippe Laurent Responsable pôle Web Benoit Charpié-Pruvost Expert AngularJS 18 juin 2015 BRINGING THE HUMAN TOUCH TO TECHNOLOGY BRINGING

Plus en détail

Olivier Deheurles Ingénieur conception et développement.net

Olivier Deheurles Ingénieur conception et développement.net Olivier Deheurles Ingénieur conception et développement.net MOTS CLES Maîtrise de la conception et du développement orientés Objet 6 ans d expérience sur les plateformes.net 1.1 et 2.0 (C# et VB.NET) MCAD

Plus en détail

Celui qui vous parle. Yann Vigara

Celui qui vous parle. Yann Vigara Celui qui vous parle Yann Vigara Celui qui vous parle Yann Vigara Celui qui vous parle [Spa m] Yann Vigara Fondateur et directeur technique d'atomes Dans l'administration système depuis 1999 Tombé dans

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

Code Produit Nom Produit Dernière mise à jour. AM003 Alias Mobile On Demand Licence 1 mois 27/04/2015

Code Produit Nom Produit Dernière mise à jour. AM003 Alias Mobile On Demand Licence 1 mois 27/04/2015 www.alias-ad.com ALIAS MOBILE DESIGNER Des solutions innovantes pour la création d applications de gestion accessibles aux appareils mobiles (tablettes et smartphones) en client léger. Code Produit Nom

Plus en détail

de logiciels Web 2.0, SaaS Logiciels collaboratifs Portails pour entreprises Développement iphone, Android WebApp HTML5 Mobile marketing

de logiciels Web 2.0, SaaS Logiciels collaboratifs Portails pour entreprises Développement iphone, Android WebApp HTML5 Mobile marketing Web 2.0, SaaS Logiciels collaboratifs Portails pour entreprises Développement Développement de logiciels de logiciels Solutions mobiles iphone, Android WebApp HTML5 Mobile marketing Ingénierie Régie d

Plus en détail

Java Aspect Components (JAC) http://jac.objectweb.org

Java Aspect Components (JAC) http://jac.objectweb.org Java Aspect Components (JAC) JAC http://jac.objectweb.org 2 Lionel Seinturier Lionel.Seinturier@lip6.fr Université Pierre & Marie Curie 23/2/06 Un framework de programmation par aspect pour Java Projet

Plus en détail

Architectures web/bases de données

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

Plus en détail

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

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

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

Vérifier la qualité de vos applications logicielle de manière continue

Vérifier la qualité de vos applications logicielle de manière continue IBM Software Group Vérifier la qualité de vos applications logicielle de manière continue Arnaud Bouzy Kamel Moulaoui 2004 IBM Corporation Agenda Analyse de code Test Fonctionnel Test de Performance Questions

Plus en détail

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE Igor Rosenberg 30 ans DEA «Image-Vision» de l Université de Nice Sophia-Antipolis POSTES PRECEDENTS MMA: Développement Web/Grails sur démonstrateur

Plus en détail

Application Web et J2EE

Application Web et J2EE Application Web et J2EE Servlet, JSP, Persistence, Méthodologie Pierre Gambarotto Département Informatique et Math appli ENSEEIHT Plan Introduction 1 Introduction Objectfis

Plus en détail

Europa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i

Europa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i Développement JEE 5 avec Eclipse Europa K a r i m D j a a f a r A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i Groupe Eyrolles, 2008, ISBN : 978-2-212-12061-5 5 Le projet WTP (Web

Plus en détail

7 villa de la citadelle Né le 13 mai 1983 94110 Arcueil Nationalité : Française. Développeur Web JEE COMPÉTENCES

7 villa de la citadelle Né le 13 mai 1983 94110 Arcueil Nationalité : Française. Développeur Web JEE COMPÉTENCES Philippe Crépin 7 villa de la citadelle Né le 13 mai 1983 94110 Arcueil Nationalité : Française : 06.17.46.12.09 : phi.crepin@gmail.com Disponibilité : En poste chez Soft Computing Développeur Web JEE

Plus en détail

Projet de développement

Projet de développement Projet de développement Introduction à Eclipse Philippe Collet Licence 3 MIAGE S6 2012-2013 http://miageprojet2.unice.fr/index.php?title=user:philippecollet/projet_de_développement_2012-2013 Plan r Application

Plus en détail

CORBA. (Common Request Broker Architecture)

CORBA. (Common Request Broker Architecture) CORBA (Common Request Broker Architecture) Projet MIAGe Toulouse Groupe 2 1 CORBA, introduction (1/4) Les systèmes répartis permettent de créer des applications basées sur des composants auto-gérables,

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

Le stockage local de données en HTML5

Le stockage local de données en HTML5 Le stockage local HTML5, pourquoi faire? Dans une optique de réduction des couts de maintenance, de déploiement, beaucoup d'entreprises ont fait le choix de migrer leurs applicatifs (comptables, commerciales,

Plus en détail

Intégration du Web 2.0 dans les solutions IBM

Intégration du Web 2.0 dans les solutions IBM Bournhonesque Philippe Directeur stratégie IBM France & NWA pbournhonesque@fr.ibm.com Agenda Software as a Service Simplicité Collaboration k Conclusion 2 Collaboration pour le marché SMB Lotus Foundations

Plus en détail

Composants Logiciels. Le modèle de composant de CORBA. Plan

Composants Logiciels. Le modèle de composant de CORBA. Plan Composants Logiciels Christian Pérez Le modèle de composant de CORBA Année 2010-11 1 Plan Un rapide tour d horizon de CORBA 2 Introduction au modèle de composant de CORBA Définition de composants CORBA

Plus en détail

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur goulwen.lefur@obeo.fr. Le 23 novembre 2012

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur goulwen.lefur@obeo.fr. Le 23 novembre 2012 DSL Domain Specific Language À l'aide des technologies Eclipse Modeling Le 23 novembre 2012 Goulwen Le Fur goulwen.lefur@obeo.fr Le but de cette session Montrer : Ce qu'est-un DSL/DSM Comment implémenter

Plus en détail

Cursus Sage ERP X3 Outils & Développement. CURSUS Sage ERP X3 Outils & Développement ADVANCED. Outils avancés. 2 jours X3A-ADM. Développement 1 &2

Cursus Sage ERP X3 Outils & Développement. CURSUS Sage ERP X3 Outils & Développement ADVANCED. Outils avancés. 2 jours X3A-ADM. Développement 1 &2 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

BES WEBDEVELOPER ACTIVITÉ RÔLE

BES WEBDEVELOPER ACTIVITÉ RÔLE BES WEBDEVELOPER ACTIVITÉ Le web developer participe aux activités concernant la conception, la réalisation, la mise à jour, la maintenance et l évolution d applications internet/intranet statiques et

Plus en détail

Plan. Department of Informatics

Plan. Department of Informatics Plan 1. Application Servers 2. Servlets, JSP, JDBC 3. J2EE: Vue d ensemble 4. Distributed Programming 5. Enterprise JavaBeans 6. Enterprise JavaBeans: Special Topics 7. Prise de recul critique Enterprise

Plus en détail

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source Jérôme Petit, Serge Petit & Serli Informatique, ITMatic Jérôme Petit, Serge Petit & SERLI & ITMatic Serli : SSII

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

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv> Langage HTML (2 partie) «Je n'ai fait que prendre le principe d - hypertexte et le relier au principe du TCP et du DNS et alors boum! ce fut le World Wide Web!» Tim Berners-Lee

Plus en détail

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier

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 34 NFP111 Systèmes et Applications Réparties Cours 7 - CORBA/Partie 1 Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon

Plus en détail

4. SERVICES WEB REST 46

4. SERVICES WEB REST 46 4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,

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

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