71. JavaDoc 73. Ant Imprimer Sommaire Consulter avec table des matières Développons en Java   v 1.60  
Copyright (C) 1999-2011 Jean-Michel DOUDOUX  

 

72. Les outils libres et commerciaux

 

chapitre 7 2

Pour développer des composants en java (applications clientes, applets, applications web, services web, ... ), il existe une large gamme d'outils commerciaux et libres pour répondre à ce vaste marché.

Comme dans d'autres domaines, les avantages et les inconvénients de ces outils sont semblables selon leur catégorie bien qu'ils ne puissent pas être complètement généralisés :

  Avantages Inconvénient
Outils commerciaux

une meilleure ergonomie

une hot line dédiée

le prix
Outils libres

la gratuité

des mises à jour fréquentes (variable selon le projet)

pas de support officiel (aide communautaire via les forums)

Certains de ces outils libres n'ont que peu de choses à envier à certains de leurs homologues commerciaux : ainsi Tomcat du projet Jakarta est l'implémentation de référence pour ce qui concerne les servlets et les JSP.

Enfin certains éditeurs, surtout dans le domaine des IDE, proposent souvent une version limitée (dans les fonctionnalités ou dans le temps) mais gratuite qui permet d'utiliser et d'évaluer le produit.

L'évolution des ces outils suit l'évolution du marché concernant java : développement d'applet (web client), d'application autonome et C/S, et maintenant développement côté serveur (applications et services web).

La liste des produits de ce chapitre est loin d'être exhaustive mais représente les plus connus ou ceux que j'utilise.

Ce chapitre contient plusieurs sections :

 

72.1. Les environnements de développement intégrés (IDE)

Les environnements de développements intégrés regroupent dans un même outil la possibilité d'écrire du code source, de concevoir une application de façon visuelle par assemblage de beans, d'exécuter et de débugger le code.

D'une façon générale, ils sont tous très gourmands en ressources machines : un processeur rapide, 256 Mo de RAM pour être à l'aise ... En fait la plupart de ces outils sont partiellement ou totalement écrits en Java.

Le choix d'un IDE doit tenir compte de plusieurs caractéristiques : ergonomie et convivialité pour faciliter l'utilisation, fonctionnalités de bases et avancées pour accroître la productivité, robustesse, support des standards, ... La plupart des éditeurs proposent une version gratuite qui permet d'évaluer leur produit.

 

72.1.1. Eclipse

Eclipse est un projet open source à l'origine développé par IBM pour ses futurs outils de développement et offert à la communauté. Le but est de fournir un outil modulaire capable non seulement de faire du développement en Java mais aussi dans d'autres langages et d'autres activités. Cette polyvalence est liée au développement de modules (plug-in) réalisés par la communauté ou des entités commerciales.


Licence :
Statut :
Site web :

Version

Date de diffusion

 

3.0

juin 2004

 

3.1 juin 2005  
3.2 juin 2006 nom de code Callisto
3.3 juin 2007 nom de code Europa
3.4 juin 2008 nom de code Ganymede
3.5 juin 2009 nom de code Galileo
3.6 juin 2010 nom de code Helios

La fondation Eclipse gère de nombreux sous projets parmis lesquels:

Projet Description
Eclipse ce projet développe l'architecture et la structure de la plate-forme Eclipse.
Eclipse Tools
ce projet développe ou intègre des outils à la plate-forme pour permettre à des tiers d'enrichir la plate-forme. Il possède plusieurs sous projets tel que CDT (plug-in pour le développement en C/C++), AspectJ (AOP), GEF (Graphical Editing Framework ), PHP (plug-in pour le développement en PHP), Cobol (plug-in pour le développement en Cobol), VE (Visual Editor) pour la création d'IHM.
Eclipse Technology
ce projet, divisé en trois catégories, propose d'effectuer des recherches sur des évolutions de la plate-forme et des technologies qu'elle met en oeuvre.
Web Tools Platform (WTP)
ce projet a pour but d'enrichir la plate-forme enfin de proposer un framework et des services pour la création d'outils de développement d'applications web. Il est composé de plusieurs sous projets : WST (Web Standard Tools), JST (J2EE Standard Tools), ATF (Ajax Toolkit Framework), Dali (mapping avec JPA) et JSF (Java Server Faces)
Test and Performance Tools Platform (TPTP) ce projet a pour but de développer une plate-forme servant de support à la création d'outils de tests et d'analyses
Business Intelligence and Reporting Tools (BIRT)
ce projet a pour but de développer une plate-forme facilitant l'intégration de générateur d'états. Il est composé de 4 sous projets : ERD (Eclipse Report Designer), WRD (Web based Report Designer), ERE (Eclipse Report Engine) et ECE (Eclipse Charting Engine).
Eclipse Modeling
ce projet contient plusieurs sous projet dont EMF (Eclipse Modeling Framework) et UML2 pour une implémentation d'UML reposant sur EMF
Data Tools Platform (DTP) ce projet a pour but de manipuler des sources de données (bases de données relationnelles)
Device Software Development Platform ce projet a pour but de créer des plug-ins pour faciliter le développement d'applications sur appareils mobiles
Eclipse SOA Tools Platform ce projet a pour but de développer des outils pour faciliter la mise en d'architecture de type SOA

