Enterprise Service Bus

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Enterprise Service Bus"

Transcripción

1 Enterprise Service Bus Ingeniería Informática 5º Curso Sistemas Distribuidos Víctor Cabrera Cañizares

2 ESB (Enterprise Service Bus) También conocido como message broker. ESB es un estándar abierto basado en mensajería síncrona o asíncrona como elemento middleware, que proporciona interoperabilidad segura entre aplicaciones de empresa por medio de XML, interfaces de Servicios Web y reglas de enrutamiento estandarizado de documentos. En la práctica esto significa que los ficheros de datos son transferidos hacía y desde sus destinatarios basados en directrices preestablecidas que son comunes a todos los grupos que comparten la información, para asegurar que los datos se mantienen tal y como son enrutados. El diseño multilenguaje y multiplataforma de un ESB permite a las empresas procesar datos entre aplicaciones de varias fuentes. Dos arquitecturas distribuidas de computación comunes usadas por ESB son J2EE y.net. Es la plataforma que brinda los servicios de enrutamiento y transformación de mensajería para la arquitectura SOA basado en XML. ESB tiene diversas funciones clave: - Transformación: La capacidad de transformar documentos XML, de un formato de datos a otro de modo que el grupo receptor pueda hacer uso de la interfaz con los datos en un formato de aplicación que es diferente del que se envió. - Portabilidad: La capacidad de compartir los datos entre diferentes sistemas y entornos de operación. - Balanceo de carga / agrupamiento (Load balancing/clustering): La capacidad de distribuir procesamiento entre varios dispositivos para que ninguno se sobrecargue. - Failover: La capacidad para transferir funciones de mensajería hacia otro servidor si falla uno de ellos durante el intercambio de datos. 2

3 Implementaciones Open Source ESB MULE Mule es una plataforma de mensajería basado en arquitecturas ESB. El núcleo de Mule está basado en el servicio contenedor SEDA, que gestiona servicio de objetos, conocido como Universal Message Objects (UMOs), que son simples objetos Java. Todas las comunicaciones entre UMOs y otras aplicaciones son realizadas a través de mensajes endpoints. Estos endpoints proporcionan un simple y consistente interfaz para tecnologías tan dispares como JSM, SMTP, JDBC, TCP, HTTP, XMPP, ficheros, etc. Visión general de la arquitectura La meta última de Mule es proporcionar un método unificado de interactividad con datos de fuentes dispares, sin estorbar al desarrollador con detalles sobre cómo los datos son enviados o recibidos o protocolos implicados. El resultado es un servidor ESB, que es altamente escalable, light-weight, rápido y simple. La arquitectura de Mule fue diseñada con el modelo ESB en mente y el primer enfoque es simplificar y acelerar el proceso de desarrollo de redes de servicios distribuidos. Sin embargo, como su nombre sugiere, el modelo ESB usualmente se asocia con proyectos importantes de integración donde hay un conjunto de aplicaciones de empresa dispares. Mule crea arquitecturas de servicios de nivel de empresa, posible para proyectos más pequeños donde recursos, coste de desarrollo y TTM necesitan un mínimo de manenimiento. El objetivo primero es posibilitar la integración entre aplicaciones estándares, protocolos abiertos y diseños bien definidos. Para alcanzar este objetivo Mule define un conjunto de componentes que pueden ser usados para realizar la mayor parte del duro trabajo necesario para conseguir aunar aplicaciones dispares y comunicación de servicios. Este diagrama muestra una topología end-to-end simple de cómo se encajan los componentes Mule. 3

4 El canal puede tener cualquier método de comunicación de datos entre dos puntos. Los canales se emplean en Mule para conectar componentes UMO así como para conectar diferentes Mule Nodes a través de red local o internet. El recibidor de mensajes se usa para leer o recibir datos desde la aplicación. En Mule un recibidor es un elemento de un Transport provider y Mule proporciona muchos transportes, como JMS, SOAP, HTTP, TCP, XMPP, SMTP, file, etc. Mucha de la magia de Mule está en la capacidad para comunicar sistemas dispares sin su lógica de negocio (componentes UMO) nunca necesario para conocer la localización del sistema, el formato de los datos, el mecanismo de reparto o protocolos. Asimismo, cuando el componente UMO ha hecho su trabajo no necesita preocuparse de dónde van después los datos o en qué formato se esperan. El conector entiende cómo enviar y recibir datos sobre un canal particular. Un recibidor de mensajes se une con un conector para registrar datos de interés procedentes de una fuente que entiende el conector. El transformador se usa para transformar mensajes o cuerpos de eventos hacia y desde diferentes tipos. Mule no define un formato de mensaje estándar (aunque Mule puede soportar en el futuro un estándar de tipos de mensajes de definición de procesos de negocio). La transformación proporcionada hacia fuera del transformador es un tipo de transformación como Mensajes JMS-a-Objetos y transformadores XML estándares. La transformación de datos es muy subjetiva a la aplicación y Mule provee un simple y poderoso framework de transformación. El inbound router se puede usar para controlar cómo y qué eventos son recibidos por un componente suscribiéndose en un canal. Los inbound routers se emplean para filtrar, dividir un conjunto y reordenar la secuencia de eventos antes de que los reciba el componente UMO. Un endpoint es en realidad una configuración envoltorio que liga un conector, URI endpoint, transformadores, filtros e información transaccional para proporcionar un adaptador de canal (Channel Adapter). El proveedor también guarda información transaccional para la instancia proveedora. El adaptador actúa como un cliente de mensajería para el sistema de mensajería e invoca funciones de aplicación a través de una interfaz de application-supplied (aplicación suministrada). Asimismo, el adaptador de canal puede escuchar un evento de una aplicación interna e invocar al sistema de mensajería en respuesta a este evento. Los endpoints son fundamentales para la capacidad de comunicación de Mule. Un endpoint define el canal de comunicación entre dos o más componentes, aplicaciones o repositorios. Ellos proporcionan un modo potente de permitir a los objetos hablar sobre cualquier protocolo de un modo único.un endpoint puede ser configurado con filtros de mensaje, interceptores de seguridad e información de transacciones para controlar quién, qué y cómo son enviados o recibidos los mensajes por medio de los endpoints. Una vez 4

5 ha sido procesada la orden por el componente, un mensaje JMS puede enviarse sobre un asunto para notificar que el sistema está escuchando y responde sobre HTTP. Los endpoints son usados para conectar componentes en el servidor y sistemas externos o a otros localmente o sobre la red. El outbound router se usa para publicar mensajes/eventos para diferentes proveedores, dependiendo de diferentes aspectos de eventos u otras reglas definidas en la configuración. Las aplicaciones Mule constan usualmente de muchas instancias Mule a través de la red. Cada instancia es un contenedor light-weight que hospeda uno o más componentes UMO. Cada componente UMO tendrá uno o más endpoints que enviarán y recibirán eventos. El contenedor proporciona un rango de servicios para componentes UMO tal como gestión de transacciones, transformación de eventos, enrutado, correlación de eventos, logging, auditoría y gestión. Que la construcción de objetos Mule esté separado de la gestión implica que los populares contenedores IoC/DI, tal como Spring, PicoContainer o Plexus, pueden usarse para construir componentes UMO. El siguiente diagrama muestra una descomposición simplificada de los componentes de un servidor Mule. 5

6 Estudiaremos cada parte del diagrama para alcanzar una mayor comprensión del funcionamiento de Mule. Mule Manager Mule Manager es la parte central de una instancia servidor Mule (también conocido como Nodo o Nodo Mule). Su primer papel es gestionar los objetos tales como conectores, endpoints y transformadores para una instancia Mule. Estos objetos son empleados para controlar flujos de mensaje hacia y desde los servicios/componentes y proporciona servicios al Mule Model y los componentes que maneja. 6

