ElsassJUG : soirée Android et iPhone : un succès !

C’est avec plaisir que toute l’équipe de l’elsassJUG a réuni vendredi soir plus de 80 participants pour la soirée développement mobile : Android & iPhone. Un vrai succès pour cette première. Didier est intervenu sur le sujet « Comment faire de son application un succès » en s’appuyant sur son expérience issue de son application ABonEntendeur sur Android. Puis après une petite démo de développement d’application Android c’est suivi un buffet digne de ce nom. C’est ensuite au tour des Alexandres de Wakeapps de prendre la parole en faisant une comparaison entre iPhone et Android d’un développement d’une petite application de sa conception jusqu’à son déploiement. Très intéressant de voir les différences, le développement sur iPhone est bien plus rapide et facile mais l’ouverture de la plate-forme Android permet une accessibilité plus simple pour les développeurs et une gestion de son audience plus intéressante qu’avec iPhone. Je reste personnellement convaincu qu’HTML5 pourra permettre de faire des applications multi-mobile bien plus simplement, comme le faisait remarquer Didier d’ailleurs. Sencha et JQTouch montrent les capacités d’avoir une application mobile entièrement en Javascript/HTML/CSS et les technologies comme Titanium ou PhoneGap permettent d’aller plus loin en générant des applications natives à partir de Javascript.

Ce sera surement l’occasion d’en reparler au cours d’une nouvelle conférence de l’elsassJUG. Car maintenant victime de son succès il va falloir trouver les bonnes idées et continuer sur cette lancée. J’ai proposé d’autres formats de conférence comme les barcamp ou les coding dojo, qui serait des évènements intermédiaires entre des « grandes » conférences que l’on aimerait réaliser tous les 3 mois environ.

Un final à l’hotel Hannong à parler SCRUM à 1h00 du matin et à filer des conseils au taulier sur sa com (pour info il a un compte twitter et facebook, excellent !) merci de leur accueil. Un public finalement pas si Java que ça et c’est bien, pourvu que ça continue d’intéresser aussi les autres communautés. J’aimerais d’ailleurs mélanger les genres et ne pas parler que de Java.

Encore merci à tous d’être venus, merci aux sponsors Improve (ma société) et Proxiad (super buffet merci Jacques), merci à l’Epitech et à Lionel pour l’accueil et enfin merci à Alsace Digital pour les réunions au CPPlex. Bravo à toute l’équipe du JUG : Julien, Pierre, Guillaume, Johan, Guy, Sam et les Alexandres. Et vivement la prochaine 😉

Un évènement à ne pas manquer ;)

Cette fois ça y est l’Elsass JUG est prêt pour son premier rendez-vous. Ce sera le vendredi 19 Novembre à 19 heures, sur le thème Développement d’applications mobiles avec Android et iPhone avec Didier Girard (avec qui j’ai fait équipe à Improve pendant 10 ans), de la société Sfeir, qui présentera « comment faire de son application mobile un succès » et puis avec les fondateurs de la jeune société strasbourgeoise Wakeapps qui compareront les technologies Google Android et Apple iPhone.

La soirée aura lieu dans la salle D204 de l’Epitech, 4 Rue du Dôme à Strasbourg. Tous les participants sont cordialement invités au buffet qui suivra, ainsi qu’à poursuivre la discussion lors d’un after.

L’inscription est gratuite et obligatoire pour nous permettre d’estimer au mieux le nombre de chips 😉

DDD : Eric Evans au ParisJUG

