> Inhalt: Einführung in das Programmieren mit Java > Inhalt: Einführung in das Programmieren von Enterprise Java Beans 

Tutorial: Einfache Session Bean, EJB3-Standard (Java_EJB_05) – Codieren

* Bitte beachten Sie die Hinweise und Bestimmungen bezüglich Urheberrecht, Haftungsausschluß und geschützte Marken oder Warenzeichen die für dieses Web-Dokument und möglicherweise auch für 'verlinkte' Dokumente gelten.

  • Der Betreiber dieser Web-Site (www.javascout.biz) ist nicht verantwortlich für den Inhalt von Web-Sites, die innerhalb dieses Web-Dokumentes oder anderer Dokumente von www.javascout.biz verlinkt sind.

  • Wenn dieses Web-Dokument oder andere Dokumente dieser Web-Site (www.javascout.biz) Rechte von Ihnen verletzen, oder sie glauben, dass Rechte Anderer (Dritter Personen) dadurch verletzt werden, informieren Sie bitte den Betreiber dieser Web-Site.
    Eine E-Mail können Sie ganz einfach durch anklicken des Symbols oder Textes im Frame rechts oben senden.

Dieses Dokument drucken.

 Letzte Bearbeitung dieses  Dokuments:
2009-08-08

Voraussetzungen für das Verständnis dieses Dokuments:

Grundkenntnisse in der Programmierung von Java (Klassen, Methoden, Schleifen) oder anderer Objekt-Orientierter Programmiersprachen (z.B. C++, Modula-2, Pascal).

Kenntnisse im Umgang mit Eclipse; empfohlen ist das Durcharbeiten der Einführungsbeispiele für das Programmieren mit Java.

Ungefährer Zeitbedarf zum Durcharbeiten dieses Dokuments:

Arbeitszeit:
Ca. 30 bis 60 Minuten, je nach Kenntnissen und Routine beim Erstellen von Java-Klassen
.

Dieses Dokument enthält die Anleitungen zum Codieren der Einfachen Session Bean.

Dabei wird ein kleiner Schritt zur Modularisierung gesetzt; es wird eine Interface mit den möglichen Länder-Codes 'abgespalten'. Diese Interface kann dann auch von Client-Programmen importiert werden.

Inhaltsverzeichnis:

Vorigerer Schritt: Einrichten des Projects 

Installationanleitung für frühere Version (vor EJB3-Standard) 

Vorbemerkung und Funktion des Codes 
Vorbedingungen 
Interface
CountryConstants mit statischen Werten für den Input erstellen 
Generelle Erklärung der Teile eines EJB 
Interface
ShowTimeDateBeanLocal mit den Methoden, für die ein Zugriff innerhalb des JAS erlaubt ist, erstellen 
Interface
ShowTimeDateBeanRemote mit den Methoden, für die ein Zugriff von Client-Programmen außerhalb des JAS erlaubt ist, erstellen 
Class
ShowTimeDateBean mit den Implementierungen der Methoden erstellen 

Gesamter Code am Ende des Schrittes 
Datei
CountryConstants.java 
Datei
ShowTimeDateBeanLocal.java 
Datei
ShowTimeDateBeanRemote.java 
Datei
ShowTimeDateBean.java 

Weitere Schritte und verwandte Dokumentation 

Nächster Schritt: Packen der Dateien in Java-Archive (JAR) und 'deploy' 

Installationsanleitung für die frühere Version (vor EJB3-Standard)

Wenn Sie vor der Aufgabe stehen, Code für ältere EJBs adaptieren zu müssen und die passende Anleitung dafür suchen dann beginnen Sie bitte mit
Tutorial: Einfache Session Bean (Java_EJB_01) – Einrichten des Projects.
Das äquivalente Dokument für Code-Muster ist
Tutorial: Einfache Session Bean (Java_EJB_01) – Codieren.
Zusätzlich brauchen Sie noch die Kenntnisse aus dem Schritt
Tutorial: Einfache Session Bean (Java_EJB_01) – XDoclet-Anweisungendie Tätoigkeiten dieses Schrittes entfallen bei der Entwicklung nach EJB3-Standard

zum Inhaltsverzeichnis

Vorbemerkung und Funktion des Codes

