Web Service (SOAP)

  • ¿Qué es un servicio web? 

Un Servicio Web es un componente al que podemos acceder mediante protocolos Web estándar, utilizando XML para el intercambio de información.

Normalmente nos referimos con Servicio Web a una colección de procedimientos (métodos) a los que podemos llamar desde cualquier lugar de Internet o de nuestra intranet, siendo este mecanismo de invocación totalmente independiente de la plataforma que utilicemos y del lenguaje de programación en el que se haya implementado internamente el servicio.

Cuando conectamos con un servidor web desde nuestro navegador, el servidor nos devuelve la página web solicitada, que es un documento que se mostrará en el navegador para que lo visualice el usuario, pero es difícilmente entendible por una máquina. Podemos ver esto como web para humanos. En contraposición, los Servicios Web ofrecen información con un formato estándar que puede ser entendido fácilmente por una aplicación. En este caso estaríamos ante una web para máquinas.


Los servicios Web son componentes de aplicaciones distribuidas que están disponibles de forma externa. Se pueden utilizar para integrar aplicaciones escritas en diferentes lenguajes y que se ejecutan en plataformas diferentes. Los servicios Web son independientes de lenguaje y de la plataforma gracias a que los vendedores han admitido estándares comunes de Servicios Web.

Pasos para el diseño de un servicio web con SOAP.(JAVA)                                                   En este blog vamos a diseñar un servicio web con el protocolo SOAP (Simple Object Access Protocol) el cual básicamente se define como la comunicación de dos objetos en diferentes procesos por medio de intercambio de datos XML. Nuestro Web Service contara con las operaciones de Suma y el Factorial.

Recursos
  • IDE Netbeans
  • Servidor GlassFish
  1. Crear un nuevo proyecto                                                                                                                                                    Archivo --> Nuevo proyecto --> Categoría: Java Web --Proyecto: Aplicación Web --> presionamos en siguiente

  2. Dar nombre al proyecto                                                                                                                                                             En el campo Project Name colocamos el nombre de nuestro proyecto para esta practica lo pondremos Servidor1, adicional a eso desmarcamos el cuadro para crear nuestra propia carpeta  de librerías es opcional --> presionamos en siguienet.
  3. Seleccionar el servidor                                                                                                                                                                   En este tutorial  trabajaremos con el servidor Glassfish 4.1.1, también pueden elegir el servidor Apache Tomcat igual funciona --> presionamos siguiente                 
                                                                                                                                                En la siguiente ventana se muestran varias opciones para este ejemplo dejaremos todo por defecto --> presionamos terminar. Ya tenemos creado nuestro proyecto Web.

  4. Crear el Servicio Web                                                                                                                                                                Clic derecho sobre el proyecto --> Nuevo --> otros --> en categoría seleccionamos "Web Services" --> en File Types seleccionamos "Web Service" y presionamos siguiente.
    En el campo Web Service Name colocamos el nombre para el servicio en esta ocasión lo pondremos Operaciones, en en el paquete le pondremos de nombre servicios y dejamos marcada la primera opción y presionamos en Terminar.
    Al culminar con estos pasos obtendremos los siguientes archivos o componentes adicionales y nuestro proyecto se vera de la siguiente forma.

  5. Agregar Operaciones                                                                                                                                                                               Para agregar operaciones debemos dirigirnos al paquete servicios --> clase Operaciones.java, aquí podemos crear los métodos que van a usarse en el servicio web. Con la anotación @WebMethod. Por defecto al crear el Servicio Web, se agrega una operación llamada Hello (el que podemos borrar en cualquier momento).
    Para agregar una nueva operación nos dirigimos al paquete Web Services del proyecto. Desplegamos la carpeta en el archivo de Operaciones  damos clic derecho y seleccionamos la opcion de Add Operation...                                        
                                                                                                                                                                 En la ventana que aparece, escribimos el nombre de la operación es este caso ser una Suma, escribimos el tipo de valor de retorno, en este caso es un entero.Presionamos el botón Add podemos agregar parámetros de entrada, para esta operación, necesitamos dos parámetros llamados num1 y num2 de tipo entero presionamos en acetar para continuar.
    Del mismo modo para la operación del Factorial. Ya están creados los métodos de la Suma y el Factorial.
       Procedemos a programar la parte lógica de las Operaciones en cada método.  
  6. Realizar el Test                                                                                                        
    Nuestro Servicio Web esta listo y debemos probar su funcionamiento. Lo primero que debemos hacer es levantar es el servidor GlassFish, para ello, clic derecho sobre el proyecto y ejecutar. 
    Si todo esta bien se mostrara el navegador con un mensaje eso significa que se levanto el servicio.                                                                                  
  7. Test de servicio Web                                                                                                                                                                                 Una vez levantado el servicio procedemos a realizar el test del servicio web para ello nos dirigiremos al archivo de web service dar clic derecho en Operaciones y seleccionar la opcion de Test Web Service.
                                                                                                                                                              
  8.  Se cargara una interfaz en nuestro navegador con las operaciones antes programadas podemos realizar unas pruebas para ver si esta correcto.
              
  9. Pero no solo nos muestra el resultado de la operación, sino también nos muestra en formato XML como realizar una consulta y como retorna el resultado.
  10. Consumir servicio desde una aplicación de escritorio en JAVA                                                                                                          Para consumir el servicio desde otro proyecto debemos crear un nuevo proyecto en este caso sera una aplicación java de escritorio, luego de esos debemos generar el WSDL de nuestro servicio esto lo encontraremos en el navegador previamente abierto.


Copiamos el link de la barra de navegación del servicio ejecutado. En esta ventana se muestra el WSDL en formato Xml.
Ahora en el nuevo proyecto que se creo damos hacemos clic derecho  y buscamos la opción de Web Service Client, para realizar la conexión del cliente hacia el servicio.

Ahora en el nuevo proyecto que se creo damos hacemos clic derecho  y buscamos la opción de Web Service Client, para realizar la conexión del cliente hacia el servicio.
  En la ventana que se acaba de abrir activamos la opción de WSDL File y pegamos la dirección http antes copiada, damos nombre a nuestro paquete con esto crearemos los complementos necesarios para realizar la conexión entre el Cliente y el Servicio presionamos el boton aceptar.

Ya están cargados los complementos y los métodos que tiene nuestro servidor hacia el cliente ya podemos consumirlo desde el cliente siempre y cuando el servicio se este ejecutando.


En Paquetes de fuente creamos una nueva clase para comprobar si se puede utilizar los recursos del servidor con éxito

Para llamar a los métodos del servidor damos clic derecho sobre la parte blanca dela clase y seleccionamos la opción Insertar codigo --> opci'on Call Web Service Operation.
En la ventana que se muestra seleccionamos la operación a ejecutar y creamos el método main para su ejecución.
Bueno el resultado a sido exitoso con esto damos por culminado el tutorial del servicio web con el protocolo SOAP.



sERVICIO WEB<>

Comentarios

Entradas populares de este blog

Introducción a la metodología RAD

Sistema Clinico con PhpMaker

Lenguaje de Programación Avanzada