Screenshot from 2022-08-03 15-23-57

Comunicación entre Servlets de Diferentes Servicios Web

Los Servlets son clases especiales en Java que nos permiten crear servidores web capaces de responder a una variedad amplia de solicitudes, una de las características de los Servlets es la capacidad de poder intercambiar información entre ellos sin importar si se ejecutan en entornos o servidores diferentes, en este articulo abordaremos el cómo hacerlo y un ejemplo real de su uso en producción que implementamos a uno de nuestros clientes.

PROBLEMÁTICA

En un proyecto de uno de nuestros clientes surgió la necesidad de validar cierta información de sus sucursales, la principal problemática de esto es que el servidor encargado de esta tarea estaba aislado de Internet y era accesible solo desde la red del corporativo y los datos requerían ser validados desde cualquier sitio mediante Internet.

ANÁLISIS & SOLUCIÓN

Ya se contaba con un servidor web central que funcionaba con Java y que tenía salida a Internet por lo que se optó por agregar un servicio que llamara al otro Servlet, de esta forma funcionaria como un intermediario.

 

IMPLEMENTACIÓN

La clase URLCONNECTION es la piedra angular de la solución ya que a partir de este objeto ejecutaremos el otro Servlet, previamente también configuramos un parámetro de contexto que nos regrese el host en un String.

  1. Del lado del servidor que tiene acceso a Internet creamos un nuevo servicio doGet.
  2. Ya en el servicio obtenemos los parámetros de entrada y los procesamos como se requiera.

3. Construimos la petición e instanciamos el “Servlet” con URLCONNECTION.

4. Invocamos el Servlet aislado, procesamos la respuesta como un stream cualquiera y respondemos la petición original.

 

 

CONSIDERACIONES

• Es posible usar el método post.
• Se pueden manejar sesiones o cookies en el proceso si es requerido.

Fraternalmente

I.I. Daniel Rosillo;

Desarrollador en CG-SYSTEMS, github

REFERENCIAS

StackOverflow

Oracle JAVA 5 EE

Oracle JAVA 7 EE

Compartir:

Noticias Relacionadas

CONTACTO

Escríbanos pidiendo una cotización o si tiene alguna duda, le responderemos a la brevedad.

Este sitio web usa cookies para asegurar que tengas la mejor experiencia en el.