Entwicklungsumgebungen

1                     Themenübersicht

Um Anwendungen für Comarch ERP Enterprise entwickeln zu können, müssen auf dem Rechner die benötigten Entwicklungs­werkzeuge wie das JDK und Eclipse installiert und die Entwicklungsumgebung eingerichtet werden. Die Unterstützung von Comarch ERP Enterprise für die einzelnen Entwicklungswerkzeuge beinhaltet Generierungstools für Projekte, Installations- und Handhabungshinweise und ein spezielles Comarch-ERP-Enterprise-Ecplise-Plugin.

In diesem Dokument ist beschrieben, was zu beachten ist, wenn eine Entwicklungsumgebung eingerichtet wird. Es erklärt die Handhabung des Generierungstools. Die Einrichtung des Comarch-ERP-Enterprise-Eclipse-Plugins, seine Handhabung und Funktionsweise werden ebenfalls beschrieben.

2                     Zielgruppe

  • Entwickler

Administratoren

3                     Voraussetzungen

Für die Anwendungsentwicklung im Comarch-ERP-Enterprise-System steht dem Partnerunternehmen das System Development Kit (SDK) zur Verfügung. Neben den entsprechenden Fachkenntnissen sind ein Java™ Development Kit (JDK) und eine Java™ IDE mit Compiler, Editor und Debugger Voraussetzung.

4                     Konventionen

Um die Effektivität der Schulungen, der Fehleranalyse und der Unterstützung im Supportfall zu erhöhen, werden verschiedene Konventionen für die Java-Entwicklung festgelegt und vorausgesetzt.

4.1               Installation des JDK

Dadurch, dass die unterschiedlichen JDKs, die bei den Kunden installiert sind, in der Entwicklungsumgebung vorhanden sein müssen, werden die Ordnernamen für die Installation festgelegt. Es müssen die einzelnen Versionen in separate Ordner installiert werden. Die Ordner haben einem betriebssystemspezifischen Präfix, gefolgt von der Version und dem Patchlevel des JDK. Der Präfix lautet für Windows „C:\jdk“ und für Linux „/opt/cisag/jdk/j2sdk“.

Beispiel:
Das JDK 1.6.0 Update 35 wird auf einem Windows-Rechner in den Ordner „C:\jdk1.6.0_35“ installiert. Das Update 37 in „C:\jdk1.6.0_37“.
Bei Linux wird das JDK 1.6.0 Update 35 in „/opt/cisag/jdk/j2sdk1.6.0_35“ installiert.

Hinweis:
Seit Java 5 bzw. JDK 1.5 nennt SUN den Patchlevel „Update“.

4.2               Kompatibilität des Sourcecodes

In Semiramis 4.2 bleibt der Sourcecode kompatibel zu Java 1.4. Da als Laufzeit Java 1.5 vorausgesetzt wird, können die neuen APIs von Java 1.5 verwendet werden. Die Syntaxerweiterungen von Java 1.5 können noch nicht verwendet werden.

4.3               Lokale Arbeits-Ordner

Für die Entwicklung wird eine einheitliche Ordnerstruktur vorausgesetzt. Bei einem Einzelplatz wird unter Windows das Ordner „C:\semiramis“ erwartet. Unterhalb dieses Ordners gibt es pro Release ein Unterordner. Innerhalb der Ordner für die Releases gibt es pro System ein Ordner. Innerhalb des Ordners für das System gibt es ein Ordner „semiramis“ in dem die Ordner „source“,, für die Quellen, und „classes“, für die übersetzten Klassen, vorhanden sind. Auf einem Rechner, der von mehreren Benutzer gleichzeitig verwendet wird, z.B. ein Terminalserver, sollte pro Benutzer ein Home-Ordner als Laufwerk verbunden sein. In diesem Laufwerk ist dann die angegebene Ordnerstruktur zu finden.

Beispiel:

4.4               Namen der ERP-System-Application-Server

Jeder Entwickler benötigt einen ERP-System-Application-Server (SAS), den er in der IDE starten kann. Mit diesem SAS kann die Entwicklung überprüft werden. Wenn Eclipse als Entwicklungsumgebung verwendet wird, sollten der Name des SAS, der Name des Comarch-ERP-Enterprise-Benutzers und der Name des Betriebssystem-Benutzers des Entwicklers gleich lauten. Diese Empfehlung verringert den Konfigurationsaufwand für das Starten der SAS in den IDEs. Der Name des Betriebssystem-Benutzers des Entwicklers wird in der „.launch“-Datei als Name des ERP-System-Application-Servers verwendet und ist die Grundlage für die Bestimmung des Comarch-ERP-Enterprise-Benutzers für die Toolshell des gestarteten SAS.

5                     Entwicklungsumgebung einrichten

Mit dem Tool „crtdvf“ können die benötigten Entwick­lungsumgebungs-Dateien, wie Eclipse-Pro­jekt- und Bibliotheks-Dateien, der lokale Arbeits-Ordner, die Verknüpfungen zum Öffnen und Initialisieren der Kommandozeile des Betriebssystems erzeugt werden. Bei der Erzeugung wird standardmäßig das Standard-JDK des Comarch-ERP-Enterprise-Systems verwendet. Andere JDKs können, sofern sie unterstützt werden, explizit angegeben werden. Welches JDK das Standard-JDK ist, entnehmen Sie bitten der Dokumentation Systemvoraussetzungen. Das Tool „crtdvf“ ist in der Dokumentation Entwicklungs-Dateien erzeugen beschrieben.

5.1               Entwicklungsumgebung für Eclipse einrichten

