Pipes and Filters Final

  • Upload
    joclo29

  • View
    342

  • Download
    0

Embed Size (px)

Citation preview

Jos Luis Rival Muoz Ing. . (e) en Informtica

CONTENIDO Introduccin Definicin Objetivos Caractersticas

Estructura Ventajas Desventajas Beneficios Problema Solucin Dinmica

Implementacin Integracin con BizTalk server 2009 Conclusin

INTRODUCCIONEn la arquitectura de flujo de datos el sistema se percibe como una sucesin de transformaciones que sufre una serie de datos de entrada a travs del sistema. Los datos ingresan al sistema y fluyen a travs de las componentes una a una hasta que se asignan a un destino final: salida o almacenamiento. Son tpicos casos de arquitecturas que promueven la reusabilidad y la modificabilidad. Existen dos subestilos:

secuencial por lotes tubos y filtros

PIPES AND FILTERSEst compuesto por un grupo de filtros (Filters), los cuales tienen un conjunto de entradas y un conjunto de salidas. Cada componente lee las entradas y las transforma en salidas. La comunicacin entre los filtros se realiza a travs de tuberas (pipes).

OBJETIVOS Enfatiza la transformacin incremental de data en componentes sucesivos. Procesar streams de data dividiendo en pasos lgicamente distintos. Flexibilidad: Cada filtro es una componente independiente. Reemplazar un filtro ineficiente Reemplazar un filtro por otro con comportamiento ligeramente distinto.

Rendimiento: Baja latencia: Data se procesa de manera incremental entre filtros. paralelismo: todo filtro est activo concurrentemente con otros mientras exista data.

Aplicabilidad: se puede identificar un flujo secuencial de data a lo largo de pasos de proceso. cada paso es dependiente temporalmente del paso previo.

CARACTERISTICAS Los tubos no tienen estado interno y simplementecomunican datos entre los filtros.

Tubos y filtros ejecutan en forma no determinada sobre losdatos hasta que stos se acaban.

Restricciones de conexin:- Existe una fuente de datos conectada al puerto input de un filtro; - Existe un destino de datos conectado al puerto output de un filtro. Estilo orientado a la transformacin de datos.

ESTRUCTURAFILTER Los componentes filter son las unidades de procesamiento del pipe.

Un filter:- Enriquece los datos de entrada computando y adicionando informacin.

- Refina los datos concentrando o extrayendo informacin.- Transforma los datos de entrada entregando los datos en alguna otra representacin.

ESTRUCTURA La actividad de un filtro puede ser disparada por: FILTROS PASIVOS: - Los elementos de un pipeline posterior halan los datos de salida del filtro. - Los elementos del pipeline empujan los datos de salida al filtro. FILTROS ACTIVOS: - La forma ms comn es que el filter est activo en un ciclo, halando su entrada y empujando la salida al pipeline.

ESTRUCTURAPIPES

Conectan origen-filtro, filtro-filtro, filtro-destino Transferencia de datos con un buffer First-In-FirstOut Si dos filtros activos se comunican con un tubo, ste los sincroniza

ESTRUCTURAPIPES Los pipes denotan las conexiones entre los filtros, entre la fuente de datos y el primer filtro, y entre el ltimo filtro y el sumidero. Si dos componentes activos estn unidos, el pipe los sincroniza con un buffer FIFO.

ESTRUCTURAORIGEN DE LOS DATOS input del sistema brinda al sistema una serie de datos con la misma estructura o tipo ejemplos: archivo de lneas de texto, sensor pueden tambin ser activos (push) o pasivos. DESTINO DE LOS DATOS a l llegan los resultados del procesamiento del sistema existen destinos activos (pull) y pasivos

ESTRUCTURAFUENTES DE DATOS Las fuentes de datos representan la entrada al sistema, y proporcionan una secuencia de valores de la misma estructura o tipo.

La fuente de datos de un pipeline puede empujar los datos activamente a la primera etapa de procesamiento o proporcionar los datos pasivamente cuando el filtro los hala.

ESTRUCTURASUMIDEROS DE DATOS Los sumideros de datos recolectan los resultados del final del pipeline. - Un sumidero activo hala los resultados de la etapa de procesamiento precedente. - Un sumidero pasivo permite al filtro precedente empujar o escribir los resultados en l.

RESTRICCIONES EN LA CONFIGURACIN

Los pipes conectan puertos de salida con puertos de entrada. Los filtros son independientes. Pipeline: Especializacin que indica que la configuracin es lineal. Acyclic: Especializacin que indica que no debe haber ciclos en la configuracin.ESPECIALIZACIONES DEL ESTILO Pipeline: La topologa es una secuencia lineal de filtros. Pipes con capacidad limitada. Pipes con tipos, los datos pasados ante dos filtros tiene un tipo bien definido. (ej: un stream de char) EJEMPLO: LOS PROGRAMAS ESCRITOS EN SHELL DE UNIX. Componentes: procesos. Conectores (pipes): Ficheros FIFO.

