Archives pour la catégorie Eclipse Scout

Intégrer des diagrammes BIRT dans une application Eclipse Scout

Dans mon application MCQS je représente les réponses aux questions sous forme de diagramme. Je viens de remplacer ma petite solution maison contre une vraie librairie chargée de calculer les diagrammes : Eclipse BIRT (Eclipse Charting Engine).

birt_logo

Le résultat obtenu fait tout de suite beaucoup plus professionnel :

avant_apres

J’avais déjà utilisé JFreeChart il y a longtemps… Mais BIRT étant un projet Eclipse sous licences EPL, je l’avais mis depuis longtemps sur ma liste des choses à regarder. Le projet Eclipse BIRT est assez vaste, en fait c’est une solution de Business Intelligence complet qui est comparable à la suite Jaspersoft. Je me concentre ici sur le module Eclipse Charting Engine de BIRT : c’est lui qui dessine les diagrammes et qui est donc plus comparable à JFreeChart.
Lire la suite

Mes trois EclipseCon en 2013

J’ai eu la chance de participer aux trois EclipseCon de 2013 (Boston, Toulouse et Ludwigsburg en Allemagne). J’y étais pour présenter Eclipse Scout, le framework de création d’application métier que nous développons avec mon entreprise au sein de la fondation Eclipse. Après avoir été nommé comiteur en début d’année, je travaille maintenant sur ce projet à plein temps. EclipseCon, c’est la conférence de la fondation Eclipse, un véritable rendez-vous pour la communauté.

eclipsecon_badges

Pour moi, chacune de ces EclipseCon m’a donné la possibilité de rencontrer des gens, de replacer les choses dans leur contexte, de réexpliquer notre projet en partant du début… Voici quelques réflexions que je souhaite partager ici.
Lire la suite

Le livre Eclipse Scout – Quelques retours

Matthias Zimmerman a écrit un livre sur Eclipse Scout. Sous une licence libre, ce livre est consultable en ligne (html, pdf, epub).

En anglais, ce livre donne un bon aperçu des possibilités d’Eclipse scout au travers de deux tutoriaux. Un chapitre est consacré aux outils « Scout SDK » intégrés à Eclipse, qui permettent un accès facile à Eclipse Scout et un développement efficace. Le tout commençant par un chapitre d’introduction donnant en quelques pages une description d’Eclipse Scout et sa philosophie.

Eclipse Scout Book

J’avais envie de partager quelques notes sur les coulisses de rédaction du livre.
Lire la suite

Eclipse Scout: obtenir une version web mobile de son application

La version 3.9 d’Eclipse Scout livrée avec Kepler (nom du release train Eclipse 2013) permet d’obtenir une version mobile de son application. Je viens de porter ma petite application de QCM (série d’articles sur mcqs, site du projet, tutoriel – premiers pas avec Eclipse Scout) sur cette nouvelle version me permettant ainsi d’obtenir une déclinaison mobile de mon application.

Version mobile de MCQS dans un iPhone

C’est une possibilité de plus qui confirme la stratégie multi front-end d’Eclipse Scout. En effet la même application peut-être rendue sous différente forme : application desktop, application web et maintenant application web mobile.
Lire la suite

Fichiers *.product et Eclipse Scout

En lisant un bon article sur les fichiers *.product (Create a product configuration), je me suis dit que je n’avais jamais écrit sur la manière dont Eclipse Scout les utilisait.

Une application Eclipse Scout propose par défaut deux manières de lancer chaque application (le serveur, et chaque client). S’il n’existe côté client, qu’une seule application (reposant sur SWT par exemple), cela fait tout de même 4 lanceurs différents:

Eclipse Scout - product launchers

Ce mécanisme repose sur les fichiers *.product et n’est pas si difficile à comprendre.

Lire la suite

Eclipse Scout, fait pour les applications d’entreprises ?

Il m’arrive souvent de m’interroger ou d’être interrogé sur la pertinence et la nécessité d’Eclipse Scout. Là où je travaille (l’entreprise derrière Eclipse Scout), son emploi pose certainement moins de questions que pour ceux qui découvriraient ce framework pour la première fois.

Mcqs - une application Eclipse Scout

Lorsque je suis amené à parler d’Eclipse Scout, je commence toujours par dire qu’Eclipse Scout ne répond pas à tous les besoins. C’est un point crucial, car selon moi, il faut bien avoir compris ce que le projet propose pour pouvoir en évaluer la pertinence pour soi-même.

Il ne faut pas survendre le framework, mais parler de ses qualités en expliquant ses limites. Dans ce billet, j’ai essayé de m’intéresser à différents points en pensant aux entreprises.

Lire la suite

Un fragment NoDB pour le serveur de mon application Eclipse Scout

Les applications Eclipse Scout reposent sur un registre de service. Ces services sont définis par une interface, placé dans le plug-in shared accessible côté client comme côté serveur. L’appel à l’un de ces services s’effectue toujours de la même manière:

IQuestionsListProcessService service = SERVICES.getService(IQuestionsListProcessService.class);

Côté client, deux cas se présentent:
* une implémentation est disponible côté client. Dans ce cas elle est retournée par cet appel.
* l’implémentation se trouve côté serveur. Dans ce cas, un proxy est retourné, et l’appel à la fonction est transmis au serveur par Eclipse Scout.

Ce registre de services gère plusieurs implémentations pour une même interface. Il est possible de définir une priorité pour donner un ordre entre les implémentations.

D’où mon idée de septembre dernier de proposer pour chaque service une implémentation se passant de la base de données. Dans ce cas il n’y a plus de persistance des informations, mais dans le cas de démonstration ou de tests cela peut être suffisant.

Je l’ai mis en oeuvre pour mon application MCQS.

Depuis ce commit, je dispose maintenant d’un fragment org.eclipselabs.mcqs.server.nodb.frament qui propose une implémentation des services avec une priorité plus haute. Lorsque le fragment est chargé avec le serveur (ce qui est le cas avec le produit server/products/nodb), ce sont ses implémentations qui ont la priorité.

Ce n’est pas encore tout à fait parfait, car pour faire les choses proprement il ne faudrait pas avoir de dépendance à la base de données dans le plug-in serveur principal, mais dans un deuxième fragment (et utiliser l’un ou l’autre).

Mon fragment NoDB est rudimentaire. Il ne garde rien en mémoire, ce qui devrait être possible.

Dans tous les cas, c’est un bon cas d’exemple de l’annotation @Priority que l’on peut ajouter sur chacun des services.

Personnaliser son application Eclipse Scout

Donner une apparence finie à son application est une étape importante. Certains petits détails témoignent du soin apporté à l’application (ou de son bâclage dans le cas contraire).

Splash screen - Eclipse Scout

Par défaut, une application Eclipse Scout contient un certain nombre d’images qui sont des «place-holders» pour l’application finale. Il s’agit de tous les remplacer pour avoir une application à l’apparence correcte.

Splash screen - Mcqs

Lire la suite

config.ini et setter dans Eclipse Scout

Les applications Eclipse Scout sont opérationnelles dès leur création à l’aide du template initial, mais pour bien comprendre leur fonctionnement, il y a pas mal de petits détails.

Je voulais obtenir un code indépendant de la configuration de la base de données, c’est-à-dire utiliser le fichier config.ini (qui doit de toute façon être mis à jour leur d’un changement d’environnement).
Lire la suite