SlideShare una empresa de Scribd logo
1 de 3
Java Developers Mexico https://www.facebook.com/JavaDevelopersMexico
Integración de Aplicaciones
Comunicación Síncrona vs. Asíncrona en la Integración de Aplicaciones
¿Qué es la Integración de Aplicaciones?
La integración de aplicaciones (o integración de aplicaciones empresariales) es la compartición de
procesos y datos entre diferentes aplicaciones en una empresa. Para pequeñas y grandes
organizaciones por igual, ha llegado a ser una prioridad de misión crítica conectar aplicaciones
dispares y aprovechar la colaboración de aplicaciones a través de la empresa con el fin de mejorar
la eficiencia general del negocio, incrementar la escalabilidad, y reducir los costos de IT.
Antes de arquitectar una solución de integración de aplicaciones, sin embargo, es crucial
comprender los diferentes niveles de integración y en particular, cómo son intercambiados los
mensajes en un entorno de integración de aplicaciones. Este artículo proporciona una vista general
de los diferentes niveles de integración - el nivel de presentación, el nivel de procesos de negocio,
el nivel de datos, y el nivel de comunicaciones - y luego examina la integración del nivel de
comunicaciones en más detalle con una discusión de comunicación síncrona o asíncrona.
Los Diferentes Niveles de Integración de Aplicaciones
Hay cuatro diferentes niveles de integración de aplicaciones. En el nivel de presentación, la
integración es llevada a cabo presentando algunas aplicaciones diferentes como una sola
aplicación con una sola interfaz de usuario (UI). También conocida como “screen scraping,” este
viejo enfoque a la integración involucra usar tecnología de middleware para recolectar la
información que un usuario ingresa en una página web o alguna otra interfaz de usuario o alguna
otra interfaz. La integración a nivel de presentación fue usada anteriormente para integrar
aplicaciones que no podrían ser conectadas de otra forma, pero la tecnología de integración de
aplicaciones ha estado involucrada y ha llegado a ser más sofisticada, haciendo que este enfoque
sea menos frecuente.
Con la integración de procesos de negocio, los procesos lógicos requirieron una empresa para
llevar sus negocios a sus activos de TI, lo cual ofrece residir en diferentes partes de la empresa y
de forma creciente, la nube. Identificando acciones individuales en un workflow y enfocando sus
activos de IT como meta sistemas (p.e. un sistema de sistemas), las empresas pueden usar
integración de aplicaciones para definir como las aplicaciones individuales interactuarán con el fin
de automatizar procesos de negocio cruciales, resultando en la entrega más rápida de noticias y
servicios a los clientes reduciendo los errores humanos, y con más bajos costos operacionales. La
integración de procesos de negocio soportó así una Arquitectura Orientada a Servicios (SOA), la
cual promueve el desarrollo de aplicaciones compuestas a través del uso de servicios existentes
(p.e. unidades individuales de funcionalidad) en la empresa.
Java Developers Mexico https://www.facebook.com/JavaDevelopersMexico
Aunada a la integración de procesos de negocio, la integración de datos también es requerida
para la integración exitosa de aplicaciones. Si una aplicación no puede intercambiar y comprender
datos de otra aplicación, se pueden generar inconsistencias y los procesos de negocio llegan a ser
menos eficientes. La integración de datos es llevada a cabo escribiendo código que permite que
cada aplicación comprenda los datos de otras aplicaciones en la empresa o haciendo uso de un
formato de datos intermedio que puede ser interpretado por las aplicaciones emisoras y
receptoras. El último enfoque es preferible sobre el primero ya que escala mejor un sistema
empresarial creciente en tamaño y complejidad. En ambos casos, el acceso, interpretación,
y transformación de datos son capacidades importantes para la integración exitosa de datos.
Los procesos de negocio fundamentales e integración de datos es integración a nivel de
comunicaciones. Esto se refiere a cómo diferentes aplicaciones en una empresa se hablan una con
otra, ya sea a través de transferencia de archivos, métodos solicitud/respuesta, o mensajería. En
muchos casos, las aplicaciones no estuvieron diseñadas para comunicarse con otras, requiriendo
tecnologías para permitir tal comunicación. Estas incluyen Interfaces de Programación de de
Aplicaciones (API’s), las cuales especifican cómo serán llamadas las aplicaciones, y conectores
que actúan como intermediarios entre las aplicaciones. Al nivel de comunicación también es
importante considerar la arquitectura de interacción entre las aplicaciones, lo cual puede ser
integrado acorde a un modelo punto-a-punto, enfoque hub-and-spoke, o Enterprise Service
Bus (ESB).
Transmitiendo el Mensaje: Comunicación Síncrona vs.
Asíncrona
Sin una comunicación efectiva, los procesos de negocio y datos no pueden ser integrados
apropiadamente. Dependiendo de las necesidades particulares de una empresa, la comunicación
puede ser ya sea síncrona o asíncrona, o alguna combinación de las dos.
En la comunicación síncrona, una aplicación emisora envía una solicitud a una aplicación receptora
y debe esperar una respuesta antes de que pueda continuar con su procesamiento. Este patrón es
usado típicamente en escenarios donde las solicitudes de datos necesitan estar coordinadas en
una forma secuencial.
En la comunicación asíncrona, una aplicación emisora envía un mensaje a una aplicación
receptora y continúa su procesamiento antes de recibir una respuesta. En otras palabras, la
aplicación emisora no depende de que la aplicación receptora complete su procesamiento. Si
múltiples aplicaciones están siendo integradas en tal forma, la aplicación emisora puede completar
su procesamiento aún si otros subprocesos no han finalizado su procesamiento.
Cuando se diseñan soluciones de integración de aplicaciones, la comunicación asíncrona ofrece
muchas ventajas sobre la comunicación síncrona, especialmente cuando viene a servicios en SOA.
En los patrones de comunicación síncrona, los timeouts son más comunes cuando una aplicación
tiene que esperar respuestas de algunas otras aplicaciones. Esto significa que la disponibilidad de
Java Developers Mexico https://www.facebook.com/JavaDevelopersMexico
los servicios incrementa ya que los procesos individuales no son bloqueados tan frecuentemente
debido a la espera que otros subprocesos terminen. De hecho los subprocesos pueden ser
ejecutados en cualquier orden. Además, la comunicación asíncrona permite el débil acoplamiento
de las aplicaciones, eliminando la necesidad de la gestión de conexiones. Esto resulta en una
solución de integración de aplicaciones que es más flexible, ágil, y escalable - atributos esenciales
para los sistemas empresariales de hoy.

