Author Archives: Alexis Kinsella

Author Archives: Alexis Kinsella

Coupure temporaire de service

Coupure temporaire de service

Suite à un changement d’hébergeur, mon blog risque d’être coupé quelques heures le temps du transfert. Ce changement aura lieu dans les prochains jours. Donc, pas de panique si le blog est down quelques heures ;)

Connaissez-vous le paradigme ‘Model Driven Architecture (MDA)’ ?

Connaissez-vous le paradigme ‘Model Driven Architecture (MDA)’ ?

MDA signifie Model Driven Architecture. L’idée de générer une partie d’application (plus ou moins importante) à partir d’un modèle de données et de diagrammes d’interactions et d’utilisations (tel que l’UML) n’est pas nouveau, mais aujourd’hui il existe de très bon outils (libres ou non) permettant de le faire. Adromeda en fait partie.

J’ai traduit ici, le descriptif du projet AndroMDA sur la page d’accueil du site:

AndroMDA (à prononcer »Andromeda ») est un framework de génération extensible qui adhère au paradigme ‘Model Driven Architecture (MDA)’. Des Modèles UML peuvent ainsi être transformés en composants déployable pour votre platte-forme favorite (J2EE, Spring, .NET). Contrairement aux autres outils MDA, AndroMDA est livré avec un set de cartouches déjà fonctionnels qui ont pour cibles des outils de développement actuels tels que Axis, jBPM, Struts, JSF, Spring and Hibernate. AndroMDA permet égalementde développer ses propres cartouches ou bien de customiser celles existantes. Il est ainsi possible de générer un code customisé à partir de son outils UML favoris.

AndroMDA est livré avec les fonctionnalités suivantes:

* Un design modulaire: les principaux blocs d’AndroMDAsont pluggable and et peuvent être échangés pour satisfaire vos besoin.
* Supporte les principaux outils UML tels MagicDraw, Poseidon, Enterprise Architect et bien d’autres.
* Des templates basés sur des moteurs de templates reconnus. actuellement, Velocity et FreeMarker sont supportés.
* Des cartouches prêtes à l’emploi pour les architectures d’entreprise les plus connues (EJB, Spring, Hibernate, Struts, JSF, Axis, jBPM).

* Site d’AndroMDA: http://www.andromda.org.

Je trouve ce concept très efficace, c’est pour cette raison que j’en parle ici. A noter qu’AndroMDA est un projet Open-Source qui repose sur Maven. De plus un plugin Eclipse sera bientôt disponible pour une meilleur intégration.

Concernant le support de Java EE 5, une cartouche EJB3 sera bientôt disponible.

Pour conclure, je vous conseille d’essayer de toute urgence. Attention cependant, si vous n’êtes pas famillié avec ce type de développement (MDA), je vous conseille de prévoir une petite demi-journée pour mieux cerner les avantages de cette méthodologie de développement, et tester par vous-même.

Un tutoriel pas à pas est disponible sur le site du projet.

Un des avantages non négligeable de ce type de méthodologie de développement, est le gain de temps, qui permet de mieux se concentrer sur la couche service de l’application, et non sur d’autres couches, qui ne nécessitent pas le temps qu’on leur consacre habituellement.

Une association magique selon moi:

UML + MDA => EJB3 & JSF => Un projet avec un modèle généralement plus clean et un cycle de développement plus court. Attention, les EJB3 et les JSF étant des technologies très rescentes, je vous conseille plutôt de générer du code pour Struts et Hibernate.

N’hésitez pas à poster des commentaires et infos, si le sujet vous intéresse, je suis très intéressé par le sujet.

Les Seams font du Java!

Les Seams font du Java!

Bon ok, c’est complétement nul, mais je n’ai rien trouvé de mieux!