Ein Session-Bean ist ein Java Enterprise Bean ohne integrierte Funktionalität für die Verwaltung von 'persistenten' Daten – das sind Variable deren jeweiliger Wert auf einer Datenbank gespeichert werden muss.
Der Zugriff auf eine Datenbank kann aber einfach in einem Session Bean codiert werden; das wird in
Tutorial: Session-Bean mit Datenbank-Zugriff, EJB3-Standard - Codieren gezeigt.

Innerhalb einer 'Session' werden die Input-Daten verarbeitet und das Ergebnis (Output) an das Programm, dass die Session-Bean aufgerufen hat, zurückgeliefert. Dieses Konzept führt das schon seit Jahrzehnten bewährte Konzept der Transaktions-Verarbeitung weiter.

In diesem Tutorial wird:
* Als Input der ISO-Länder-Code für Deutsch (DE), Französisch (FR) und US-Englisch (US) akzeptiert.
* Im Session Bean das aktuelle Datum und die aktuelle Uhrzeit ermittelt.
* Im Session Bean ein länderspezifischer Text für Datum / Uhrzeit erstellt und dieser Text als Ergebnis zurück geliefert.

Dieses Beispiel wurde gewählt weil:
* Der Code für die Funktionalität sehr kurz ist und damit für das Codieren wenig Zeit verbraucht wird.
* Als Input nicht nur eine Variable eines einfachen Typs verwendet wird,
   sondern diese aus einem 'Set' erlaubter Eingaben sein muß.
   Damit wird ist es erforderlich, die Werte des Sets in einem 'Interface' zu definieren.
   Dieses Interface wird dann vom EJB und einem Client-Programm importiert
   und damit ist schon im Client-Programm eine Prüfung auf eine erlaubte Eingabe möglich.

Welche Methoden des EJB von einer Methode eines Client-Programms aufgerufen werden dürfen ist in einer Java-Interface-Datei (in diesem Beispiel ShowTimeDateBeanRemote.java) festgelegt.
Falls Methoden in dem EJB nicht von einem Client-Programm, aber von einer anderen Methode innerhalb des gleichen Java Application Servers (JAS) aufgerufen werden dürfen, sind diese erlaubten Methode ebenfalls in einer Java-Interface-Datei (in diesem Beispiel ShowTimeDateBeanLocal.java) zu definieren.

zum Inhaltsverzeichnis

Vorbedingungen

zum Inhaltsverzeichnis

Interface CountryConstants mit statischen Werten für den Input erstellen

Wie schon unter Vorbemerkung und Funktion des Codes erläutert, sind die erlaubten Werte für den Input des EJB in einem 'Set' definiert.
Dieses Set wird in einem Interface codiert.

Um ein neues Interface zu eröffnen wird mit der rechten Maustaste das Project (Java_EJB_05) angeklickt und aus dem Kontext-Menu >New>Interface ausgewählt.

  
  

Im darauf hin erscheinenden Fenster (New Java Interface) wird

  • Das 'Package' (js_ejb05.staticvalues) festgelegt.

  • Der Name der Interface (CountryConstants) festgelegt.

Die anderen bereits vorgegebenen Werte werden nicht verändert.

Durch Anklicken der Schaltfläche [ Finish ] wird die Datei für den Quell-Code der Interface angelegt.

  
  

Die erstellte Datei (mit der Java-Interface) ist im 'Package Explorer' von Eclipse gelistet.

  
  

Der Java-Code ist unter Gesamter Code am Ende des Schrittes > Datei CountryConstants.java dokumentiert und kann in die geöffnete Datei kopiert werden.
Anschließend wird der Code durch Anklicken des Save-Symbols ( / Diskette links oben) gespeichert.

Es folgt eine kurze Erklärung des Codes; wenn Ihre Zeit knapp ist können Sie die Erklärung auch überspringen und gleich mit dem Abschnitt Generelle Erklärung der Teile eines EJB fortsetzen.

Eine kurze Erklärung der einzelnen Teile des Codes:

zum Inhaltsverzeichnis

Generelle Erklärung der Teile eines EJB