7 Mule Model Model es el contenedor en el que los componentes son gestionados y ejecutados. También controla el flujo de mensajes hacia y desde los componentes, maneja hilos, ciclo de vida y pooling. El Mule Model por defecto está basado en SEDA, por lo que usa un modelo eficiente de encolamiento basado en eventos para maximizar el rendimiento y el ancho de banda. El Mule Model encapsula y controla el comportamiento de una instancia de servidor Mule en tiempo de ejecución. Es responsable del mantenimiento de las instancias UMO y su configuración. La intefaz org.mule.umo.model.umoentrypointresolver define a la parte llamada EntryPointResolver, que se usa para determinar qué método invocar en un componente UMO cuando se recibe un evento. Hay un ExtendedEntryPointResolver que se usa si no hay otro configurado en el modelo. El ExtendedEntryPointResolver proporciona resolución del punto de entrada para uso común, los pasos que toma son: 1. Controla si el componente implementa el interfaz Callable, entonces el método oncall (evento UMO) se usará para recibir eventos. 2. Si el componente tiene un transformador configurado para esto, el tipo devuelto por el transformador será comprobado con los métodos en el componente para ver si hay un método que acepte el tipo devuelto por el transformador. 3. Si hay un método en el componente que acepte un org.mule.umo.umoevent se usará. Observar que si hay más de una coincidencia se puede lanzar una excepción. 4. La última comprobación determina si hay algún método en el componenete qu acepte java.util.event. Si es así se usa. Igualmente, si hay más de una coincidencia se lanzará una excepción. 5. Si no se encuentra ninguna coincidencia se lanzará una excepción y el registro del componente fallará. Naturalmente hay muchos escenarios donde el ExtendedEntryPointResolver es apropiado. Por ejemplo, se estás migrando desde otro framework puedes querer restringir o cambiar el modo en que un punto de entrada se resuelve. El adaptador del ciclo de vida (Lifecycle adapter) está definido por la interfaz org.mule.umo.umolifecycleadapter, y es responsable de mapear el ciclo de vida de los componentes Mule. The DefaultLifecycleAdapter simplemente delega eventos del ciclo de vida a componentes donde se implementan cero o más interfaces de ciclo de vida UMO. Evidentemente, esto no es apropiado para los componentes existentes que se quieran manejar con Mule, lo más probable es que ellos tengan sus propios métodos de 7

8 ciclo de vida que necesitarán ser invocados en el framework Mule. Por suerte, org.mule.umo.lifecycle.lifecycleadapater es muy sencillo de implementar. Los adaptadores de ciclo de vida son configurados usando una implementación de org.mule.umo.lifecycle.umolifecycleadapterfactory. La factoría está declarada en la configuración del modelo. Una por defecto es DefaultLifecycleAdapterFactory. Proveedor de transporte Un proveedor de transporte (Transport provider) es un plugin Mule que permite que componentes Mule envíen y reciban información sobre un protocolo particular, repositorio de mensajes u otra tecnología. A continuación se describe su arquitectura. El conector proporciona la implementación para conectar con sistemas externos. El conector es responsable de enviar datos al recibidor externo y manejar un listener para recibir datos de un sistema externo. Por ejemplo, un conector HTTP crea una conexión HTTP y envía el payload sobre la conexión y devolverá un evento UMO con el estado devuelto (si se está ejecutando síncronamente). Los recibidores del conector HTTP son objetos que recibirán avisos cuando se reciba algo en el puerto servidor HTTP. Un conector tiene dos objetos responsables de enviar y recibir enventos: Recibidor de mensajes Usado para escuchar en un endpoint en la tecnología subyacente. El recibidor es usualmente bastante simple con toda la configuración realizada en el conector y el recibidor es sólo un hilo escuchando. Repartidor de mensajes Se usa para enviar eventos en la tecnología subyacente. El repartidor de mensajes puede funcionar con un pool de hilos que puede usarse para repartir eventos o realizar una recepción sobre la tecnología subyacente para recuperar un evento, si lo hay. El interfaz UMOMessageDispatcher define tres métodos importantes: 8

9 o o o dispatch() envía datos a un sistema externo asíncronamente send() envía datos a un sistema externo síncronamente y devuelve una respuesta como un evento UMO. recieve() hará peticiones de eventos desde la tecnología subyacente y devolverá el resultado. Este método tiene un parámetro de timeout. Los conectores son responsables de controlar sesiones de la tecnología subyacente, por ejemplo, el JmsConnector proporciona una sesión Jms para el recibidor de mensajes del conector y para el repartidor de mensajes para publicar o enviar eventos sobre JMS. Un endpoint se define por una dirección (endpoint address), y ésta define cualquier forma de destino o fuente de datos y está siempre expresada como una URI. Ejemplos de endpoints podrían ser: transport Description Example normalmente username POP3/SMTP password y un hostname pop3://user:password@mail.mycompany.com JMS Un nombre de un topic o queue jms://topic:mytopic HTTP Un host y posiblemente un puerto, path y query string File VM SOAP El path de un file:///tmp/data/in directorio o fichero El nombre de otro componente UMO vm://myumo ejecutándose en el mismo VM La localización de un componente UMO expuesto como un Axis: servicio o una localización de servicio a invocar Las direcciones endpoint son siempre expresadas como URIs válidas con el protocolo del conector. Los proveedores de transporte Mule tienen constructores endpoint conectables que permiten a los desarrolladores personalizar el modo en que un endpoint es leído por Mule. Aquí se describe el proceso empleado en Mule para resolver una URI endpoint. Para este ejemplo usaremos la siguiente URI jms://topic:mytopic?durable=true. 9

10 1. La ConnectorFactory es invocada con la URI. 2. Buscará en META-INF/services/org/mule/providers un descriptor de servicio que coincida con jms. 3. Para esto se crea un objeto ConnectorServiceDescriptor. 4. Se puede especificar en la URI si bien crear un nuevo conector para la URI o bien usar una conexión existente. Cuando no hay señales de una conexión existente se buscará una basada en el protocolo. 5. El ConnectorServiceDescriptor contiene el constructor de endpoint a usar y el endpoint se pasa al constructor de endpoint. 6. Esto es entonces hasta el constructor de endpoint para descomponer la URI en partes acorde con la especificación URI. Los recibidores de mensajes (Message Receivers) o message listeners son responsables de recibir datos desde sistemas externos. La responsabilidad del conector es controlar el registro y baja de los recibidores. La complejidad del recibidor de mensajes variará dependiendo del sistema externo usado. Por ejemplo, el recibidor de mensajes para el proveedor JMS simplemente implementa el javax.jms.messagelistener y el conector JMS registra el listener con esta conexión JMS. Sin embargo, el recibidor de mensajes HTTP implementa un servidor HTTP que escucha en un puerto específico para peticiones de llegada. Los adaptadores de mensajes (Message Adapters) se requieren para leer de un modo común objetos de datos dispares en el formato que son recibidos desde la aplicación externa. El interfaz UMOMessageAdapter especifica un pequeño conjunto de métodos necesarios para leer el payload y las propiedades del cualquier objeto java. Los adaptadores de mensajes son específicos de un conector; cuando un conector recibe datos, un adaptador de mensaje también es necesario para traducir esos datos de un tipo concreto usado por el conector en un array de bytes o en un string. Las transacciones son controladas por el proveedor; Las transacciones se inician o perpetran cuando un recibidor de mensajes recibe un mensaje o un repatidor de mensajes envía un mensaje. Algo principal de las transacciones Mule es el TransactionCoordinator, que es responsable del mantenimiento del estado de la transacción. Para que Mule trate igual todas las transacciones hay una pequeña API que los proveedores deben definir. 10