Comarch ERP Enterprise unterstützt die Entwicklung mit Eclipse auf verschiedene Art und Weise. Für Eclipse werden Plugins und Projekte zur Verfügung gestellt. Außerdem bietet das Plugin folgende wesentliche Funktionen:

  • Projekte für Entwicklungsaufgabe importieren
  • Importe überprüfen
  • Navigation in Stacktraces
  • Klassensuche und Sourcenvergleich

5.1.1          Voraussetzungen

JDK-Voraussetzungen

Für die Verwendung des Comarch-ERP-Enterprise-Eclipse-Plugins ist eine der folgenden JDK-Versionen notwendig:

  • 6.0_35
  • 7.0
  • 7.0_07
Eclipse-Voraussetzungen

Für die Verwendung des Comarch-ERP-Enterprise-Eclipse-Plugins ist eine der folgenden Eclipse-Versionen notwendig:

  • Eclipse 3.6
  • Eclipse 3.7

5.1.2          Comarch-ERP-Enterprise-Eclipse-Plugin installieren

Im Unterordner „files\install\eclipse“ eines Comarch-ERP-Enterprise-System werden das Comarch-ERP-Enterprise-Eclipse-Plugin und eine Erweiterung von Eclipse ausgeliefert. Für jede Unterstützte Eclipse-Version ist ein eigener Unterordner einhalten.

Das Comarch-ERP-Enterprise-Eclipse-Plugin und die Eclipse-Erweiterung werden installiert, in dem der Inhalt des Ordners mit der Eclipse-Version in den Installations-Ordner von Eclipse kopiert wird.

5.1.3          Eclipse einrichten

Um Anwendungen für Comarch ERP Enterprise mit Eclipse entwicklen zu können, müssen verschiedene Einstellungen vorgenommen werden. Einige Einstellungen sind nur beim ersten Öffnen von Eclipse notwendig, andere müssen pro Entwicklungssystem oder gar pro Entwicklungsaufgabe vorgenommen werden.

5.1.3.1      Hauptspeicher zuweisen

Um Eclipse mit Comarch ERP Enterprise verwenden zu können, muss Eclipse beim Öffnen zusätzlicher Hauptspeicher zugewiesen werden. In der Verknüpfung, die Eclipse öffnet, können nach dem Parameter „-vmargs“ weitere Parameter für die Java-Virtual-Machine angegeben werden. Um zusätzlichen Hauptspeicher zu konfigurierten verwenden Sie den JVM-Parameter „-Xmx“.

Beispiel:
C:\Programme\eclipse\eclipse.exe -vm C:\jdk1.6.0_35\bin\javaw -vmargs -server -Xmx512m

5.1.3.2      Comarch-ERP-Enterprise-Benutzer angeben

Für das Importieren von Projekten ist ein Comarch-ERP-Enterprise-Benutzer notwendig. Diese Daten geben Sie wie folgt ein:

  1. Wählen Sie in der Eclipse-Menüleiste das Menü „Window“.
  2. Wählen Sie im Window-Menü den Eintrag „Preferences“.
    • Ein Dialogfenster öffnet sich.
  3. Wählen Sie links im Dialogfenster den Eintrag „Comarch-ERP-Enterprise-Eclipse-Plugin“.
    • Auf der rechten Seite werden die möglichen Einstellungen angezeigt.
  4. Geben Sie in das Feld „Comarch-ERP-Enterprise-Benutzer“ den entsprechenden Benutzer ein und bestätigen Sie Ihre Eingaben.

In Abschnitt „Namen der ERP-System-Application-Server wird empfohlen, den Namen des Betriebssystem-Benutzers, die Namen des Comarch-ERP-Enterprise-Benutzers und den Namen des ERP-System-Application-Servers gleich zu wählen, um den Konfigurationsaufwand zu minimieren. Wenn die Namen der Betriebssystem-Benutzers beispielweise die Form „Vorname.Nachname“, kann diese Empfehlung nicht eingehalten werden. Beim Öffnen von Eclipse kann hierfür der Name des Betriebssystem-Benutzers übersteuert werden. Verwenden Sie dazu den Parameter „-Duser.name“ um den Namen des Comarch-ERP-Enterprise-Benutzer anzugeben.

Beispiel:
C:\Programme\eclipse\eclipse.exe -vm C:\jdk1.6.0_35\bin\javaw -vmargs -server -Xmx512m -Duser.name=SEMUSER

Diese Anpassung wirkt sich auf den Eclipse aktiven Benutzer aus, d.h. beim Importieren von Projekten für Entwicklungsaufgaben wird der so angegebene Benutzer verwendet. Auf die „.launch“-Datei, d.h. den Namen des Application-Servers, hat dies keinen Einfluss.

Bei Verwendung von Microsoft Windows für die Entwicklung, kann zudem auch das manuelle Anpassen der „.launch“-Datei umgangen werden. Dazu muss Eclipse mit einer Command-Datei geöffnet werden. In dieser Datei muss vor dem Öffnen von Eclipse die Umgebungsvariable „USERNAME“ auf den gewünschten Comarch-ERP-Enterprise-Benutzer gesetzt werden. Das folgende Beispiel enthält zwei Zeilen. In der ersten Zeile wird der Benutzername gesetzt, in der zweiten Zeile wird Eclipse geöffnet.

Beispiel „strecl.cmd“:
SET USERNAME=<Comarch-ERP-Enterprise-Benutzername>
start /b “Eclipse” “C:\Programme\eclipse.exe” -vm C:\jdk1.6.0_35\bin\javaw -vmargs -server –Xmx512m

5.1.3.3      Einrichtung beim ersten Öffnen

Beim ersten Öffnen von Eclipse muss ein Arbeitsbereich (Ordner „workspace“) zuge­ordnet werden. Der Arbeitsbereich wird üblicherweise in dem Comarch-ERP-Enterprise-Ordner des Entwicklers abgelegt. Bei einem Einzelplatz ist das „C:\semiramis\workspace“. Dieser Arbeitsbereich wird als Standard definiert.

