Architecturer des applications métier Silverlight


précédentsommairesuivant

Partie 0 - Introduction

Cette partie est une introduction à la série d'articles que je vais faire sur comment architecturer une application d'entreprise Silverlight centrée sur les données. Alors que Silverlight est une plateforme puissante pour créer d'excellentes expériences utilisateurs interactives pour le Web, le Bureau (et maintenant) le Mobile, elle est aussi le meilleur atout de Microsoft pour créer une technologie multiplateforme et multinavigateur.

Beaucoup de gens voient juste Silverlight comme un autre rival d'Adobe Flash à cause des aspects applications Internet riches que proposent les deux technologies et la solide prise en charge multimédia dont dispose Silverlight. En dépit de cela, nous pouvons tirer nettement plus de bénéfices de Silverlight si on la perçoit en tant que bonne technologie pour l'industrie du logiciel dans les technologies de l'information. Les projets informatiques sont entièrement axés sur la manipulation, la visualisation et la compréhension des données.

Silverlight, qui est un sous-ensemble de WPF (excellente pour traiter des données à travers la liaison de données) et toujours une application .NET, lorsqu'elle est combinée avec les patterns les plus populaires aujourd'hui et certaines technologies-clés pour le génie logiciel, peut être une technologie très productive, simple, fiable et efficace pour construire ce genre d'applications, et en même temps, fournir une expérience utilisateur exceptionnelle.

Dans cette série d'articles je vais essayer d'aborder les aspects importants lorsque vous architecturez une application qui peut démarrer petite, qui est prévue pour durer des années et au fil du temps évoluer en une plus grosse application en raison de nouvelles exigences et être développée par plusieurs équipes sans qu'il en résulte un gros chantier de code auquel personne ne souhaite toucher.

De telles applications sont souvent construites en utilisant les principes suivants.

  • Séparation d'aspects

Le principe le plus important. Possibilité de diviser pour régner par la création de couches dans votre application qui sont destinées à faire face à un problème, une tâche ou une fonctionnalité, réduisant ainsi la complexité. Le reste de ces principes sont tous basés sur celui-ci.

  • Couplage faible

Possibilité de créer plusieurs composants qui peuvent œuvrer ensemble mais ne dépendent pas les uns des autres.

  • Flexibilité

Capacité à répondre aux changements futurs, soit en changeant complètement la technologie sous-jacente ou les besoins métier.

  • Extensibilité

Possibilité de créer de nouvelles fonctionnalités par l'extension ou la réutilisation de celles existantes.

  • Modularité

Possibilité de créer des secteurs d'activités indépendants bien définis (cohésifs) dans votre application qui peuvent être amenés à évoluer séparément, à s'intégrer les uns aux autres et même être déployés séparément.

  • Testabilité

Capacité à éviter/prévenir les bogues inattendus par des modifications ou de nouvelles fonctionnalités que vous effectuez, en testant la logique, le comportement ou les dépendances de votre application.

  • Maintenabilité

Capacité à trouver rapidement le code que vous devez modifier, de le comprendre et de le modifier, même si celui qui l'a écrit en premier lieu n'est plus là (ce qui arrive fréquemment).

  • Réutilisabilité

Possibilité de réduire le code en créant des composants qui seront réutilisés par d'autres composants nécessitant une fonctionnalité spécifique.

  • Indépendance de l'interface utilisateur

Possibilité de changer de contrôles de présentation sans casser ni votre logique de présentation, ni la logique applicative.

  • Localisation

Possibilité de cibler plusieurs langues, augmentant ainsi la diversité de votre clientèle.

Je pense à démarrer avec une architecture globale, choisir les bonnes technologies, construire une petite application dessus et ensuite continuer à la « composer ». Je vais commencer par .NET 3.5 et plus tard passer à .NET 4.

Conclusion

Dans la prochaine partie de cette série, je vais aborder les technologies qui sont disponibles et qui peuvent nous aider à accomplir notre objectif.


précédentsommairesuivant

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Copyright © 2013 Manuel Felicio. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC.