mercredi 30 mars 2011

Faire tourner GWT sur un environnement .NET, qui a dit impossible ?

Après avoir réussi à faire tourner et à compiler des applications Java Spring / Hibernate sous environnement .NET à l'aide de IKVM, l'étape suivante : faire tourner une application web java dans IIS. Pour tester, quel meilleur exemple qu'une application GWT ?

A priori personne n'avait tenté ça avant nous. Les articles trouvés sur internet parlaient d'essais de développement de services RPC dans d'autres technologies avec GWT utilisé uniquement pour la partie client (html et javascript). Notre objectif était différent : développer une interface web en utilisant GWT à la fois pour la partie client (html et javascript) et pour la partie serveur (servlet RPC), donc vraiment un développement standard GWT. Ensuite utiliser IKVM pour compiler cette application en .NET et la transformer en une application web .NET pour la faire tourner dans un serveur IIS.

Deux difficultés :

  1. compiler le code java, en particulier GWT à l'aide de IKVM
  2. faire un pont entre l'API Servlet Java et l'API System.web
Eh bien ça marche !

L'article complet se trouve ici :

mardi 8 février 2011

Article sur ESIGate

Pour ceux qui ne connaitraient pas encore ESIGate, un petit article qui explique ce que c'est :
http://blog.smile.fr/ESIGate-le-portail-d-un-genre-nouveau

Pas évident d'expliquer à quoi ça sert sans trop rentrer dans les détails techniques...
Sinon ESIGate c'est ici :
http://www.esigate.org

Marier Java et .NET à l'aide de IKVM

IKVM, la machine virtuelle Java écrite en .NET semble maintenant être arrivée à maturité. Rappel des principes :

  • partant du constat que le JDK et le framework .NET se ressemblent énormément (les mauvaises langues diront qu'ils se copient mutuellement) IKVM, plutôt que de réimplémenter un JDK à partir de zéro, implémente les fonctionnalités du JDK soit en utilisant la fonctionnalité correspondante du framework .NET soit en réutilisant du code de OpenJDK
  • IKVM tourne sous environnement Microsoft .NET ou Mono mais c'est déjà bien puisque on peut déjà choisir entre les environnements Windows ou Linux
  • IKVM permet de convertir une librairie Java en .NET pour utilisation dans une application .NET (un .jar devient une .dll !)
Il restait à vérifier que l'outil est bien à la hauteur de ses promesses en faisant un proto faisant tourner une applications Java et des librairies Java complexe dans cette environnement. Le choix s'est porté sur une application utilisant Spring et Hibernate. Le résultat est au delà  des espérances :
  • l'application java fonctionne et peut même être convertie en un fichier .exe !
  • un rapide test de performances montre des résultats similaires à la même application tournant avec le JDK Oracle
L'article détaillé se trouve ici :

Prochaine étape : arriver à faire tourner une application web java dans IIS. Les tests en cours sont encourageants.