Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 1 Sommersemster 2000 Java-Komponenten.

Ähnliche Präsentationen


Präsentation zum Thema: "Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 1 Sommersemster 2000 Java-Komponenten."—  Präsentation transkript:

1 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 1 Sommersemster 2000 Java-Komponenten Inhalt des Tutorials: l Übersicht zur JavaBean-Technologie l Entwicklung von JavaBeans l Beans als Grundbausteine bei der visuellen Programmierung l Komponenten am Beispiel von Enterprise Java Beans (EJBs) l Schritte zur Implementierung und Anwendung von EJBs

2 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 2 Sommersemster 2000 JavaBean - Javas Komponententechnologie Zielstellung der Anwendung von Java Beans: l Unterstützung der Idee einer arbeitsteiligen Softwareentwicklung l Spezialisierte Zulieferunternehmen u IV-technische Komponenten u Domain- bzw. fachspezifische Komponenten l Reduktion der Erstellungszeiten von Informationssystemen l Verwendung der Sprache Java für die Implementierung,.d.h. der Sprachumfang von Java wurde nicht erweitert. l Visuelle Programmierung mittels Bean-Builder Tools u BDK Bean Development Kit (Referenzimplementierung) u Java-Studio (Entwicklung bei SUN aber eingestellt) u VisualAge for Java (Umfangreiche Anwendung von Beans)

3 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 3 Sommersemster 2000 JavaBean - Javas Komponententechnologie Definition von Java Beans entsprechend SUN: JavaBeans components, or Beans, are reusable software components that can be manipulated visually in a builder tool. Beans can be combined to create traditional applications, or their smaller web-oriented brethren, applets. In additional, applets can be designed to work as reusable Beans. Quelle: Javasoft API sprecifications

4 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 4 Sommersemster 2000 JavaBean - Javas Komponententechnologie Java Beans Komponenten Modell: l Eine Komponente ist ein identifizierbares Stück Software mit eindeutig und vor allem gut definierten Grenzen l Die Spezifikation der JavaBeans beschreiben eine Komponenten- Architektur für Java u Modell beschreibt auch wie die Komponenten mit ihrem Container interagieren u Container bieten Komponenten eine Umgebung zur Ausführung l Bedarf an zwei Typen von Programmierern u Komponenten-Entwickler (developers) u Komponenten-Monteure (assembler) l JavaBeans als Black Box Komponente (Prinzip der Kapselung)

5 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 5 Sommersemster 2000 JavaBean - Javas Komponententechnologie

6 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 6 Sommersemster 2000 JavaBean - Javas Komponententechnologie Überblick zu den Eigenschaften von Java Beans I: l Introspection (Selbstbeobachtung) - Java Beans können zur Laufzeit Auskunft hinsichtlich gebotener Funktionen und Eigenschaften geben u Auf den direkten Quellcode-Zugriff kann so verzichtet werden u Implizite Introspection-Funktion bietet alle Methoden des Bean u Explizite Introspection-Funktion über das BeanInfo Interface l Customisation (Anpassung) - Beans können entsprechend den aktuellen Erfordernissen über die Nutzung von Dialogen angepaßt werden. u Angebot an Standard-Dialogen u Angebot an angepaßten Dialogen l Event-Handling (Ereignisverarbeitung) - Verwendung des Delegation- Event-Handling-Model (Event-Sources und Event-Listener) l Persistenz - Möglichkeit der dauerhaften Abspeicherung alter und neuer Werte von Properties

7 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 7 Sommersemster 2000 JavaBean - Javas Komponententechnologie Überblick zu den Eigenschaften von Java Beans II: l Methoden - werden genutzt um entsprechende Properties des Beans zu ändern. Alle als public definierte Methoden werden in einem Bean- Builder-Tool angeboten. u Einschränkung der angebotenen Methoden über BeanInfo-Klasse u Einschränkung auch beim Import des Bean in ein Builder-Tool möglich l Properties - (Eigenschaften) - Kapseln Daten einer Instanz eines Bean und können von außen abgefragt und geändert werden Signature pattern für Properties: getProperty() / setProperty() u Simple Properties - repräsentieren einen einzelnen Wert u Indexed Properties - Array gleichen Datentyps u Bound Properties - Kombination eines Properties mit einem Event (z.B. ausgelöst nach der Änderung eines Properties) u Constrained Properties - Zustimmung zur Änderung einer Propertie von z.B. einem anderen Bean holen