Le site officiel est à l'url www.eclipse.org/

Bien que développé en Java, les performances à l'exécution d'Eclipse sont très bonnes car il n'utilise pas Swing pour l'interface homme-machine mais un toolkit particulier nommé SWT associé à la bibliothèque JFace. SWT (Standard Widget Toolkit) est développé en Java par IBM en utilisant au maximum les composants natifs fournis par le système d'exploitation sous jacent. JFace utilise SWT et propose une API pour faciliter le développement d'interfaces graphiques.

Eclipse ne peut donc fonctionner que sur les plateformes pour lesquelles SWT a été porté.

SWT et JFace sont utilisés par Eclipse pour développer le plan de travail (Workbench) qui organise la structure de la plate-forme et les interactions entre les outils et l'utilisateur. Cette structure repose sur trois concepts : la perspective, la vue et l'éditeur. La perspective regroupe des vues et des éditeurs pour offrir une vision particulière des développements. En standard, Eclipse propose huit perspectives.

Les vues permettent de visualiser et de sélectionner des éléments. Les éditeurs permettent de visualiser et de modifier le contenu d'un élément de l'espace de travail.

La version 3.3 de cet outil est diffusée en juillet 2007.

 

72.1.2. Netbeans

Netbeans est un environnement de développement open source écrit en Java. Le produit est composé d'une partie centrale à laquelle il est possible d'ajouter des modules.

Netbeans est un IDE open source initialement racheté et développé par Sun Microsystems.

Licence : open source
Statut : mises à jour régulières
Site web : www.netbeans.org

Version

Date de diffusion

 

3.5

juin 2003

 

3.6 avril 2004  
4.0 decembre 2004  
4.1 mai 2005  
5.0 janvier 2006  
5.5 octobre 2006  
6.0 décembre 2007  
6.1 avril 2008  
6.5 novembre 2008  
6.7 juin 2009  
6.8 décembre 2009  
6.9 juin 2010  

Netbeans propose des fonctionnalités permettant le développement d'applications standalone (AWT/Swing), web (Servlets, JSP, Struts, JSF), mobile (J2ME) ou d'entreprise (J2EE/JEE).

Il fonctionne sous Windows, Linux, Mac OS X, et Solaris.

Netbeans est modulaire et propose plusieurs plug-ins officiels :

 Mobility Pack Pour le développement d'applications mobiles avec une conception wysiwig. Il existe une version pour le développement avec le profile CLDC/MIPD et un avec le profile CDC
 Visual Web Pack Pour le développement d'applications web avec une conception wysiwig
 Enterprise Pack Pour le développement de service web et de composants pour une architecture de type SOA avec une conception wysiwig
 Profiler Pour profiler une application
 C/C++ Pack Pour le développement d'applications en C/C++