11 org.mule.umo.umotransaction Un envoltorio en torno a la transacción subyacente. Algunos sistemas no definen explícitamente un objeto transacción, en cambio, la demarcación de la transacción puede alcanzarse con la llamada a métodos en una conexión o sesión. La API UMOTransaction define un conjunto de métodos que pueden usarse para examinar cualquier recurso transaccional. org.mule.umo.umotransactionfactory Una factoría usada para crear una implementación de UMOTransaction. Vamos a hablar ahora de los contextos de un contenedor (Container contexts). El componente resolver es la puerta para usar un framework contenedor externo, que controlaría la instanciación y configuración de los componentes UMO o sus objetos dependientes. Mule no proporciona su propio contenedor de componentes, ya que hay una riqueza de muy buenos contenedores IoC que están testeados. En cambio, Mule proporciona algún Component Resolver por defecto, como Spring Component Resolver y Pico Component Resolver. Spring se puede integrar en Mule en distintos niveles. Se puede usar Spring como una factoría de componentes, se puede configurar un servidor Mule desde un contexto Spring, se puede configurar un contexto de Spring usando XML Mule, etc. Para usar un componente de un contenedor externo como tu componente UMO simplemente configura el ComponentResolver deseado en el modelo, y cuando se define el descriptor Mule en el fichero de configuración, establece el atributo implementación al componente clave (o clase en el case de contenedor Pico) en el contenedor. Si la configuración no especifica un Component Resolver se usa el MuleComponentResolver. Esta implementación espera un nombre de clase para instanciar, en lugar de una clave del componente con la que resolver el componente. Esto se comporta del mismo modo que una implementación real exceptuando que no soporta búsqueda de componentes en un contenedor. Para implementar un ComponentResolver personalizado se necesita implementar dos interfaces: org.mule.umo.model.umocomponentresover Esta hace la resolución real de componentes en el contenedor. org.mule.umo.model.umocontainercontext Esta es responsable de crear e inicializar el contenedor. El Component Resolver preguntará al framework externo a través de este contexto. Componentes UMO Lo principal de la arquitectura Mule son componentes autónomos simples que pueden interactuar con la existencia vinculada a la fuente, transporte o entrega de datos. Estos componentes se llaman componentes UMO y se pueden organizar para trabajar con otro 11

12 de varias maneras. Estos componentes puedes configurarse para aceptar datos de un número diferente de fuentes y puede enviar datos de vuelta a estas fuentes. La implementación UMO real espececíficada referencia a un objeto. Este objeto puede ser cualquiera, un JavaBean o un componente de otro framework. Éste es tu código cliente que hace algo con los eventos recibidos. Mule no hace sitio para ninguna restricción en tus objetos excepto que si se configura con Mule directamente, debe tener un constructor por defecto (si se configura vía Spring o Pico, Mule no impone convenciones en los objetos que se manejan). Obviamente, con esta clase de flexibilidad, Mule necesita saber un poco más sobre los objetos. Éste es el trabajo de dos capas externas enseñadas para controlar cómo lo eventos son utilizados por tus objetos. El adaptador de ciclo de vida es usado por el Mule Model para disparar métodos de ciclo de vida en tus objetos (si existen). Los ciclos de vida personalizados pueden ser introducidos en la base del modelo permitiendo diferentes modelos para manejar el ciclo de vida de sus componentes de diferentes modos. Mule define un ciclo de vida por defecto para los componentes que maneja. Los componentes puede participar en ningún, alguno o todos estos eventos de ciclos de vida por medio de la implementación de los interfaces de ciclo de vida requeridas. El ciclo de vida es el siguiente: 12

13 Los componentes manejados por Mule no necesitan seguir el ciclo de vida definido por Mule. Usando el DefaultLifecycleAdapter un componente puede implementar cualquier de las interfaces de ciclo de vida. Los transformadores (Transformers) son usados para convertir datos de la fuente a un objeto del tipo requerido por el componente UMO. Los transformadores pueden configurarse en endpoints que reciben datos para asegurar que el tipo de objeto esperado se reciba siempre por un componente UMO. Los transformadores configurados en un outbound endpoint aseguran que un endpoint reciba el tipo de objeto correcto antes de enviar el evento. Los transformadores múltiples pueden ser encadenados para permitir mejores implementaciones de transformadores que son más fáciles de reutilizar. Para configurar un endpoint que se use en más de un transformador, se especifica un espacio separado para una lista de transformadores en el fichero de configuración o encadenar los transformadores usando el método settransformer() en el transformador. Por ejemplo, un transformador inbound puede parecerse a esto: Y un transformador outbound puede parecerse a esto: 13

14 Todo transformador Mule debe implementar org.mule.transformer.umotransformer. Hay una implementación de transformador abstracta que define métodos para el control de tipos de objetos, este transformador soporta y valida el tipo de retorno esperado, dejando al desarrollador para implementar un simple método transform(). También está el EntryPointResolver, que se usa por el Mule Model cuando el componente UMO es registrado, para encontrar el método a llamar en el objeto cuando se recibe un evento para ello. Si un método no se encuentra se lanzará una excepción. Eventos Mule es una arquitectura basada en eventos, esto es, acciones sin una red Mule son disparadas por otros eventos ocurridos en Mule o en sistemas externos. Los eventos siempre contienen cosas como datos, el payload, que será usado y/o manipulado por uno o más componentes y un conjunto de propiedades que están asociados al procesado del evento. Estas propiedades son arbitrarias y puede establecerse en cualquier momento en que se cree el evento. Los datos del evento pueden ser accedidos en su estado original o en su estado transformado. El evento usará el transformador asociado con el Endpoint que recibe el evento, y transforma su payload en un formato que el componente recibidor comprende. En el procesamiento de eventos Mule puede enviar y recibir eventos usando tres modelos: 1. Asíncronamente Muchos eventos puede procesarse por el mismo componente a la vez en hilos diferentes. Cuando el servidor Mule está ejecutando asíncronamente instancias de un componente en diferentes hilos, todos aceptan eventos de entrada, aunque el evento sólo será procesado por una instancia del componente. 2. Síncronamente Cuando un componente UMO recibe un evento en este modo toda la petición es ejecutada en un simple hilo. 3. Petición-Respuesta Éste permite a un componente UMO hacer una petición específica de un evento y esperar un tiempo determinado para conseguir la respuesta. Se puede controlar el sincronismo del procesamiento de eventos fijando la propiedad síncrono en el endpoint (o de forma programática en el evento). El sincronismo de la llamada puede ser propagado a lo largo de la red donde aquellos transportes que estén siendo usados soporten un canal de respuesta. Por ejemplo, una petición síncrona JMS 14

15 establecerá una cola de respuestas temporal cuando se haga una petición y esperará una respuesta en esa cola. Lo mismo puede aplicarse a transporte basado en sockets. El flujo real del evento es gobernado por la propiedad síncrona, si el endpoint está dentro de los límites o fuera de ellos y si hay una transacción en progreso. Se aplican las siguientes reglas. El procesado de enventos asíncronos ocurre cuando el flag endpoint inbound está a false. Asynchronous inbound and outbound En este esceranio el mensaje se envía a una cola y se consume por el hilo worker en un pool que en realidad ejecuta el trabajo del componente UMO. El endpoint outbound es también asíncrono. El outbound enpoint también es asíncrono y el mensaje resultante será despachado por un hilo despachador. Asynchronous inbound, synchronous outbound En este escenario el mensaje se envía a una cola y se consume por el hilo worker en un pool que realiza la ejecución real del componente UMO. El endpoint outbound es síncrono, por lo que el envío sucede en el mismo hilo que el de la ejecución del componente. Este escenario lo usa la transacción outbound de tal suerte que todos los repartidores del componente ocurren en el mismo hilo. Este comportamiento es manejado automáticamente por Mule. 15

