# Installer, der JAVA EE Server und DB installiert



## internet (17. Mai 2015)

Hallo zusammen,

ich möchte gerne einen Installer ausliefern, der mir ebenfalls

a) Einen JAVA EE Server installiert (Wildfly)
b) Eine DB installiert
c) JAVA JRE / JDK benötige ich dann vermutlich ebenfalls

1. Der JAVA EE Server soll so installiert werden können, dass er automatisch beim Starten des PC ebenfalls startet.
2. Was ist wenn  bereits einen JAVA EE Server installiert wurde? Gibt es dann Probleme
3. Was ist wenn bereits JAVA vorhanden ist? Gibt es dann Probleme?

Ich freue mich über jede Hilfe.


----------



## javampir (18. Mai 2015)

ich kann spontan nur zum ersten punkt sagen: das kommt auf das betriebssystem an wie man das löst
zu 2 und 3 bin ich mir nicht sicher, aber wenn es eine neuere version ist, gibt es mit sicherheit keine probleme und wenn es die gleiche version (oder eine ältere ist), dürfte auch nix sein, aber leg ich meine hand nicht ins feuer


----------



## Dompteur (18. Mai 2015)

Hast du schon daran gedacht, das ganze als Image für eine virtuelle Box auszuliefern ?


----------



## internet (19. Mai 2015)

Ist eine Idee, an die ich nicht gedacht hat - scheidet aber aus.

Gibt es sonst weitere Vorschläge?


----------



## BuckRogers (20. Mai 2015)

Was ist eigentlich der Hintergrund dieser Anforderung? So etwas zu erstellen ist recht aufwändig. Der AS kann einfach kopiert werden und die Datenbank kann per commandline aufgesetzt werden. Das kann man unter Windoof mit batch oder linux mit shellscript relativ einfach umsetzen. Man muss natürlich die Konfigurationen des AS und der DB mit liefern. Unter Windows kann man einfach eine batch im autostart hinterlegen, welche den serverstart durchführt. Unter Linux geht das auch. Je nach Distribution kann man services anlegen die ab einem bestimmten systemzustand gestartet werden. Wenn der AS schon existiert und läuft gibt es spätestens beim starten des anderen Probleme. Ebenso braucht man nur ein JDK/JRE. Das müsste man beim installer überprüfen.

Ich verstehe aber nicht wozu man sowas braucht. So etwas macht man nicht so oft wenn man mit dm System arbeitet.


----------



## internet (28. Sep 2015)

ich möchte eine WebApplikation ausliefern, die auf einem JBoss läuft...
Zuvor muss diese Applikation natürlich erst mal installiert werden.

Der User soll demnach:
1) Installer starten
2) JBoss inkl. war - Datei installieren bzw. in Verzeichnis kopieren
3) Datenbank installieren (oder reicht die H2 Database, die der JBoss mitliefert aus?)


----------



## truesoul (29. Sep 2015)

Hallo,

unter Linux evtl. rpm install eine Möglichkeit. Unter Windows kannst du mit gewissen Tools auch eine Exe erstellen, die dir alle Daten installiert.
Ansonsten muss man die Scripts selber schreiben.

Grüße


----------



## BuckRogers (29. Sep 2015)

internet hat gesagt.:


> ich möchte eine WebApplikation ausliefern, die auf einem JBoss läuft...
> 
> 3) Datenbank installieren (oder reicht die H2 Database, die der JBoss mitliefert aus?)



Anscheindend hast du noch keine Ahnung wie deine WebApplikation aussehenen soll. Falls es überhaupt deine ist?
H2 ist keine Datenbank. H2 steht für Hibernate.

Der Sinn eines ApplicationServers mit WAR ist es, dass er einmal existiert. Man kann das auch clustern etc. aber dann wäre das Topic hier anders. Fakt ist einfach mal, dass installieren von JBoss AS und DB ein administratorischer Aufwand ist und niemand auf die Idee kommen würde das ganze Procedere zu automatisieren. Jedenfalls nicht alles auf einmal. Ich arbeite selbst grad an einem WildFly Installer. Diesen mache ich in Java als '.jar'. Darin befinden sich settings.xml und etwaige Module inklusive dependencies + xml-Files. Jedenfalls muss JBOSS_HOME gesetzt sein, sonst geht das nicht. Ebenso muss Jdk7 auf der Maschine sein. Eine Datenbank muss vor dem JBoss start auch vorhanden sein (MySQL). Es ist aber unsinnig eine Installationsdatei so aufzublähen dass dort DB ,JDK und AS drin sind.
Da würde man fast einen GB verschleudern. Was machst du denn überhaupt wenn etwas während der Installation schief läuft?
Hast du den Prozess schon einmal "per Hand" durch exerziert?


----------



## klauskarambulut (29. Sep 2015)

BuckRogers hat gesagt.:


> H2 ist keine Datenbank. H2 steht für Hibernate.



Lange nicht mehr so gelacht: https://de.wikipedia.org/wiki/H2_Database

Braucht es tatsächlich einen Kompletten Application-Server oder reicht das Web-Profile?
Dann kann man das ganze z.B. mit einem eingebetteten Jetty ausliefern und starten. Das nimmt schonmal einiges an Komplexität weg.
Application-Server sind so gebaut, dass diese auch mehrere Anwendungen parallel ausführen können.

Mehrere AS-Instanzen sollten auch kein Problem geben, allerdings kommt man da sehr schnell an die Problematik, dass Ports belegt sein können.


----------



## BuckRogers (29. Sep 2015)

klauskarambulut hat gesagt.:


> Lange nicht mehr so gelacht: https://de.wikipedia.org/wiki/H2_Database



Danke für den Hinweis. Der Lacher geht auf's Haus.


----------



## klauskarambulut (3. Okt 2015)

Payara ist ein Fork von Glassfish mit komerziellem Support.

Dieser bietet JEE vergleichbar mit JBoss. Portieren von JBoss sollte, wenn man sich auf viel vanilla JEE beschränkt relativ einfach möglich sein.

Und Payara hat eine Java Api wie z.B. hier beschrieben.

https://www.voxxed.com/blog/2015/05/payara-micro/
http://www.payara.co.uk/payara_embedded

Und der Clou ist das man das ganze so starten kann

java -jar payara-embedded.jar --deploy meineanwendung.war

JBoss bietet ähnliches an, bin mir da aber nicht 100% sicher.


----------

