Accueil > NatJet > Concept produit

AGL J2ee/Ajax NatJet
Architecture produit

NatJet est un plugin Eclipse qui étend les fonctionnalités de développement web. Comme tout AGL, l'architecture de NatJet s'organise en :

  • un plugin Eclipse
  • un double runtime Ajax/J2ee pour la production
  • du code généré par l'AGL

Sommaire

Architecture du plugin Eclipse
Socle Eclipse 3.3 Europa
Architecture de production
Pour en savoir plus

Architecture du plugin Eclipse

Le Graphical Designer permet de dessiner littéralement vos écrans. Vous glissez/déposez les contrôles sur l’écran. Vous les sélectionnez, les déplacez, les alignez... tout cela du bout de votre souris. Le volet Properties permet une configuration rapide du comportement de chaque contrôle.

Le Graphical Designer permet d’ajouter un contrôle spécifique : le DataObject ; cet objet est accessible comme les autres contrôles depuis l’interface de programmation et a la particularité d'être invisible. Il permet de lier les autres contrôles graphiques (TextField, ComboBox, CheckBox…) aux propriétés d’un bean métier. Le DataObject permet à la fois d’alimenter un bean avec les valeurs des contrôles (et vice versa) et de prendre en charge l’accès à la base de données.

Le DataObject permet de soulager vos équipes de développement de l’écriture d’un code technique fastidieux.

Architecture AGL (cliquez sur l'image pour l'agrandir)

L’ensemble du dessin de l’écran et de la définition du DataObject est stocké dans un fichier au format XML. Le générateur utilise ce Méta modèle pour générer les classes Java qui seront utilisées par le développeur : il faut noter que NatJet génère deux classes Java : une classe Java abstraite technique qui contient la description de l’écran et une classe Java métier qui contiendra le code d’interaction entre l’utilisateur et l’écran. Vos développeurs n’interviendront que sur la seconde classe assurant ainsi une séparation forte entre le code généré pour la présentation et votre code métier.

L’ensemble du code généré ainsi que votre code applicatif s’appuient sur une couche d’abstraction qui confère à la solution une grande indépendance vis-à-vis des choix techniques sous-jacents : c'est une garantie pour la pérennité de vos développements.

Socle Eclipse 3.3 Europa

NatJet 1.0 s’appuie sur la dernière version d’Eclipse. La distribution Eclipse utilisée (for Jee developper) inclut un plugin WTP qui facilite le développement, les tests et l’intégration d’applications Web. NatJet étend ce plug-in (c'est à dire augmente et complète ses fonctionnalités afin quelles soient plus adaptées à un projet NatJet).

NatJet ajoute les vues Eclipse suivantes pour :

  • Properties : modifier les caractéristiques d’un contrôle graphique en design
  • Palette : faire du Drag&Drop de contrôle vers l’écran sans passer par le menu popup.
  • OutLine : la liste des contrôles graphiques d’un écran.
  • Graphical Designer : afficher l’écran en construction comme il devrait apparaître à l’exécution (on parle également de Wysiwyg) : il s’agit du module principal du builder NatJet.
  • Alignement : aligner les contrôles du Graphical Designer

Pour l'essentiel, on retrouve les fonctionnalités standards d'Eclipse :

  • création de projet : on crée un projet Web Dynamique d’Eclipse traditionnel en ajoutant l’option NatJet. Dans ce cas, il crée un projet de type NatJet avec les ressources nécessaires
  • la structure du projet NatJet correspond à celle de tout projet Web Dynamique dans Eclipse. Il existe notamment un répertoire WebContent/WEB-INF/lib dans lequel il est possible d’ajouter par simple Drag&Drop toutes les ressources externes utiles au projet
  • l’intégration du projet est simplifiée : un simple clic droit sur le nom du projet permet d'appeler le menu Export -> War file… et de spécifier le nom et l’emplacement du fichier. Un War (Web Archive) est le standard J2EE pour déployer une application Web sur un serveur d’application. Toutes les ressources externes ajoutées ainsi que celles du projet sont automatiquement assemblées dans ce fichier. Il n’est pas nécessaire de recourir à ant ou maven

En test, il existe deux modes :

  • Un mode IDE qui ne lance pas de serveur d’application et qui exécute une application SWT ; cela permet d’alléger la phase de test
  • Un mode Server dans lequel on peut choisir n’importe quel serveur supporté par NatJet et Eclipse 3.3 ; ce mode lance le serveur et un browser dans Eclipse sur l’application en développement : il recompile et déploie le tout automatiquement (là encore il n’est pas nécessaire d’utiliser ant ou maven)

Les serveurs disponibles en test sont :

  • Tomcat 5.5 et 6.0
  • JBoss 4.2
  • WebSphere 6.0

Le mode debug est possible dans les deux modes de test Swt ou Serveur. Cela permet au développeur de suivre au plus prêt (pas à pas) l’exécution de son code et cela même en mode serveur.

En mode serveur, la log du serveur est disponible dans une vue Console d’Eclipse. NatJet met à disposition du développeur une API de log qui s'appuie sur Log4j. Cette API permet de tracer simplement des informations supplémentaires propres à un environnement J2ee comme :

  • le nom de la classe et de la méthode invoquant l'appel
  • l'adresse IP du navigateur
  • l'identifiant de la session
  • le temps de traitement de la requête http par le serveur

L'ajout et la suppression de ses informations se font par paramétrage du fichier web.xml.

La javadoc des APIs propres à NatJet est disponible depuis l'éditeur de code d'Eclipse. De même, les facilités de l'éditeur d'Eclipse comme l'autocomplétion, le refactoring... sont disponibles.

En bref, NatJet se comporte comme un plug-in Eclipse traditionnel en utilisant pleinement la puissance et les habitudes des développeurs Eclipse.

Architecture de production

Une application NatJet est une application Web J2EE traditionnelle. Lors de la première connexion d’un navigateur web, ce dernier va charger le terminal graphique Ajax depuis le serveur. Ce terminal graphique va ensuite échanger avec le serveur NatJet des messages XML de synchronisation. La magie d'Ajax permet un rafraîchissement fluide et quasiment instantané des écrans. Le message de synchronisation est optimisé et ne contient que le strict minimum afin de ne pas charger la bande passante de votre réseau. La requête (du navigateur vers le serveur) contient les actions et saisies de l’internaute. La réponse (du serveur vers le navigateur) contient les ordres de rafraîchissement du navigateur.

Architecture d'éxécution NatJet (cliquez sur l'image pour l'agrandir)

La richesse du terminal graphique Ajax permet une forte interaction entre l’utilisateur et l’interface. L’optimisation des échanges permet une grande fluidité et réactivité des interfaces conçues avec NatJet.

Pour en savoir plus

Vous pouvez trouver plus d'informations sur notre site Internet :

  • Présentation générale de NatJet :
    Plugin Eclipse, NatJet est un atelier de développement graphique J2EE/Ajax conçu pour dessiner vos applications «métier».
  • Richesse de l'interface :
    Les applications NatJet sont des applications Web J2EE dont la convivialité et l’interactivité de l’interface égalent celles des interfaces Windows clients lourds traditionnelles.
  • Graphical Designer :
    Glisser/déposer les contrôles directement sur vos écrans.
  • Architecture produit :
    NatJet est un plugin Eclipse qui étend les fonctionnalités de développement web.

 

Retour
Nat System - Immeuble le Péricentre - 16, avenue Louison Bobet 94132 - FONTENAY cedex