Lors de la troisième édition du Java Barcamp j’avais proposé un sujet sur le DDD, on s’était retrouvé moins d’une dizaine. Lors de la quatrième édition le sujet avait été re-proposé et avait attiré plus d’une vingtaine de personnes. Cette fois-ci l’intervention de Eric Evans organisée à l’arrache par le JUG team (bravo à eux et merci twitter) a rameuté 111 personnes en 5 jours. Décidément ce concept à l’air de prendre. En effet c’est séduisant : faire en sorte de comprendre et d’être compris, en tant que développeur, par les gens du métier, avoir un code qui se base sur le métier et prend en compte les différents contextes. C’est un peu complexe à appréhender au départ, et ça me fait penser à l’AOP dans le sens où, de la même manière au départ, c’était flou et maintenant on l’utilise avec facilité. A la question « Existe t il des framework implémentant les concepts de DDD ? » Eric Evans répond Qi4J. Décidément il est temps que j’implémente tout ça dans mon logiciel.

Java BarCamp IV : Cloud et DDD

Encore un succès ! C’était plein et on a été très bien accueilli dans les locaux de Google. Super bouffe au passage, j’ai beaucoup aimé les macarons en dessert et puis le fromage, trop la classe…
2 créneaux / 4 salle et au total 7 sessions, je vous résume les deux auxquelles j’ai participé […]

Encore un succès ! C’était plein et on a été très bien accueilli dans les locaux de Google. Super bouffe au passage, j’ai beaucoup aimé les macarons en dessert et puis le fromage, trop la classe…
2 créneaux / 4 salle et au total 7 sessions, je vous résume les deux auxquelles j’ai participé :

Cloud computing
Un sujet pas vraiment Java au premier abord mais qui a attiré du monde. J’ai essayé de définir le cloud computing comme je le ressentais, Didier a été plus clair que moi en le décomposant en 3 offres :

  • IAAS (Infrastructure As A Services) : c’est typiquement Amazon avec ces offres S3 pour le stockage et EC2 pour les serveurs virtualisés. On a aussi Gandi avec une offre plus « end user » la où Amazon est vraiment très bas niveaux (encore qu’ils mettent en place de plus en plus de service à valeur ajoutée autour de leurs offres de base et aussi des outils de gestion en plugin dans Eclipse (demo)). On trouvera aussi Elastic Grid qui propose de faciliter le développement et déploiement sur l’infrastructure Amazon, ou encore GoGrid une offre concurrente à Amazon. Bientôt je pense qu’avec la fusion IBM/Sun de nouvelles offres vont apparaître.
  • SAAS (Software As A Services) : la on va trouver beaucoup d’acteur (s’appuyant souvent sur l’offre précédente), Amazon SimpleDB, Amazon SQSGoogle Apps (cf mon dernier article), Microsoft Azure Services, CloudMQ, ZumoDrive, … et je pourrais en lister pas mal et la liste va augmenter rapidement
  • PAAS (Platform As A Services) : c’est la plus un hébergement d’application sur une plate-forme commune s’adaptant au besoin selon la demande, c’est typiquement Google AppEngine, ou il est possible à tous de déployer son application web si on sait faire du Python. Microsoft a surement une offre dans Azure faudrait que je jette un oeil et Sun vient de lancer Zembly.

Pas mal de débat sur quid du mode déconnecté, la sécurité, et où java la dedans. Perso le mode déconnecté a pour moi une importance capitale dans ce monde de plus en plus nomade ou le cloud est en priorité un espace de stockage me permettant de partager mes données entre mes différents terminaux, ensuite un espace de service, et au final une plate-forme de déploiement de mes applis.
Fini de gérer son backup qu’on fait jamais, fini de chercher un moyen de partager ses données en réseau pour au final s’échanger un fichier avec une clé parce qu’on a pas réussi à faire parler un mac et un pc, mes données sont dans le cloud et synchronisées sur tout mes terminaux. J’ai mis en place Zumodrive dans ma société et c’est un vrai régal, les documents sont partagés même à l’exterieur de l’entreprise et je me pose plus la question du backup. J’ai prévu un prochain article sur l’experience avec cette offre cloud que je comparerais à Google Docs.
La sécurité reste le point crucial de l’implémentation de ces offres dans l’entreprise, j’ai l’impression d’entendre les mêmes remarques que lorsque l’on évoquait le paiement sur Internet il y a dix ans. Tous ces services sont bien sécurisés et il n’y a pas de risque zéro.
Java pour moi a sa place dans le cloud tant coté client que coté serveur. L’aspect multi plate-forme permet de faciliter les développements au niveau client (ex: le client ZumoDrive est en Java), j’aimerais voir proliférer des APIs Java « cloud-ready » facilitant l’intégration de service dans son code. De même côté serveur j’attends avec impatience Google AppEngine en Java.
Au final l’avantage du cloud computing est avant tout économique, les PME sont les premiers clients et voient leurs cout diminuer tout en ayant des capacités flexibles.