Il existe aussi de nombreux plug-ins développés par des tiers (une liste peut être consultée à l'url www.netbeans.org/catalogue/index.html )

Quelques fonctionnalités de Netbeans sont particulièrement intéressantes :

 

72.1.3. IntelliJ IDEA

IntelliJ IDEA est un IDE développé par JetBrains.

Licence : commerciale, une version gratuite (Community Edition) existe
Statut : mises à jour régulières
Site web : www.jetbrains.com/idea/

Version

Date de diffusion

 

9.0

décembre 2009

 

10.0 décembre 2010  

IntelliJ IDEA est proposé en deux éditions :

IntelliJ est disponible sous Windows, Linux et Mac OS X.

 

72.1.4. Oracle JDeveloper

Jdeveloper est un IDE riche en fonctionnalités qui couvre de nombreux aspect du cycle de vie du développement : modélisation UML, écriture du code, débogage, tests, profiling et déploiement d'applications.

Licence : disponible gratuitement après un enregistrement chez OTN
Statut :
Site web : http://www.oracle.com/technetwork/developer-tools/jdev/overview/index.html

Version

Date de diffusion

 

10.1.2

 

 

10.1.3    
11g avril 2010  

Ecrit en Java, Jdeveloper est disponible sur plusieurs plateformes : Windows, Mac, Linux et plusieurs Unix.

Jdeveloper propose des extensions pour enrichir l'outil en fonctionnalité notamment ceux proposés par des tiers.

Jdeveloper propose bien sûre une intégration facilitée de plusieurs produits d'Oracle notamment la base de données et le serveur d'application et surtout une forte intégration et une mise en oeuvre d'Oracle ADF.

JDeveloper version 10.1.2

Cette version propose de nombreuses fonctionnalités dont voici quelques unes des plus intéressantes :

JDeveloper version 10.1.3

La version 10.1.3.2 apporte de nombreuses fonctionnalités et améliorations par rapport à la version précédente dont voici quelques unes des principales :

Jdeveloper 10.1.3 est proposé en trois versions :

Jdeveloper est particulièrement intéressant pour mettre en oeuvre le framework Oracle ADF.

 

72.1.5. IBM Rational Application Developer for WebSphere Software

Rational Application Developer for WebSphere Software repose sur la version 3.2 d'Eclipse et propose le développement d'applications web et portail ou d'entreprise ou standalone, de services web pour mettre en oeuvre une SOA. Cet outil s'intègre parfaitement avec les outils IBM et Rational.

Licence : commerciale
Statut :
Site web : http://www-01.ibm.com/software/awdtools/developer/application/

Version

Date de diffusion

 

8.0

 

 

 

72.1.6. MyEclipse

MyEclipse est un IDE basé sur Eclipse développé par Genuitec.

Licence : commerciale
Statut :
Site web : www.myeclipseide.com/

Version

Date de diffusion

 

5.1

 

 

7.0    
7.1 avril 2009  
7.5 juin 2009  
8.0 novembre 2009  
8.6 novembre 2010  

MyEclipse regroupe de nombreux plug-ins dont certains sont inédits comme par exemple le portage de Matisse de NetBeans sur Eclipse.

 

72.1.7. IBM Websphere Studio Application Developper

Websphere Studio Application Developper (WSAD) représente le nouvel outil de développement d'applications Java/web d'IBM. Il représente une fusion de nombreuses fonctionnalités des outils Visual Age for Java et Websphere Studio. Le coeur de l'outil est composé par Websphere Studio Workbench dont une partie du code a été fournie à la communauté open source pour devenir le projet Eclipse.

Licence : commerciale
Statut : remplacé par le produit Rational Application Developer for WebSphere Software
Site web : www-4.ibm.com/software/ad/studioappdev/

Version

Date de diffusion

 

4.0

 

orienté développement Java/web : il ne permet pas de développement d'applications graphiques en mode RAD.

 

72.1.8. Sun Java Studio Creator

L'environnement de développement intégré Java Studio Creator de Sun permet de générer des applications Web à l'aide de la technologie Java notamment avec les Java ServerFaces et les portlets.

Licence : gratuit
Statut : remplacé par NetBeans
Site web :

Version

Date de diffusion

 

 

 

 


Sun Java Studio Creator version 1.0

 Cette première version de l'outil est payante. C'est un des premiers outil à exploiter les possibilités pour faciliter la mise en oeuvre des JSF dans un outil graphique.

Sun Java Studio Creator version 2.0

Cette seconde version est téléchargeable gratuitement après une inscription au SDN (Sun Developer Network).


Java Studio Creator 2 utilise Netbeans 4.1 comme base. Le package d'installation contient un JDK, le serveur d'application Sun Java System Application Server 8.x et une base de données

 

72.1.9. Embarcadero (Borland/CodeGear) JBuilder

Borland est spécialisé depuis des années dans la création d'outils de développement possédant une excellente réputation. Ainsi Jbuilder est un IDE ergonomique qui génère un code "propre". Depuis sa version 3.5, JBuilder est écrit en Java ce qui lui permet de s'exécuter sans difficulté sur plusieurs plateformes notamment Windows, Linux ou Solaris.

Licence : commercial, une version (foundation) téléchargeable gratuitement
Statut :
Site web : http://www.embarcadero.com/products/jbuilder

Version

Date de diffusion

 

2006

 

existe en plusieurs éditions :

  • foundation : téléchargeable gratuitement
  • developer
  • entreprise

2007

 

basée sur Eclipse, maintenue et diffusée par sa filiale CodeGear
existe plusieurs éditions :

  • JBuilder Foundation 2007 (téléchargeable gratuitement après enregistrement)
  • JBuilder Developper 2007
  • JBuilder Professional 2007
  • Jbuilder Enterprise 2007
2008 avril 2008  
2008 R2 avril 2009  

Le produit dispose de nombreuses caractéristiques qui facilitent le travail du développeur : la technologie CodeInsight facilite grandement l'écriture du code dans l'éditeur, de nombreux assistants facilitent la génération de code ...

 

72.1.10. JCreator

JCreator est un IDE développé par Xinox particulièrement rapide car il est écrit en code natif.

Licence : commerciale, une version gratuite (LE) est téléchargeable
Statut :
Site web : www.jcreator.com

Version

Date de diffusion

 

3.5

décembre 2004

 

4.0

mai 2006

Il existe deux éditions :

  • La version LE : téléchargeable gratuitement
  • La version Pro : payante
4.5 aout 2007  
5.0 mars 2010  

 

72.1.11. BEA Workshop

BEA Workshop est une famille d'IDE développée par BEA qui utilise Eclipse comme base.

Licence :
Statut :
Site web : www.bea.com/framework.jsp?CNT=index.htm&FP=/content/products/workshop/

Version

Date de diffusion

 

 

 

 


Il existe plusieurs éditions :

 

72.1.12. IBM Visual Age for Java

IBM proposait une famille d'outils pour le développement avec différents langages dont une version dédiée à Java.

VAJ n'est plus supporté par IBM : il est remplacé par la famille d'outils Websphere Studio Application Developper.

Visual Age for Java (VAJ) était un outil novateur dans son ergonomie et son utilisation qui étaient complètement différentes des autres EDI. Les débuts de son utilisation étaient parfois déroutants mais une persévérance permettait de révéler toute sa puissance.

http://www-4.ibm.com/software/ad/vajava/

La fenêtre principale (plan de travail) est séparée en deux parties :

Par défaut le code est éditable par méthode mais depuis la version 3.5, il est toutefois possible de visualiser le code source complet mais les opérations réalisables dans ce mode sont moins nombreuses.

VAJ possédait plusieurs points forts : le regroupement de toutes les classes et leur organisation dans l'espace de travail, la compilation incrémentale à l'écriture et au débogage, le travail collaboratif avec le contrôle de version dans un référentiel (repository). Tous ces points facilitaient le développement de gros projets.

VAJ était un outil puissant particulièrement adapté aux utilisateurs chevronnés pour de gros projets.

 

72.1.13. Webgain Visual Café

Webgain Studio proposait un ensemble d'outils (Visual Café, Dreamweaver Ultradev, Top link, Structure Builder, Weblogic) pour la création d'applications e-business. Visual Café a été un des premier IDE de développement en Java. Visual Café existait en trois versions : standard, expert et entreprise suite.

Malheureusement cet outil n'est plus disponible.

 

72.2. Les serveurs d'application

Les serveurs d'applications sont des outils qui permettent l'exécution de composants Java côté serveur (servlets, JSP, EJB, ... ) selon les spécifications de la plate-forme J2EE/Java EE.

 

72.2.1. JBoss Application Server

JBoss est un projet open source développé en Java pour fournir un serveur d'applications certifié Java EE.


Licence : open source, commerciale avec support
Statut : actif
Site web : www.jboss.org

Version

Date de diffusion

 

4.0   certifié J2EE 1.4

4.2

 

support EJB 3.0

5.0 GA décembre 2008  
5.1 GA mai 2009 certifié Java EE 5
6.0 décembre 2010  

JBoss est composé d'un ensemble d'outils : JBoss Server, JBoss MQ (implémentation de JMS), JBoss MX, JBoss TX (implémentation de JTA/JTS), JBoss SX , JBoss CX et JBoss CMP.

 

72.2.2. JOnAs

 JOnAS (Java Open Application Server) est un projet open source développé par le consortium ObjectWeb (Bull, INRIA, Thales, France Telecom, Red Hat, Mandriva, ...) dont le but est de proposer un serveur d'application J2EE. Il se compose de nombreux éléments open source tel que JOTM pour le support des transactions, JORAM pour l'implémentation de JMS, Tomcat ou Jetty comme conteneur Web, Speedo pour l'implémentation JDO, ...

Licence : open source
Statut : actif
Site web : jonas.objectweb.org/index.html

Version

Date de diffusion

 

2.3.1

février 2005

certifié J2EE 1.4.

5.1 mars 2009 certifié Java EE 5
5.1.4 novembre 2010  

 

72.2.3. GlassFish

 Le projet GlassFish est un projet communautaire dont le but est de développer un serveur d'application open source qui implémente les spécifications de Java EE 5. Il doit devenir l'implémentation de référence de ces spécifications. Un blog nommé The Aquarium permet d'obtenir des informations sur le projet GlassFish

Licence : open source, commercial avec support
Statut : actif
Site web : GlassFish project web site

Version

Date de diffusion

 

 

mai 2006

support Java EE 5

2.0 septembre 2007  
2.1 janvier 2009  
3.0 décembre 2009 implémentation de référence de Java EE 6
3.0.1 juin 2010  

Sun propose le serveur d'application Java System Application Server Platform Edition 9 qui implémente les spécifications de Java EE 5. Ce serveur gratuit est basé sur le projet GlassFish. Il peut être téléchargé dans une archive avec le SDK.

 

72.2.4. IBM Websphere Application Server

 Websphere Application Server (WAS) est le serveur d'application de la famille d'outils Websphere. Il permet le déploiement de composants Java orienté entreprise.

Licence : commerciale
Statut :
Site web : http://www-306.ibm.com/software/webservers/appserv/was/

Version

Date de diffusion

 

3.5 aout 2000

support J2EE 1.2, requiert Java SE 1.2

3 éditions sont proposées :

  • SE (Standard Edition)
  • AE (Advanced Edition)
  • EE (Enterprise Edition)
4 aout 2001

certifié J2EE 1.2, requiert Java SE 1.3

Elle permet la mise en oeuvre des servlets, JSP, EJB et services Web (SOAP, UDDI, WSDL, XML). Cette version est proposée en 4 éditions qui supportent tout ou partie de ces composants :

  • Standard Edition : pour les applications web utilisant des serlets, des JSP et XML
  • Advanced Edition: supporte en plus les EJB, la répartition de charges sur plusieurs machines
  • Advanced Single Server Edition : supporte toute les API J2EE mais uniquement sur une seule machine. Cette version ne peut pas être utilisée en production.
  • Enterprise Edition : supporte en plus CORBA et la connexion aux ressources de l'entreprise

5

janvier 2003

certifiée J2EE 1.3

plusieurs versions sont proposées :

  • Express Edition
  • Enterprise Edition
5.1 janvier 2004 requiert Java SE 1.4
6 décembre 2004

certifiée J2EE 1.4

Plusieurs versions sont proposées dont la Community Edition (gratuite) basée sur Apache Geronimo et une version pour z/OS

support EJB 3.0

6.1 juin 2006 requiet Java SE 5
7 septembre 2008

certifié Java EE 5, requiert Java SE 6


72.2.5. BEA) Weblogic

 Weblogic est une famille de produit proposé par BEA. Weblogic Server est un des leaders mondial des serveurs d'applications commerciaux. Weblogic a été racheté par Oracle.

Licence : commerciale
Statut :
Site web : http://fr.bea.com/produits/index.jsp

Version

Date de diffusion

 

6.0 mars 2001  
7.0 juin 2002 support J2EE 1.3
8.1 juillet 2003  
9.0 novembre 2006 support J2EE 1.4
10.0 mars 2007 support Java EE 5
10.3 aout 2008  
11g (10.3.1) juillet 2009  
11g R1 (10.3.2) novembre 2009  

11g R1 (10.3.)

avril 2010

 

 

72.2.6. Oracle Application Server

 Oracle propose un serveur d'applications certifié Java EE.

Licence : commerciale
Statut :
Site web : http://www.oracle.com/us/products/middleware/application-server/enterprise-edition/index.html

Version

Date de diffusion

 

10g

 

 

11g    

 

72.2.7. Macromedia) JRun

 JRun est l'implémentation d'un serveur d'applications de Macromedia.

Licence : commerciale
Statut : ce produit n'est plus maitenu depuis 2007
Site web : http://www.adobe.com/products/jrun/

Version

Date de diffusion

 

4

 

certifié J2EE 1.3

 

72.3. Les conteneurs web

Les conteneurs web sont des applications qui permettent d'exécuter du code Java utilisé pour définir des servlets et des JSP.

 

72.3.1. Apache Tomcat

 Tomcat est un conteneur d'applications web (servlets et JSP) développé par la fondation Apache. C'est l'implémentation de référence pour les API servlets et JSP : il est donc pleinement compatible avec les spécifications J2EE de ces API.

