0% encontró este documento útil (0 votos)
0 vistas

SpringSOAP

La Guía Técnica de Desarrollo de NovaSuite para el Spring Framework proporciona una visión general del marco, sus características clave y módulos principales, así como una introducción a los servicios web SOAP. Se detalla el proceso de desarrollo de un servicio web SOAP utilizando Spring, incluyendo la configuración de archivos esenciales como applicationContext.xml y web.xml, y se presenta el uso de SOAP UI para probar estos servicios. Además, se abordan las funcionalidades y estructura de un esquema XSD utilizado en las solicitudes y respuestas del servicio.

Cargado por

Michell
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
0 vistas

SpringSOAP

La Guía Técnica de Desarrollo de NovaSuite para el Spring Framework proporciona una visión general del marco, sus características clave y módulos principales, así como una introducción a los servicios web SOAP. Se detalla el proceso de desarrollo de un servicio web SOAP utilizando Spring, incluyendo la configuración de archivos esenciales como applicationContext.xml y web.xml, y se presenta el uso de SOAP UI para probar estos servicios. Además, se abordan las funcionalidades y estructura de un esquema XSD utilizado en las solicitudes y respuestas del servicio.

Cargado por

Michell
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 14

NovaSuite

Guía Técnica de Desarrollo


Spring Framework
Versión 1.0

www.novasistemas.com.mx
Contenido
Control de Versiones........................................................................................................... 3
1 Conceptos básicos........................................................................................................ 4
1.1 Spring Framework............................................................................................................... 4
1.1.1 ¿Qué es Spring Framework?...................................................................................................... 4
1.1.2 Características clave de Spring Framework...............................................................................4
1.1.3 Módulos Principales de Spring Framework.................................................................................5
1.2 SOAP Web Service.............................................................................................................. 5
1.2.1 Características Clave de SOAP Web Services............................................................................5
1.2.2 Estructura de un Mensaje SOAP.................................................................................................6
1.2.3 ¿Cómo Funciona un SOAP Web Service?....................................................................................6
2 Desarrollo de SOAP Web Service en Spring..................................................................6

Componentes de ExtJs 2
Control de Versiones
Fecha Versión Descripción Autor
Marzo 2025 1.0 Creación del Documento Michell Alejandro López
Sierra

3 Guía Técnica de Desarrollo NovaSuite ÓÓ Confidencial


1 Conceptos básicos
1.1 Spring Framework
Spring Framework es un marco de desarrollo para aplicaciones en Java que
proporciona una infraestructura integral para el desarrollo de aplicaciones
empresariales. Es ampliamente utilizado en la industria debido a su flexibilidad,
modularidad y capacidad para simplificar el desarrollo de aplicaciones Java, desde
aplicaciones monolíticas hasta microservicios.

1.1.1 ¿Qué es Spring Framework?


Spring es un conjunto de herramientas y bibliotecas que facilita la creación de
aplicaciones Java de manera estructurada, modular y eficiente. Proporciona
soluciones para diversas áreas del desarrollo, como la inyección de dependencias, la
gestión de transacciones, la seguridad, la integración con bases de datos y el
desarrollo de APIs RESTful.

1.1.2 Características clave de Spring Framework


Spring se destaca por varias características clave que lo han convertido en uno de los
frameworks más populares para el desarrollo en Java:
Inversión de Control (IoC) e Inyección de Dependencias (DI): Permite desacoplar
componentes de la aplicación mediante la gestión automática de dependencias.

 Programación Orientada a Aspectos (AOP): Facilita la separación de


preocupaciones como el manejo de seguridad, logging y transacciones.
 Acceso a Datos Simplificado: Proporciona integración con JDBC, JPA,
Hibernate y otros frameworks de persistencia.
 Desarrollo de Aplicaciones Web y RESTful: Incluye Spring MVC para el
desarrollo de aplicaciones web y Spring WebFlux para aplicaciones reactivas.
 Seguridad Integrada: Spring Security permite implementar autenticación y
autorización de manera flexible.
 Compatibilidad con Microservicios: La integración con Spring Boot facilita
el desarrollo de aplicaciones basadas en microservicios con configuración
mínima.
 Integración con Mensajería y Servicios en la Nube: Permite integración
con Kafka, RabbitMQ y servicios en la nube como AWS o Google Cloud.

Componentes de ExtJs 4
1.1.3 Módulos Principales de Spring Framework
Spring está compuesto por varios módulos que se pueden usar de manera
independiente o combinada:

 Spring Core: Incluye el contenedor de IoC y la base de la configuración de


Spring.
 Spring AOP: Permite la implementación de aspectos como logging y
seguridad.
 Spring Data: Proporciona acceso simplificado a bases de datos mediante JPA,
MongoDB, Redis, etc.
 Spring MVC: Framework para aplicaciones web basado en el patrón MVC.
 Spring Security: Proporciona autenticación y autorización para aplicaciones.
 Spring Boot: Simplifica la configuración y el desarrollo de aplicaciones
Spring.
 Spring Cloud: Conjunto de herramientas para desarrollar aplicaciones
basadas en microservicios.
 Spring WebFlux: Framework para el desarrollo de aplicaciones reactivas.

1.2 SOAP Web Service


Un SOAP Web Service (Simple Object Access Protocol Web Service) es un tipo de servicio web
que permite la comunicación entre sistemas a través de la web utilizando el protocolo SOAP.
SOAP es un protocolo basado en XML que define reglas estrictas para el intercambio de mensajes
entre aplicaciones, independientemente del lenguaje de programación o la plataforma en la que
estén desarrolladas.

1.2.1 Características Clave de SOAP Web Services


 Basado en XML: Todos los mensajes SOAP se estructuran en XML, lo que los hace legibles
y altamente interoperables.

 Protocolos de Transporte: Aunque SOAP se diseñó originalmente para usarse con HTTP
y HTTPS, también puede funcionar con otros protocolos como SMTP y JMS.

 WSDL (Web Services Description Language): Un archivo en XML que describe el


servicio web, sus métodos, tipos de datos y cómo interactuar con él.

 Independencia de Plataforma y Lenguaje: Permite la comunicación entre sistemas


desarrollados en diferentes lenguajes de programación como Java, C#, Python, etc.

 Seguridad: SOAP soporta estándares de seguridad como WS-Security, que permite


encriptación y autenticación en los mensajes.

 Soporte para Transacciones y Estado: A diferencia de REST, SOAP permite el manejo


de transacciones y servicios con estado.

5 Guía Técnica de Desarrollo NovaSuite ÓÓ Confidencial


1.2.2 Estructura de un Mensaje SOAP
Un mensaje SOAP es un documento XML que contiene los siguientes elementos:

Imagen 1 Estructura SOAP

 Envelope: Es el contenedor principal del mensaje SOAP.


 Header (opcional): Puede contener información como seguridad, autenticación,
enrutamiento, etc.
 Body: Contiene los datos de la solicitud o respuesta.

1.2.3 ¿Cómo Funciona un SOAP Web Service?


1. Cliente envía una solicitud en formato SOAP (XML) al servidor a través de HTTP/HTTPS.
2. El servidor procesa la solicitud y ejecuta la operación solicitada.
3. El servidor responde con un mensaje SOAP que contiene los datos solicitados o un error.

Imagen 2 Ejemplo de respuesta SOAP

Componentes de ExtJs 6
2 Desarrollo de SOAP Web Service en Spring
1. Abrir Eclipse IDE y crear nuevo proyecto Maven.

Imagen 3 Proyecto Maven

2. Habilitar las opciones que se muestran a continuación

Imagen 4 New Maven Proyect

3. Como siguiente paso es necesario configurar el proyecto a crear, como punto importante
es necesario que la opción Packaging sea de tipo war tal y como se muestra en la
siguiente imagen.

Imagen 5 Configuración de proyecto

4. A continuación se creará el siguiente proyecto

Imagen 6 Package Explorer

Este es el POM.xml generado automáticamente. Deben agregarse todas las dependencias


necesarias según los requerimientos previamente establecidos.

7 Guía Técnica de Desarrollo NovaSuite ÓÓ Confidencial


Imagen 7 pom.xml

Para facilidad de consulta, el pom.xml completo será agregado como anexo en una última sección
de Anexos.