Más contenido relacionado

La actualidad más candente

Arquitectura software.taxonomias.negocio.001
Arquitectura software.taxonomias.negocio.001Arquitectura software.taxonomias.negocio.001
Arquitectura software.taxonomias.negocio.001
Jose Emilio Labra Gayo
 
Ppt Cap 10
Ppt Cap 10Ppt Cap 10
Ppt Cap 10
uv_sio
 
AnálisisTOGAF
AnálisisTOGAFAnálisisTOGAF
AnálisisTOGAF
LauOchoa
 

La actualidad más candente (20)

Arquitectura software.taxonomias.negocio.001
Arquitectura software.taxonomias.negocio.001Arquitectura software.taxonomias.negocio.001
Arquitectura software.taxonomias.negocio.001
 
Arquitectura empresarial y de software version final
Arquitectura empresarial y de software version finalArquitectura empresarial y de software version final
Arquitectura empresarial y de software version final
 
3 1 mde mda
3 1 mde mda3 1 mde mda
3 1 mde mda
 
Herramientas de software libre en la gestión de la empresa
Herramientas de software libre en la gestión de la empresaHerramientas de software libre en la gestión de la empresa
Herramientas de software libre en la gestión de la empresa
 
F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2
 
APLICACIÓN N_CAPAS EN VISUAL NET
APLICACIÓN  N_CAPAS EN VISUAL NETAPLICACIÓN  N_CAPAS EN VISUAL NET
APLICACIÓN N_CAPAS EN VISUAL NET
 
Archimate: lenguaje para modelamiento de la arquitectura empresarial
Archimate: lenguaje para modelamiento de la arquitectura empresarialArchimate: lenguaje para modelamiento de la arquitectura empresarial
Archimate: lenguaje para modelamiento de la arquitectura empresarial
 
APLICACIÓN N_CAPAS EN VISUAL NET
APLICACIÓN N_CAPAS EN VISUAL NETAPLICACIÓN N_CAPAS EN VISUAL NET
APLICACIÓN N_CAPAS EN VISUAL NET
 
Uml hoja deruta
Uml hoja derutaUml hoja deruta
Uml hoja deruta
 
