Bonjour à tous,

Je vous écris aujourd'hui pour avoir vos idées sur un sujet important pour mon entreprise.
Je suis actuellement en stage et on m'a demandé d'observer l'architecture d'un SGBD puis de proposer une meilleure architecture.
Il s'agit d'une système d'affacturage par internet (des entreprises vendent leurs factures contre de l'argent immédiat), censé augmenter la liquidité des entreprises. les clients se connectent sur le site, font approuver leurs factures, l'entreprise vérifie qu'ils vérifient les critères et ils sont payés.

Actuellement, le système est conçu sur la base d'une architecture MVC et est décomposé en plusieurs couches: JSF gère la vue, Spring gère les modèles métiers (en Java), et Hibernate fait la liaison entre une BDD relationnelle et la couche java.
Le problème, c'est que mon patron n'est pas satisfait du niveau d'adaptabilité du système: chaque "petite" modification entraîne un temps de développement beaucoup trop long à son goût. Et pour cause, quand on modifie le logiciel quelque soit le niveau de modification, il faut modifier plusieurs couches, particulièrement lorsqu'il faut toucher à la base de données.

Pour résoudre ce problème, je cherche des alternatives d'archtectures pour ce logiciel. En cherchant sur des forums, j'ai entendu parler d'approches plus directes comme utiliser Ruby on Rails avec Mango DB.
Changer de pattern, par exemple utiliser une approche DOA (Data Oriented Approach) ou SAM (State Action Model) semble améliorer certains aspects mais ne change pas la difficulté de modification (si j'ai bien compris).

En résumé, je cherche à rendre le système le plus facilement adaptable possible, et le plus scalable aussi, étant donné que le projet est encore jeune et le site utilisé par un nombre limité.

Auriez vous des idées d'architectures alternatives qui aideraient à ce problème? Toute remarque sera la bienvenue ...

Merci beaucoup.