Mit dem EJB3-Standard ist der Code für ein EJB auf (maximal) drei Dateien aufgeteilt:

  • Eine (Java-) Interface mit den Methoden, die von anderen EJB, die innerhalb des gleichen JAS (Java-Application-Server) laufen, aufgerufen werden können.
    Gekennzeichnet wird diese Interface durch die (in EJB3 neue) 'Injection'-Anweisung
    @Local.

    Den gesamten Code finden Sie im Abschnitt
    Datei ShowTimeDateBeanLocal.java.

    Die 'local'-Interface wird für das EJB in diesem Tutorial nicht benötigt.
    Sie wird aber erstellt um die gesamte 'Triologie' aus der ein EJB besteht zu zeigen.

  • Eine (Java-) Interface mit den Methoden die von Client-Programmen außerhalb des JAS aufgerufen werden können.
    Gekennzeichnet wird diese Interface durch die (in EJB3 neue) 'Injection'-Anweisung
    @Remote.

    Den gesamten Code finden Sie im Abschnitt
    Datei ShowTimeDateBeanRemote.java.

  • Eine Klasse mit den Variablen und Methoden des Beans.
    Die in den (Java-) Interfaces für 'Local' und 'Remote' definierten Methoden werden in dieser Klasse implementiert; d.h. mit Funktionalität versehen.
    Es können auch weitere Methoden implementiert werden – diese Methoden können dann aber nur innerhalb der Bean-Klasse aufgerufen werden.

    Ob das Bean vom JAS als 'stateless' oder 'stateful' behandelt wird, wird durch die 'Injection'-Anweisung
    @Stateless bzw. @Statefull festgelegt. Eine Erklärung zur Wirkungsweise von 'stateless' bzw. 'stateful' finden Sie im Dokument Überlegungen zum Entwurf von EJB (Enterprise Java Beans).

    Den gesamten Code für die Klasse finden Sie im Abschnitt
    Datei ShowTimeDateBean.java.

   Schematische Darstellung der einzelnen Teile für ein Enterprise Java Bean (EJB)
   und Aufruf-Möglichkeiten von innerhalb und außerhalb des JAS:
  
     

  



zum Inhaltsverzeichnis

Interface ShowTimeDateBeanLocal mit den Methoden für die ein Zugriff innerhalb des JAS erlaubt ist, erstellen

Die Tätigkeiten zur Eröffnung einer (Java-) Interface wurden bereits im Abschnitt Interface CountryConstants mit statischen Werten für den Input erstellen mit Abbildungen erläutert.
Daher wird in diesem Abschnitt nur mehr eine Anleitung in Stichworten gegeben.

Um ein neues Interface zu eröffnen wird mit der rechten Maustaste das Project (Java_EJB_05) angeklickt und aus dem Kontext-Menu >New >Interface ausgewählt.

Im darauf hin erscheinenden Fenster (New Java Interface) wird

Die anderen bereits vorgegebenen Werte werden nicht verändert.

Durch Anklicken der Schaltfläche [ Finish ] wird die Datei für den Quell-Code der Interface angelegt.

Die erstellte Datei (mit der Java-Interface) ist im 'Package Explorer' von Eclipse gelistet.

  
  

Der Java-Code ist unter Gesamter Code am Ende des Schrittes > Datei ShowTimeDateBeanLocal.java dokumentiert und kann in die geöffnete Datei kopiert werden.
Anschließend wird der Code durch Anklicken des Save-Symbols ( / Diskette links oben) gespeichert.

Wenn das importierte (Java-) Package und die 'Injection' @Local vom Compiler als fehlerhaft markiert werden

dann verwenden Sie eine J2EE-Version mit fehlender EJB3-Unterstützung.

Abhilfe dazu finden Sie unter
Tutorial: Einfache Session Bean, EJB-Standard (Java_EJB_05) – Einrichten des Projects > Einbindung der Libraries (Programm-Bibliotheken) in den Java Build Path.


Es folgt eine kurze Erklärung des Codes; wenn Ihre Zeit knapp ist können Sie die Erklärung auch überspringen und gleich mit dem Abschnitt Interface ShowTimeDateBeanRemote mit den Methoden, für die ein Zugriff von Client-Programmen außerhalb des JAS erlaubt ist, erstellen fortsetzen.

Eine kurze Erklärung der einzelnen Teile des Codes:

zum Inhaltsverzeichnis

Interface ShowTimeDateBeanRemote mit den Methoden, für die ein Zugriff von Client-Programmen außerhalb des JAS erlaubt ist, erstellen

Die Tätigkeiten zur Eröffnung einer (Java-) Interface wurden bereits im Abschnitt Interface CountryConstants mit statischen Werten für den Input erstellen mit Abbildungen erläutert.
Daher wird in diesem Abschnitt nur mehr eine Anleitung in Stichworten gegeben.