Ppt Cap 10
Ppt Cap 10Ppt Cap 10
Ppt Cap 10
 
Modelado de sistemas software
Modelado de sistemas softwareModelado de sistemas software
Modelado de sistemas software
 
N-CAPAS EN VISUAL NET
N-CAPAS EN VISUAL NETN-CAPAS EN VISUAL NET
N-CAPAS EN VISUAL NET
 
3 2 bpm
3 2 bpm3 2 bpm
3 2 bpm
 
Introducción a TOGAF para el desarrollo de Enterprise Architecture
Introducción a TOGAF para el desarrollo de Enterprise ArchitectureIntroducción a TOGAF para el desarrollo de Enterprise Architecture
Introducción a TOGAF para el desarrollo de Enterprise Architecture
 
AnálisisTOGAF
AnálisisTOGAFAnálisisTOGAF
AnálisisTOGAF
 
MDE & DSLs
MDE & DSLsMDE & DSLs
MDE & DSLs
 
66826033 diseno-de-aplicaciones-gene xus-apunte-1
66826033 diseno-de-aplicaciones-gene xus-apunte-166826033 diseno-de-aplicaciones-gene xus-apunte-1
66826033 diseno-de-aplicaciones-gene xus-apunte-1
 
Arquitectura Orientada a Servicios
Arquitectura Orientada a ServiciosArquitectura Orientada a Servicios
Arquitectura Orientada a Servicios
 
Ciclo de vida del producto: Integración PLM-ERP
Ciclo de vida del producto: Integración PLM-ERPCiclo de vida del producto: Integración PLM-ERP
Ciclo de vida del producto: Integración PLM-ERP
 
Mda mde
Mda   mdeMda   mde
Mda mde
 

Destacado (10)

Csv y xml
Csv y xmlCsv y xml
Csv y xml
 
Patrones de Integración Empresariales
Patrones de Integración EmpresarialesPatrones de Integración Empresariales
Patrones de Integración Empresariales
 
P2p
P2pP2p
P2p
 
Aplicaciones Distribuídas
Aplicaciones DistribuídasAplicaciones Distribuídas
Aplicaciones Distribuídas
 
3. integración empresarial
3. integración empresarial3. integración empresarial
3. integración empresarial
 
ERP Project: Implementation Failure in HP
ERP Project: Implementation Failure in HPERP Project: Implementation Failure in HP
ERP Project: Implementation Failure in HP
 
Aplicaciones distribuidas
Aplicaciones distribuidasAplicaciones distribuidas
Aplicaciones distribuidas
 
Aplicaciones Distribuidas
Aplicaciones DistribuidasAplicaciones Distribuidas
Aplicaciones Distribuidas
 
Estrategia empresarial, Tipos de Estrategia, Ejemplos de Estrategia, tipos de...
Estrategia empresarial, Tipos de Estrategia, Ejemplos de Estrategia, tipos de...Estrategia empresarial, Tipos de Estrategia, Ejemplos de Estrategia, tipos de...
Estrategia empresarial, Tipos de Estrategia, Ejemplos de Estrategia, tipos de...
 
Que Es Un Erp Y Ejemplos
Que Es Un Erp Y EjemplosQue Es Un Erp Y Ejemplos
Que Es Un Erp Y Ejemplos
 

Similar a Integración de Aplicaciones

Sio2009 Eq3 L12 Integracion De Aplicaciones
Sio2009 Eq3 L12 Integracion De AplicacionesSio2009 Eq3 L12 Integracion De Aplicaciones
Sio2009 Eq3 L12 Integracion De Aplicaciones
alvanares
 
Software para integración de aplicaciones
Software para integración de aplicacionesSoftware para integración de aplicaciones
Software para integración de aplicaciones
Luis
 
Arquitectura Del Servicio De Integracion
Arquitectura Del Servicio De IntegracionArquitectura Del Servicio De Integracion
Arquitectura Del Servicio De Integracion
alvanares
 
COMPOSITE APPLICATION INTEGRATION
COMPOSITE APPLICATION INTEGRATIONCOMPOSITE APPLICATION INTEGRATION
COMPOSITE APPLICATION INTEGRATION
nohemizamudio
 
Sio2009 Eq8 Lec14 Exp Cap12 Composite Application Int
Sio2009 Eq8 Lec14 Exp Cap12 Composite Application IntSio2009 Eq8 Lec14 Exp Cap12 Composite Application Int
Sio2009 Eq8 Lec14 Exp Cap12 Composite Application Int
JonhPerez
 
