Betreten Sie die J2EE-Architektur und den J2EE-Prozess

In der Geschäftswelt verwenden wir Java 2 Enterprise Edition (J2EE), um geschäftliche Probleme zu lösen, kommerzielle Software zu entwickeln oder Vertragsdienstleistungen für Projekte anderer Unternehmen bereitzustellen. Wenn ein Unternehmen eine E-Business-Website mit einer mehrschichtigen Architektur erstellen möchte, sind normalerweise Manager, Architekten, Designer, Programmierer, Tester und Datenbankexperten während des gesamten Entwicklungslebenszyklus beteiligt.

Damit verschiedene Parteien effizient und effektiv arbeiten können, benötigen sie häufig einen Softwareentwicklungsprozess. Einige klassische Entwicklungsprozesse umfassen das Wasserfallmodell, die schnelle Anwendungsentwicklung (RAD) und die extreme Programmierung. In diesem Artikel konzentrieren wir uns auf einen beliebten Softwareentwicklungsprozess, den Rational Unified Process (RUP). RUP bietet einen disziplinierten Ansatz für die Zuweisung von Aufgaben und Verantwortlichkeiten zu verschiedenen Rollen. Das Ziel stellt sicher, dass wir qualitativ hochwertige Software produzieren, die die Anforderungen der Benutzer innerhalb eines vorhersehbaren Zeitplans und Budgets erfüllt.

Ich verwende RUP aus drei Gründen gerne für die J2EE-Entwicklung. Erstens ist RUP architekturzentriert; Es entwickelt einen Prototyp einer ausführbaren Architektur, bevor Ressourcen für die vollständige Entwicklung bereitgestellt werden. Zweitens ist RUP iterativ und komponentenbasiert. Die Architekturbasislinie enthält häufig ein Framework oder eine Infrastruktur, um das Hinzufügen von Komponenten durch Iterationen zu erleichtern, um die Funktionalität eines Systems anzupassen und zu erweitern, ohne den Rest des Systems zu beeinträchtigen. Drittens verwendet RUP eine branchenübliche Sprache, UML, um die Architektur und Komponenten eines Systems visuell zu modellieren. RUP hat vier verschiedene Entwicklungsphasen: Beginn, Ausarbeitung, Konstruktion und Übergang. Dieser Artikel behandelt jedoch acht wesentliche Aktivitäten in der J2EE-Entwicklung aus technischer Sicht in einer Weise, die den architektonischen Fokus beibehält.

I. Anforderungsanalyse

Die Anforderungsanalyse beschreibt, was das System tun soll oder nicht, damit Entwickler und Kunden einen ersten Geschäftsvertrag erstellen können. Sie können funktionale Anforderungen in Geschäftskonzepten, Domänenglossaren, Anwendungsfällen und Benutzeroberflächenmodellen dokumentieren. Nicht funktionierende Anforderungen wie Leistung und Transaktionen geben Sie in einem ergänzenden Anforderungsdokument an. Sie können das allgemeine UI-Modell auf Papier oder in HTML erstellen, je nachdem, wie stark Sie in das Projekt involviert sind.

Abbildung 1 zeigt zwei Anwendungsbeispiele eines typischen E-Business-Systems. Der viewOrderAnwendungsfall zeigt an, dass sich ein Benutzer über eine Webschnittstelle bei einem System anmeldet, eine Bestellliste anzeigt und auf einen Link klickt, um Bestelldetails einer bestimmten Bestellung anzuzeigen. Der addLineItemsAnwendungsfall sagt uns, dass der Benutzer einen Produktkatalog durchsucht, interessante Produkte auswählt und sie einer Bestellung hinzufügt.

II. Objektorientierte Analyse

Analysten generieren Problemdomänenmodelle: Klassen, Objekte und Interaktionen. Ihre Analyse sollte frei von technischen Details oder Implementierungsdetails sein und ein ideales Modell enthalten. Die Objektanalyse hilft Ihnen, das Problem zu verstehen und Kenntnisse über die Problemdomäne zu erwerben. Sie müssen ein reines Domänenmodell ohne technische Details pflegen, da sich ein Geschäftsprozess viel langsamer ändert als Informationstechnologien.

Diese ersten beiden Schritte - Anforderungsanalyse und objektorientierte Analyse - sind nicht J2EE-spezifisch. Sie sind für viele objektorientierte Methoden recht allgemein. Abbildung 2 zeigt ein übergeordnetes Objektanalysemodell einer Pet Store-Beispielanwendung. Es zeigt die wichtigsten Konzepte, die wir aus Anwendungsfällen der Anforderungsanalyse identifiziert haben. Wir modellieren diese Konzepte in Objekte und identifizieren ihre Beziehungen.

Das Ergebnis von Anforderungs- und Objektanalysen ist der Einstiegspunkt für die Entwicklung der J2EE-Architektur. Um eine Architektur zu entwickeln, wählen Sie ein vertikales Teil - häufig ein kritischer Teil, wie z. B. das Objektmodell der Auftragsdomäne - für das Objektdesign, die Implementierung, das Testen und die Bereitstellung aus. (Ein vertikales Teil, ein RUP-Konzept, ist ein kleiner Teil eines Systems. Der Ausgangspunkt ist eine Teilmenge von Anwendungsfällen (siehe Abbildung 1) und Domänenanalysemodellen (siehe Abbildung 3). Die Implementierung eines vertikalen Teils führt zu einem voll funktionsfähigen Minisystem, das alle Ebenen enthält, z. B. JavaServer Pages (JSPs) auf der UI-Ebene, Business-Objekte der mittleren Ebene wie EJBs (Enterprise JavaBeans) und häufig Backend-Datenbanken Prototyp für Domänenobjekte, und lassen Sie dieses Wissen als Entwurfsrichtlinie für die Objektentwurfsphase dienen.