0% encontró este documento útil (0 votos)
72 vistas18 páginas

Tipos de Integración de Software

Este documento describe diferentes tipos de integración de software, incluyendo integración vertical, horizontal, por middleware, basada en servicios y mediante API. Cada tipo se define brevemente con sus características y ventajas principales.

Cargado por

MILTON JARATA
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
72 vistas18 páginas

Tipos de Integración de Software

Este documento describe diferentes tipos de integración de software, incluyendo integración vertical, horizontal, por middleware, basada en servicios y mediante API. Cada tipo se define brevemente con sus características y ventajas principales.

Cargado por

MILTON JARATA
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD NACIONAL DEL ALTIPLANO

FACULTAD DE INGENIERIA MECANICA ELECTRICA,


ELECTRÓNICA Y SISTEMAS
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

INFORME

TIPOS DE INTEGRACIÓN DE SOFTWARE

PRESENTADO POR:

Willian David Calsin Borda


Milton Jarata Quispe

DOCENTE:

Ing. Marcos Denys Choque Castro

SEMESTRE: "X"

GRUPO: ÚNICO"

PUNO, PERÚ
Mayo - 2023
ÍNDICE GENERAL

Pág.

ÍNDICE GENERAL i

ÍNDICE DE FIGURAS ii

INTRODUCCIÓN 1

MARCO TEÓRICO 2

1 Concepto 2

2 Tipos de Integración 2

2.1 Integración vertical 2

2.2 Integración horizontal 3

2.3 Integración por middleware 4

2.4 Integración basada en servicios (SOA) 5

2.5 Integración mediante API 8

2.6 Integración Continua 10

CONCLUSIONES 12

RECOMENDACIONES 13

BIBLIOGRAFÍA 15

i
ÍNDICE DE FIGURAS
Pág.
1. Arquitectura orientada a servicios 6
2. Servicios de arquitectura 7
3. Interfaz de Programación de Aplicaciones 8
4. API publica 9
5. API privada 9
6. Integracion continua 11

ii
INTRODUCCIÓN

La integración de software es fundamental para el desarrollo y funcionamiento de aplica-


ciones y sistemas informáticos. A medida que los proyectos se vuelven más complejos y
diversificados, surge la necesidad de combinar diferentes componentes de software para
crear soluciones más completas y eficientes. La integración de software permite que es-
tos componentes se comuniquen y trabajen en conjunto de manera fluida, optimizando la
funcionalidad y mejorando la experiencia del usuario.

Existen diversos tipos de integración de software, cada uno diseñado para abordar nece-
sidades específicas. Desde la integración manual, que requiere de un meticuloso trabajo
por parte de los desarrolladores, hasta la integración continua, que automatiza el proceso
de combinación de cambios en el código fuente, cada enfoque tiene sus propias venta-
jas y desafíos. Además, la integración de datos, la utilización de servicios web y API,
y la integración basada en eventos son otros métodos comunes utilizados para lograr la
interoperabilidad entre sistemas.

El objetivo principal de la integración de software es lograr una sinergia entre los di-
ferentes componentes de una aplicación o sistema, permitiendo que trabajen de manera
conjunta y eficiente. Esto se traduce en un mayor rendimiento, una mejor calidad del soft-
ware y una mayor capacidad de adaptación a medida que los proyectos evolucionan. Al
elegir el tipo de integración adecuado, los desarrolladores pueden garantizar la compatibi-
lidad, la coherencia y la disponibilidad de los datos, así como una comunicación efectiva
entre los distintos módulos de software.

En resumen, la integración de software es un proceso esencial en el desarrollo de apli-


caciones y sistemas informáticos modernos. A través de diferentes enfoques, se logra la
combinación y comunicación efectiva de componentes de software, maximizando la fun-
cionalidad y la eficiencia de las soluciones tecnológicas. La elección adecuada de la es-
trategia de integración puede marcar la diferencia en el éxito de un proyecto, permitiendo
a los desarrolladores crear soluciones sólidas y altamente interoperables.

1
MARCO TEÓRICO

1 Concepto

La integración consiste en conseguir que distintos softwars se pasen información de uno


a otro sin que el usuario lo note. Esta integración hace que el usuario pueda pasar de un
sistema a otro en tiempo real.

2 Tipos de Integración

La integración consiste en conseguir que distintos softwares se pasen información de uno


a otro sin que el usuario lo note. Esta integración hace que el usuario pueda pasar de un
sistema a otro en tiempo real.

2.1 Integración vertical

