2010-04-15 12 views
6

Perdóneme si esta pregunta es tonta. Supongamos que desarrollo una aplicación web J2EE usando Spring framework y una base de datos MS SQL-Server, usando un servidor de aplicaciones WebSphere. Más tarde creo un archivo WAR para esta aplicación.¿Se puede implementar un archivo war en cualquier servidor?

¿Puedo implementar este archivo WAR en un servidor Tomcat sin ningún cambio en el código? ¿O mi pregunta es si esto puede ser alojado por un alojamiento web que proporciona solo servidores Tomcat? En caso afirmativo, ¿se requiere algún cambio en el código?

Si no se puede implementar, ¿puede por favor sugerirme qué hacer, porque no he desarrollado ninguna aplicación en un servidor tomcat. Todas las aplicaciones que he desarrollado han estado en Websphere App Server usando RAD.

+1

¡DESPLIEGUE EL ARCHIVO DE GUERRA! ¡Sí, sí, capitán! – AaronLS

+0

@AaronLS ¡Aquí vienen los NarWAR! – cdeszaq

Respuesta

4

En principio, sí, los archivos WAR deberían ser portátiles en los servidores Java EE. En la práctica, no esperaría muchos problemas de portabilidad, pero depende mucho de los detalles de su aplicación y de si se ha apegado mucho a los estándares de Java EE. Además, simplemente implementar su aplicación en un entorno diferente (su máquina de desarrollo en comparación con un entorno de alojamiento) podría afectar a los inconvenientes, no tanto a WAS v Tomcat como a este entorno en ese entorno.

Posibles problemas, orden descendente de likelyhood:

1). ¿Está apuntando a las mismas versiones de los estándares?

2). ¿Usó alguna extensión específica de WebSphere más allá de las especificaciones de Java EE? La mayoría de los vendedores tienen algunos extras extra, ¿los usó?

3). Has codificado algunos recursos (archivos, directorios, impresoras, bases de datos) a los que se accede de forma diferente en tu plataforma de destino.

4). ¿Tocaste una ambigüedad específica? ¿Hay algún caso de esquina donde el comportamiento de WAS difiera del comportamiento de Tomcat?

5). Dependes de algo que WAS o tu plataforma hacen realmente rápido y tu plataforma taget no lo hace.

Mi regla general para la portabilidad: siempre pruebe temprano en su rango de plataformas de implementación previstas. Casi siempre hay algunos gotcha. Si lo descubres temprano, puedes solucionarlo con poco dolor.

Cuestiones relacionadas