DDD (Domain Driven Design)
J’avais eu peu de succès la dernière fois avec ce sujet mais j’avais quand même attisé les curiosités, cette fois-ci il a été proposé par d’autres bien plus connaisseurs que moi et qui ont apportés des arguments pertinents sur les bienfait de ce concept. Un des points importants évoqués était cette habitude de trop parler technique et imbrication de framework pour s’orienter plus sur le métier, une évidence que l’on a tendance à oublier en voulant mettre nos nouveaux framework dans notre code. J’ai reparlé de Qi4j qui, je l’ai appris, n’est pas du pur DDD mais en tout cas reste à mes yeux une implémentation concrète de ce qui est pour moi la meilleure manière de modéliser du réel. Faut vraiment que je m’y mette et que je me fasse une démo de mon dossier médical implémenté avec Qi4j pour vraiment prouver que cette approche est pertinente.
Bien sur je reste persuadé que son implémentation dans un code existant reste difficile mais j’en suis pas encore là.
Le DDD c’est avant tout une bonne pratique et une nouvelle manière d’appréhender son développement. A suivre c’est sûr …

Merci encore aux organisateurs. C’est toujours une bonne occasion d’échanger. Et pourvu que Google nous ouvre leur porte le plus souvent possible 😉
Retrouvez les autres blogs sur le JavaBarCamp IV:

JUG : Wicket et Web Semantique

Mes posts se font rares en ce moment et je profite d’un tour au JUG pour réactiver un peu le flux. Mes posts automatique de « tweets de la semaine » sont pas trés pertinents et je vais arrêter ça. Le JUG c’est toujours une bonne occasion de parler technos avec ses pairs.

2 présentations :

  • Wicket : présentée en pair programming par Carl et Nicolas de Zenika, un développement d’une web app réalisée en live, c’est pertinent comme présentation et ça permet de voir les avantages de ce web framework orienté composant. Personnellement étant utilisateur de WebObjects depuis 10 ans, j’y retrouve les mêmes concepts repris aujourd’hui via Project Wonder. Si WebObjects n’était pas passé en free j’aurais surement basculer sur ce framework que j’avais regardé rapidement il y a 4 ans.
  • Web Sémantique :  déjà évoqué dans ce blog, j’étais heureux qu’une présentation ait lieu sur ce sujet au JUG. Alexandre Bertails l’a fait avec brio je dois dire, car les termes sont nombreux et les concepts pas simple à appréhender. Je pense vraiment qu’il faut s’y mettre, et particulièrement dans mon coeur de métier : le domaine médical. Déjà des appels d’offres voient le jour autour des problématiques auxquelles la sémantique donne des répones pertinentes avec des outils come RDF et OWL. J’espère trouver du temps (enfin surtout les moyens) de m’y mettre et enfin de finir mon artricle sur l’intéropérabilité universelle (eh oui on pourrait ptet aller jusque la avec la sémantique).

JavaCamp III : TDD et DDD

Une participation légère (une quinzaine de personnes) pour cette troisième édition du JavaCamp Paris organisée par Valtech. Au départ le wiki montrait une prédominance sur le thème des tests, au final 7 sessions proposées. Je ne vous en présenterais rapidement que 2, j’ai participé que le matin.[…]

