Anda di halaman 1dari 56

Desarrollo para Sistemas

Distribuidos

IngHernn Rodrguez Ayala


pcsihrod@upc.edu.pe

Autor: Hernn Rodrguez Ayala

Agenda

Sistemas Distribuidos
Integracin

Autor: Hernn Rodrguez Ayala

Sistemas Distribuidos
Un sistema distribuido es aquel en donde sus componentes
(hardware y software) se encuentran ubicados en una o ms
computadores conectadas a una red y a su vez comunican y
coordinan sus acciones mediante el envo exclusivo de mensajes.
Ejemplos tpicos:
 Internet
 Intranet
 Computacin Mvil

Autor: Hernn Rodrguez Ayala

Sistemas Distribuidos (Internet)


Caractersticas:
o La implementacin de la internet y de los servicios que la soportan,
ha promovido el desarrollo de soluciones prcticas a muchos de los
problemas con los sistemas distribuidos.
o Computadores de diferentes tipos.
o Interactan mediante el paso de mensajes sobre un protocolo de
comunicacin.
o Comunicacin en cualquier parte.

Autor: Hernn Rodrguez Ayala

Sistemas Distribuidos (Internet)

intranet
ISP

backbone

satellite link
desktop computer:
server:
network link:

Autor: Hernn Rodrguez Ayala

Sistemas Distribuidos (Intranet)


Caractersticas:

Es una parte de la internet, que es administrada en forma


separada y tiene uno lmites bien definidos que pueden ser
configurados para reforzar polticas de seguridad locales.

Los principales temas que se enfrentan en el diseo de sus


componentes para el uso de las intranets son: servicios de archivos,
Firewalls y mecanismos de seguridad.

Autor: Hernn Rodrguez Ayala

Sistemas Distribuidos (Intranet)

email server

Desktop
computers

print and other servers


Local area
network

Web server

email server
File server

print
other servers

the rest of
the Internet
router/firewall

Autor: Hernn Rodrguez Ayala

Sistemas Distribuidos (Computacin mvil)


Caractersticas:
Dispositivos pequeos y porttiles:iPads, Tablets, telfonos mviles,
smart phones, porttiles.
Facilidad de transporte y potencia de clculo.
Capacidad de conexin a una red en diferentes lugares.
Computacin ubicua(por todas partes). Concepto perteneciente
tambin a la computacin mvil.

Autor: Hernn Rodrguez Ayala

Sistemas Distribuidos (Computacin mvil)

Internet

Host intranet

Wireless LAN

Mobile
phone
Laptop

Printer
Camera

Autor: Hernn Rodrguez Ayala

WAP
gateway

Host site

Home intranet

Desafios en los Sistemas Distribuidos


Heterogeneidad.
Extensibilidad.
Seguridad.
Escalabilidad.
Tratamiento de fallos.
Transparencia.

Autor: Hernn Rodrguez Ayala

Heterogeneidad
Redes diferentes
Diferentes Sistemas Operativos: Unix, Linux, Windows, Chrome, etc.
Diferente representacin de datos.
Necesidad de definir estandares.
Cdigo mvil
 Problemas a la hora de ejecutarse en otro Sistema Operativo.
 Cdigo que puede enviarse y ejecutarse en otro dispositivo de
cmputo.

Autor: Hernn Rodrguez Ayala

Extensibilidad
Facilidad de adicin de nuevos servicios.
Implica que el sistema este documentado y construido de forma
abierta.
Ejemplos:
 Internet RFC: (www.ietf.org)
 Corba : (www.omg.org)

Autor: Hernn Rodrguez Ayala

Seguridad
La seguridad
componentes:

para

los

recursos

de

informacin

tienen

tres

 Confidencialidad: proteccin contra el acceso de individuos no


autorizados.
 Integridad: proteccin contra la alteracin o la corrupcin del
mensaje.
 Disponibilidad: proteccin contra alguna interferencia con el
objetivo de alterar el mensaje.

Se han tomado dos nuevas formas de ataque:


 Ataques de denegacin de servicio (Dos)
 Seguridad del cdigo mvil.

Autor: Hernn Rodrguez Ayala

Escalabilidad
Un sistema es escalable cuando conserva su efectividad al
incrementarse de manera significativa el nmero de recursos y el
nmero de usuarios.
Retos:
 Control de coste de recursos fsicos
 Control de la prdida de rendimiento
 Prevencin de desbordamiento
 Evitar cuellos de botella.

Autor: Hernn Rodrguez Ayala

Tratamiento de fallos
Fallos en sistemas distribuidos con considerados como parciales.
Tcnicas:
 Deteccin de fallos (checksum)
 Enmascaramiento de fallos (reenvo de mensajes si lleg mal)
 Tolerancia de fallos ( si falla muestra un mensaje)
 Recuperacin frente a fallos (rollback)
 Redundancia.

Autor: Hernn Rodrguez Ayala

Transparencia
Oculta al usuario y al programador la naturaleza distribuida del sistema
(ubicacin y caractersticas tcnicas).
Formas de transparencia:







De acceso ( Locales y remotos).


De ubicacin (desconocimiento de ubicacin).
De concurrencia.
De replicacin (multiples ejemplares de recursos).
Movilidad.
Prestaciones y escalado (reconfiguracin segn carga).

Autor: Hernn Rodrguez Ayala

Sistemas Distribuidos
Cmo enfrentamos los retos o desafos que tenemos al momento de
implementar una solucin distribuida?
Manejo de estndares
Manejo de estrategias de Integracion de sistemas
Manejo del concepto de servicios
Nuevas Tecnologas: Servicios en la Nube
PAAS
IAAS
SAAS

Autor: Hernn Rodrguez Ayala

Agenda

Sistemas Distribuidos
Integracin

Tipos de Integracin de Aplicaciones


Infraestructura de Integracin
Tecnologas de Integracin

Autor: Hernn Rodrguez Ayala

Qu es Integracin?
Nuevo Punto de vista IT
 Compartir datos y procesos
 Utilizar aplicaciones o fuentes de datos
 Ubicuidad

BD

Application
Server

WebPass

BD
User

Web
Server

Application
Server

BD

Legacy
System
Autor: Hernn Rodrguez Ayala

Situacin Actual
Por qu necesitamos Integracin?
 Mejorar la ventaja competitiva
 Rapidez frente al cambio (negocio)
 Mejorar la eficiencia operacional
 Estrategia organizacional

Retos para la empresa


 Acceso y Sincronizacin de Datos
 Integracin con otras empresas
 Integracin de tareas humanas en flujos automatizados
 Administracin de procesos de negocios

Autor: Hernn Rodrguez Ayala

Situacin Actual
Tipos de Aplicaciones
 Aplicaciones desarrolladas dentro de la compaa
 Soluciones de Terceros a medida
 Aplicaciones comerciales como los ERP
 Soluciones parciales de integracin

Resultado
 Combinaciones de mltiples capas: monoltico, C/S, multi capas
 Soluciones combinadas de procedimientos, objetos, componentes
 Mezcla de lenguajes de programacin
 Diferentes tipos de bases de datos: jerrquicos, relacionales, objetos
 Diferentes tipos de middleware: mom, orb, rpc, etc
 Mltiples formas de transmitir la informacin: request / reply, tpicos, etc.
 Diferentes middleware para el control de transacciones y seguridad
 Diferentes formas de compartir datos
 Diferentes formas de intercambio de datos: ASCII, EDI, XML

Autor: Hernn Rodrguez Ayala

Hacia un sistema de informacin efectivo


Sistema de informacin
 Tan efecitvo como la integracin entre aplicaciones
 Aplicaciones no fueron diseados para la integracin: enfoque funcional
 Debe de rendir el mejor soporte para el negocio
 Soporte end-to-end a los procesos de negocios y una eficiente interaccin con los
usuarios

Una nueva solucin de software


 No siempre es factible: tiempo, costos, conocimiento y recursos
 La migracin a nuevos sistemas puede ser altamente costoso
 Soluciones integrales no cubren siempre el 100% de la empresa: ERP
 Entrenamiento de usuarios con la nueva solucin
 Alta necesidad de documentacin para realizar los cambios: una sola persona vs.
un grupo de personas

Autor: Hernn Rodrguez Ayala

Requerimientos y Estrategias
Dos importantes objetivos para el sistema de informacin:
Entrada nica de datos
 Garantiza la consistencia y minimiza los errores de entrada
 Difcil de alcanzar al 100% en el mundo real.
 Los usuarios utilizan mltiples aplicaciones en el da a da
 Necesidad de herramientas para el manejo y transferencia de los datos entre
aplicaciones

Acceso a la informacin
 Sincronizacin de Datos
 Cambios realizados en una parte del sistema de informacin debe ser actualizado o
comunicado a las otras partes inmediatamente o en el muy corto plazo.
 Necesidad de una estrategia de acceso a la informacin en el back end
 Escenarios distribuidos: dificultad de sincronizacin y acceso

Autor: Hernn Rodrguez Ayala

Estrategias de Integracin
Tipos de Aplicaciones
 Aplicaciones Primarias: de importancia para toda la compaa, desarrollados en la
organizacin,por terceros o administrados por el rea de IT
 Aplicaciones de Segundo orden: utilizados por un grupo de empleados y
frecuentamente de desarrollo personalizado. Facilitan el da a da del empleado
pero no son soportados por las aplicaciones primarias.

Reto
 Incluir tanto las aplicaciones primarias como las de segundo orden
 Problemas potenciales:
 Transferencia de informacin
 Importancia de documentos de una aplicacin a otra.

Autor: Hernn Rodrguez Ayala

Estrategias de Integracin
Bottom-up
 Se concentra en problemas individuales
 No se coordinan proyectos de integracin
 Da la impresin de estar avanzando, cuando en realidad se tiene que retroceder
muchas veces
 No se visualiza la arquitectura global para la integracin y las soluciones son
medaticas (app webs, parches, traductores, lotes, etc)

Top - down
 Enfocado en la definicin del marco arquitectural de integracin
 Debe de cubrir todos los posibles escenarios de los problemas del negocio a nivel
micro y macro
 Se deben de reconocer las dependencias entre las aplicaciones y la organizacin
 Debe proporcionar lneas y guas que permiten planificar las tareas y
responsabilidad en el rea de IT

Autor: Hernn Rodrguez Ayala

Estrategias de Integracin
 Muchas veces en las empresas se utilizan ambas estrategias
 Enfoque: inside-out
 Refleja los requerimientos de integracin y toma en cuenta diferentes criterios:
aplicaciones existentes, arquitecturas y dems requerimientos relacionados con el
nuevo sistema de informacin.

Autor: Hernn Rodrguez Ayala

Beneficios de la integracin
 Reutilizacin: Servicios y reutilizacin
 Encapsulamiento: Acceso a los servicios identificados mediante una interface
 Distribucin: La definicin de un servicio no est amarrado a una PC local
 Particionamiento: El manejo de capas permite una flexibilidad en la composicin
de soluciones
 Escalabilidad: Mejora del rendimiento y capacidad implementar tcnicas de
optimizacin en las capas medias para distribuir y replicar servicios core
 Rendimiento mejorado: Las aplicaciones pueden tomar ventaja de caractersticas
de servidores: pooling, threading, etc
 Confiabilidad: Los cuellos de botellas pueden ser identificados y mejorados
rpidamente
 Composicin: flexibilidad y soporte al negocio
 Desarrollo rpido: enfocados en solucionar problemas de negocio manteniendo la
infraestructura en una capa abstracta.
 Administracin: capacidad de identificar un servicio particular que puede necesitar
mantenimiento
 Y otros ms.

Autor: Hernn Rodrguez Ayala

Tipos de Integracin
Enfoque Tradicional

Autor: Hernn Rodrguez Ayala

Tipos de Integracin
A nivel de Datos
 Se enfoca en trasladar datos entre aplicaciones
 No es una implementacin fcil
 Complejidad en la estructura de las bases de datos y los tipos de datos
representados
 Alto acoplamiento, pues se necesita saber por adelanto las estructuras dentro del
repositorio de datos
 Problemas con la semntica de los datos
 Restricciones de licenciamiento en productos de terceros o adquiridos
 Datos exportados mediante archivos planos de texto

Autor: Hernn Rodrguez Ayala

Tipos de Integracin

Autor: Hernn Rodrguez Ayala

Integracin de Aplicaciones
Integracin a Nivel de Mensajes
 Mayor flexibilidad
 Desacoplamiento de aplicaciones
 Mensajes

enviados

 Mensajes

procesados

 No

hay tiempos de espera : mejor rendimiento

 Escalabilidad en los mensajes


 Recursos

disponibles

 Redireccionamiento

inmediato

 Solamente soporte comunicacin asncrona


 Programacin ms especializada
 Servicios
 APIs

Autor: Hernn Rodrguez Ayala

adicionales

especiales

Tipos de Integracin
A nivel de Aplicaciones
 Se enfoca en compartir lgica de negocio.
 Se utilizan libreras (API).
 Las aplicaciones exponen su funcionalidad a travs de las APIs
 Problema en la forma como trabajar con la API y su tecnologa
 El objetivo final es utilizar una interface para comunicarse con la aplicacin y
enmascarar las diferencias tecnolgicas para el acceso
 Esto ltimo lo podemos encontrar mediante la definicin de servicio.

Autor: Hernn Rodrguez Ayala

Tipos de Integracin

Aplicacin 2

Aplicacin 1
API

API

API

API

API
API

Aplicacin 3

Autor: Hernn Rodrguez Ayala

API

Aplicacin 4

API

Tipos de Integracion
Integracin a Nivel de Objetos
 Utilizado en aplicaciones DCOM, CORBA, RMI
 til cuando los modelos no son compatibles
 Errores manejados adecuadamente por aplicacin
 Algunas desventajas
 Alta

cohesin a nivel de interfaces

 Todos

los sistemas deben de tener la misma arquitectura o utilizar


brokers

 Utilizando

Autor: Hernn Rodrguez Ayala

intermediarios puede tomar tiempo adicional

Tipos de Integracin
A nivel de Procesos
 Permite el soporte de los procesos dentro de la organizacin donde las actividades
del proceso interactan con sistemas de informacin existentes.
 Las interfaces del nuevo sistemas de informacin estn basadas en un nuevo
diseo arquitectural
 Sin embargo las funcionalidades no se rescriben, sino se reutilizan o se componen.
 Las aplicaciones existentes se modifican de tal manera que expongan un conjunto
de interfaces para que trabajen con la arquitectura nueva.

Autor: Hernn Rodrguez Ayala

Tipos de Integracin
A nivel de Presentacin
 Permite la consolidacin de los resultados finales a nivel del usuario
 Permite ocultar mediante una abstraccin la forma de invocar a los elementos en
las capas interiores
 Debera ser un elemento desacoplado y comunicarse con las otras capas mediante
interfases
 Se ocultan a los sistemas de informacin legacy y las modificaciones que se
puedan necesitar realizar

Autor: Hernn Rodrguez Ayala

Tipos de Integracin
A nivel de Negocios (Business to Business)
 Se espera informacin al momento, confiable
 Se requiere el procesamiento de las peticiones bajo demanda
 Propagacin de los datos a partir de una compaa origen hacia una compaa
destino
 Es necesario en ambos lados estar a un nivel de integracin empresarial bastante
alto para dar este paso.

Autor: Hernn Rodrguez Ayala

Infraestructura de Integracin
Un modelo de infraestructura
 Las siguientes capas y servicios constituyen los elementos bsicos para poder
implementar algn proyecto de integracin.

Autor: Hernn Rodrguez Ayala

Infraestructura de Integracin
Capa de Comunicaciones
 Proporciona la transparencia para el acceso a diferentes sistemas
 Encapsula los detalles de bajo nivel en la comunicacin
 Diferentes tipos de middleware proporcionan soluciones para comunicacin:
 JDBC, vista unificada para BD
 MOM, comunicacin asncrona de mensajes
 RPC, proporciona servicios de comunicacin sncronos
 ORB
 ESB
 Proporciona adems transparencia en la ubicacin, separndola de la lgica de
aplicacin

Autor: Hernn Rodrguez Ayala

Infraestructura de Integracin
Capa de Ruteo y Brokering
 Debe de adaptar la comunicacin entre las aplicaciones, de tal manera que permita
la interoperabilidad entre ellas.
 Tiene ciertas responsabilidades:
 Proporciona un medio para obtener datos a partir de mltiples fuentes
(agregacin)
 Proporciona un medio para procesar los datos y transformarlos de tal manera
que puedan ser utilizados por las aplicaciones
 Obtener los resultados a partir de todas las aplicaciones y presentarlos de
manera consistente. (sntesis)
 Para cada una de las tareas mencionadas,maneja un esquema de metadata.

Autor: Hernn Rodrguez Ayala

Infraestructura de Integracin
Capa de Transformacin
 Servicio que debe ser parte de los elementos de integracin
 Basado en tecnologoa XSLT (Extensible StyleSheet for Transformations)
 Permite la transformacin de schemas e incluso la aplicacin de reglas de
transformacin de manera declarativa
 Slo es necesario un motor XSLT, hacindolo independiente de la aplicacin o
plataforma de desarrollo.

Autor: Hernn Rodrguez Ayala

Infraestructura de Integracin
Capa de inteligencia de negocios
 Responsable por presentar la interface de alto nivel a otras aplicaciones o usuarios.
 Presenta los datos a los usuarios de una manera entendible.
 Tiene participacin en los escenarios B2B
 Presentado e implementado a travs de tecnologas como Portales.
 Tambin tiene conexin con tecnologas como OLAP, minera de datos, sistema de
soporte de decisiones, etc.

Autor: Hernn Rodrguez Ayala

Infraestructura de Integracin
Servicios: Transacciones
 Encargado de asegurar la ejecucin de las actividades dentro de los procesos de
negocio de una manera transaccional.
 Respeta las propiedades ACID y los procesos de larga duracin
 Garantiza adems el aislamiento de una operacin de otras operaciones en curso,
y garantiza que la salida de la operacin es almacenada en un medio persistente
antes de continuar.

Servicios: Seguridad
 Definicin de acceso nico para los sistemas
 Definicin declarativa antes que programada
 Debe de contemplar la seguridad en las cuatro capas anteriores
 Toma en consideracin temas como encriptamiento del canal, autenticacin,
autorizacin y auditoras

Autor: Hernn Rodrguez Ayala

Infraestructura de Integracin
Servicios: Ciclo de vida
 Medio de controlar el ciclo de vida de todas las aplicaciones involucradas.
 Debe permitir el reemplazo de una versin de la aplicacin sin afectar la realizacin
de las otras aplicaciones en un entorno de integracin
 Se obtiene mediante el bajo acoplamiento (minimizado) entre las aplicaciones.

Servicios: Nombres
 Permita la implementacin de la transaparencia de ubicacin para una aplicacin o
recurso.
 Idealmente el nombre debe ser nico y unificado y debe expresar cierta lgica
organizacional.

Autor: Hernn Rodrguez Ayala

Infraestructura de Integracin
Servicios: Escalabilidad
 Define la forma como las aplicaciones pueden escalar arquitecturalmente.
 Puede ser implementada a travs de prototipos para verificar.
 Se debe tomar en consideracion aquellas aplicaciones que por su naturaleza no
son escalables

Servicios: Administracin
 Proporciona mtodos y herramientas para administrar servicios.
 Proporciona adems manejo de versiones y configuraciones
 Facilidad en la administracin en caliente y formas declarativas
Reglas
 Definiciones, formatos de datos, flujos, eventos, informacin para procesamiento,
etc.
 Debe ser independiente de las aplicaciones y manejada a travs de repositorios.
 Centralizadas y nicas

Autor: Hernn Rodrguez Ayala

Tecnologas de Integracin
Tecnologas
 Interoperabilidad es la clave para la integracin
 Es muy difcil de alcanzar de manera operacional al100% incluso siguiendo
estndares
 Para aplicaciones legacy la interoperabilidad est definida por el propietario y
puede ser o no basada en estndares. Por ejemplo SAP NetWeaver o NW PI.
 Los elementos de conectividad son ofrecidos bajo el nombre genrico de
middleware
 Introduce una capa arquitectural abstracta reduciendo la complejidad y permitiendo
un bajo acoplamiento

Autor: Hernn Rodrguez Ayala

Tecnologas de Integracin
Acceso a Bases de Datos
 Permite al acceso a diferentes motores de bases de datos
 El acceso a las bases de datos puede ser mediante objetos o funcionalidades
 Ejemplos:
 JDBC
 JDO
 ODBC
 ADO .NET
Orientado a Mensajes (MOM)
 Permite la comunicacin entre plataformas heterogneas y distribuidas
 Generalmente se conectan mediante el uso de APIs
 Est presente tanto en el lado cliente como en el lado servidor
 Proporciona comunicacin asncrona y utiliza repositorios denominadas colas

Autor: Hernn Rodrguez Ayala

Tecnologa de Integracin
Orientado a Mensajes (MOM)
 La mayora de los MOM son productos propietarios y algunas veces incompatibles
 Un nico producto puede afectar escalabilidad, portabilidad
 Ejemplo de estndar: JMS

Autor: Hernn Rodrguez Ayala

Tecnologas de Integracin
Invocaciones a procedimientos remotos (RPC)
 Arquitectura cliente/ servidor
 Basado en conceptos procedurales: llamadas a funciones
 Soporte de comunicaciones sncronas (call / wait request / reply)
 RPC esconde los detalles de la forma de comunicacin en un componente
hacindolo aparecer como local.
 RPC necesita que el cliente se encuentre en lnea para aceptar la comunicacin

Autor: Hernn Rodrguez Ayala

Tecnologas de Integracin
Monitor de Transacciones
 Primera generacin de servidores de aplicaciones
 Monitorean y coordinan transacciones entre mltiples recursos
 Proporcionan adems administracin de rendimiento y seguridad
 Proporcionan tambin optimizacin de recursos como pooling, balanceo de carga.
 Tradicionalmente, se le ha utilizado en los sistemas legacy.

Autor: Hernn Rodrguez Ayala

Tecnologas de Integracin
Object Request Broker
 Maneja la comunicacin entre objetos y componentes distribuidos
 No hay necesidad de preocuparse por los detalles de la comunicacin
 Proporcionan
 Transparencia de ubicacin
 Transparencia de lenguaje de programacin
 Transparencia de protocolo
 Transaparencia de sistema operativo
 Ejemplos de estndares:
 OMG CORBA
 Java RMI RMI/IIOP
 COM/DCOM/COM+

Autor: Hernn Rodrguez Ayala

Tecnologas de Integracin
Servidores de Aplicaciones
 Implementan una serie de elementos de tipo middleware
 Implementan el concepto de transaccionalidad y de administracin de recursos
 Definen la infraestructura de las aplicaciones que se ejecutarn permitiendo su fcil
administracin y manejo de ciclo de vida
 Algunas caractersticas deseadas:
 Interoperabilidad y plataforma
 Apertura a estndares
 Estabilidad de la plataforma

Autor: Hernn Rodrguez Ayala

Tecnologas de Integracin
Web Services
 Manejo de interperabilidad
 Independencia de plataforma tecnolgica
 Framework de WS-I o WS-*
Enterprise Service Bus
 Agrega flexibilidad en la comunicacin entre servicios, simplifica la integracin y
permite el reuso de los servicios
 Permite la interconexin de elmentos de diferentes tecnologas

Autor: Hernn Rodrguez Ayala

Integracin de Aplicaciones
Un vistazo final....

B2B

Autor: Hernn Rodrguez Ayala

DUDAS?
Autor: Hernn Rodrguez Ayala

Descanso

Autor: Hernn Rodrguez Ayala

Anda mungkin juga menyukai