Um ein neues Interface zu eröffnen wird mit der rechten Maustaste das Project (Java_EJB_05) angeklickt und aus dem Kontext-Menu >New >Interface ausgewählt.

Im darauf hin erscheinenden Fenster (New Java Interface) wird

Die anderen bereits vorgegebenen Werte werden nicht verändert.

Durch Anklicken der Schaltfläche [ Finish ] wird die Datei für den Quell-Code der Interface angelegt.

Die erstellte Datei (mit der Java-Interface) ist im 'Package Explorer' von Eclipse gelistet.

  
  

Der Java-Code ist unter Gesamter Code am Ende des Schrittes > Datei ShowTimeDateBeanRemote.java dokumentiert und kann in die geöffnete Datei kopiert werden.
Anschließend wird der Code durch Anklicken des Save-Symbols ( / Diskette links oben) gespeichert.

Wenn das importierte (Java-) Package und die 'Injection' @Remote vom Compiler als fehlerhaft markiert werden

dann verwenden Sie eine J2EE-Version mit fehlender EJB3-Unterstützung.

Abhilfe dazu finden Sie unter
Tutorial: Einfache Session Bean, EJB-Standard (Java_EJB_05) – Einrichten des Projects > Einbindung der Libraries (Programm-Bibliotheken) in den Java Build Path.



Es folgt eine kurze Erklärung des Codes; wenn Ihre Zeit knapp ist können Sie die Erklärung auch überspringen und gleich mit dem Abschnitt Class ShowTimeDateBean mit den Implementierungen der Methoden erstellen fortsetzen.

Eine kurze Erklärung der einzelnen Teile des Codes:

zum Inhaltsverzeichnis

Class ShowTimeDateBean mit den Implementierungen der Methoden erstellen

Um eine neues Java-Klasse zu eröffnen wird mit der rechten Maustaste das Project (Java_EJB_05) angeklickt und aus dem Kontext-Menu >New >Class ausgewählt.

  
  

Im darauf hin erscheinenden Fenster (New Java Class) wird

  • Das 'Package' (js_ejb05.ejb.beans) festgelegt.

  • Der Name der Klasse (ShowTimeDateBean) festgelegt.

Die anderen bereits vorgegebenen Werte werden nicht verändert.

Durch Anklicken der Schaltfläche [ Finish ] wird die Datei für den Quell-Code der Klasse angelegt.

  
  

Die erstellte Datei (mit der Java-Klasse) ist im 'Package Explorer' von Eclipse gelistet.

  
  

Der Java-Code ist unter Gesamter Code am Ende des Schrittes > Datei ShowTimeDateBean.java dokumentiert und kann in die geöffnete Datei kopiert werden.
Anschließend wird der Code durch Anklicken des Save-Symbols ( / Diskette links oben) gespeichert.

Wenn das importierte (Java-) Package und die 'Injection' @Stateless vom Compiler als fehlerhaft markiert werden

dann verwenden Sie eine J2EE-Version mit fehlender EJB3-Unterstützung.

Abhilfe dazu finden Sie unter
Tutorial: Einfache Session Bean, EJB-Standard (Java_EJB_05) – Einrichten des Projects > Einbindung der Libraries (Programm-Bibliotheken) in den Java Build Path.



Es folgt eine kurze Erklärung des Codes; wenn Ihre Zeit knapp ist können Sie die Erklärung auch überspringen und gleich mit dem nächsten Schritt des Tutorials (Tutorial: Einfache Session Bean, EJB3-Standard (Java_EJB_05) – Packen in JAR-Datei und 'deploy') fortsetzen.

Die Erklärung erfolgt nur für Codeteile die speziell für ein EJB entsprechend dem EJB3-Standard und dadurch bedingter Entwurfsentscheidungen notwendig sind.
Der Algorithmus und die Java-Anweisungen für die Ermittlung von Datum und Zeit und die Darstellung in einer sprachspezifischen Zeichenkette werden als bekannt vorausgesetzt.

Eine kurze Erklärung der einzelnen Teile des Codes:

zum Inhaltsverzeichnis

Gesamter Code am Ende des Schrittes

Datei CountryConstants.java

package js_ejb05.staticvalues;
 