16 Synchronous inbound only Un evento se recibe y procesa por el componente UMO en el mismo hilo y cualquier resultado devuelto por el componente UMO lo cogerá el recibidor donde, si hay un canal de respuesta, un resultado será enviado. Synchronous inbound and outbound Un evento se recibe y procesa en el mismo hilo. El outbound dispatch también se ejecuta en el mismo hilo del recibidor. Aquí si el transporte del outbound endpoint se usa para soportar un canal de respuesta con sockets o JMS, una respuesta será interceptada desde el dispatch (o saltará un timeout) y aquella respuesta será pasada de nuevo al recibidor cuando si hay un canal de respuesta, por ejemplo, Socket outputstream se enviará un resultado. Synchronous inbound and outbound with transaction Las transacciones sólo pueden ser (actualmente) manejadas sobre endpoints síncronos. Así si un endpoint ha sido configurado por transacciones éste será automáticamente síncrono. Cuando se está dispatching y una transacción está en progreso el dispatch también correrá en el mismo hilo. 16

17 Enrutadores de mensajes Los enrutadores de mensajes son usados para controlar cómo los eventos son enviados y recibidos por componentes en el sistema. Mule define Inbound routers que se aplican a los eventos cuando son recibidos y que son invocados cuando un evento está siendo enviado. Los inbound routers pueden usarse para controlar y manipular eventos recibidos por un componente. Típicamente, un inbound router puede usarse para filtrar enventos de llegada o un conjunto de eventos de llegada. Se puede encadenar inbound routers, en este escenario cada router se liga antes de que el evento sea enviado al componente Mule. Se puede especificar una estrategia match-all que será invocada si algún router no acepta el evento actual. Un inbound router puede configurarse en un elemento descriptor de Mule en el fichero config.xml. <inbound-router> <catch-all-strategy classname="org.mule.tck.testmodels.mule.testcatchallstrategy"/> <router classname="org.mule.routing.inbound.selectiveconsumer"> <filter expectedtype="java.lang.string" classname="org.mule.routing.filters.payloadtypefilter"/> </router> <router classname="org.mule.routing.inbound.aggregator"> </router> </inbound-router> Si no hay requerimientos de procesamiento especiales para los mensajes recibidos por un componente, no hay necesidad de configurar un inbound router. Los outbound routers se usan para controlar que proveedores se usan para enviar eventos una vez que ha finalizado el procesamiento de un componente UMO. Los routers de mensajes son configurados en el componente UMO y permite al desarrollador definir restricciones para enrutamiento múltiple para un evento determinado. Se puede especificar una estrategia catch-all que será invocada si ninguno de los routers acepta el evento actual. Un ejemplo de un outbound message router es el siguiente. <outbound-router> <catch-all-strategy classname="org.mulerouting.forwardingcatchallstrategy" provider="catchall"/> <router providers="testapple-out" classname="org.mule.routing.outbound.filteringoutboundrouter"> <filter expectedtype="java.lang.string" classname="org.mule.routing.filters.payloadtypefilter"/> </router> <router providers="watermelonprovider" classname="org.mule.routing.outbound.filteringoutboundrouter"> <filter classname="org.mule.routing.filters.logic.andfilter"> <left-filter pattern="the quick brown (.*)" classname="org.mule.routing.filters.regexfilter"/> <right-filter pattern="(.*) brown (.*)" 17

18 classname="org.mule.routing.filters.regexfilter"/> </filter> </router> </outbound-router> La estrategia catch-all recibe el evento si ningún router lo acepta. La estrategia debe implementarse en org.mule.umo.rounting.umoroutingcatchallstrategy que defina un método: public void catchmessage(umomessagemessage, UMOSessionsession, boolean synchronous) throws RoutingException; Notar que este método void, que no devuelve evento puede pasarse de nuevo al código de llamada. Esto es importante cuando se está ejecutando síncronamente así como cuando la cadena de eventos síncrona se rompe. Esto se considera una condición de error cuando un estrategia catch-all es invocada. Interceptores Los interceptores Mule son útiles para adjuntar comportamiento común a múltiples UMOs. El interceptor o el modelo de órdenes son frecuentemente eliminados como un práctico AOP (Aspect Oriented Programming), como esto permite al desarrollador interceptar el procesamiento en un objeto y potencialmente cambiar el procesamiento y el resultado. Los interceptores son muy útiles para adjutar perfiles, permiso, inspecciones de seguridad, etc, a un componente en Mule. Mule tiene dos tipos de interceptores: 1. org.mule.interceptors.envelopedinterceptor Sobre filtros que se ejecutarán antes y después de que el evento sea procesado. Bueno para logging y profiling. 2. org.mule.umo.umointerceptor Simplemente se invoca y entonces reenvía el procesamiento al próximo elemento. Un interceptor puede detener el procesamiento si no reenvía el control al siguiente interceptor, por ejemplo los comprobadores de permisos del interceptor. A continuaciónse muestra una pila de interceptor típica y el flujo del evento. 18

19 Aplicaciones externas Las aplicaciones externas pueden ser cualquiera, desde aplicaciones de servidores hasta sistemas de nómina heredados, hasta grandes aplicaciones de comercio o una aplicación cliente. Básicamente, cualquier aplicación que tiene un modo de servicio o consumo de datos. Un Mule realiza toda la comunicación vía endpoints, los componentes UMO no tienen la noción de qué aplicación produce los datos, dónde está localizada ni el protocolo de transporte usado. Integración JBI Hay dos componentes JBI para usar endpoints Mule: Mule Receiver: Recibirá datos sobre cualquier transporte Mule y entregarlos como mensaje JBI. Property Type Description Required endpoint java.lang.string A Mule Endpoint URI on which to receive events Yes endpointproperties java.util.map Any properties to set on the endpoint. These are any properties supportedby the transport provider being used. No 19

20 This allows you to specify a Mule endpoint object instead of an EndpointURI muleendpoint org.mule.impl.endpoint.muleendpoint string. This gives you greater flexibility to specify filters, transactions and No transformerson the endpoint. targetservice javax.xml.namespace.qname The target service to be invokedafter this component Yes A string representationof the 'targetservice'qnamein the form of [prefix]: targetservicename java.lang.string [localname]:[namespace]. This can be set insteadof the targetservice No property. The manager that will managethreads for this component. You can configure workmanager javax.resource.spi.work.workmanager all resource managementconfiguration for Mule using the No MuleConfigComponent(see below) Mule Dispatcher: Enviará mensajes JBI normalizados sobre cualquier transporte Mule. Property Type Description Required endpoint java.lang.string A Mule Endpoint URI on which to receive events Yes endpointproperties java.util.map Any properties to set on the endpoint. These are any properties supportedby the transport provider being used. No This allows you to specify a Mule endpoint object insteadof an muleendpoint org.mule.impl.endpoint.muleendpoint EndpointURIstring. This gives you greater flexibility to specify No filters, transactions and transformerson the endpoint. targetservice javax.xml.namespace.qname The target service to be invokedafter this component Yes A string representationof the 'targetservice'qnamein the form of targetservicename java.lang.string [prefix]:[localname]:[namespace]. This can be set insteadof the No targetservice property. The managerthat will managethreads for this component. You can workmanager javax.resource.spi.work.workmanager configure all resource managementconfiguration for Mule using the No MuleConfigComponent(see below) Ambos endpoints son un endpoints Mule y es independiente del contenedor JBI usado. Ejemplo Mule JBI <?xml version="1.0" encoding="utf-8"?> <!DOCTYPEjbi-container PUBLIC "-//SymphonySoft //DTD mule-jbi-configuration XML V1.0//EN" " <jbi-container id="mule" xmlns:foo=" <!-- Mule Reciever that looks for files in the inbox directory --> <mule-component name="foo:filereceiver" classname="org.mule.providers.jbi.components.mulereceiver"> 20

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO Introducción:...1 Service Oriented Architecture...2 Elementos de una Service Oriented Architecture...2 Application frontends...2 Servicios...2 Contrato:...3

