Introduccin a la integracin de aplicaciones - PowerPoint PPT Presentation

1 / 74
About This Presentation
Title:

Introduccin a la integracin de aplicaciones

Description:

Data Flow. Forma de ejecuci n en paralelo. Especializado en el manejo de datos. Components ... Data Flow. Orquestaci n al estilo Workflow. Orientado al flujo de datos ... – PowerPoint PPT presentation

Number of Views:312
Avg rating:3.0/5.0
Slides: 75
Provided by: diegogonza7
Category:

less

Transcript and Presenter's Notes

Title: Introduccin a la integracin de aplicaciones


1
Introducción a laintegración de aplicaciones
  • Rodolfo Finochietti (rodolfof_at_lagash.com)
  • Diego Gonzalez (diegog_at_lagash.com)
  • Adrián Lopez (adrianl_at_lagash.com)
  • Rodolfo Reichart (rodolfo_at_lagash.com)

2
Agenda
  • Introducción
  • Problemática
  • Estilos
  • Patrones
  • Ciclo de vida
  • Integración de Procesos
  • Integración de Datos
  • Integración de Front End

3
Introducción
4
Desafíos de integración
Silos / Integración
Cruzando Fronteras
Mayor cantidad de transacciones
5
Problemática
  • Previas a una integración
  • Sistemas aislados, heterogéneos y solapados en
    funcionalidad
  • Necesidad de soportar procesos que involucran a
    varios sistemas
  • Información inconsistente en distintos sistemas

6
Problemática
  • Posteriores a una integración
  • Costo de implementación
  • Consumo de tiempo y recursos
  • Pérdida de información
  • Dependencias entre sistemas
  • Integraciones aisladas sin usar patrones
    unificados

7
Estilos de Integración
  • Integración de Datos
  • Aplicaciones con datos similares
  • Dependencia entre datos de aplicaciones
  • Maestro de clientes unificado
  • Notificación de novedades
  • Enfocado a sistemas que no exponen una base de
    datos
  • Solución tradicional orientada a sistemas que
    concentran información y distribuyen
    actualizaciones

8
Estilos de Integración
  • Agregación de Entidades
  • Vista única de una entidad distribuida en varios
    sistemas
  • Existen dos aplicaciones que aportan información
    a una entidad
  • Muy común en caso de implementación de portales

9
Estilos de Integración
  • Integración de Procesos
  • Organizaciones se basan en procesos de negocio
    que pueden cruzar varias aplicaciones
  • Su ejecución y control puede ser manual o
    monitoread automáticamente
  • Integración de FrontEnd
  • Aplicaciones opacas en su back-end
  • Siempre hay una interfaz de usuario disponible
  • Usuarios que usan varias aplicaciones para llevar
    a cabo su tareas
  • Un proceso de negocio tiene que impactar en
    varias aplicaciones

10
Estrategias de integración
  • Transferencia de archivos
  • Acceso a base de datos compartida

11
Estrategias de integración
  • Ejecución remota
  • Mensajería

12
Topologías de Mensajería
  • Punto a punto
  • Comunicación entre dos aplicaciones
  • Su uso extensivo crea una integración en estrella
  • Generalmente soportado con herramientas como MSMQ
    o MQSeries

13
Topologías de Mensajería
  • Message Broker
  • Notificación de eventos
  • Resuelve la conexión punto a punto entre
    aplicaciones
  • Concentra mensajes que son enviados con un
    destino específico
  • Generalmente soportan
  • Garantía de entrega
  • Reintentos, timeouts, aviso de entrega
  • Almacenamiento propio

14
Topologías de Mensajería
  • Message Bus
  • El mensaje es notificado a varias aplicaciones
  • Dependiendo de reglas de suscripción
  • Soporte para orquestaciones de mensajes
  • Transacciones de larga duración
  • Reversas en caso de error
  • Aporta información sobre el tráfico de mensajes
    parauna organización

15
Patrones de Mensajería
  • Publish/Suscribe
  • Sobre un MessageBus el arribo de un mensaje es
    replicado a varias aplicaciones interesadas
  • Usado para sincronización de datos
  • Sirve tambiénpara lanzar procesos internos
    ante un evento externo

16
Patrones de Mensajería
  • Pipes and Filters
  • Extensibilidad de los canales de mensajes
  • Permite agregar procesamiento cuando un mensaje
    entra en un Pipe
  • Patrón común aplicable en distintos escenarios

17
Patrones de Mensajería
  • Message Router
  • Se usa para implementar publish/suscribe
  • Message Translator
  • Adapta información de un mensaje a un nuevo
    formato

18
Patrones de Mensajería
  • Channel Adapter
  • Convierten la información de una aplicación en un
    mensaje canónico
  • Pueden ser externos o internos a la aplicación
  • Pueden estar delante o detrás de los canales

19
Ciclo de vida
  • Equipo de Integración vs Proyecto de Integración
  • Precio, tiempo y funcionalidad
  • Proyecto ágiles prefieren
  • Individuos e Interacciones mas que Procesos
  • Software funcionando mas que Documentación
    Completa
  • Colaboración con el cliente mas que Negociación
    de Contratos
  • Respuesta al cambio mas que Seguimiento de un
    Plan
  • Proyectos enfocados en el contexto
  • Stakeholders

20
Ciclo de vida
  • Desarrollo iterativo
  • División en tareas cortas de todo el proyecto
  • Planificación y estimación por iteración
  • Reuniones diarias stand-up para status e
    impedimentos
  • Iteración inicial para
  • Definir alcance global y se toman decisiones
    estratégicas
  • Duración de 10 días para las iteraciones
  • Tiempo estándar para hacer algo demostrable con
    BizTalk

21
Ciclo de vida
  • Diseño simple y evolutivo
  • Evitar relevar todas las interfaces al inicio
    sino relevar aquellas que sean necesarias
  • Evitar desarrollar Frameworks o adaptadores hasta
    que sean necesarios
  • Tomar decisiones iniciales sobre la arquitectura
    (estandars, reglas de codificación, etc.)
  • Es probable que los sistemas a integrar no
    respondan como se espera, es recomendable separar
    las tareas para comprobar cada adaptador

22
Ciclo de vida
  • Pruebas Automatizadas
  • Usar pruebas automatizadas permite detectar
    cambios temprano
  • Traducción de mensajes, adaptadores se pueden
    probar unitariamente
  • Pruebas de performance se pueden hacer en nightly
    builds
  • Las pruebas pueden llevar tiempo de preparación
    de datos
  • Colaboración con el cliente
  • Iteraciones cortas permiten entregar
    funcionalidad temprano y obtener feedback
  • Es más fácil presentar integraciones que
    pantallas al usuario

23
Ciclo de vida
  • The 12 Extreme Practices
  • The planning game
  • Small releases
  • Metaphor
  • Simple design
  • Testing
  • Refactoring
  • Pair programming
  • Collective ownership
  • Continuous integration
  • 40 hour week
  • On-site customer
  • Coding standards

24
Integración de aplicaciones con BizTalk Server
2006
25
Agenda
  • Que es BizTalk?
  • Problemática de integración
  • Por que BizTalk?
  • Que no es BizTalk? Diferencias con WF
  • Conceptos
  • Extensibilidad
  • Demo

26
Que es BizTalk?
  • Es un producto formado por un conjunto de
    herramientas que permiten automatizar procesos de
    negocio dentro de una misma aplicación o entre
    aplicaciones.

27
Que es BizTalk?
  • Herramientas
  • Messaging Engine
  • Ports Adapters (SAP, SQL, WCF, etc.)
  • Pipelines
  • Pipeline Components
  • Orchestrations
  • Transformations (XSLT)
  • Functoids
  • Business Rule Engine (BRE)
  • Health and Activity Tracking (HAT)
  • Business Activity Monitor (BAM)
  • Business Activity Services (BAS)
  • SSO (Single Sign On)
  • Etc.

28
Problemática de integración
  • Procesos de negocio ambiguos
  • Aplicaciones heterogéneas que se comunican entre
    si de forma individual formando una arquitectura
    de integración sin una topología especifica.
  • Protocolos diferentes

29
Problemática de integración
30
Por que BizTalk?
  • Actúa como enrutador de mensajes entre
    aplicaciones.
  • Implementa el patrón de publicador-subscriptor ?
    es muy fácil agregar un nuevo sistema a integrar
  • Ahorra tiempos de desarrollo gracias a sus
    herramientas graficas integradas con Visual
    Studio
  • Fácil administración

31
Por que BizTalk?
  • Easy Deployment (despliegue fácil)
  • Posee una gran cantidad de conectores para
    integrar las plataformas mas diversas.
  • Trabaja utilizando XML y esquemas.
  • Soporta tolerancia a fallos ya que todas las
    operaciones son persistidas.
  • Escala vertical y horizontalmente

32
Por que BizTalk?
33
Que no es BizTalk? Diferencias con WF
34
Conceptos
35
Conceptos
36
Extensibilidad
  • Custom Functoids
  • Functoid Wizard
  • Custom Pipeline Components
  • Pipeline Component Wizard
  • Custom Adapters
  • Adapter Wizard
  • Assemblies .NET

37
Demo
  • Messaging
  • Orquestacion

38
Referencias
  • BizTalk Home Page
  • http//www.microsoft.com/biztalk
  • BizTalk Server Team Blog
  • http//blogs.msdn.com/biztalk_server_team_blog
  • BizTalk Developer Center
  • http//msdn2.microsoft.com/en-us/biztalk
  • Otros blogs
  • http//biztalkblogs.com

39
Integración de datos con SQL Server
2005Integration Services
40
Agenda
  • Qué es SSIS?
  • Por qué SSIS?
  • Conceptos
  • Packages
  • Control Flow
  • Data Flow
  • Otros conceptos
  • Componentes
  • Deployment
  • Ejecución de Packages

41
Qué es SSIS?
  • Es una plataforma para la integración de datos,
    workflows y soluciones ETL (Extraction,
    Transformation, Loading)
  • Motor de integración de datos y entorno de
    desarrollo completo para la creación de
    soluciones de alto rendimiento y fácil desarrollo

42
Por qué SSIS?
  • Proporciona una arquitectura flexible, rápida y
    escalable que permite una integración de datos
    efectiva
  • Incluye herrmientas gráficas y asistentes para
    generar y depurar paquetes, motor de flujo de
    tareas y motor de flujo de datos

43
Qué es SSIS?
  • Servicio SSIS
  • Motor de Workflow y de Flujo de Datos
  • Arquitectura basado en Pipeline

44
Por qué SSIS?
  • En cuanto al desarrollo ofrece
  • Integración con Visual Studio (BIDS)
  • Facilidad de Debug
  • Uso de breakpoints en los Task Containers
  • Uso de Data Viewers
  • Debug de Script Tasks
  • Uso de los Error Output
  • Extensibilidad

45
Por qué SSIS?
  • Además brinda
  • Escalabilidad
  • Facilidad de desarrollo
  • Flexibilidad
  • Acceso a fuentes de datos heterogéneas
  • Administración y deploy
  • Seguridad

46
(No Transcript)
47
Conceptos
  • Packages
  • Control Flow
  • Data Flow
  • Connection Manager
  • Event Handler
  • Configuration
  • Log Provider
  • Variables
  • Data Source / Data Source View

48
Packages
  • Se component por
  • Control Flow
  • Data Flow
  • Event Handlers
  • Incluye soporte para
  • Manejo de errores
  • Checkpoints
  • Transacciones
  • Configuración

49
Control Flow
  • Forma de ejecución secuencial / paralelo
  • Workflow con Precedence Constraints
  • Constraints Values
  • Conditional Expressions
  • Tasks
  • Containers
  • Group
  • Task Host Container
  • Sequence Container
  • For Loop Container
  • For Each Loop Container

50
Data Flow
  • Forma de ejecución en paralelo
  • Especializado en el manejo de datos
  • Components
  • Source
  • Destination
  • Transformation
  • Non Blocking
  • Semi-Blocking
  • Blocking

51
Diferencias entre Control Flow y Data Flow
52
Ejemplos
  • Ejemplo de importación
  • Ejemplo de exportación

53
Otros Conceptos
  • Connection Managers
  • Variables
  • De Usuario ( User y DtsClient)
  • De Sistema
  • Expressions
  • Uso del editor de expresiones, seteo dinámico de
    propiedades
  • Configuración
  • Logging
  • Event Handling

54
Otros Componentes
  • Data Flow Components
  • LookUp
  • DataReader Destination
  • Scripting
  • Multicast
  • Derived Column
  • Aggregate
  • Data Conversion

55
Ejemplos
  • Ejemplo con transformación de datos y consumiendo
    la salida desde un WinForm

56
Deployment
  • Diferentes Formas de Deploy
  • File System
  • Database
  • Herramientas de Deploy
  • Deployment Utility
  • Save Copy As
  • Management Studio
  • DtUtil

57
Ejecución de Packages
  • Tipos de Ejecución
  • Ejecución Remota
  • Ejecución Local
  • Jobs
  • Xp_CmdShell
  • dtexec / dtexecui
  • Management Studio
  • BIDS

58
Referencias
  • SQL Server 2005 Books On Line
  • http//www.microsoft.com/sql/technologies/integrat
    ion/default.mspx
  • Planeamiento de la escalabilidad y rendimiento
    con Reporting Services http//www.microsoft.com/l
    atam/technet/productos/servers/sql/2005/pspsqlrs.m
    spx
  • Una Estrategia de rendimiento http//www.microsof
    t.com/latam/technet/prodtechnol/sql/2005/tecnologi
    as/ssisperfstrat.mspx
  • Introducción a SQL Server 2005
    http//www.microsoft.com/latam/technet/productos/s
    ervers/sql/2005/intro2is.mspx
  • SQL Server 2005 Integration Services
    http//msdn2.microsoft.com/es-es/library/ms141026.
    aspx
  • Wrox Professional SQL Server 2005 Integration
    Services
  • SQL Server Integration Services
    http//www.sqlis.com/
  • SSIS Junkie http//blogs.conchango.com/jamiethoms
    on/default.aspx
  • Kirk Haselden http//sqljunkies.com/WebLog/knight
    _reign/default.aspx

59
Integración en elFront End
60
Integración en el Front-End
  • Realidad Las aplicaciones se desarrollan sobre
    plataformas y estilos arquitectónicos distintos
  • Shadow IT Existen muchas aplicaciones escritas
    por Power Users
  • La integración de aplicaciones en el front-end
    consiste en permitir la colaboración de estas
    aplicaciones en lo posible sin modificar su
    código
  • Es el equivalente al concepto de mash-ups llevado
    a las aplicaciones empresariales
  • La integración en el front-end esta ganando
    aceptacion
  • Conceptos de integración en el front-end
  • UI Automation
  • Composite UI

61
UI Automation
  • La mayoría de las veces las aplicaciones no
    fueron diseñadas para ser componibles
  • Para logra esto se utilizan las APIs que cada
    tecnología provee para el control de interfaz de
    usuario
  • Windows Win32 API, Active Accesibility, UI
    Automation
  • Web Java Script injection, IE Hosted Control
    (SHDocVw)
  • TN3270 eHLLAPI
  • Etc.
  • La desventaja es que el contrato pasa a ser la
    interfaz de usuario

