Entrez dans l'architecture et le processus J2EE

Dans le monde commercial, nous utilisons Java 2 Enterprise Edition (J2EE) pour résoudre des problèmes commerciaux, pour développer des logiciels commerciaux ou pour fournir des services contractuels à des projets d'autres entreprises. Si une entreprise souhaite créer un site Web de commerce électronique en utilisant une architecture à plusieurs niveaux, elle implique généralement des gestionnaires, des architectes, des concepteurs, des programmeurs, des testeurs et des experts en bases de données tout au long du cycle de vie du développement.

Pour que différentes parties travaillent efficacement et efficacement, elles ont souvent besoin d'un processus de développement logiciel. Certains processus de développement classiques incluent le modèle en cascade, le développement rapide d'applications (RAD) et la programmation extrême. Dans cet article, nous nous concentrerons sur un processus d'ingénierie logiciel populaire, le Rational Unified Process (RUP). RUP propose une approche disciplinée pour l'attribution de tâches et de responsabilités à différents rôles. Son objectif garantit que nous produisons des logiciels de haute qualité qui répondent aux besoins des utilisateurs dans un calendrier et un budget prévisibles.

J'aime utiliser RUP pour le développement J2EE pour trois raisons. Premièrement, RUP est centré sur l'architecture; il développe un prototype d'architecture exécutable avant d'engager des ressources pour un développement à grande échelle. Deuxièmement, RUP est itératif et basé sur des composants. La ligne de base de l'architecture comprend souvent un cadre ou une infrastructure pour faciliter l'ajout de composants via des itérations pour personnaliser et étendre les fonctionnalités d'un système sans affecter le reste du système. Troisièmement, RUP utilise un langage standard, UML, pour modéliser visuellement l'architecture et les composants d'un système. RUP comporte quatre phases de développement différentes: le lancement, l'élaboration, la construction et la transition. Cet article, cependant, couvre huit activités essentielles impliquées dans le développement J2EE d'un point de vue technique d'une manière qui maintient l'accent architectural.

I. Analyse des besoins

L'analyse des exigences décrit ce que le système doit ou ne doit pas faire pour que les développeurs et les clients puissent créer un contrat commercial initial. Vous pouvez documenter les exigences fonctionnelles dans des concepts commerciaux, des glossaires de domaine, des cas d'utilisation et des maquettes d'interface utilisateur (UI). Les exigences non fonctionnelles, telles que les performances et les transactions, que vous spécifiez dans un document d'exigences supplémentaires. Vous pouvez créer la maquette d'interface utilisateur de haut niveau sur papier ou en HTML, en fonction de votre implication dans le projet.

La figure 1 montre deux exemples de cas d'utilisation d'un système de commerce électronique typique. Le viewOrdercas d'utilisation nous indique qu'un utilisateur se connecte à un système via une interface Web, voit une liste de commandes et clique sur un lien pour afficher les détails de la commande d'une commande d'achat spécifique. Le addLineItemscas d'utilisation nous indique que l'utilisateur parcourt un catalogue de produits, sélectionne des produits intéressants et les ajoute à un bon de commande.

II. Analyse orientée objet

Les analystes génèrent des modèles de domaines de problèmes: classes, objets et interactions. Votre analyse doit être libre de tout détail technique ou de mise en œuvre et doit contenir un modèle idéal. L'analyse d'objets vous aide à comprendre le problème et à acquérir des connaissances sur le domaine du problème. Vous devez maintenir un modèle de domaine pur sans détails techniques car un processus métier évolue beaucoup plus lentement que les technologies de l'information.

Ces deux premières étapes - analyse des exigences et analyse orientée objet - ne sont pas spécifiques à J2EE; ils sont assez génériques pour de nombreuses méthodologies orientées objet. La figure 2 montre un modèle d'analyse d'objets de haut niveau d'un exemple d'application d'animalerie. Il illustre les principaux concepts que nous avons identifiés à partir des cas d'utilisation de l'analyse des exigences. Nous modélisons ces concepts en objets et identifions leurs relations.

Le résultat des analyses d'exigences et d'objets est le point d'entrée pour le développement de l'architecture J2EE. Pour développer une architecture, vous sélectionnez un élément vertical - souvent un élément critique, tel que le modèle d'objet du domaine d'ordre - pour la conception, l'implémentation, les tests et le déploiement des objets. (Un élément vertical, un concept RUP, est une petite partie d'un système. Le point de départ est un sous-ensemble de cas d'utilisation, comme le montre la figure 1, et des modèles d'analyse de domaine, comme le montre la figure 3. La mise en œuvre d'un élément vertical aboutit à un mini-système entièrement fonctionnel comprenant tous les niveaux, tels que les pages JavaServer (JSP) de niveau interface utilisateur, les objets métier de niveau intermédiaire tels que les Enterprise JavaBeans (EJB) et souvent les bases de données backend.) prototype aux objets de domaine, et laissez cette connaissance servir de guide de conception pour l'étape de conception d'objet.