http://jakarta.apache.org/tomcat/

L'utilisation de Tomcat est détaillée dans le chapitre «Tomcat».

 

72.3.2. Caucho Resin

Resin est un moteur de servlet et de JSP qui intègre un serveur web.

http://www.caucho.com/

 

72.3.3. Enhydra

 Enhydra est un projet open source, initialement créé par Lutris technologies, pour développer un conteneur web pour Servlets et JSP. Il fourni en plus quelques fonctionnalités supplémentaires pour utiliser XML, mapper des données avec des objets et gérer un pool de connexion vers des bases de données

http://enhydra.enhydra.org/

 

72.4. Les conteneurs d'EJB

Les conteneurs d'EJB sont des applications qui fournissent un environnement d'exécution pour les EJB.

 

72.4.1. OpenEJB

OpenEJB est un projet open source pour développer un conteneur d'EJB qui respecte les spécifications 2.0 des EJB. La version 1.0 est distribuée en février 2006.

Le site du projet est l'url www.openejb.org/

 

72.5. Les outils divers

 

72.5.1. Jikes

Jikes est un compilateur Java open source écrit par IBM en code natif pour Windows et Linux. Son exécution est donc extrêmement rapide d'autant plus lorsqu'il s'agit de très gros projets sur une machine peu véloce.

