Le principe de décomposition n-tier est acquis depuis nombre d'années.
Mais chacun l'utilise et l'adapte parfois 'à sa sauce', et ce phénomène est amplifié par les possibilités d'ouverture et interopérabilité désormais acquises sur la plupart des infrastructures serveurs d'application.
Frameworks et Patterns sont là pour mettre en place des modèles uniformes de structuration
Frameworks et patterns
Du conceptuel au concret
Regrouper les deux termes 'frameworks et patterns' n'est pas une évidence : il s'agit tant d'outils, d'environnements, que de bonnes pratiques, allant donc du très concret au méta-modèle conceptuel. Un framework sera un outil technique dont les 'fonctions' et le 'langage' sont à apprendre, tandis qu'un pattern est une formulation de bonnes pratiques mises en ouvre pour répondre à une problématique identifiée, que l'on peut réitérer avec succès dans différents cas similaires et dans le temps, donc plus conceptuel. Il est toutefois nécessaire de les aborder ensemble, car ils ont pour point commun de viser les mêmes objectifs, cruciaux dans l'approche d'Axones :
- structurer
- guider
- faciliter
- découpler
Une pierre angulaire chez Axones
L'utilisation, la connaissance et la compréhension des frameworks fait partie du 'socle de base' chez Axones. Struts, Spring et Hibernate seront le cursus de chaque nouvel arrivant J2EE.
Mais chacun se verra recommander de bien connaître les principaux patterns de l'ouvrage de référence 'Design Patterns', de Gamma, Johnson, Helm et Vlissides (Singleton, Facade, Factory, Composite, Iterator), qu'il souhaite s'orienter vers du J2EE, .NET ou PHP. Car les bonnes pratiques seront les mêmes, indépendamment du serveur d'application utilisé, même si l'environnement .NET balise mieux le sentier.
Ce livre peut être judicieusement complété par une connaissance des bonnes pratiques liées aux applications web, comme les patterns Business, Delegate, Transfert Object ou encore DAO. Toutefois, le DAO (Data Access Object) ne traite que du découpage de l'accès aux données vis-à-vis de la couche service, et est une abstraction sans implémentation réelle.
Pour cette raison, Axones a choisi de compléter son expertise par l'écriture d'un livre blanc traitant la persistance, et donc des solutions d'ORM (Object Relational Mapping) telles que Hibernate, EJB 3.0, JDO, Ibatis.
