2011-11-30 3 views
0

Je suis intéressée à apprendre comment évoluent les applications Web. L'idée est que si de nouvelles technologies ou méthodologies de conception devaient être introduites dans une application web basée sur Java, quelles seraient les 5-10 meilleures technologies à explorer? Aussi, il serait utile que quelqu'un puisse indiquer de bons livres ou des ressources en ligne pour mener cette recherche.Construction d'une application à long terme Architecture

+0

Pas sûr de top 5 ou nouveau, mais je voudrais vérifier, serveur d'application Tomcat et Jboss, avec les cadres Struts et Seam –

Répondre

1

Un aspect clé est la productivité des développeurs. Il y a eu d'excellentes recherches et présentations dans cet espace par Matt Raible (généralement, l'espace non-EE) et Adam Bien pour l'espace EE6.

+0

Merci .. J'aime la référence. Je voulais un point de départ et cela sert d'idéal – Fazal

1

Pour toutes mes solutions Web rapides et fonctionnelles, j'utilise Grails. Cela donne de la productivité, une performance raisonnable. Il est pris en charge par VMWare, donc le support à long terme semble OK.

1

La capacité de votre application à évoluer avec le temps dépend davantage de votre architecture logicielle que de votre technologie ou de votre méthodologie. Cependant, votre choix de technologies et de méthodologies influencera la façon dont vous concevez votre logiciel.

Tout d'abord, sachez ce que vous faites. À la fin des années 1960, les gens ont commencé à étudier ce qu'il advient des applications au fil du temps. Au cours des 40 dernières années, ces observations ont été transformées en un ensemble de lois (cfr Meir Lehman). Cela peut sembler évident, mais c'est un bon point de départ:

  • À mesure qu'un système évolue, sa complexité augmente sauf si un travail est fait pour le maintenir ou le réduire.
  • La fonctionnalité d'un système doit être continuellement augmentée pour maintenir la satisfaction de l'utilisateur pendant sa durée de vie. La qualité d'un système semble décliner à moins d'être rigoureusement maintenue et adaptée aux changements de l'environnement opérationnel.

Si vous êtes là pour le long terme, les plus grandes questions sont probablement organisationnelles et non techniques. Par exemple, quelles sont les technologies que le personnel de développement connaît et apprécie déjà? Si les développeurs envisagent de rester avec l'entreprise pendant 5-10 ans, demandez-vous ce qu'il en est de l'avenir qui les excite. Les meilleurs endroits pour collecter des idées sur les technologies d'application Web "hot" sont http://www.infoq.com/. Pensez aux méthodologies qui conviennent le mieux à la culture technique et à la culture d'entreprise de votre organisation. Le développement agile est génial, mais il ne convient pas à toutes les organisations ou à tous les environnements.

Envisager des fournisseurs. J'ai déjà travaillé sur un site qui était un vrai magasin IBM bleu parce qu'IBM fabriquait des logiciels et du matériel solides. Cependant, le client était vraiment enfermé dans le fournisseur. Le client utilisait encore les réseaux Token Ring et OS/2 en 1997. Donnez-vous de la place pour changer d'outils et de technologies quand le besoin s'en fait sentir. Une application vivante et respirante ne survit presque jamais à une décennie d'utilisation sans changer de piles technologiques au moins une fois.

Pour vraiment créer une conception de logiciel qui résistera aux changements dans l'environnement d'affaires, suivez le vieil adage «construire un à jeter». Une fois, nous avons construit un nouveau système en utilisant un nouveau système d'exploitation, un nouveau paradigme de programmation, un passage du terminal vert aux interfaces graphiques gros clients ... c'était une réinvention complète de la technologie de l'information de l'entreprise. Nous n'aurions jamais réussi si nous n'avions pas construit un prototype et le jetions. Nous n'avons pas choisi toutes les bonnes technologies et méthodes la première fois, lorsque nous avons construit le prototype. Mais nous avons eu la chance de corriger ces erreurs lorsque nous avons construit le système de production. Cela ne fonctionne que si vous pouvez créer un prototype, puis le jeter avant qu'il ne soit utilisé pour des besoins professionnels réels. Une fois l'application mise en production, la fenêtre pour "en jeter un" est partie.

Bonne chance! -Aaron

Questions connexes