EPSM_API_Led_Connectivity
EPSM_API_Led_ConnectivityEPSM_API_Led_Connectivity
EPSM_API_Led_Connectivity
Hector Preciado
 
Arquitectura de Integracion de los Servicios
Arquitectura de Integracion de los ServiciosArquitectura de Integracion de los Servicios
Arquitectura de Integracion de los Servicios
nohemizamudio
 
Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 2)
Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 2)Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 2)
Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 2)
Avanet
 

Similar a Integración de Aplicaciones (20)

TESIS APLICACION DE MASHUPS EMPRESARIALES SOBRE ENTERPRISE 2.0
TESIS APLICACION DE MASHUPS EMPRESARIALES SOBRE ENTERPRISE 2.0TESIS APLICACION DE MASHUPS EMPRESARIALES SOBRE ENTERPRISE 2.0
TESIS APLICACION DE MASHUPS EMPRESARIALES SOBRE ENTERPRISE 2.0
 
Sio2009 Eq3 L12 Integracion De Aplicaciones
Sio2009 Eq3 L12 Integracion De AplicacionesSio2009 Eq3 L12 Integracion De Aplicaciones
Sio2009 Eq3 L12 Integracion De Aplicaciones
 
Software para integración de aplicaciones
Software para integración de aplicacionesSoftware para integración de aplicaciones
Software para integración de aplicaciones
 
Planificación si
Planificación siPlanificación si
Planificación si
 
1 er trabajo-penas1
1 er trabajo-penas11 er trabajo-penas1
1 er trabajo-penas1
 
INVESTIGACION FINAL
INVESTIGACION FINALINVESTIGACION FINAL
INVESTIGACION FINAL
 
INVESTIGACION
INVESTIGACIONINVESTIGACION
INVESTIGACION
 
INVESTIGACION
INVESTIGACIONINVESTIGACION
INVESTIGACION
 
Orquestación de Servicios y SOA
Orquestación de Servicios y SOAOrquestación de Servicios y SOA
Orquestación de Servicios y SOA
 
Soa
SoaSoa
Soa
 
Arquitectura Del Servicio De Integracion
Arquitectura Del Servicio De IntegracionArquitectura Del Servicio De Integracion
Arquitectura Del Servicio De Integracion
 
Paradigmas De La Programacion
Paradigmas De La ProgramacionParadigmas De La Programacion
Paradigmas De La Programacion
 
5.3 La Integración como parte del proceso de Migración.
5.3 La Integración como parte del proceso de Migración.5.3 La Integración como parte del proceso de Migración.
5.3 La Integración como parte del proceso de Migración.
 
Tecnologías de integración que se utilizan en la nueva economía digital. acti...
Tecnologías de integración que se utilizan en la nueva economía digital. acti...Tecnologías de integración que se utilizan en la nueva economía digital. acti...
Tecnologías de integración que se utilizan en la nueva economía digital. acti...
 
COMPOSITE APPLICATION INTEGRATION
COMPOSITE APPLICATION INTEGRATIONCOMPOSITE APPLICATION INTEGRATION
COMPOSITE APPLICATION INTEGRATION
 
Sio2009 Eq8 Lec14 Exp Cap12 Composite Application Int
Sio2009 Eq8 Lec14 Exp Cap12 Composite Application IntSio2009 Eq8 Lec14 Exp Cap12 Composite Application Int
Sio2009 Eq8 Lec14 Exp Cap12 Composite Application Int
 
EPSM_API_Led_Connectivity
EPSM_API_Led_ConnectivityEPSM_API_Led_Connectivity
EPSM_API_Led_Connectivity
 
Presentacion - Capitulo 4
Presentacion - Capitulo 4Presentacion - Capitulo 4
Presentacion - Capitulo 4
 
Arquitectura de Integracion de los Servicios
Arquitectura de Integracion de los ServiciosArquitectura de Integracion de los Servicios
Arquitectura de Integracion de los Servicios
 
Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 2)
Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 2)Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 2)
Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 2)
 

Más de Abimael Desales López

El mejor enfoque para una arquitectura orientada a servicios
El mejor enfoque para una arquitectura orientada a serviciosEl mejor enfoque para una arquitectura orientada a servicios
El mejor enfoque para una arquitectura orientada a servicios
Abimael Desales López
 

Más de Abimael Desales López (16)

Aprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDBAprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDB
 
Tutorial - Ordenar listas Java
Tutorial   - Ordenar listas JavaTutorial   - Ordenar listas Java
Tutorial - Ordenar listas Java
 
Tareas Programadas de Oracle con Toad 10
Tareas Programadas de Oracle con Toad 10Tareas Programadas de Oracle con Toad 10
Tareas Programadas de Oracle con Toad 10
 
File Processing - Batch Process Execution
File Processing - Batch Process ExecutionFile Processing - Batch Process Execution
File Processing - Batch Process Execution
 
File Processing - Process Execution Solution
File Processing - Process Execution SolutionFile Processing - Process Execution Solution
File Processing - Process Execution Solution
 
Tutorial - REST con java (JAX-RS 2.0)
Tutorial - REST con java (JAX-RS 2.0)Tutorial - REST con java (JAX-RS 2.0)
Tutorial - REST con java (JAX-RS 2.0)
 
Jpa modelos de componentes
Jpa   modelos de componentesJpa   modelos de componentes
Jpa modelos de componentes
 
Integrando sonar
Integrando sonarIntegrando sonar
Integrando sonar
 
Apache Camel - Parte II
Apache Camel - Parte IIApache Camel - Parte II
Apache Camel - Parte II
 
Apache Camel
Apache CamelApache Camel
Apache Camel
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
 
El mejor enfoque para una arquitectura orientada a servicios
El mejor enfoque para una arquitectura orientada a serviciosEl mejor enfoque para una arquitectura orientada a servicios
El mejor enfoque para una arquitectura orientada a servicios
 
SOA: Principios de Diseño de Servicios - Parte II
SOA: Principios de Diseño de Servicios - Parte IISOA: Principios de Diseño de Servicios - Parte II
SOA: Principios de Diseño de Servicios - Parte II
 
Orquestación o coreografía
Orquestación o coreografíaOrquestación o coreografía
Orquestación o coreografía
 
Analisis ¿No es eso para personas poco inteligentes?
Analisis ¿No es eso para personas poco inteligentes?Analisis ¿No es eso para personas poco inteligentes?
Analisis ¿No es eso para personas poco inteligentes?
 
Conceptos introductorios al diseño de Servicios SOA
Conceptos introductorios al diseño de Servicios SOAConceptos introductorios al diseño de Servicios SOA
Conceptos introductorios al diseño de Servicios SOA
 