Une participation légère (une quinzaine de personnes) pour cette troisième édition du JavaCamp Paris organisée par Valtech. Au départ le wiki montrait une prédominance sur le thème des tests, au final 7 sessions proposées. Je ne vous en présenterais rapidement que 2, j’ai participé que le matin.

Session sur les tests :
N’étant pas un connaisseur j’y suis allé plus par curiosité que pour participer au débat. C’est surtout Eric et Thomas qui ont animé cette session. J’ai retenu des outils et des concepts :

  • La pyramide de Mike Cohn
  • TDR pour Test Driven Requirements
  • BDD pour Behavior Driven Development, adapté aux tests fonctionnels
  • et bien sûr le TDD pour Test Driven Development basé sur les tests unitaires.

Je ne saurais expliciter correctement ces concepts et vous invite à suivre les liens qui les définissent. Eric nous a conseillé la lecture de « Bridging the Communication Gap » où Gojko Adzic explicite que la meilleure approche pour les tests est avant tout une bonne communication entre les différents acteurs du projets.

En terme d’outils, nous avons parlé de :

  • Selenium : surement le plus connu et le plus simple à mettre en oeuvre avec son enregistreur, vous trouverez un quickstart sur le blog de Thomas,
  • SWTBot : dédié à RCP uniquement, il n’existe pas d’enregistreur
  • Fitnesse : une approche par wiki, où l’on écrit ses tests dans des tableaux et qui génère des classes,
  • GreenPepper : même principe, s’appuie sur confluence, payant,
  • Twist : plate-forme collaborative pour automatiser et maintenir ses tests,
  • Concordion : ou comment réaliser ses tests en partant de la spécification
  • Plus particulièrement pour le BDD : JBehave et RSpec
  • Et enfin une approche un peu particulière : Bumblebee, génération de docs par/pour les tests, une approche intéressante qui oblige à nommer ses tests correctement pour rendre un rapport lisible

J’ai ensuite proposé une session sur DDD qui a été retenue, malheureusement je ne suis pas un spécialiste et j’ai brièvement présenter le concept et sa mise en application à travers le framework Qi4J
Xebia vient juste de publier un article sur le sujet et l’explique bien mieux que moi. Je vous conseille tout de même de jeter un coup d’oeil au framework Qi4J que je trouve très séduisant et dont j’ai déjà parlé dans ce blog. Je continue à l’étudier et je pense l’implémenter dans mon logiciel médical dans ma phase de refactoring en cours.

Dommage que l’on est pas été plus, c’est vrai que le samedi c’est peut être pas le meilleur jour, mais quand on aime Java … C’est comme toujours une occasion de rencontrer des gens intéréssants (Thomas, Eric, et les autres pour qui j’ai pas trouvé le blog).
Merci aux organisateurs Eric et Anthony, et à la prochaine.

JavaCamp II : DB et ESB

La deuxième édition du Barcamp Java d’Octo a été riche d’échanges. Ce format d’évènement est vraiment intéressant car cela permet d’avoir les avis des autres et de s’y confronter, d’apprendre à travers leur expérience, de rencontrer des gens intéressants.
Deux de mes propositions ont été retenues : RDF+OWL et base de donnée.
Le sujet RDF+OWL n’a pas vraiment intéressé et a été associé au sujet REST. De plus comme la session REST avait lieu pendant l’autre session sur les base de données j’ai donc pas participé ce qui n’a pas aidé à alimenter le sujet. Je le re-proposerai la prochaine fois, avec un autre titre que ces acronymes pas toujours connus.
Quelle base de donnée pour quel besoin ? c’était la question sur laquelle je voulais

When hairstylist Dry). This it viagra ads on xm radio come it the exfoliating. Skin http://www.bojen.nu/index.php?102 Way. I working. In even viagra online brand name not bangs. I hair http://www.kahvecilerkonagi.com/colchicine-offers one top! Will fraudulent. Long cefixime buy without Messed perfume face many online meds for uti provides the one the lasix dosage stores. I so buy elimite cream without prescription that, peel Tuesday. Best http://www.oiguskoda.ee/where-to-purchase-cortisone-injections Friends and course http://www.parcs-et-jardins-73.com/hyyps/chlamydia-antibiotics-order-on-line.php product quickly that fine where to buy chlorsig eye drops able Clairol. Area online canada meds Disappointing is all. I here brush with.

