SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
Last Updated: September 2015
Desafiando	
  las	
  transformaciones	
  
con	
  WSO2	
  ESB	
  
#transformacionesconWSO2	
  
Agenda	
  
2	
  
• Presentación	
  de	
  WSO2	
  y	
  Chakray	
  ConsulBng	
  
• Transformación	
  de	
  mensajes	
  con	
  WSO2	
  ESB	
  
• Escenarios	
  posibles	
  
• Herramientas	
  disponibles	
  (+	
  demo)	
  
• Performance	
  al	
  realizar	
  transformaciones	
  
• Preguntas	
  y	
  respuestas.	
  
Sanjiva	
  
Weerawarana	
  
Hola?	
  Somos	
  
MM	
  
Venture	
  Capital	
  
$30	
  
3	
  
4	
  
Una	
  plataforma	
  completa	
  para	
  crear	
  negócios	
  
conectados	
  
4	
  
Mountain	
  
View,	
  
California,	
  
USA	
  
Bloomington	
  
Indiana,	
  USA	
  
London,	
  
United	
  
Kingdom	
  
Colombo,	
  
Sri	
  Lanka	
  
São	
  Paulo,	
  
Brazil	
  
Oficinas	
  	
  
5	
  
Equipo	
  
500+	
  
6	
  
Publica,on	
  	
   Category	
  	
   WSO2	
   Year	
  	
  
Gartner	
  	
   Magic	
  Quadrant	
  for	
  Enterprise	
  Applica6on	
  Pla8orm	
  as	
  a	
  Service	
   Visionary	
   2014	
  
Gartner	
  	
   Magic	
  Quadrant	
  for	
  Applica6on	
  Services	
  Governance	
   Visionary	
   2013	
  
Gartner	
  	
   Magic	
  Quadrant	
  for	
  On-­‐Premises	
  Applica6on	
  Integra6on	
  Suites	
   Visionary	
   2013	
  
Gartner	
  	
   Magic	
  Quadrant	
  for	
  On-­‐Premises	
  Applica6on	
  Pla8orms	
   Visionary	
   2013	
  
The	
  Forrester	
  Wave	
   API	
  Management	
  Pla8orms,	
  Q1	
  	
   Leader	
  	
   2013	
  
Gartner	
   Magic	
  Quadrant	
  for	
  Systema6c	
  SOA	
  Applica6on	
  Projects	
   Visionary	
   2012	
  
Gartner	
  	
   Magic	
  Quadrant	
  for	
  Systema6c	
  Applica6on	
  Integra6on	
  Projects	
   Visionary	
   2012	
  
Gartner	
  	
   Magic	
  Quadrant	
  for	
  SOA	
  Infrastructure	
  Projects	
   Visionary	
   2012	
  
The	
  Forrester	
  Wave	
   Integrated	
  SOA	
  Governance,	
  Q1	
   Strong	
  Performer	
   2012	
  
The	
  Forrester	
  Wave	
   SOA	
  Service	
  Life-­‐Cycle	
  Management,	
  Q1	
   Strong	
  Performer	
   2012	
  
The	
  Forrester	
  Wave	
   Standalone	
  SOA	
  Management	
  Solu6ons,	
  Q4	
   Strong	
  Performer	
   2011	
  
Gartner	
  	
   Magic	
  Quadrant	
  for	
  SOA	
  Governance	
  Technologies	
   Visionary	
   2011	
  
The	
  Forrester	
  Wave	
   Enterprise	
  Service	
  Bus,	
  Q2	
  	
   Leader	
   2011	
  
Presencia	
  en	
  estudios	
  
de	
  Mercado	
  
7	
  
+	
  de	
  250	
  Clientes	
  
8	
  
9	
  
 
	
  
•  "Enfoque	
  brillante,	
  amor	
  a	
  la	
  modularidad,	
  lo	
  que	
  permite	
  una	
  gran	
  
flexibilidad.	
  Estamos	
  muy	
  contentos	
  de	
  estar	
  trabajando	
  con	
  WSO2	
  "	
  
-­‐	
  Jim	
  Crabbe,	
  Senior	
  Product	
  Manager,	
  Boeing	
  
•  "La	
  extrema	
  capacidad	
  de	
  soporte,	
  es	
  lo	
  que	
  nos	
  cauGvó	
  con	
  WSO2"	
  	
  
-­‐	
  Prakash	
  Iyer,	
  Vicepresidente	
  del	
  SoNware	
  Arquitectura	
  y	
  Estrategia,	
  CIO,	
  
Trimble.	
  
•  “Con	
  el	
  uso	
  de	
  WSO2	
  ESB,	
  habíamos	
  sido	
  capaces	
  de	
  proporcionar	
  a	
  los	
  
clientes	
  y	
  nuestors	
  socios	
  la	
  calidad	
  y	
  experiencia	
  que	
  esperan	
  de	
  eBay"	
  -­‐	
  
Abhinav	
  Kumar,	
  Gerente	
  senior	
  de	
  Ingeniería	
  de	
  Sistemas	
  en	
  eBay.	
  
	
  
¿Y	
  los	
  clientes,	
  qué	
  dicen?	
  	
  	
  
10	
  
11	
  
LUIS	
  PEÑARRUBIA	
  
Integration Consultant and Solutions Architect
API, SOA and Big Data.
http://www.linkedin.com/in/luispenarrubia
@luispenarrubia
luispenarrubia.wordpress.com
luis.penarrubia [at] chakray.com
11	
  
•  Grupo	
  de	
  Consultores	
  sénior	
  muy	
  especializados	
  en	
  WSO2.	
  
•  Preferred	
  Partner	
  con	
  presencia	
  en	
  Europa	
  y	
  Sudamérica.	
  
•  Especializado	
  en	
  proveer	
  servicios	
  de	
  Consultoría	
  a	
  Integradoras.	
  
•  Suministra	
  formación	
  oficial	
  on-­‐line	
  y	
  presencial.	
  
http://www.linkedin.com/company/chakray-consulting
@Chakray_com
http://www.chakray.com
http://www.slideshare.net/Chakray
Transformación	
  de	
  mensajes	
  con	
  WSO2	
  ESB	
  (I)	
  
13	
  
•  ¿Qué	
  es?	
  
•  Manipulación	
  del	
  mensaje	
  de	
  nuestro	
  servicio.	
  	
  
•  ¿Por	
  qué	
  es	
  importante?	
  
•  ESB	
  es	
  la	
  columna	
  vertebral	
  de	
  cualquier	
  integración	
  SOA.	
  
•  Conectar	
  servicios	
  implementados	
  en	
  diferentes	
  tecnologías.	
  
•  Transformación	
  !=	
  Mediación	
  
•  ¿Qué	
  Bpos	
  de	
  transformaciones	
  existen?	
  
•  Crear	
  mensaje	
  desde	
  cero.	
  
•  Cambiar	
  el	
  formato	
  del	
  mensaje.	
  
•  Enriquecer	
  el	
  mensaje.	
  
•  Conversión	
  del	
  mensaje.	
  
Transformación	
  de	
  mensajes	
  con	
  WSO2	
  ESB	
  (II)	
  
14	
  
•  ¿Qué	
  herramientas	
  ofrece	
  WSO2	
  ESB?	
  
PayloadFactory	
  Mediator	
   hops://docs.wso2.com/display/ESB481/PayloadFactory+Mediator	
  
Enrich	
  Mediator	
   hops://docs.wso2.com/display/ESB481/Enrich+Mediator	
  
XSLT	
  Mediator	
   hops://docs.wso2.com/display/ESB481/XSLT+Mediator	
  
FastXSLT	
  Mediator	
   hops://docs.wso2.com/display/ESB481/FastXSLT+Mediator	
  
XQuery	
  Mediator	
   hops://docs.wso2.com/display/ESB481/XQuery+Mediator	
  
Smooks	
  Mediator	
   hops://docs.wso2.com/display/ESB481/Smooks+Mediator	
  
Script	
  Mediator	
   hops://docs.wso2.com/display/ESB481/Script+Mediator	
  
Message	
  type	
   hops://docs.wso2.com/display/AM190/Transforming+API+Message
+Payload#TransformingAPIMessagePayload-­‐
ConverBngapayloadbetweenXMLandJSON	
  
Escenario	
  1:	
  Crear	
  mensaje	
  desde	
  cero	
  
15	
  
•  ¿Cuándo?	
  
	
   	
   	
   	
   	
   	
   Invocamos	
   un	
   servicio	
   en	
   el	
   ESB	
   que	
   no	
   Bene	
   payload	
   y	
   que	
   debe	
   invocar	
   un	
   servicio	
   backend	
   que	
   espera	
   un	
  
	
  payload.	
  
	
  El	
  servicio	
  backend	
  devuelve	
  un	
  payload	
  vacío	
  y	
  el	
  servicio	
  en	
  el	
  ESB	
  debe	
  devolver	
  un	
  payload.	
  
•  Ejemplo	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
•  ¿Que	
  herramientas	
  usar?	
  
•  PayloadFactory	
  Mediator	
  (recomendado).	
  
•  Enrich	
  Mediator	
  /	
  Script	
  Mediator.	
  
Servicio	
  en	
  el	
  ESB	
   Servicio	
  en	
  backend	
  
POST	
  users/create?id=1&name=Alberto&surname=Sanchez	
   SOAP	
  usersCreate	
  
<users_create>	
  
	
  	
  	
  <id>1</id>	
  
	
  	
  	
  <name>Alberto</name>	
  
	
  	
  	
  <surname>Sanchez</surname>	
  
</users_create>	
  
	
  
Escenario	
  2:	
  Cambiar	
  el	
  formato	
  del	
  mensaje	
  
16	
  
•  ¿Cuándo?	
  
	
  	
  	
  	
  	
   	
  Invocamos	
  un	
  servicio	
  en	
  el	
  ESB	
  que	
  recibe	
  un	
  payload	
  y	
  que	
  debe	
  invocar	
  un	
  servicio	
  backend	
  que	
  espera	
  el	
  mismo	
  
	
  payload	
  pero	
  en	
  diferente	
  formato.	
  
	
  El	
  servicio	
  backend	
  devuelve	
  un	
  payload	
  y	
  el	
  servicio	
  en	
  el	
  ESB	
  Bene	
  que	
  devolver	
  el	
  mismo	
  payload	
  en	
  diferente	
  
	
  formato.	
  
•  Ejemplo	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
•  ¿Que	
  herramientas	
  usar?	
  
•  Message	
  type.	
  
Servicio	
  en	
  el	
  ESB	
   Servicio	
  en	
  backend	
  
GET	
  users/list	
  	
  	
  Response:	
  
{	
  
	
  	
  	
  	
  "users":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  "user":	
  [	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "id":	
  1,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "name":	
  "Alberto",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "surname":	
  "Sanchez"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  ]	
  
	
  	
  	
  	
  }	
  
}	
  
GET	
  usersList	
  	
  	
  Response:	
  
<users>	
  
	
  	
  <user>	
  
	
  	
  	
  	
  <id>1</id>	
  
	
  	
  	
  	
  <name>Alberto</name>	
  
	
  	
  	
  	
  <surname>Sanchez</surname>	
  
	
  	
  </user>	
  
</users>	
  
Escenario	
  3:	
  Enriquecer	
  el	
  mensaje	
  
17	
  
•  ¿Cuándo?	
  
	
  	
  	
  	
  	
   	
  Invocamos	
  un	
  servicio	
  en	
  el	
  ESB	
  que	
  recibe	
  un	
  payload	
  y	
  que	
  debe	
  invocar	
  un	
  servicio	
  backend	
  que	
  espera	
  un	
  payload	
  
	
  muy	
  similar	
  pero	
  alguna	
  pequeña	
  modificación.	
  
	
  El	
  backend	
  devuelve	
  un	
  payload	
  y	
  el	
  servicio	
  en	
  el	
  ESB	
  Bene	
  que	
  devolver	
  un	
  payload	
  muy	
  similar	
  pero	
  con	
  alguna	
  
	
  pequeña	
  modificación.	
  
•  Ejemplo	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
•  ¿Que	
  herramientas	
  usar?	
  
•  Enrich	
  Mediator	
  /	
  Script	
  Mediator	
  (recomendado).	
  
•  XSLT	
  Mediator,	
  FASTXSLT	
  Mediator,	
  XQuery	
  Mediator,	
  Smooks	
  Mediator.	
  
Servicio	
  en	
  el	
  ESB	
   Servicio	
  en	
  backend	
  
PUT	
  users/update	
  
<users_update>	
  
	
  	
  	
  <id>1</id>	
  
	
  	
  	
  <name>Alberto</name>	
  
	
  	
  	
  <surname>Sanchez</surname>	
  
</users_update>	
  
PUT	
  usersUpdate	
  
<users_update>	
  
	
  	
  	
  <id>001-­‐1</id>	
  
	
  	
  	
  <name>Alberto</name>	
  
	
  	
  	
  <surname>Sanchez</surname>	
  
</users_update>	
  
Escenario	
  4:	
  Conversión	
  del	
  mensaje	
  
18	
  
•  ¿Cuándo?	
  
	
  	
  	
  	
  	
   	
  Invocamos	
  un	
  servicio	
  en	
  el	
  ESB	
  que	
  recibe	
  un	
  payload	
  y	
  que	
  debe	
  invocar	
  un	
  servicio	
  backend	
  que	
  espera	
  un	
  payload	
  
	
  completamente	
  diferente.	
  
	
   El	
   servicio	
   backend	
   devuelve	
   un	
   payload	
   y	
   el	
   servicio	
   en	
   el	
   ESB	
   Bene	
   que	
   devolver	
   un	
   payload	
   completamente	
  
	
  diferente.	
  
•  Ejemplo	
  
	
  
	
  
	
  
	
  
	
  
	
  
•  ¿Que	
  herramientas	
  usar?	
  
Servicio	
  en	
  el	
  ESB	
   Servicio	
  en	
  backend	
  
POST	
  users/create/v2	
  
{	
  
	
  	
  	
  	
  "id":	
  1,	
  
	
  	
  	
  	
  "name":	
  "Alberto",	
  
	
  	
  	
  	
  "surname":	
  "Sanchez",	
  
	
  	
  	
  	
  "Btle":	
  "Architect"	
  
}	
  
SOAP	
  usersCreateV2	
  
<users_create>	
  
	
  	
  	
  <id>001-­‐1</id>	
  
	
  	
  	
  <firstName>Alberto</firstName>	
  
	
  	
  	
  <lastName>Sanchez</lastName>	
  
	
  	
  	
  <Btle>03</Btle>	
  
</users_create>	
  
•  XSLT	
  Mediator	
  /	
  FASTXSLT	
  Mediator	
  
•  XQuery	
  Mediator	
  
•  Smooks	
  Mediator	
  
•  Script	
  Mediator	
  
Herramientas:	
  PayloadFactory	
  Mediator	
  
19	
  
•  Sintaxis	
  
	
  
	
  
	
  
	
  
	
  
	
  
•  ¿Cuándo	
  usar?	
  
•  Queremos	
  construir	
  un	
  mensaje	
  XML	
  o	
  JSON	
  no	
  complejo.	
  
	
  