Integración de Aplicaciones

  • 1. Java Developers Mexico https://www.facebook.com/JavaDevelopersMexico Integración de Aplicaciones Comunicación Síncrona vs. Asíncrona en la Integración de Aplicaciones ¿Qué es la Integración de Aplicaciones? La integración de aplicaciones (o integración de aplicaciones empresariales) es la compartición de procesos y datos entre diferentes aplicaciones en una empresa. Para pequeñas y grandes organizaciones por igual, ha llegado a ser una prioridad de misión crítica conectar aplicaciones dispares y aprovechar la colaboración de aplicaciones a través de la empresa con el fin de mejorar la eficiencia general del negocio, incrementar la escalabilidad, y reducir los costos de IT. Antes de arquitectar una solución de integración de aplicaciones, sin embargo, es crucial comprender los diferentes niveles de integración y en particular, cómo son intercambiados los mensajes en un entorno de integración de aplicaciones. Este artículo proporciona una vista general de los diferentes niveles de integración - el nivel de presentación, el nivel de procesos de negocio, el nivel de datos, y el nivel de comunicaciones - y luego examina la integración del nivel de comunicaciones en más detalle con una discusión de comunicación síncrona o asíncrona. Los Diferentes Niveles de Integración de Aplicaciones Hay cuatro diferentes niveles de integración de aplicaciones. En el nivel de presentación, la integración es llevada a cabo presentando algunas aplicaciones diferentes como una sola aplicación con una sola interfaz de usuario (UI). También conocida como “screen scraping,” este viejo enfoque a la integración involucra usar tecnología de middleware para recolectar la información que un usuario ingresa en una página web o alguna otra interfaz de usuario o alguna otra interfaz. La integración a nivel de presentación fue usada anteriormente para integrar aplicaciones que no podrían ser conectadas de otra forma, pero la tecnología de integración de aplicaciones ha estado involucrada y ha llegado a ser más sofisticada, haciendo que este enfoque sea menos frecuente. Con la integración de procesos de negocio, los procesos lógicos requirieron una empresa para llevar sus negocios a sus activos de TI, lo cual ofrece residir en diferentes partes de la empresa y de forma creciente, la nube. Identificando acciones individuales en un workflow y enfocando sus activos de IT como meta sistemas (p.e. un sistema de sistemas), las empresas pueden usar integración de aplicaciones para definir como las aplicaciones individuales interactuarán con el fin de automatizar procesos de negocio cruciales, resultando en la entrega más rápida de noticias y servicios a los clientes reduciendo los errores humanos, y con más bajos costos operacionales. La integración de procesos de negocio soportó así una Arquitectura Orientada a Servicios (SOA), la cual promueve el desarrollo de aplicaciones compuestas a través del uso de servicios existentes (p.e. unidades individuales de funcionalidad) en la empresa.
  • 2. Java Developers Mexico https://www.facebook.com/JavaDevelopersMexico Aunada a la integración de procesos de negocio, la integración de datos también es requerida para la integración exitosa de aplicaciones. Si una aplicación no puede intercambiar y comprender datos de otra aplicación, se pueden generar inconsistencias y los procesos de negocio llegan a ser menos eficientes. La integración de datos es llevada a cabo escribiendo código que permite que cada aplicación comprenda los datos de otras aplicaciones en la empresa o haciendo uso de un formato de datos intermedio que puede ser interpretado por las aplicaciones emisoras y receptoras. El último enfoque es preferible sobre el primero ya que escala mejor un sistema empresarial creciente en tamaño y complejidad. En ambos casos, el acceso, interpretación, y transformación de datos son capacidades importantes para la integración exitosa de datos. Los procesos de negocio fundamentales e integración de datos es integración a nivel de comunicaciones. Esto se refiere a cómo diferentes aplicaciones en una empresa se hablan una con otra, ya sea a través de transferencia de archivos, métodos solicitud/respuesta, o mensajería. En muchos casos, las aplicaciones no estuvieron diseñadas para comunicarse con otras, requiriendo tecnologías para permitir tal comunicación. Estas incluyen Interfaces de Programación de de Aplicaciones (API’s), las cuales especifican cómo serán llamadas las aplicaciones, y conectores que actúan como intermediarios entre las aplicaciones. Al nivel de comunicación también es importante considerar la arquitectura de interacción entre las aplicaciones, lo cual puede ser integrado acorde a un modelo punto-a-punto, enfoque hub-and-spoke, o Enterprise Service Bus (ESB). Transmitiendo el Mensaje: Comunicación Síncrona vs. Asíncrona Sin una comunicación efectiva, los procesos de negocio y datos no pueden ser integrados apropiadamente. Dependiendo de las necesidades particulares de una empresa, la comunicación puede ser ya sea síncrona o asíncrona, o alguna combinación de las dos. En la comunicación síncrona, una aplicación emisora envía una solicitud a una aplicación receptora y debe esperar una respuesta antes de que pueda continuar con su procesamiento. Este patrón es usado típicamente en escenarios donde las solicitudes de datos necesitan estar coordinadas en una forma secuencial. En la comunicación asíncrona, una aplicación emisora envía un mensaje a una aplicación receptora y continúa su procesamiento antes de recibir una respuesta. En otras palabras, la aplicación emisora no depende de que la aplicación receptora complete su procesamiento. Si múltiples aplicaciones están siendo integradas en tal forma, la aplicación emisora puede completar su procesamiento aún si otros subprocesos no han finalizado su procesamiento. Cuando se diseñan soluciones de integración de aplicaciones, la comunicación asíncrona ofrece muchas ventajas sobre la comunicación síncrona, especialmente cuando viene a servicios en SOA. En los patrones de comunicación síncrona, los timeouts son más comunes cuando una aplicación tiene que esperar respuestas de algunas otras aplicaciones. Esto significa que la disponibilidad de
  • 3. Java Developers Mexico https://www.facebook.com/JavaDevelopersMexico los servicios incrementa ya que los procesos individuales no son bloqueados tan frecuentemente debido a la espera que otros subprocesos terminen. De hecho los subprocesos pueden ser ejecutados en cualquier orden. Además, la comunicación asíncrona permite el débil acoplamiento de las aplicaciones, eliminando la necesidad de la gestión de conexiones. Esto resulta en una solución de integración de aplicaciones que es más flexible, ágil, y escalable - atributos esenciales para los sistemas empresariales de hoy.