150 likes | 279 Views
ACube De la solution à l’industrialisation. 30 mars 2007 – version 3.2 Steve Péguet (steve.peguet@diplomatie.gouv.fr). Outils. Frameworks. Patterns. ACube : Du Web au Web 2.0. Innovation : Web 2.0. XML. Ajax. Création. Rationalisation : Web 1.0. J2EE. PHP. Standard. Agilité.
E N D
ACube De la solution à l’industrialisation 30 mars 2007 – version 3.2 Steve Péguet (steve.peguet@diplomatie.gouv.fr)
Outils Frameworks Patterns ACube : Du Web au Web 2.0 Innovation : Web 2.0 XML Ajax Création Rationalisation : Web 1.0 J2EE PHP Standard Agilité Client riche Productivité Client léger Cycle itératif Fabrique communautaire Cycle en V ou Y Fabrique propriétaire Assistance Sous-traitance Industrialisation Service Produit Marché d’assistance et de promotion
ACube : Les points clés de l’architecture • La normalisation (mutualisation des flux métier) et l’optimisation des échanges entre client et serveur (gestion du cache, découpage des flux, centralisation/décentralisation…) • Urbanisation : interfaçage avec les principaux outils d’EAI, EDI, architectures SOA, portails, décisionnels • Le respect des normes, standards et spécifications (XML, W3C, J2EE, DOM…) • La neutralité du modèle ACube vis-à-vis des technologies (Java, PHP, .Net…), des architectures applicatives (Modèle MVC2X, DAO, client riche, client connecté, semi-connecté, déconnecté…) et des infrastructures (serveurs Web, serveurs d’application, SGBDs, haute disponibilité…) préexistantes • La modularité des solutions et l’utilisation des meilleures briques OpenSource : modèle ACube à la « carte » ou au « menu »
Serveur Gestion Flux XML Client Implémentation possible pour différentes architectures Client Léger XML Flux XML normalisés Optimisation du nombre et du volume des échanges Implémentation possible pour différents canaux J2EE, PHP disponibles Client Riche W3C disponible La fabrique ACube Frameworkserveur PHP Frameworkserveur Java Frameworkclient riche W3C
2005 2003 1995 1985 1970 Explorer Client Riche W3C Client Riche Propriétaire Client Léger Client Lourd Terminal MAINFRAME CLIENT/SERVEUR WEB WEB 2.0 Évolution du poste client
AJAX : Socle technologique client riche • AJAX = Asynchronous Javascript And XML • Noyau AJAX : DHTML + XMLHttpRequest Javascript : langage faiblement typé interprété par le navigateur web. Inventé par Netscape Corp. en 1995, standardisé par l’ECMA en 1997 (ECMA-262). HTML DOM : APIs Javascript permettant de manipuler/générer les éléments composant la page HTML. CSS : Positionnement et rendu des éléments composant la page HTML, définissable en Javascript. Client HTTP asynchrone manipulable sous forme d’objet en Javascript. Permet à la page affichée de requêter le serveur dont elle est issue pour lancer des traitements / charger des données supplémentaires, sans recharger la page. Introduit par Microsoft dans IE 5, disponible dans tous les navigateurs aujourd’hui. En cours de (rétro) standardisation par le W3C.
AJAX : fear, uncertainly & doubt La démultiplication des requêtes clients va écrouler les performances de mon serveur ! • Ajax améliore la scalabilité • Les requêtes retournent moins de données. • Elles se substituent dans certains cas à des requêtes plus lourdes. • La charge processeur est répartie. Le code javascript est in-main-te-nable ! • On peut développer en Javascript de manière industrielle
ACube : Client riche W3C • ACube = Advanced Asynchronous Architecture • Client riche W3C : AJAX + XML DOM + Composants ergonomiques Framework Technique ACube : APIs Objet Javascript offrant la gestion des cookies, des popups, des contrôles de surface, de la cohérence sur la navigation, du drag’n’drop, des formats d’affichage et de conversion… Framework Ergonomique ACube : APIs Objet Javascript offrant la gestion de composant graphique et ergonomique du type formulaire, onglets, calendrier, tableau, tableur, arborescence, canal RSS, menu, aide en ligne… Framework XML ACube : APIs Objet Javascript offrant le cadre de gestion de rapatriement et de manipulation de flux XML intégrant une gestion des erreurs robuste nécessaire à une application de gestion. XML DOM : APIs Javascript permettant de manipuler les éléments d’un flux XML, standardisé par le W3C.
ACube : Frameworks serveur • J2EE documenté avec DocFlex • JDBCWrapper : couche d’abstraction pour gérer les accès et interrogations SGBDs • FileWrapper : couche d’abstraction pour gérer les upload/download de fichiers • STRUTS & STRUTSCX : modèle MVC avec intégration d’un moteur XSLT pour générer des flux XML ou des flux plats (XHTML, RTF, CSV, XLS, DOC…) • Moteur FOP : moteur XSL-FO pour générer des flux formatés (PDF…) • Roadmap court terme : • StrutsACube : modèle MVC permettant un mapping objets Java/XML par simple paramétrage pour générer des flux XML • HTTPWrapper : couche d’abstraction pour appeler un flux HTTP distant • SOAPWrapper : couche d’abstraction pour appeler un flux SOAP distant • XMLWrapper : couche d’abstraction pour manipuler un flux ou un fichier XML • Moteur BIRT : pour générer des rapports et des graphiques (courbes, camemberts…) • PHP documenté avec PHPDoc • Modèle MVC avec intégration d’un moteur XSLT pour générer des flux XML • Workflow Humain avec le moteur de People In Action • Roadmap court terme : • Wrappers (SGBD, File, XML) • Mapping objets PHP/XML par simple paramétrage pour convergence avec StrutsAcube
La méthodologie ACube • Adaptation des méthodologies : • Cycle en Y • Unified Process (Itérative) • XP (eXtrem Programming)
L’outillage ACube Autres… Autres… JSDoc DocFlex/Javadoc Autres…
ACube : Open Source ACube publié dans l’AdmiSource de la DGME sous licence CeCILL Utilisateurs de la solution (jan. 2007) Autres… SSII contributeurs et intégrateurs de la solution (déc. 2006) En cours…
Les projets ACube • Références MAE : • PHILEAS : Gestion des passeports d’urgence et des laissez-passer • ELECTIS : Gestion des listes électorales et consultation par l’usager de sa situation électorale • PASTEL/Espace Français établis Hors de France • RDV : Gestion de la prise de rendez-vous des usagers sous la forme d’agenda pour les postes • SCOLA : Gestion des bourses scolaires • RACINE : Gestion du registre des français établis hors de France • VISANET : Délégation partielle de la gestion des demandes de visas • DELICEWEB : Gestion pour consultation des actes de l’état civil • CEF : Centre pour les Études en France pour gérer les dossiers d’inscription et le workflow associé à l’ensemble des acteurs concernés (Étudiant, Conseiller CEF, Directeur CEF, EES, Agent consulaire, SCAC) • INGRES : Informations générales sur les réseaux pour le pilotage • BRIT : Gestion du patrimoine immobilier • RISE : Gestion du référentiel des implantations et des services à l’étranger • RENARD : Gestion du référentiel pour la LOLF • AROB@S : Gestion du référentiel des identités, de l’organisation, des applications et des habilitations • Autres références : • POLCA (Ministère de la culture) : préparation et simulation budgétaire pour la LOLF • VEOLIA (Générale des eaux) : gestion du référentiel cœur de métier pour la région parisienne (branchements d’eau) et ERAD suivi des interventions dans la nuit sous forme d’agenda • BBREF (Mairie de Boulogne): gestion des cantines scolaires
ACube : Vers la communauté (2007) • Porter au sein de la DGME sur l’initiative IT 06 : « Développement informatique » • Marché d’assistance pour : • Maîtrise d’œuvre déléguée • Gestion et développement de la communauté • Forge : http://admisource.gouv.fr/projects/acube/ • Site vitrine :http://acube.diplomatie.gouv.fr (prochainement) • Club des utilisateurs réuni par semestre pour définir la roadmap fonctionnelle, mutualisations, et répartition des efforts (financement, recette) • Club des contributeurs réuni par semestre pour définir la roadmap technique, reversements à la communautés, et répartition des efforts