2010-04-15 13 views
6

Bitte verzeihen Sie mir, wenn diese Frage albern ist. Angenommen, ich entwickle eine J2EE-Webanwendung mit dem Spring-Framework und einer MS SQL-Server-Datenbank mit einem WebSphere-Anwendungsserver. Ich erstelle später eine WAR-Datei für diese Anwendung.Kann eine WAR-Datei auf einem beliebigen Server bereitgestellt werden?

Kann ich diese WAR-Datei auf einem Tomcat-Server ohne Änderung des Codes bereitstellen? Oder meine Frage ist, kann dies von Web-Hosting gehostet werden, die nur Tomcat-Server bietet? Falls ja, ist eine Änderung des Codes erforderlich?

Wenn es nicht bereitgestellt werden kann, können Sie mir bitte vorschlagen, was zu tun ist, weil ich keine Anwendung auf einem Tomcat-Server entwickelt habe. Alle Anwendungen, die ich entwickelt habe, waren auf Websphere App Server mit RAD.

+1

DIE KRIEGSDATEI AUSÜBEN !!! Aye Aye Kapitän! – AaronLS

+0

@AaronLS Hier kommen die NarWARs! – cdeszaq

Antwort

4

Im Prinzip sollten ja WAR-Dateien auf Java EE-Servern portierbar sein. In der Praxis würde ich nicht mit vielen Portabilitätsproblemen rechnen, aber es hängt sehr stark von den Details Ihrer Anwendung ab und davon, ob Sie sich eng an die Java-EE-Standards gehalten haben. Auch wenn Sie Ihre App nur in einer anderen Umgebung (Ihrer Entwicklungsmaschine im Vergleich zu einer Hosting-Umgebung) bereitstellen, kann es zu Engpässen kommen, nicht so sehr zu WAS oder Tomcat als zu dieser Umgebung.

Mögliche Probleme, absteigender Reihenfolge der Wahrscheinlichkeit:

1). Zielen Sie auf die gleichen Versionen der Standards ab?

2). Haben Sie WebSphere-spezifische Erweiterungen verwendet, die über die Java EE-Spezifikationen hinausgehen? Die meisten Verkäufer haben einige Extras, haben Sie welche benutzt.

3). Sie haben eine Ressource (Datei, Verzeichnis, Drucker, Datenbank) hart codiert, auf die auf Ihrer Zielplattform anders zugegriffen wird.

4). Haben Sie eine Spezifikationsmehrdeutigkeit getroffen? Gibt es einen Eckfall, bei dem sich das WAS-Verhalten vom Tomcat-Verhalten unterscheidet?

5). Sie sind auf etwas angewiesen, was WAS oder Ihre Plattform wirklich schnell tut und Ihre aktuelle Plattform nicht.

Meine allgemeine Regel für die Portabilität: Testen Sie immer früh in Ihrem Bereich der vorgesehenen Bereitstellungsplattformen. Es gibt fast immer ein Problem. Wenn Sie früh herausfinden, können Sie mit wenig Schmerz beheben.

Verwandte Themen