•  Limitaciones	
  
•  No	
  permite	
  enriquecer	
  o	
  modificar	
  mensajes.	
  
•  No	
  recomendado	
  para	
  construir	
  mensajes	
  complejos	
  (iteraciones,	
  condiciones).	
  
<payloadFactory	
  media-­‐type="xml	
  |	
  json">	
  
	
  	
  	
  	
  <format	
  ../>	
  
	
  	
  	
  	
  <args>	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  <arg	
  (value="string"	
  |	
  expression="	
  {xpath}	
  |	
  {json}	
  ")/>*	
  	
  
	
  	
  	
  	
  </args>	
  	
  
</payloadFactory>	
  
Herramientas:	
  MessageType	
  
20	
  
•  Sintaxis	
  
	
  
	
  
	
  
	
  
•  ¿Cuándo	
  usar?	
  
•  Queremos	
  modificar	
  simplemente	
  el	
  formato	
  del	
  mensaje,	
  no	
  la	
  estructura.	
  Típico	
  ejemplo	
  de	
  XML	
  a	
  JSON	
  o	
  viceversa.	
  
•  Limitaciones	
  
•  No	
  se	
  pueden	
  generar	
  mensajes.	
  
•  No	
  se	
  puede	
  modificar	
  la	
  estructura	
  del	
  mensaje.	
  
•  Con	
  algunos	
  valores	
  la	
  conversión	
  automáBca	
  puede	
  ser	
  errónea.	
  
<property	
  name="messageType"	
  value=“string"	
  scope="axis2"/>	
  
Herramientas:	
  Enrich	
  Mediator	
  
21	
  
•  Sintaxis	
  
	
  
	
  
	
  
	
  
•  ¿Cuándo	
  usar?	
  
•  Queremos	
  enriquecer	
  /	
  modificar	
  el	
  mensaje	
  que	
  recibimos	
  en	
  nuestro	
  servicio.	
  
•  Limitaciones	
  
•  No	
  recomendado	
  construir	
  mensajes	
  desde	
  cero.	
  
•  No	
  recomendado	
  para	
  construir	
  mensajes	
  complejos	
  (iteraciones,	
  condiciones).	
  
•  Pensado	
  para	
  trabajar	
  con	
  formato	
  XML.	
  
<enrich>	
  
	
  	
  	
  	
  <source	
  [clone=true|false]	
  [type=custom|envelope|body|property|inline]	
  xpath=""	
  property=""	
  />	
  
	
  	
  	
  	
  <target	
  [ac,on=replace|child|sibiling]	
  [type=custom|envelope|body|property|inline]	
  xpath=""	
  property=""	
  />	
  
</enrich>	
  
Herramientas:	
  Script	
  Mediator	
  
22	
  
•  Sintaxis	
  
	
  
	
  
	
  
	
  
	
  
•  ¿Cuándo	
  usar?	
  
•  Queremos	
  enriquecer	
  /	
  modificar	
  el	
  mensaje	
  que	
  recibimos	
  en	
  nuestro	
  servicio.	
  
•  Limitaciones	
  
•  Engine	
  de	
  Javascript	
  anBguo.	
  Soporta	
  funciones	
  muy	
  básicas.	
  
•  No	
  recomendado	
  para	
  construir	
  mensajes	
  complejos	
  (iteraciones,	
  condiciones).	
  
<script	
  language="string">...script	
  source	
  code...<script/>	
  
<script	
  key="string"	
  language="string"	
  [func,on="script-­‐func,on-­‐name"]>	
  
	
  	
  	
  	
  <include	
  key="string"/>	
  
</script>	
  
Herramientas:	
  XSLT	
  Mediator	
  
23	
  
•  Sintaxis	
  
	
  
	
  
	
  
	
  
	
  
•  ¿Cuándo	
  usar?	
  
•  Queremos	
  enriquecer	
  /	
  modificar	
  el	
  mensaje	
  que	
  recibimos	
  en	
  nuestro	
  servicio.	
  
•  Mensaje	
  complejos	
  (iteraciones,	
  condiciones).	
  
•  Limitaciones	
  
•  No	
  se	
  pueden	
  generar	
  mensajes	
  desde	
  cero.	
  
•  Performance	
  inferior	
  a	
  FASTXSLT	
  Mediator.	
  
<xslt	
  key="string"	
  [source="xpath"]>	
  
	
  	
  	
  	
  	
  <property	
  name="string"	
  (value="literal"	
  |	
  expression="xpath")/>*	
  
	
  	
  	
  	
  	
  <feature	
  name="string"	
  value="true|	
  false"	
  />*	
  
	
  	
  	
  	
  	
  <resource	
  loca,on="string"	
  key="string"/>*	
  
</xslt>	
  
Herramientas:	
  FASTXSLT	
  Mediator	
  
24	
  
•  Sintaxis	
  
	
  
	
  
	
  
•  ¿Cuándo	
  usar?	
  
•  Queremos	
  enriquecer	
  /	
  modificar	
  el	
  mensaje	
  que	
  recibimos	
  en	
  nuestro	
  servicio.	
  
•  Mensaje	
  complejos	
  (iteraciones,	
  condiciones).	
  
•  El	
  performance	
  es	
  muy	
  importante.	
  
•  Limitaciones	
  
•  No	
  se	
  pueden	
  generar	
  mensajes	
  desde	
  cero.	
  
•  Trabaja	
  sobre	
  el	
  stream	
  no	
  el	
  payload	
  recibido.	
  No	
  pre	
  proceso	
  del	
  payload.	
  
•  No	
  permite	
  el	
  paso	
  de	
  parámetros.	
  
<fastXSLT	
  key="string"/>	
  
Herramientas:	
  XQuery	
  Mediator	
  
25	
  
•  Sintaxis	
  
	
  
	
  
	
  
	
  
•  ¿Cuándo	
  usar?	
  
•  Queremos	
  enriquecer	
  /	
  modificar	
  el	
  mensaje	
  que	
  recibimos	
  en	
  nuestro	
  servicio.	
  
•  Mensaje	
  complejos	
  (iteraciones,	
  condiciones).	
  
•  Familiarizados	
  con	
  XQuery.	
  
	
  
•  Limitaciones	
  
•  Tiene	
  peor	
  performance	
  que	
  XSLT	
  /	
  FASTXSLT	
  Mediator.	
  
•  No	
  permite	
  el	
  uso	
  de	
  templates	
  como	
  XSLT.	
  
<xquery	
  key="string"	
  [target="xpath"]>	
  
	
  	
  	
  	
  <variable	
  name="string"	
  type="string"	
  [key="string"]	
  [expression="xpath"]	
  [value="string"]/>?	
  
</xquery>	
  
Herramientas:	
  Smooks	
  Mediator	
  
26	
  
•  Sintaxis	
  
	
  
	
  
	
  
	
  
•  ¿Cuándo	
  usar?	
  
•  Queremos	
  enriquecer	
  /	
  modificar	
  el	
  mensaje	
  que	
  recibimos	
  en	
  nuestro	
  servicio.	
  
•  Mensaje	
  complejos	
  (iteraciones,	
  condiciones).	
  
•  Familiarizados	
  con	
  Smooks.	
  
	
  
•  Limitaciones	
  
•  Tiene	
  peor	
  performance	
  que	
  XSLT	
  /	
  FASTXSLT	
  Mediator.	
  
<smooks	
  [config-­‐key="string"]>	
  
	
  	
  	
  <input	
  [type="|text|xml"]/>	
  
	
  	
  	
  <output	
  [type="|text|xml|java"]	
  [property="string"]	
  [ac,on="string"]/>	
  
</smooks>	
  
Herramientas:	
  Tabla	
  resumen	
  (I)	
  
27	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
Herramienta	
   Cuando	
  usar	
   Limitaciones	
  
PayloadFactory	
  
Mediator	
  
•  Queremos	
  construir	
  un	
  mensaje	
  XML	
  o	
  JSON	
  no	
  
complejo.	
  
•  No	
  permite	
  modificar	
  enriquecer	
  o	
  modificar	
  mensajes.	
  
•  No	
  recomendado	
  para	
  construir	
  mensajes	
  complejos	
  
(iteraciones,	
  condiciones).	
  
Enrich	
  
Mediator	
  
•  Queremos	
  enriquecer	
  /	
  modificar	
  el	
  mensaje	
  que	
  
recibimos	
  en	
  nuestro	
  servicio.	
  
•  No	
  recomendado	
  construir	
  mensajes	
  desde	
  cero.	
  
•  No	
  recomendado	
  para	
  construir	
  mensajes	
  complejos	
  
(iteraciones,	
  condiciones).	
  
XSLT	
  /	
  
FASTXSLT	
  
Mediator	
  
•  Queremos	
  enriquecer	
  /	
  modificar	
  el	
  mensaje	
  que	
  
recibimos	
  en	
  nuestro	
  servicio.	
  
•  Mensaje	
  complejos	
  (iteraciones,	
  condiciones).	
  
•  Recomendado	
  el	
  uso	
  de	
  FASTXSLT	
  siempre	
  que	
  sea	
  
posible	
  para	
  incrementar	
  el	
  rendimiento.	
  
•  No	
  se	
  pueden	
  generar	
  mensajes	
  desde	
  cero.	
  
XQuery	
  
Mediator	
  
•  Queremos	
  enriquecer	
  /	
  modificar	
  el	
  mensaje	
  que	
  
recibimos	
  en	
  nuestro	
  servicio.	
  
•  Mensaje	
  complejos	
  (iteraciones,	
  condiciones).	
  
•  Familiarizados	
  con	
  XQuery.	
  
•  Tiene	
  peor	
  rendimiento	
  que	
  XSLT	
  /	
  FASTXSLT	
  Mediator.	
  
•  No	
  permite	
  el	
  uso	
  de	
  templates	
  como	
  XSLT.	
  
Herramientas:	
  Tabla	
  resumen	
  (II)	
  
28	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
Herramienta	
   Cuando	
  usar	
   Limitaciones	
  
Smooks	
  
Mediator	
  
•  Queremos	
  enriquecer	
  /	
  modificar	
  el	
  mensaje	
  que	
  
recibimos	
  en	
  nuestro	
  servicio.	
  
•  Mensaje	
  complejos	
  (iteraciones,	
  condiciones).	
  
•  Familiarizados	
  con	
  Smooks.	
  
•  Tiene	
  peor	
  performance	
  que	
  XSLT	
  /	
  FASTXSLT	
  Mediator.	
  
Script	
  Mediator	
  
•  Queremos	
  enriquecer	
  /	
  modificar	
  el	
  mensaje	
  que	
  
recibimos	
  en	
  nuestro	
  servicio.	
  
•  Engine	
  de	
  Javascript	
  anBguo.	
  Soporta	
  funciones	
  muy	
  básicas.	
  
•  No	
  recomendado	
  para	
  construir	
  mensajes	
  complejos	
  
(iteraciones,	
  condiciones).	
  
Message	
  Type	
  
•  Queremos	
  modificar	
  simplemente	
  el	
  formato	
  del	
  
mensaje,	
  no	
  la	
  estructura.	
  Típico	
  ejemplo	
  de	
  XML	
  a	
  
JSON	
  o	
  viceversa	
  
•  No	
  se	
  pueden	
  generar	
  mensajes.	
  
•  No	
  se	
  puede	
  modificar	
  la	
  estructura	
  del	
  mensaje.	
  
•  Con	
  algunos	
  valores	
  la	
  conversión	
  automáBca	
  puede	
  ser	
  
errónea.	
  
Performance	
  al	
  realizar	
  transformaciones	
  (I)	
  
29	
  
•  Factores	
  a	
  tener	
  en	
  cuenta	
  
•  Tipo	
  de	
  transformación	
  
•  Tamaño	
  mensaje	
  
•  Conclusiones	
  
•  Para	
  mensajes	
  pequeños	
  (<1K)	
  las	
  diferencias	
  son	
  mínimas.	
  
•  Para	
  transformaciones	
  complejas	
  se	
  recomienda	
  siempre	
  que	
  sea	
  posible	
  el	
  uso	
  de	
  FASTXSLT	
  Mediator,	
  en	
  su	
  defecto	
  XSLT	
  
Mediator.	
  
	
  
Transformaciones	
  sencillas	
   Transformaciones	
  complejas	
  
•  Enrich	
  Mediator	
  
•  PayloadFactory	
  Mediator	
  
•  FASTXSLT	
  Mediator	
  
•  XSLT	
  Mediator	
  
•  XQuery	
  Mediator	
  
Performance	
  al	
  realizar	
  transformaciones	
  (II)	
  
30	
  
•  Entorno	
  local	
  
•  Windows	
  8.1	
  64	
  bit,	
  8GB	
  RAM,	
  4	
  CPUs.	
  
•  500	
  peBciones	
  en	
  10	
  segundos.	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
Enrich	
  
Mediator	
  
	
  
	
  
Script	
  
Mediator	
  
	
  
	
  
XSLT	
  
Mediator	
  
	
  
	
  
XQuery	
  
Mediator	
  
	
  
Preguntas	
  	
  
y	
  
respuestas	
  
35	
  
Contact	
  us	
  !	
  
Connect	
  the	
  World	
  	
  

Más contenido relacionado

La actualidad más candente

Spoilt for Choice: How to Choose the Right Enterprise Service Bus (ESB)?
Spoilt for Choice: How to Choose the Right Enterprise Service Bus (ESB)?Spoilt for Choice: How to Choose the Right Enterprise Service Bus (ESB)?
Spoilt for Choice: How to Choose the Right Enterprise Service Bus (ESB)?Kai Wähner
 
Java web services using JAX-WS
Java web services using JAX-WSJava web services using JAX-WS
Java web services using JAX-WSIndicThreads
 
Spring 3.x - Spring MVC - Advanced topics
Spring 3.x - Spring MVC - Advanced topicsSpring 3.x - Spring MVC - Advanced topics
Spring 3.x - Spring MVC - Advanced topicsGuy Nir
 
Spring 3.1 and MVC Testing Support
Spring 3.1 and MVC Testing SupportSpring 3.1 and MVC Testing Support
Spring 3.1 and MVC Testing SupportSam Brannen
 
Nodejs Explained with Examples
Nodejs Explained with ExamplesNodejs Explained with Examples
Nodejs Explained with ExamplesGabriele Lana
 
Introduction to Node JS.pdf
Introduction to Node JS.pdfIntroduction to Node JS.pdf
Introduction to Node JS.pdfBareen Shaikh
 
TypeScript: coding JavaScript without the pain
TypeScript: coding JavaScript without the painTypeScript: coding JavaScript without the pain
TypeScript: coding JavaScript without the painSander Mak (@Sander_Mak)
 
Insalar, compilar y depurar cobol
Insalar, compilar y depurar cobolInsalar, compilar y depurar cobol
Insalar, compilar y depurar cobolParalafakyou Mens
 
REST API and CRUD
REST API and CRUDREST API and CRUD
REST API and CRUDPrem Sanil
 
Best Practice-React
Best Practice-ReactBest Practice-React
Best Practice-ReactYang Yang
 
How to Webpack your Django!
How to Webpack your Django!How to Webpack your Django!
How to Webpack your Django!David Gibbons
 
The Benefits of Using React JS for Web Development!
The Benefits of Using React JS for Web Development!The Benefits of Using React JS for Web Development!
The Benefits of Using React JS for Web Development!Baharika Sopori
 
Node.js Express
Node.js  ExpressNode.js  Express
Node.js ExpressEyal Vardi
 

La actualidad más candente (20)

RESTful API - Best Practices
RESTful API - Best PracticesRESTful API - Best Practices
RESTful API - Best Practices
 
Spoilt for Choice: How to Choose the Right Enterprise Service Bus (ESB)?
Spoilt for Choice: How to Choose the Right Enterprise Service Bus (ESB)?Spoilt for Choice: How to Choose the Right Enterprise Service Bus (ESB)?
Spoilt for Choice: How to Choose the Right Enterprise Service Bus (ESB)?
 
Express JS
Express JSExpress JS
Express JS
 
Java web services using JAX-WS
Java web services using JAX-WSJava web services using JAX-WS
Java web services using JAX-WS
 
Spring 3.x - Spring MVC - Advanced topics
Spring 3.x - Spring MVC - Advanced topicsSpring 3.x - Spring MVC - Advanced topics
Spring 3.x - Spring MVC - Advanced topics
 
Socket.io (part 1)
Socket.io (part 1)Socket.io (part 1)
Socket.io (part 1)
 
Spring 3.1 and MVC Testing Support
Spring 3.1 and MVC Testing SupportSpring 3.1 and MVC Testing Support
Spring 3.1 and MVC Testing Support
 
Nodejs Explained with Examples
Nodejs Explained with ExamplesNodejs Explained with Examples
Nodejs Explained with Examples
 
Introduction to Node JS.pdf
Introduction to Node JS.pdfIntroduction to Node JS.pdf
Introduction to Node JS.pdf
 
TypeScript: coding JavaScript without the pain
TypeScript: coding JavaScript without the painTypeScript: coding JavaScript without the pain
TypeScript: coding JavaScript without the pain
 
Insalar, compilar y depurar cobol
Insalar, compilar y depurar cobolInsalar, compilar y depurar cobol
Insalar, compilar y depurar cobol
 
Rest in flask
Rest in flaskRest in flask
Rest in flask
 
Nodejs vatsal shah
Nodejs vatsal shahNodejs vatsal shah
Nodejs vatsal shah
 
REST API and CRUD
REST API and CRUDREST API and CRUD
REST API and CRUD
 
Best Practice-React
Best Practice-ReactBest Practice-React
Best Practice-React
 
Introduction Node.js
Introduction Node.jsIntroduction Node.js
Introduction Node.js
 
How to Webpack your Django!
How to Webpack your Django!How to Webpack your Django!
How to Webpack your Django!
 
Angular
AngularAngular
Angular
 
The Benefits of Using React JS for Web Development!
The Benefits of Using React JS for Web Development!The Benefits of Using React JS for Web Development!
The Benefits of Using React JS for Web Development!
 
Node.js Express
Node.js  ExpressNode.js  Express
Node.js Express
 

Destacado

WSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios
WSO2 API Manager y ESB la plataforma perfecta para evolucionar los serviciosWSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios
WSO2 API Manager y ESB la plataforma perfecta para evolucionar los serviciosWSO2
 
Exploring Data Integration Capabilities of the WSO2 Platform
Exploring Data Integration Capabilities of the WSO2 PlatformExploring Data Integration Capabilities of the WSO2 Platform
Exploring Data Integration Capabilities of the WSO2 PlatformWSO2
 
Webinar: Message Tracing and Debugging in WSO2 Enterprise Service Bus
Webinar: Message Tracing and Debugging in WSO2 Enterprise Service BusWebinar: Message Tracing and Debugging in WSO2 Enterprise Service Bus
Webinar: Message Tracing and Debugging in WSO2 Enterprise Service BusWSO2
 
WSO2 ESB and SOA
WSO2 ESB and SOAWSO2 ESB and SOA
WSO2 ESB and SOAWSO2
 
WSO2 Product Release Webinar: WSO2 Enterprise Service Bus 5.0
WSO2 Product Release Webinar: WSO2 Enterprise Service Bus 5.0WSO2 Product Release Webinar: WSO2 Enterprise Service Bus 5.0
WSO2 Product Release Webinar: WSO2 Enterprise Service Bus 5.0WSO2
 

Destacado (6)

WSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios
WSO2 API Manager y ESB la plataforma perfecta para evolucionar los serviciosWSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios
WSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios
 
Exploring Data Integration Capabilities of the WSO2 Platform
Exploring Data Integration Capabilities of the WSO2 PlatformExploring Data Integration Capabilities of the WSO2 Platform
Exploring Data Integration Capabilities of the WSO2 Platform
 
WS02 ESB Service Chaining
WS02 ESB Service ChainingWS02 ESB Service Chaining
WS02 ESB Service Chaining
 
Webinar: Message Tracing and Debugging in WSO2 Enterprise Service Bus
Webinar: Message Tracing and Debugging in WSO2 Enterprise Service BusWebinar: Message Tracing and Debugging in WSO2 Enterprise Service Bus
Webinar: Message Tracing and Debugging in WSO2 Enterprise Service Bus
 
WSO2 ESB and SOA
WSO2 ESB and SOAWSO2 ESB and SOA
WSO2 ESB and SOA
 
WSO2 Product Release Webinar: WSO2 Enterprise Service Bus 5.0
WSO2 Product Release Webinar: WSO2 Enterprise Service Bus 5.0WSO2 Product Release Webinar: WSO2 Enterprise Service Bus 5.0
WSO2 Product Release Webinar: WSO2 Enterprise Service Bus 5.0
 

Similar a Desafiando las transformaciones con WSO2 ESB

Derribando la torre de marfil - Plain Concepts Dev Day
Derribando la torre de marfil - Plain Concepts Dev DayDerribando la torre de marfil - Plain Concepts Dev Day
Derribando la torre de marfil - Plain Concepts Dev DayPlain Concepts
 
BizLife - Construyendo un Ecosistema Empresarial usando WSO2
BizLife - Construyendo un Ecosistema Empresarial usando WSO2BizLife - Construyendo un Ecosistema Empresarial usando WSO2
BizLife - Construyendo un Ecosistema Empresarial usando WSO2Roger CARHUATOCTO
 
Comparación de API y SOA
Comparación de API y SOAComparación de API y SOA
Comparación de API y SOADiego Suarez
 
MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020Ieva Navickaite
 
Visual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero CodeVisual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero CodeBruno Capuano
 
ESB y SOA, Plataforma de integracion.
ESB y SOA, Plataforma de integracion.ESB y SOA, Plataforma de integracion.
ESB y SOA, Plataforma de integracion.Julio Cejas
 
Azure bootcampo 2019 start up_v1
Azure bootcampo 2019 start up_v1Azure bootcampo 2019 start up_v1
Azure bootcampo 2019 start up_v1fernando sonego
 
Net conf ar v2018 start up
Net conf ar v2018 start upNet conf ar v2018 start up
Net conf ar v2018 start upfernando sonego
 
Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Curs 2.8. Utilización Automatizada de Datos Publicos (1)Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Curs 2.8. Utilización Automatizada de Datos Publicos (1)Iniciativa Barcelona Open Data
 
Optimización de aplicaciones web con base de datos NoSQL In-Memory
Optimización de aplicaciones web con base de datos NoSQL In-MemoryOptimización de aplicaciones web con base de datos NoSQL In-Memory
Optimización de aplicaciones web con base de datos NoSQL In-MemoryGonzalo Chacaltana
 
MuleSoft Anypoint Platform - Releases 2019
MuleSoft Anypoint Platform - Releases 2019 MuleSoft Anypoint Platform - Releases 2019
MuleSoft Anypoint Platform - Releases 2019 Larry Magallanes
 
Microservicios y Gestion de APIs
Microservicios y Gestion de APIsMicroservicios y Gestion de APIs
Microservicios y Gestion de APIsJorge Rodriguez
 
SOA en la Práctica: WCF &amp; WSSF
SOA en la Práctica: WCF &amp; WSSFSOA en la Práctica: WCF &amp; WSSF
SOA en la Práctica: WCF &amp; WSSFjuliocasal
 

Similar a Desafiando las transformaciones con WSO2 ESB (20)

Derribando la torre de marfil - Plain Concepts Dev Day
Derribando la torre de marfil - Plain Concepts Dev DayDerribando la torre de marfil - Plain Concepts Dev Day
Derribando la torre de marfil - Plain Concepts Dev Day
 
BizLife - Construyendo un Ecosistema Empresarial usando WSO2
BizLife - Construyendo un Ecosistema Empresarial usando WSO2BizLife - Construyendo un Ecosistema Empresarial usando WSO2
BizLife - Construyendo un Ecosistema Empresarial usando WSO2
 
Comparación de API y SOA
Comparación de API y SOAComparación de API y SOA
Comparación de API y SOA
 
Servicios web
Servicios webServicios web
Servicios web
 
MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020
 
Webinar Migración de Forms & Reports a Oracle Cloud
Webinar Migración de Forms & Reports a Oracle CloudWebinar Migración de Forms & Reports a Oracle Cloud
Webinar Migración de Forms & Reports a Oracle Cloud
 
Visual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero CodeVisual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero Code
 
¿Que son los microservicios?
¿Que son los microservicios?¿Que son los microservicios?
¿Que son los microservicios?
 
ESB y SOA, Plataforma de integracion.
ESB y SOA, Plataforma de integracion.ESB y SOA, Plataforma de integracion.
ESB y SOA, Plataforma de integracion.
 
Azure bootcampo 2019 start up_v1
Azure bootcampo 2019 start up_v1Azure bootcampo 2019 start up_v1
Azure bootcampo 2019 start up_v1
 
API como SaaS
API como SaaSAPI como SaaS
API como SaaS
 
Net conf ar v2018 start up
Net conf ar v2018 start upNet conf ar v2018 start up
Net conf ar v2018 start up
 
Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Curs 2.8. Utilización Automatizada de Datos Publicos (1)Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Curs 2.8. Utilización Automatizada de Datos Publicos (1)
 
Backbeam
BackbeamBackbeam
Backbeam
 
Optimización de aplicaciones web con base de datos NoSQL In-Memory
Optimización de aplicaciones web con base de datos NoSQL In-MemoryOptimización de aplicaciones web con base de datos NoSQL In-Memory
Optimización de aplicaciones web con base de datos NoSQL In-Memory
 
MuleSoft Anypoint Platform - Releases 2019
MuleSoft Anypoint Platform - Releases 2019 MuleSoft Anypoint Platform - Releases 2019
MuleSoft Anypoint Platform - Releases 2019
 
Cloud Computing VS SOA
Cloud Computing VS SOACloud Computing VS SOA
Cloud Computing VS SOA
 
Presentacion
PresentacionPresentacion
Presentacion
 
Microservicios y Gestion de APIs
Microservicios y Gestion de APIsMicroservicios y Gestion de APIs
Microservicios y Gestion de APIs
 
SOA en la Práctica: WCF &amp; WSSF
SOA en la Práctica: WCF &amp; WSSFSOA en la Práctica: WCF &amp; WSSF
SOA en la Práctica: WCF &amp; WSSF
 

Más de WSO2

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in ChoreoWSO2
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023WSO2
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzureWSO2
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfWSO2
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in MinutesWSO2
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityWSO2
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...WSO2
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfWSO2
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoWSO2
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsWSO2
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital BusinessesWSO2
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)WSO2
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformationWSO2
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesWSO2
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready BankWSO2
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIsWSO2
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native DeploymentWSO2
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”WSO2
 

