Pregunta

Así que tengo un cliente que necesita ejecutar Tomcat para varias cosas (Solr y un servicio web también) y después de tener una reunión con él y otro programador en el proyecto, me confundí un poco. El otro programador estaba lanzando palabras de moda y diciendo cosas como "Necesitamos tener middleware para tomcat". En respuesta a esto, mi cliente me pide que busque middleware para tomcat, lo que me confundió porque pensé que escribir un servicio web sería específico para el proyecto en cuestión y, por lo tanto, el "middleware". Sería desarrollado por nosotros. Si este es el caso, ¿por qué no decir simplemente "Servicio web"?

Mi pregunta es la siguiente: ¿Hay un servlet o complemento de código abierto para Tomcat que lo hace middleware (tal vez algo del sitio de Apache?) ¿O tiene sentido que esté escribiendo mi propio middleware para Tomcat? O ... ¿Tomcat se considera middleware? Soy un total n00b cuando se trata de Java y Tomcat, pero tengo mucha experiencia con C #, así que estoy tratando de descubrir cómo se relaciona esto con C #. Nunca he usado el término "middleware" antes y estoy bastante seguro de "servicio web" es casi lo mismo.

¿Alguna idea?

¿Fue útil?

Solución

Todas estas respuestas son demasiado detalladas. Sí, Tomcat es middleware. se encuentra entre la capa HTML / Javascript en el navegador del cliente y la capa de la base de datos en su servidor. No es tan completo como un servidor J2EE pero sigue siendo "middleware" en lo que respecta al término de palabra de moda generalmente aceptado.

Otros consejos

El término middleware generalmente se usa para describir el software cuyo propósito es conectar dos sistemas diferentes.

Si está escribiendo servicios web sobre otra aplicación y la tercera aplicación hablará con los servicios web. Entonces sí, estás escribiendo middleware.

Si generalmente trabaja en un entorno .NET y algunos sistemas están en Tomcat. Entonces es probable que el otro programador afirmara que para conectar las aplicaciones .NET a las aplicaciones Java en Tomcat, habría que escribir algún middleware. (Probablemente tenga razón).

Middleware es literalmente solo un software que se encuentra en el medio de 2 sistemas. Hace cosas como si un sistema habla XML sobre HTTP, el otro sistema habla COBOL. Middleware puede hacer la traducción entre los dos sistemas.

Muchos de los "middleware" En el espacio J2EE solo hay una compilación de software sobre un contenedor J2EE. Desafortunadamente, tomcat no es un contenedor J2EE completo, solo implementa la especificación Servlet. Por lo tanto, no hay soporte para otras instalaciones J2EE como JMS, EJB, SMTP, etc., lo que limita su capacidad para conectarse a otro sistema.

Sin embargo, si está trabajando con sistemas modernos, se puede ejecutar una gran cantidad de software en tomcat que le permite conectarse a otro sistema utilizando un servicio web basado en SOAP. En este caso, realmente no necesita un sistema de middleware separado.

En general, identifique a qué sistemas necesita conectarse ahora, a qué sistemas necesita conectarse al futuro cercano, y Keep It Stupid and Simple (KISS). No se limite a confiar ciegamente en los proveedores que reclamarán que su middleware hará café y se lo entregará al CEO diariamente si eso es lo que necesitan decir para hacer la venta.

Con respecto al "servicio web", el servicio web realmente significa cualquier servicio al que pueda llamar desde la web. Por lo tanto, una vez más depende de su audiencia, si se comunica con proveedores externos que están familiarizados con el servicio web basado en SOAP, tiene muchas opciones. Sin embargo, si su audiencia quiere llamar a su servicio twitteando contra su cuenta de tweeter, también es un servicio web.

Puede abofetear justificadamente el "Middleware" etiqueta sobre cualquier cosa que tenga clientes y servicios de fondo separados. El problema para mí no es cómo lo llamas, sino si es o no el " it " es la arquitectura / tecnología adecuada para la situación.

Creo que la respuesta obvia sería, "¿Middleware para que Tomcat haga qué?"

Si la respuesta de la persona es, "Pararse entre la base de datos y el navegador", entonces la respuesta correcta es "Tomcat es middleware".

Si la respuesta es "" Para interponerse entre nuestro servidor de seguridad y Tomcat " ;, entonces la respuesta es probablemente " Bien, tendremos que verificar si ya tenemos dicho software en casa o si necesitamos adquirir o compilarlo. "

En la vida real, cuando surge este tipo de cosas, la respuesta que a menudo obtengo es más como, "Porque leí en una revista que el middleware web es la última tecnología de vanguardia, por lo que deberíamos usarlo". o "Umm, porque, como, escuché en alguna parte que siempre necesitas middleware o artículos de metal o algo así", entonces la respuesta correcta es: "Cuando hayas identificado el problema, podemos discutir soluciones. No decidamos una solución y luego busquemos un problema que pueda resolver. "

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top