
Ce projet s'appuie notamment sur le framework Sweetdev RIA d'IDEO Technologies.
Page de l'agenda de cet événement.
La présentation powerpoint est accessible de Googledocs.

Corsetée par un sur croît de procédures, la gestion de projet a tendance à oublier l'essentiel : les hommes. Un management « 2.0 » vise à recréer du lien. En s'aidant des nouveaux outils collaboratifs et des méthodes agiles.Un vent de révolte souffle parmi les chefs de projet. CMMi, Itil, Cobit, Six Sigma... Ils assistent, depuis quelques années - parfois sous la contrainte -, à une inflation de cadres méthodologiques. Des référentiels de bonnes pratiques qui visent à l'industrialisation des systèmes d'information, à la taylorisation des tâches et, en définitive, au mirage du zéro défaut. Or, la lapalissade est parfois bonne à rappeler, un projet reste et restera une affaire d'hommes. Ce qui fait les joies et la difficulté du management.
Ne gérer un projet qu'en fonction des risques présente un risque en soi. Un excès de formalisme, en figeant des organisations sans tenir compte du contexte et de ses évolutions, s'avère au contraire contre-productif. Comme l'expose ce site parodique (1) qui épingle « les ravages de la pseudo-rigueur » . Une organisation qui éprouve des difficultés à mener à bien des projets aura pour réflexe naturel d'édicter une nouvelle procédure plutôt que de régler les problèmes sur le fond.
Aussi structurant soit-il, un modèle de certification qualité tel que CMMi montre ses limites en s'affranchissant des « risques humains » . Pour ce référentiel, les compétences sont interchangeables. Et, un départ en maternité, un coup de déprime chez un salarié, ou un turn over galopant, restent définitivement hors périmètre. Pourtant, la majorité des points de blocage d'un projet relèvent du management d'équipe.
En ajoutant un P, pour People, au CMM, le P-CMM tente de répondre à cette attente. Quasiment inconnu en France, ce modèle définit des recommandations dans le domaine de la gestion des ressources humaines - formation, communication, rémunération, reconnaissance... - au risque de calquer des concepts théoriques sur des relations humaines. Le management relève de l'inné et non de techniques universelles. Tous les Pert et Gantt du monde n'apprendront pas à un chef de projet à être chef.
L'émergence d'un nouveau mode de management
Face à ce constat, un management baptisé par certains « 2.0 » (2) - par analogie au web 2.0 qui remet l'humain au centre de la Toile - semble émerger. Plusieurs événements récents abondent dans ce sens. Le 5 décembre dernier se tenait une conférence grands comptes de Microsoft autour du travail collaboratif. Dans le cadre de son déploiement de SharePoint, Bouygues Télécom y a expliqué comment les utilisateurs ont constitué un groupe de travail pour une formation centrée non pas sur les outils de Microsoft, mais sur l'organisation et la gestion du travail personnel. L'opérateur s'est félicité également du succès sans pareil de cette formation, et des retours positifs qu'elle a suscités. Dans son dernier édito intitulé Itil et la gestion de la sécurité , Daniel Kervarec, directeur de la publication de Newsitweb.info , annonce, de son côté, la création d'une nouvelle rubrique « consacrée à la gestion des hommes » . Que le monde d'Itil, pilier des processus, s'intéresse aux hommes est révélateur.
Enfin, le 6 mars dernier se déroulait la troisième Active Directory Strategy Group dans les locaux de Microsoft. Après une demi-journée de présentation des solutions techniques autour de l'annuaire de l'éditeur et de la gestion des identités, la séance des questions/réponses se met en place. Une voix dans la salle : « Votre présentation est très opérationnelle, mais avez-vous une présentation fonctionnelle de l'Active Directory au sein de l'entreprise. Par exemple : Comment trouver les données qui l'alimentent ? Existe-t-il des connecteurs pour les bases RH ? » Réponse embarrassée d'un des consultants : « Vous avez raison, ce que vous dites représente 95 % du problème ».
S'aider des solutions du web 2.0
Les outils collaboratifs du web 2.0 peuvent concourir à cette révolution managériale. D'ores et déjà, les relations avec la maîtrise d'ouvrage (MOA) sont affectées.L'application proposée doit tenir la comparaison avec ce qui se fait de mieux aujourd'hui sur internet. Cette nouvelle « métaexigence » s'immisce dans les discours, les écrits, et alimente les non-dits.
La MOA souhaite-t-elle le même degré de personnalisation que le portail en mashup de Netvibes ? Le chef de projet doit savoir s'engager sur un niveau d'exigences raisonnable, faire preuve de diplomatie et de psychologie, et gérer les frustrations le plus tôt possible. Par ailleurs, le développement 2.0 se complexifie. Il implique l'intervention d'une multiplicité de talents : designers, ergonomes, développeurs de frameworks, etc. En tant que manager, le chef de projet doit savoir recruter une équipe, en panachant ces divers profils et en les plaçant sur l'axe temps de son projet.
Et dans ce cadre, les outils existants ne suivent plus. Excel montre ses limites et Project est aussi adapté pour le suivi de planning qu'une carte routière en papier sur une moto de course. Le wiki et la messagerie instantanée peuvent être utiles, mais le développement véritablement collaboratif, lui, sort à peine des laboratoires - Jazz avec Eclipse, et Team System chez Microsoft, notamment.
Influencés par les pratiques des communautés open source, les développeurs pressent leur management à adopter les méthodes agiles (Scrum, XP).
Avec quels arguments le chef de projet peut-il convaincre sa DSI d'engager un projet agile ? Si, en parallèle, il est impliqué dans un processus qualité de type CMMi, on mesure l'ampleur du grand écart à accomplir. Il doit se convaincre d'abord que CMMi et méthode agile sont complémentaires, puis identifier un périmètre d'essai et faire une proposition d'expérimentation. Puis faire le bilan, et recommencer en mieux. Pourquoi pas en offshore...

