1 Themenübersicht
Die Entwicklung in Comarch ERP Enterprise basiert auf den Entwicklungsobjekten, die in der Anwendung „Entwicklungsobjekte“ erfasst und verändert werden können. Für die meisten Typen von Entwicklungsobjekten kann das Editieren direkt in der graphischen Oberfläche erfolgen. Dateiartige Typen von Entwicklungsobjekten, insbesondere Java-Klassen, werden hingegen nur über externe Editoren bzw. Java-Entwicklungsumgebungen (Java-IDE) wie „Eclipse“ oder „Borland JBuilder“ verändert. Hierbei wird das zugehörige Entwicklungsobjekt durch einen Benutzer gesperrt und daraufhin im Arbeits-Ordner der zugehörigen Entwicklungsaufgabe änderbar abgelegt. Um Änderungen an Java-Klassen durchzuführen, zu kompilieren und zu testen, benötigen die jeweiligen Entwicklungsumgebungen zusätzliche Informationen. Hierzu zählen beispielsweise
- der Ordner, in dem sich das zu verwendende JDK befindet,
- der Ordner, in dem sich die Java-Bibliotheken befinden („lib“),
- die Liste der zu verwendenden Java-Bibliotheken für den Klassenpfad,
- der Ordner, in dem sich die nicht gesperrten Java-Klassen befinden („classes“),
- der Ordner, in dem sich die nicht gesperrten Java-Sourcen befinden („source“),
- Ordner für zusätzliche Benutzer- oder Projekt-Einstellungen und temporäre Dateien,
- Parameter für den Start der JVM und des ERP-System-Application-Servers.
Mit dem Tool „crtdvf“ (create development files) können Sie die notwendigen Entwicklungs-Dateien für die Entwicklung erstellen. Die unterstützten Entwicklungsumgebungen entnehmen Sie bitte der Dokumentation „Entwicklungsumgebungen“.
Ob und in wie weit die erzeugten Dateien auch in neueren Versionen der jeweiligen Produkte uneingeschränkt genutzt werden können, kann nicht garantiert werden, da hier die Entwicklung schnell voranschreitet.
Neben den Entwicklungs-Dateien, die direkt von den Entwicklungsumgebungen benötigt werden, erzeugt das Tool „crtdvf“ auch einige für die Entwicklung unter Microsoft Windows nutzbare Zusatz-Dateien, wie beispielsweise „.lnk“-Dateien und eine Ordnerstruktur, die in das Windows-Startmenü eingebunden werden kann.
Hinweis:
Bestimmte Bibliotheks-Dateien werden nicht in allen ERP-Systemen vorhanden sein. Hierzu zählen beispielsweise JDBC-Treiber, die je nach dem oder den eingesetzten DBMS im Ordner „semiramis/lib“ vorhanden sind oder nicht. Wenn der Order zu einer Bibliotheks-Datei existiert, die Bibliothek-Datei jedoch fehlt, so wird eine Meldung ausgegeben und die Bibliothek-Datei bei der Erzeugung der betroffenen Entwicklungs-Dateien ausgenommen. Hierdurch wird vermieden, dass beispielsweise Eclipse fehlende Dateien meldet, obwohl sie nicht benötigt werden. Sollte es bei Start eines Application-Servers mit den so erzeugten Entwicklungs-Dateien zu Fehlermeldungen bzgl. fehlenden Klassen kommen (beispielsweise „ClassDefNotFoundError“), so prüfen Sie den Inhalt des Ordners „semiramis/lib“ und erzeugen Sie die Entwicklungs-Dateien wenn notwendig nach dem Wiederherstellen fehlender Bibliotheks-Dateien wie neu.
2 Zielgruppe
- System-Administratoren
- Technische Berater
- Entwickler
3 Begriffsbestimmung
Java Development Kit
Das Java Development Kit (JDK) ist ein Softwarewerkzeug, das von Sun Microsystems zum Schreiben von Java-Programmen entwickelt wurde. Das JDK ist kostenlos erhältlich. Es enthält einen Java-Compiler, Interpreter, Debugger, einen Viewer für Applets und eine Dokumentation.
4 Beschreibung
Das Tool dient dem Erzeugen von Dateien, die man benötigt, um mit Hilfe der Entwicklungsumgebungen „Eclipse“ bzw. „Borland JBuilder“ zu entwickeln.
4.1 Befehl
Nachfolgend finden Sie den Befehl inklusive aller möglichen Parameter.
crtdvf | -releasesDir:<text> [-localReleasesDir:<text>] -localWorkDir:<text> [-release:<text>] -system:<id-1> … -system:<id-n> [-jdkDir:<text>] [-suffix:<text>] [-jvmParameters:<text>] |
4.2 Parameter
Die Parameter des Befehls werden in der folgenden Tabelle erläutert. Die in eckigen Klammern gesetzten Parameter sind optional, die anderen hingegen sind Pflichtparameter. Für einige Parameter kann ein Stern (*) als Platzhalter angegeben werden, um damit alle möglichen Werte ausgeben zu können. Nicht alle Parameter können mehrfach genannt werden; nur die, die folgenden Zusatz an den Parametervariablen aufweisen, sind für die Mehrfachnennung zugelassen: „<str-1> … <str–n>“.Alle Angaben von Ordnern beziehen sich bei den nachfolgend aufgeführten Parametern auf Ordner im Dateisystem des jeweiligen Application-Servers. Die Schreibweise für Windows-Dateisysteme ist dabei „C:\semiramis“.
Parameter | Erläuterung |
-releasesDir:<text> | Ordner, in dem unter dem technischen Namen des Releases, z. B. „V4R2M0“, Ordner existieren, in denen wiederum die Dateiserver-Pfade der betrachteten Systeme liegen. Es wird empfohlen, hierfür ein Netzlaufwerk, z. B. „R:\“, zu definieren. |
[-localReleasesDir:<text>] | Wird durch diesen Parameter ein Ordner angegeben, so werden zusätzliche JBuilder-Bibliotheken und JBuilder-Projekte mit dem Suffix „_LOCAL“ erzeugt. In diesen Dateien wird der angegebene Ordner statt des im Parameter „releasesDir“ angegebenen Order als Basis-Ordner für die Releases verwendet. Dies kann sinnvoll sein, wenn aus Gründen der Netzwerk-Latenz die Inhalte des mit „releasesDir“ angegebenen Ordners in einen lokalen Ordner repliziert werden. Dies ist jedoch nur in Ausnahmefällen zu empfehlen, da es durch Verzögerungen beim Abgleich mit dem zentralen Ordner zu Inkonsistenzen beim Kompilieren kommen kann. |
-localWorkDir:<text> | Lokaler Arbeits-Ordner, der bei der Entwicklung alle Unterordner und die darin enthaltenen Entwicklungs-Dateien enthalten soll, z. B. „C:\semiramis“. |
[-release:<text>] | Technischer Name des Releases, z. B. „V4R4M0“, der verwendet wird, um unterhalb eines mit „releasesDir“ angegebenen Basis-Ordner ein Unterordner je Release zu erzeugen. Dies ermöglicht es, verschiedene Releases parallel auf einem Netzlaufwerk zu verwalten. Wenn die Unterteilung nach dem Release nicht erfolgt, kann die Angabe entfallen. |
-system:<id-1> … -system:<id-n> | Name des Systems, für das die Entwicklungs-Dateien erzeugt werden sollen.
Für Eclipse-Projekte ist der Name des erzeugten Projekts in Abhängigkeit von der System Property com.cisag.sys.repository.tools. entweder der Name des Systems oder Name der Lizenz. Beachten Sie auch den Hinweis im Abschnitt „Vorgehensweise“. |
[-jdkDir:<text>] | Ordner, in dem das zu verwendende JDK installiert ist (JAVA_HOME). Wenn dieser Parameter nicht angegeben ist, wird das Standard-JDK der Auslieferung mit dem üblichen Installations-Ordner angenommen. Für zu erzeugende Eclipse-Projekte wird der Name des Installationsordners (ohne vollständigen Pfad) als Name des in Eclipse konfigurierten JDK verwendet. |
[-createEclipseFiles] | Wenn Sie diesen Parameter angeben, werden auch Entwicklungs-Dateien für Eclipse erzeugt. Für jedes angegebene System wird ein Unterordner in dem Ordner erzeugt, der mit dem Parameter „templatesDir“ angegeben wurde. |
[-createNetBeansFiles] | Wenn Sie diesen Parameter angeben, werden auch Entwicklungs-Dateien für NetBeans erzeugt. In dem Ordner, das mit dem Parameter „templatesDir“ angegeben wurde, wird ein Unterordner „/templates/NetBeans“ angelegt. Für jedes angegebene System wird ein weiterer Unterordner mit Entwicklungs-Dateien erzeugt. |
[-createJBuilderFiles] | Wenn Sie diesen Parameter angeben, werden auch Entwicklungs-Dateien für den Borland JBuilder erzeugt. Bei der Verwendung dieses Parameters, muss auch der Parameter „jbuilderDir“ angegeben werden. Für jedes System wird eine JBuilder-Bibliothek in dem Ordner erzeugt, das mit dem Parameter „jbuilderDir“ angegeben wurde und ein JBuilder Projekt in dem Ordner erzeugt, der mit dem Parameter „templatesDir“ angegeben wurde. |
[-jbuilderDir:<text>] | Ordner, in dem der Borland JBuilder installiert wurde. Dieser Parameteter muss angegeben werden, wenn der Parameter „createJBuilderFiles“ angegeben wurde. |
[-templatesDir:<text>] | Ordner, in dem die erzeugten Vorlagen der Entwicklungs-Dateien gespeichert werden. Dies kann ein Ordner auf einem Netzlaufwerk sein, von dem aus die Dateien später kopiert werden, oder direkt der lokale Ziel-Ordner. Dieser Parameter muss angegeben werden, wenn der Parameter „createEclipseFiles„ oder der Parameter „createJBuilderFiles“ angegeben wird. |
[-startMenuDir:<text>] | Ordner, in dem die erzeugten Dateien und Unterordner für das Windows-Startmenü gespeichert werden. Wenn Sie diesen Parameter angeben, werden Windows-Verknüpfungen („.lnk“-Dateien) erzeugt, über die sich die Windows-CMD-Shell öffnen lässt. Dabei werden alle notwendigen Parameter (Pfad zum JDK, Pfad zum „semiramis“-Ordner, Klassenpfad) mit übergeben, sodass darin mit Hilfe des Batch-Skriptes „semiramis.bat“ direkt ein ERP-System-Application-Server gestartet werden kann. |
[-suffix:<text>] | Suffix für die Namen von Vorlagen- und Windows-Startmenü-Ordnern. Wenn Sie diesen Parameter angeben, werden die Namen des Vorlagen- und Windows-Startmenü-Ordners um den angegebenen Wert erweitert. |
[-jvmParameters:<text>] | Startparameter für eine Java-VM, die per Launch-Datei aus Eclipse heraus gestartet werden soll. Wenn dieser Parameter nicht angegeben ist, werden stattdessen die im Systemcockpit angezeigten JVM-Parameter des aktuellen Application Servers verwendet, auf dem der Befehl ausgeführt wird. |
5 Berechtigungen
Das System arbeitet mit einem mehrstufigen Berechtigungskonzept. Fähigkeiten und Berechtigungen können generell auf verschiedenen Ebenen vergeben werden:
- Auf den Ebenen für Frameworks und Anwendungen vergeben Sie z. B. eine Berechtigung, mit der eine Anwendung geöffnet werden kann.
- Auf den Ebenen für Business Entitys vergeben Sie z.B. eine Berechtigung, mit der eine Business Entity erfasst oder erzeugt werden kann. Die Entity-bezogenen Berechtigungen gelten anwendungsübergreifend.
Für einige Anwendungen wurden spezielle Fähigkeiten entwickelt, die sich auf bestimmte Aktionen und Funktionen beziehen. Auch für diese Fähigkeiten können Berechtigungen vergeben werden. So kann z. B. für die spezielle Fähigkeit, eine Bestellung ausgeben zu können, eine Berechtigung vergeben werden.
Das Berechtigungskonzept sowie die generellen anwendungsbezogenen und Entity-bezogenen Berechtigungen können Sie in der Technischen Dokumentation im Dokument „Berechtigungen“ nachlesen.
Für Berechtigungsfestlegungen für die Anwendung „Entwicklungs-Dateien erzeugen“ ist kein Business Entity relevant. Allerdings werden auf der Ebene des Betriebssystem Lese- bzw. Schreibrechte für die verwendeten Quell- bzw. Ziel-Ordner benötigt
6 Vorgehensweise
Die Vorgehensweise zum Erzeugen von Entwicklungs-Dateien wird nachfolgend für eine Entwicklung auf Entwickler-Rechnern unter Microsoft Windows beispielhaft ausgeführt. Weitere Beispiele finden Sie in der Dokumentation „Programmierhandbuch“.
Beispiel:
Das System CIS420DV ist ein Partnerentwicklungssystem.
Das System CIS420DT ist das zugehörige Partnerentwicklungs-Testsystem.
Die Dateisysteme beider Systeme sind unter Windows folgendermaßen angelegt
- R:\ Basis-Ordner für alle Releases
- R:\V4R2M0 Basis-Ordner für das Release V4R2M0
- R:\V4R2M0\CIS420DV\semiramis Ordner für das System CIS420DV
- R:\V4R2M0\CIS420DT\semiramis Ordner für das System CIS420DV
Zusätzlich werden Vorlagen für die Dateien, die die Entwickler später auf ihren lokalen Rechnern benötigen, zentral abgelegt. Über einfache, vom Administrator erstellte Batch-Skripte können diese dann in die zugehörigen Ordner kopiert werden. Eine Vorlage für ein solches Batch-Skript finden Sie im Anhang dieses Dokumentes. Es bietet sich an, den Aufruf des Batch-Skriptes über einen Eintrag im Windows-Startmenü zu realisieren. Auf diese Art kann jeder Entwickler bei Bedarf seine lokalen Dateien aktualisieren, ohne dass er das Tool „crtdvf“ selbst ausführen muss.
Bei Änderungen an der Konfiguration, z. B. wenn nach dem Einspielen einer Softwareaktualisierung in CIS420DV eine zusätzliche Bibliothek aus dem jeweiligen Ordner „semiramis/lib“ eingebunden werden muss, können diese Vorlagen zentral aktualisiert werden. Anschließend führen die Entwickler über das Windows-Startmenü das zugehörige Batch-Skript aus.
Das Tool „crtdvf“ kann zwei Ordner mit Vorlagen erzeugen:
- R:\system\install\semiramis Vorlagen für lokale Entwicklungs-Dateien
- R:\system\install\startmenu Vorlagen für lokales Windows-Startmenü
Der Inhalt von „R:\system\install\semiramis“ wird von dem Batch-Skript nach „C:\semiramis“ kopiert. Der Inhalt von „R:\system\install\startmenu“ wird von dem Batch-Skript nach in das Windows-Startmenü kopiert.
Auf den Rechnern der beteiligten Entwickler soll auf dem Laufwerk C:\ eine analoge Struktur erzeugt werden, in denen die zugehörigen Dateien, die lokal benötigt werden, gespeichert werden:
- C:\ Ordner für alle Releases
- C:\semiramis\V4R2M0 Ordner für das Release V4R2M0
- C:\semiramis\V4R2M0\CIS420DV\semiramis Ordner für CIS420DV
- C:\semiramis\V4R2M0\CIS420DT\semiramis Ordner für CIS420DV
- C:\semiramis\templates Ordner für Entwicklungs-Dateien
- C:\semiramis\templates\NetBeans Ordner für Entwicklungs-Dateien für NetBeans IDE
- C:\semiramis\workspace Ordner für Eclipse Workspace
In den lokalen „semiramis“-Ordnern sind weitere Ordner, wie z. B. „classes“ enthalten, die den Entwicklungsumgebungen als Arbeits-Ordner dienen.
Im „templates“-Ordner sind die JBuilder-Projekte und je System in einem Unter ordner die notwenigen Eclipse-Dateien enthalten.
Alle erzeugten Eclipse-Projekte verwenden den gemeinsame Ordner „C:\semiramis\workspace“, um darin den Eclipse Workspace zu verwalten. Auf diese Weise werden die Metadaten, die Eclipse zu Klassen- und Bibliotheken erzeugt, nur einmal für alle Systeme erzeugt. Dies spart Speicherplatz und Zeit bei Aktualisierungen.
Der Aufruf von „crtdvf“ zum Erzeugen der Strukturen im hier aufgeführten Beispiel lautet:
crtdvf
-releasesDir:R: -localWorkDir:C:\semiramis
-release:V4R2M0
-system:CIS420DV -system:CIS420DT
-createEclipseFiles
-createNetBeansFiles
-createJBuilderFiles
-jbuilderDir:R:\system\install\JBuilder
-templatesDir:R:\system\install\semiramis
-startMenuDir:R:\system\install\startmenu
Hinweis:
Mit der System-Property com.cisag.sys.repository.tools.EclipseGenerationUseSystemName können Sie einstellen, ob bei der Erzeugung des Eclipse-Projekts der Name der Lizenz oder der Name des Systems verwendet wird. Diese Property muss im Entwicklungssystem dauerhaft eingestellt sein, damit auch Projekte für Entwicklungsaufgaben passend zum Projekt des Systems erzeugt werden.
7 Beispiel: Batch-Skript
Nachfolgend ist beispielhaft der Inhalt einer Microsoft Batch-Datei aufgeführt, die zentral verwaltete Entwicklungs-Dateien und Windows-Startmenü-Dateien auf das lokale Laufwerk „C:\“ kopiert. Sie muss im konkreten Fall an die tatsächlich verwendeten Pfade und Gegebenheiten angepasst werden.
@echo off
rem
rem update.bat – Update local Semiramis entries in the startmenu.
rem
title Update – Bitte laufende Entwicklungswerkzeuge beenden
echo Bitte beenden Sie den JBuilder und Eclipse falls diese aktiv sind.
pause
echo Kopiere Daten.
echo Erstelle Startmenü.
set MENU=”%ALLUSERSPROFILE%\STARTM~1\Semiramis”
del /S/Q %MENU% >NUL: 2>NUL:
set MENU=”%USERPROFILE%\STARTM~1\Semiramis”
del /S/Q %MENU% >NUL: 2>NUL:
xcopy R:\system\install\startmenu-template %MENU% /E /S /K /I /Y /F >NUL:
xcopy R:\system\install\startmenu %MENU% /E /S /K /I /Y /F >NUL:
echo Erstelle lokale Arbeits-Ordner.
xcopy R:\system\install\semiramis C:\semiramis /E /S /K /I /Y /F >NUL:
call R:\system\install\rplsas.bat “C:\semiramis\templates\*.jpr”
echo Kopiere JBuilder-Dateien.
rmdir C:\JBuilder\semiramis /q /s >NUL: 2>NUL:
xcopy R:\system\install\JBuilder C:\JBuilder /S /K /I /Y /F >NUL:
REM User specified libraries are not allowed.
del “%USERPROFILE%\.JBuilder\*.library” /Q 2>NUL:
echo off
echo Kopiere Eclipse-Dateien.
rmdir C:\JBuilder\semiramis /q /s >NUL: 2>NUL:
xcopy R:\system\install\eclipse-addons %ProgramFiles%\eclipse /S /K /I /Y /F >NUL:
echo Fertig.
pause