62
Active Accesibility UI Automation
  • Active Accessibility es una tecnología antigua,
    pero poco conocida, en la plataforma Windows
    pensada originalmente para crear aplicaciones
    accesibles por personas con dificultades físicas
    o cognitivas
  • UI Automation es la nueva versión de Active
    Accessibility
  • UI Automation incorporara herramientas para
    automatización de flujos interfaz de usuario y
    testing de aplicaciones

63
DEMOUI Automation
  • External Application Control
  • External Event Broker
  • Accesibility

64
Composite UI
  • Se compone una solución a partir de piezas
    funcionales discretas
  • Requiere de un ambiente de ejecución que provea
    servicios y capacidades básicas
  • Al fomentar la reusabilidad reduce tiempo de
    desarrollo

65
Ejemplo de Composite UI Acropolis
  • Acropolis es un toolkit para crear aplicaciones
    Windows componibles
  • Acropolis es un producto de Microsoft Corp
  • Soporte completo de MSFT PSS
  • Ciclo de producto completo con soporte extendido
  • Acropolis es parte de la siguiente ola de
    herramientas enfocada al desarrollo en el cliente
    denominada .NET Client Futures

66
Componentes de Acropolis
  • Part
  • Es el componente básico en las aplicaciones
    Acropolis
  • Contiene y encapsula funcionalidad de interfaz de
    usuario reusable
  • Implementa el patrón MVP
  • Part View
  • Es la porción de interfaz de usuario de una Part
  • También son denominadas skins
  • Form
  • Es una Part que contiene una o mas Parts hijas
    que trabajan juntas para implementar un escenario
    o tarea especifica que el usuario puede realizar.

67
Componentes de Acropolis
  • Service
  • Es una funcionalidad que no provee interfaz de
    usuario, y que brinda alguna capacidad a la
    aplicación como logging, event routing, etc.
  • Shell
  • Es una aplicación host que integra Parts, Forms y
    Services.
  • Runtime
  • Es el framework que maneja el ciclo de vida y la
    intercomunicación en todas las Parts y Services
    en una aplicación "Acropolis
  • Connection Point
  • Es un punto de conexión entre componentes
    Acropolis

68
DEMOComposite UI
  • Acropolis
  • Smart Client Shell

69
UI Automation y Composite UI combinados
  • Los dos conceptos se puede combinar para brindar
    una experiencia mas rica al usuario

70
CCF
  • CCF es un framework modular y flexible para
    acelarar el desarrollo, integración y lanzamiento
    de soluciones de atención al cliente.
  • CCF muestra una vista unificada de la información
    del cliente.
  • CCF se integra perfectamente con las aplicaciones
    de negocio subyacentes sin modificar los sistemas
    existentes (no es un enfoque de romper y
    reemplazar)

CCF provee de sincronización en tiempo real entre
soluciones autoservicio (Portales,
Conferencia/Respuesta Interactiva de Voz IVR) y
centros de contacto proveyendo una visión
completa y una arquitectura unificada para todos
los canales de atención al cliente.
71
CCF Integrated Agent Desktop
Call Management (CTI integration)
Context Management
Active customer sessions with navigation tracking
Application Integration
Desktop Workflow
72
DEMOComposite UI y
  • Smart Client Shell

73
Referencias
  • Lagash Web Site http//www.lagash.com
  • rodolfo_at_blog http//weblogs.shockbyte.com.ar/rodo
    lfof
  • UI Automation and Microsoft Active Accessibility
    http//msdn2.microsoft.com/en-us/library/ms788733.
    aspx
  • Windows API Reference http//msdn2.microsoft.com/
    en-us/library/aa383750.aspx
  • CCF http//www.microsoft.com/serviceproviders/sol
    utions/ccf.mspx

74
Muchas Gracias!
Write a Comment
User Comments (0)
About PowerShow.com