C’est l’effet Casino.
C'est ainsi, la communauté informatique a besoin de ses jeux du cirque. Après l'affrontement pour le titre du meilleur mécanisme de persistance objet, place au combat que se livrent, d'un côté, les défenseurs du web enrichi et, de l'autre, les partisans du client lourd. Ce dernier regroupe l'ensemble des technologies
dont le prérequis à l'exécution est le téléchargement du code de l'application sur le poste de l'utilisateur. On en distingue deux catégories : celles basées sur une machine virtuelle Java, et les autres. La première oppose deux bibliothèques de composants graphiques : SWT, promue par Eclipse - et IBM -, et Swing, poussée par Sun. La seconde héberge surtout Microsoft Winform . Net, Macromedia Flash, ainsi que tous les L4G propriétaires - Powerbuilder et Delphi en tête.
Il n'y a donc pas un seul client lourd, mais un ensemble d'environnements concurrents et incompatibles, qui se disputent le droit de rivaliser avec l'autre type de client - riche, celui-là -, porté par la technologie Ajax (1) . .
Le client Java en panne de standard
La proposition de Sun se distingue nettement des autres challengers, comme le montre une récente étude d'Evans Data Corporation sur l'adoption des technologies. En 2005, Java/Swing arrive en tête des outils de développement pour client lourd : 47 % des développeurs interrogés l'utilisent, soit 27 % de mieux qu'en 2004.
Si ce rapport ne concerne que les Etats-Unis, au vu du choix de Fiducia AG, l'Europe pourrait confirmer, sinon accentuer ce résultat. Cet hébergeur allemand de logiciels bancaires, en mode hébergé, déploie son logiciel client Java/Swing de 120 Mo sur plus de 100 000 postes clients avec Java Web Start au travers de bandes passantes souvent réduites à 64 Kbit/s.
Swing, appelons-le Hector (2) pour la métaphore mythologique, serait l'alpha et l'oméga des interfaces riches et de la transparence du déploiement. Peut-être, mais pas en l'état, car Hector souffre de ne pas être spécifiquement dédié aux applications de gestion. A tel point que rien n'empêche de bâtir sur ses fondations une console de supervision de centrale nucléaire ou un simulateur de cockpit d'avion de ligne. En théorie, c'est un gage de souplesse. En pratique, le coût pour spécialiser cette bibliothèque à l'informatique de gestion est prohibitif pour les projets de petite et moyenne envergure. D'où la pauvreté de l'offre de frameworks répondant au problème. Et pour cause : il manque un standard dédié au client Java - à l'instar de J2EE pour le serveur -, qui pérenniserait des investissements nécessairement importants. La notion de « conteneur client lourd » reste à inventer, et son modèle de programmation avec.
Ajax écartèle le modèle MVC
Si Hector entre dans l'arène en quête d'une plus grande reconnaissance, Ajax, le populaire, harangue la foule en délire. Ce n'est pas un outil, mais un modèle évolutionniste, qui s'appuie sur les standards existants et promet d'élever le web au rang des meilleures interfaces homme-machine. Mais la puissance d'Ajax ne s'exprimera pas si facilement. D'abord, parce qu'il écartèle le contrôleur du fameux modèle MVC (Model-View-Controller) entre le serveur et le client, sans pour autant en spécifier de substitut. Ensuite, parce qu'il repousse le HTML, les feuilles de style CSS, le Javascript et l'invocation asynchrone XML aux limites de leurs implémentations propriétaires par les navigateurs. Enfin, parce que la pléthore d'outils estampillés Ajax n'est pas le signe d'une grande maturité.
Le HTML pourrait ne jamais atteindre la richesse génétique du client lourd. Le prix à payer pour enrichir une interface web avec Ajax est une fonction exponentielle de la valeur ajoutée. Swing inverse cette formule, mais augmente l'investissement initial.
Ironie de l'histoire, Ajax vénère trop de dieux, alors que Hector s'en cherche un désespérément. Si l'on en croit la mythologie, il n'y eut qu'un seul combat entre ces deux héros. Combat qui ne vit ni vainqueur ni vaincu : à la nuit tombée, ils échangèrent leurs armes et firent la paix.
Le sceptique : Laurent Bédé (BNPParibas Securities Services)
« Il ne faut pas enterrer le client lourd. »

ReachPeople est un framework Java/Swing developpé dans le cadre du projet AceTP par mes équipes. Je me suis investi dans sa conception et sa promotion à l'intérieur et extérieur du groupe BNPParibas. Le texte qui suit est la factsheet présentant ReachPeople.
ReachPeople is a framework for building rich client applications above Sun’s Java / Swing standard in such domains as finance, accounting, CRM, insurance and healthcare.
It is the solution of choice for replacing old proprietary client server applications and boosting poor usability of HTML Web like applications. It fits in any kind of architecture topology: client-server, n-tier, offline or standalone application.
ReachPeople bridges the gap between low level Swing APIs and the need of business applications developers to work with very high level rendering components and technical services.
It is crafted by people for other people: end-users, architects, developers and IT managers.
For end-users
A consistent desktop, a homogeneous look and feel, a standardized screen behavior, make application easier to learn and faster to use. Messages like errors and warnings are normalized, in terms of content and display.
A set of high level rendering business components give more control to users than ever:
All graphical components are designed and tested to be keyboard driven, for maximum end-user productivity. Powerful surface controls and formatting abilities help users to correct typein mistakes, at the earliest possible time.
User’s performance is also adressed with the management of background tasks, keeping application usable while long-lasting operations only freeze affected GUI subpart. Low memory and CPU footprints let more room to retrieve more data from the server than you ever dreamed considering Web-based applications.
And the nightmare of deployment with first-generation client / server, or cross-browser Web applications is over: ReachPeople is Java WebStart™ ready.
For architects and developers
ReachPeople provides the backbone of a rich client application, with unified window collaboration scheme, and well-defined client / server conversation model.
This conversation model takes advantage of a thin invocation layer for hiding the underlying protocol(s) like JDBC, RMI, SOAP, HTTP. Of course, implementations are pluggable. As a benefit, it is possible to use remote invocation over HTTP for preserving existing Webapp architecture. Security concerns are handled through simple patterns and a pluggable architecture to fit in any security infrastructure.
A bi-directional, type-safe binding API provides a productive and innovative way to bind “model” objects to visual components. An internal message bus enables inter-windows communication.
Application tuning is taken to heart, with explicit error messages and fine- grained logging provided by the framework.
A complete documentation provides startup guide, know-how, FAQ, release notes, sample applications, javadocs, code samples, best practices and patterns.
For IT managers
ReachPeople meets high quality standards, with 96,000 lines of production-ready code (including 39,000 lines of comments) covered by more than 1000 unit tests. Those tests include “live” GUI testing with Abbot. With Cenqua’s Clover, measured code coverage is near 70%.
ReachPeople does not depend on any proprietary / commercial library, but well-recognized open-source libraries (with liberal licences), neither it sticks to one particular development environment.
It perfectly fits in a software factory and automated build process. The framework itself is built with Apache Maven.
ReachPeople has serious references. BNP Paribas successfully deployed it in production since March 2005. It empowers the AceTP project, the core mission-critical system of BNP Paribas Securities Services. With 500 screens and 200 developers, it is one of the biggest Swing/J2EE project in
Contact