La page de l'outil est à l'url www10.software.ibm.com/developerworks/opensource/jikes/

Pour utiliser Jikes, il suffit de décompresser l'archive et de mettre le fichier exécutable dans un répertoire inclus dans le CLASSPATH. Enfin, il faut déclarer une variable système JIKESPATH qui doit contenir les différents répertoires contenant les classes et les jars notamment le fichier rt.jar du JRE.

 

72.5.2. GNU Compiler for Java

GCJ GCJ fait parti du projet GCC (GNU Compiler Collection). Le projet GCC propose un compilateur pour plusieurs langages (C, C++, Objective C, Java ...) permettant de produire un exécutable pour plusieurs plateformes.

GCJ est donc un font-end pour utiliser GCC à partir de code Java. Il permet notamment de :

Pour un exécutable, le fichier final est lié avec une bibliothèque dédiée nommée libgcj qui contient entre autre les classes de bases et le ramasse miette.

La plupart des API de la plate-forme Java 2 sont supportées à  l'exception notable de la bibliothèque AWT. Pour obtenir plus d'information sur la compatibilité, il suffit de consulter la page gcc.gnu.org/java/status.html

Son utilisation sous Windows nécessite un environnement particulier : CygWin ou MinGW (ce dernier étant retenu dans la suite de cette section).