import
java.util.*;
/**
 *
 * @author kurt(at)javascout[dot]biz
 * @date 2009-02-07
 *
 * @description
 *  Interface mit den Werten für möglichen Input in das EJB
 *  Java_EJB_05 (erstellt im Tutorial für das Session Bean).
 *  Nähere Beschreibungen sind bei den Datenstrukturen zu finden.
 *
 * @change-log
 * when         who               why
 * --------------------------------------------------------
 *
 */

public interface CountryConstants {
/*
 * Zwei-dimensionales Array für die 'implementierten' Länder-Codes und
 * den erklärenden Text in der jeweiligen Landessprache. */
    public static final String[][] Country = {
      {
"US", "Time/Date-representation in US-style"},
      {
"FR", "Indication de Temps et Date en Format francaise"},
      {
"DE", "Datums/Zeit-Anzeige in deutschem Format"},
    };
/*
 * Array für die 'Locale' der einzelnen Länder. Im Locale iat auch
 * die Information, wie Datum/Zeit in einem Textstring dargestellt wird. */
    public static final Locale[] Country_Locale = {
      Locale.
US,
      Locale.
FRANCE,
      Locale.
GERMANY,
    };
}

zum Inhaltsverzeichnis

Datei ShowTimeDateBeanLocal.java

package js_ejb05.ejb.interfaces.local;
/*
 * Basisklasse für die 'lokale' Funktionalität eines EJB gemäß dem EJB3-Standard.
 * 'Lokal' bedeutet, dass die Methoden des EJB von einem anderen EJB innerhalb des
 * Java-Application-Server (JAS) aufrufbar sind.
 * Die Funktionalität dieser Basisklasse wird nicht durch 'Vererbung' übertragen
 * sondern durch die (im EJB3-Standard neue) 'Injection': @Local . */

import
javax.ejb.Local;
/* 'Injection' der Funktionalität für ein 'lokales' EJB */
@Local
/**
 *
 * @author kurt(at)javascout[dot]biz
 * @date 2009-02-07
 *
 * @description
 *  Interface mit den Methoden die von anderen EJBs innerhalb des JAS aufrufbar sind.
 *
 * @change-log
 * when         who               why
 * --------------------------------------------------------
 *
 */

public interface ShowTimeDateBeanLocal {
/*
 * Methode zum Bilden einer länder-spezifischen Zeichenkette mit aktuellem Datum und Uhrzeit.
 * Die Implementierung der Methode erfolgt in der Klasse 'ShowTimeDateBean'. */
    public String[] getTimeDateString(String parmCountryCode);
}

zum Inhaltsverzeichnis

Datei ShowTimeDateBeanRemote.java

package js_ejb05.ejb.interfaces.remote;
/*
 * Basisklasse für die 'entfernte' Funktionalität eines EJB gemäß dem EJB3-Standard.
 * 'Entfernt / remote' bedeutet, dass die Methoden des EJB von einem Client-Programm
 * außerhalb des Java-Application-Server (JAS) aufrufbar sind.
 * Die Funktionalität dieser Basisklasse wird nicht durch 'Vererbung' übertragen
 * sondern durch die (im EJB3-Standard neue) 'Injection': @Remote . */

import
javax.ejb.Remote;
/* 'Injection' der Funktionalität für ein 'remote' EJB */
@Remote
/**
 *
 * @author kurt(at)javascout[dot]biz
 * @date 2009-02-07
 *
 * @description
 *  Interface mit den Methoden die von Client-Programmen außerhalb des JAS aufrufbar sind.
 *
 * @change-log
 * when         who               why
 * --------------------------------------------------------
 *
 */

public interface ShowTimeDateBeanRemote {
/*
 * Methode zum Bilden einer länder-spezifischen Zeichenkette mit aktuellem Datum und Uhrzeit.
 * Die Implementierung der Methode erfolgt in der Klasse 'ShowTimeDateBean'. */
    public String[] getTimeDateString(String parmCountryCode);
}

zum Inhaltsverzeichnis

Datei ShowTimeDateBean.java

