soap rest

Building Micro Services IV

Una vez creada las interfaces, servicio y el despliegue, el consumo será el último paso para tener un ejemplo completo. No obstante, he dejado atrás la realización de test unitarios, dentro de cada uno de los módulos que he ido creando, motivado por la simpleza de estos. Si quieres saber más sobre test y cobertura pulsa aquí.

Creando Clientes

Hemos de recordar que se han desarrollado dos API’s (SOAP/REST) para exponer nuestro servicio. A continuación se describen los pasos para la realización de los distintos clientes en ambas arquitecturas y un pequeño test que servirá de apoyo para la verificación del correcto funcionamiento del servicio.

Cliente y Consumo Soap

Por lo general, si buscamos un poco, encontraremos numerosos ejemplos para la generación del cliente a través de un wsdl que se nos provee. En algunas ocasiones se produce un problema durante la generación de los paquetes. En otras, se nos suministra una url donde se encuentra el wsdl que debemos consumir, no estando disponible en el momento de la generación del cliente. A continuación y a través de la arquitectura descrita, vamos a realizar la automatización de la generación del cliente y el posterior consumo del servicio.

Generación del Cliente

Para la generación del cliente hemos de basarnos en el proyecto que tenía como objetivo sólo mostrar la api del servicio (libro-soap-service). Cliente Soap

Teniendo esto en cuenta, el proyecto libro-soap-cliente, hará uso de este proyecto, para automatizar la generación del fichero wsdl sin necesidad de estar desplegado al mismo tiempo. A continuación se creará el conjunto de clases necesarias para el consumo. Todo esto a través de plugins de maven, automatizando el proceso:

Como podrás observar, si conoces el funcionamiento de maven y los plugins, se va a depositar el wsd generado en la carpeta resorces/wsdl, con nombre LibroService.wsdl. A partir de este wsdl, se van a generar el conjunto de clases necesarias para el consumo del servicio. Esto será posible gracias al siguiente plugin:

Podemos observar en la imagen anterior, que la carpeta donde se extrae, es la misma donde se ha depositado el wsdl anteriormente. De esta forma, la combinación de ambos plugins permite no depender de una url y poder proveer un cliente soap de forma automatizada.

Consumo del Servicio

El proyecto libro-soap-test, hará uso del proyecto anterior. Veamos cómo se realiza la importación del proyecto.

Y por último un pequeño ejemplo de consumo del servicio a través de un test:

El código anterior realiza un simple test que inserta un libro en el servicio y su posterior consumo, verificando que el listado ha pasado de 2 a 3 elementos en la lista. Eso sí, el test es mejorable, no cabe la menor duda.

Cliente y Consumo Rest

El consumo del servicio a través de la Api Rest lo realizaremos a través del proyecto libro-rest-test.

dependencias client rest

La primera diferencia que podemos encontrar es la ausencia de cliente, debido a que en la arquitectura REST, se nos proporciona la conexión a través de librerías externas de las que haremos uso. En este ejemplo, utilizamos 3 librerías:

Disponemos de librerías jersey para el consumo, y de la API desarrollada para la transformación de JSON a Java. Un simple ejemplo de consumo será el siguiente:

Si quieres ver el ejemplo completo sólo tienes que acceder al siguiente enlace, y recuerda mencionar al autor, que sería un detalle.

¡¡¡ Sed buenos, disfrutad programando y recuerda que el siguiente post está a medio cocer. 😉 !!!!.