Hinweis:
Wenn mit vielen Projekten gearbeitet wird, kann es sinnvoll sein, den Arbeitsbereich aufzuteilen. Der Arbeitsbereich kann Eclipse beim Öffnen durch dem Parameter „-data“ übergeben werden.

Beispiel:
C:\Programme\eclipse\eclipse.exe –data C:\semiramis\workspace -vm C:\jdk1.6.0_35\bin\javaw -vmargs -server -Xmx512m

Um mit Eclipse zu arbeiten muss die Java-Perspektive ausgewählt werden. Die Begrüßungsperspektive muss geschlossen werden, bevor die Java-Perspektive sichtbar wird.

 

Die wichtigste Ansicht in der Java-Perspektive ist der Package-Explorer. Wenn Sie diese Ansicht nicht auf der linken Seite sehen, so kann dieser im Menü „Window/Show View/Package Explorer“ hinzugefügt werden. Im „Package Explorer“ wird ein Namensfilter für „*.userlibraries“ und „*_www“ empfohlen. Das Menü  des „Package Explorers“ kann der Filter definiert werden.

 

Der Namensfilter muss aktiviert und mit „*.userlibraries, *_www“ gefüllt werden.

 

Als nächstes muss das JDK definiert sein. Die Definition erfolgt im Menü „Windows/Preferences/Java/Installed JREs“. Mit der Aktion „Add“ kann das Standard-JDK defi­niert werden. Der Name des JDK soll immer auch die Updateversion enthalten, z. B. „jdk1.6.0_35“.

 

5.1.3.4      Einrichten eines Entwicklungssystems

Nachdem die initiale Konfiguration von Eclipse vorgenommen wurde, müssen die Eintellungen für das Entwicklungssystem vorgenommen werden.

Projekte für Eclipse erzeugen

Im nachfolgenden Beispiel werden die Dateien und Ordner für das System „SEM420DV“ des Releases Semira­mis 4.2 (technischer Name „V4R2M0“), welches im Ordner „R:\V4R2M0\SEM420DV“ installiert ist, für den lokalen Arbeits-Ordner „C:\semiramis“ erzeugt. Die benötigten Dateien für Eclipse werden im Ordner „C:\semira­mis\templates“ im Unterordner „SEM420DV“ abgelegt. Die Vorlagen für die Projekt-Dateien und die Ordnerstruktur für den Arbeits-Ordner werden im Ordner „C:\semiramis“ erzeugt. Die Startmenü-Einträge inklusive der SAS-Toolshell-Konfigurationen werden im Ordner „C:\menu“ erstellt.

crtdvf -releasesDir:R:/
-localWorkDir:c:/semiramis
-release:V4R2M0
-system:SEM420DV
-createEclipseFiles
-templatesDir:c:/semiramis
-startMenuDir:c:/menu

Mit dem Ausführen des Befehls werden folgende Ordner inkl. ihres Inhalts auf dem Laufwerk „C:\“ erzeugt.

Benutzerbibliothek importieren

Das Eclipse-Projekt besteht aus mehreren Dateien. Diese Dateien wurden im Ordner „C:\semiramis\templates\SEM420DV“ erzeugt. Bevor das Projekt importiert wird, muss die Benutzerbibliothek für das System importiert werden. Der Import erfolgt über das Menü „Window/Prefe­rences/Java/Build Path/User Libraries/Import“.

 

Die zu importierende Datei mit der Benutzerbibliothek für das Projekt heißt für das im vorherigen Kapitel gezeigte Beispiel „C:\semiramis\templates\SEM420DV\SEM420DV_lib.userlibraries“.

 

Hinweis:
Wenn mit Comarch ERP Enterprise neue Bibliotheken ausgeliefert werden, müssen die „.userlibraries“-Dateien neu generiert und anschließend erneut in Eclipse importiert werden. Beim Importieren erstellt Eclipse eine Kopie der Daten. Eine Veränderung in der Datei wird somit erst bei einem erneuten Import sichtbar.

Ecplise-Projekt für das System importieren

Anschließend kann im Kontextmenü des Package-Explorer der Importvorgang gestartet werden. Dazu muss die Aktion „Existing project into workspace“ für den Import ausgewählt werden.

Für das Beispiel muss der Ordner „C:\semira­mis\templates\SEM420DV“ importiert werden.

Das System-Projekt

Nach dem Import kann in dem Projekt entwickelt werden. Der Aufbau des System-Projekts wird kurz beschrieben.

 

Das Projekt besteht im Package-Explorer aus mehreren Komponenten:

  • source
    Der „source“-Ordner ist der lokale Source-Ordner. Darin können die „server.properties“ abgelegt sein. Im Beispiel ist das der Ordner „C:/semiramis/V4R2M0/SEM420DV/semiramis/source“.
  • SEM420DV_classes
    Der „SEM420DV_classes“-Ordner enthält die Comarch-ERP-Enterprise-Klassen. Den Klassen ist der Sourcecode zugeordnet. Wenn eine Klasse geöffnet wird, wird der zugeordnete Sourcecode angezeigt.
  • SEM420DV_lib
    Der „SEM420DV_lib“-Eintrag ist die Benutzerbibliothek für „SEM420DV“, die vor dem Projekt importiert wurde.
  • JRE System Library
    Der „JRE System Library“-Eintrag enthält die Definition des JDKs.
  • SEM420DV_source
    Der „SEM420DV_source“-Ordner enthält die Sourcen. Er wird ein zweites Mal eingeblendet, um eine rein textuelle Suche zu unterstützen. Im normalen Arbeitsablauf wird dieser Ordner kaum benötigt.
  • xml
    Diese xml-Datei enthält die Definition für die JavaDoc-Erzeugung. Im Kontextmenü der Datei kann mit „Run As/Ant Build“ die Dokumentation für den Sourcecode erzeugt werden, der in source abgelegt ist.
  • jpage
    Wenn diese Datei im Editor geöffnet ist, können einfach Java-Ausdrücke direkt ausgewertet werden. Dazu muss der Ausdruck markiert sein und über das Kontextmenü ausgeführt werden.
  • launch
    Die „SEM420DV.launch“-Datei enthält die Konfiguration für den Start des ERP-System-Application-Servers. Durch das Kontextmenü der Datei „Run As/Run“ bzw. „Debug As/Debug“ kann die Konfiguration bearbeitet oder ausgeführt werden. Nach dem ersten Ausführen ist die Konfiguration im Menü für „Debug“ bzw. „Run“ aufrufbar.

Hinweis:
Nach dem ersten Öffnen eines Projektes kann eine gewisse Zeit vergehen, bis bei der Navigation in dem „SEM420DV_classes“-Ordner der Sourcecode angezeigt wird. Wenn eine Klasse zu früh geöffnet wird, zeigt Eclipse eine Seite, auf der nur die Methoden aufgelistet sind. Den Sourcecode dieser Klasse zeigt Eclipse erst nach dem Indizieren und einem erneuten Öffnen von Eclipse an.

Hinweis:
Die Konfiguration für das Starten ist nicht automatisch ausgewählt, wenn für das „Run As“ bzw.das  „Debug As“ ein Dialog-Fenster geöffnet wird.

Hinweis:
In der „.launch“-Datei wird der Name des Betriebssystem-Benutzers als Name des ERP-System-Application-Servers verwendet. Wenn Sie der Empfehlung im Abschnitt Namen der ERP-System-Application-Server nicht folgen können, beachten Sie die Hinweise im Abschnitt Comarch-ERP-Enterprise-Benutzer angeben.

5.1.3.5      Projekte für die Entwicklungsaufgabe importieren

Um eine in einer Entwicklungsaufgabe gesperrte Java-Klasse in Eclipse zu bearbeiten, müssen zwei weitere Pro­jekte importiert werden. Die dafür benötigten Dateien wer­den beim Hinzufügen eines Bearbeiters zu einer Entwicklungsaufgabe automatisch unterhalb des Arbeits-Ordners der Entwicklungsaufgabe erzeugt. Zuerst muss das „common“-Projekt der Entwicklungsaufgabe importiert werden. Dies liegt im „common“-Ordner der Entwick­lungsaufgabe. Anschließend muss das Projekt aus dem „usr“-Ordner importiert werden. Der Import kann durch den normalen Import von Projekte, wie beim Projekt für das Entwicklungssystem beschrieben, erfolgen. Als komfortable Alternative wird der Import mit dem Comarch-ERP-Enterprise-Ecplise-Plugin empfohlen.

5.1.3.6      Source-Code-Formatierer einrichten

Nachdem Sie das Eclipse-Projekt importiert haben, müssen Sie den Source-Code-Formatierer von Eclipse einrichten. Öffnen Sie die Eigenschaften des Formatierers über „Project/Properties/Java-Code-Style/Formatter“:

Aktivieren Sie die projektspezifischen Einstellungen durch die Check-Box „Enable project specific settings“. Importieren Sie die Formatierungseinstellungen durch das Drücken des Buttons „Import“ und wählen Sie dann die Datei

files/com/cisag/sys/repository/tools/SourceFormatDefinition.xml

aus dem Dateiserver-Verzeichnis des Comarch-ERP-Enterprise-Systems aus. Drücken Sie den Button „OK“, um Ihre Änderungen zu übernehmen.

5.1.3.7      SEMIRAMIS_CLASS_VERSION

Eclipse biete die Möglichkeit, nicht benutzte Methoden und Variablen zu identifizieren und zu markieren. Jede Klasse, die für Comarch ERP Enterprise entwickelt wird, wird mit einer statischen Konstante versehen, der SEMIRAMIS_CLASS_VERSION. Die SEMIRAMIS_CLASS_VERSION dient der Fehlererkennung und wird beispielsweise in den Stacktraces von Exceptions ausgegeben. Die Markierung kann ausgeblendet werden, indem in der Ansicht „Problems“ ein Filter auf die anzuzeigenden Probleme erstellt wird.

5.1.4          Verwenden des Comarch-ERP-Enterprise-Eclipse-Plugins

In diesem Abschnitt werden die Verwendungen und die Funktionsweisen der Komponenten des Comarch-ERP-Enterprise-Eclipse-Plugins beschrieben.

5.1.4.1      Projekte für die Entwicklungsaufgabe importieren

Wenn das System-Projekt mithilfe des Befehls „crtdvf“ erzeugt wurde, bietet das Comarch-ERP-Enterprise-Eclipse-Plugin eine Unterstützung für das Importieren. Der Import von Projekten für Entwicklungsaufgaben kann auf zwei Arten ausgeführt werden.

Der Importvorgang kann im Kontextmenü des Comarch-ERP-Enterprise-Projekts mit dem Menüeintrag „Import project for development task…“ gestartet werden.

Alternativ kann im Import-Dialog-Fenster der Wizard „Import project for development task“ gestartet werden.

 

Auf dem Import-Dialog-Fenster kann nun die Entwicklungsaufgabe eines Benutzers importiert werden. Dazu muss ein Benutzer und die Entwicklungsaufgabe ausgewählt werden. Durch drücken des „Finish“-Buttons werden sowohl das „common“- als auch das Benutzer-Projekt importiert.

 

Die importierten Projekte sind so ähnlich aufgebaut, wie das Hauptprojekt. Der wesentliche Unterschied ist, dass das „common“-Projekt abhängig von System-Projekt ist. Das Benutzer-Projekt ist wiederum vom „common“-Projekt abhängig.

 

