Architect's dream, developer's nightmare (or Don't distribute your objects!)
13/09/06 22:51
| PermalinkAmis architectes, ayons une pensée pour nos collègues développeurs et exploitants (sur un article de Martin Fowler dans DDJ :
http://www.ddj.com/dept/architect/184414966).
Découvert il y a quelques jours seulement, j'aime bien le ton que Martin Fowler, LE spécialiste mondial des designs patterns, adopte dans cet article : sans langue de bois, il descend en flammes les architectures ailleurs encensées, celles dont le maître-mot est "distributed" ou "remote call", portées aux nues à la grande époque des EJB, et toujours dans le coeur d'une foultitude d'architectes.
Pas une surprise pour moi et quelques amis, qui n'avons jamais adopté cette bête étrange, pas simple à développer, difficile à déployer et à monter en charge, impossible à maintenir (l'histoire nous a donné raison sur ce coup-ci, avec le quasi-abandon par le marché des EJB).
"Why do you do this?", interroge Mr Fowler, au regard des piètres performances obtenues ? Il présente ensuite une très intéressante architecture alternative à base de copies d'applications, et ce n'est pas sans étonnement que j'y ai reconnu de troublantes similitudes avec mon application server de prédilection,
WebObjects, 10 ans d'âge au compteur, précurseur méconnu et fantastique framework.
Pas vraiment intégriste de la non-distribution, Fowler présente ensuite une solution pragmatique pour couper la poire en deux : l'usage d'objets containers à très faible granularité pour le transport inter-process, relayés par des objets à très fine granularité à l'intérieur d'un même process.
Don't distribute your objects... too much!