Seam est un framework développé par le consortium JBoss, et il repose sur deux technologies majeures de Java EE 5, les EJB3 et les JSF. Ce framework semble très prometteur, je vous conseille d’ailler faire un tour sur la page d’accueil du projet pour vous faire une meilleur idée de la chose. Elle se trouve à l’adresse suivante: http://www.jboss.com/products/seam .
De plus, seam peut être couplé à jBPM pour mieux gérer votre workflow. Plusieurs exemples sont fournis avec le projet, de plus une documentation complète est également fournie.

A noter: Le projet est encore en version Beta, mais les outils de génération sont déjà présents dans les dernière version de JBossIDE 1.5 + HibernateTools3.1B4.

Ce projet a tout l’air pour moi d’être le remplaçant désigné de Struts pour Java EE 5 …

Bien choisir son Eclipse IDE :D

Bien choisir son Eclipse IDE :D

Il existe aujourd’hui de nombreuses distributions d’Eclipse, le problème pour ma part, n’est pas de choisir Eclipse ou non, mais la bonne distribution!

Je ne serais trop vous conseiller d’en essayer plusieurs avant de vous fixer sur une distrib!

Pour ma part, je vous conseille l’IDE d’Exadel, je le trouve vraiment complet, et bien ficelé. La version 3.5 vient juste de sortir. Seul point noir, il est payant… Une version gratuite existe également.

Il en existe d’autres, pour n’en citer que quelques uns, en voici une liste non exhaustive:

* M7 racheté rescemment par Bea et renommé BEA WorkShop.
* MyEclipseIDE (très bon également).
* JBossIDE.

Bons tests et bon développement!

Pour compléter ces distributions, je vous conseille de rajouter les plugins fournis par le projet EclipseME et le Visual Editor de la fondation Eclipse :D

SWT, Transparence et autre

SWT, Transparence et autre

Vous êtes un killer en SWT et vous savez faire plein de choses intéressantes ;) mais vous enragez parce que vous ne pouvez pas faire comme Winamp et bien d’autres applications: de la transparence! Ne vous inquiétez pas il y a toujours une solution à aux problèmes (Une vrai solution… pas de la fausse transparence comme vous avez déjà du voir sur le web)

Il faut l’admettre, il manque des choses en SWT qui rongent la vie:
* L’absence de transparence
* La taille de cellule dans les tableaux fixe, ainsi que dans le widget Tree
* Des fonctions de dessin avancé qui ne fonctionnent pas bien et j’en passe

Même si je n’ai pas la solution à tous les problèmes, j’en ai au moins une partielle et efficace pour les deux premiers problèmes.

En ce qui concerne le premier problème: la transparence, un petit coup de JNI règlera le problème.
En ce qui concerne le second, vous avez la possibilité de régler la taille des cellules et même implémenter une fonction paint efficace avec un CellRenderer.

La, vous devez vous dire, c’est bien beau, mais elles sont où les solutions? Ben elles vont venir… Le temps que je fasse un truc présentable, et je mettrais des exemples tout bien détaillés en temps voulu :D Alors un peu de patience et vous aurez les solutions.

De plus le scrolledComposite souffre de quelques problèmes de base, je vous indiquerai prochainement comment vous débrouiller pour contourner les problème de redimensionnement automatique des composants de la partie scrollée.

SWT PLUS, la librairie qu’il vous faut!

SWT PLUS, la librairie qu’il vous faut!

Et dire que j’allais oublier de vous en parler! C’est la librairie tendance à avoir en ce moment si vous développez en SWT. Bon faut le dire pour ma part, je préfère avoir la main sur tous les composants customisés que je rajoute dans mes applications SWT, mais cette librairie amène à réfléchir. Un bémol de taille cependant, la librairie est libre à l’utilisation, mais on a pas accès au code source! (flute…)

Je vous invite à essayer la démonstration présente sur le site pour vous faire une idée de vous-même:
* http://www.swtplus.com/index.php

Clients riches et EJB 3

Clients riches et EJB 3