2.1 applicationContext.xml
Este archivo es un archivo de configuración XML de Spring Framework, que define la
configuración de beans, la inyección de dependencias y otros aspectos del contexto de la
aplicación.

Este archivo configura un entorno Spring basado en XML que:

 Usa escaneo de componentes para detectar automáticamente beans.


 Carga configuraciones desde archivos .properties.
 Soporta AOP, inyección de dependencias, transacciones y otras funcionalidades.
 Define el contexto de Spring para la aplicación en el paquete
mx.com.novasistemas.estructurabase.controller.

Suele definirse de la misma manera para cualquier proyecto. Se coloca en el dentro del directorio
del proyecto en src/main/webapp/META-INF/spring con el nombre de applicationContext.xml, su
estructura en la siguiente imagen.

Imagen 8 Ruta applicationContext.xml

Imagen 9 applicationContext.xml

Componentes de ExtJs 8
2.2 web.xml
Este archivo es un web.xml, el descriptor de despliegue para aplicaciones web en Jakarta EE
(anteriormente Java EE). Especifica la configuración de la aplicación web, incluyendo servlets,
listeners y parámetros de contexto. Se genera en el siguiente directorio.

Imagen 10 web.xml

2.2.1 Encabezado y definición de esquema


<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="https://jakarta.ee/xml/ns/jakartaee"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd" id="WebApp_ID" version="6.0">

 Define que el archivo usa XML versión 1.0 y está codificado en UTF-8.
 Especifica que sigue el esquema de Jakarta EE 6.0, lo cual indica que la aplicación está
diseñada para un servidor compatible con esta versión.

2.2.2 Nombre de la aplicación


<display-name>demoSoap.spring</display-name>

 Establece el nombre de la aplicación como demoSoap.spring.

2.2.3 Archivos de bienvenida


<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
<welcome-file>/axis2-web/index.jsp</welcome-file>
</welcome-file-list>

 Define las páginas de inicio que el servidor buscará cuando un usuario acceda sin
especificar un archivo en la URL.
 Incluye HTML, JSP y archivos específicos de Apache Axis2 (/axis2-web/index.jsp)

9 Guía Técnica de Desarrollo NovaSuite ÓÓ Confidencial


2.2.4 Parámetros del contexto
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>META-INF/spring/applicationContext*.xml</param-value>
</context-param>

 Define la ubicación de los archivos de configuración de Spring, específicamente


cualquier archivo applicationContext*.xml dentro de META-INF/spring/.
 Esto permite que la aplicación cargue configuraciones de beans de Spring desde archivos
XML.

2.2.5 Listener para Spring


<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</
listener-class>
</listener>

 Registra ContextLoaderListener de Spring, lo que indica que la aplicación usará Spring


Framework y cargará su contexto en el momento en que la aplicación se inicie.

2.2.6 Definición de Servlets


2.2.6.1 Servlet BootStrap
<servlet>
<servlet-name>BootStrap</servlet-name>
<servlet-class>mx.com.novasistemas.estructurabase.controller.BootStrap</
servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>

 Define un servlet llamado BootStrap, que pertenece al paquete


mx.com.novasistemas.estructurabase.controller.
 Este servlet realiza tareas de inicialización al arrancar la aplicación.
 load-on-startup con valor 0 indica que se cargará en cuanto el servidor inicie.

2.2.6.2 Servlet para Web Services


servlet>
<servlet-name>services</servlet-name>
<servlet-
class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-
class>
<init-param>
<param-name>transformWsdlLocations</param-name>
<param-value>true</param-value>
</init-param>
</servlet>

 Define un servlet llamado services que usa MessageDispatcherServlet de Spring Web


Services.
 transformWsdlLocations en true indica que el servlet ajustará las ubicaciones de los
archivos WSDL para asegurar su correcta exposición.

Componentes de ExtJs 10
2.3 services-servlet.xml
Este archivo es parte de una arquitectura basada en Spring-WS, donde se define la lógica de
negocio en un @Endpoint (controlador SOAP), y los mensajes se estructuran con base en un
esquema XSD.

 Este archivo configura un servicio web SOAP en Spring Web Services, proporcionando