Más detalles

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio). 1 GLOSARIO A continuación se definen, en orden alfabético, los conceptos básicos que se han abordado a lo largo del desarrollo de la metodología para la gestión de requisitos bajo la Arquitectura Orientada

Más detalles

JAVA EE 5. Arquitectura, conceptos y ejemplos.

JAVA EE 5. Arquitectura, conceptos y ejemplos. JAVA EE 5. Arquitectura, conceptos y ejemplos. INTRODUCCIÓN. MODELO DE LA APLICACIÓN JEE5. El modelo de aplicación Java EE define una arquitectura para implementar servicios como lo hacen las aplicaciones

Más detalles

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la Servicios web Introducción Un servicio web es un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes

Más detalles

Service Oriented Architecture: Con Biztalk?

Service Oriented Architecture: Con Biztalk? Service Oriented Architecture: Con Biztalk? Pablo Abbate Servicios Profesionales Danysoft SOA supone una nueva forma de pensar acerca de la arquitectura IT para las empresas. De hecho, es una asociación

Más detalles

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo. GLOSARIO Actor: Un actor es un usuario del sistema. Esto incluye usuarios humanos y otros sistemas computacionales. Un actor usa un Caso de Uso para ejecutar una porción de trabajo de valor para el negocio.

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

Más detalles

Arquitectura de sistema de alta disponibilidad

Arquitectura de sistema de alta disponibilidad Mysql Introducción MySQL Cluster esta diseñado para tener una arquitectura distribuida de nodos sin punto único de fallo. MySQL Cluster consiste en 3 tipos de nodos: 1. Nodos de almacenamiento, son los

Más detalles

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com Introducción a los Servicios Web Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com Servicios Web y Soa En un contexto SOA y los servicios web son una oportunidad de negocios en la actualidad.

Más detalles

SISTEMAS DE INFORMACIÓN III TEORÍA

SISTEMAS DE INFORMACIÓN III TEORÍA CONTENIDO: Introducción a los Web services Las bases de los Web services La nueva generación de la Web Interactuando con los Web services La tecnología de Web services XML: Lo fundamental WSDL: Describiendo

Más detalles

Documentación Técnica Conector

Documentación Técnica Conector Documentación Técnica Conector Torre Ejecutiva Sur Liniers 1324, piso 4 Montevideo Uruguay Tel/Fax: (+598) 2901.2929* Email: contacto@agesic.gub.uy www.agesic.gub.uy Indice 1 Introducción...4 2 Casos

Más detalles

4. Programación Paralela

4. Programación Paralela 4. Programación Paralela La necesidad que surge para resolver problemas que requieren tiempo elevado de cómputo origina lo que hoy se conoce como computación paralela. Mediante el uso concurrente de varios

Más detalles

Capítulo 5. Cliente-Servidor.

Capítulo 5. Cliente-Servidor. Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor

Más detalles

Introducción a SOA (II) Huibert Aalbers Senior Certified Software IT Architect

Introducción a SOA (II) Huibert Aalbers Senior Certified Software IT Architect Introducción a SOA (II) Huibert Aalbers Senior Certified Software IT Architect IT Insight podcast Este podcast pertenece a la serie IT Insight Pueden suscribirse al podcast a través de itunes. El material

Más detalles

UNIVERSIDAD DE SALAMANCA

UNIVERSIDAD DE SALAMANCA UNIVERSIDAD DE SALAMANCA FACULTAD DE CIENCIAS INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS Resumen del trabajo práctico realizado para la superación de la asignatura Proyecto Fin de Carrera. TÍTULO SISTEMA

Más detalles

INTRODUCCION. Tema: Protocolo de la Capa de aplicación. FTP HTTP. Autor: Julio Cesar Morejon Rios

INTRODUCCION. Tema: Protocolo de la Capa de aplicación. FTP HTTP. Autor: Julio Cesar Morejon Rios INTRODUCCION Tema: Protocolo de la Capa de aplicación. FTP HTTP Autor: Julio Cesar Morejon Rios Qué es FTP? FTP (File Transfer Protocol) es un protocolo de transferencia de archivos entre sistemas conectados

Más detalles

SISTEMAS DE INFORMACIÓN II TEORÍA

SISTEMAS DE INFORMACIÓN II TEORÍA CONTENIDO: EL PROCESO DE DISEÑO DE SISTEMAS DISTRIBUIDOS MANEJANDO LOS DATOS EN LOS SISTEMAS DISTRIBUIDOS DISEÑANDO SISTEMAS PARA REDES DE ÁREA LOCAL DISEÑANDO SISTEMAS PARA ARQUITECTURAS CLIENTE/SERVIDOR

Más detalles

Ingeniería de Software. Pruebas

Ingeniería de Software. Pruebas Ingeniería de Software Pruebas Niveles de prueba Pruebas unitarias Niveles Pruebas de integración Pruebas de sistema Pruebas de aceptación Alpha Beta Niveles de pruebas Pruebas unitarias Se enfocan en

Más detalles

TELECOMUNICACIONES Y REDES

TELECOMUNICACIONES Y REDES TELECOMUNICACIONES Y REDES Redes Computacionales I Prof. Cristian Ahumada V. Unidad V: Capa de Red OSI 1. Introducción. 2. Protocolos de cada Red 3. Protocolo IPv4 4. División de Redes 5. Enrutamiento

Más detalles

5.1 Introducción a Servicios Web

5.1 Introducción a Servicios Web 5.1 Introducción a Servicios Web Introducción Continuando con el ejemplo de intercambio de información de películas... => Actualmente ya no es necesario implementar la solución sugerida a mano Se han estandarizado

Más detalles

ARQUITECTURAS DE PROCESOS DE NEGOCIOS INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

ARQUITECTURAS DE PROCESOS DE NEGOCIOS INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN ARQUITECTURAS DE PROCESOS DE NEGOCIOS INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN ARQUITECTURA SOA Services Oriented Arquitecture SOA como arquitectura para BPM Las organizaciones deben

Más detalles

Web Services en Java. Taller de Programación. Instituto de Computación Facultad de Ingeniería Universidad de la República

Web Services en Java. Taller de Programación. Instituto de Computación Facultad de Ingeniería Universidad de la República Web Services en Java Taller de Programación Instituto de Computación Facultad de Ingeniería Universidad de la República Contenido Motivación y Conceptos Funcionamiento Annotations Desarrollando una aplicación

Más detalles

Novedades en Q-flow 3.02

Novedades en Q-flow 3.02 Novedades en Q-flow 3.02 Introducción Uno de los objetivos principales de Q-flow 3.02 es adecuarse a las necesidades de grandes organizaciones. Por eso Q-flow 3.02 tiene una versión Enterprise que incluye

Más detalles

Workflows? Sí, cuántos quiere?

Workflows? Sí, cuántos quiere? Workflows? Sí, cuántos quiere? 12.11.2006 Servicios Profesionales Danysoft Son notables los beneficios que una organización puede obtener gracias al soporte de procesos de negocios que requieran la intervención

Más detalles

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable 1. Introducción. El Sistema de Administración de Información de un Negocio Franquiciable (SAINF)

Más detalles

Arquitectura de Aplicaciones

Arquitectura de Aplicaciones 1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento

Más detalles

Tema 6: Comparativa CORBA/Servicios Web

Tema 6: Comparativa CORBA/Servicios Web Tema 6: Comparativa CORBA/Servicios Web Introducción Para establecer una comparativa, es preciso tener en cuenta CORBA se introdujo en 1991 y Servicios Web en el 2000 CORBA es una solución más madura y

Más detalles

PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto

PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto Introducción: Sobre casi cualquier tema del quehacer humano que se aborde, existen

Más detalles

