Concevoir des applications Web avec UML Jim Conallen Éditions Eyrolles ISBN : 2
Concevoir des applications Web avec UML Jim Conallen Éditions Eyrolles ISBN : 2-212-09172-9 2000 1 Introduction Objectifs du livre Le sujet de ce livre est le développement des applications web. Ce n’est pas un manuel de construction d’applications web ; il n’entre pas davantage dans son dessein de présenter une nouvelle méthodologie. Plus précisément, il s’agit d’un guide destiné aux chefs de projets, architectes, analystes, concepteurs et programmeurs d’applications web, à tous ceux qui dési- rent développer des applications web fiables, modulables, riches en fonctionnalités, en faisant appel aux techniques orientées objet éprouvées qui ont permis, depuis maintenant plusieurs années, de réaliser des applications client-serveur. Ce livre s’appuie sur les techniques exis- tantes de développement d’application orienté objet plutôt qu’il n’en définit une nouvelle. La plupart des concepts de ce livre ne sont pas originaux, et pour cause : de nombreuses notions et méthodes décrites ici ont été développées dans des domaines divers où elles ont évolué au gré de leur mise en œuvre. Ces pratiques orientées objet ont permis que des projets soient livrés en respectant coûts et délais et, très important, les ont rendus prévisibles. La description de ces principes orientés objet repose pour l’essentiel, dans cet ouvrage, sur les travaux collectifs de Grady Booch, Jim Rumbaugh et Ivar Jacobson. Les auteurs précités sont les principaux créateurs d’UML (Unified Modeling Language), cette notation qui permet de traduire graphiquement les modèles de systèmes logiciels. Pour beau- coup de personnes, UML est aussi une méthode, bien que, techniquement, ce ne soit pas le cas. UML n’est qu’un langage, mais comme tous les langages, il exprime les choses d’un certain point de vue. En particulier, UML traduit les modèles et les conceptions de systèmes d’une façon orientée objet, que ces systèmes soient des applications de gestion classiques ou des systèmes temps-réel embarqués. Il n’était pas possible de faire l’économie du terme UML dans le titre de ce livre, car UML est au cœur des discussions de développement d’application web. Toutefois, l’apport original de ce livre se situe plutôt dans le WAE (pour Web Application Extension, extension pour applica- tion web), qui complète la notation UML avec une sémantique et des contraintes permettant Introduction aux technologies Web PREMIÈRE PARTIE 2 d’intégrer des éléments d’architecture web dans le reste du modèle système. C’est un thème central de ce livre que de souligner l’absolue nécessité de modéliser la logique métier du système, quels qu’en soient le lieu et le type d’implémentation. Pour les applications web, cela implique de consigner l’exécution de la logique métier des pages web, des scripts et des composants côté client. En établissant un modèle unique de toute la logique du système, nous sommes mieux à même de le comprendre et par la suite d’en appréhender les détails dans les versions futures. De toutes les méthodologies de développement orientées objet utilisées aujourd’hui, et bien que peu l’admettent, on dira qu’elles diffèrent peu. La méthodologie orientée objet suppose la définition préalable des besoins, généralement sous forme de cas d’utilisation (voir chapitre 8), puis, grâce à une série de transformations, de définir un modèle de conception détaillé (voir chapitre 10) qui peut ainsi directement piloter la phase d’écriture du code. Le processus décrit dans ce livre ressemble en tout point au RUP (Rational Unified Process) et au Unified Process de ICONIX (voir chapitre 6). Néanmoins, les idées et les concepts peuvent tout aussi bien s’appliquer à d’autres méthodes qui utilisent UML comme système de notation. Bien que cet ouvrage décrive en détail le processus de création d’applications web, ce n’est pas un manuel traitant du processus dans son ensemble. En effet, le processus de développe- ment de logiciel est un sujet si vaste que la partie qui concerne spécifiquement les applica- tions web ne saurait en être qu’une toute petite partie. Plutôt qu’un manuel complet de déve- loppement d’applications web, ce livre vise à définir le contexte dans lequel se dérouleront les projets web. Ainsi le lecteur pourra-t-il assimiler les aspects importants du développement d’applications web, indépendamment d’un processus particulier. Cette distinction entre les outils propres au développement d’applications web et ceux impliqués dans un processus facilite leur utilisation par ceux qui emploient déjà des processus personnalisés. Pour quels lecteurs ? Les architectes et les concepteurs de systèmes client-serveur trouveront dans cet ouvrage une bonne initiation aux problèmes et aux techniques de développement du Web. Un chef de projet y trouvera les éléments qui lui permettront de comprendre les technologies et les problèmes liés au développement d’applications web. Comme ce livre repose sur des techni- ques et des méthodologies orientées objet, il est tenu pour acquis que le lecteur a quelque connaissance des concepts objet et de UML. Mieux vaudrait aussi que le lecteur fût familia- risé avec au moins une architecture d’application web. Ce livre servira de guide à l’architecte client-serveur tant du point de vue des technologies des applications web que par rapport aux problèmes qu’elles posent. Au chapitre 7 sont définis trois patterns architecturaux majeurs qui servent d’archétypes pour décrire les archi- tectures d’applications web. L’étude de ces patterns, avec leurs avantages et désavantages respectifs, permettra à l’architecte de prendre des décisions qui définiront les orientations technologiques de l’application. Comme dans toute activité d’ingénierie, l’architecte devra considérer les compromis qu’entraînent les choix technologiques dans l’architecture de l’application. Grâce à une bonne compréhension des technologies disponibles et de leurs implications, l’architecture assemblera une combinaison appropriée qui répondra au mieux aux besoins du problème métier. Introduction CHAPITRE 1 3 Pour les analystes et concepteurs, ce livre propose une extension d’UML permettant d’exprimer une conception d’applications web. Les trois objectifs de cette extension sont les suivants : • modéliser les artefacts spécifiques, tels que les pages web, les liens entre pages, les chemins de navigation, les scripts côté client et la génération de pages côté serveur ; • les modéliser à un niveau d’abstraction et de détail appropriés ; • rendre possible l’interaction des éléments propres au Web avec les autres éléments du système. L’analyste/concepteur pourra traduire l’exécution de la logique métier du système en termes de modèles UML. Le principe en est que, dans un modèle unifié, la logique métier doit être exécutée à la fois par des composants traditionnels côté serveur – composants de la couche intermédiaire, moniteurs transactionnels, bases de données – et par les composants web, tels que les navigateurs et les scripts client. Le chef de projet, quant à lui, découvrira dans ce livre les problèmes potentiels que peut poser le développement d’applications web et s’en servira comme d’un guide pour affecter les diffé- rentes responsabilités et activités qui déterminent les rôles dans une équipe de développement. Ce livre détaille aussi d’autres rôles dans le processus de développement, car le chef de projet doit avoir une perception claire de tous les rôles et responsabilités des personnes impliquées dans le processus. Plan de l’ouvrage Ce livre, qui comprend onze chapitres en incluant ce chapitre introductif, se subdivise en deux parties. La première partie – les chapitres 1 à 5 – fait office, comme son intitulé l’indique, d’introduction aux concepts et aux technologies des applications web, qui servent de base à la seconde partie du livre. Les lecteurs qui sont déjà rompus aux architectures d’applications web peuvent sauter les premiers chapitres ; cependant une lecture, même superficielle, en est tout de même conseillée. Le chapitre 2, « Définition d’une application web », est une introduction à l’architecture web la plus simple. Nous y définissons les termes application web, leur domaine d’utilisation, les principaux mécanismes de communication et langages et les technologies sous-jacentes qui transforment de simples sites ou systèmes web en systèmes d’exécution de logique métier. La plupart des complications en matière de conception d’applications web surviennent quand le poste client accomplit une part de la logique métier du système. Le chapitre 3, « Clients dynamiques », décrit les technologies qui permettent cela : JavaScript, les applets et les contrôles ActiveX. On y introduit aussi le DOM (Document Object Model) en tant qu’inter- face objet principale des ressources client. L’architecture de base des applications web, telle que décrite aux chapitres 2 et 3, permet de réaliser des applications web très utiles, et notamment des applications pour l’Internet public comme des sites marchands. En revanche, ces composants de base ne peuvent assurer le niveau de sophistication que requiert la fonctionnalité de certaines applications. Les restric- tions se situent souvent au niveau même des technologies fondamentales que sont HTTP et HTML. Les technologies les plus courantes permettant aux applications web de surmonter les limitations de communication et de formatage de HTTP et HTML sont étudiées au chapitre 4, « Au-delà de HTTP et HTML ». Introduction aux technologies Web PREMIÈRE PARTIE 4 La première partie est bouclée par le chapitre 5, « La sécurité ». Dès qu’une application est sur l’Internet, la sécurité devient une préoccupation, qu’elle soit intéressante ou pas, critique en tout cas, dans tous les sens du terme. Même les applications intranet doivent considérer leur sécurité. La sécurité d’une application web est beaucoup plus difficile à assurer que celle uploads/Ingenierie_Lourd/ concevoir-des-applications-web-avec-uml.pdf
Documents similaires










-
27
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mar 04, 2021
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 0.0214MB