Affichage des articles dont le libellé est Swing. Afficher tous les articles
Affichage des articles dont le libellé est Swing. Afficher tous les articles

jeudi 8 décembre 2005

Petit déjeuner SQLi sur Java / Swing



Un autre petit déjeuner; avec le groupe SQLi ou j'y ai présenté ReachPeople
Voici le lien de l'annonce de cette demi journée.

vendredi 18 novembre 2005

Ajax, Hector, et leur talon d'Achille

Laurent Bédé*, 01 Informatique (n° 1836), le 18/11/2005 à 00h00


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.

(1) Ajax fut, après Achille, le plus vaillant des Grecs.(2) Hector fut le plus fort et le plus vaillant des Troyens.* directeur technique du projet AceTP chez BNP Paribas Securities Services.

mercredi 16 novembre 2005

Ce qu'ils pensent d'Ajax

Anicet Mbida, 01 Informatique (n° 1835), le 16/11/2005 à 07h00

Le sceptique : Laurent Bédé (BNPParibas Securities Services)

« Il ne faut pas enterrer le client lourd. »

« Le déploiement en client-serveur n'est plus un problème. Avec un nombre fini d'utilisateurs, des outils comme Java Web Start assurent un déploiement transparent. Fiducia AG, par exemple, a déployé automatiquement une application Java/Swing de 120 Mo sur plus de 100 000 postes. Derrière Ajax,il y a un bricolage incroyable. Même si les outils s'améliorent, les meilleures bibliothèques d'aujourd'hui atteignent à peine le niveau de ce que faisait Visual Basic il y a dix ans. Quel intérêt y a-t-il à rester centré sur le navigateur ? C'est le nivellement par le bas. Le client du futur, le téléphone, a depuis longtemps opté pour un modèle avec des applets. »

mardi 8 novembre 2005

Petit déjeuner OCTO Technology sur Java / Swing à l'ATELIER BNPParibas


En partenariat avec Octo Technology, j'y ai présenté le framework client riche Java / Swing ReachPeople développé au sein de mes équipes entre 2002 et 2005 dans le cadre du project AceTP.
Page de l'agenda de cet événement.

jeudi 15 septembre 2005

ReachPeople Overview

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: empower rich desktop client applications

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:

  • PowerTable that leverages on most common used features of spreadsheet softwares, while providing unlimited user customization capacity.
  • Setting management let user customize each component individually, and save as many settings as needed.
  • Selector is an overboosted combo-box for selecting one or more values, among virtually unlimited lists.

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 Europe. During an audit led by ATOS in 2005, ReachPeople has been recognized as a key factor of success.

Contact

Laurent BEDE – BNP Paribas Securities Services

See some screenshots below; the PowerTable in action: