SlideShare una empresa de Scribd logo
1 de 34
FRANCISCO JAVIER TOSCANO LOPEZ
29/11/2022
SEVILLA MuleSoft Meetup Group
2
Agenda
• Integración de sistemas ¿Qué es?
• Protocolo de integración HTTP
• Protocolo de integración SOAP y REST
• Implementación de ejemplos con MuleSoft
• Despliegues de Mule Apps en CloudHub y Runtime
Fabric
• Mesa redonda.
All contents © MuleSoft, LLC
Integración ¿Que es?
4
Integración de sistemas ¿Qué es?
• Proceso encargado de hacer que varios sistemas se comuniquen entre ellos para entregar una
funcionalidad global como sistema integrado
• Para conseguir un sistema integrado nos basamos en unidades básicas de integración (INT-XX),
encargadas de conectar únicamente dos sistemas
Subsistema A
Subsistema C
Subsistema B
Sistema integrado
INT-AB
5
Unidad básica de integración
La unidad básica de integración, comunica dos sistemas utilizando cuatro aspectos tecnológicos
básicos, con el objetivo de habilitar el intercambio de información entre ambos sistemas.
• Protocolo • Seguridad • Mensaje • Comunicación
Seguridad
Mensaje
Protocolo
Subsistema A Subsistema B
Comunicación
Integración AB
6
Unidad básica de integración
Protocolo: Conjunto de reglas que definen el
modo en la que se llevará a cabo la
comunicación entre ambos sistemas.
Seguridad: Condiciones que deben cumplir
los sistemas para confiar el uno en el otro.
Mensaje: Contiene la información
intercambiada entre ambos sistemas.
Comunicación: Define la dirección de la
comunicación, qué puede ser bidireccional o
unidireccional.
Seguridad
Mensaje
Protocolo
A B
7
Ejemplos de tecnologías de integración
Existen muchos tipos diferentes de tecnologías asociadas a cada aspecto de la unidad básica de
integración. Aplicando diferentes combinaciones conforman la gran variedad de tipos de integración.
Protocolo
• HTTP
• FTP
• SMTP
• SOAP
• LDAP
Mensaje
• XML
• XSD
• JSON
• JSON
Schema
• Base64
• Binary
Seguridad
• WSS
• BASIC
• OAUTH
• SSL/TLS
• JWT
Comunicación
• Unidirecciona
l
• Bidireccional
• Síncrona
• Asíncrona
All contents © MuleSoft, LLC
Protocolo de integración HTTP
9
Protocolo de integración HTTP
Protocolo síncrono basado en TCP (Transmission Control Protocol) que permite la trasferencia de
información entre sistemas de la WWW (World Wide Web) y que se apoya en los siguientes conceptos
• URI
• Método
• Cabeceras
• Parámetros
• Cuerpo de mensaje
• Códigos de error
Subsistema A Subsistema B
Protocolo de integración HTTP
10
URI (Uniform Resource Identifier)
Identifica la dirección del recurso HTTP: URI = URL + URN
• URL (Uniform Resource Locator):
http://www.domain.com
• URN (Uniform Resource Name): /resource
• URI: http://www.domain.com/resource
Métodos (por convenio)
• GET: Solicita obtener un recurso
• POST: Solicita crear un nuevo recurso
• PUT: Solicita reemplazar un recurso existente por
completo
• PATCH: Solicita reemplazar un recurso existente
parcialmente
• DELETE: Solicita eliminar un recurso
Cabeceras
Las cabeceras HTTP son metadatos que son enviados del
(origen  destino) en la solicitud y (destino  origen) en la
respuesta.
Aunque se pueden usar cabeceras definidas por el
usuario, existen muchas cabeceras reservadas por el
propio protocolo HTTP. (Content-Type, Accept,
Authorization, …)
Parámetros
Los parámetros son metadatos que son solo enviados en
la solicitud (origen  destino) como parte de la URI.
Pueden ser de dos tipos pathParam o queryParam
http://www.domain.com/{pathParam1}/{pathParam2}?query
Param1=value1&queryParam2=value2
11
Protocolo de integración HTTP
Cuerpo del Mensaje (body/payload)
Información trasmitida en cada dirección de la
comunicación HTTP.
Solo los métodos de creación y modificación permiten el
envío de un mensaje en la solicitud, pero en todos los
casos se permite recibir un mensaje como respuesta.
• GET, DELETE: No envían mensaje en el cuerpo de la
solicitud
• POST, PUT, PATCH: Envían mensaje en el cuerpo de la
solicitud
La cabecera Content-Type define el tipo de contenido
enviado en la solicitud
• Content-Type: application/json
La cabecera Accept define el tipo de contenido aceptado
en la respuesta
• Accept: text/plain
Códigos de error
El protocolo HTTP responde con un código informando el
estado de procesamiento de las solicitud
• 1xx: Respuestas informativas. Indica que la petición ha
sido recibida y se está procesando.
• 2xx: Respuestas correctas. Indica que la petición ha
sido procesada correctamente.
• 3xx: Respuestas de redirección. Indica que el cliente
necesita realizar más acciones para finalizar la petición.
• 4xx: Errores causados por el cliente. Indica que ha
habido un error en el procesado de la petición a causa
de que el cliente ha hecho algo mal.
• 5xx: Errores causados por el servidor. Indica que ha
habido un error en el procesado de la petición a causa
de un fallo en el servidor.
All contents © MuleSoft, LLC
Protocolo de integración SOAP
13
Protocolo de integración SOAP
SOAP (Simple Object Access Protocol) es un protocolo síncrono basado principalmente en HTTP cuyo
objetivo es publicar una funcionalidad como un servicio web a través del intercambio de mensajes XML.
Este protocolo aporta interoperabilidad entre sistemas al margen de la plataforma tecnológica, utilizando
los siguientes conceptos:
• HTTP
• WSDL
• XML
• WSS
• XSD
Subsistema A Subsistema B
SOAP-WS
14
Protocolo de integración SOAP
HTTP (Hypertext Transfer Protocol)
El protocolo SOAP se basa en HTTP para trasmitir la
información.
• Método GET: Para obtener la descripción del servicio
web (WSDL)
• Método POST: Para operar con las operaciones del
servicio web
• Cabecera Content-Type: text/xml; application/soap+xml
XSD
XML que define el esquema de datos de los mensajes
SOAP, especificando tanto la estructura como los
posibles valores que puede contener cada elemento o
atributo.
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
</xsd:schema>
XML (Extensible Markup Language)
Lenguaje de etiquetas, usado por SOAP para
representar la definición del servicio web, los
esquemas de datos y los mensajes.
• WSDL: XML de definición del servicio web, sirve como
contrato en la comunicación.
• XSD: XML de definición de los tipos de mensajes usados
por el servicio web
• XML-SOAP: XML que contiene el mensaje de solicitud y
respuesta
WSDL
XML que define todos aspectos relativos el servicio
web SOAP. Expone el nombre del servicio, Endpoint
de consumo, operaciones y tipos de mensajes de
solicitud y respuesta de cada operación
<wsdl:definitions name="Service"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
</wsdl:definitions>
15
Protocolo de integración SOAP - WSDL
Elementos definición abstracta
• Definition : es el elemento raíz de todos los
documentos WSDL. Define el nombre del servicio web,
declara múltiples espacios de nombres utilizados en el
resto del documento y contiene todos los elementos de
servicio descritos aquí.
• Data types : los tipos de datos que se utilizarán en los
mensajes.
• Message : es una definición abstracta de los datos, en
forma de un mensaje presentado como un documento
completo o como argumentos para mapear a una
invocación de método.
• Port Type : es un conjunto abstracto de operaciones
asignadas a uno o más endpoint, que definen la
recopilación de operaciones para un enlace; La
colección de operaciones, como es abstracta, se puede
asignar a múltiples transportes a través de varios
enlaces.
• Operation : es la definición abstracta de la operación
de un mensaje, como nombrar un método, una cola de
mensajes o un proceso comercial, que aceptará y
procesará el mensaje.
Elementos definición concreta
• Binding : es el protocolo concreto y los formatos de
datos para las operaciones y los mensajes definidos
para un tipo de puerto en particular.
• Port : es una combinación de un enlace y una dirección
de red, que proporciona la dirección de destino de la
comunicación del servicio.
• Service : es una colección de endpoint relacionados
que abarca las definiciones de servicio en el archivo; los
servicios asignan el enlace al puerto e incluyen
cualquier definición de extensibilidad.
Elementos opcionales
• Documentation: este elemento se utiliza para
proporcionar documentación legible para humanos y se
puede incluir dentro de cualquier otro elemento WSDL.
• Import: este elemento se usa para importar otros
documentos WSDL o esquemas XML
16
Protocolo de integración SOAP – Ejemplos
Ejemplos
• soap_arquitectura.xml: Este ejemplo tiene el esquema básico de un
WSDL
• soap_ejemplo.xml: Este ejemplo tiene un ejemplo sencillo de una
operación Hola Mundo
• s-soap-gdi.wsdl: Tiene un ejemplo real de un proyecto.
17
Protocolo de integración SOAP - WSS
Cabecera UserNameToken
WSS mediante usuario y contraseña que serán trasmitidos
en la cabecera del mensaje SOAP.
<soap:Envelope xmlns:soap="..." xmlns:wsse="...">
<soap:Header>
...
<wsse:Security>
<wsse:UsernameToken>
<wsse:Username>USER</wsse:Username>
<wsse:Password Type="...">PASS</wsse:Password>
<wsse:Nonce EncodingType="..."> ... </wsse:Nonce>
<wsu:Created> ... </wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
...
</soap:Header>
...
</soap:Envelope>
Formato de contraseña
El método UsernameToken permite representar la
contraseña de dos formas diferentes.
• PasswordText: La contraseña como texto plano
Password_Text = Contraseña
• PasswordDigest: El resumen de la contraseña (SHA) y
opcionalmente el Nonce y/o el sello de tiempo de creación
del mensaje (Created).
Password_Digest = Base64 (SHA-1(nonce + created +
password))
El nonce es una contramedida usada para evitar ataques
de repetición, de forma que el servidor SOAP debe
implementar un control del mismo para que sea efectivo.
All contents © MuleSoft, LLC
Protocolo de integración REST y
diferencias con SOAP
19
Protocolo de integración REST
Definición
• REST es una interfaz para conectar varios sistemas
basados en el protocolo HTTP y nos sirve para obtener
y generar datos y operaciones, devolviendo esos datos
en formatos muy específicos, como XML y JSON.
• El formato más usado en la actualidad es el formato
JSON, ya que es más ligero y legible en comparación al
formato XML.
• REST se apoya en HTTP, los verbos que utiliza son
exactamente los mismos, con ellos se puede hacer
GET, POST, PUT y DELETE. De aquí surge una
alternativa a SOAP.
• REST llega a solucionar esa complejidad que añadía
SOAP, haciendo mucho más fácil el desarrollo de una
API.
Características
• En REST existen varios estándares para la
descripción de interfaces, entre ellos OpenAPI,
RAML
• Tipos de seguridad: Basic Authentication, LDAP,
Oauth 2.0, JWT,…
20
SOAP vs REST
SOAP REST
SOAP es un protocolo. SOAP fue diseñado con una
especificación. Incluye un archivo WSDL que tiene la
información requerida sobre lo que hace el servicio web,
además de la ubicación del servicio web.
REST es un estilo arquitectónico en el que un servicio web
solo puede ser tratado como un servicio HTTP RESTful.
SOAP no puede hacer uso de REST ya que SOAP es un
protocolo y REST es un patrón arquitectónico.
REST puede hacer uso de SOAP como protocolo
subyacente para los servicios web, porque al final es solo un
patrón arquitectónico.
SOAP utiliza interfaces de servicio para exponer su
funcionalidad a las aplicaciones cliente. En SOAP, el archivo
WSDL proporciona al cliente la información necesaria que se
puede utilizar para entender qué servicios puede ofrecer el
servicio web.
REST utiliza localizadores de servicio uniforme para acceder
a los componentes del dispositivo de hardware. Por ejemplo,
si hay un objeto que representa los datos de un empleado
alojado en una URL como http://demo.example, los
siguientes son algunos de los URI que pueden existir para
acceder a ellos.
http://demo.example/empleado
http://demo.example/empleado/1
21
SOAP vs REST
SOAP REST
SOAP requiere más ancho de banda para su uso. Dado que
los mensajes SOAP contienen mucha información dentro de
ellos, la cantidad de transferencia de datos usando SOAP
suele ser mucha.
<?xml version="1.0"?> <SOAP-ENV:Envelope xmlns:SOAP-
ENV ="http://www.w3.org/2001/12/soap-envelope" SOAP-
ENV:encodingStyle =" http://www.w3.org/2001/12/soap-
encoding"> <soap:Body> <Demo.guru99WebService
xmlns="http://tempuri.org/"> <EmployeeID>int</EmployeeID>
</Demo.guru99WebService> </soap:Body> </SOAP-
ENV:Envelope>
REST no necesita mucho ancho de banda cuando se envían
solicitudes al servidor. Los mensajes REST consisten
principalmente en mensajes JSON. A continuación se
muestra un ejemplo de un mensaje JSON pasado a un
servidor web. Puedes ver que el tamaño del mensaje es
relativamente menor que el de SOAP.
{"city":"Mumbai","state":"Maharastra"}
SOAP solo puede funcionar con formato XML. Como se ve
en los mensajes SOAP, todos los datos pasados están en
formato XML.
REST permite diferentes formatos de datos, como texto sin
formato, HTML, XML, JSON, etc. Pero el formato más
preferido para transferir datos es JSON.
All contents © MuleSoft, LLC
Implementación de ejemplos con MuleSoft
23
Ejemplo Mule App
Definiciones
• RAML: Definición del contrato de integración.
• Scaffolding: Proceso de creación del esqueleto de la mule app a partir del
RAML.
• Operation: Diferentes servicios Rest definidos en el RAML e implementados en
los Flow.
• Global Element: Elementos de configuración que afecta a todos los flujos que
lo utilicen.
• Flow/Subflow: Componente de Mulesoft por el que fluye el mensaje cuando
llega a la Mule App.
• Component: Los diferentes componentes de Mulesoft que modifican el mensaje
cuando viaja por el flujo.
• Connector: Componente que simplifica el proceso de conexión con elementos
externos. a Mulesoft, (BBDD, JMS, etc).
• SOAP Route: Componente que construye los Flow a partir del WSDL.
• ApiKit Route: Componente que construye los Flow a partir del RAML/OAS3.
All contents © MuleSoft, LLC
Ejemplo de Mule App, que consume un
Web Service SOAP
25
Ejemplo Mule App – consume web service SOAP
• Flujo 1 (consumer-service-api2Flow-local) : Este
flujo llama a un WS Mock publicado en local con
SoapUI, con el componente WS Consumer.
• Flujo 2 (consumer-service-api2Flow-real): Este
flujo llama a un WS real publicado por Postman y
w3school con el componente WS Consumer.
• Flujo 3 (consumer-service-api2-http-real): Este
flujo llama al WS Real pero con el componente Http
Request.
All contents © MuleSoft, LLC
Ejemplo de Mule App, que publica un
Servicio SOAP
27
Ejemplo Mule App – publica web service SOAP
• De donde partimos??, de un WSDL: para poder crear un WS SOAP
con MuleSoft es necesario tener un contrato WSDL de donde partir.
En el proceso de creación del proyecto al incluir el WSDL en el
proceso de scaffolding se crea el esqueleto con el SOAP Route.
• SOAP Route: es el componente encargado de enrutar el mensaje
cuando llega a MuleSoft.
All contents © MuleSoft, LLC
Despliegues de Mule Apps en CloudHub
1.0 con Maven
29
Publicación de Mule App en CloudHub 1.0
<plugin>
<groupId>org.mule.tools.maven</groupId>
<artifactId>mule-maven-plugin</artifactId>
<version>${mule.maven.plugin.version}</version>
<extensions>true</extensions>
<configuration>
<classifier>mule-application</classifier>
<cloudHubDeployment>
<uri>https://anypoint.mulesoft.com</uri>
<muleVersion>4.4.0</muleVersion>
<businessGroup>everisSandbox</businessGroup>
<businessGroupId>ed517fa0-dd83-4ea0-b12c-
b68a2f170e25</businessGroupId>
<username>${userPlatform}</username>
<password>${passPlatform}</password>
<applicationName>s-examplech1</applicationName>
<environment>Dev</environment>
<region>us-east-2</region>
<workers>1</workers>
<workerType>MICRO</workerType>
<properties>
<key>value</key>
</properties>
</cloudHubDeployment>
</configuration>
</plugin>
All contents © MuleSoft, LLC
Despliegues de Mule Apps en Runtime
Fabric con Maven
31
Publicación de Mule App en Runtime Fabric
<plugin>
<groupId>org.mule.tools.maven</groupId>
<artifactId>mule-maven-plugin</artifactId>
<version>${mule.maven.plugin.version}</version>
<extensions>true</extensions>
<configuration>
<classifier>mule-application</classifier>
<runtimeFabricDeployment>
<uri>https://anypoint.mulesoft.com</uri>
<muleVersion>4.4.0</muleVersion>
<username>${userPlatform}</username>
<password>${passPlatform}</password>
<applicationName>s-examplertf</applicationName>
<businessGroup>everisSandbox</businessGroup>
<businessGroupId>ed517fa0-dd83-4ea0-b12c-
b68a2f170e25</businessGroupId>
<target>rtf-aks-sandbox</target>
<environment>Dev</environment>
<provider>MC</provider>
<replicas>1</replicas>
<properties>
<key>value</key>
</properties>
<deploymentSettings>
<enforceDeployingReplicasAcrossNodes>false</enforceDeployingReplicasAc
rossNodes>
<updateStrategy>recreate</updateStrategy>
<clustered>false</clustered>
<forwardSslSession>false</forwardSslSession>
<lastMileSecurity>false</lastMileSecurity>
<resources>
<cpu>
<reserved>70m</reserved>
<limit>500m</limit>
</cpu>
<memory>
<reserved>1000Mi</reserved>
</memory>
</resources>
<http>
<inbound>
<publicUrl>http://rtfntt.example.com/s-
examplertf</publicUrl>
</inbound>
</http>
</deploymentSettings>
</runtimeFabricDeployment>
</configuration>
</plugin>
All contents © MuleSoft, LLC
Despliegues de Mule Apps en CloudHub
2.0 con Maven
33
Publicación de Mule App en CloudHub 2.0
<plugin>
<groupId>org.mule.tools.maven</groupId>
<artifactId>mule-maven-plugin</artifactId>
<version>${mule.maven.plugin.version}</version>
<extensions>true</extensions>
<configuration>
<classifier>mule-application</classifier>
<cloudhub2Deployment>
<uri>https://anypoint.mulesoft.com </uri>
<provider>MC</provider>
<environment>Dev</environment>
<target>Cloudhub-EU-West-2</target>
<businessGroup>everisSandbox</businessGroup>
<businessGroupId>ed517fa0-dd83-4ea0-b12c-
b68a2f170e25</businessGroupId>
<username>${userPlatform}</username>
<password>${passPlatform}</password>
<muleVersion>4.4.0</muleVersion>
<server>anypoint-exchange-v3</server>
<applicationName>${project.name}</applicationName>
<replicas>1</replicas>
<vCores>0.1</vCores>
<deploymentSettings>
<lastMileSecurity>false</lastMileSecurity>
<forwardSslSession>false</forwardSslSession>
<generateDefaultPublicUrl>true</generateDefaultPublicUrl>
</deploymentSettings>
</cloudhub2Deployment>
</configuration>
</plugin>
Thank you

Más contenido relacionado

Similar a SEVILLA Meetups29112022_sh.pptx

Web services en sistemas distribuidos
Web services en sistemas distribuidosWeb services en sistemas distribuidos
Web services en sistemas distribuidosTensor
 
Capa de aplicación
Capa de aplicaciónCapa de aplicación
Capa de aplicaciónRuth_za
 
Capa de aplicación
Capa de aplicaciónCapa de aplicación
Capa de aplicaciónRuth_za
 
Introducció a les Aplicació Web
Introducció a les Aplicació WebIntroducció a les Aplicació Web
Introducció a les Aplicació WebCarlesMG57
 
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebTensor
 
Clase17(introduccion a la web)
Clase17(introduccion a la web)Clase17(introduccion a la web)
Clase17(introduccion a la web)Tensor
 
REDES DE DATOS – SESION # 3.pptx
REDES DE DATOS – SESION # 3.pptxREDES DE DATOS – SESION # 3.pptx
REDES DE DATOS – SESION # 3.pptxMiltonSerrano6
 
Charla Web Services
Charla Web ServicesCharla Web Services
Charla Web ServicesJose Selman
 
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptxArquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptxXavierNavia
 
Integración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptxIntegración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptxLuisTenorio42
 

Similar a SEVILLA Meetups29112022_sh.pptx (20)

Servicios web
Servicios webServicios web
Servicios web
 
Fundamentos de servicios informáticos
Fundamentos de servicios informáticosFundamentos de servicios informáticos
Fundamentos de servicios informáticos
 
Web services en sistemas distribuidos
Web services en sistemas distribuidosWeb services en sistemas distribuidos
Web services en sistemas distribuidos
 
02 - Servicios SOAP.pptx
02 - Servicios SOAP.pptx02 - Servicios SOAP.pptx
02 - Servicios SOAP.pptx
 
Servicios WEB
Servicios WEBServicios WEB
Servicios WEB
 
Capa de aplicación
Capa de aplicaciónCapa de aplicación
Capa de aplicación
 
Capa de aplicación
Capa de aplicaciónCapa de aplicación
Capa de aplicación
 
Introducció a les Aplicació Web
Introducció a les Aplicació WebIntroducció a les Aplicació Web
Introducció a les Aplicació Web
 
Semana 15 -servicios_web
Semana 15 -servicios_webSemana 15 -servicios_web
Semana 15 -servicios_web
 
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la Web
 
Clase17(introduccion a la web)
Clase17(introduccion a la web)Clase17(introduccion a la web)
Clase17(introduccion a la web)
 
REDES DE DATOS – SESION # 3.pptx
REDES DE DATOS – SESION # 3.pptxREDES DE DATOS – SESION # 3.pptx
REDES DE DATOS – SESION # 3.pptx
 
Charla Web Services
Charla Web ServicesCharla Web Services
Charla Web Services
 
Web service
Web serviceWeb service
Web service
 
Web service
Web serviceWeb service
Web service
 
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptxArquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
 
Servidor web
Servidor webServidor web
Servidor web
 
APACHE MYSQL SAMBA
APACHE MYSQL SAMBAAPACHE MYSQL SAMBA
APACHE MYSQL SAMBA
 
Integración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptxIntegración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptx
 
Servicios web
Servicios webServicios web
Servicios web
 

Último

FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 

Último (20)

FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 

SEVILLA Meetups29112022_sh.pptx

  • 1. FRANCISCO JAVIER TOSCANO LOPEZ 29/11/2022 SEVILLA MuleSoft Meetup Group
  • 2. 2 Agenda • Integración de sistemas ¿Qué es? • Protocolo de integración HTTP • Protocolo de integración SOAP y REST • Implementación de ejemplos con MuleSoft • Despliegues de Mule Apps en CloudHub y Runtime Fabric • Mesa redonda.
  • 3. All contents © MuleSoft, LLC Integración ¿Que es?
  • 4. 4 Integración de sistemas ¿Qué es? • Proceso encargado de hacer que varios sistemas se comuniquen entre ellos para entregar una funcionalidad global como sistema integrado • Para conseguir un sistema integrado nos basamos en unidades básicas de integración (INT-XX), encargadas de conectar únicamente dos sistemas Subsistema A Subsistema C Subsistema B Sistema integrado INT-AB
  • 5. 5 Unidad básica de integración La unidad básica de integración, comunica dos sistemas utilizando cuatro aspectos tecnológicos básicos, con el objetivo de habilitar el intercambio de información entre ambos sistemas. • Protocolo • Seguridad • Mensaje • Comunicación Seguridad Mensaje Protocolo Subsistema A Subsistema B Comunicación Integración AB
  • 6. 6 Unidad básica de integración Protocolo: Conjunto de reglas que definen el modo en la que se llevará a cabo la comunicación entre ambos sistemas. Seguridad: Condiciones que deben cumplir los sistemas para confiar el uno en el otro. Mensaje: Contiene la información intercambiada entre ambos sistemas. Comunicación: Define la dirección de la comunicación, qué puede ser bidireccional o unidireccional. Seguridad Mensaje Protocolo A B
  • 7. 7 Ejemplos de tecnologías de integración Existen muchos tipos diferentes de tecnologías asociadas a cada aspecto de la unidad básica de integración. Aplicando diferentes combinaciones conforman la gran variedad de tipos de integración. Protocolo • HTTP • FTP • SMTP • SOAP • LDAP Mensaje • XML • XSD • JSON • JSON Schema • Base64 • Binary Seguridad • WSS • BASIC • OAUTH • SSL/TLS • JWT Comunicación • Unidirecciona l • Bidireccional • Síncrona • Asíncrona
  • 8. All contents © MuleSoft, LLC Protocolo de integración HTTP
  • 9. 9 Protocolo de integración HTTP Protocolo síncrono basado en TCP (Transmission Control Protocol) que permite la trasferencia de información entre sistemas de la WWW (World Wide Web) y que se apoya en los siguientes conceptos • URI • Método • Cabeceras • Parámetros • Cuerpo de mensaje • Códigos de error Subsistema A Subsistema B
  • 10. Protocolo de integración HTTP 10 URI (Uniform Resource Identifier) Identifica la dirección del recurso HTTP: URI = URL + URN • URL (Uniform Resource Locator): http://www.domain.com • URN (Uniform Resource Name): /resource • URI: http://www.domain.com/resource Métodos (por convenio) • GET: Solicita obtener un recurso • POST: Solicita crear un nuevo recurso • PUT: Solicita reemplazar un recurso existente por completo • PATCH: Solicita reemplazar un recurso existente parcialmente • DELETE: Solicita eliminar un recurso Cabeceras Las cabeceras HTTP son metadatos que son enviados del (origen  destino) en la solicitud y (destino  origen) en la respuesta. Aunque se pueden usar cabeceras definidas por el usuario, existen muchas cabeceras reservadas por el propio protocolo HTTP. (Content-Type, Accept, Authorization, …) Parámetros Los parámetros son metadatos que son solo enviados en la solicitud (origen  destino) como parte de la URI. Pueden ser de dos tipos pathParam o queryParam http://www.domain.com/{pathParam1}/{pathParam2}?query Param1=value1&queryParam2=value2
  • 11. 11 Protocolo de integración HTTP Cuerpo del Mensaje (body/payload) Información trasmitida en cada dirección de la comunicación HTTP. Solo los métodos de creación y modificación permiten el envío de un mensaje en la solicitud, pero en todos los casos se permite recibir un mensaje como respuesta. • GET, DELETE: No envían mensaje en el cuerpo de la solicitud • POST, PUT, PATCH: Envían mensaje en el cuerpo de la solicitud La cabecera Content-Type define el tipo de contenido enviado en la solicitud • Content-Type: application/json La cabecera Accept define el tipo de contenido aceptado en la respuesta • Accept: text/plain Códigos de error El protocolo HTTP responde con un código informando el estado de procesamiento de las solicitud • 1xx: Respuestas informativas. Indica que la petición ha sido recibida y se está procesando. • 2xx: Respuestas correctas. Indica que la petición ha sido procesada correctamente. • 3xx: Respuestas de redirección. Indica que el cliente necesita realizar más acciones para finalizar la petición. • 4xx: Errores causados por el cliente. Indica que ha habido un error en el procesado de la petición a causa de que el cliente ha hecho algo mal. • 5xx: Errores causados por el servidor. Indica que ha habido un error en el procesado de la petición a causa de un fallo en el servidor.
  • 12. All contents © MuleSoft, LLC Protocolo de integración SOAP
  • 13. 13 Protocolo de integración SOAP SOAP (Simple Object Access Protocol) es un protocolo síncrono basado principalmente en HTTP cuyo objetivo es publicar una funcionalidad como un servicio web a través del intercambio de mensajes XML. Este protocolo aporta interoperabilidad entre sistemas al margen de la plataforma tecnológica, utilizando los siguientes conceptos: • HTTP • WSDL • XML • WSS • XSD Subsistema A Subsistema B SOAP-WS
  • 14. 14 Protocolo de integración SOAP HTTP (Hypertext Transfer Protocol) El protocolo SOAP se basa en HTTP para trasmitir la información. • Método GET: Para obtener la descripción del servicio web (WSDL) • Método POST: Para operar con las operaciones del servicio web • Cabecera Content-Type: text/xml; application/soap+xml XSD XML que define el esquema de datos de los mensajes SOAP, especificando tanto la estructura como los posibles valores que puede contener cada elemento o atributo. <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> </xsd:schema> XML (Extensible Markup Language) Lenguaje de etiquetas, usado por SOAP para representar la definición del servicio web, los esquemas de datos y los mensajes. • WSDL: XML de definición del servicio web, sirve como contrato en la comunicación. • XSD: XML de definición de los tipos de mensajes usados por el servicio web • XML-SOAP: XML que contiene el mensaje de solicitud y respuesta WSDL XML que define todos aspectos relativos el servicio web SOAP. Expone el nombre del servicio, Endpoint de consumo, operaciones y tipos de mensajes de solicitud y respuesta de cada operación <wsdl:definitions name="Service" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> </wsdl:definitions>
  • 15. 15 Protocolo de integración SOAP - WSDL Elementos definición abstracta • Definition : es el elemento raíz de todos los documentos WSDL. Define el nombre del servicio web, declara múltiples espacios de nombres utilizados en el resto del documento y contiene todos los elementos de servicio descritos aquí. • Data types : los tipos de datos que se utilizarán en los mensajes. • Message : es una definición abstracta de los datos, en forma de un mensaje presentado como un documento completo o como argumentos para mapear a una invocación de método. • Port Type : es un conjunto abstracto de operaciones asignadas a uno o más endpoint, que definen la recopilación de operaciones para un enlace; La colección de operaciones, como es abstracta, se puede asignar a múltiples transportes a través de varios enlaces. • Operation : es la definición abstracta de la operación de un mensaje, como nombrar un método, una cola de mensajes o un proceso comercial, que aceptará y procesará el mensaje. Elementos definición concreta • Binding : es el protocolo concreto y los formatos de datos para las operaciones y los mensajes definidos para un tipo de puerto en particular. • Port : es una combinación de un enlace y una dirección de red, que proporciona la dirección de destino de la comunicación del servicio. • Service : es una colección de endpoint relacionados que abarca las definiciones de servicio en el archivo; los servicios asignan el enlace al puerto e incluyen cualquier definición de extensibilidad. Elementos opcionales • Documentation: este elemento se utiliza para proporcionar documentación legible para humanos y se puede incluir dentro de cualquier otro elemento WSDL. • Import: este elemento se usa para importar otros documentos WSDL o esquemas XML
  • 16. 16 Protocolo de integración SOAP – Ejemplos Ejemplos • soap_arquitectura.xml: Este ejemplo tiene el esquema básico de un WSDL • soap_ejemplo.xml: Este ejemplo tiene un ejemplo sencillo de una operación Hola Mundo • s-soap-gdi.wsdl: Tiene un ejemplo real de un proyecto.
  • 17. 17 Protocolo de integración SOAP - WSS Cabecera UserNameToken WSS mediante usuario y contraseña que serán trasmitidos en la cabecera del mensaje SOAP. <soap:Envelope xmlns:soap="..." xmlns:wsse="..."> <soap:Header> ... <wsse:Security> <wsse:UsernameToken> <wsse:Username>USER</wsse:Username> <wsse:Password Type="...">PASS</wsse:Password> <wsse:Nonce EncodingType="..."> ... </wsse:Nonce> <wsu:Created> ... </wsu:Created> </wsse:UsernameToken> </wsse:Security> ... </soap:Header> ... </soap:Envelope> Formato de contraseña El método UsernameToken permite representar la contraseña de dos formas diferentes. • PasswordText: La contraseña como texto plano Password_Text = Contraseña • PasswordDigest: El resumen de la contraseña (SHA) y opcionalmente el Nonce y/o el sello de tiempo de creación del mensaje (Created). Password_Digest = Base64 (SHA-1(nonce + created + password)) El nonce es una contramedida usada para evitar ataques de repetición, de forma que el servidor SOAP debe implementar un control del mismo para que sea efectivo.
  • 18. All contents © MuleSoft, LLC Protocolo de integración REST y diferencias con SOAP
  • 19. 19 Protocolo de integración REST Definición • REST es una interfaz para conectar varios sistemas basados en el protocolo HTTP y nos sirve para obtener y generar datos y operaciones, devolviendo esos datos en formatos muy específicos, como XML y JSON. • El formato más usado en la actualidad es el formato JSON, ya que es más ligero y legible en comparación al formato XML. • REST se apoya en HTTP, los verbos que utiliza son exactamente los mismos, con ellos se puede hacer GET, POST, PUT y DELETE. De aquí surge una alternativa a SOAP. • REST llega a solucionar esa complejidad que añadía SOAP, haciendo mucho más fácil el desarrollo de una API. Características • En REST existen varios estándares para la descripción de interfaces, entre ellos OpenAPI, RAML • Tipos de seguridad: Basic Authentication, LDAP, Oauth 2.0, JWT,…
  • 20. 20 SOAP vs REST SOAP REST SOAP es un protocolo. SOAP fue diseñado con una especificación. Incluye un archivo WSDL que tiene la información requerida sobre lo que hace el servicio web, además de la ubicación del servicio web. REST es un estilo arquitectónico en el que un servicio web solo puede ser tratado como un servicio HTTP RESTful. SOAP no puede hacer uso de REST ya que SOAP es un protocolo y REST es un patrón arquitectónico. REST puede hacer uso de SOAP como protocolo subyacente para los servicios web, porque al final es solo un patrón arquitectónico. SOAP utiliza interfaces de servicio para exponer su funcionalidad a las aplicaciones cliente. En SOAP, el archivo WSDL proporciona al cliente la información necesaria que se puede utilizar para entender qué servicios puede ofrecer el servicio web. REST utiliza localizadores de servicio uniforme para acceder a los componentes del dispositivo de hardware. Por ejemplo, si hay un objeto que representa los datos de un empleado alojado en una URL como http://demo.example, los siguientes son algunos de los URI que pueden existir para acceder a ellos. http://demo.example/empleado http://demo.example/empleado/1
  • 21. 21 SOAP vs REST SOAP REST SOAP requiere más ancho de banda para su uso. Dado que los mensajes SOAP contienen mucha información dentro de ellos, la cantidad de transferencia de datos usando SOAP suele ser mucha. <?xml version="1.0"?> <SOAP-ENV:Envelope xmlns:SOAP- ENV ="http://www.w3.org/2001/12/soap-envelope" SOAP- ENV:encodingStyle =" http://www.w3.org/2001/12/soap- encoding"> <soap:Body> <Demo.guru99WebService xmlns="http://tempuri.org/"> <EmployeeID>int</EmployeeID> </Demo.guru99WebService> </soap:Body> </SOAP- ENV:Envelope> REST no necesita mucho ancho de banda cuando se envían solicitudes al servidor. Los mensajes REST consisten principalmente en mensajes JSON. A continuación se muestra un ejemplo de un mensaje JSON pasado a un servidor web. Puedes ver que el tamaño del mensaje es relativamente menor que el de SOAP. {"city":"Mumbai","state":"Maharastra"} SOAP solo puede funcionar con formato XML. Como se ve en los mensajes SOAP, todos los datos pasados están en formato XML. REST permite diferentes formatos de datos, como texto sin formato, HTML, XML, JSON, etc. Pero el formato más preferido para transferir datos es JSON.
  • 22. All contents © MuleSoft, LLC Implementación de ejemplos con MuleSoft
  • 23. 23 Ejemplo Mule App Definiciones • RAML: Definición del contrato de integración. • Scaffolding: Proceso de creación del esqueleto de la mule app a partir del RAML. • Operation: Diferentes servicios Rest definidos en el RAML e implementados en los Flow. • Global Element: Elementos de configuración que afecta a todos los flujos que lo utilicen. • Flow/Subflow: Componente de Mulesoft por el que fluye el mensaje cuando llega a la Mule App. • Component: Los diferentes componentes de Mulesoft que modifican el mensaje cuando viaja por el flujo. • Connector: Componente que simplifica el proceso de conexión con elementos externos. a Mulesoft, (BBDD, JMS, etc). • SOAP Route: Componente que construye los Flow a partir del WSDL. • ApiKit Route: Componente que construye los Flow a partir del RAML/OAS3.
  • 24. All contents © MuleSoft, LLC Ejemplo de Mule App, que consume un Web Service SOAP
  • 25. 25 Ejemplo Mule App – consume web service SOAP • Flujo 1 (consumer-service-api2Flow-local) : Este flujo llama a un WS Mock publicado en local con SoapUI, con el componente WS Consumer. • Flujo 2 (consumer-service-api2Flow-real): Este flujo llama a un WS real publicado por Postman y w3school con el componente WS Consumer. • Flujo 3 (consumer-service-api2-http-real): Este flujo llama al WS Real pero con el componente Http Request.
  • 26. All contents © MuleSoft, LLC Ejemplo de Mule App, que publica un Servicio SOAP
  • 27. 27 Ejemplo Mule App – publica web service SOAP • De donde partimos??, de un WSDL: para poder crear un WS SOAP con MuleSoft es necesario tener un contrato WSDL de donde partir. En el proceso de creación del proyecto al incluir el WSDL en el proceso de scaffolding se crea el esqueleto con el SOAP Route. • SOAP Route: es el componente encargado de enrutar el mensaje cuando llega a MuleSoft.
  • 28. All contents © MuleSoft, LLC Despliegues de Mule Apps en CloudHub 1.0 con Maven
  • 29. 29 Publicación de Mule App en CloudHub 1.0 <plugin> <groupId>org.mule.tools.maven</groupId> <artifactId>mule-maven-plugin</artifactId> <version>${mule.maven.plugin.version}</version> <extensions>true</extensions> <configuration> <classifier>mule-application</classifier> <cloudHubDeployment> <uri>https://anypoint.mulesoft.com</uri> <muleVersion>4.4.0</muleVersion> <businessGroup>everisSandbox</businessGroup> <businessGroupId>ed517fa0-dd83-4ea0-b12c- b68a2f170e25</businessGroupId> <username>${userPlatform}</username> <password>${passPlatform}</password> <applicationName>s-examplech1</applicationName> <environment>Dev</environment> <region>us-east-2</region> <workers>1</workers> <workerType>MICRO</workerType> <properties> <key>value</key> </properties> </cloudHubDeployment> </configuration> </plugin>
  • 30. All contents © MuleSoft, LLC Despliegues de Mule Apps en Runtime Fabric con Maven
  • 31. 31 Publicación de Mule App en Runtime Fabric <plugin> <groupId>org.mule.tools.maven</groupId> <artifactId>mule-maven-plugin</artifactId> <version>${mule.maven.plugin.version}</version> <extensions>true</extensions> <configuration> <classifier>mule-application</classifier> <runtimeFabricDeployment> <uri>https://anypoint.mulesoft.com</uri> <muleVersion>4.4.0</muleVersion> <username>${userPlatform}</username> <password>${passPlatform}</password> <applicationName>s-examplertf</applicationName> <businessGroup>everisSandbox</businessGroup> <businessGroupId>ed517fa0-dd83-4ea0-b12c- b68a2f170e25</businessGroupId> <target>rtf-aks-sandbox</target> <environment>Dev</environment> <provider>MC</provider> <replicas>1</replicas> <properties> <key>value</key> </properties> <deploymentSettings> <enforceDeployingReplicasAcrossNodes>false</enforceDeployingReplicasAc rossNodes> <updateStrategy>recreate</updateStrategy> <clustered>false</clustered> <forwardSslSession>false</forwardSslSession> <lastMileSecurity>false</lastMileSecurity> <resources> <cpu> <reserved>70m</reserved> <limit>500m</limit> </cpu> <memory> <reserved>1000Mi</reserved> </memory> </resources> <http> <inbound> <publicUrl>http://rtfntt.example.com/s- examplertf</publicUrl> </inbound> </http> </deploymentSettings> </runtimeFabricDeployment> </configuration> </plugin>
  • 32. All contents © MuleSoft, LLC Despliegues de Mule Apps en CloudHub 2.0 con Maven
  • 33. 33 Publicación de Mule App en CloudHub 2.0 <plugin> <groupId>org.mule.tools.maven</groupId> <artifactId>mule-maven-plugin</artifactId> <version>${mule.maven.plugin.version}</version> <extensions>true</extensions> <configuration> <classifier>mule-application</classifier> <cloudhub2Deployment> <uri>https://anypoint.mulesoft.com </uri> <provider>MC</provider> <environment>Dev</environment> <target>Cloudhub-EU-West-2</target> <businessGroup>everisSandbox</businessGroup> <businessGroupId>ed517fa0-dd83-4ea0-b12c- b68a2f170e25</businessGroupId> <username>${userPlatform}</username> <password>${passPlatform}</password> <muleVersion>4.4.0</muleVersion> <server>anypoint-exchange-v3</server> <applicationName>${project.name}</applicationName> <replicas>1</replicas> <vCores>0.1</vCores> <deploymentSettings> <lastMileSecurity>false</lastMileSecurity> <forwardSslSession>false</forwardSslSession> <generateDefaultPublicUrl>true</generateDefaultPublicUrl> </deploymentSettings> </cloudhub2Deployment> </configuration> </plugin>