< Développer en Java

En tant que développeur Java, vous devez savoir où vous fournir en bibliothèques.

Le projet Apache

L'objectif du projet Apache est de délivrer des briques logicielles open-source développées de façon communautaire. Toutes ces briques sont mises à disposition selon la licence Apache. Il s'agit notamment de fournir des implémentations de JSR.

Apache Commons

Apache Commons vise à étendre le JDK en fournissant la plupart du temps des lots de classes utilitaires regroupant des extraits de codes fréquemment utilisés.

Remarquons notamment :

BeanUtils 
Manipulation de JavaBeans ;
CLI 
Manipulation d'arguments passés en ligne de commande ;
Codec 
Différents algorithmes de codage (base64, URL…) ;
Collections 
Manipulation des collections ;
Daemon 
Intégration avec les services Windows ou les daemon UNIX. Il s'agit de permettre à une application Java censée fonctionner en permanence sur un système de s'intégrer à la gestion des services pour démarrer ou s'arrêter en même temps que l'OS ;
FileUpload 
Upload pour les applications Web basée sur Servlet.
I/O 
Manipulation des flux d'entrés/sorties ;
Logging 
Une API d'abstraction au dessus des différentes bibliothèques de journalisation ;
Math 
Mathématiques ;
Primitives 
Fournit notamment des implémentations des collections disponibles dans le JDK mais permettant de stocker des types primitifs ;
VFS 
Une API pour les système de fichiers virtuels (FTP, archives zip).

Apache Lucene

Ce projet tourne autour des problématiques de recherche

Apache Hadoop

Hadoop est un projet ombrelle spécialisé dans le calcul distribué.

Apache extras

En partenariat avec Google Code, cette forge, dissociée de celle de la fondation Apache, vise à accueillir des projets liés aux projets Apache mais qui ne peuvent y être mêlé pour des raisons diverses. Par exemple, il peut s'agir de projets qui ne peuvent être sous licence Apache.

Autres projets Apache

Les projets Apache sont nombreux et concernent différents domaines d'application :

Construction de projets 
Ant, Maven, BuildR, Ivy
Frameworks Web 
Struts, Tapestry, Turbine, Stripes, Wicket, Click
Bases de données 
Cassandra, Derby
Serveurs d'applications JEE et composants 
Tomcat, OpenEJB, OpenJPA

JBoss

Le serveur d'application WildFly (anciennement JBoss) 
parmi les serveurs d'application JEE les plus utilisés ;
Hibernate 
solution de mapping objet-relationnel très plébiscitée

CodeHaus

Codehaus n'héberge que des projets sous licence open-sources (Apache notamment). Avant d'être accueillis, chaque projet doit avoir une base de code solide. Codehaus héberge plusieurs projets autour de Java.

Google

Java est un des langages utilisés chez Google qui propose certains de ses outils, notamment

Google Web Toolkit 
Framework RIA pour le web. Les interfaces, écrites en Java sont compilées en JavaScript pour être interprétées par le navigateur ;
Google Guice 
Un moteur d'injection de dépendances, à l'origine d'une spécification ;
Guava 
Extension de l'API du JDK, à la manière de Apache Commons ;
Android 
Système d'exploitation pour périphériques mobiles (téléphones, tablettes) basé sur Linux et dont l'API permet de développer des applications embarquées en Java ;
Google App Engine 
Ce n'est pas une bibliothèque ni un outil mis à disposition par Google mais une plate-forme de cloud-computing capable d'accueillir des applications Java.

S'ajoute à cela les nombreux projets hébergés sur la forge de Google.

Le consortium OW2

Ce consortium s'intéresse plus particulièrement aux intergiciels (middleware), mais regroupent plusieurs projets open-source.

Le « Java Community Process » (JCP)

Les « Java Specification Requests » (JSR)

Cet article est issu de Wikibooks. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.