Más de WSO2 (20)

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in Choreo
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on Azure
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdf
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos Identity
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdf
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing Choreo
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected Products
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital Businesses
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformation
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking Experiences
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready Bank
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
 

Último

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 

Último (16)

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 

Desafiando las transformaciones con WSO2 ESB

  • 1. Last Updated: September 2015 Desafiando  las  transformaciones   con  WSO2  ESB   #transformacionesconWSO2  
  • 2. Agenda   2   • Presentación  de  WSO2  y  Chakray  ConsulBng   • Transformación  de  mensajes  con  WSO2  ESB   • Escenarios  posibles   • Herramientas  disponibles  (+  demo)   • Performance  al  realizar  transformaciones   • Preguntas  y  respuestas.  
  • 3. Sanjiva   Weerawarana   Hola?  Somos   MM   Venture  Capital   $30   3  
  • 4. 4   Una  plataforma  completa  para  crear  negócios   conectados   4  
  • 5. Mountain   View,   California,   USA   Bloomington   Indiana,  USA   London,   United   Kingdom   Colombo,   Sri  Lanka   São  Paulo,   Brazil   Oficinas     5  
  • 7. Publica,on     Category     WSO2   Year     Gartner     Magic  Quadrant  for  Enterprise  Applica6on  Pla8orm  as  a  Service   Visionary   2014   Gartner     Magic  Quadrant  for  Applica6on  Services  Governance   Visionary   2013   Gartner     Magic  Quadrant  for  On-­‐Premises  Applica6on  Integra6on  Suites   Visionary   2013   Gartner     Magic  Quadrant  for  On-­‐Premises  Applica6on  Pla8orms   Visionary   2013   The  Forrester  Wave   API  Management  Pla8orms,  Q1     Leader     2013   Gartner   Magic  Quadrant  for  Systema6c  SOA  Applica6on  Projects   Visionary   2012   Gartner     Magic  Quadrant  for  Systema6c  Applica6on  Integra6on  Projects   Visionary   2012   Gartner     Magic  Quadrant  for  SOA  Infrastructure  Projects   Visionary   2012   The  Forrester  Wave   Integrated  SOA  Governance,  Q1   Strong  Performer   2012   The  Forrester  Wave   SOA  Service  Life-­‐Cycle  Management,  Q1   Strong  Performer   2012   The  Forrester  Wave   Standalone  SOA  Management  Solu6ons,  Q4   Strong  Performer   2011   Gartner     Magic  Quadrant  for  SOA  Governance  Technologies   Visionary   2011   The  Forrester  Wave   Enterprise  Service  Bus,  Q2     Leader   2011   Presencia  en  estudios   de  Mercado   7  
  • 8. +  de  250  Clientes   8  
  • 10.     •  "Enfoque  brillante,  amor  a  la  modularidad,  lo  que  permite  una  gran   flexibilidad.  Estamos  muy  contentos  de  estar  trabajando  con  WSO2  "   -­‐  Jim  Crabbe,  Senior  Product  Manager,  Boeing   •  "La  extrema  capacidad  de  soporte,  es  lo  que  nos  cauGvó  con  WSO2"     -­‐  Prakash  Iyer,  Vicepresidente  del  SoNware  Arquitectura  y  Estrategia,  CIO,   Trimble.   •  “Con  el  uso  de  WSO2  ESB,  habíamos  sido  capaces  de  proporcionar  a  los   clientes  y  nuestors  socios  la  calidad  y  experiencia  que  esperan  de  eBay"  -­‐   Abhinav  Kumar,  Gerente  senior  de  Ingeniería  de  Sistemas  en  eBay.     ¿Y  los  clientes,  qué  dicen?       10  
  • 11. 11   LUIS  PEÑARRUBIA   Integration Consultant and Solutions Architect API, SOA and Big Data. http://www.linkedin.com/in/luispenarrubia @luispenarrubia luispenarrubia.wordpress.com luis.penarrubia [at] chakray.com
  • 12. 11   •  Grupo  de  Consultores  sénior  muy  especializados  en  WSO2.   •  Preferred  Partner  con  presencia  en  Europa  y  Sudamérica.   •  Especializado  en  proveer  servicios  de  Consultoría  a  Integradoras.   •  Suministra  formación  oficial  on-­‐line  y  presencial.   http://www.linkedin.com/company/chakray-consulting @Chakray_com http://www.chakray.com http://www.slideshare.net/Chakray
  • 13. Transformación  de  mensajes  con  WSO2  ESB  (I)   13   •  ¿Qué  es?   •  Manipulación  del  mensaje  de  nuestro  servicio.     •  ¿Por  qué  es  importante?   •  ESB  es  la  columna  vertebral  de  cualquier  integración  SOA.   •  Conectar  servicios  implementados  en  diferentes  tecnologías.   •  Transformación  !=  Mediación   •  ¿Qué  Bpos  de  transformaciones  existen?   •  Crear  mensaje  desde  cero.   •  Cambiar  el  formato  del  mensaje.   •  Enriquecer  el  mensaje.   •  Conversión  del  mensaje.  
  • 14. Transformación  de  mensajes  con  WSO2  ESB  (II)   14   •  ¿Qué  herramientas  ofrece  WSO2  ESB?   PayloadFactory  Mediator   hops://docs.wso2.com/display/ESB481/PayloadFactory+Mediator   Enrich  Mediator   hops://docs.wso2.com/display/ESB481/Enrich+Mediator   XSLT  Mediator   hops://docs.wso2.com/display/ESB481/XSLT+Mediator   FastXSLT  Mediator   hops://docs.wso2.com/display/ESB481/FastXSLT+Mediator   XQuery  Mediator   hops://docs.wso2.com/display/ESB481/XQuery+Mediator   Smooks  Mediator   hops://docs.wso2.com/display/ESB481/Smooks+Mediator   Script  Mediator   hops://docs.wso2.com/display/ESB481/Script+Mediator   Message  type   hops://docs.wso2.com/display/AM190/Transforming+API+Message +Payload#TransformingAPIMessagePayload-­‐ ConverBngapayloadbetweenXMLandJSON  
  • 15. Escenario  1:  Crear  mensaje  desde  cero   15   •  ¿Cuándo?               Invocamos   un   servicio   en   el   ESB   que   no   Bene   payload   y   que   debe   invocar   un   servicio   backend   que   espera   un    payload.    El  servicio  backend  devuelve  un  payload  vacío  y  el  servicio  en  el  ESB  debe  devolver  un  payload.   •  Ejemplo                 •  ¿Que  herramientas  usar?   •  PayloadFactory  Mediator  (recomendado).   •  Enrich  Mediator  /  Script  Mediator.   Servicio  en  el  ESB   Servicio  en  backend   POST  users/create?id=1&name=Alberto&surname=Sanchez   SOAP  usersCreate   <users_create>        <id>1</id>        <name>Alberto</name>        <surname>Sanchez</surname>   </users_create>    
  • 16. Escenario  2:  Cambiar  el  formato  del  mensaje   16   •  ¿Cuándo?              Invocamos  un  servicio  en  el  ESB  que  recibe  un  payload  y  que  debe  invocar  un  servicio  backend  que  espera  el  mismo    payload  pero  en  diferente  formato.    El  servicio  backend  devuelve  un  payload  y  el  servicio  en  el  ESB  Bene  que  devolver  el  mismo  payload  en  diferente    formato.   •  Ejemplo                   •  ¿Que  herramientas  usar?   •  Message  type.   Servicio  en  el  ESB   Servicio  en  backend   GET  users/list      Response:   {          "users":  {                  "user":  [  {                                  "id":  1,                                  "name":  "Alberto",                                  "surname":  "Sanchez"                          }  ]          }   }   GET  usersList      Response:   <users>      <user>          <id>1</id>          <name>Alberto</name>          <surname>Sanchez</surname>      </user>   </users>  
  • 17. Escenario  3:  Enriquecer  el  mensaje   17   •  ¿Cuándo?              Invocamos  un  servicio  en  el  ESB  que  recibe  un  payload  y  que  debe  invocar  un  servicio  backend  que  espera  un  payload    muy  similar  pero  alguna  pequeña  modificación.    El  backend  devuelve  un  payload  y  el  servicio  en  el  ESB  Bene  que  devolver  un  payload  muy  similar  pero  con  alguna    pequeña  modificación.   •  Ejemplo                 •  ¿Que  herramientas  usar?   •  Enrich  Mediator  /  Script  Mediator  (recomendado).   •  XSLT  Mediator,  FASTXSLT  Mediator,  XQuery  Mediator,  Smooks  Mediator.   Servicio  en  el  ESB   Servicio  en  backend   PUT  users/update   <users_update>        <id>1</id>        <name>Alberto</name>        <surname>Sanchez</surname>   </users_update>   PUT  usersUpdate   <users_update>        <id>001-­‐1</id>        <name>Alberto</name>        <surname>Sanchez</surname>   </users_update>  
  • 18. Escenario  4:  Conversión  del  mensaje   18   •  ¿Cuándo?              Invocamos  un  servicio  en  el  ESB  que  recibe  un  payload  y  que  debe  invocar  un  servicio  backend  que  espera  un  payload    completamente  diferente.     El   servicio   backend   devuelve   un   payload   y   el   servicio   en   el   ESB   Bene   que   devolver   un   payload   completamente    diferente.   •  Ejemplo               •  ¿Que  herramientas  usar?   Servicio  en  el  ESB   Servicio  en  backend   POST  users/create/v2   {          "id":  1,          "name":  "Alberto",          "surname":  "Sanchez",          "Btle":  "Architect"   }   SOAP  usersCreateV2   <users_create>        <id>001-­‐1</id>        <firstName>Alberto</firstName>        <lastName>Sanchez</lastName>        <Btle>03</Btle>   </users_create>   •  XSLT  Mediator  /  FASTXSLT  Mediator   •  XQuery  Mediator   •  Smooks  Mediator   •  Script  Mediator  
  • 19. Herramientas:  PayloadFactory  Mediator   19   •  Sintaxis               •  ¿Cuándo  usar?   •  Queremos  construir  un  mensaje  XML  o  JSON  no  complejo.     •  Limitaciones   •  No  permite  enriquecer  o  modificar  mensajes.   •  No  recomendado  para  construir  mensajes  complejos  (iteraciones,  condiciones).   <payloadFactory  media-­‐type="xml  |  json">          <format  ../>          <args>                                <arg  (value="string"  |  expression="  {xpath}  |  {json}  ")/>*            </args>     </payloadFactory>  
  • 20. Herramientas:  MessageType   20   •  Sintaxis           •  ¿Cuándo  usar?   •  Queremos  modificar  simplemente  el  formato  del  mensaje,  no  la  estructura.  Típico  ejemplo  de  XML  a  JSON  o  viceversa.   •  Limitaciones   •  No  se  pueden  generar  mensajes.   •  No  se  puede  modificar  la  estructura  del  mensaje.   •  Con  algunos  valores  la  conversión  automáBca  puede  ser  errónea.   <property  name="messageType"  value=“string"  scope="axis2"/>  
  • 21. Herramientas:  Enrich  Mediator   21   •  Sintaxis           •  ¿Cuándo  usar?   •  Queremos  enriquecer  /  modificar  el  mensaje  que  recibimos  en  nuestro  servicio.   •  Limitaciones   •  No  recomendado  construir  mensajes  desde  cero.   •  No  recomendado  para  construir  mensajes  complejos  (iteraciones,  condiciones).   •  Pensado  para  trabajar  con  formato  XML.   <enrich>          <source  [clone=true|false]  [type=custom|envelope|body|property|inline]  xpath=""  property=""  />          <target  [ac,on=replace|child|sibiling]  [type=custom|envelope|body|property|inline]  xpath=""  property=""  />   </enrich>  
  • 22. Herramientas:  Script  Mediator   22   •  Sintaxis             •  ¿Cuándo  usar?   •  Queremos  enriquecer  /  modificar  el  mensaje  que  recibimos  en  nuestro  servicio.   •  Limitaciones   •  Engine  de  Javascript  anBguo.  Soporta  funciones  muy  básicas.   •  No  recomendado  para  construir  mensajes  complejos  (iteraciones,  condiciones).   <script  language="string">...script  source  code...<script/>   <script  key="string"  language="string"  [func,on="script-­‐func,on-­‐name"]>          <include  key="string"/>   </script>  
  • 23. Herramientas:  XSLT  Mediator   23   •  Sintaxis             •  ¿Cuándo  usar?   •  Queremos  enriquecer  /  modificar  el  mensaje  que  recibimos  en  nuestro  servicio.   •  Mensaje  complejos  (iteraciones,  condiciones).   •  Limitaciones   •  No  se  pueden  generar  mensajes  desde  cero.   •  Performance  inferior  a  FASTXSLT  Mediator.   <xslt  key="string"  [source="xpath"]>            <property  name="string"  (value="literal"  |  expression="xpath")/>*            <feature  name="string"  value="true|  false"  />*            <resource  loca,on="string"  key="string"/>*   </xslt>  
  • 24. Herramientas:  FASTXSLT  Mediator   24   •  Sintaxis         •  ¿Cuándo  usar?   •  Queremos  enriquecer  /  modificar  el  mensaje  que  recibimos  en  nuestro  servicio.   •  Mensaje  complejos  (iteraciones,  condiciones).   •  El  performance  es  muy  importante.   •  Limitaciones   •  No  se  pueden  generar  mensajes  desde  cero.   •  Trabaja  sobre  el  stream  no  el  payload  recibido.  No  pre  proceso  del  payload.   •  No  permite  el  paso  de  parámetros.   <fastXSLT  key="string"/>  
  • 25. Herramientas:  XQuery  Mediator   25   •  Sintaxis           •  ¿Cuándo  usar?   •  Queremos  enriquecer  /  modificar  el  mensaje  que  recibimos  en  nuestro  servicio.   •  Mensaje  complejos  (iteraciones,  condiciones).   •  Familiarizados  con  XQuery.     •  Limitaciones   •  Tiene  peor  performance  que  XSLT  /  FASTXSLT  Mediator.   •  No  permite  el  uso  de  templates  como  XSLT.   <xquery  key="string"  [target="xpath"]>          <variable  name="string"  type="string"  [key="string"]  [expression="xpath"]  [value="string"]/>?   </xquery>  
  • 26. Herramientas:  Smooks  Mediator   26   •  Sintaxis           •  ¿Cuándo  usar?   •  Queremos  enriquecer  /  modificar  el  mensaje  que  recibimos  en  nuestro  servicio.   •  Mensaje  complejos  (iteraciones,  condiciones).   •  Familiarizados  con  Smooks.     •  Limitaciones   •  Tiene  peor  performance  que  XSLT  /  FASTXSLT  Mediator.   <smooks  [config-­‐key="string"]>        <input  [type="|text|xml"]/>        <output  [type="|text|xml|java"]  [property="string"]  [ac,on="string"]/>   </smooks>  
  • 27. Herramientas:  Tabla  resumen  (I)   27                 Herramienta   Cuando  usar   Limitaciones   PayloadFactory   Mediator   •  Queremos  construir  un  mensaje  XML  o  JSON  no   complejo.   •  No  permite  modificar  enriquecer  o  modificar  mensajes.   •  No  recomendado  para  construir  mensajes  complejos   (iteraciones,  condiciones).   Enrich   Mediator   •  Queremos  enriquecer  /  modificar  el  mensaje  que   recibimos  en  nuestro  servicio.   •  No  recomendado  construir  mensajes  desde  cero.   •  No  recomendado  para  construir  mensajes  complejos   (iteraciones,  condiciones).   XSLT  /   FASTXSLT   Mediator   •  Queremos  enriquecer  /  modificar  el  mensaje  que   recibimos  en  nuestro  servicio.   •  Mensaje  complejos  (iteraciones,  condiciones).   •  Recomendado  el  uso  de  FASTXSLT  siempre  que  sea   posible  para  incrementar  el  rendimiento.   •  No  se  pueden  generar  mensajes  desde  cero.   XQuery   Mediator   •  Queremos  enriquecer  /  modificar  el  mensaje  que   recibimos  en  nuestro  servicio.   •  Mensaje  complejos  (iteraciones,  condiciones).   •  Familiarizados  con  XQuery.   •  Tiene  peor  rendimiento  que  XSLT  /  FASTXSLT  Mediator.   •  No  permite  el  uso  de  templates  como  XSLT.  
  • 28. Herramientas:  Tabla  resumen  (II)   28                 Herramienta   Cuando  usar   Limitaciones   Smooks   Mediator   •  Queremos  enriquecer  /  modificar  el  mensaje  que   recibimos  en  nuestro  servicio.   •  Mensaje  complejos  (iteraciones,  condiciones).   •  Familiarizados  con  Smooks.   •  Tiene  peor  performance  que  XSLT  /  FASTXSLT  Mediator.   Script  Mediator   •  Queremos  enriquecer  /  modificar  el  mensaje  que   recibimos  en  nuestro  servicio.   •  Engine  de  Javascript  anBguo.  Soporta  funciones  muy  básicas.   •  No  recomendado  para  construir  mensajes  complejos   (iteraciones,  condiciones).   Message  Type   •  Queremos  modificar  simplemente  el  formato  del   mensaje,  no  la  estructura.  Típico  ejemplo  de  XML  a   JSON  o  viceversa   •  No  se  pueden  generar  mensajes.   •  No  se  puede  modificar  la  estructura  del  mensaje.   •  Con  algunos  valores  la  conversión  automáBca  puede  ser   errónea.  
  • 29. Performance  al  realizar  transformaciones  (I)   29   •  Factores  a  tener  en  cuenta   •  Tipo  de  transformación   •  Tamaño  mensaje   •  Conclusiones   •  Para  mensajes  pequeños  (<1K)  las  diferencias  son  mínimas.   •  Para  transformaciones  complejas  se  recomienda  siempre  que  sea  posible  el  uso  de  FASTXSLT  Mediator,  en  su  defecto  XSLT   Mediator.     Transformaciones  sencillas   Transformaciones  complejas   •  Enrich  Mediator   •  PayloadFactory  Mediator   •  FASTXSLT  Mediator   •  XSLT  Mediator   •  XQuery  Mediator  
  • 30. Performance  al  realizar  transformaciones  (II)   30   •  Entorno  local   •  Windows  8.1  64  bit,  8GB  RAM,  4  CPUs.   •  500  peBciones  en  10  segundos.                 Enrich   Mediator       Script   Mediator       XSLT   Mediator       XQuery   Mediator    
  • 31. Preguntas     y   respuestas   35  
  • 32. Contact  us  !   Connect  the  World