Hallo zusammen,
ich habe eine Webanwendung (WebApp1) auf einem Tomcat Server laufen. Diese enthält eine Reihe von JAVA Servlets und hat über 60 JARs im Bauch (davon gut 50 Fremdbibliotheken wie Spring, Apache Commons, Log4j, MQ, etc). Jetzt muss ich ein neues Third-Party Framework einbinden welches ebenfalls mit über 50 JARs daherkommt. Von diesen überschneiden sich einige (ca. 20 Stück) mit denen von WebApp2. Die Jars tragen teilweise unterschiedliche Versionsnummer und es gibt auch Klassen, die in völlig unterschiedlichen JARs vorkommen.
Um Konflikte zu vermeiden, habe ich mich entschieden, die Funktionen des neuen Frameworks in eine eigene Webanwendung (WebApp2) auszulagern, damit jede Webanwendung mit "seinen" JAR Files und darin enthaltenen JAVA Klassen arbeiten kann. Beide Webanwendungen sollen auf ein und dem selben Tomcat Server laufen.
Zwischen den beiden Webanwendungen muss ich Daten austauschen. Ein Byte-Array (enthält ein Xml-Dokument) und ein paar Strings. Teilweise können die XML-Dokument bis zu einem MB groß sein.
Nun ein paar Fragen zur Umsetzung:
1) Sollte ich HTTP Put oder HTTP Post verwenden ? HTTP Put habe ich bislang noch nie benutzt. Hätte ich dadurch irgendwelche Vorteile ?
2) Kann/sollte ich die Java-Objekte serialisieren oder mir einfach eine Schnittstelle ausdenken, die als Vereinbarung zwischen Sender und Empfänger gilt ?
3) Sollte ich die Daten des ByteArrays komprimieren, bevor ich sie an WebApp2 sende oder kann ich das vernachlässigen, weil beide WebApps in einer Tomcat Server Instanz laufen ?
4) Sollte man die Daten des ByteArray bas64 kodieren ?
5) Kann ich Exception Objekte aus WebApp2 an WebApp1 zurückliefern ?
Wie Ihr seht, kenne ich mich in Sachen Serialisierung nicht sehr gut aus. Ein Tipp reicht. Dann lese ich mir gerna alles Notwendige an.
Hoffe auf Eure Hilfe.
Danke im Vorraus
Holger
ich habe eine Webanwendung (WebApp1) auf einem Tomcat Server laufen. Diese enthält eine Reihe von JAVA Servlets und hat über 60 JARs im Bauch (davon gut 50 Fremdbibliotheken wie Spring, Apache Commons, Log4j, MQ, etc). Jetzt muss ich ein neues Third-Party Framework einbinden welches ebenfalls mit über 50 JARs daherkommt. Von diesen überschneiden sich einige (ca. 20 Stück) mit denen von WebApp2. Die Jars tragen teilweise unterschiedliche Versionsnummer und es gibt auch Klassen, die in völlig unterschiedlichen JARs vorkommen.
Um Konflikte zu vermeiden, habe ich mich entschieden, die Funktionen des neuen Frameworks in eine eigene Webanwendung (WebApp2) auszulagern, damit jede Webanwendung mit "seinen" JAR Files und darin enthaltenen JAVA Klassen arbeiten kann. Beide Webanwendungen sollen auf ein und dem selben Tomcat Server laufen.
Zwischen den beiden Webanwendungen muss ich Daten austauschen. Ein Byte-Array (enthält ein Xml-Dokument) und ein paar Strings. Teilweise können die XML-Dokument bis zu einem MB groß sein.
Nun ein paar Fragen zur Umsetzung:
1) Sollte ich HTTP Put oder HTTP Post verwenden ? HTTP Put habe ich bislang noch nie benutzt. Hätte ich dadurch irgendwelche Vorteile ?
2) Kann/sollte ich die Java-Objekte serialisieren oder mir einfach eine Schnittstelle ausdenken, die als Vereinbarung zwischen Sender und Empfänger gilt ?
3) Sollte ich die Daten des ByteArrays komprimieren, bevor ich sie an WebApp2 sende oder kann ich das vernachlässigen, weil beide WebApps in einer Tomcat Server Instanz laufen ?
4) Sollte man die Daten des ByteArray bas64 kodieren ?
5) Kann ich Exception Objekte aus WebApp2 an WebApp1 zurückliefern ?
Wie Ihr seht, kenne ich mich in Sachen Serialisierung nicht sehr gut aus. Ein Tipp reicht. Dann lese ich mir gerna alles Notwendige an.
Hoffe auf Eure Hilfe.
Danke im Vorraus
Holger