8 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 8 Sommersemster 2000 JavaBean - Javas Komponententechnologie Package für Java Beans: Erweiterung des JDK um das Package java.beans.* l Bean spezifische Interfaces u BeanInfo - allg. Schnittstelle zur Beschreibung des Beans u Customizer - graph. Assistenten zur Einstellung der Eigenschaften von Beans u PropertyChangeListener - Interface für Events, die Änderungen Properties mitteilen u Visibility - Interface für Beans ohne GUI u... l Bean spezifische Klassen u Beans - Methoden für Instanzen zur Behandlung im Design Modus von Builder Tools u BeanDescriptor - allg. Informationen über ein Bean öffentlich bereitstellen u Introspection - Methoden für die gleichnamige Eigenschaft u SimpleBeanInfo - einfache Implementierung des Interfaces BeanInfo u... l Bean spezifische Exceptions u IntrospectionException - geworfen bei Fehlern während des Introspection Vorgangs u...

9 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 9 Sommersemster 2000 JavaBean - Javas Komponententechnologie Implementierung von Java-Beans: l notwendige Klasse/Packages importieren l Klasse definierten, Objekt initialisieren über Konstruktor l Anwendungslogik implementieren l Event-Handling - Methoden zum registrieren bzw. entfernen interessierter Listener l Beispiel einer Bound-Methoden-Sigatur (getProperty()/setProperty()) //Propertie für Text setzen und lesen public void setText(String newText) { String oldText = text; text = newText; //Auslösung eines entsprechenden Event propertyChangeListeners.firePropertyChange("text", oldText, newText); } public String getText() { return text; }