VENTAJAS Permite entender el sistema global en trminos de lacombinacin de componentes.

Soporta de buena manera la reutilizacin.

Facilidad de Mantenimiento y mejora. Facilidad de diagnstico (rendimiento, interbloqueo) Soportan la ejecucin concurrente de filtros.

No son necesarios filtros intermedios, pero sonposibles

Escalables. Insercin de nuevos filtros. Simplicidad

DESVENTAJAS No aconsejado para cuando se necesita interactividad.

Problemas de performance ya que los datos setransmiten en forma completa entre filtros.

Frecuentemente derivan en organizaciones batch.

Fuerzan denominador comn en transmisin: Fuentede ineficiencia y complejidad.

Sobre carga por transformacin de datos.

Manejo de errores.

BENEFICIOS

Flexibilidad de cambio de filtro. Flexibilidad por recombinacin.

Reutilizacin de los componentes del filtro. La eficiencia mediante el procesamiento paralelo. Desarrollo de prototipos.

PROBLEMA El sistema es una secuencia de transformaciones de los datos. La aplicacin debe descomponerse en varias partes.

Las transformaciones son: - bien ordenadas - sin estado interno -Independientes Fuerzas: - Futuros cambios intercambiando algunos filtros. - Pequeas transformaciones son ms fcilmente reutilizadas. - Los datos pueden tener diferentes formatos.

SOLUCINShaw:- Modelo de sistema - Componentes - Conectores - Estructura de control Buschmann: El sistema se divide en varios pasos secuenciales de procesamiento los pasos se conectan con flujos de datos cada filtro consume y procesa sus datos en forma incremental, el origen de los datos, el destino y los filtros se conectan con tubos que implementan el flujo de datos entre pasos de procesamiento. Flujo de datos entre componentes Filtros (transformaciones, procesamiento local, asncrono) Tubos (streams) Flujo de datos.

DINMICAEscenario 1. La fuente de datos empuja los datos. La actividad se inicia con la fuente de datos que enva los datos a la tubera.

DINMICAEscenario 2. El sumidero hala los datos. La actividad se inicia con el receptor de los datos de extraccin de datos de la tubera.

DINMICAEscenario 3. Mezcla de push /pull, en la que el segundo filtro inicia el pipeline. La actividad se inicia y es controlado por Filtro2.

DINMICAEscenario 4. Todos los filtros estn activos en un ciclo y cada uno en su propio hilo de control. Todos los filtros de forma activa tiran y empujan los datos en un bucle. Los filtros se ejecutan en subprocesos independientes. Sincronizacin a travs de tubera de almacenamiento en bfer.

IMPLEMENTACIN Dividir las tareas en una secuencia de pasos de procesamiento. -Los procesos deben ser independientes y ordenados. Definir el formato de los datos transmitidos a travs de cada pipe. -Flexibilidad vs. performance. Decidir implementacin de cada tubo. -Determinar la implementacin de los filtros (activos o pasivos). Disear e implementar los filtros. Disear poltica de errores. Instalar el sistema.

INTEGRACIN DE PIPES AND FILTERS CON BIZTALK SERVER 2009 Es un servidor de gestin de procesos de negocios (BPM). Procesamiento de mensajes manteniendo independencia y flexibilidad.

IMPLEMENTACIN DE PIPES AND FILTERS CON BIZTALK SERVER 2009 BizTalk Server implementa el patrn de Pipes and Filters, en sus pipelines de entrada y salidas.

BizTalk define etapas en el pipeline de entradas y salidas. Estas etapas dan un marco conceptual al tipo de transformacin que el mensaje debera recibir en cada una de ellas.

Las etapas del pipeline de entrada son: Decode: Para decodificar mensajes.

Disassemble: Normaliza los mensajes que llegan en un formato diferente al XML. Validate: Valida un documento. Permite interceptar documentos que llegan por el canal y no son adecuados para ser procesados por el mismo.

Resolver Party: Verifica que el mensaje ha sido enviado por una fuente conocida.

Las etapas del pipeline de salida son: Pre-Assemble: Realiza procesamiento de mensaje antes de ser ensamblado para su envo.

Assemble: Ensambla el documento en una XML u otro formato necesario de salida.

Encode: Para codificar y firmar digitalmente el mensaje de salida.

En conclusin: Decodificar el mensaje es el primer paso que se realiza en el Receive Pipeline. Codificarlo es ltimo paso que se realiza en el Send Pipeline. Todo el resto de los filtros en el pipeline pueden trabajar en mensajes que no estn codificados.

CONCLUSIN

Estilo fuertemente orientado a la transformacin de datos. Se desea que las transformaciones sucesivas estn desacopladas. El modelo arquitectnico resultante es tremendamente algortmico. La relacin con la vista de mdulos es bastante directa.