Definición: Es un modelo de integración que busca conectar diferentes componentes o


capas dentro de una misma aplicación o sistema.

Según (Galán, 2020) (s.f.), la integración vertical implica que las empresas se involucren
en actividades relacionadas con el ciclo de producción de un producto o servicio.

Entre las principales ventajas de la integración vertical se encuentran:

Mejora en la eficiencia: Al tener menos interfaces entre los diferentes componentes,


se reduce la complejidad y aumenta el rendimiento.

Reducción de errores: La comunicación directa entre los componentes disminuye


las posibilidades de error debido a falta de coordinación.

Mayor control: Al tener todos los componentes bajo una sola entidad organizacio-
nal, se tiene mayor control sobre todo el proceso productivo.

Tipos de integración vertical

La integración vertical hacia atrás se refiere a adquirir o controlar proveedores y fabrican-


tes.

2
La integración vertical hacia adelante implica adquirir o controlar distribuidores minoris-
tas y puntos finales.

Beneficios

Flexibilidad para adaptarse a cambios.

Mejora de la calidad y coordinación del sistema.

Reducción de costos asociados con proveedores/distribuidores externos.

Control total sobre todo el ciclo del negocio hasta la entrega al cliente final.

Ejemplos

Oracle es propietario tanto de sistemas operativos como bases de datos para abarcar
el proceso productivo informático interno.

Apple se encarga internamente del diseño y fabricación final asegurando todo su


ciclo productivo bajo control propio.

2.2 Integración horizontal

Definición: Es la conexión entre sistemas independientes con objetivos comunes median-


te una arquitectura de Enterprise Service Bus,el ESB permite la transmisión, monitoreo y
transformación de datos, reduciendo enlaces entre subsistemas para mayor flexibilidad al
ajustar sistemas sin interrupciones.

Según (Connector, 2021) (s.f.), la integración horizontal, también conocida como Enter-
prise Service Bus, se centra en la transmisión de mensajes y la transformación de datos.
Proporciona flexibilidad al reducir los enlaces entre subsistemas, permitiendo ajustes sin
interrumpir otros componentes. En resumen, la integración horizontal facilita la comuni-
cación eficiente y ágil entre aplicaciones y sistemas.

Beneficios

La integración horizontal ofrece beneficios como mejora en la eficiencia operativa.

3
Aumento en la velocidad del desarrollo e implementación.

Mayor agilidad empresarial.

Reducción de costos operacionales mediante economías de escala.

Ejemplos

Oracle adquirió Sun Microsystems para fusionar hardware y software, ofreciendo


paquetes completos para satisfacer necesidades empresariales.

Microsoft compró LinkedIn por $26 mil millones para integrar su tecnología con
Office 365, Dynamics CRM y otros servicios empresariales propios.

Adobe ha adquirido varias empresas de creatividad digital como Fotolia, Behance


o Magento Commerce para ampliar su oferta integral en el mercado creativo.

2.3 Integración por middleware

Definición: La integración por middleware es una forma de hacer que diferentes progra-
mas y sistemas funcionen juntos, mediante la utilización de una capa intermedia que actúa
como puente entre ello, esto permite que las aplicaciones se comuniquen sin necesidad de
conocer los detalles técnicos del otro sistema.

Según (IBM, 2015), .El middleware acelera el desarrollo de aplicaciones distribuidas al


simplificar la conectividad entre aplicaciones, componentes de aplicaciones y fuentes de
datos de back-end"(IBM, s.f.).

Tipos de middleware

Middleware orientado a mensajes, transmite mensajes asíncronos.

El middleware orientado a servicios, expone aplicaciones como servicios web.

El middleware orientado a eventos, detecta y responde en tiempo real ante eventos


específicos.

El middleware transaccional, asegura la integridad de las bases de datos comparti-


das.

4
Ejemplos

AWS utiliza SQS como middleware orientado a mensajes para la comunicación


entre servicios en la nube.

Uber usa Apache Kafka, un middleware orientado a eventos, para procesar grandes
cantidades de datos y tomar decisiones rápidas.

Windows tiene tecnologías middleware como OLE/COM y .NET Framework que


permiten interacción sin problemas entre aplicaciones.

La NASA utiliza MARC como capa intermedia para conectar múltiples sistemas
heterogéneos y así mejorar el monitoreo de dispositivos espaciales críticos.

2.4 Integración basada en servicios (SOA)

Definición: Es un modelo que conecta y relaciona las diversas unidades funcionales de


una aplicación, conocidas como servicios, a través de interfaces y contratos claramente
definidos.
La arquitectura SOA consiste en un método de diseño de software, donde las aplicacio-
nes de negocio se descomponen en “servicios” individuales que pueden ser utilizados
independientemente de las aplicaciones de las que forman parte y de las plataformas in-
formáticas sobre las que se ejecutan.
Al poder disponer de los servicios individuales de las aplicaciones como piezas inde-
pendientes, las empresas tendrán la posibilidad de integrarlos y agruparlos de maneras
distintas para conseguir capacidades completamente nuevas.
La única limitación real de lo que pueda hacerse con estas piezas radica en la imaginación
y perspectiva de su constructor, y no, como hasta ahora, en la tecnología (desprovista de
su rigidez e incompatibilidad). SOA transforma la tecnología en un instrumento ágil de la
estrategia de negocio
Segun (Chiappe, 2010) define que la integración basada en servicios (SOA) separa las
funcionalidades en distintas unidades (Servicios) que pueden ser distribuidos en una red,
pudiendo ser combinados y reutilizados para crear nuevas aplicaciones de negocio.
Según (Bolo, 2006) afirma que SOA es una arquitectura, una forma de concebir y diseñar
sistemas mientras que los Web Services son una forma de implementar los servicios en

5
una SOA, y no la única. Un middleware orientado a mensajería, tal como el Websphere
MQ puede proveer una forma perfectamente viable de implementar SOA.

Sus Objetivos de Integración basada en servicios (SOA):

Proveer servicios a usuarios, aplicaciones y otros servicios utilizando mensajes con


semántica común y estándar.

Describir los componentes de un sistema y la interacción entre los mismos.

Promover la orquestación de negocios a un nivel de servicios empresariales utili-


zando un modelo distribuido.

Lograr baja cohesión entre los sistemas y las entidades que interactúan.

Beneficios de Integración basada en servicios (SOA):

Los procesos y servicios pueden ser rápidamente creados, configurados y reorgani-


zados sin necesidad de personal técnico.

Figura 1. Arquitectura orientada a servicios


Fuente: (Bolo, 2006)

Arquitectura Orientada a Servicios(SOA):

Reduce la complejidad.

Reutiliza los servicios.

6
Aplicaciones reutilizables: Fácil de mantener, fácil de ampliar la funcionalidad.

Permite la creación y cambio de servicios de forma incremental.

Figura 2. Servicios de arquitectura


Fuente: (Bolo, 2006)

Ejemplos:

Servicios bancarios: Los bancos utilizan la integración basada en servicios para


conectar sus sistemas internos con servicios externos, como servicios de pagos,
transferencias electrónicas y consultas de cuentas.

Integración en el sector de la salud: En el campo de la atención médica, la in-


tegración basada en servicios se utiliza para conectar sistemas de registro médico
electrónico (EMR), sistemas de facturación, sistemas de gestión de laboratorio y
otros servicios relacionados.

Servicios de logística y cadena de suministro: Empresas de logística y cadena de


suministro utilizan servicios para integrar diferentes sistemas, como seguimiento de
envíos, gestión de almacenes, planificación de rutas y gestión de inventarios.

Integración en el sector de servicios financieros: Las instituciones financieras uti-


lizan la integración basada en servicios para conectar sistemas de gestión de riesgos,
sistemas de cumplimiento normativo, sistemas de trading y otros servicios financie-
ros.

7
2.5 Integración mediante API

Definición: La integración basada en API se refiere a la acción de conectar y unificar


datos y aplicaciones utilizando API (interfaz de programación de aplicaciones). Este en-
foque permite establecer flujos de integración que pueden ser definidos y reutilizados por
diferentes partes tanto dentro como fuera de una organización.
Permite la comunicación entre diferentes aplicaciones mediante el uso de interfaces es-
tándar y públicas conocidas como Application Programming Interfaces (APIs).
Según (González, 2015) El propósito de una API es permitir la comunicación entre com-
ponentes de software mediante el soporte de funciones de otros servicios, lo que permite
la abstracción del código.

Figura 3. Interfaz de Programación de Aplicaciones


Fuente: (González, 2015)

La integración basada en API forma una base para la interoperabilidad en un ecosistema


empresarial que abstrae las diferencias entre los activos de información, de modo que los
clientes de API no tengan que comprender los detalles técnicos de esos activos. Este en-
foque acelera la conectividad de los activos de información en toda la empresa.
Según (González, 2015) El servicio encargado de la monitorización y la gestión de los ser-
vicios REST debe ser capaz por una parte, de generar informes de forma automática cada
cierto tiempo y analizar dichos informes para decidir cuándo se ha de enviar por correo
alertas a los administradores de los servicios. Por otra parte, el servicio ha de proporcionar
una API REST que permita realizar la gestión de las descripciones de monitorización, de
los informes y de los servicios.

8
Tipos de API Abierta y Pública:

Son APIs que pueden ser utilizadas por cualquier empresa o desarrollador. El tér-
mino “Pública” o “Abierta” significa que la API solo está disponible para otras
empresas y desarrolladores, y no exclusivamente para el equipo interno de la orga-
nización que la desarrolló.

Figura 4. API publica


Fuente: (González, 2015)

Contrariamente a las APIs Públicas, las APIs Privadas son de uso exclusivo de las
organizaciones para las cuales fueron desarrolladas. Esas interfaces dan acceso a
sistemas y datos internos de las empresas, por eso, solo pueden acceder a ellas sus
propios desarrolladores.

Figura 5. API privada


Fuente: (González, 2015)

Ejemplos:

9
Google tiene más de 92 API disponibles entre las que se encuentran Google Maps,
Analytics, Calendar, Contacts.

Twitter utiliza las API para ampliar su negocio, creando una de las API’s más po-
pulares en internet. Aunque actualmente está restringiendo su política API.

Facebook, Spotify o Paypal se basan principalmente en API, conectando sus servi-


cios a millones de sitios web y aplicaciones de terceros.

La web de Idealista proporciona una API enfocada a facilitar la venta/alquiler de


inmuebles, con el principal objetivo de poder estimar el precio del suelo en las
diferentes localidades y barrios.

La multinacional japonesa Sony dispone de una API para desarrollar aplicaciones


integradas en sus dispositivos. Cuantos más desarrollos disponga en este entorno,
más atractivo será para sus clientes decidirse por dispositivos Sony o algunos de sus
competidores.

La compañía editorial líder a nivel mundial Pearson, también dispone de un API


Economy, permitiendo hacer un plug de sus servicios para llegar a más audiencia.

2.6 Integración Continua

Definición: El concepto de Integración continua surgió en la comunidad de “Extreme


Programming, XP”, la integración continua es una práctica de desarrollo de software en
la cual los miembros de un equipo integran su trabajo frecuentemente, como mínimo de
forma diaria. Cada integración se verifica mediante una herramienta de construcción au-
tomática para detectar los errores de integración tan pronto como sea posible.
Muchos equipos creen que este enfoque lleva a una reducción significativa de los pro-
blemas de integración y permite a un equipo desarrollar software cohesivo de forma más
rápida. Es un proceso automatizado donde los cambios al código fuente son compilados
e integrados automáticamente con el resto del sistema, facilitando su entrega rápida y fre-
cuentemente.
(Gamboa et al., 2019) define que la IC facilita la integración en un proyecto de una forma
incremental y en cortos espacios de tiempo, pues permite identificar errores en el software
en etapas tempranas y brinda funcionalidades para la automatización de tareas agilizando

10
de esta forma el proceso de desarrollo de software. Entre las tareas que se pueden automa-
tizar se encuentran: compilación de los componentes, integración de todo el desarrollo,
ejecución de pruebas unitarias, ejecución de pruebas de integración, ejecución de pruebas
de aceptación, obtención de métricas de calidad de código y despliegues automáticos

Figura 6. Integracion continua


Fuente: (G. Orozco & Righi, 2018)

Según (G. Orozco & Righi, 2018) "La integración continua es una práctica de desarrollo
de software en la cual los miembros de un equipo integran su trabajo frecuentemente,
como mínimo de forma diaria. Cada integración se verifica mediante una herramienta
de construcción automática para detectar los errores de integración tan pronto como sea
posible. Muchos equipos creen que este enfoque lleva a una reducción significativa de los
problemas de integración y permite a un equipo desarrollar software cohesivo de forma
más rápida"

Ejemplos:

Desarrollo de aplicaciones web: En el desarrollo de aplicaciones web, la integra-


ción continua se utiliza para combinar y probar automáticamente el código fuente
de diferentes desarrolladores en un repositorio compartido.

Desarrollo de aplicaciones móviles: En el desarrollo de aplicaciones móviles, la


integración continua permite a los equipos de desarrollo combinar y probar de ma-
nera regular los cambios realizados en el código fuente de la aplicación.

11
Desarrollo de software empresarial: En el desarrollo de software empresarial, la
integración continua se utiliza para gestionar y coordinar el trabajo de múltiples
equipos de desarrollo que contribuyen a un mismo proyecto.

Proyectos de código abierto: Muchos proyectos de código abierto utilizan la inte-


gración continua como parte de su flujo de trabajo de desarrollo.

Según (A. M. G. Orozco, 2015) La integración continua es una práctica que se


aplica al desarrollo de software realizado con metodologías ágiles, que se puede
ejecutar siempre y cuando se implementen automatizaciones en sus procesos de
requerimientos, diseño, desarrollo, pruebas y despliegues, lo que permite realizar
cambios en el código, compilar y probarlo el mismo día, las veces que sea necesario,
siendo reglamentario que todos los desarrolladores del equipo integren su parte de
código por lo menos una vez al día

12
CONCLUSIONES

En conclusión, existen diferentes tipos de integración de software, como la vertical, ho-


rizontal, por middleware, basada en servicios, mediante API y la integración continua.
Cada tipo tiene sus propias características y beneficios, la integración vertical mejora la
eficiencia y el control dentro de una aplicación, mientras que la horizontal logra una ma-
yor eficiencia operativa y agilidad empresarial, la integración por middleware conecta
programas y sistemas, la basada en servicios permite la reutilización y flexibilidad, y la
mediante API acelera la conectividad de datos, la integración continua reduce los proble-
mas de integración, la elección depende de las necesidades y objetivos del proyecto, y
cada tipo ofrece beneficios específicos en eficiencia, control, flexibilidad y reducción de
costos, la integración exitosa requiere la selección adecuada del enfoque y la implemen-
tación de herramientas y tecnologías correspondientes.

13
RECOMENDACIONES

Al considerar cualquier tipo de integración, ya sea vertical, horizontal, mediante middle-


ware, basada en servicios (SOA) o mediante API, es importante realizar un análisis de-
tallado y buscar asesoramiento especializado. Evalúa tus objetivos, la industria en la que
te encuentras y los posibles beneficios y riesgos asociados. Considera la compatibilidad
con tus sistemas existentes, la escalabilidad de la solución y la capacidad de adaptación.
Además, ten en cuenta los impactos en la gestión, cultura corporativa y sistemas. Rea-
liza una evaluación exhaustiva de proveedores y busca soluciones que se ajusten a tus
requisitos específicos. Recuerda que cada situación es única, por lo que es recomendable
tomar decisiones informadas y contar con el apoyo de expertos para lograr una integra-
ción eficiente y efectiva en tu entorno tecnológico. Asimismo, considera la práctica de
integración continua como una forma de verificar y asegurar que las modificaciones al
código de una aplicación no generen problemas en el despliegue.

14
BIBLIOGRAFÍA

Bolo, M. (2006). Arquitectura de integración orientada a servicios. Interfases, 0(001), 19.


https://doi.org/10.26439/interfases2006.n001.169
Chiappe, J. L. C. (2010). Integración de sistemas orientada a servicios. https : / /
repositorio.ulima.edu.pe/bitstream/handle/20.500.12724/
15587 / Cabrera _Chiappe _Integraci % 7B % 5C ’ %7Bo % 7D % 7Dn
-sistemas-orientada-servicios.pdf?sequence=1&isAllowed=
y
Connector, A. (2021). Que es la integracion de software? La integracion de todo por saber.
https://anyconnector.com/es/software-integration.html
Galán, J. S. (2020). Integración vertical. https://economipedia.com/definiciones/
integracion-vertical.html
Gamboa, Y. M., Habana, L., Habana, L., & Habana, L. (2019). La Integración Continua
pilar fundamental en el proceso de desarrollo de software Continuous. 12(10),
102-116. https://doi.org/2306-2495
González, J. M. P. (2015). Desarrollo de una API para la descripción y gestión de Ser-
vicios Web REST, 1-46. https : / / core .ac .uk / download / pdf /
61473672.pdf
IBM. (2015). Middleware. https://www.ibm.com/es-es/topics/middleware
Orozco, A. M. G. (2015). La integración continua y su aporte al aseguramiento de la
calidad en el ciclo de vida del desarrollo de software. (1), 1-27. https : / /
repository .udistrital .edu .co/bitstream/11349/8276/1/
GARCIA%20OROZCO%20ana%20maria.pdf
Orozco, G., & Righi, L. (2018). Integración Continua: Solución a los problemas de pro-
ductividad y calidad del código en un entorno ágil testigo, 1-74. https://rdu
.iua.edu.ar/bitstream/123456789/1781/1/TFG.pdf

15

También podría gustarte