Hallo zusammen,
ich arbeite gerade an der Weiterentwicklung ein nicht gerade kleinen Server Client Anwendung. Dies Programm wurde seiner zeit koplett mit C++ gekodet, wobei damal alles selbst gebaut werden musst. Über das Logging, Datenbankverbindung Threadpool, und Sessionverwaltung.
Ich möchte bei der Überarbeitung komplett auf einen selbst gebauten Klient bzw Server verzichten.
Meine Idee ist es auf einen Tomcat- Webserver aufzusetzen. Das heißt einfach eine Webanwendung zu schreiben. Der Klient wäre dann ein Browser. Soweit so gut.
Nun wir die Anwendung einige Eigenschaften haben, die ich zurzeit noch nicht wüsste wie man die mit einer Tomcat-Lösung abdecken könnte.
Ich hoffe Ihr könnt mir vielleicht Tipps oder Anregungen geben wie man mit den folgenden Sonderheiten umgehen könnte.
Nun zu den Sonderheiten, wie ich sie hier mal nenne will.
Mit der Software muss es möglich sein längere Prozesse zu starten und dann quasi laufen zu lassen ohne dass der Server blockiert wird. Zum Beispiel soll man eine Datei hochladen können (okay kein Problem) diese soll dann im Hintergrund Verarbeitet werden, dass kann unter Umständen mehrere Stunden dauern. Man könnte nun über eine spezielle URL den Prozess starten, dann würde aber keine Seite zurückkommen ?! Oder man startet einen neuen Threadm dann kann am aber nicht nachvollziehen wann der Prozess zu Ende ist, und ggf. eine Mail an den Kunden schicken das die Daten verarbeitet sind. Weiter würde das Problem bestehen dass man beliebig viele Prozesse dieser Art starten könnten und somit die Threadsicherheit nach dem Webserver gefährdet wäre.
Weiter wird für die Geschichte eine Reportingserver a la Jasper benötigt. Kann man den einfach mit in den Tomcat- Umgebung mit einbeziehen? Und Wenn ja, wie stellt man das man besten an ?
Kann es sein dass ich mit meiner Idee komplett auf dem Holzweg bin und es besser Lösungen mit Java geben könnte?
Mein Ziel ist es soweit es Möglich ist auf bestehen Lösungen aufzusetzen ohne das Rad neu zu erfinden.
Ich bin schon ein wenig verwirrte weil ich den letzten Tagen alles Mögliche über App-Server,Web –Server, SOA gelesen habe, und mir sicher bin nur die Hälft verstanden zu haben.
Danke für eure Antworten
Das Mammut
ich arbeite gerade an der Weiterentwicklung ein nicht gerade kleinen Server Client Anwendung. Dies Programm wurde seiner zeit koplett mit C++ gekodet, wobei damal alles selbst gebaut werden musst. Über das Logging, Datenbankverbindung Threadpool, und Sessionverwaltung.
Ich möchte bei der Überarbeitung komplett auf einen selbst gebauten Klient bzw Server verzichten.
Meine Idee ist es auf einen Tomcat- Webserver aufzusetzen. Das heißt einfach eine Webanwendung zu schreiben. Der Klient wäre dann ein Browser. Soweit so gut.
Nun wir die Anwendung einige Eigenschaften haben, die ich zurzeit noch nicht wüsste wie man die mit einer Tomcat-Lösung abdecken könnte.
Ich hoffe Ihr könnt mir vielleicht Tipps oder Anregungen geben wie man mit den folgenden Sonderheiten umgehen könnte.
Nun zu den Sonderheiten, wie ich sie hier mal nenne will.
Mit der Software muss es möglich sein längere Prozesse zu starten und dann quasi laufen zu lassen ohne dass der Server blockiert wird. Zum Beispiel soll man eine Datei hochladen können (okay kein Problem) diese soll dann im Hintergrund Verarbeitet werden, dass kann unter Umständen mehrere Stunden dauern. Man könnte nun über eine spezielle URL den Prozess starten, dann würde aber keine Seite zurückkommen ?! Oder man startet einen neuen Threadm dann kann am aber nicht nachvollziehen wann der Prozess zu Ende ist, und ggf. eine Mail an den Kunden schicken das die Daten verarbeitet sind. Weiter würde das Problem bestehen dass man beliebig viele Prozesse dieser Art starten könnten und somit die Threadsicherheit nach dem Webserver gefährdet wäre.
Weiter wird für die Geschichte eine Reportingserver a la Jasper benötigt. Kann man den einfach mit in den Tomcat- Umgebung mit einbeziehen? Und Wenn ja, wie stellt man das man besten an ?
Kann es sein dass ich mit meiner Idee komplett auf dem Holzweg bin und es besser Lösungen mit Java geben könnte?
Mein Ziel ist es soweit es Möglich ist auf bestehen Lösungen aufzusetzen ohne das Rad neu zu erfinden.
Ich bin schon ein wenig verwirrte weil ich den letzten Tagen alles Mögliche über App-Server,Web –Server, SOA gelesen habe, und mir sicher bin nur die Hälft verstanden zu haben.
Danke für eure Antworten
Das Mammut