Pour tous ceux qui souhaitent se documenter un peu plus en ce qui concerne les applications basées sur des interfaces riches, je vous conseille d’aller faire un tour sur le site Client Java, il propose régulièrement des infos et des articles liés à ce sujet!

De même si vous vous intéressez aux technologies J2EE, je vous conseille d’aller jeter un coup d’oeil sur le site suivant:
* http://www.jboss.com/docs/trailblazer
* http://docs.jboss.org/ejb3/app-server/tutorial/

Ces deux sites vous permettent de prendre un bon départ concernant les EJB3. Des connaissances d’Hibernate3 vous permettront d’entrer plus vite dans le vif du sujet concernant la partie persistance même si cela n’est pas nécessaire.

De plus je vous conseille d’aller sur le site de SUN télécharger les spécifications EJB 3, elles regorgent d’informations utiles.

Pour ma part, j’ai déjà adopté les EJB3, c’est tellement plus simple à utiliser dans les développement qu’on en deviendrait presque accros!

Projets OpenSource Java

Projets OpenSource Java

Dans la série bonnes adresses, je viens de rajouter dans la liste des liens l’adresse du site JavaSource. Sur ce site internet vous pourrez trouver tout un tas de projets OpenSource sous différents types de licenses classés par catégories. Si vous ne connaissez pas ce site, je vous conseille d’aller y faire un tour de toute urgence!

Eclipse eRCP/eSWT est là!

Eclipse eRCP/eSWT est là!

et le moins qu’on puisse dire c’est que ça fait plaisir! Pour ma part, je suis en plein testing de la platte-forme et je suis pour le moment confronté à quelques difficultés secondaires, mais pour le moins embêtantes ;) (Je n’ai pas de JDK/JRE 1.3 ou 1.4 pour tester eRCP). Eh oui, je suis un pauvre développeur Java victime de la mode puisque je n’ai plus que des JDK/JRE 1.5 sous la main :D

Il existe cependant une alternative pour ceux qui ne veulent pas installer d’anciens JDK, il suffit d’installer celui d’IBM nommé IVE (ou J9) pour faire fonctionner la bête. Une dernière solution existe: Installer la démo d’eRCP directement sur une machine compatible, c’est à dire sur un Nokia serie 80, un PocketPC ou bien un Zaurus.

Ayant mon QTEK S100 sous la main et J9 en version CDC PPRO installé dessus, je me dit banco! Hélas ce n’est pas si simple que ça puisque ça ne semble vouloir marcher qu’avec la version CDC FOUNDATION (Merde alors). Et hop, 610 Mo à télécharger (et oui, seule la version complète des outils de développement contient la version FOUNDATION de J9).

Edit: Il n’y a rien a faire, il manque un fichier de ressource, c’est pour cette raison que l’application Demo RCP ne peut démarrer, suis-je le seul?? Je ne comprends pas, c’est comme si personne ne l’avait testé pour qu’il n’y ait pas de retour sur ce problème !??
J’ai signalé le problème sur le newsgroup, on verra bien :D

Je déteste baisser les bras et pour la peine, je vais persister et vous présenter sous peu des screenshots de la démo sur PC et sur PPC!

A noter quand même que la version HelloWorld de eRCP marche avec le JDK 1.5, un comble! C’est à n’y rien comprendre!!!!

* Projet eRCP

eSWT et eRCP sont les versions light des projets RCP et SWT de la fondation Eclipse. Pour avoir plus d’information dessus, il faut se rendre sur le site: eclipse.org. Le e devant SWT et RCPsignifie Embedded (embarqué, ie téléphonie et PDA dans ce contexte).

* SWT est un toolkit graphique Java développé initialement par IBM qui a pour but de ‘wrapper’ les toolkits natif des systèmes supportés afin d’en tirer les avantages (Ca a des avantages et des défauts… C’est un grand débat ;) , pour ma part, je n’utilise plus que SWT! ).
* RCP est un framework de développement d’application riches (applications systèmes et non web) utilisant SWT pour la partie graphique.