5.1.4.2      Importe überprüfen

Die Komponente „Importe überprüfen“ überprüft verschiedene Konstellationen im Sourcecode einer Java-Klasse:

  • „AUTOGUID“ ersetzen
    Für die Elemente der grafische Oberfläche und die Berechtigungsvergabe für diese Elemente, wird eine eindeutige Identifizierung benötigt. Die übernimmt in Comarch ERP Enterprise bekanntlich die Guid. Um in der Entwicklung von Anwendungen eine Guid erstellen zu können, gibt es den Ausdruck „Guid.AUTOGUID“. Dieser Ausdruck wird durch eine konkrete, frisch erzeugte Guid ersetzt.
  • Prüfung auf doppelte Verwendung von Guids
    Die Identifizierungen der Elemente für die grafische Oberfläche müssen eindeutig sein. Deshalb wird überprüft, ob eine Guid mehrfach verwendet wird und ggf. eine Warnung erzeugt.
  • Alle nicht benötigten Importe entfernen.
    Dies verringert die Abhängigkeiten der Java-Klassen untereinander.
  • Expandieren von Package-Importen
    Um Fehler bei Package-Importen zu vermeiden, werden alle Package-Importe in konkrete Importe pro Klasse erweitert. Dadurch kann eine neu eingeführte Java-Klasse nicht plötzlich zu einem Fehler führen. Zusätzlich wird dir Abhängigkeitserkennung verbessert.
  • Importe sortieren und gruppieren
    Die Importe werden sortiert und nach Packages gruppiert.
  • Überflüssige Semikolons werden entfernt.
    In der Entwicklung kann es vorkommen, dass Zeilen mit zwei Semikolons enden. Z.B. „private int number = 0;;“. Dies kann bei verschiedenen Versionen des Java-Compilers zu Fehlermeldungen führen. Da dieses Semikolon keinerlei syntaktische Bedeutung hat, kann es entfernt werden.

Hinweis:
Diese Funktionen werden auch beim Checkin ausgeführt. Einzig das Expandieren der Package-Importe muss manuell erfolgen, damit eine Überprüfung durch den Entwickler stattfindet. Vorhandene Package-Importe verhindern das „checkin“ der Java-Klasse.

Die Komponente kann in den Kontextmenüs eines Projekts, des Ordners „source“, eines Packages, oder einer konkreten Java-Klasse aufgerufen werden, in dem der Menüeintrag „Check imports“ ausgewählt wird.

 

5.1.4.3      Navigation in Stacktraces

Es ist in Eclipse möglich, auf eine Zeile des Stacktraces zu Klicken und Eclipse navigiert dann zu der entsprechende Stelle im Sourcecode. Diese Funktionalität gibt es für die Laufzeitkonsole und die Stacktracekonsole. Wenn der Stacktrace die SEMIRAMIS_CLASS_VERSION enthält, funktioniert die Navigation nicht immer. Diese Komponente des Comarch-ERP-Enterprise-Plugins sorgt dafür, dass die Navigation mit SEMIRAMIS_CLASS_VERSION im Stacktrace funktioniert.

5.1.5          Umgang mit Eclipse

In diesem Abschnitt werden besondere Vorgehensweisen und Hinweis beschrieben.

5.1.5.1      Eclipse-Prozesse anzeigen

Gerade nach dem Hinzufügen eines Projektes oder dem Öffnen von Eclipse kann es vorkommen, dass die Reaktionszeiten von Eclipse nicht den Erwartungen entsprechen. Ob Eclipse im Hintergrund beschäftigt ist oder nicht, kann der Ansicht „Progress“ entnommen werden. Im Menü „Window/Show View/Other…“ kann die Ansicht ausgewählt werden. Die Ansicht ist im Baum unter dem Ordner „Basic“ zu finden.

 

Damit alle Eclipse-Prozesse angezeigt werden, muss die Ansicht „Progress“ noch konfiguriert werden. Die Eigenschaften sind über den Menüeintrag „Preferences…“ im Menü  der Ansicht einstellbar. Es muss „Show sleeping and system tasks“ ausgewählt werden.

5.1.5.2      Projekte entfernen

Gelegentlich muss ein Projekt aus dem Arbeitsbereich von Eclipse entfernt werden. Dazu muss das Projekt im Package-Explorer ausgewählt und die „Entf“-Taste betätigt werden. Es kann auch der Menüeintrag „Delete“ im Kontextmenü des Projekts verwendet werden. Auf dem folgenden Bestätigungs-Dialog-Fenster muss unbedingt der Eintrag „Do not delete contents“ ausgewählt sein, bevor das Dialog-Fenster mit „Yes“ bestätigt wird.

 

Hinweis:
Das Entfernen von Projekten sollte immer im Package-Explorer erfolgen. Beim Entfernen in der Ansicht Navigator kann es vorkommen, das die Auswahl „Do not delete contents“ nicht berücksichtigt wird und somit der Inhalt gelöscht wird.

5.1.5.3      Projekteinstellungen

Während der Bearbeitung der Projekte in Eclipse wird direkt mit dem ERP-System-Application-Server (SAS) kommuniziert. Folgende Einstellungen sind dafür vorzunehmen:

Über das Kontextmenü für das Projekt ist das Dialogfenster für die Eigenschaften (Properties) erreichbar. Im Eigenschaften-Dialogfenster ist der Eintrag „Einstellungen für Comarch-ERP-Enterprise-Repository“ verfügbar. Darüber kann Folgendes eingestellt werden:

  • Einstellung „Geerbt“

Wenn Sie die Einstellung „Geerbt“ aktivieren, dann werden die Einstellungen für den ERP-Hostname und die Authentifizierung vom ersten referenzierten Projekt übernommen.

  • ERP-Hostname

