Le titre de ce post est long mais c’est la traduction d’un témoignage très intéressant d’un architecte sur un projet nouvelle génération. L’article Building an Enterprise Scale Mass Market AJAX Web Site using echo2, EJB3 and ServiceMix ESB présente la réalisation d’une application de recherche de prêt immobilier.

Les choix techniques pour l’architecture de la solution sont:

  • User Interface: echo 2
  • Application Server: JBoss Application Server 4
  • Integration with Mortgage Providers: ServiceMix
  • Persistence Mechanism: MySQL
  • CMS System: Hippo
  • Object Relational mapping: Hibernate 3
  • Dependency Injection: Spring

Pour la couche UI, RDF Group utilise echo2 un framework open-source Ajax très sympa. L’intérêt de ce composant est de proposé un modèle orienté widgets/composants qui est à la fois simple à programmer et puissant. Allez voir les démos echo2 pour vous faire une idée de ce qu’il est possible de faire faire à votre navigateur… Je me sens un peu chez moi puisque le projet que j’encadre est similaire à echo2 ou encore ZK Ajax

Pour la couche Business Logic, RDF Group a fait le choix d’utiliser Apache ServiceMix 3.0, projet open-source de la communauté Apache. Ce framework propose un bus de données d’entreprise (ESB) pour s’intégrer dans une architecture SOA. Il est construit à la base sur la spécification JBI JSR208 qui est dit comme étant l’implémentation Java de référence pour l’orchestratio de services. J’ai parlé il y a un temps de SCA, la proposition des gros éditeurs (BEA, Sybase, Oracle…) et je ne sais plus si j’ai parlé de Microsoft Indigo, l’architecture proposée par Microsoft qui est aussi intéressante.
ServiceMix utilise Spring et intégre des API très intéressante comme le moteur de règles Drools. Ce moteur de règle devrait donc permettre de proposer des services d’évaluation de Business Object vraiment intéressant.
La couche de Binding propose les protocoles suivants:

  • HTTP
  • JMS
  • JavaMail
  • WSIF
  • Jabber (instant messaging)

La couche Services package les couches métiers SOAP suivantes:

  • WS-Notification
  • WS-Reliable Messaging
  • WS-Eventing
  • WS-Resources Properties
  • WS-Distributed Managment

Quant à la couche Components voici ce que l’on y trouve:

  • ActiveMQ pour la fabrication de message
  • ActiveSOAP
  • Mule (Object Brooket)
  • Groovy pr le scripting
  • Drools (moteur de regles)
  • PXE (BPEL)
  • Agila (Workflow)

Concernant les serveurs J2EE, ServiceMix s’integre avec Apache Geronimo facilement. Il y a auss le support de JBoss et donc la possibilité de construire facilement un bus de données.
Pour vous faire une idée de ServiceMix je vous conseille la lecture du UserGuide sur leur Wiki.

Dès que j’ai un peu de temps je testerai ServiceMix et je ne manquerai pas de revenir ici autour d’un café en parler avec vous.