Architect's dream, developer's nightmare (or Don't distribute your objects!)
13/09/06 22:51 | Architecture | Permalink
Amis 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!
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!
|
Chapeau bas...
11/09/06 21:00 | Professionnel | Permalink
Un blog sur IntelliCore, pour quoi faire ? Si la question mérite d'être posée, la réponse n'est pas désintéressée !
En premier lieu, si IntelliCore existe, c'est grâce à l'incroyable support d'une communauté de développeurs qui ont souhaité (avec succés) partager leurs bonnes et mauvaises expériences entre eux, mais aussi mettre le pied à l'étrier à de nombreux débutants, permettant par là-même à des vocations de s'exprimer, à des jeunes –et moins jeunes– gens de vivre de leur passion.
Pour en avoir appris comme je n'ai jamais appris de personne sur le plan professionnel, je pense avec beaucoup de chaleur, de respect, et de sincérité à la communauté des développeurs WebObjects, historiquement supportée par les mailings lists d'OmniGroup. En tant qu'expert WebObjects, les mails webobjects@omnigroup.com auront toujours une saveur particulière ; pour autant, j'ai parfaitement conscience que chacun, dans son domaine, aura reçu le concours plus ou moins direct d'une autre communauté à laquelle il doit quelque résolution de problème, ou de précieux conseils, et que, le web en apporte la preuve à chaque instant, ce genre de comportement louable est à présent très répandu, c'est heureux.
Si IntelliCore a pour vocation première de valoriser cet héritage WebObjects, il y a lieu de tirer parti des compétences complémentaires acquises au fil des projets, notamment en architecture système et objet, mais aussi en conduite de projet. Dans ce domaine précisément, il est apparu à la fois comme une évidence et comme un intense besoin, que bien au-delà des compétences techniques, les personnes qui vont participer ensemble à un projet informatique ont tout intérêt à présenter de sérieuses prédispositions à la vie de groupe. Au fil du temps, l'expert technique s'est doublé d'un "animateur de projet" (on dit "chef", aussi...), et le partage des informations est apparu comme crucial à chaque instant.
Aussi, après avoir beaucoup reçu d'une certaine communauté, un besoin de "rendre" s'est fait suffisamment fort pour justifier un blog. Il n'existera vraiment que si, d'aventure, quelques commentaires viennent alimenter la conversation. Les sujets devraient rester dans le domaine technique, sans ambitions autres que de mettre en avant certaines technologies, bonnes pratiques, méthodologies.
En premier lieu, si IntelliCore existe, c'est grâce à l'incroyable support d'une communauté de développeurs qui ont souhaité (avec succés) partager leurs bonnes et mauvaises expériences entre eux, mais aussi mettre le pied à l'étrier à de nombreux débutants, permettant par là-même à des vocations de s'exprimer, à des jeunes –et moins jeunes– gens de vivre de leur passion.
Pour en avoir appris comme je n'ai jamais appris de personne sur le plan professionnel, je pense avec beaucoup de chaleur, de respect, et de sincérité à la communauté des développeurs WebObjects, historiquement supportée par les mailings lists d'OmniGroup. En tant qu'expert WebObjects, les mails webobjects@omnigroup.com auront toujours une saveur particulière ; pour autant, j'ai parfaitement conscience que chacun, dans son domaine, aura reçu le concours plus ou moins direct d'une autre communauté à laquelle il doit quelque résolution de problème, ou de précieux conseils, et que, le web en apporte la preuve à chaque instant, ce genre de comportement louable est à présent très répandu, c'est heureux.
Si IntelliCore a pour vocation première de valoriser cet héritage WebObjects, il y a lieu de tirer parti des compétences complémentaires acquises au fil des projets, notamment en architecture système et objet, mais aussi en conduite de projet. Dans ce domaine précisément, il est apparu à la fois comme une évidence et comme un intense besoin, que bien au-delà des compétences techniques, les personnes qui vont participer ensemble à un projet informatique ont tout intérêt à présenter de sérieuses prédispositions à la vie de groupe. Au fil du temps, l'expert technique s'est doublé d'un "animateur de projet" (on dit "chef", aussi...), et le partage des informations est apparu comme crucial à chaque instant.
Aussi, après avoir beaucoup reçu d'une certaine communauté, un besoin de "rendre" s'est fait suffisamment fort pour justifier un blog. Il n'existera vraiment que si, d'aventure, quelques commentaires viennent alimenter la conversation. Les sujets devraient rester dans le domaine technique, sans ambitions autres que de mettre en avant certaines technologies, bonnes pratiques, méthodologies.