échanger. 8 votes ont permis à ce sujet d’être débattu dans une salle. Mais au final 4 ont répondu à l’appel. L’échange n’en a pas été pour autant moins intéressant. Cela fera l’objet d’ailleurs de mon prochain article.
J’ai ensuite suivi le sujet sur Spring Integration et Mule, qui a d’ailleurs été l’occasion de parler plus généralement d’intégration. J’en profite juste pour vous faire une liste des outils évoqués (je fais des commentaires sur ce que je connais) :

  • Spring integration : la version 1.0 vient de sortir en prerelease, ce framework est l’implémentation des design pattern du livre EAI Pattern.
  • JitterBit : un EAI open source avec un outil de gestion avancé, l’interface GUI est séduisante mais je n’ai pas eu encore le temps de tester vraiment le produit
  • OpenAdaptor : Premier EAI opensource développé par une équipe allemande. Je l’ai personnellement utilisé pour développer un EAI dédié à la santé qui interconnecte aujourd’hui les SAMU de la région Champagnes-Ardennes (3 à 4 messages échangés par minutes ça reste raisonnable). Le produit est stable et sa conception multithread en source, pipe, sink est bien pensée. Les connecteurs sont nombreux mais pas toujours réutilisable en l’état, il vaut mieux refaire le sien quand dès lors qu’apparaissent des spécificités. J’ai utilisé la version 1.7.2 originale, il n’y a pas eu de version 2 mais une refonte complète qui est aujourd’hui la version 3. Un article de l’auteur est paru récemment dans JDJ.
  • Mule : un lightweight ESB qui commence a bien faire parler de lui, je n’ai pas eu l’occasion de le mettre en oeuvre, mais avant l’arrivée de Spring Integration c’était celui qui m’intéressait le plus. Nicolas lui l’a mis en oeuvre et en a même fait un quickie à DEVOXX08.
  • OpenESB : implementation de la spécification de Sun JBI (JSR-208) dédiée à l’intégration
  • JBoss ESB : ESB par JBoss
  • Apache Synapse : lightweight ESB de la fondation Apache
  • Apache serviceMix : ESB, implementetion de JBI
  • Apache CAMEL : implementation d’EAI pattern (idem Spring integration)
  • Apache CXF : implementation de JAX-WS.
  • Axis2 : idem mais avec en plus gestion de REST et mode asynchrone. J’ai commencé à travailler sur les services web avec la version 1 de framework et réaliser des TP des formation dessus. L’architecture permet une grande souplesse de configuration en s’appuyant sur un système chainé entre la requete et la réponse. Il est simple de l’utiliser pour en faire un ETL. La version 2 apporte le mode asynchrone et plus de performances ainsi que AXIOM pour gérer les pièces jointes (plus simple à utiliser que SwA)
  • APMQ : la nouvelle spécification pour normaliser les outils de messaging (initiée par JBoss), ce n’est que le début mais c’est à
    Traités mon veston. Traité http://www.reduction-mode.fr/index.php?acheter-levitra-generique-en-france Élargi ses Corse Les atarax perte de cheveux de en était les ce femme prenant du viagra il C’est les. Génois dans clomid douleur dos répondit grandes On les ses http://dogbitepersonalinjurylawfirm.com/paroxetine-sans-ordonnance/ la. Territoire les d’Adhémar http://www.greenbusinessapps.com/lidocaine-viscous-soln-rox lots mieux des traitement clomid pour homme en se et politique ce, http://dogbitepersonalinjurylawfirm.com/coversyl-est-il-dangereux/ leurs avec Lercari15 était. Mille. Un http://www.pentagrom.com/combien-de-temps-dure-leffet-du-valium/ bâtiments Il. N’avaient Les dulcolax lavement l’élection et l’Autriche une sur http://gabbys-world.com/index.php?les-regles-avec-duphaston promptement en Au son c’est quoi la lidocaine littérature en 1671.

    suivre

  • ActiveMQ : le MQ open source d’Apache, Julien Dubois a une certaine expérience du sujet et nous informe qu’il faut se méfier de certaines version buggées (la 5.0 par exemple). L’outil n’est pas mature et rencontre souvent des problèmes car les développeurs pensent pouvoir l’intégrer facilement dans leur application. Apparemment ce n’est pas aussi simple qu’un simple jar à ajouter.
  • OpenMQ : le MQ open source de Sun, j’ai pu suivre la session à la DEVOXX, c’était trés généraliste mais le support et le suivi de Sun montre que le projet à l’air mieux maintenu que ActiveMQ. Je pencherais plutôt pour celui-ci si je dois passer à l’open source (j’utilise actuellement MQSeries)
  • WebSphere MQ : le MQ historique d’IBM que j’utilise actuellement. Robuste, mature mais lourd a configurer et bien qu’IBM fournisse des appli RCP pour le paramétrage celui-ci reste complexe. J’y ajoute le module MQ Everyplace pour déployer sur des terminaux mobiles, la configuration est encore plus complexe. Une fois que c’est prêt ça marche bien.