Windows Server 2012: Identidad y Acceso. Módulo 2: Descripción General de Windows Server 2012 Remote Desktop Services.

Windows Server 2012: Identidad y Acceso. Módulo 2: Descripción General de Windows Server 2012 Remote Desktop Services. Windows Server 2012: Identidad y Acceso Módulo 2: Descripción General de Windows Server 2012 Remote Desktop Services. Manual del Módulo Autor: Andrew J Warren, Content Master Publicado: Septiembre 10 de

Más detalles

Windows Server 2012: Infraestructura de Escritorio Virtual

Windows Server 2012: Infraestructura de Escritorio Virtual Windows Server 2012: Infraestructura de Escritorio Virtual Módulo 1: Application Virtualization Módulo del Manual Autores: James Hamilton-Adams, Content Master Publicado: 5 de Octubre 2012 La información

Más detalles

Ingeniería de Software en SOA

Ingeniería de Software en SOA Ingeniería de Software en SOA ECSDI LSI-FIB-UPC cbea Curso 2014/2015 ECSDI (LSI-FIB-UPC cbea) Ingeniería de Software en SOA Curso 2014/2015 1 / 51 Índice 1 Directrices para la IS en SOA 2 Modelo de referencia

Más detalles

Componentes de Integración entre Plataformas Información Detallada

Componentes de Integración entre Plataformas Información Detallada Componentes de Integración entre Plataformas Información Detallada Active Directory Integration Integración con el Directorio Activo Active Directory es el servicio de directorio para Windows 2000 Server.

Más detalles

Modelo de Objetos Distribuidos

Modelo de Objetos Distribuidos Remote Method Invocation Modelo de Objetos Distribuidos Un objeto remoto es un objeto cuyos métodos pueden ser invocados desde otra máquina virtual de java, potencialmente en un host diferente. Modelo

Más detalles

Windows Server 2003. Windows Server 2003

Windows Server 2003. Windows Server 2003 Windows Server 2003 Windows Server 2003 Es un sistema operativo de la familia Windows de la marca Microsoft para servidores que salió al mercado en el año 2003. Está basada en tecnología NT y su versión

Más detalles

Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1. Gerardo Lecaros Felipe Díaz

Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1. Gerardo Lecaros Felipe Díaz Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1 Gerardo Lecaros Felipe Díaz Problemática Petición de salas de forma tradicional Solución J2EE Java 2 Platform, Enterprise Edition

Más detalles

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS 4 ARQUITECTURA DE DISTRIBUCIÓN DE DATOS Contenido: Arquitectura de Distribución de Datos 4.1. Transparencia 4.1.1 Transparencia de Localización 4.1.2 Transparencia de Fragmentación 4.1.3 Transparencia

Más detalles

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos 2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven

Más detalles

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA Autor: Carlos Javier Martín González. Licenciado en Física Teórica por la Universidad Autónoma de Madrid. Analista programador y funcional. Desarrollador

Más detalles

1. Definición. Open Source. Escalable. Alto desempeño. Arquitectura Modular. Producto de licencia de código abierto sin coste adicional.

1. Definición. Open Source. Escalable. Alto desempeño. Arquitectura Modular. Producto de licencia de código abierto sin coste adicional. 1. Definición JBoss es un proyecto de código abierto, con el que se consigue un servidor de aplicaciones basado en J2EE, e implementado al 100% en Java. Por lo tanto al estar basado en Java, JBoss puede

Más detalles

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,

Más detalles

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas...

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas... .NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS Definiciones...2 C# y Java.....3 Similitudes...4 Ventajas...4 Definiciones Sobre J2EE J2EE (Java 2 Platform Enterprise Edition)

Más detalles

Status Enterprise Guía de Usuario. Parte 7 Servidor Status

Status Enterprise Guía de Usuario. Parte 7 Servidor Status Guía de Usuario Parte 7 Contenidos 1 RESUMEN 1.1 Acerca de OPC UA... 3 1.2 Uso de Status... 3 1.3 Status como Plataforma... 4 1.4 Puertos de Comunicación... 4 2 SUBSISTEMAS... 5 2.1 Modelo de Datos...

Más detalles

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA E. SÁEZ, M. ORTIZ, F. QUILES, C. MORENO, L. GÓMEZ Área de Arquitectura y Tecnología de Computadores. Departamento de Arquitectura

Más detalles

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET 1 EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET La familia de protocolos TCP/IP fue diseñada para permitir la interconexión entre distintas redes. El mejor ejemplo es Internet: se trata

Más detalles

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas: SISTEMAS DISTRIBUIDOS DE REDES 1. SISTEMAS DISTRIBUIDOS Introducción y generalidades La computación desde sus inicios ha sufrido muchos cambios, desde los grandes equipos que permitían realizar tareas

Más detalles

El Modelo de Referencia OSI

El Modelo de Referencia OSI El Modelo de Referencia OSI Tabla de Contenidos 2. El Modelo de Referencia OSI... 2 2.1 Nivel físico...4 2.2 Nivel de enlace... 4 2.3 Nivel de red... 5 2.4 Nivel de transporte...5 2.5 Nivel de sesión...

Más detalles

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN Tabla de Contenidos LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN... 1 Tabla de Contenidos... 1 General... 2 Uso de los Lineamientos Estándares...

Más detalles

Patrones de Alto nivel: Patrones de Arquitectura Patrones de nivel medio: Patrones de Diseño Patrones de bajo nivel: Idioms

Patrones de Alto nivel: Patrones de Arquitectura Patrones de nivel medio: Patrones de Diseño Patrones de bajo nivel: Idioms Patrones Patrones Es una solución reusable de problemas comunes. Los patrones solucionan problemas que existen en muchos niveles de abstracción. desde el análisis hasta el diseño y desde la arquitectura

Más detalles

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN Los protocolos de capa de aplicación de TCP/IP más conocidos son aquellos que proporcionan intercambio de la información

Más detalles

Sistema de Mensajería Empresarial para generación Masiva de DTE

Sistema de Mensajería Empresarial para generación Masiva de DTE Sistema de Mensajería Empresarial para generación Masiva de DTE TIPO DE DOCUMENTO: OFERTA TÉCNICA Y COMERCIAL VERSIÓN 1.0, 7 de Mayo de 2008 CONTENIDO 1 INTRODUCCIÓN 4 2 DESCRIPCIÓN DE ARQUITECTURA DE

Más detalles

Plataforma de expediente Electrónico @DOC

Plataforma de expediente Electrónico @DOC MINISTERIO DE LA PRESIDENCIA SUBSECRETARÍA SUBDIRECCIÓN GENERAL DE TECNOLOGÍAS Y SERVICIOS DE LA INFORMACIÓN Plataforma de expediente Electrónico @DOC Arquitectura de Sistemas Control de versiones Versión

Más detalles

Acronis License Server. Guía del usuario

Acronis License Server. Guía del usuario Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE

Más detalles

MICQ. Trabajo Práctico Final Seminario de Ingeniería en Informática I 75.35. Facultad de Ingeniería, UBA. Junio 2002. Cátedra: Pablo Cosso

MICQ. Trabajo Práctico Final Seminario de Ingeniería en Informática I 75.35. Facultad de Ingeniería, UBA. Junio 2002. Cátedra: Pablo Cosso MICQ Facultad de Ingeniería, UBA. Junio 2002 Trabajo Práctico Final Seminario de Ingeniería en Informática I 75.35 Cátedra: Pablo Cosso Alumno: Diego Fernando Montaldo 75.300 1 de 1 Introducción Este documento

Más detalles

La aplicación práctica en el mundo empresarial de los estándares Web

La aplicación práctica en el mundo empresarial de los estándares Web La aplicación práctica en el mundo empresarial de los estándares Web El problema de la integración inter/intra empresas y la familia "XML" Enrique Bertrand XML Business Integration, Regional Director Software