Téléchargez sur le site www.mingw.org/download.shtml les fichiers : MinGW-3.1.0-1.exe (14,5 Mo) et MSYS-1.0.9.exe (2,7 Mo). (les noms de fichiers indiqués correspondent à la version courante au moment de l'écriture de cette section).

Lancez le programme MinGW-3.1.0-1.exe

Le programme d'installation se lance et demande une confirmation de l'installation : cliquer sur « Oui ». Un assistant permet de guider les différentes étapes de l'installation :

Lancez le programme MSYS-1.0.9.exe

Le programme d'installation se lance et demande une confirmation de l'installation : cliquer sur « Oui ». Un assistant permet de guider les différentes étapes de l'installation :

Exemple :
C:\MinGW\msys\1.0\postinstall>..\bin\sh.exe pi.sh 
This is a post install process that will try to normalize between 
your MinGW install if any as well as your previous MSYS installs 
if any.  I don't have any traps as aborts will not hurt anything. 
Do you wish to continue with the post install? [yn ] y 
Do you have MinGW installed? [yn ] y 
Please answer the following in the form of c:/foo/bar. 
Where is your MinGW installation? c:/Mingw 
Creating /etc/fstab with mingw mount bindings. 
        Normalizing your MSYS environment. 
You have script /bin/awk 
You have script /bin/cmd 
You have script /bin/echo 
You have script /bin/egrep 
You have script /bin/ex 
You have script /bin/fgrep 
You have script /bin/printf 
You have script /bin/pwd 
You have script /bin/rvi 
You have script /bin/rview 
You have script /bin/rvim 
You have script /bin/vi 
You have script /bin/view 
Oh joy, you do not have c:/Mingw/bin/make.exe. Keep it that way. 
C:\MinGW\msys\1.0\postinstall>pause 
Appuyez sur une touche pour continuer... 

Remarque : il est fortement recommandé de ne pas utiliser d'espace dans les noms des répertoires d'installation de MinGW et de MSYS.

Il faut pour plus de facilité d'utilisation ajouter à la variable PATH de l'environnement système les répertoires C:\MinGW\bin et C:\MinGW\msys\1.0\bin.

La version de GCC fournie avec MinGW précédemment installé est la 3.2. Pour utiliser GCJ, il faut utiliser la 3.3 et donc opérer une mise à jour.

Il faut télécharger les fichiers gcc-core-3.3.1-20030804-1.tar.gz, gcc-g++-3.3.1-20030804-1.tar.gz  et gcc-java-3.3.1-20030804-1.tar.gz, les décompresser et extraire l'image tar dans le répertoire c:\MinGW.

Remarque : en standard aucun outil ne permet de traiter des fichiers gz et tar. Il faut utiliser un outil tiers.

Pour s'assurer de la bonne installation, il suffit d'ouvrir une boite Dos et d'exécuter la commande gcj. Le message suivant doit apparaître : gcj: no input files

Voici un petit exemple très simple de mise en oeuvre de GCJ.

Exemple du code à compiler :
public class Bonjour {
            public static void main(String[] args) {
                        System.out.println("Bonjour");
            }
}

Exemple de compilation et d'exécution :
D:\java\test\gcj>gcj -o Bonjour Bonjour.java -O --main=Bonjour
D:\java\test\gcj>dir
 Le volume dans le lecteur D s'appelle DATA 
 Le numéro de série du volume est 34B2-159D 
 Répertoire de D:\java\test\gcj 
01/12/2003  15:19       <DIR>          . 
01/12/2003  15:19       <DIR>          .. 
01/12/2003  15:19            2 747 919 Bonjour.exe 
01/12/2003  15:17                  108 Bonjour.java 
01/12/2003  14:07                  141 Bonjour.java.bak 
               4 fichier(s)        5 496 087 octets 
               2 Rép(s)     560 402 432 octets libres 
D:\java\test\gcj>bonjour 
Bonjour 
D:\java\test\gcj>

L'option -o permet de préciser le nom du fichier final généré.

L'option -main= permet de préciser la classe qui contient la méthode main() à lancer par l'exécutable.

GCJ peut être utilisé pour compiler le code source en byte-code grâce à l'option -C.

Exemple :
D:\java\test\gcj>gcj -C Bonjour.java
D:\java\test\gcj>dir
 Le volume dans le lecteur D s'appelle DATA 
 Le numéro de série du volume est 34B2-159D 
 Répertoire de D:\java\test\gcj 
01/12/2003  15:29       <DIR>          . 
01/12/2003  15:29       <DIR>          .. 
01/12/2003  15:29                  389 Bonjour.class 
01/12/2003  15:19            2 747 919 Bonjour.exe 
01/12/2003  15:17                  108 Bonjour.java 
               4 fichier(s)        2 748 557 octets

Le byte généré est légèrement plus compact que celui généré par la commande javac du jdk 1.4.1

Exemple :
D:\java\test\gcj>javac Bonjour.java
D:\java\test\gcj>dir
 Le volume dans le lecteur D s'appelle DATA
 Le numéro de série du volume est 34B2-159D
 Répertoire de D:\java\test\gcj
01/12/2003  15:29       <DIR>          .
01/12/2003  15:29       <DIR>          ..
01/12/2003  15:31                  405 Bonjour.class
01/12/2003  15:19            2 747 919 Bonjour.exe
01/12/2003  15:17                  108 Bonjour.java
               4 fichier(s)        2 748 573 octets

L'option -d permet de préciser un répertoire qui va contenir les fichiers .class généré par l'option -C.

 

72.5.3. Artistic Style

Artistic Style est un outil open source qui permet d'indenter et de formater un code source C, C++ et java

Le site du projet est à l'url http://sourceforge.net/projects/astyle/

Cet outil possède de nombreuses options de formatage de fichiers source. Les options les plus courantes pour un code source java sont :

astyle -jp --style=java nomDuFichier.java

Par défaut, l'outil conserve le fichier original en le suffixant par .orig.

 

72.6. Les MOM

Les Middleware Oriented Message sont des outils qui permettent l'échange de messages entre des composants d'une application ou entre applications. Pour pouvoir les utiliser avec Java, ils doivent implémenter l'API JMS (Java Messaging Service).

 

72.6.1. Apache ActiveMQ

ActiveMQ est un projet de la foundation Apache qui propose une implémentation d'un broker JMS respectant la version 1.1 des spécifications.

Licence : open source (licence Apache 2.0)
Statut :
Site web : http://activemq.apache.org/

Il n'est obligatoirement de déclarer les queues utilisées dans la configuration : ActiveMQ créé automatiquement les queues qui sont utilisées.

La gestion et le monitoring d'ActiveMQ se fait grâce à JMX.

Des clients utilisant différents langages (.Net, Delphi, C/C++; ...) peuvent accéder à ActiveMQ via son support de différents protocoles.

 

72.6.2. OpenJMS

OpenJMS est une implémentation Open Source des spécifications JMS


Le site officiel du projet est à l'url http://openjms.sourceforge.net/

Pour utiliser OpenJMS, il faut télécharger l'archive qui contient OpenJMS : par exemple fichier openjms-0.7.7-beta-1.zip

Pour installer OpenJMS, il suffit de décompresser le fichier zip téléchargé dans un répertoire du système.

Exemple :
C:\java>jar xvf openjms-0.7.7-beta-1.zip

La décompression créé un répertoire nommé openjms-0.7.7-beta-1

Pour démarrer et arrêter le serveur, il faut utiliser respectivement les scripts startup et shutdown du sous répertoire bin du répertoire d'installation.

Pour lancer la console d'administration, il faut utiliser le script admin

Cliquez sur « Actions / Connections / OnLine »

Il est alors possible d'écrire une application qui utiliser JMS et les queues, par exemple l'application TestOpenJMS1 fournie dans le chapitre sur «JMS (Java Messaging Service)».

Les paramètres JNDI peuvent être fournis dans un fichier de configuration nommé jndi.properties

Exemple : jndi.properties
java.naming.provider.url=tcp://localhost:3035
java.naming.factory.initial=org.exolab.jms.jndi.InitialContextFactory
java.naming.security.principal=admin
java.naming.security.credentials=openjms

Dans la console d'administration, cliquez sur « Actions / Refresh »

La configuration des queues est stockée dans le fichier openjms.xml. La console d'administration permet de gérer les destinations (ajout, suppression, ...)

 

72.6.3. Joram

Joram est l'acronyme de Java Open Reliable Asynchronous Messaging. C'est une implémentation open source des spécifications JMS 1.1.

La page officiel de cet outil est à l'url http://www.objectweb.org/joram/

 

72.6.4. OSMQ

 Open Source Message Queue (OSMQ) est un middleware orienté message développé en open source par Boston System Group.

Le site de ce produit est à l'url http://www.osmq.org/

 

72.7. Les outils concernant les bases de données

 

72.7.1. Derby

 Derby est un SGBDR open source écrit en Java et maintenu le projet Apache.

Historiquement, c'est un produit développé par Cloudscape acquis par IBM (lors de son rachat d'Informix) qui en a fait dont à la fondation Apache.