las siguientes características:

 Escaneo automático de componentes en el paquete


mx.com.novasistemas.estructurabase.controller.

 Habilitación de anotaciones para facilitar la implementación del servicio web.

 Exposición dinámica de un WSDL, basado en un esquema XSD (Hola_Servicios.xsd).

Se muestra el directorio y la vista final de este archivo.

Imagen 11 Ruta services-servlet.xml

Imagen 12 services-servlet.xml

11 Guía Técnica de Desarrollo NovaSuite ÓÓ Confidencial


2.4 Archivo XSD
Este esquema de definición XML (XSD) describe varios elementos y tipos complejos que se utilizan
para las solicitudes y respuestas de servicios web relacionados con la descarga de información de
empresas y la búsqueda de información de tickets. A continuación, te explico las partes clave de
este esquema:

2.4.1 Funcionalidades Principales


El servicio permite realizar las siguientes operaciones:

 Consulta de compañías disponibles


 Búsqueda de tickets y facturas
 Consulta de cuentas por cobrar
 Generación de CFDIs a partir de tickets, facturas y cuentas por cobrar

Cada operación requiere el envío de una solicitud XML específica y recibe una respuesta
estructurada según el esquema XSD.

2.4.2Estructura del Servicio


El servicio está basado en una serie de elementos definidos en el esquema XML, los cuales
especifican los parámetros requeridos y la información devuelta en cada operación.

 Solicitudes (Request): Contienen los datos necesarios para realizar una consulta o
generar un CFDI.
 Respuestas (Response): Devuelven la información solicitada o el resultado de una
operación.

2.4.3 Formato de Solicitudes y Respuestas


Cada solicitud debe cumplir con la estructura definida en el esquema XSD para ser procesada
correctamente. La información se intercambia en formato XML, asegurando compatibilidad con
diversos sistemas de facturación electrónica.

2.4.4 Consideraciones Generales


 Todas las solicitudes deben incluir los datos obligatorios especificados en el esquema XSD.
 Las respuestas pueden contener mensajes de error en caso de datos inválidos o falta de
información.
 Se recomienda validar los XML antes de enviarlos al servicio web para evitar rechazos.

A continuación se muestra una sección del archivo XSD.

Componentes de ExtJs 12
Imagen 13 Fragmento de archivo XSD

A continuación se genera un nuevo paquete el cual va a contener la clase que gestionará cada
uno de los endpoints declarados anteriormente en el XDS.

Imagen 14 HelloEndpoint.java

Cada uno de los elements declarados deberá poseer un método que recibirá el request y
devolverá el elemento declarado como response.

Imagen 15 Método Response

13 Guía Técnica de Desarrollo NovaSuite ÓÓ Confidencial


3 SOAP UI
SOAP UI es una herramienta de prueba de servicios web que permite probar protocolos SOAP y
REST. Fue creada para facilitar la validación y depuración de servicios web en diferentes entornos.

Imagen 16 Logo SoapUI

3.1 Características Principales de SOAP UI


SOAP UI ofrece una serie de características clave que lo hacen una herramienta robusta:

 Soporte para SOAP y REST: Aunque comenzó como una herramienta exclusiva para
SOAP, con los años ha evolucionado para admitir pruebas RESTful.

 Interfaz Gráfica Intuitiva: Permite probar servicios sin necesidad de escribir código,
simplemente configurando solicitudes y validaciones dentro de la interfaz.

 Assertions para Validaciones: Permite agregar Assertions para verificar respuestas


automáticamente y detectar errores en las API.

 Automatización de Pruebas: Con TestSuites y TestCases, permite ejecutar pruebas en


secuencia y automatizar validaciones.

 Soporte para Scripts (Groovy y JavaScript): Para usuarios avanzados, SOAP UI permite
la personalización mediante scripts en Groovy o JavaScript.

 Pruebas de Carga y Rendimiento: SOAP UI permite evaluar el rendimiento de una API


sometiéndola a múltiples solicitudes simultáneas.

Un archivo WSDL (Web Services Description Language) describe las operaciones que un
servicio ofrece y cómo se pueden invocar.

3.2 Proceso de prueba con Soap UI

Componentes de ExtJs 14

También podría gustarte