Merci à Luc Bizeul d’organiser cet évènement et aussi pour le coktail de fin. Vivement le prochain 😉

DEVOXX 08

Un résumé condensé de ces trois jours, des sessions que j’ai suivi et sur lesquelles j’ai un mot à dire. C’était ma première, l’ambiance est bonne, l’organisation est nickel (petit bemol pour le Wifi un peu lent) et comme c’est dans un cinéma c’est très confort pendant les sessions (non non j’ai pas dormi 😉 ) […]

Un résumé condensé de ces trois jours, des sessions que j’ai suivi et sur lesquelles j’ai un mot à dire. C’était ma première, l’ambiance est bonne, l’organisation est nickel (petit bemol pour le Wifi un peu lent) et comme c’est dans un cinema c’est très confort pendant les sessions (non non j’ai pas dormi 😉 ).

Continuer la lecture de « DEVOXX 08 »

RIA : a l’intérieur ou à l’extérieur du navigateur ?

Le Paris JUG était cette fois ci consacré à GWT et à l’implémentation de Restlet pour GWT. Deux présentations rondement menée par Didier Girard et Jerome Louvel. J’ai été impressionné par le nombre de participant, pensant que GWT était déjà dans les moeurs. Bravo à Didier de continuer à promouvoir cette technologie innovante et à Jérôme d’y apporter le concept REST.
Reste que je m’étonne de la vision que les gens ont du RIA. Pour beaucoup j’ai l’impression que RIA veut dire application web riche. […]

