Verinice/Architektur: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 37: Zeile 37:
Der verinice.PRO-Anwendungsserver ergänzt den reinen Client um ein zentrales IS-Repository, das in Ihrem Unternehmen gehostet wird.  
Der verinice.PRO-Anwendungsserver ergänzt den reinen Client um ein zentrales IS-Repository, das in Ihrem Unternehmen gehostet wird.  
* Er ermöglicht es mehreren Personen, an einem ISMS zu arbeiten - auch über verschiedene Standorte hinweg.
* Er ermöglicht es mehreren Personen, an einem ISMS zu arbeiten - auch über verschiedene Standorte hinweg.
== Wie wird gebaut ==
Um den Verinice-Client, die Client-Update-Site und den Server auf einmal zu erstellen, führen Sie den folgenden Befehl aus:
./mvnw -Dtycho.disableP2Mirrors=true clean verify
In den folgenden Abschnitten erfahren Sie, wo die Artefakte für die Erstellung des Verinice-Clients, der Client-Update-Site und des Servers zu finden sind.
Wenn Sie die Junit-Tests überspringen wollen, müssen Sie den Parameter `-DskipTests` hinzufügen.
./mvnw -Dtycho.disableP2Mirrors=true -DskipTests clean verify
=== Verinice-Client ===
Die erstellten Artefakte befinden sich in
sernet.verinice.releng.client.product/target/products/
; Es werden Artefakte für die folgenden Plattformen erzeugt
* Linux GTK 64 bit
* Windows 64 bit
* Mac OS X 64 bit
Wenn Sie ein JRE in den Build packen wollen, können Sie das JRE nach
sernet.verinice.extraresources.feature/linux/jre
sernet.verinice.extraresources.feature/windows/jre
sernet.verinice.extraresources.feature/macos/jre
Das Packen der JRE ist für macOS-Builds erforderlich.
* Es ist [best practice](https://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html), eine JRE in einen Application.app Ordner zu packen.
* Um eine gültige verinice.app zu erhalten, muss daher eine geeignete macOS JRE in sernet.thirdparty.feature/macos vorhanden sein.
=== Verinice-Client-Update-Site ===
Die P2-Update-Site befindet sich in
sernet.verinice.update_site/target/repository
=== Verinice-Server ===
Die WAR-Datei (die z. B. auf Tomcat bereitgestellt werden kann) befindet sich unter `sernet.verinice.releng.server.product/target/`.
* Die WAR-Datei ist natürlich plattformunabhängig (im Gegensatz zu den Verinice-Client- und Report-Designer-Builds).
=== Versionierung ===
So aktualisieren Sie die Version des Projekts
1. ausführen
./mvnw -Dtycho.mode=maven -DnewVersion=x.y.z.qualifier tycho-versions:set-version
Beachten Sie, dass ''qualifier'' wörtlich gemeint ist und von tycho/osgi als ''magische Zeichenkette'' behandelt wird, d.h.
./mvnw -DnewVersion=1.19.0.qualifier tycho-versions:set-version
schreibt ''1.19.0-SNAPSHOT'' in die Update pom.xml Dateien und ''1.19.0.qualifier'' in die aktualisierten feature.xml Dateien.
* Die endgültige Produktversion erhält einen Zeitstempel, z.B.*1.19.0.201908011226''.
* Siehe [Plugin-Dokumentation](https://www.eclipse.org/tycho/sitedocs/tycho-packaging-plugin/plugin-info.html) für Details.
2. Aktualisieren Sie Version und Codename im About-Text in ''Branding > About Dialog'' von
''sernet.verinice.releng.client.product/sernet.verinice.releng.client.product'' und
3. synchronisieren Sie den About-Text wieder mit dem Plugin (''Übersicht > Testen > Synchronisieren'') in
  ''sernet.verinice.releng.client.product/sernet.verinice.releng.client.product''.
4. Aktualisieren Sie das Versionsmakro in den Handbüchern.
5. Aktualisieren Sie die Version in den Splash-Screens von verinice
sernet.gs.ui.rcp.main/etc/splashscreen/splash.xcf

Version vom 29. Mai 2023, 10:17 Uhr

Eclipse Rich Client Plattform

verinice ist eine Java-Anwendung
  • Grafische Oberfläche ist mit der Rich Client Platform (RCP) realisiert
  • Dies macht verinice plattformunabhängig und nutzt die nativen GUI-Elemente des Betriebssystems
BIRT Report Designer

Ebenfalls Teil der Eclipse-Plattform ist der BIRT Report Designer

  • Berichte können angepasst werden
  • Es können neue Berichte erstellt werden
  • Berichte können PDF, HTML oder Excel (CSV)-Datei exportiert werden
Zielplattform

Die Spezifikationsdatei für die verinice-Zielplattform ist in sernet.verinice.releng.tp gespeichert

  • Fügen Sie diesen Ordner als Projekt hinzu
  • Um Ihr Projekt zu erstellen und auszuführen, gehen Sie zu Fenster > Voreinstellungen > Plug-in Entwicklung > Zielplattform und wählen Sie verinice-platform.

Dynamisches Objektmodell (HitroUI)

Das HitroUI Framework ist ein Teil von verinice.

  • Eine einfache XML-Datei definiert alle Felder und Feldtypen, die in der Anwendung erscheinen.
  • So werden die Datenbankdaten und alle angezeigten Formulare dynamisch generiert.

Dieses dynamische Objektmodell erlaubt es Ihnen, bei Bedarf zusätzliche Datenfelder für bestimmte Objekte zu definieren oder nicht benötigte Felder aus den Standardformularen zu entfernen.

  • So können Sie verinice an Ihre Arbeitsweise und die Anforderungen Ihrer Organisation anpassen.

Datenbanken

Durch die Verwendung des objekt-relationalen Mappers Hibernate ist verinice in der Lage, sich mit verschiedenen Datenbanksystemen zu verbinden.

Unterstützte Datenbanksysteme
  • PostgreSQL
  • Apache Derby
  • Oracle DB

Dreischichtige Architektur

verinice verwendet eine dreistufige Architektur (Three-Tier Architecture), in der unabhängige Softwaremodule implementiert sind.

  • Eine zentralisierte Datenbank und ein Applikationsserver stellen dem Client Daten zur Verfügung.

Der verinice.PRO-Anwendungsserver ergänzt den reinen Client um ein zentrales IS-Repository, das in Ihrem Unternehmen gehostet wird.

  • Er ermöglicht es mehreren Personen, an einem ISMS zu arbeiten - auch über verschiedene Standorte hinweg.