In dieses Feld tragen Sie den ERP-Hostname ein, mit dem Sie das gewünschte Comarch-ERP-Enterprise-System und damit das Repository festlegen. Der ERP-Hostname ist für die Suche nach Versionen und den Versionsvergleich notwendig.

  • Authentifizierung

Die Authentifizierung kann mit einem Zertifikat oder Kennwort erfolgen. Beim Verbindungsaufbau mit dem Comarch-ERP-Enterprise-System wird die gewählte Einstellung herangezogen. Bitte beachten Sie, dass die folgende Auswahl nur dann verfügbar ist, wenn die JDK-Voraussetzungen erfüllt sind.

  • Zertifikat

Für die Zertifikatsauthentifizierung ist ein gültiges Benutzer-Zertifikat im Zertifikatsspeicher des Internet-Explorers notwendig.

  • Kennwort

Für die Authentifizierung mit Benutzername und Kennwort ist im Systemcockpit von Comarch-ERP-Enterprise für den Benutzer ein entsprechendes Kennwort zu hinterlegen.

5.1.5.4      Projektabhängigkeiten ändern

Generell sollten keine Abhängigkeiten zwischen mehreren Entwicklungsaufgaben vorkommen. Manchmal ist es jedoch notwendig, dass eine Entwicklungsaufgabe von einer anderen abhängig ist. In der folgenden Beschreibung wird eine Abhängigkeit von der Entwicklungsaufgabe 2 zu der Entwicklungsaufgabe 1 aufgebaut.

Das „common“-Projekt der abhängigen Entwicklungsaufgabe (2) muss eine Abhängigkeit zu dem „common“-Projekt der anderen Entwicklungsaufgabe (1) haben. Dazu müssen die Eigenschaften des abhängigen Projekts angepasst werden. Die Eigenschaften können durch den Menüeintrag „Properties“ im Kontextmenü des Projektes geöffnet werden. Im Baum muss der „Java Build Path“, im Arbeitsbereich der Karteireiter „Projects“ ausgewählt werden. Mit dem „Add“-Button muss das Projekt „SEM420DV_job00001_common“ hinzugefügt und mit dem „Remove“-Button das Projekt „SEM420DV“ entfernt werden.

 

Nun muss die neue Projektabhängigkeit dem nachfolgenden Benutzerprojekt zur Verfügung gestellt werden. Dazu muss der Karteireiter „Order and Export“ ausgewählt werden. Alle Einträge müssen für das nachfolgende Benutzerprojekt exportiert werden. Der „Select All“-Button wählt alle Einträge aus. Das Dialog-Fenster wird mit „OK“ bestätigt.

 

Hinweis:
Wenn die Änderungen einer Entwicklungsaufgabe gegen das DT-System verifiziert werden sollen, so muss im „common“-Projekt die Abhängigkeit zu dem DT-Projekt eingetragen werden.

Hinweis:
Wenn mehrere Entwickler an unterschiedlichen Entwicklungsaufgaben arbeiten und die Entwicklungsaufgaben voneinander abhängig sind, müssen verschiedene Aspekte beachtet werden. Es muss eine Reihenfolge in den Projekten geben. Diese Reihenfolge ist auch für das Einchecken und die Auslieferung einzuhalten. Es werden immer die „common“-Projekte der anderen Entwicklungsaufgaben verwendet. Wenn der aktuelle Entwicklungsstand den anderen Entwicklern zur Verfügung gestellt werden soll, so müssen die Source-Dateien ins Repository eingecheckt werden. Dabei werden die eingespielten Klassen in das „common“-Ordner kopiert. Die Entwickler können in den eigenen Benutzerprojekten entwickeln, ohne die anderen Entwickler in ihrer Tätigkeit zu beeinflussen.

5.1.5.5      Klassenversionen abfragen, vergleichen und ersetzen

Für eine Java-Klasse oder eine Source-Datei können die vorhandenen Versionen angezeigt werden. Dazu ist unter dem Karteiereiter „Package Explorer“ auf einem entsprechenden Eintrag das Kontextmenü zu öffnen. Im Kontextmenü ist unter dem Eintrag „Team“ ein weiteres Menü mit dem Eintrag „Comarch-ERP-Enterprise-Versionen anzeigen“ verfügbar. Mit dieser Aktion werden die Versionen unter dem Karteireiter „History“ angezeigt.

 

Mit einem Klick auf die gewünschte Version wird der Java-Source im Editor geöffnet.

Versionsvergleich

Wurden Java-Klassenversionen abgefragt, dann können zwei verglichen werden. Mithilfe des Eclipse-Vergleichswerkzeug werden die Differenzen dargestellt.

Die zwei Versionen werden ausgewählt, indem beim Auswählen der „Strg“-Button gedrückt bleibt. Daraufhin öffnet sich ein Kontextmenü mit der ausgewählten Aktion „Compare with Each Other“.

Das Vergleichsergebnis ist im Bereich „Java Source Compare“ sichtbar.

 

Alternativ kann eine einzelne Java-Klassenversion mit der aktuellen Version verglichen werden. Dazu wird auf der gewünschten Version das Kontextmenü geöffnet. Im Kontextmenü ist die Aktion „Compare with Current Revision“ markiert.

Zusätzlich ist im Kontextmenü die Aktion „Aktive Version ersetzen mit …“ verfügbar. Mithilfe dieser Aktion wird die geöffnete Datei mit der markierten Version ersetzt.

Aktionen „Vergleichen“ und „Ersetzen“

Das Kontextmenü unter dem Karteireiter „Package Explorer“ enthält zusätzlich folgende Menü-Einträge:

  • Vergleichen mit -> Aktive Comarch-ERP-Enterprise-Version
  • Ersetzen mit -> Aktive Version in Comarch ERP Enterprise

Mit dieser Aktion wird die lokal gesperrte Datei mit der aktiven Version aus dem Repository ersetzt. Diese Aktion ist nur für lokal gesperrte Objekte und damit für überschreibbare Dateien verfügbar.

5.2               Entwicklungsumgebung für NetBeans einrichten

5.2.1          Voraussetzungen

Die von Comarch ERP Enterprise erzeugten Projekte setzen voraus, dass Netbeans in der Version 6.1 oder höher installiert ist.

5.2.2          Erzeugung des Netbeans-Projekts

Im nachfolgenden Beispiel werden die Dateien und Ordner für das System „ADV440“ des Release Semira­mis 4.4 (technischer Name „V4R4M0“), welches im Ordner „R:\V4R4M0\ADV440“ installiert ist, für den lokale Arbeits-Ordner „C:\semiramis“ erzeugt. Die Vorlagen für die Projekt-Dateien werden im Ordner „C:\semiramis\templates\NetBeans“ erzeugt. Die Ordnerstruktur für den Arbeits-Ordner wird im Ordner „C:\semiramis“ angelegt. Die Startmenü-Einträge inklusive der SAS-Tool­shell-Konfigurationen werden im Ordner „C:\menu“ erstellt.

crtdvf              -releasesDir:R:/
-localWorkDir:c:/semiramis
-release:V4R4M0
-system:ADV440
-createNetBeansFiles
-templatesDir:c:/semiramis
-startMenuDir:c:/menu

Mit dem Ausführen des Befehls werden folgende Ordner inkl. ihres Inhalts auf dem Laufwerk „C:\“ erzeugt:

 

5.2.3          Infrastruktur der NetBeans Entwicklungsumgebung

5.2.3.1      Projekt-Dateien

NetBeans verwendet eine Reihe von speziellen Elementen, die für die Entwicklung mit dem NetBeans, insbesondere für das Kompilieren der JAVA-Quellcode benötigt werden. Netbeans organisiert den Entwicklungszyklus in Projekten. Intern wird das Build-Tool Ant eingesetzt, dessen Aufgabe es ist, die Gruppen von Dateien zu spezifizieren und auf diese Dateien bestimmte Kommandos anzuwenden, wie zum Beispiel der Aufruf des Java-Compilers, Kopierkommandos etc.

Folgende Elemente sind dabei relevant, die beim Aufruf von „crtdvf“ erzeugt sind:

  • xml – Dies ist ein entry point Ant-Skript, der die Ablaufumgebung für die Befehle, die während des Builds ausgeführt werden, festlegt, wenn die Aktion „Build“ unter NetBeans IDE ausgelöst wurde. Diese Datei liegt unter dem Ordner „/NetBeans/template“.
  • nbproject – ein Unterordner unter „/NetBeans/template“, der die Implementierung von „build.xml“ – die Datei „build-impl.xml“ hat sowie die weitere die Meta-Daten enthaltende Dateien.
  • xml – enthält die allgemeine Konfigurations-Informationen über ein Projekt: z.B: der Name des NetBeans-Projektes, die Verweise auf die Bibliotheks-Dateien bzw. weitere dem zugeordnete Projekte etc. Diese Datei liegt unter dem Ordner „/nbproject“.
  • properties – Die Datei enthält die Verweise auf in Comarch ERP Enterprise benutzte jar-Bibliotheken und liegt unter dem Ordner „/nbproject“.
  • properties – Die Datei enthält die Paramter (z.B für javac), die während Ant-Lauf beim Kompilieren, Kopieren der Java-class-Dateien benötigt werden und liegt unter dem Ordner „/nbproject“.

Hinweis: Es wird eine Reihe von Dateien unterhalb vom Ordner „nbproject“ erstellt, sobald die Aktion „Build“ bzw. „Run“ in NetBeans IDE ausgelöst wurde. (z.B build-impl.xml, ein Unterordner „private“ etc.). Diese Dateien braucht man aber nicht, um ein lauffähiges NetBeans-Projekt einrichten zu können.

5.2.3.2      IDE Bestandteile

NetBeans Entwicklungsumgebung besteht aus mehreren Ansichten. Die wichtigste Ansicht ist „Projects“. Wenn Sie diese Ansicht nicht auf der linken Seite sehen, so kann dieser im Menü „Window/ Projects“ hinzugefügt werden. Die Eigenschaften des NetBeans-Projektes sind im Properties-Dialog-Fenster, das mithilfe von dem Kontextmenü (Menüeintrag „Project Properties“) aufrufbar ist, verfügbar. Das Dialog-Fenster sieht wie folgt aus:

 

 

Die Project-Eigenschaften sind in mehrere Kategorien („Project Properties“) untergliedert:

  • Sorces – in dieser Kategorie wird die Quellcode verwaltet.
  • Libraries – in dieser Kategorie werden benötige Einstellungen für das Kompilieren bzw. das Ausführen des Javacodes vorgenommen.
  • Run – in dieser Kategorie werden die Einstellungen für Java VM verwaltet.
  • Application – in dieser Kategorie sind die Daten wie Firma, Homepage etc. angegeben.

 

5.2.4          JDK in NetBeans konfigurieren

Direkt nach dem Öffnen des NetBeans muss das JDK konfiguriert werden (Menü Tools->Java Platforms). Durch drücken des „Add Platform“-Buttons kann das JDK definiert werden. Auf dem folgenden Dialog-Fenster muss der Installations-Ordner des JDK ausgewählt werden. In unserem Beispiel sieht das Dialog-Fenster folgendermaßen aus:

 