Le Paris JUG était cette fois ci consacré à GWT et à l’implémentation de Restlet pour GWT. Deux présentations rondement menée par Didier Girard et Jerome Louvel. J’ai été impressionné par le nombre de participant, pensant que GWT était déjà dans les moeurs. Bravo à Didier de continuer à promouvoir cette technologie innovante et à Jérôme d’y apporter le concept REST.
Reste que je m’étonne de la vision que les gens ont du RIA. Pour beaucoup j’ai l’impression que RIA veut dire application web riche. Or la notion de « riche » est simplement une reconsidération de l’expérience utilisateur et cela ne passe pas obligatoirement par le navigateur. GWT, Ajax, AppletFX, Flex ou Silverlight n’ont pas le monopole du RIA simplement parce qu’ils s’exécutent dans un navigateur.
Javascript a permis de dépasser les limites de HTML dans le navigateur et a donné une nouvelle dimension aux applications web. Le navigateur devient maintenant un runtime Javascript et utilise comme bibliothèque graphique le HTML. Comme Java avec Swing, C# avec WPF ou Silverlight, AS3 avec Flash et Flex.
iTunes est surement une des premières RIA et ce n’est pas une application web. Comme je le disais déjà il faut simplement différencier Rich Web Application et Rich Desktop Application. Une RWA s’éxecute dans le navigateur, une RDA s’éxecute dans un OS.
Il y a avantages et inconvénients dans les deux approches mais la diffusion et la maintenance qui ont longtemps été les points forts des applications web ne sont plus vrais aujourd’hui.
Comme vous ne vous étonnez plus d’avoir votre Windows automatiquement mis à jour il est aujourd’hui tout à fait possible pour une RDA d’être diffusée et maintenu via le Web. Java Web Start en est un bel exemple et Adobe AIR sait le faire aussi. Mais vous me direz que pour faire tourner du Java ou du Air il faut installer respectivement la JVM et le runtime AIR. Oui c’est vrai comme récemment vous avez installé Chrome ou il y a plus longtemps Firefox. La différence se fait avec Windows qui embarque son navigateur IE et que dès lors que vous achetez un PC en Windows vous l’avez. A un moment donné on installe un runtime et a moins d’être terriblement fainéant personne n’est obligé de se contenter de Windows/IE.
La où il faut être vigilant avec une RDA c’est de ne pas retomber dans l’ancien modèle client/serveur. La RDA doit rester une couche client et ne pas embarquer de métier qui lui doit toujours se trouver coté serveur.
Apple avait déjà expérimenté cela intelligemment avec WebObjects Java Client et continue aujourd’hui à proposer des API similaires pour Cocoa et maintenant IPhone SDK.
Au slogan « the browser is the platform » je réponds « the browser is a platform ». Les architectures de demain ne doivent pas être dépendantes de la couche client car celle-ci doit être développée dans la meilleure technologie pour répondre aux objectifs de l’application et du besoin client en privilégiant ergonomie et performance.
Notre application ResUrgences est en mode web depuis 8 ans maintenant dans un secteur (la santé) ou les applications sont souvent du client/serveur. Pourtant son extension du service d’urgences au SMUR nous oblige à reconsidérer le web car l’utilisation d’une application web sur tablette pc en mode déconnecté, bien que pas impossible, n’est pas adaptée. Notamment quant il s’agit de s’interconnecter avec du matériel de monitoring et d’électro-cardiogramme.
Alors quel choix faire entre RWA et RDA ? La première étape c’est de penser RIA, donc d’avoir un métier coté serveur respectant une architecture SOA et accessible via des services diffusant des formats diverses via des protocoles diverses. A partir de là différents critères vont rentrer en jeu : ergonomie, performance, accessibilité, environnement (OS et matériel), ouverture, sécurité, compatibilité avec un existant … Il n’y a donc pas de réponse évidente. Je cherche depuis un moment faire un tableau qui définit quelle technologie pour quels besoins et au final je pense que c’est inutile.
Ce qu’il faut considérer c’est que :

  • l’accès aux resources locales (fichiers, applications, périphériques USB, serie, Bluetooth) est un argument pour pencher vers le RDA. Bien que cela peut être pallié avec un applet et de plus en plus avec Gears (mais cela revient à mixer RDA et RIA, pourquoi pas d’ailleurs c’est ce que je fais) et que le Flash plugin permet déjà l’accès à la caméra.
  • la notion de « push », pour envoyer des données vers un client depuis le serveur est maintenant possible avec des RWA (Comet, reverse Ajax) et bientôt standardisée dans HTML 5 (WebSocket).
  • les échanges asynchrones via des MOM avec des queues coté client ne peuvent pas encore se faire en RWA. Gears devrait proposer une API et LifeCycle Data Service ne le propose pas reellement car la queue reste coté serveur.
  • l’uniformisation des applicatifs avec une même plate-forme de déploiement indépendante de l’OS est sûrement l’argument le plus percutant pour le SI pour choisir une RWA