Conseil en architecture et développement Java JEE

Technologies utilisées

Frameworks Java

Spring
Au delà des gains de l'IoC et de l'AOP, ce conteneur léger permet surtout d'adopter les bonnes pratiques et les bons reflexes pour une architecture logicielle optimale.
Hibernate
Que dire de plus sur ce framework de persistance très largement déployé si ce n'est que nous l'utilisons avec succès depuis ses premières versions. Derrière Hibernate se cache souvent un framework de cache comme par exemple EHCache ou Terracotta pour des applications distribuées.
Wicket
Découvert récemment, ce framework de développement web tout nouveau nous enchante véritablement. Contrairement aux autres frameworks (Struts, JSF, Tapestry, Velocity, etc.), le HTML n'est pas pollué par une tag soup très difficile à aborder pour les graphistes. Le développement de la structure de page est entièrement en Java et se rapproche de la programmation d'interface par composant (type Swing), ce qui facilite considérablement le débugage.
Ajax DWR
Notre framework Ajax préféré pour tranformer des méthodes Java en web services Javascript évolués.
Spring Batch & Quartz
Deux solutions complémentaires pour réaliser des traitements périodiques et planifiés. Le premier très complet permet entre autre de définir des scénarios de reprise en cas de coupure du traitement. Le second, simple à mettre en oeuvre, intégrable avec Spring, offrira une solution robuste pour vos traitements planifiés
Axis
Le framework historique pour les web services SOAP
CeltiXFire (CXF)
Issu de la fusion des projets Celtix et XFire, Apache CXF est un framework de web services SOAP très performant.
Mina
Pour la réalisation d'un serveur TCP ou UDP, Mina permet de développer rapidement des solutions robustes.
JasperReport
Ce framework permet de réaliser de la fusion de données pour la génération de rapports sous toutes ses formes (PDF, txt, xls, csv, ...). La création des templates de rapport est assurée par l'outil iReport.
Displaytag
Ce framework permet des réaliser des éditions web performantes de tableau (tri, pagination) avec possibilité d'export des tableaux en XLS, CSV, etc. Cette solution est intéressante lorsque la solution JasperReport s'avère trop lourde à mettre en place.

Frameworks et outils de test

JUnit
Un standard pour les test unitaires Java.
Selenium IDE et Selenium RC
Très puissant pour les tests d'interfaces web.
JMeter
Nous avons réalisé des plans de test de charge avec JMeter. Il est aussi possible de rejouer des logs ou de tester des web services.
SoapUI
Outil très complet avec interface graphique pour le développement et les tests de web services.

Outils de développement, intégration continue

Eclipse
Notre IDE Java de prédilection.
maven
Nous compilons, faisons le packaging, les tests et le déploiement avec Maven.
Jenkins (anciennement Hudson)
Ce serveur d'intégration continue est une merveille car très flexible. De nombreux plugins existent pour étendre les fonctionnalités. Avec quelques plugins de base (comme notamment l'exécution d'un script shell post-build) on peut très facilement industrialiser un packaging d'application, le lancement des tests et son déploiement.
Jenkins est le fork réalisé par la communauté elle-même pour échapper à Oracle qui ne voulait pas que le projet aille sur GitHub. Plus de détails sur le fork Jenkins .
iReport (Jasper)
Cet outil WYSIWIG permet de concevoir des templates de rapports qui alimenteront le framework JasperReport.

Bases de données

PostgreSQL 8 et 9.0.2
Nous avons migré toutes nos bases de données en interne sous PostgreSQL 8 avec satisfaction. Sa maturité en terme de fonctionnalités et de sécurité en fait une solution alternative de choix. La version 9.0.2 devient un candidat sérieux, notamment avec les possibilités accrues pour le clustering.
Oracle 10g
Utilisée par la plupart de nos clients, tous nos consultants pratiquent sur cette base de données.

SIG, cartographie, géolocalisation, géocodage

GPS, A-GPS (assisted GPS)
PostgreSQL + PostGIS
Oracle Spatial et Network Modeling API
Une couche géographique permettant de s'interfacer avec des logiciels cartographiques comme ArcView, Mappinfo, Geomap etc. Quant à l'API de calcul d'itinéraire, elle est passablement bugguée et les fonctionnalités ne sont pas au rendez-vous. Si c'était à refaire, Oracle pourrait mieux faire. On peut dire qu'Oracle a sorti ce produit parce-qu'il en fallait un pour sa panoplie d'arguments commerciaux...
Mapinfo / Mapbasic
SIG bureautique permettant l'édition de données géographiques. On le couple souvent avec la base de données Oracle Spatial. Mapbasic est un langage de script SIG qui permet d'étendre les fonctionnalités de Mapinfo.
Intégration web services cartographiques Mappy, Via Michelin, GoogleMaps
Depuis 2004, nous pratiquons l'intégration des web services de cartographie dans les applications web avec Ajax.

Serveurs d'application Java J2EE

Tomcat
La dernière version 6 permet un déploiement multi-instance encore plus simple qu'avant et qui facilite le déploiement et la migration des applications. Quand les EJB s'avèrent adaptés, il est toujours possible d'ajouter OpenEJB dans Tomcat pour qu'il devienne comme les plus grands serveurs du marché.
Jetty
Un serveur d'application Java léger, qui permet d'accélérer les développements avec le plugin maven.
JBoss
Quand les EJB, certaines fonctionnalités ou le support sont nécessaires, JBoss s'avère être une solution intéressante.

Systèmes d'exploitation

Linux
Nous préconisons la distribution Debian pour la souplesse d'utilisation, la richesse des packages disponibles. Cependant, nous rencontrons couramment des serveurs Linux Ubuntu ou Redhat ou Mandriva. Notre culture *NIX like system nous permet de nous adapter sur d'autre systèmes Unix.
OpenBSD
La très bonne réputation de cet OS en terme de sécurité en fait un candidat de choix pour prendre en charge tous les services réseau bas niveau (firewall, load-balancer, DNS, DHCP, gateway 6to4, etc.)

Openfarm SARL au capital de 15 000€ – 452 656 309 R.C.S Paris – FR 76 452 656 309 00021 - Siège social : 3 rue Morand 75011 PARIS

XHTML Valide!   CSS Valide !