Más detalles

Presentación de BlackBerry Collaboration Service

Presentación de BlackBerry Collaboration Service Presentación de Collaboration Service Presentación de Collaboration Service Remitente Servidor de mensajería instantánea Collaboration Service Dispositivo con 10 Destinatario 1 de 13 Presentación de Collaboration

Más detalles

Práctica GESTIÓN Y UTILIZACIÓN DE REDES LOCALES. Curso 2001/2002. TCP/IP: protocolo TCP

Práctica GESTIÓN Y UTILIZACIÓN DE REDES LOCALES. Curso 2001/2002. TCP/IP: protocolo TCP Práctica 9 GESTIÓN Y UTILIZACIÓN DE REDES LOCALES Curso 2001/2002 TCP/IP: protocolo TCP Introducción Como se ha comentado en la práctica anterior, el protocolo UDP es muy sencillo de implementar, pero

Más detalles

Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets

Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets 1 de 12 Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets 3 Bienvenida. 4 Objetivos. 5 Interacciones de Negocios

Más detalles

SIEWEB. La intranet corporativa de SIE

SIEWEB. La intranet corporativa de SIE La intranet corporativa de SIE por ALBA Software Acceso a los servicios SIE desde páginas Web para los usuarios de sistema *. Administración del Sistema (cuentas de usuarios, permisos, servicios, etc...)

Más detalles

ARQUITECTURA ORIENTADA A SERVICIOS (SOA) EN LA JUNTA DE ANDALUCÍA

ARQUITECTURA ORIENTADA A SERVICIOS (SOA) EN LA JUNTA DE ANDALUCÍA ARQUITECTURA ORIENTADA A SERVICIOS (SOA) EN LA JUNTA DE ANDALUCÍA Dirección General de Administración Electrónica y Calidad de los Servicios Consejería de Justicia y Administración Pública Junta de Andalucía

Más detalles

Familia de Windows Server 2003

Familia de Windows Server 2003 Familia de Windows Server 2003 Windows Server 2003 está disponible en cuatro ediciones. Cada edición se ha desarrollado para una función de servidor específica, como se describe en la tabla siguiente:

Más detalles

SAP BusinessObjects Edge BI Standard Package La solución de BI preferida para. Empresas en Crecimiento

SAP BusinessObjects Edge BI Standard Package La solución de BI preferida para. Empresas en Crecimiento SAP BusinessObjects Edge BI Standard Package La solución de BI preferida para Empresas en Crecimiento Portfolio SAP BusinessObjects Soluciones SAP para Empresas en Crecimiento Resumen Ejecutivo Inteligencia

Más detalles

Seminario Electrónico de Soluciones Tecnológicas sobre Content Networking

Seminario Electrónico de Soluciones Tecnológicas sobre Content Networking Seminario Electrónico de Soluciones Tecnológicas sobre Content Networking 1 de 13 Seminario Electrónico de Soluciones Tecnológicas sobre Content Networking 3 Bienvenida. 4 Objetivos. 5 Soluciones comerciales

Más detalles

Introducción a las Redes de Computadoras. Obligatorio 2 2011

Introducción a las Redes de Computadoras. Obligatorio 2 2011 Introducción a las Redes de Computadoras Obligatorio 2 2011 Facultad de Ingeniería Instituto de Computación Departamento de Arquitectura de Sistemas Nota previa - IMPORTANTE Se debe cumplir íntegramente

Más detalles

Curso de Java POO: Programación orientada a objetos

Curso de Java POO: Programación orientada a objetos Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos

Más detalles

Mª Luisa Gutiérrez Acebrón División de Informática y Tecnologías de la Información Ministerio de Justicia

Mª Luisa Gutiérrez Acebrón División de Informática y Tecnologías de la Información Ministerio de Justicia Implantación de una arquitectura orientada a servicios. Un caso de uso Mª Luisa Gutiérrez Acebrón División de Informática y Tecnologías de la Información Ministerio de Justicia Introducción Los compromisos

Más detalles

Introducción a la Firma Electrónica en MIDAS

Introducción a la Firma Electrónica en MIDAS Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento

Más detalles

WebSphere Message Broker como Entreprise Service Bus

WebSphere Message Broker como Entreprise Service Bus IBM Software Group WebSphere Message Broker como Entreprise Service Bus Irene Couso, IT Specialist, SWG WebSphere Services Agenda WebSphere Problemática En Los Clientes Por Qué Esta Arquitectura? Oferta

Más detalles

Curso de Spring Framework

Curso de Spring Framework Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1 Spring es un proyecto de código abierto (open source), originalmente creado por Rod Johnson y descrito en su

Más detalles

Aspectos Básicos de Networking

Aspectos Básicos de Networking Aspectos Básicos de Networking ASPECTOS BÁSICOS DE NETWORKING 1 Sesión No. 4 Nombre: Capa de transporte del modelo OSI Objetivo: Al término de la sesión el participante aplicará las principales características

Más detalles

Enterprise JavaBeans