10 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 10 Sommersemster 2000 JavaBean - Javas Komponententechnologie Beispiel eines Java-Beans 1: package Beans; import java.awt.*; import java.awt.event.*; import java.beans.*; import java.io.Serializable; Das folgende Bean3 wird von Panel abgeleitet und implementiert die Interfaces Serializable für die Realisierung der Persistenzeigenschaften eines Beans und Runnable um innerhalb des Beans Threads verwenden zu können. public class Bean3 extends Panel implements Serializable, Runnable{ BorderLayout borderLayout1 = new BorderLayout(); TextField textField1 = new TextField(); Thread t = new Thread(this); private String text = "leer"; public String i ; public int a =0; private boolean ind=false; private transient PropertyChangeSupport propertyChangeListeners = new PropertyChangeSupport(this);

11 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 11 Sommersemster 2000 JavaBean - Javas Komponententechnologie Beispiel eines Java-Beans 2: Über den parameterlosen Konstruktor wird das Bean bzw. die Objektinstanz initialisiert, die eigentlichen Eigenschaften werden in der Methode jbInit(), welche innerhalb des Konstruktur aufgerufen wird festgelegt. //parameterloser Konstruktor public Bean3() { try { jbInit(); } catch (Exception ex) { ex.printStackTrace(); } //Initialisierung der Bean-Komponente private void jbInit() throws Exception { this.setSize(new Dimension(186, 24)); textField1.setText("Bean3"); this.setLayout(borderLayout1); this.add(textField1, BorderLayout.NORTH); }

12 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 12 Sommersemster 2000 JavaBean - Javas Komponententechnologie Beispiel eines Java-Beans 3: Der folgende Thread realisiert die eigentliche Zeitzählung, wobei das Propertie Text durch die Methode setText entsprechend dem Ergebnis der Hochzählung gesetzt wird. //Thread für die Ausführung starten public void run(){ //Endlosschleife for (;;){ ind=true; a=a + 1; i=""+ a; setText(i); textField1.setText(text); try{ Thread.sleep(1000); }catch (InterruptedException ex){} } Diese Methode realisiert den eigentlichen Start der Stopuhr und soll in einem Bean-Builder- Tool zur Verfügung stehen. // Start der Uhr public void start(){ if (ind) { t.resume(); } else{ t.start(); setText(i); }

13 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 13 Sommersemster 2000 JavaBean - Javas Komponententechnologie Beispiel eines Java-Beans 4: Diese Methode realisiert den eigentlichen Stop der Stopuhr soll ebenfalls im Bean-Builder- Tool zur Verfügung stehen. // Stop der Uhr public void stop(){ t.suspend(); // Thread beenden } Diese Methode realisiert das Rücksetzen der Stopuhr auf 0 soll ebenfalls im Bean-Builder- Tool verwendet werden können. // Rücksetzen auf 0 public void reset(){ a= 0; i="0"; setText(i); textField1.setText(text); }

14 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 14 Sommersemster 2000 JavaBean - Javas Komponententechnologie Beispiel eines Java-Beans 5: Die folgenden beiden Methoden entsprechenden dem Entwurfsmuster (Methoden-Signatur) für Java-Beans und realisieren so das Property dieses Beans. Ebenso werden entsprechende Listener (z.B. ein anderes Bean) über Änderungen des Property durch ein entsprechedes Event propertyChangeListener informiert. //Propertie für Text setzen und lesen public void setText(String newText) { String oldText = text; text = newText; //Auslösung eines entsprechenden Event propertyChangeListeners.firePropertyChange("text", oldText, newText); } public String getText() { return text; }

15 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 15 Sommersemster 2000 JavaBean - Javas Komponententechnologie Beispiel eines Java-Beans 6: Die folgenden beiden Methoden realisieren in der späteren Bean-Applikation die Registrierung von auf Events wartenden Listenern. //entfernen eines registrierten Listener public synchronized void removePropertyChangeListener(PropertyChangeListener l) { propertyChangeListeners.removePropertyChangeListener(l); } //registrieren eines registrierten Listener public synchronized void addPropertyChangeListener(PropertyChangeListener l) { propertyChangeListeners.addPropertyChangeListener(l); }

16 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 16 Sommersemster 2000 JavaBean - Javas Komponententechnologie Funktion der Bean-Info-Klasse: Problem: alle public definierten Methoden werden in einem Bean-Builder angezeigt, auch die ererbten. Wird keine eigene Bean-Info-Klasse definiert, erfolgt die Verwendung von SimpleBeanInfo l Filterfunktionen (verbergen von Komplexität) ç Bean Descriptor - Zuordnung komplexere Customizer-Dialoge ç Property Descriptor - Auswahl definierter Properties ç Method Descriptor - Auswahl konkreter Methoden ç Event Set Descriptor - Auswahl der angebotener Events l Zuordnung eines korrespondierenden Icon l Dateinamen von BeanInfo-Klassen setzen sich immer aus der Orginal- komponente + BeanInfo zusammen.

17 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 17 Sommersemster 2000 JavaBean - Javas Komponententechnologie Beispiel eines Method-Desciptors (in BeanInfo): public MethodDescriptor[] getMethodDescriptors() { // First find the "method" object. Class args[] = {}; Method m, m1, m2; try { m = Bean3.class.getMethod("start", args); m1 = Bean3.class.getMethod("stop", args); m2 = Bean3.class.getMethod("reset", args); } catch (Exception ex) { // "should never happen" throw new Error("Missing method: " + ex); } // Now create the MethodDescriptor array: MethodDescriptor result[] = new MethodDescriptor[3]; result[0] = new MethodDescriptor(m); result[1] = new MethodDescriptor(m1); result[2] = new MethodDescriptor(m2); return result; }

18 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 18 Sommersemster 2000 JavaBean - Javas Komponententechnologie JAR-Files Packetierung von Java Beans: l Ein zu verteilendes Beans enthält typischerweise mehrere Files l JAR Java Archive Files für die Packetierung von Beans, dabei handelt es sich um ein ZIP-File, welches zusätzlich eine Manifest-Datei enthält. l Inhalte eines JAR-Files: u ein Satz von Java-Class Files u einen Satz serialisierter Objekte u optionales Help-File in HTML-Format u optionale Lokalisierungs-Informationen u optionales Icon im GIF Format u weitere Ressource-Files die vom Bean benötigt werden l Beispiel einer Manifest-Datei: // Example.lst Manifest-Version: 1.0 Name: Example.class Java-Bean: True

19 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 19 Sommersemster 2000 JavaBean - Javas Komponententechnologie Visuelle Entwicklung unter dem BDK: Bean-Box, Container-Panel entspricht der späteren Java-Anwendung ToolBox, enthält eigene und Beispiel-Komponenten Property-Sheet, Anzeige der Eigenschaften ausgewählter Komponenten Funktionen des BDK: l benötigte Beans per Drag & Drop plaziert. l Ausgewählt werden die Beans über eine Toolbox l vom Bean exportierte Properties bearbeiten l Anzeige der Properties je Bean über entsprechenden Dialog l Event-Source mit Event-Handler kombinieren (Drag & Drop) l Fertige Anwendungen z.B. Applets werden herausgeneriert l Anwendung (Beans und Compositions-Fenster) speichern l neue Beans aus JAR-Files einlesen l lauffähiges Applet erzeugen

20 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 20 Sommersemster 2000 JavaBean - Javas Komponententechnologie

21 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 21 Sommersemster 2000 JavaBean - Javas Komponententechnologie GUI der Applikation: l Black Box Sicht auf die Komponenten l alle Beans haben hier eine grafische Präsentation (nicht immer!!) l Applikation (z.B. Applet) muß aus dem Builder-Tool generiert werden Design einer Entwicklung unter dem Visual Studio:

22 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 22 Sommersemster 2000 JavaBean - Javas Komponententechnologie Verwendete Beans: (visuelles Plazieren, angebotene Connectoren) l Button-Beans (Start, Stop, Reset) l Zähler (Impulsgeber alle 1 sek.) l Ausgabe-Bean (Stopuhr) l Label zur Beschriftung l Laufschrift-Bean Customize-Dialog: Entwicklung unter dem JavaStudio:

23 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 23 Sommersemster 2000 EJB Enterprise Java Beans Enterprise-JavaBeans(EJB)-Architektur: l Server-seitige Java-Komponenten (Focus: Anwendungsdomaine) l SUN bietet Spezifikation für Beans, Server und Container u Referenzimplementierung J2EE u Vielzahl angebotener Applikation-Server l Portable Anwendungen auf der Basis von EJBs u Hardwareunabhängig u Betriebssystemunabhängig u Unterstützung verschiedener Sprachen und CORBA l Abstraktes Programmierinterface u Entlastung von low-level Aufgaben ç Transaktionsverwaltung ç Multithreading ç Ressourcenverwaltung u Unterstützung der Wiederverwendbarkeit l Entwicklung ist völlig unabhängig von der Installation, Konfiguration, Auslieferung und Betrieb

24 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 24 Sommersemster 2000 EJB Enterprise Java Beans Container-Konzept: l Behälter bzw. Umgebung für Softwarekomponenten l Container definiert nach außen einen abgeschlossenen Bereich l Angebot an Funktionen für enthaltene Komponente u Überwachung des Lebenszyklus und Synchronisation u Dienste: ç Persistenzmechanismen via z.B. JDBC ç Komponentenfabriken, ç TA-Services, ç Security, u Kommunikation RMI over IIOP u Schnittstelle enthaltener EJBs zur Außenwelt

25 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 25 Sommersemster 2000 EJB Enterprise Java Beans EJB - Eigenschaften: l Component Model (Session und Entity Beans) l Component Persistence u BMP - bean managed Persistence u CMP - container managed Persistence l Transaction-Management (Java-Transaction-API) l Exceptions (Client und Server) l Security l Naming und Directory Service (JNDI) l Protocoll-Support (RMI, IIOP,...) l CORBA-Support (Mapping and Services) l Attribute-based Programming (Deployment Descriptor File) l Deployment (EJB JAR-Files)

26 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 26 Sommersemster 2000 EJB Enterprise Java Beans EJB Enterprise Java Beans Möglichkeiten EJB-basierter Architekturen

27 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 27 Sommersemster 2000 EJB Enterprise Java Beans Session- und Entity-Beans: Stateless Session-Beans ( javax.ejb.SessionBean ) u genau dem Client zugeordnet von dem dieses instanziert wurde u nach Herunterfahren des Server nicht mehr vorhanden u ist keine Referenz mehr vorhanden erfolgt eine Löschen l Stateful Session-Beans u Verwaltung von Zuständen durch Handle-Mechanismus u Speicherung der Zustände möglich, z.B. bei TA-Sicherung notwendig Entity-Beans ( javax.ejb.EntityBean ) u Persistenzeigenschaften (zumeist Abbildung auf RDBMS) u Eindeutige Identifizierung über Primärschlüssel ist zwingend u Persistenzmechanismen des Containers - CMP u Persistenzmechanismen vom Bean verwaltet - BMP

28 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 28 Sommersemster 2000 EJB Enterprise Java Beans Aufbau einer EJB-Komponente: Besteht aus mindestens 3 Java-Klassen und dem Deployment-Deskriptor l Remote-Interface u Nutzung der EJB-Funktionalität über dieses Interface l Home-Interface u Realisierung das Erzeugen, Auffinden und Löschen des Beans l Bean-Implementierung u Implementiert die im Remote-Interface spezifizierten Methoden l XML - Deployment-Deskriptor (kurz DD) u Informationen und Anpassungen zum betrachteten Bean Die Verteilung (Deployment) der EJBs erfolgt zusammengefaßt innerhalb einer JAR-Datei.

29 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 29 Sommersemster 2000 EJB Enterprise Java Beans

30 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 30 Sommersemster 2000 EJB Enterprise Java Beans Beispiel eines Remote-Interfaces (Quelle: Merkle 2000) import java.util.*; import javax.ejb.EJBObject; import java.rmi.RemoteException; public interface Cart extends EJBObject { public void addBook(Book ref) throws RemoteException; public void removeBook(Book ref) throws BookException, RemoteException; public Collection getContents() throws RemoteException; public double getSummary() throws RemoteException; }

31 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 31 Sommersemster 2000 EJB Enterprise Java Beans Beispiel eines Home-Interfaces (Quelle: Merkle 2000) import java.io.Serializable; import java.rmi.RemoteException; import javax.ejb.CreateException; import javax.ejb.EJBHome; public interface CartHome extends EJBHome { Cart create(String person) throws RemoteException, CreateException; Cart create(String person, String creditcard) throws RemoteException, CreateException; }

32 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 32 Sommersemster 2000 EJB Enterprise Java Beans Beispiel einer EJB-Implementierung I (Quelle: Merkle 2000): import java.util.*; import java.rmi.*; import javax.ejb.*; public class CartEJB implements SessionBean { String customerName;customerId; Vector contents; public void ejbCreate(String person) throws CreateException { if (person == null) { throw new CreateException(null not allowed.");} else {customerName = person;} customerId = "0";contents = new Vector(); }

33 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 33 Sommersemster 2000 EJB Enterprise Java Beans Beispiel einer EJB-Implementierung II (Quelle: Merkle 2000): public void ejbCreate(String person, String id) throws CreateException { // } public void addBook(Book ref) { //Buch zum Korb hinzufügen contents.addElement(ref); } public void removeBook(Book ref) throws BookException { //Buch aus dem Korb entfernen System.out.println(re); } } } public Collection getContents() { //welche Bücher befinden sich schon im Korb return contents; } public double getSummary() { //Preis der enthaltenen Bücher insgesamt return summary; }

34 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 34 Sommersemster 2000 EJB Enterprise Java Beans Aufgaben des Deployment-Deskriptor kurz DD: Auf der Basis des DD soll eine Anpassung entsprechender Attribute der EJBs ermöglicht und ein Blackbox-Reuse unterstützt werden. Der DD kann als Beipackzettel für ein EJB, oder einer aus mehreren EJBs zusammengesetzten Applikation betrachtet werden. Im DD konfigurierbare Eigenschaften (Attribute): u Sicherheitsattribute u Transaktionsattribute u Umgebungsvariablen u Verknüpfungen mit anderen Komponenten u Verknüpfungen zu Datenquellen Struktur eines EJB-DD u Struktur-Sektion (Basis- und Umgebungsinformationen) u Assemblierungs-Sektion (Zugriffsrechte, Transaktionsattribute,...)

35 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 35 Sommersemster 2000 EJB Enterprise Java Beans Beispiel eines XML-Deploymentdescriptor: no description Ejb1 CartEJB CartHome CartClient CartEJB Stateful Container

36 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 36 Sommersemster 2000 EJB Enterprise Java Beans EJB Enterprise Java Beans Dialog des J2EE-Wizard: (Erstellung der EJB-JAR)

37 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 37 Sommersemster 2000 EJB Enterprise Java Beans EJB Enterprise Java Beans Konfigurationsdialog

38 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 38 Sommersemster 2000 EJB Enterprise Java Beans EJB Enterprise Java Beans Dialog beim Deployment: (Applikation und EJBs)

39 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 39 Sommersemster 2000 EJB Enterprise Java Beans Unterstützung der EJB: l SilverStreamSilverStream Application Server 3.0 l NetscapeNetscape Application Server l GemstoneGemstone/J 3.0 l BEAWeblogic 4.5 bzw. 5.0 l InpriseInprise Application Server 4.0 l ProSystEnterpriseBeans Server 3.0 l SUNJ2EE-Referenz-Implementierung u Application Deployment Tool, u Verifier u Packager u Tools für Verwaltungsaufgaben (Benutzer, Gruppen,...)

40 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 40 Sommersemster 2000 EJB Enterprise Java Beans Rollenverteilung mit EJBs: Das EJB-Modell unterstützt eine arbeitsteilige Fertigung, Verarbei- tung, Auslieferung und Administration beanbasierter Applikationen: l EJB-Provider - Lieferant der Java-Kompoenten l Application Assembler - Anwendungsentwickler (komplexere EJBs) l EJB-Deployer - Installation und Konfiguration der Umgebung l System-Administrator - Administration Server- und Netzinfrastruktur l EJB-Server-Provider - Anbieter von Applikation-Server l EJB-Container-Provider - Laufzeitumgebung für EJBs (derzeit fast immer im Zusammenhang mit dem Applikation-Server)

41 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 41 Sommersemster 2000 Literaturhinweise für Java Griffel F. : Componentware, Konzepte und Techniken eines Softwareparadigmas, dpunkt.verlag 1998 Nogli A. : Auswahl eines Applikations-Servers, in Java SPEKTRUM 2/2000, SIGS-Verlag Merkle B., M. Johann: Produktüberblick von EJB-basierten Applikations-Servern, in Java SPEKTRUM 2/2000, SIGS-Verlag Szypersiki C. : Component Software, Beyond Object-Oriented Programming, Addison- Wesley, 1998 Wiedeking M. : Die Entwicklung verteilter Anwendungen mit Enterprise-JavaBeans, in Java SPEKTRUM 6/1999, SIGS-Verlag Pouatcha F., Rottach T.: Konfigurationsbeschreibung für EJB-Komponenten, in Java SPEKTRUM 6/1999, SIGS-Verlag Hendrich N.; Java für Fortgeschrittene, Springer-Verlag Berlin Heidelberg, Berlin 1997 Merkle B. : Tutorium zur Programmierung von Enterprise-JavaBeans, in Java SPEKTRUM 3/2000, SIGS-Verlag

42 Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 42 Sommersemster 2000 Interessante Links im Internet CORBA-spezifische Informationen: Verfügbare Applikations-Server: Java-World: freier EJB-Guide: div. Artikel unter: EJB-Spezifikation: Java SPEKTRUM, alle 2 Monate, Java Magazin, alle 2 Monate,


Herunterladen ppt "Arbeitsgruppe Softwaretechnik Otto-von-Guericke-Universität Magdeburg Autor: Andreas Schmietendorf Status: Entwurf Seite 1 Sommersemster 2000 Java-Komponenten."

Ähnliche Präsentationen


Google-Anzeigen