Hinweis:
Als Standard JDK gilt im NetBeans der JDK, mit dem NetBeans selbst aufgerufen wurde. Welche JDK dafür verwendet wird, legt man mithilfe von dem Parameter „netbeans_jdkhome“ in der Konfigurations-Datei „netbeans.conf“ fest, die unter <NetBeansInstall-Ordner>\etc liegt. Z.B:

netbeans.conf =”C:\jdk1.6.0_04″

5.2.5          NetBeans-Projekt

Der Befehl „crtdvf” erzeugt die Projekt-Dateien in einem Ordner „templates/NetBeans” das ein Unterordner des Ordners ist, das mit dem Parameter „templatesDir” angegeben wird. Das Projekt muss geöffnet werden (Menü File->Open Project-> Open Project_Button). In dem Beispiel navigiert man im Dialog-Fenster „Open Project“  zu dem Projekt-Ordner “C:\semiramis\templates\NetBeans\ADV440. Der Projekt-Bereich sieht dann  folgendermaßen aus:

Der Name des ERP-System-Application-Servers ist schon als Vorlage im Form von Ant-Parameter ${user.name} vorhanden und wird beim Start von SAS aufgelöst. Falls es gewünscht ist, einen anderen Namen zu verwenden, ruft man im Kontextmenü des NetBeans-Projekts den Projekt-Properties-Dialog auf, wechselt darin zu der Kategorie „Run“ und gibt im Feld „Arguments“ den gewünschten Namen an.

Das Projekt besteht in der Projects-Ansicht aus mehreren Komponenten:

  • source
    Das lokale Source-Ordner, es kann die „server.properties“ enthalten. In dem Beispiel ist das das Ordner „C:/semiramis/V4R4M0/ADV440/semiramis/source“.
  • Libraries, bestehend im Beispiel aus:
  • NetBeans-Bibliothek mit den Comarch-ERP-Enterprise-Klassen in den Ordner des Systems. Den Klassen ist der Quellcode zugeordnet. Wenn eine Klasse geöffnet wird, wird der zugeordnete Quellcode angezeigt.
  • NetBeans-Bibliothek „ADV440“, wo die JAR-Dateien, die unterhalb vom „V4R4M0/ADV440/semiramis/libs“ liegen, zusammen gefasst sind.
  • Definition des JDKs.

Hinweis:
Wenn in NetBeans ein Projekt schon geöffnet ist,  kann eine gewisse Zeit vergehen, bis bei der Navigation in der „classes-“NetBeans-Bibliothek der Quellcode angezeigt wird. Des Weiteren muss man beachten, dass bei jedem Start von NetBeans die Klassen erneut indiziert werden.

5.2.6          NetBeans-Kategorie „Libraries“

Unter Kategorie „Libraries“ können die benötigten Daten fürs Kompilieren bzw. das Ausführen von Java-Quellcode entweder direkt erfasst werden oder zuerst in einer anderen Einheit zusammen gefasst werden. In unserem Beispiel sind die Quellen der Java-Class-Dateien direkt erfasst. In der Bibliotheks-Datei „ADV440“ sind die benötigten Klassenbiblio­theken des Comarch-ERP-Enterprise-Systems aufgeführt. Dabei ist bei Änderungen unbedingt auf die Reihenfolge zu achten, da diese für die Bildung des Klassenpfades benutzt wird. Es wird empfohlen, die Bibliotheks-Datei immer generieren zu lassen. Es ist aber auch möglich entsprechende Korrekturen selbst durchzuführen (Das Dialog-Fenster „Project Properties“ aufrufen, die Kategorie „Libraries“ auswählen, Kartei-Reiter „Compile“ dann „Edit“ betätigen).

5.2.7          Arbeits-Ordner der Entwicklungsaufgabe

Um eine in einer Entwicklungsaufgabe gesperrte Java-Klasse im NetBeans zu bearbeiten, müssen zwei zusätzliche Ordner eingebunden werden. Diese Ordner werden beim Hinzufügen eines Bearbeiters zu einer Ent­wicklungsaufgabe automatisch unterhalb des Arbeits-Ordners der Entwicklungsaufgabe erzeugt. Der Entwickler muss den Arbeits-Ordner zur bearbeiteten Entwicklungsaufgabe zu den Quellpfaden des Projektes hinzufügen, indem man das Projekt-Properties-Dialog-Fenster aufruft, zu der Kategorie „Sources“ wechselt und den Button „Add Folder“ drückt:

 

Es wird ein Dateibrowser geöffnet. Man fügt nun den Benutzer-Ordner der Entwicklungsaufgabe hinzu. Der Pfad dieses Ordners in unserem Beispiel lautet „R:\V4R4M0\ADV440\semiramis\work\ job03064\usr<USER>\source”, wobei “<USER>” dem Benutzernamen in Comarch ERP Enterprise entspricht. Danach muss man den Ordner nach oben mit dem Button „Move Up” schieben.

Als Nächste wechselt man zu der Kategorie „Libraries”, wählt den Kartei-Reiter „Compile” und den Button „Add JAR/Folder” drückt. In geöffnetem Dateibrowser wählt man Klassen-Ordner „R:\V4R4M0\ADV440\semiramis\work\job03064\common\classes“. Der „common“-Ordner muss als oberste Element aufgelistet werden.

Um die Quellcode für den „common“-Ordner hinzuzufügen, selektiert den „common“-Ordner und dann drückt den Button „Edit”. Es erscheint das folgende Dialog-Fenster:

In unserem Beispiel wird den Ordner „R:\V4R4M0\ADV440\semiramis\work\job03064\common\source“ ins Feld „Sources” eingegeben.

Am Ende sieht die „Projects”-Ansicht folgendermaßen aus:

 

Um Projekt kompilieren (Build) bzw. ausführen (Run) zu können, ruft man das Kontextmenü und löst die gewünschte Aktion aus.

Czy ten artykuł był pomocny?