Les logiciels d’Apache

Le plus connu des projets d’Apache est bien entendu son serveur web très répandu sur Unix/Linux et son serveur de servlets Tomcat pour les applications web. Cette fondation possède aussi d’autres projets et je vais vous faire part de quelques-uns.

  • ActiveMQ: Pour envoyer des messages dans une queue. Une fois un message dans une queue, il est certain qu’il se rendra à destination. Il est aussi possible d’avoir plusieurs consommateurs sur une même queue pour ainsi distribuer le travail. Peut rouler sur un processus indépendant ou directement dans l’application Java. Implémente l’API JMS.
  • Ant: C’est un makefile pour Java ou si vous préférez, une façon de définir les tâches à faire pour compiler un projet Java.
  • Cayenne: Une librairie Java pour rendre des objets persistants dans une base de données. Il peut aussi mettre en tampon les objets pour éviter de trop communiquer avec la BD. Il vient avec des outils pour créer des tables à partir d’objets ou l’inverse.
  • Commons: Une série de librairies Java de fonctionnalités souvent utilisées dans des applications. Voici quelques-unes: envoyer des emails, lire une ligne de commande, encoder en base64, compression, servlet pour téléverser des fichiers, logging, images, système de fichiers virtuels pour traiter FTP/SMB/Zip/…, accéder aux protocoles réseaux FTP/POP3/NNTP/Whois/…, mathématique, gestionnaire de cache, …
  • Continuum: Pour créer un serveur de build qui va toujours vérifier si la dernière version est compilable. Très complet pour les gestionnaires de source, les notifications et même la distribution des builds.
  • CXF: Pour facilement créer un backend Java qui supporte plusieurs standards autant au niveau du transport (tcp, http) que du type de message (SOAP, JAX-RS, JAX-WS).
  • Derby: Une base de données Java qui peut être incorporée directement dans un logiciel ou encore qui roule comme serveur. Il ne prend que 2 Mo d’espace.
  • Hadoop: Pour faire des applications distribuées. Bases de données, système de fichiers, coordination et plus.
  • James: Serveur d’email et newgroup. Il est possible d’incorporer des modules dedans.
  • Lenya: Un CMS (Content Management System) fait en Java. Donc un Joomla ou Drupal, mais en Java.
  • Lucene: Un engin de recherche.
  • Maven: Pour gérer les codes sources, la documentation et les builds.
  • PDFBox: Librairie Java pour éditer, créer et convertir des PDF.
  • POI: Librairie Java pour éditer et créer des fichiers Word, Excel et Powerpoint.
  • Roller: Un blog multi-utilisateurs et multi-projets fait en Java. Supporte tous les containers Java EE (tel Tomcat) et toutes les bases de données (MySQL, Derby, …)
  • SpamAssassin: Pour aider à éliminer le SPAM. Fait pour les serveurs d’email.