Le langage SQL a joué un rôle de précurseur en sacrifiant vingt années d'alternatives sur l'autel du « on peut sûrement faire mieux, mais c'est un standard, et on s'en accommode » . Au début des années 80, l'apparition des systèmes de gestion de bases de données relationnelles (SGBDR) offre un cadre structuré et normalisé aux données. La nécessité de travailler avec un langage standard d'interaction avec les données et de fournir l'accès à ces informations à un utilisateur lambda donne naissance à SQL. On assiste alors à une extraordinaire arnaque intellectuelle, en retombant dans le piège de logiciels toujours trop compliqués pour un néophyte, ou trop limités pour un informaticien.
Aujourd'hui, après le télescopage du client-serveur et du web, les architectures à la mode nous font marcher sur la tête. Ainsi, les données stockées en mode relationnel sont extraites en SQL, de façon à alimenter un modèle objet, qui doit être à nouveau mis à plat pour l'ultime conversion à des fins de représentations tabulaires. Vu sous cet angle, la question se pose de savoir qui, de la base de données ou du serveur d'applications, doit rendre son tablier.
D'un aspect purement pragmatique, il faudrait détruire la brique du milieu, supprimant la double distorsion (relationnel/objet et objet/représentation tabulaire), et par là même quelques décennies d'avancées technologiques. N'en déplaise aux conservateurs, je préfère une autre option.
Les serveurs d'applications prennent le relais
Car, en regardant de plus près, les SGBDR représentent « le » point faible des architectures à plusieurs niveaux. Risques d'indisponibilité, problèmes de performances, évolutivité trop verticale... Leur mode d'interaction n'est plus du tout en phase avec les standards de développement objet et XML. En outre, les futurs ingénieurs ne sont plus formés au SQL, et encore moins aux formes normales. Mais alors, si la base de données disparaît, qui prend le relais ? Les serveurs d'applications bien sûr. Un exemple : même si dans le monde Java, les premières spécifications des EJB Entity ont échoué pour donner naissance dans la foulée à JDO, d'un côté, et à Hibernate, de l'autre, elles proposent une façon plutôt incompatible de résoudre la différence d'impédance objet/scalaire. Peu importe, la bataille acharnée que se livrent les partisans des deux camps, tous ceux qui ont expérimenté ce mapping objet/relationnel (ORM), dressent un même constat : la différence se fait autour de la gestion du cache.
Un langage d'interrogation objet pour remplacer SQL
Une unification des ORM est attendue en fin 2005. Le cache, lui, restera encore longtemps loin de toute normalisation. Qu'il s'agisse de celui de niveau 1, propre à chaque session (ou transaction) qui assure qu'un objet n'est instancié qu'une seule fois ; ou de celui de niveau 2, qui propose des services de réplication transactionnelle interserveurs, de tolérance aux pannes, de gestion de conflit sur mise à jour concurrente, et, enfin, de tolérance à l'absence de base de données. Ce cache en écriture, réparti sur toutes les instances d'une grappe de serveurs d'applications, supprime de facto le goulet d'étranglement inhérent aux moteurs de persistance classiques. Un langage d'interrogation orienté objet remplace alors SQL ; la distorsion objet/relationnel est éliminée, et avec elle le mapping. Cerise sur le gâteau, on administre les composants exécutables et leurs données depuis une console unifiée. Les conditions optimales pour l'arrivée d'un mode de persistance asynchrone, distribué et à évolutivité horizontale et linéaire, se trouvent donc réunies. Une telle technologie peut donc en théorie prétendre se substituer au SGBDR et le reléguer au rang des bandes magnétiques d'archivage.
Bien entendu, tout cela n'en est encore qu'au stade préhistorique. Les fournisseurs se défendent en faisant la promotion du Datagrid ; d'autres mettent l'accent sur les développements Javaspace, JCache ou propriétaires.
* directeur technique du projet AceTP chez BNP Paribas Securities Services
