3.9 Patrón Distributed callback
|
|
|
- María José Espejo Vázquez
- hace 10 años
- Vistas:
Transcripción
1 3.9 Patrón Distributed callback
2 Motivación (1) Queremos que la aplicación de administración de los termostatos Monitorize la temperatura de algunos termostatos, avisándonos si ésta baja o sube por encima de un determinado umbral Monitorize las altas y bajas de termostatos en determinadas habitaciones (consecuencia de otros administradores usando la herramienta concurrentemente) Posible solución: polling La herramienta de administración dispone de tres threads Thread-1: ejecuta el interfaz de usuario Thread-2: invoca periódicamente a Thermostat::getState sobre los termostatos que desea monitorizar el usuario, y actualiza estructuras internas y refresca el interfaz de usuario si ha notado cambios Thread-3: idem con Controller::findByLocation sobre las habitaciones de interés
3 Motivación (y 2) Problemas con el polling Puede saturar al servidor Ej.: varios usuarios usando la herramienta de administración y un servidor que maneje cada petición en un thread Puede congestionar la red Posible solución => Distributed callback Es una aplicación del patrón Observer Veremos Qué es lo que cambia en un entorno distribuido y con CORBA? Qué problemas adicionales puede tener en un entorno distribuido?
4 Ejemplo tcsdc Es tcsfactory modificado para monitorizar altas y bajas de termostatos La aplicación de administración dispone de un objeto CORBA, ThermostatObserver, que registra en el Controller, de manera que cada vez que hay una alta o baja de un termostato, el servidor invoca una operación sobre ThermostatObserver para notificar el cambio El servidor tiene una referencia a un ThermostatObserver por cada aplicación de administración Cuando la aplicación de administración termina, de-registra su ThermostatObserver del Controller La aplicación de administración dispone de dos threads Thread-1: ejecuta el interfaz de usuario Thread-2: (main): ejecuta ORB.run
5 Primer enfoque: es::udc::fbellas::corba::tcsdc::idl (1) struct LifeCycleEvent { string fthermostatidentifier; boolean fcreated; }; interface ThermostatObserver { void notifylifecycleevent(in LifeCycleEvent event); }; interface Controller { void addthermostatobserver(in ThermostatObserver observer); void removethermostatobserver(in ThermostatObserver observer); }; // Resto de operaciones...
6 Primer enfoque: es::udc::fbellas::corba::tcsdc::idl (y 2) La notificaciones llevan el evento Evita que el cliente tenga que pedirlo (ahorra invocaciones remotas) Además, el pedirlo podría ser un problema con POAs uni-thread en la aplicación de administración y en el servidor Los objetos callback (ej.: ThermostatObserver) normalmente son transient Sólo existen durante el tiempo de vida de una ejecución de la aplicación observadora Ilustra una característica muy frecuente en las aplicaciones que usan objetos distribuidos => suelen actuar como clientes y servidores Sistemas peer-to-peer y no cliente-servidor puro Problema El servidor tendría que implementar Controller::removeThermostatObserver eliminado de su lista de observadores la referencia que recibe como parámetro, pero en CORBA, las referencias no se pueden comparar
7 Segundo enfoque: es::udc::fbellas::corba::tcsdc::idl struct LifeCycleEvent { string fthermostatidentifier; boolean fcreated; }; interface ThermostatObserver { void notifylifecycleevent(in LifeCycleEvent event); }; interface Controller { long addthermostatobserver(in ThermostatObserver observer); void removethermostatobserver(in long observeridentifier); }; // Resto de operaciones... Problema de seguridad Cualquier aplicación puede cancelar objetos ThermostatObserver de otras aplicaciones
8 La solución: es::udc::fbellas::corba::tcsdc::idl (1) struct LifeCycleEvent { string fthermostatidentifier; boolean fcreated; }; interface ThermostatObserver { void notifylifecycleevent(in LifeCycleEvent event); }; interface Controller { ThermostatObserverTerminator addthermostatobserver( in ThermostatObserver observer); // Resto de operaciones... }; interface ThermostatObserverTerminator { void terminate(); };
9 La solución: es::udc::fbellas::corba::tcsdc::idl (y 2) Comentarios Controller::addTermostatObserver es una operación factoría que crea un ThermostatObserverTerminator por cada observador Cuando la aplicación de administración quiere de-registrar su objeto observador usa la referencia ThermostatObserverTerminator que obtuvo anteriormente, invocando terminate sobre ella ThermostatObserverTerminator normalmente es un objeto transient El servant de ThermostatObserverTerminator tiene que disponer de un atributo que identifique de forma única al observador al que hace referencia, para poder eliminarlo de la lista de observadores a notificar
10 Estructura de paquetes de tcsdc Idem tcsfactory más es::udc::fbellas::corba::tcsdc:callbacks Implementa el interfaz remoto ThermostatObserver Principales cambios con respecto a tcsfactory Servidor es::udc::fbellas::corba::tcsdc::idl es::udc::fbellas::corba::tcsdc::server::wrapper s Aplicación de administración es::udc::fbellas::corba::tcsdc::callbacks Dos threads: uno para el interfaz de usuario y otro (main) para escuchar las notificaciones (ORB.run)
11 es::udc::fbellas:corba::tcsdc::server::wrappers ThermostatObserverTerminatorPOA - observeridentifier : int ThermostatObserverTerminatorImpl <<create>> + ThermostatObserverTerminatorPOAImpl(observerIdentifier : long) ControllerImpl <<use>> <<use>> - observers : java::util::map - nextobserveridentifier : int ThermostatEventNotifier + addthermostatobserver(observer : es::udc::fbellas::corba::tcsdc::idl::thermostatobserver) : int + removethermostatobserver(observeridentifier : int) : void + notifylifecycleevent(event : es::udc::fbellas::corba::tcsdc::idl::lifecycleevent) : void 0..n <<IDL interface>> ThermostatObserver (from idl)
12 es::udc::fbellas:corba::tcsdc::server::wrappers::thermostateventnotifier (1) final class ThermostatEventNotifier { private static Map observers = new HashMap(); private static int nextidentifier = 0; private ThermostatEventNotifier() {} static synchronized int addthermostatobserver( ThermostatObserver observer) { observers.put(new Integer(nextIdentifier), observer); return nextidentifier++; } static synchronized void removethermostatobserver( int observeridentifier) { observers.remove(new Integer(observerIdentifier)); }
13 es::udc::fbellas:corba::tcsdc::server::wrappers::thermostateventnotifier (y 2) static synchronized void notifylifecycleevent(lifecycleevent event) { Iterator observeriterator = observers.values().iterator(); while (observeriterator.hasnext()) { try { ThermostatObserver observer = (ThermostatObserver)observerIterator.next(); observer.notifylifecycleevent(event); } catch (SystemException e) { /* * We suppose that the corresponding client finished * without unregistering its observer. */ observeriterator.remove(); } } } }
14 es::udc::fbellas:corba::tcsdc::server::wrappers::thermostatobserverterminatorimpl (1) class ThermostatObserverTerminatorImpl extends ThermostatObserverTerminatorPOA { private int observeridentifier; ThermostatObserverTerminatorImpl(int observeridentifier) { this.observeridentifier = observeridentifier; } public void terminate() { /* Remove observer reference. */ ThermostatEventNotifier.removeThermostatObserver( observeridentifier); /* Deactivate this object from the active object map. */ try { byte[] objectidentifier = _default_poa().servant_to_id(this); _default_poa().deactivate_object objectidentifier)); } catch (Exception e) { /* Ignore. */ } } } // class
15 es::udc::fbellas:corba::tcsdc::server::wrappers::thermostatobserverterminatorimpl (y 2) Para desactivar el objeto necesitamos conocer su identificador Dado que lo hemos creado con el Root POA (SYSTEM_ID), no lo conocemos Podemos averiguarlo con org::omg::portableserver::servant::_object_i d (visto con el patrón Default Servant ) o con PortableServer::POA::servant_to_id (el que usa el ejemplo) PortableServer::POA::servant_to_id requiere un POA con política RETAIN
16 es::udc::fbellas:corba::tcsdc::callbacks ThermostatObserverPOA - observer : ThermostatObserver ThermostatObserverImpl + ThermostatObserverImpl() + setthermostatobserver(observer : ThermostatObserver) : void 1 <<Interface>> ThermostatObserver + notifylifecycleevent(event : LifeCycleEvenrt) : void - thermostatidentifier : String - created : boolean LifeCycleEvent LifeCycleEvent(thermostatIdentifier : String, created : boolean) + getthermostatidentifier() : String + iscreated() : boolean
17 es::udc::fbellas:corba::tcsdc::callbacks::thermostatobserverimpl public class ThermostatObserverImpl extends ThermostatObserverPOA { private ThermostatObserver observer; public ThermostatObserverImpl() {} public void setthermostatobserver(thermostatobserver observer) { this.observer = observer; } public void notifylifecycleevent( es.udc.fbellas.corba.tcsdc.idl.lifecycleevent event) { observer.notifylifecycleevent(fromidl(event)); } private LifeCycleEvent fromidl( es.udc.fbellas.corba.tcsdc.idl.lifecycleevent event) { return new LifeCycleEvent(event.fThermostatIdentifier, event.fcreated); } } // class
18 Características no ilustradas por el ejemplo Filtrado Cuando se registra un observador se asocia una condición (objeto local, un struct en IDL) que ha de cumplirse para que el evento sea de interés para el observador Ej.: ObserverTerminator addobserver(in Observer anobserver, in Condition acondition) Los objetos observadores suelen ser a su vez notificadores de observadores locales Ej.: propagar eventos a distintas partes del interfaz de usuario
19 Problemas (1) Persistencia de la lista de referencias a observadores Para que la posible caída de un servidor sea transparente a las aplicaciones observadores, éste debería guardar las referencias en disco Se produce SystemException al invocar una operación sobre un observador Dado que los objetos callback normalmente son transient Si la excepción es TRANSIENT con estado de completitud COMPLETED_NO, se pueden hacer n reintentos, y eliminar el objeto callback si fallan todos También se podría implementar un mecanismo de keepalive Los observadores envían un mensaje de keep-alive (invocan una operación) al notificador cada cierto tiempo El notificador tiene un thread que despierta periódicamente y elimina los observadores que no hayan enviado el mensaje de keep-alive durante el último periodo
20 Problemas (2) Escalabilidad La solución mostrada en el ejemplo no es escalable Ej.: considerar la situación de un gran número de observadores, que además han asociado condiciones al registrarse Para conseguir escalabilidad necesitamos necesariamente federar Jerarquía de notificadores Observadores
21 Problemas (y 3) Fuerte acoplamiento entre observadores y notificadores En el ejemplo tcsdc se ha necesitado Modificar el interfaz Controller (para añadir la operación de registro) Crear el interfaz ThermostatObserverTerminator Crear el interfaz ThermostatObserver Los observadores conocen a los notificadores Si un observador quiere recibir adicionalmente eventos de otro notificador, necesita registrarse en él => modificar el código Observadores maliciosos o colgados El thread que invoca la operación de notificación en el servidor puede quedarse colgado si el observador no termina nunca la operación A veces se usa oneway, pero no es buena solución (ahora existe una solución más potente: Messaging )
22 Servicio de eventos y notificaciones Servicio de eventos Ofrece canales de eventos Un canal puede tener múltiples publicadores y observadores Los eventos son de tipo any Publicadores y subscriptores no se conocen Soporta federación Limitaciones No permite especificar nivel de calidad de servicio Ej.: qué ocurre si un publicador envía tantos eventos que el canal correspondiente no es capaz de entregarlos a los observadores? No soporta filtrado Ej.: El administrador de la aplicación de termostatos quiere que se le notifique sólo cuando la temperatura de Thermostat-1 y Thermostat-4 suba por encima de 26 grados Si el filtrado lo implementa la aplicación de administración, el servidor haría más trabajo del necesario y la red podría congestionarse Servicio de notificaciones Añade más interfaces al servicio de eventos (compatible con él) y hace frente a sus limitaciones
23 Conclusiones Cuándo usar el patrón Distributed callback? En situaciones sencillas y que no requieren escalabilidad Cuándo usar el servicio de eventos? Situaciones más complejas, con requisitos de escalabilidad, pero no de filtrado y/o calidad de servicio Cuándo usar el servicio de notificaciones? Situaciones más complejas, con requisitos de escalabilidad, filtrado y calidad de servicio
24 Ejecución de tcsdc * cd $CORBA_JAVA_EXAMPLES_HOME/Subsystems/ORB/Scripts/NamingService * Ejecutar NamingService.sh (debe existir el contexto es/udc/fbellas/corba/tcsdc ) * cd $CORBA_JAVA_EXAMPLES_HOME/Subsystems/TCSDC/Scripts (En este directorio se encuentran ubicados los subdirectorios Acme1Thermostats y Acme2Thermostats, que contienen los ficheros que simulan los termostatos). * Ejecutar TCSDCServer.sh * Ejecutar TCSDCAdmin.sh * Ejecutar otro TCSDCAdmin.sh
Práctica sobre compartición de instancias remotas.
Práctica sobre compartición de instancias remotas. Para esta práctica se ha construido un pequeño sistema cliente-servidor que permite la resolución de Sudokus entre varios jugadores. El servidor consta
Introducción a Java LSUB. 15 de enero de 2015 GSYC
Introducción a LSUB GSYC 15 de enero de 2015 (cc) 2014 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial - SinObraDerivada
Arquitectura y Diseño de Sistemas Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Primer Cuatrimestre de 2015
Trabajo Práctico N 3 DOO Principios SOLID 1. Mencione cuáles son los principios denominados SOLID y describa brevemente sus características. 2. Supongamos que en una organización, cuando se realizan transferencias
Práctica 5: Common Object Request Broker Architecture CORBA
Práctica 5: Common Object Request Broker Architecture CORBA Aplicaciones Telemáticas II Introducción El objetivo de esta práctica es entender mejor el funcionamiento de CORBA (Common Object Request Broker
EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011
EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 1. (0,75 PUNTOS) Identificad a continuación las sentencias que son ciertas, descartando
SOLUCION PARCIAL TASK SCHEDULER. Task Scheduler
Task Scheduler Se necesita modelar una aplicación que permita definir tareas y ejecutarlas en forma programada. Las tareas pueden ser: La ejecución de programa cualquiera o comando del sistema operativo,
Solución al Examen de Prácticas de Programación (Ingeniería Informática)
Solución al Examen de Prácticas de Programación (Ingeniería Informática) Junio 2006 Parte I. Cuestiones (3 puntos=50% nota del examen) 1) Se desea crear un conjunto de clases para representar en un programa
Programación orientada a objetos
Repaso Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual [email protected]! Clase! Objeto! Atributo o variable de instancia! Método! Instanciar/crear un objeto!
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
Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java
Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores Las variables se utilizan en programación para almacenar temporalmente
Clases y Objetos. Informática II Ingeniería Electrónica
Clases y Objetos Informática II Ingeniería Electrónica Los Tipos de Datos Hasta ahora, en un programa podemos usar para representar variables a: Tipos fundamentales : enteros (int), caracteres (char),
CORBA desde Java. Diego Sevilla Ruiz Sistemas Distribuidos. 1. Introducción
CORBA desde Java Diego Sevilla Ruiz Sistemas Distribuidos Índice 1. Introducción 1 2. Primeros pasos 1 2.1. Fichero IDL................................... 1 2.2. Cliente......................................
MODELO DE IMPLEMENTACIÓN
Capítulo 4 MODELO DE IMPLEMENTACIÓN 4.1 Introducción El Modelo de implementación utiliza el resultado del Modelo de diseño para generar el código final en el lenguaje de programación elegido [10]. Aunque
Hacemos que tu negocio se mueva. Plataforma de ventas. www.movilidapp.com. 2014 movilidapp
Hacemos que tu negocio se mueva Plataforma de ventas www.movilidapp.com 2014 movilidapp NUESTRA PLATAFORMA DE VENTAS Nuestra plataforma de ventas permite gestionar la realización de pedidos de sus productos
3.6 Patrón Factory y objetos persistentes. Políticas del POA asociadas
3.6 Patrón Factory y objetos persistentes. Políticas del POA asociadas Introducción Una factoría es un objeto CORBA que proporciona operaciones para crear otros objetos CORBA Juega un papel similar al
Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1.
Partes de un programa en Java A. Ejemplo de un Programa en Java /* class Ejemplo1 { //comienza la clase Ejemplo1. public static void main(string[] args) { // comienza el método main. JFrame miventana;
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
2.2.- Paradigmas de la POO
2.2.- Paradigmas de la POO Los principios propios de la orientación a objetos son: 2.2.1.- Abstracción de Datos 2.2.2.- Encapsulamiento 2.2.3.- Ocultamiento 2.2.4.- Herencia 2.2.5.- Polimorfismo Cualquier
Concurrencia. Primitivas IPC con bloqueo
Concurrencia Primitivas IPC con bloqueo Primitivas de IPC con bloqueo La solución de Peterson es correcta, pero tiene el defecto de requerir espera ocupada: Cuando un proceso quiere entrar en su región
Programación Orientada a Objetos con Java
Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer [email protected] Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la
Programación Orientada a Objetos en Java
Programación Orientada a Objetos en Java Curso 2006-2007 Tema 4 Herencia y Polimorfismo Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Herencia
Estructuras de Sistemas Operativos
Estructuras de Sistemas Operativos Definicion de Sistema Operativos Un sistema operativo es un programa que actua como inter entre el usuario y el hardware de un computador y su proposito es proporcionar
MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD
MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD Fecha última revisión: Diciembre 2010 Tareas Programadas TAREAS PROGRAMADAS... 3 LAS TAREAS PROGRAMADAS EN GOTELGEST.NET... 4 A) DAR DE ALTA UN USUARIO...
Primer Parcial Septiembre 5 de 2009
Primer Parcial Septiembre 5 de 2009 Algoritmos y Lenguajes II Reglas del juego Tal como se le dijo antes, durante este examen usted no puede pedir ABSOLUTAMENTE nada prestado a sus compañeros, ni hablar
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
En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
Uso de excepciones en Java
Uso de excepciones en Java En Java, cuando se produce un error en un método, se lanza un objeto Throwable. Cualquier método que haya llamado al método puede capturar la excepción y tomar las medidas que
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
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
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
CONTENIDO. Serialización. Carga dinamica de stubs RMI AVANZADO. Callbacks. Carga dinámica de Stubs
CONTENIDO RMI AVANZADO Carga dinamica de stubs Callbacks Carga dinámica de Stubs Para tener acceso a un objeto remoto mediante RMI, el cliente debe recibir un stub serializado y deserializarlo. El stub
Patrones de diseño. Patrón básico Handler. Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez)
Patrones de diseño Patrón básico Handler Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez) Patrones de diseño Introducción Objetivos: Diseño específico para el problema, pero general para
Manual de Usuario Comprador. Módulo Administración de Presupuesto. www.iconstruye.com. Iconstruy e S.A. Serv icio de Atención Telefónica: 486 11 11
Manual de Usuario Comprador www.iconstruye.com Módulo Administración de Presupuesto Iconstruy e S.A. Serv icio de Atención Telefónica: 486 11 11 Índice ÍNDICE...1 DESCRIPCIÓN GENERAL...2 CONFIGURACIÓN...3
Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle
Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Tipos de herencia Herencia y niveles de visibilidad Herencia y creación Redefinición de métodos Conversión
Creación y administración de grupos de dominio
Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia
Técnicas de Desarrollo de Programas Ingeniería Informática Curso 2008 / 2009. Ejercicios de Patrones de Diseño:
Técnicas de Desarrollo de Programas Ingeniería Informática Curso 2008 / 2009 Ejercicios de Patrones de Diseño: Iterator, Composite, Strategy, Observer, Decorator, Visitor Ejercicio 1 (examen de junio año
Introducción a la programación orientada a objetos
Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación
MANUAL DE USUARIO PANEL DE CONTROL Sistema para Administración del Portal Web. www.singleclick.com.co
MANUAL DE USUARIO PANEL DE CONTROL Sistema para Administración del Portal Web www.singleclick.com.co Sistema para Administración del Portal Web Este documento es una guía de referencia en la cual se realiza
e-mailing Solution La forma más efectiva de llegar a sus clientes.
e-mailing Solution La forma más efectiva de llegar a sus clientes. e-mailing Solution Es muy grato para nosotros presentarles e-mailing Solution, nuestra solución de e-mail Marketing para su empresa. E-Mailing
PHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin.
PHPMYADMIN Y MYSQL Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin. PhpMyAdmin es una herramienta para la administración del servidor de base de datos MySQL que dispone
DOCENTES FORMADORES UGEL 03 PRIMARIA
DOCENTES FORMADORES UGEL 03 PRIMARIA 1. Recursos y Aplicaciones del Servidor La página de inicio del servidor (http://escuela) contiene los enlaces a las aplicaciones instaladas en el servidor, un enlace
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
RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA
UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí
Java RMI. Sistemas Distribuidos Rodrigo Santamaría
+ Java RMI Sistemas Distribuidos Rodrigo Santamaría RMI Java RMI 2 + RMI 3 Remote Method Invocation: middleware para que un objeto que se ejecuta en una JVM use métodos de otro objeto que se ejecuta en
Implantar Microsoft Software Updates Service (SUS)
Implantar Microsoft Software Updates Service (SUS) Guía rápida de instalación Versión: 1.0 Autor: Paulino Insausti Barrenetxea Fecha: 15 de Junio de 2005 Licencia: CreativeCommons - ShareAlike Indice 1.Introducción...
Análisis y diseño del sistema CAPÍTULO 3
Análisis y diseño del sistema CAPÍTULO 3 36 CAPÍTULO 3 Análisis y diseño del sistema En este capítulo se pretende realizar un análisis detallado de los requerimientos del software a desarrollar para la
GIT Dinahosting 3. Hola!
GIT Manual de uso GIT Dinahosting 2 Contenidos Sobre Git...3 Software...3 Cómo conectarse?...3 Volcar un repositorio remoto...4 Manejar el repositorio...5 Trabajando con ramificaciones...6 Fusionando ramificaciones...6
Control de objetivos y alertas mediante Tablas Dinámicas
Control de objetivos y alertas mediante Tablas Dinámicas Autor: Luis Muñiz Socio-Director SisConGes & Estrategia [email protected] INTRODUCCIÓN Estamos ante una situación en que los sistemas
Servicios de impresión y de archivos (Windows 2008) www.adminso.es
Servicios de y de archivos (Windows 2008) www.adminso.es Servicios de y archivos (w2k8) COMPARTIR ARCHIVOS E IMPRESORAS Servicios de y archivos (w2k8) Los servicios de y de archivos permiten compartir
LINEAMIENTOS PARA LA CANCELACIÓN TOTAL DE SISTEMAS DE DATOS PERSONALES DEL INSTITUTO ELECTORAL DEL ESTADO DE MÉXICO CAPÍTULO I DISPOSICIONES GENERALES
LINEAMIENTOS PARA LA CANCELACIÓN TOTAL DE SISTEMAS DE DATOS PERSONALES DEL INSTITUTO ELECTORAL DEL ESTADO DE MÉXICO CAPÍTULO I DISPOSICIONES GENERALES Artículo 1. Los presentes Lineamientos tienen por
CVS Concurrent Versions System Manual de Usuario
CVS Concurrent Versions System Manual de Usuario Resumen Sistema de control de versiones basado en código open-source que mantiene el registro de todo el trabajo y los cambios en los archivos (código fuente
Práctica 4: Java Remote Method Invocation (RMI)
Práctica 4: Java Remote Method Invocation (RMI) Aplicaciones Telemáticas II Introducción Hasta el momento hemos visto aplicaciones remotas donde un cliente utiliza un objeto remoto que ha sido publicado
Programación Orientada a Objetos en Java
Programación Orientada a Objetos en Java Curso 2006-2007 Tema 3 Clases y Objetos Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Clases y
FOROS. Manual de Usuario
FOROS Manual de Usuario Versión: 1.1 Fecha: Septiembre de 2014 Tabla de Contenidos 1. INTRODUCCIÓN... 4 1.1 Propósito... 4 1.2 Definiciones, acrónimos y abreviaturas... 4 2. ESPECIFICACIONES TÉCNICAS...
DECLARACIÓN DE PRIVACIDAD DE FONOWEB
DECLARACIÓN DE PRIVACIDAD DE FONOWEB Fonoweb se compromete a respetar su privacidad y la confidencialidad de su información personal, los datos de las comunicaciones y el contenido de las comunicaciones
Contenido. Email: capacitacion@u cursos.cl / Teléfono: 9782450
GMI Contenido PUBLICAR AVISO... 3 CREAR PROCESO DE SELECCIÓN... 6 VER/ELIMINAR AVISOS PUBLICADOS... 8 ETAPAS DE UN PROCESO DE SELECCIÓN... 10 SECCIONES DE LOS PROCESOS DE SELECCIÓN (GPS)... 21 PERSONALIZAR
Transacciones y bloqueos en SQL-Server
Transacciones y bloqueos en SQL-Server (Información para el uso desde Axapta) Introducción En este documento vamos a intentar explicar cuatro conceptos básicos acerca de las transacciones y los bloqueos
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
Manual CMS Mobincube
Manual CMS Mobincube CMS Mobincube Qué es? El CMS (Sistema de Gestión de Contenidos) es un completo website que permite la creación y actualización de contenido remoto. De esta forma, una vez creada una
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
GUÍA DE TRABAJO N 11 LENGUAJE C# Programación de Software Articulación SENA Grado 10 Ing. Néstor Raúl Suarez Perpiñan Página 2 de 11
Página 1 de 11 GUIA N 11 - DESARROLLO DE SOFTWARE A TRES CAPAS Objetivo: Desarrollar una aplicación de software con tres capas (Presentación Lógica Persistencia) donde se establezca una conexión con una
Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi
Gestión de Permisos Bizagi Suite Gestión de Permisos 1 Tabla de Contenido Gestión de Permisos... 3 Definiciones... 3 Rol... 3 Perfil... 3 Permiso... 3 Módulo... 3 Privilegio... 3 Elementos del Proceso...
Instalación y uso de Check 2000 Client Server con ZENworks 2
Instalación y uso de Check 2000 Client Server con ZENworks 2 CHECK 2000 DESCRIPCIÓN GENERAL Check 2000* Client Server de Greenwich Mean Time es una aplicación de diagnóstico que se puede utilizar con ZENworks
Ejercicios - Persistencia en Android: ficheros y SQLite
Ejercicios - Persistencia en Android: ficheros y SQLite Índice 1 Uso de ficheros (0.5 puntos)...2 2 Persistencia con ficheros (0.5 puntos)...3 3 Base de datos: SQLiteOpenHelper (0.5 puntos)... 3 4 Base
DISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA
DISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA José Luis Pastrana Brincones ([email protected]) Dpto. Lenguajes y Ciencias de la Computación. Universidad de Málaga
Manual para la utilización de PrestaShop
Manual para la utilización de PrestaShop En este manual mostraremos de forma sencilla y práctica la utilización del Gestor de su Tienda Online mediante Prestashop 1.6, explicaremos todo lo necesario para
CTSQL Monitor Windows
En este documento se describe el proceso de instalación y configuración básica para monitorizar sesiones CTSQL en máquinas Windows. BASE 100, S.A. www.base100.com Índice 1. INTRODUCCIÓN... 3 2. FICHERO
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
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,
2.1. Introducción al lenguaje Java
Bloque II. Elementos del lenguaje de programación Java 1.Introducción a los lenguajes de programación 2. Estructura de un programa 3. Datos y expresiones simples 4. Instrucciones de control 5. Entrada/salida
Tema 1. Introducción a JAVA
Tema 1. Introducción a JAVA Historia Características Plataforma Java Entorno de desarrollo Ejemplo: Hola mundo Estructura general de un programa Java 1 Historia de Java (i) Surge en 1991: Sun Microsystems
Agentes con Interfaz Gráfica.
Agentes con Interfaz Gráfica. Hasta este momento los talleres que se habían desarrollado contaban con una interfaz gráfica muy limitada. Pero en la mayoría de los sistemas multiagente debe existir una
Manual de Usuario Comprador Presupuesto
Manual de Usuario Comprador Presupuesto Servicio de Atención Telefónica: 5300569/ 5300570 Descripción General El módulo Presupuesto tiene la finalidad de ayudar a las empresas a tener un control de gestión
Modulo 1 El lenguaje Java
Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto
Con SNMP y MIB-II sólo se puede recuperar información local a los dispositivos.
GESTIÓN INTERNET 2.4 Extensiones SNMP 2.4.1 RMON Con SNMP y MIB-II sólo se puede recuperar información local a los dispositivos. En un entorno de red con un gran número de dispositivos podemos monitorizar
Ingeniería del Software Arquitectura Física en 3 niveles
Introducción En este laboratorio desplegaremos en 3 niveles físicos una aplicación que verifica si una cuenta y un password son correctos, basada en la que fue presentada en el laboratorio Separación entre
Manual de software. Dynamic Cloud. 10/2014 MS-Dynamic_Cloud v1.2
Manual de software Dynamic Cloud 10/2014 MS-Dynamic_Cloud v1.2 ÍNDICE GENERAL 1. INTRODUCCIÓN... 2 1.1 Configuración mínima del PC... 2 2. INSTALAR DYNAMIC CLOUD... 3 2.1 Ejecutar Dynamic Cloud por primera
http://www.statum.biz http://www.statum.info http://www.statum.org
ApiaMonitor Monitor de Infraestructura BPMS Por: Ing. Manuel Cabanelas Product Manager de Apia [email protected] http://www.statum.biz http://www.statum.info http://www.statum.org Abstract A
GMF Gestor de incidencias
GMF Gestor de incidencias Contenidos Contenidos... 1 Introducción... 2 El módulo de Gestión de Incidencias... 2 Vista del técnico... 2 Vista de usuario... 4 Workflow o flujo de trabajo... 5 Personalización
SCANTERRA. Manual de usuario
SCANTERRA Manual de usuario Introducción...2 Escáner y Equipo Recomendado...2 El Programa Scanterra. Instalación....3 Adquirir Documentos...4 Subir Documentos...5 Gestión de Documentos...6 Otras opciones
Técnicas de Diseño CRM 1
Técnicas de Diseño CRM SAAT 2 Índice Descripción del Negocio... 3 Contexto... 3 Alcance... 3 Glosario... 5 Arquitectura propuesta... 7 Manejo de sesiones... 7 Implementación de persistencia y transaccionalidad...
TUTORIAL DESARROLLO DE APLICACIONES PARA EVOLUTION CON MS ACCESS
TUTORIAL DESARROLLO DE APLICACIONES PARA EVOLUTION CON MS ACCESS 1 Introducción... 3 2 Despliegue de la aplicación de ejemplo... 3 2.1 Requisitos previos... 3 2.2 Despliegue de la aplicación... 3 3 Prueba
- A continuación, se nos abrirá la siguiente ventana pidiendo contraseña, que el cliente haya especificado al instalar Wingest 7
Copia de seguridad en Wingest 7 desde WgAdmin Los pasos a seguir serán los siguientes: - Todos los usuarios de la aplicación deberán estar fuera de ella. - Deberemos entrar en nuestra carpeta de Wingest
Lenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2
Objetivos Herencia. Utilización de interfaces y clases abstractas. Índice 1. Interfaces 1 2. Clases abstractas 2 3. Collections Framework 3 3.1. Collection........................................... 3
Gestión de Procesos de Compra. Documentación Técnico Comercial
Gestión de Procesos de Compra Gestión de Procesos de Compra Página 2 de 8 Qué es I-Compras?... 3 A quién va dirigida la aplicación I-Compras?... 3 Características generales de la aplicación... 3 Flujo
1. Manejo de memoria estática 2. Manejo de memoria dinámica
1. Manejo de memoria estática 2. Manejo de memoria dinámica *La administración de memoria de una computadora es una tarea fundamental debido a que la cantidad de memoria es limitada. *El sistema operativo
Tutorial: Primeros Pasos con Subversion
Tutorial: Primeros Pasos con Subversion Introducción Subversion es un sistema de control de versiones open source. Corre en distintos sistemas operativos y su principal interfaz con el usuario es a través
PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez
PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Encapsulamiento: Control de Acceso Clases en Java (1) UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO En Java se organizan las clases en paquetes
MANUAL DE USUARIO APLICACIÓN SYSACTIVOS
MANUAL DE USUARIO APLICACIÓN SYSACTIVOS Autor Edwar Orlando Amaya Diaz Analista de Desarrollo y Soporte Produce Sistemas y Soluciones Integradas S.A.S Versión 1.0 Fecha de Publicación 19 Diciembre 2014
Puesta en Marcha versión Monousuario
Puesta en Marcha versión Monousuario Criterium www.criterium.es Antonio Muñoz Sánchez [email protected] 950 442 281 Puesta en Marcha versión Monousuario 1 Limitaciones de versión monopuesto...3
Java Inicial (20 horas)
Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción
Manual del Protocolo XML-RPC de Mensajería Negocios
Manual del Protocolo XML-RPC de Mensajería Negocios Índice de contenidos 1 INTRODUCCIÓN... 3 2 FUNCIONALIDADES DEL API DE COMUNICACIÓN XML-RPC... 4 2.1 Envío Libre... 4 2.2 Envío a Grupo de Contactos...
Antivirus PC (motor BitDefender) Manual de Usuario
Antivirus PC (motor BitDefender) Manual de Usuario Índice 1. Introducción... 3 2. Qué es Antivirus PC?... 3 a. Eficacia... 3 b. Actualizaciones... 4 3. Requisitos técnicos... 4 a. Conocimientos técnicos...
Sistemas Distribuidos
Sistemas Distribuidos Sesión 3 CORBA: Sistemas de Información Diego Sevilla Ruiz DITEC Facultad de Informática Murcia, 2012 Diego Sevilla Ruiz (DITEC Facultad de Informática) Sistemas Distribuidos Murcia,
1.- INTRODUCCIÓN 2.- PARÁMETROS
1.- INTRODUCCIÓN Hemos diseñado una aplicación que facilite el envío a las entidades bancarias de las de cobro por domiciliación. La entrada de esta aplicación pueden ser, tanto ficheros cuyos formatos
MANAUAL DE MANTENIMIENTO PARA LA PÁGINA WEB DE PROYECTO ADL GESTOR DE CONTENIDOS
MANAUAL DE MANTENIMIENTO PARA LA PÁGINA WEB DE PROYECTO ADL GESTOR DE CONTENIDOS 1/8 GESTOR DE CONTENIDOS Este manual va dirigido a la persona o personas que sean las encargadas de mantener los contenidos