package js_ejb05.ejb.beans;
/*
 * Basisklasse für ein Stateless Session Bean.
 * >Stateless< bedeutet, dass in einem Bean-Objekt keine Werte 'aufgehoben' werden.
 * Durch die Anweisung 'Stateless' braucht der JAS (Java Application Server) nicht ein
 * neues Objekt der Bean konstruieren wenn eine Anforderung eines anderen Clients erfolgt
 * sondern kann die angeforderte Methode des bereits bestehenden Bean-Objekts ausführen.
 * Die Funktionalität dieser Basisklasse wird nicht durch 'Vererbung' übertragen
 * sondern durch die (im EJB3-Standard neue) 'Injection': @Stateless . */
import javax.ejb.Stateless;
/*
 * Basisklassen für die Ermittlung von aktuellem Datum und Uhrzeit und Umwandlung in
 * länderspezifischen Text. */
import java.text.DateFormat;
import java.util.Date;
/*
 * Interface mit den definierten Länder-Codes und dazu passender (Java-Klasse) 'Locale'. */
import js_ejb05.staticvalues.CountryConstants;
/*
 * Interfaces mit den Methoden die für 'lokalen' und 'entfernten / remote' Aufruf freigegeben sind. */
import js_ejb05.ejb.interfaces.local.*;
import js_ejb05.ejb.interfaces.remote.*;
/*
 * >Injection< der Funktionalität für ein >stateless< EJB. */
@Stateless(name="Java_EJB_05_Tutorial", mappedName="ejb/ShowTimeDateBeanJNDI")
/**
 *
 * @author kurt(at)javascout[dot]biz
 * @date 2009-02-07
 *
 * @description
 *  Klasse für das Session-Bean Java_EJB_05 – erstellt im gleichnamigen Tutorial.
 *  Nähere Beschreibungen der Funktionalität sind bei den Methoden zu finden.
 *
 * @change-log
 * when         who               why
 * --------------------------------------------------------
 *
 */
public class ShowTimeDateBean implements ShowTimeDateBeanLocal, ShowTimeDateBeanRemote {
/*
 * Implementierung derMethode zum Bilden einer länder-spezifischen Zeichenkette
 * mit aktuellem Datum und Uhrzeit. */
    public String[] getTimeDateString(String parmCountryCode) {
/* Array für return erstellen. */
      String[] arrayReturnValue =
new String[2];
/* 1. Teil des Array: übergebener Länder-Code. */
      arrayReturnValue[0] = parmCountryCode;
/* 2. Teil des Array: vorläufig Fehler-Hinweis;
 *                    wenn übergebener Wert gültig ist: Text mit Datum Uhrzeit später. */

      arrayReturnValue[1] =
"Unbekannter Länder-Code";
/*
 * Durchsuchen des Arrays ob der Input-Parameter darin vorhanden ist. */

      
int intIndex;
      
int intCountryArraySize = CountryConstants.Country.length;
      
for (intIndex = 0; intIndex < intCountryArraySize; intIndex++) {
/* Vergleichen ob der Länder-Code aus dem Input-Parameter jenem im Array entspricht. */
        
if (parmCountryCode.trim().compareToIgnoreCase(
              CountryConstants.
Country[intIndex][0].trim()) == 0) {
/* Passenden Array-Eintrag gefunden;
 * Zeit/Datum ermitteln, in Länderspezifischen String bringen und zurückliefern. */

          Date now =
new Date();
/* Sprachspezifischen String in den Länderspezifischen String übertragen. */
          arrayReturnValue[1] = CountryConstants.
Country[intIndex][1] + ": ";
/* Datum in voller Länge entsprechend dem länderspezifischen Format aufbereiten
 * und zum Länderspezifischen String hinzufügen. */

          arrayReturnValue[1] += DateFormat.getTimeInstance(
              DateFormat.
FULL, CountryConstants.Country_Locale[intIndex]).format(now);
/* for-loop beenden. */
          
break;
        }
      }
/*
 * Gefülltes Array zurückliefern. */

      
return arrayReturnValue;
    };
}

zum Inhaltsverzeichnis

Weitere Schritte und verwandte Dokumentation

Dokument

Inhalt

Tutorial: Einfache Session Bean, EJB3-Standard (Java_EJB_05) – Packen der Dateien in Java-Archive (JAR) und 'deploy'  

Im nächsten Schritt des Tutorial wird beschrieben, wie die Java-Archive-Datei (JAR) generiert wird, die an den Java-Application-Server (JAS) übergeben ('deployed') wird.
Weiters wird eine JAR-Datei mit den für ein Client-Programm notwendigen Klassen und Interfaces erstellt.

zum Inhaltsverzeichnis