Enterprise JavaBeans Enterprise Java Beans y JBoss Enterprise JavaBeans Es una de las API que forman parte del estándar de construcción de aplicaciones empresariales J2EE (ahora JEE 5.0) de Oracle Corporation (inicialmente

Más detalles

En los últimos años, se ha presentado una enorme demanda por servicios portátiles,

En los últimos años, se ha presentado una enorme demanda por servicios portátiles, Capítulo 1 Introducción En los últimos años, se ha presentado una enorme demanda por servicios portátiles, a los que se les ha llamado tecnologías móviles, este repentino crecimiento de tecnologías ha

Más detalles

Capítulo 1 Documentos HTML5

Capítulo 1 Documentos HTML5 Capítulo 1 Documentos HTML5 1.1 Componentes básicos HTML5 provee básicamente tres características: estructura, estilo y funcionalidad. Nunca fue declarado oficialmente pero, incluso cuando algunas APIs

Más detalles

Sustitución de certificados administrativos en soporte papel por medios telemáticos

Sustitución de certificados administrativos en soporte papel por medios telemáticos Sustitución de certificados administrativos en soporte papel por medios telemáticos I Congreso Español de Informática Jornadas Científico-Técnicas en Servicios Web Granada, Septiembre 2005 Francisco Lova

Más detalles

Módulos: Módulo 1. El núcleo de Linux - 5 Horas

Módulos: Módulo 1. El núcleo de Linux - 5 Horas Módulos: Módulo 1 El núcleo de Linux - 5 Horas En este módulo se centrará en el estudio en profundidad del núcleo de Linux. Los estudiantes tendrán que ser capaces de conocer en profundidad los distintos

Más detalles

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema Capítulo2 Planteamientodelproblema 38 2.1Antecedentesycontextodelproyecto En lo que respecta a los antecedentes del proyecto, se describe inicialmente el contexto donde se utiliza el producto de software.

Más detalles

INSTITUTO TECNOLÓGICO DE COLIMA LIC. EN INFORMÁTICA

INSTITUTO TECNOLÓGICO DE COLIMA LIC. EN INFORMÁTICA INSTITUTO TECNOLÓGICO DE COLIMA LIC. EN INFORMÁTICA TERMINAL SERVER TUTOR: JORGE CASTELLANOS MORFIN 19/02/2012 VILLA DE ALVARES, COLIMA Indice Introducción... 3 Objetivo... 3 Lista de Materiales... 3 Procedimiento...

Más detalles

Workflow, BPM y Java Resumen de la presentación de Tom Baeyens

Workflow, BPM y Java Resumen de la presentación de Tom Baeyens Workflow, BPM y Java Resumen de la presentación de Tom Baeyens Workflow, BPM y Java Página 1 de 11 1. Introducción Tom Baeyens es el fundador y arquitecto del proyecto de JBoss jbpm, la máquina de workflow

Más detalles

Estilos de Arquitectura y. Patrones de Diseño Arquitectónico. Patrones de Arquitectura

Estilos de Arquitectura y. Patrones de Diseño Arquitectónico. Patrones de Arquitectura Estilos de Arquitectura y Patrones de Diseño Arquitectónico Gastón Mousqués - AR 1 Patrones de Arquitectura Gastón Mousqués - AR 2 Principales Categorías de Patrones (Software) Patrones de Análisis Expresan

Más detalles

Interoperabilidad de Fieldbus

Interoperabilidad de Fieldbus 2002 Emerson Process Management. Todos los derechos reservados. Vea este y otros cursos en línea en www.plantwebuniversity.com. Fieldbus 201 Interoperabilidad de Fieldbus Generalidades Qué es interoperabilidad?

Más detalles

INTRODUCCION. Ing. Camilo Zapata czapata@udea.edu.co Universidad de Antioquia

INTRODUCCION. Ing. Camilo Zapata czapata@udea.edu.co Universidad de Antioquia INTRODUCCION. Ing. Camilo Zapata czapata@udea.edu.co Universidad de Antioquia Qué es una Red? Es un grupo de computadores conectados mediante cables o algún otro medio. Para que? compartir recursos. software

Más detalles

Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta

Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta (Business Process Management, BPM). La Gerencia de los Procesos del Negocio: Se define como: "integración

Más detalles

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib Manual de uso de la plataforma para monitores CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib [Manual de uso de la plataforma para monitores] 1. Licencia Autor del documento: Centro de Apoyo Tecnológico

Más detalles

Service Oriented Architecture

Service Oriented Architecture Programación Concurrente y Distribuida Ingeniería en Informática Service Oriented Architecture José Carlos Cortizo Pérez josecarlos.cortizo@uem.es http://www.esp.uem.es/jccortizo D. Sistemas Informáticos

Más detalles

LiLa Portal Guía para profesores

LiLa Portal Guía para profesores Library of Labs Lecturer s Guide LiLa Portal Guía para profesores Se espera que los profesores se encarguen de gestionar el aprendizaje de los alumnos, por lo que su objetivo es seleccionar de la lista

Más detalles

Servicios remotos de Xerox Un paso en la dirección correcta

Servicios remotos de Xerox Un paso en la dirección correcta Servicios remotos de Xerox Un paso en la dirección correcta Diagnostica problemas Evalúa datos de la máquina Solución de problemas Seguridad de cliente garantizada 701P42953 Acerca de los Servicios remotos

Más detalles

SEGURIDAD OCTUBRE 2015. Versión 1

SEGURIDAD OCTUBRE 2015. Versión 1 SEGURIDAD OCTUBRE 2015 Versión 1 1 INDICE 1 INDICE... 2 2 INTRODUCCIÓN... 3 2.1 REQUISITOS... 3 2.2 OBJETIVOS Y ALCANCE DEL PRESENTE DOCUMENTO... 3 3 SEGURIDAD EN LAS COMUNICACIONES... 4 4 LOS CLIENTES...

Más detalles

Luis Villalta Márquez

Luis Villalta Márquez - Alojamiento virtual basado en IPs. - Alojamiento virtual basado en nombres. - Alojamiento virtual basado en puertos. - Alojamientos híbridos. Luis Villalta Márquez El término Hosting Virtual se refiere

Más detalles

Windows Server 2012: Infraestructura de Escritorio Virtual

Windows Server 2012: Infraestructura de Escritorio Virtual Windows Server 2012: Infraestructura de Escritorio Virtual Módulo 1: Visión general de Virtualización del Escritorio de Microsoft y la Virtualización del estado de usuario Módulo del Manual Autores: James

Más detalles

Acoplamiento e interoperabilidad

Acoplamiento e interoperabilidad Máster Universitario en Ingeniería Informá3ca Acoplamiento e interoperabilidad Sistemas de Información Orientados a Servicios RODRIGO SANTAMARÍA 2 Acoplamiento débil Tipos de acoplamiento Cabalgando el

Más detalles

Soporte Técnico de Software HP

Soporte Técnico de Software HP Soporte Técnico de Software HP Servicios Tecnológicos HP Servicios contractuales Datos técnicos El Soporte Técnico de Software HP ofrece servicios integrales de soporte remoto de para los productos de

Más detalles

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1.1 Introducción Este método proporciona un soporte para el diseño creativo de productos de software, inclusive a escala industrial.

Más detalles

Gran número de usuarios accediendo a un único servicio y con un único protocolo. Servidores y clientes con distintos protocolos.

Gran número de usuarios accediendo a un único servicio y con un único protocolo. Servidores y clientes con distintos protocolos. 1RWD7pFQLFD,(OSURWRFRORGHFRQH[LyQ1HW La función principal del protocolo Net 8 es establecer sesiones de red y transferir datos entre una máquina cliente y un servidor o entre dos servidores. Net8 debe

Más detalles

MARCANDO LA DIFERENCIA

MARCANDO LA DIFERENCIA MARCANDO LA DIFERENCIA INTEGRACIÓN RÁPIDA Y CONFIABLE entre sus sistemas Simplifique la integración y el mantenimiento de su lógica de negocio con nuestra arquitectura orientada a servicios. Ahorre dolores

Más detalles

SAP Business Workflow

SAP Business Workflow SAP Business Workflow Eventos April 10, 2006 Objetivos del Curso Objetivos Son objetivos de este curso Eventos Entender que es un evento y como crear eventos Comprender los distintos tipos de eventos Saber

Más detalles

MANUAL COPIAS DE SEGURIDAD

MANUAL COPIAS DE SEGURIDAD MANUAL COPIAS DE SEGURIDAD Índice de contenido Ventajas del nuevo sistema de copia de seguridad...2 Actualización de la configuración...2 Pantalla de configuración...3 Configuración de las rutas...4 Carpeta

Más detalles

Oficina Online. Manual del administrador

Oficina Online. Manual del administrador Oficina Online Manual del administrador 2/31 ÍNDICE El administrador 3 Consola de Administración 3 Administración 6 Usuarios 6 Ordenar listado de usuarios 6 Cambio de clave del Administrador Principal

Más detalles

Instalación y mantenimiento de servicios de Internet. U.T.3.- Servicio DNS

Instalación y mantenimiento de servicios de Internet. U.T.3.- Servicio DNS Instalación y mantenimiento de servicios de Internet U.T.3.- Servicio DNS 1 Qué es el servicio DNS? A los usuarios de Internet les resulta complicado trabajar con direcciones IP, sobre todo porque son

Más detalles

- MANUAL TÉCNICO - Software de diagnóstico de la seguridad de la información y autoimplantación de LOPD. Rev. 01- FEBRERO 2013

- MANUAL TÉCNICO - Software de diagnóstico de la seguridad de la información y autoimplantación de LOPD. Rev. 01- FEBRERO 2013 - MANUAL TÉCNICO - Software de diagnóstico de la seguridad de la información y autoimplantación de LOPD Rev. 01- FEBRERO 2013 Software de diagnóstico de la seguridad de la información y autoimplantación

Más detalles

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: 1. Proporcionar una guía de actividades para el trabajo en equipo. (Guía detallada para el desarrollo

Más detalles

JAVA ENTERPRISE EDITION (J2EE) ARQUITECTURA TECNOLOGÍAS (1/2) (L1)

JAVA ENTERPRISE EDITION (J2EE) ARQUITECTURA TECNOLOGÍAS (1/2) (L1) TECNOLOGÍAS (1/2) (L1) EJB ( Enterprise Java Beans ) JSP ( Java Server Pages ) JNDI ( Java Naming and Directory Interface ) JDBC ( Java Data Base Connectivity ) Java Mail JSF ( Java Server Faces ) TECNOLOGÍAS

Más detalles