Derby est aussi intégré dans des produits de Sun notamment le JDK 6.0 et GlassFish sous le nom Java DB

Le site officiel est à l'url http://db.apache.org/derby/

 

72.7.2. SQuirrel-SQL

Squirrel-SQL est un client SQL open source écrit en Java. Il permet au travers d'une interface graphique de consulter et de manipuler une base de données pourvue d'un pilote JDBC.

Le site de l'outil est à l'url  : http://squirrel-sql.sourceforge.net/

L'éditeur SQL propose une complétion de code (nom de table, de colonnes, ...).

Les données sont éditables dans l'interface graphique.

SQuirrel est extensible au travers de plug-in dont plusieurs sont fournis par défaut.

Pour installer Squirrel il faut télécharger le fichier squirrel-sql-<version>-install.jar qui est un setup d'installation au format IzPack.

Pour l'exécuter l'installation il faut exécuter :

   java -jar squirrel-sql-<version>-install.jar

 

72.8. Les outils de modélisation UML

 

72.8.1. Argo UML

Argo UML est un projet open source écrit en java qui vise à développer un outil de modélisation UML 1.1. Il est possible de créer des diagrammes UML et de générer le code Java correspondant aux diagrammes de classes. Une option permet de créer les diagrammes de classes à partir du code source java.

http://argouml.tigris.org/

Cet outil n'est pas encore en version finale mais la version 0.9.5 offre de nombreuses fonctionnalités.

 

72.8.2. Poseidon for UML

http://gentleware.com/index.php

Plusieurs éditions de Poseidon for UML sont proposées dont la version community edition qui est disponible gratuitement.

La version 4.1 propose de nombreuses fonctionnalités dont le respect de la version UML 2.0

 

72.8.3. StarUML

 

StarUML est historiquement un produit commercial nommé Plastic puis Agora Plastic qui est devenu un projet open source (licence GPL) en 2005 renommé en StarUML.

Le site officiel de StarUML est à l'url http://www.staruml.com/


Il ne fonctionne que sous Windows mais la version 5.0 propose des fonctionnalités intéressantes :

 


  71. JavaDoc 73. Ant Imprimer Sommaire Consulter avec table des matières Développons en Java   v 1.60  
Copyright (C) 1999-2011 Jean-Michel DOUDOUX