SOLUCION PARCIAL TASK SCHEDULER. Task Scheduler

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "SOLUCION PARCIAL TASK SCHEDULER. Task Scheduler"

Transcripción

1 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, para lo cual se especifica la línea de comando y una colección de parámetros. Un Stored Procedure de cualquier base de datos, para lo que se necesita la información de conexión a la base (ip, puerto, usuario, password) y el comando sql a ejecutar. Un proceso Java escrito especialmente para este TaskScheduler, que permite extender el comportamiento arbitrariamente. Especificar las condiciones que debe cumplir este proceso para poder ser ejecutado por el TaskScheduler y también la información que debe contener la definición de la tarea. Las tareas se pueden programar individualmente para su ejecución u organizarlas en grupos que ejecutan varias tareas secuencialmente. Cada tarea dentro de un grupo puede ser una tarea simple u otro grupo. Por ejemplo: el proceso central de facturación se conforma de la siguiente manera: Para la ejecución programada de las tareas o grupos, periódicamente se corre un proceso que debe seleccionar y ejecutar las tareas o grupos que corresponda. Sólo se puede programar las tareas o grupos raíz, las tareas dependientes no es necesario programarlas porque se ejecutan dentro de su grupo.

2 Nota: Se pide modelar el proceso que selecciona y ejecuta las tareas y no el llamado periódico a ese proceso. Sólo indicar cuál es el proceso que debe llamarse periódicamente, como un caso de uso más. Las tareas se programan para su ejecución según diferentes criterios: Diariamente a una hora determinada. Cada una determinada cantidad de minutos. Una sola vez en un día y hora determinados. Al finalizar la tarea el resultado puede ser: Ok BONUS: Finalizado con mensaje de advertencia Error El usuario puede configurar el grupo de tareas de manera de que cuando ejecute el Proceso Central de Facturación: Se ejecuten todas las tareas independientemente de las fallas. Corte ante cualquier error o advertencia. BONUS: Corte ante cualquier error (pero no ante una advertencia) Corte si se produce un error en la primera tarea (ignorando los errores en las tareas subsiguientes). Si se corta la ejecución de un grupo por un error, el resultado del grupo será un error. Si es por una advertencia el grupo tendrá la misma advertencia como resultado. Se pide: ) Identificar los casos de uso de la aplicación (los requerimientos destacados). 2) Identificar qué objetos son los responsables de resolver cada caso de uso (debe quedar en claro los objetos, sus responsabilidades y sus relaciones con los otros objetos que componen la solución). Aclaración: no alcanza con decir qué objeto, tienen que decir qué mensaje recibe, y qué parámetros. 3) Codifique los casos de uso más importantes. 4) En base a lo desarrollado en el punto 3, indicar dónde ocurren situaciones de excepción y cómo se manejan (máximo 0 líneas, relacionarlo con el código escrito). 5) Explicar las principales decisiones de diseño, qué alternativas consideró y qué elementos tuvo en cuenta para llegar a la solución final (máximo 0 líneas). 6) Definir claramente cómo interactuar con otros sistemas o componentes (por ejemplo las tareas definidas por terceros, sólo debe indicarlo en el código escrito en el punto 3). 7) Mostrar un ejemplo de prueba que demuestre que la solución presentada resuelve adecuadamente el problema a través de un diagrama de objetos o un caso de prueba. Ejemplo: queremos eliminar todos los días a las 22 hs. el directorio public a través del comando rm rf del sistema operativo. 2

3 Solución propuesta Diagrama de clases general TaskScheduler + tic() : void + add() : void Programada UnicaVez Diaria CadaNMinutos + ultimaejecucion() : Date Compuesta ComandoSO StoredProcedure RuntimeException «interface» EstrategiaEjecucion Falla Error Advertencia CortarPorErrorOWarning CortarPorError EjecutarTodas CortarPorErrorPrimera 3

4 Requerimientos principales del enunciado A) Definir la interfaz de una tarea para un proceso Java B) Definir tareas / grupos de tareas C) Disparar la ejecución de tareas programadas en forma periódica D) Programar la ejecución de las tareas Diaria Cada n minutos Por única vez E) Manejar los eventos que ocurren cuando se ejecuta una tarea. Para esto tenemos que: configurar el comportamiento del grupo de tareas ante errores o advertencias (sólo al grupo de tareas). Cómo resolver cada requerimiento A) Para implementar un proceso ejecutable por el Task Scheduler extender de implementando el método ejecutar. En caso de ser necesario se podría modificar a: cd Alternativ a - Proceso Jav a Usuario «interface» Ejecutable <<Usuario>> this.ejecutable.ejecutar(); En ese caso aquel que quiera agregar una tarea propia debería implementar la interfaz Ejecutable. B) Las tareas agrupadas tienen como abstracción la clase Compuesta, que son polimórficas con las tareas simples en el caso de ejecutarse, conocer la última ejecución, etc. No obstante la tarea compuesta tiene comportamiento diferencial que no debería estar incluido en (no es una buena decisión que todas las tareas tengan una colección de subtareas, en especial para el punto E). 4

5 + ultimaejecucion() : Date Compuesta C) Para la ejecución periódica se debe llamar al método tic() del TaskScheduler: public void tic() { for (Programada tareaprogramada : this.tareasprogramadas) { tareaprogramada.ejecutar(); D) La responsabilidad de saber si la tarea debe ejecutarse en este momento está delegada en la Programada): UnicaVez TaskScheduler + tic() : void + add() : void Programada Diaria CadaNMinutos if (this.correspondeejecutar()) { this.tarea.ejecutar(); Como ejemplo implementamos la tarea que corre cada n minutos: public boolean correspondeejecutar() { return (new Date().minutosDesde(this.tarea.ultimaEjecucion()) > this.minutos); Como necesitamos saber la última vez que se ejecutó una tarea, podemos poner esa responsabilidad: 5

6 En programada En Lo que hay que hacer entonces es: ) ejecutar la tarea, 2) registrar de alguna manera que esa tarea fue ejecutada. Dos opciones: Hacemos que Programada dispare la actualización en el método ejecutar: if (this.correspondeejecutar()) { this.tarea.ejecutar(); this.tarea.registrarejecucion(); O bien hacemos que el ejecutar de registre la ejecución. Para eso tenemos que separar a) la ejecución de la tarea propiamente dicha y doejecutar() b) disparar la ejecución + registrar ejecución. registrarejecucion() En this.doejecutar(); this.registrarejecucion(); lo implementan las subclases de Qué pasa si una tarea falla? Cómo nos enteramos? El método ejecutar() (o el doejecutar()) no devuelven int, sino una excepción. Tanto el error como la advertencia se modelan como excepciones que heredan de Falla (excepción no chequeada, para no tener que ensuciar el contrato de los métodos ejecutar() de las tareas, las tareas programadas y el task scheduler). + ultimaejecucion() : Date RuntimeException Error Falla Adv ertencia E) Manejo de eventos que ocurren al ejecutar un grupo de tareas 6

7 Recordemos el diagrama de clases: + ultimaejecucion() : Date Compuesta «interface» EstrategiaEjecucion CortarPorErrorOWarning CortarPorError EjecutarTodas CortarPorErrorPrimera En el caso de las tareas compuestas, tenemos que atrapar las excepciones por falla en base al comportamiento que va a tener el grupo. Implementamos el ejecutar: this.estrategia.ejecutar(this.tareas); El caso más sencillo es cuando queremos ejecutar todas las tareas independientemente de que den o no error: public void ejecutar(list tareas) { for ( tarea : tareas) { try { tarea.ejecutar(); catch (Falla f) { // Ignorar, uno de los pocos casos en el que está bien no hacer nada 7

8 Si hay que verificar que la primera tarea no falle: public void ejecutar(list tareas) { Iterator<> it = tareas.iterator(); it.next().ejecutar(); while (it.hasnext()) { try { it.next().ejecutar(); catch (Falla f) { // Ignorar Recordamos el diagrama de clases para mostrar la relación entre Falla, Error y Advertencia: RuntimeException Error Falla Adv ertencia El resto de los casos los dejamos para el lector. Casos de uso (Punto + 2) Agregar una tarea responsabilidad del TaskScheduler, método: add(programada tareaprogramada) Ejecutar las tareas que corresponden a un momento dado responsabilidad del TaskScheduler, método: tic(). Interfaces del sistema (Punto 6) s definidas por terceros: resuelta en punto A de Requerimientos También define interacciones con tareas que se ejecutan con línea de comando y stored procedures (se utilizan APIs de Java: Runtime y JDBC). Los parámetros se especifican en un paso anterior para poder definir la interfaz ejecutar() que es polimórfica con la definida por terceros. Ejecución de Rm (punto 7) rm = new ComandoSO("rm -rf /public"); Programada rm22hs = new ProgramadaDiaria(rm, 22, 0, 0); scheduler.add(rm00hs); 8

Resolución Ejercicio Subastas On Line

Resolución Ejercicio Subastas On Line Resolución Ejercicio Subastas On Line 2 cuatrimestre 2008 Índice ENUNCIADO... 3 RESOLUCIÓN SUBASTAS ONLINE... 5 PRIMERA PARTE... 5 CASOS DE USO DEL SISTEMA... 5 OBJETOS CANDIDATOS... 5 DIAGRAMA DE CLASES

Más detalles

Resumen de clase Ejercicio Firewall. Ideas de Diseño y Command Pattern

Resumen de clase Ejercicio Firewall. Ideas de Diseño y Command Pattern Resumen de clase Ejercicio Firewall Ideas de Diseño y Command Pattern 2 cuatrimestre 2008 Contenido RESUMEN DE CLASE EJERCICIO FIREWALL...3 ENUNCIADO...3 EXPLICACIÓN DEL DOMINIO...4 PRIMERAS IDEAS...4

Más detalles

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) APRENDERAPROGRAMAR.COM GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I

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

Programación Avanzada SOLUCIÓN EXAMEN FEBRERO 2011

Programación Avanzada SOLUCIÓN EXAMEN FEBRERO 2011 Programación Avanzada SOLUCIÓN EXAMEN FEBRERO 2011 Por favor siga las siguientes indicaciones: Escriba con lápiz y de forma prolija. Escriba las hojas de un solo lado Escriba su nombre y número de documento

Más detalles

Resumen de clase Ejemplos creacionales. Ideas de Diseño sobre ejercicios anteriores

Resumen de clase Ejemplos creacionales. Ideas de Diseño sobre ejercicios anteriores Resumen de clase Ejemplos creacionales Ideas de Diseño sobre ejercicios anteriores 1 cuatrimestre 2009 Contenido EJEMPLO CLIENTES DE UNA TARJETA DE CRÉDITO: ENUNCIADO...3 SOBRE EL DOMINIO...3 SOLUCIÓN

Más detalles

Repaso de las características más importantes de la programación Java y su adaptación a Android

Repaso de las características más importantes de la programación Java y su adaptación a Android Repaso de las características más importantes de la programación Java y su adaptación a Android 1. Entorno de programación en java 2. Variables y tipos de datos 3. Operaciones y operadores 4. Clases y

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

Definición de clases: Herencia, polimorfismo, ligadura dinámica

Definición de clases: Herencia, polimorfismo, ligadura dinámica Tema 7 Definición de clases: Herencia, polimorfismo, ligadura dinámica Con alguna frecuencia es necesario definir clases de objetos entre las cuales hay elementos comunes. En una aplicación en la cual

Más detalles

Programación Orientada a Objetos con Java

Programación Orientada a Objetos con Java Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la

Más detalles

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

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

Más detalles

Introducción a la programación orientada a objetos

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

Más detalles

Contenidos. Funciones (suplemento) Funciones. Justificación del uso de Funciones

Contenidos. Funciones (suplemento) Funciones. Justificación del uso de Funciones Contenidos 1. Justificación del uso de funciones. 2. Declaración de funciones: prototipos. 3. Prototipos y ficheros de cabecera. 4. Polimorfismo (sobrecarga de funciones). 5. Argumentos formales y actuales.

Más detalles

%& %)& '$!%*+ $, %%%&$ %%

%& %)& '$!%*+ $, %%%&$ %% OBJETIVO!!"#$$ %& '(%"#% (% %& %)& '$!%*+ $, %%%&$ %% REQUERIMIENTOS SOFTWARE VERSIÓN LINK Java Development Kit (JDK) 6 http://java.sun.com NetBeans 6.1 http://www.netbeans.org MySQL 5.0 http://dev.mysql.com/

Más detalles

Comisión Nacional de Bancos y Seguros

Comisión Nacional de Bancos y Seguros Comisión Nacional de Bancos y Seguros Manual de Usuario Capturador de Pólizas División de Servicios a Instituciones Financieras Mayo de 2011 2 Contenido 1. Presentación... 3 1.1 Objetivo... 3 2. Descarga

Más detalles

BROWSERSQL VERSIÓN 3.1 TUTORIAL

BROWSERSQL VERSIÓN 3.1 TUTORIAL TUTORIAL LAURA NOUSSAN LETTRY (MENDOZA, ARGENTINA 2011) ÍNDICE CONTENIDOS PÁGINA Introducción 2 Características Funcionales 2 Área de Conexión 3 Área de Ejecución de Sentencias 4 En qué se basa su funcionamiento

Más detalles

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse. TABLA DE DECISION La tabla de decisión es una herramienta que sintetiza procesos en los cuales se dan un conjunto de condiciones y un conjunto de acciones a tomar según el valor que toman las condiciones.

Más detalles

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

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í

Más detalles

Resumen. Funcionamiento. Advertencia

Resumen. Funcionamiento. Advertencia Resumen Módulo: Librería: IMPEXP.DLL Acoplable a: FactuCont 5, versiones monopuesto y red Descripción: Permite exportar datos de documentos, clientes, proveedores y artículos en un solo fichero para poder

Más detalles

Uso de excepciones en Java

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

Más detalles

Comisión Nacional de Bancos y Seguros

Comisión Nacional de Bancos y Seguros Comisión Nacional de Bancos y Seguros Manual de Usuario Transacciones UIF División de Servicios a Instituciones Financieras 10 2 Contenido 1. Presentación... 3 1.1 Objetivo... 3 2. Descarga e Instalación

Más detalles

Circuito Administrativo

Circuito Administrativo Administración de Agencias de Apuestas Se quiere construir un sistema para ofrecer a agencias de apuestas. La estrategia de la empresa es tener un único sistema que utilicen simultáneamente muchas agencias,

Más detalles

CONECTOR CTIFAC CONTENIDO

CONECTOR CTIFAC CONTENIDO CONECTOR CTIFAC CONTENIDO INTRODUCCIÓN CARACTERÍSTICAS REQUISITOS DEL SISTEMA CONTENIDO DEL ARCHIVO ZIP INSTALACIÓN EJECUCIÓN FUNCIONAMIENTO INTRODUCCIÓN CtiFac es una aplicación desarrollada para la emisión

Más detalles

BASE DE DATOS: ENFOQUE ORIENTADO A OBJETOS. Dámaso López Aragón

BASE DE DATOS: ENFOQUE ORIENTADO A OBJETOS. Dámaso López Aragón BASE DE DATOS: ENFOQUE ORIENTADO A OBJETOS Dámaso López Aragón Introducción En la actualidad, la orientación a objetos es una nueva forma de comprender los problemas y modelar el negocio de una empresa,

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

Video 2: Cómo Crear una plantilla para Generar Procedimientos Almacenados

Video 2: Cómo Crear una plantilla para Generar Procedimientos Almacenados Video 2: Cómo Crear una plantilla para Generar Procedimientos Almacenados A continuación se detallará paso a paso el proceso para generar Procedimientos Almacenados (SQL Stored Procedures) con Amonsys

Más detalles

AGREGAR COMPONENTES ADICIONALES DE WINDOWS

AGREGAR COMPONENTES ADICIONALES DE WINDOWS INSTALACIÓN DE IIS EN WINDOWS XP El sistema está desarrollado para ejecutarse bajo la plataforma IIS de Windows XP. Por esta razón, incluimos la instalación de IIS (Servidor de Web) para la correcta ejecució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

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

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. UNIVERSIDAD DE CARABOBO FACULTAD DE CIENCIA Y TECNOLOGÍA DIRECCION DE EXTENSION COORDINACION DE PASANTIAS Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. Pasante:

Más detalles

myapplicationgenerator

myapplicationgenerator myapplicationgenerator http://www.myappgen.com info@ myappgen.com copyright Carlos Leggio Instalación de la Aplicación Las aplicaciones generadas con myappgen tienen dos módulos, el principal que contiene

Más detalles

Patrones para persistencia (I) Ingeniería del Software II

Patrones para persistencia (I) Ingeniería del Software II Patrones para persistencia (I) Ingeniería del Software II 1 Patrones para la construcción del esquema relacional En todos los ejemplos realizaremos transformaciones del siguiente diagrama de clases: Figura

Más detalles

Java Inicial (20 horas)

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

Más detalles

Base de datos en Excel

Base de datos en Excel Base de datos en Excel Una base datos es un conjunto de información que ha sido organizado bajo un mismo contexto y se encuentra almacenada y lista para ser utilizada en cualquier momento. Las bases de

Más detalles

BPMN Business Process Modeling Notation

BPMN Business Process Modeling Notation BPMN (BPMN) es una notación gráfica que describe la lógica de los pasos de un proceso de Negocio. Esta notación ha sido especialmente diseñada para coordinar la secuencia de los procesos y los mensajes

Más detalles

Guía de implementación Softland en SQL Server 2012. Versión 1.0

Guía de implementación Softland en SQL Server 2012. Versión 1.0 Guía de implementación Softland en SQL Server 2012 Versión 1.0 Tabla de Contenido 1. INTRODUCCIÓN... 2 2. MIGRACIÓN A SQL SERVER 2012... 2 2.1 Ausencia de Compatibilidad con versiones anteriores... 2 3.

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

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

Pruebas de unidad con JUnit

Pruebas de unidad con JUnit Pruebas de unidad con JUnit Cuando se implementa software, resulta recomendable comprobar que el código que hemos escrito funciona correctamente. Para ello, implementamos pruebas que verifican que nuestro

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

Tema 2. Técnicas básicas de POO. Técnicas de Programación - Curso 2007/08

Tema 2. Técnicas básicas de POO. Técnicas de Programación - Curso 2007/08 Tema 2 Técnicas básicas de POO Técnicas de Programación - Curso 2007/08 Contenido Principios de POO Encapsulación Herencia Polimorfismo Ejemplos Técnicas básicas Delegación Uso de interfaces Interfaces

Más detalles

Resumen de clase. Ejercicio Clientes de una Tarjeta de Crédito (Introducción al Decorator Pattern)

Resumen de clase. Ejercicio Clientes de una Tarjeta de Crédito (Introducción al Decorator Pattern) Resumen de clase Ejercicio Clientes de una Tarjeta de Crédito (Introducción al Decorator Pattern) 2 cuatrimestre 2008 Contenido ENUNCIADO...3 SOBRE EL DOMINIO...3 SOLUCIÓN...4 DE QUÉ LADO CAE LA PELOTA?...4

Más detalles

SISTEMA DE GESTIÓN DE INCIDENCIAS Y REQUERIMIENTOS MESA DE AYUDA SINAT MANUAL DE USUARIO

SISTEMA DE GESTIÓN DE INCIDENCIAS Y REQUERIMIENTOS MESA DE AYUDA SINAT MANUAL DE USUARIO SISTEMA DE GESTIÓN DE INCIDENCIAS Y REQUERIMIENTOS MESA DE AYUDA SINAT MANUAL DE USUARIO 1 Objetivo del Manual Elaborado por: Revisado por: Aprobado por: Fecha: 13/08/2015 Difusión: Información del Manual

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

9- Procedimientos almacenados.

9- Procedimientos almacenados. Objetivos: 9- Procedimientos almacenados. Crear procedimientos almacenados para ser usados en el desarrollo de software. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Base de datos

Más detalles

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) 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

Más detalles

Introducción - por qué usarlas?(1)

Introducción - por qué usarlas?(1) Excepciones en Java Introducción - por qué usarlas?(1) En el mundo de la programación hay algo que siempre ocurre: los errores en los programas. Pero qué sucede realmente después de que ha ocurrido el

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

POLIMORFISMO "una interfaz, múltiples métodos".

POLIMORFISMO una interfaz, múltiples métodos. "una interfaz, múltiples métodos". 20/02/2007 Polimorfismo 2 Indice Definición y caracteristicas Objetivos. SOBRRESCRITURA-SOBRECARGA SOBRECARGA Clases y métodos abstractos INTERFACES (herencia múltiple)

Más detalles

2. Conceptos básicos Abstracción La abstracción como un proceso mental natural La abstracción en el desarrollo de software

2. Conceptos básicos Abstracción La abstracción como un proceso mental natural La abstracción en el desarrollo de software 2. Conceptos básicos Hoy en día las aplicaciones son demasiado voluminosas y complejas para ser manejadas por una sola persona. Las aplicaciones de software son complejas porque modelan la complejidad

Más detalles

REGISTRO DE EMPRESAS Y PERSONAS BASE DE INFORMACIÓN DE CLIENTES & CONTACTOS

REGISTRO DE EMPRESAS Y PERSONAS BASE DE INFORMACIÓN DE CLIENTES & CONTACTOS REGISTRO DE EMPRESAS Y PERSONAS BASE DE INFORMACIÓN DE CLIENTES & CONTACTOS La gestión del asesor comercial se basa en mantener contacto personalizado con un grupo de clientes empresariales o personales.

Más detalles

Pasamos ahora a definir brevemente cual es el método de conexión más habitual usando un entorno gráfico.

Pasamos ahora a definir brevemente cual es el método de conexión más habitual usando un entorno gráfico. Clientes de FTP en modo gráfico Introducción Ya vimos en la primera parte de nuestro curso de FTP, que la conexión a servidores inicialmente se realizaba (y aún se sigue haciendo) en modo texto. Aunque

Más detalles

Modulo 1 El lenguaje Java

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

Más detalles

CONFIGURACIÓN DEL SERVIDOR

CONFIGURACIÓN DEL SERVIDOR CONFIGURACIÓN DEL SERVIDOR Una vez finalizadas las configuraciones iniciales de las interfaces y direcciones IPs, desde cualquier equipo de la red abrimos el navegador e introducimos la dirección IP del

Más detalles

Preguntas más frecuentes para Ingressio Cliente Servidor 2015

Preguntas más frecuentes para Ingressio Cliente Servidor 2015 Preguntas más frecuentes para Ingressio Cliente Servidor 2015 1. Con qué motores de base de datos es compatible Ingressio 2015?...2 2. Lectores Compatibles con Ingressio Cliente Servidor 2015...2 3. Qué

Más detalles

GVisualPDA Módulo de Almacén

GVisualPDA Módulo de Almacén GVisualPDA Módulo de Almacén GVisualPDA es una aplicación para Windows Mobile 5/6 que amplía más aún las posibilidades de integración del software de gestión GVisualRec permitiendo estar conectados en

Más detalles

Creación y administración de grupos de dominio

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

Más detalles

Desarrollo de Servicios Web con JBuilder

Desarrollo de Servicios Web con JBuilder Artículos técnicos Grupo Danysoft: Desarrollo de Servicios Web con JBuilder Segunda parte Oscar Cristobal Ruiz Departamento Java Equipo Grupo Danysoft Enero 2003 - (902) 123146 www.danysoft.com Desarrollo

Más detalles

Cómo compilar y ejecutar programas en ĺınea de comandos

Cómo compilar y ejecutar programas en ĺınea de comandos Cómo compilar y ejecutar programas en ĺınea de comandos Universidad Complutense de Madrid I.E.S. Antonio de Nebrija (Móstoles) http://www.programa-me.com 1 Cómo compilar y ejecutar programas en línea de

Más detalles

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007 Enunciado Se desea efectuar el testing funcional de un programa que ejecuta transferencias entre cuentas bancarias. El programa recibe como parámetros la cuenta de origen, la de cuenta de destino y el

Más detalles

Titulo del Proyecto FACYU Sistema de Facturación. Alumnos David Ignacio Morales Ruelas Marco Antonio Jiménez Uribe Carlos José Márquez Guzmán

Titulo del Proyecto FACYU Sistema de Facturación. Alumnos David Ignacio Morales Ruelas Marco Antonio Jiménez Uribe Carlos José Márquez Guzmán Titulo del Proyecto FACYU Sistema de Facturación Alumnos David Ignacio Morales Ruelas Marco Antonio Jiménez Uribe Carlos José Márquez Guzmán Asesor Emmanuel López Neri 1. INTRODUCCIÓN 1.1 PROPÓSITO 1.2

Más detalles

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario Apéndice 5 Manual de usuario de ColeXión ColeXión 1.0 Manual de usuario Índice 1. Qué es ColeXión?... 2 2. Requerimientos del sistema... 3 3. Instalación de ColeXión... 3 4. Creación de un nuevo esquema...

Más detalles

Operación Microsoft Access 97

Operación Microsoft Access 97 Trabajar con Controles Características de los controles Un control es un objeto gráfico, como por ejemplo un cuadro de texto, un botón de comando o un rectángulo que se coloca en un formulario o informe

Más detalles

Taller de Sistemas de Información 1

Taller de Sistemas de Información 1 Taller de Sistemas de Información 1 Trabajo de Laboratorio Primer Semestre Año 2007 1. Introducción En los tiempos que corren los clásicos juegos de mesa han sido llevados a Internet al igual que muchas

Más detalles

Universidad ORT - Arquitectura de Software. Requisitos

Universidad ORT - Arquitectura de Software. Requisitos Requisitos Versión 1.5 (o superior) de la JDK de Java NetBeans 6.5 como IDE de desarrollo JBoss 4.2.x como Application Server Variable de entorno de Windows JAVA_HOME apuntando al directorio de instalación

Más detalles

SEPARAR Y ADJUNTAR UNA BASE DE DATOS. Separar una base de datos

SEPARAR Y ADJUNTAR UNA BASE DE DATOS. Separar una base de datos SEPARAR Y ADJUNTAR UNA BASE DE DATOS Separar una base de datos Al separar una base de datos la está eliminando de la instancia de SQL Server, pero la deja intacta en sus archivos de datos y en los archivos

Más detalles

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 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

Más detalles

Examen escrito de Programación 1

Examen escrito de Programación 1 Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 2 de septiembre de 2015 Se debe disponer sobre la mesa en lugar visible un documento

Más detalles

PHP y MySQL. Inicio: - Herencia - Palabra clave Final - Polimorfismo - Type Hinting - Abstracción de clases

PHP y MySQL. Inicio: - Herencia - Palabra clave Final - Polimorfismo - Type Hinting - Abstracción de clases PHP y MySQL Inicio: - Herencia - Palabra clave Final - Polimorfismo - Type Hinting - Abstracción de clases Herencia de Objetos La herencia permite crear muchas clases que son similares entre si, sin tener

Más detalles

Programación Orientada a Objetos. Java: Excepciones

Programación Orientada a Objetos. Java: Excepciones Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España

Más detalles

Solución Algorítmica de Problemas Proyecto - Unidad #2 Metro de Curicó

Solución Algorítmica de Problemas Proyecto - Unidad #2 Metro de Curicó Solución Algorítmica de Problemas Proyecto - Unidad #2 Metro de Curicó Fecha de Entregable 1: 7 de octubre de 2013-12 horas Fecha de Entregable 2 y 3: Lunes 21 de octubre de 2013-12 horas Fecha de Entregable

Más detalles

Sintaxis y Convenciones de Java. M. en C. Erika Vilches

Sintaxis y Convenciones de Java. M. en C. Erika Vilches Sintaxis y Convenciones de Java M. en C. Erika Vilches Estructura del Código en Java Hay una clase en un archivo fuente Hay métodos en una clase Hay enunciados en un método Anatomía de una Clase Cuando

Más detalles

Internet Information Server

Internet Information Server Internet Information Server Internet Information Server 5.0 es un servidor web, que incluye los servicios de HTTP, HTTPS, FTP, SMTP (correo saliente) y NNTP (grupos de noticias). Además es capaz de ejecutar

Más detalles

Software de Comunicaciones. Práctica 7 - Secure Shell. SSH

Software de Comunicaciones. Práctica 7 - Secure Shell. SSH Software de Comunicaciones Práctica 7 - Secure Shell. SSH Juan Díez-Yanguas Barber Software de Comunicaciones Ingeniería Informática - 5º Curso Jdyb - Mayo 2013 Juan Díez- Yanguas Barber Práctica 7 Índice

Más detalles

Manual de Ayuda. Sistema de Comercializacion RUBROS SRL - Desarrollado por Pragmatia

Manual de Ayuda. Sistema de Comercializacion RUBROS SRL - Desarrollado por Pragmatia Manual de Ayuda Sistema de Comercializacion RUBROS SRL - Desarrollado por Pragmatia Instalación Cómo instalar? 1. Para la instalación de este programa solo debe insertar el CD en su lectora, el mismo auto

Más detalles

INFORMACIÓN ACCESOS AL PORTAL PARA EMPLEADOS DE LA DIPUTACIÓN DE SEVILLA INDICE

INFORMACIÓN ACCESOS AL PORTAL PARA EMPLEADOS DE LA DIPUTACIÓN DE SEVILLA INDICE INFORMACIÓN ACCESOS AL PORTAL PARA EMPLEADOS DE LA DIPUTACIÓN DE SEVILLA INDICE 1.-PARA EL ACCESO AL PORTAL DE TODOS LOS USUARIOS. COMPROBACIONES PREVIAS 2.-PASOS A SEGUIR PARA EL ACCESO AL PORTAL 3.-PREGUNTAS

Más detalles

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Entidad Formadora: Plan Local De Formación Convocatoria 2010 Entidad Formadora: Enterprise Architect Comenzando Puede iniciar Enterprise Architect desde el ícono que se creó en su escritorio de Windows durante la instalación, o alternativamente: 1. Abrir el menú

Más detalles

Web Panels en Visual Basic - GeneXus 6.0

Web Panels en Visual Basic - GeneXus 6.0 Web Panels en Visual Basic - GeneXus 6.0 Los webpanels se implementan como programas CGI, que cuando se ejecutan, generan una salida HTM que se envía al Browser. Estos programas CGI, permiten realizar

Más detalles

Manejo de Errores Ejercicio Facturas

Manejo de Errores Ejercicio Facturas Manejo de Errores Ejercicio Facturas Resumen de clase Indice ENUNCIADO... 2 ENCARANDO LA SOLUCIÓN... 3 PRIMERO, LAS RESPONSABILIDADES DE LOS OBJETOS... 3 AHORA VAMOS A RESOLVERLO EN LA MÁQUINA: POR DÓNDE

Más detalles

CAPÍTULO 3 DISEÑO DE LA ARQUITECTURA

CAPÍTULO 3 DISEÑO DE LA ARQUITECTURA CAPÍTULO 3 DISEÑO DE LA ARQUITECTURA Para el desarrollo de la arquitectura interna del subsistema de programación de actividades se utilizó como referencia la Arquitectura de Aplicaciones.NET 105 de Microsoft

Más detalles

Proyecto Fortalecimiento de las capacidades TIC en PyMEs y Gobiernos Locales mediante el uso de software libre Manual de Instalación Openbravo POS

Proyecto Fortalecimiento de las capacidades TIC en PyMEs y Gobiernos Locales mediante el uso de software libre Manual de Instalación Openbravo POS Proyecto Fortalecimiento de las capacidades TIC en PyMEs y Gobiernos Locales mediante el uso de software libre Elaborado por Setiembre, 2011 Este documento se desarrolló en el marco del Proyecto Fortalecimiento

Más detalles

TUTORIAL DESARROLLO DE APLICACIONES PARA EVOLUTION CON MS ACCESS

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

Más detalles

Aviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported

Aviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported PROGRAMACIÓN ORIENTADA A OBJETOS APLICADA A BASES DE DATOS Por LAURA NOUSSAN LETTRY BrowserSQL MySQL Workbench en Linux (Abril 2015, Mendoza) Aviso Legal El presente libro electrónico se distribuye bajo

Más detalles

Windows Server 2012: Zonas DNS

Windows Server 2012: Zonas DNS Windows Server 2012: Zonas DNS 2 Tabla de Contenidos Objetivos... 5 Zonas DNS... 7 Qué es una zona DNS?... 7 Tipos de zonas DNS... 7 Zona principal... 8 Zona secundaria... 8 Zona de rutas internas... 8

Más detalles

Para poder instalar el producto, tendremos que obtener el instalador apropiado para nuestro entorno hardware y software.

Para poder instalar el producto, tendremos que obtener el instalador apropiado para nuestro entorno hardware y software. Instalación de Oracle Service BUS (OSB) 1 DESCARGA DE INSTALADOR Para poder instalar el producto, tendremos que obtener el instalador apropiado para nuestro entorno hardware y software. En la siguiente

Más detalles

Ejercicio 1 (3 puntos).-

Ejercicio 1 (3 puntos).- URJC Ingeniería Técnica de Gestión Abril 2011 Asignatura: SOFTWARE AVANZADO Normas: La prueba consta de 2 ejercicios. La máxima nota del examen es un 8. Siendo la práctica la que añade los 2 puntos que

Más detalles

LABORATORIO DE RC: PRÁCTICA 4: IMPLEMENTACIÓN DE UN CLIENTE DE CORREO

LABORATORIO DE RC: PRÁCTICA 4: IMPLEMENTACIÓN DE UN CLIENTE DE CORREO UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións LABORATORIO DE RC: PRÁCTICA 4: IMPLEMENTACIÓN DE UN CLIENTE DE CORREO PRÁCTICA 4: Implementación de un Cliente de Correo

Más detalles

Introducción a la Programación Orientada a Objetos

Introducción a la Programación Orientada a Objetos Introducción a la Programación Orientada a Objetos El paradigma imperativo. En un programa se tienen una serie de variables con las cuales operamos y modificamos mediante sentencias y funciones para producir

Más detalles

Tema 6. Reutilización de código. Programación 2015-2016. Programación - Tema 6: Reutilización de código

Tema 6. Reutilización de código. Programación 2015-2016. Programación - Tema 6: Reutilización de código Tema 6 Reutilización de código Programación 2015-2016 Programación - Tema 6: Reutilización de código 1 Tema 6. Reutilización de código Modularidad. Implementación de métodos. Uso de métodos. Programación

Más detalles

WINDOWS ESSENTIALS TECNOLOGIA EN GESTION REDES DE DATOS FASE 3 APRENDIZ: LUIS FERNANDO MONTENEGRO INSTRUCTOR: GERMAN LEAL FLORES

WINDOWS ESSENTIALS TECNOLOGIA EN GESTION REDES DE DATOS FASE 3 APRENDIZ: LUIS FERNANDO MONTENEGRO INSTRUCTOR: GERMAN LEAL FLORES WINDOWS ESSENTIALS TECNOLOGIA EN GESTION REDES DE DATOS FASE 3 APRENDIZ: LUIS FERNANDO MONTENEGRO INSTRUCTOR: GERMAN LEAL FLORES CENTRO DE SERVICIOS Y GESTION EMPRESARIAL MEDELLIN 2012 Parte 0: Tipos de

Más detalles

Alta Disponibilidad y Virtualización con soluciones de bajo costo

Alta Disponibilidad y Virtualización con soluciones de bajo costo OpenStack (Administración Básica) Descripción General En este laboratorio veremos las opciones basicas en la administracion de un ambiente de virtualizacion usando una herramienta de manejo centralizada

Más detalles

Práctica sobre compartición de instancias remotas.

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

Más detalles

Formas de llevar a cabo un backup de una base de datos MySQL

Formas de llevar a cabo un backup de una base de datos MySQL Formas de llevar a cabo un backup de una base de datos MySQL Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www..com Introducción Muchas aplicaciones web hacen uso de bases de datos donde

Más detalles

Tablas y Campos Nuevos

Tablas y Campos Nuevos Tablas y Campos Nuevos Maxicomercio tiene la capacidad para poder agregar tablas y campos nuevos para darle nueva funcionalidad al sistema, los cambios que realice a la estructura de la base de datos podrán

Más detalles

Actividades de Divulgación del Centro Atómico Bariloche. Qué hay detrás de un programa de computadora? Daniela Arnica Pablo E. Argañaras.

Actividades de Divulgación del Centro Atómico Bariloche. Qué hay detrás de un programa de computadora? Daniela Arnica Pablo E. Argañaras. Actividades de Divulgación del Centro Atómico Bariloche Qué hay detrás de un programa de computadora? Expositores: Daniela Arnica Pablo E. Argañaras División Mecánica Computacional Gerencia de Investigación

Más detalles

Internet Móvil Claro. Configuración de dispositivos Treo 750. Elaborado po r Roberto Orlando Santamaría Zavaleta

Internet Móvil Claro. Configuración de dispositivos Treo 750. Elaborado po r Roberto Orlando Santamaría Zavaleta Internet Móvil Claro Configuración de dispositivos Treo 750 Elaborado po r Roberto Orlando Santamaría Zavaleta 11 de Junio de 2008 ACTIVACION DE SERVICIO INTERNET MOVIL Para los clientes que utilizan dispositivo

Más detalles

A- CREAR COPIA FÍSICA Y HEREDAR REGISTRO DE CONFIGURACIÓN

A- CREAR COPIA FÍSICA Y HEREDAR REGISTRO DE CONFIGURACIÓN Pag - 1 Guía de Elaboración de Reportes Herramienta de Administración 2.0 A- CREAR COPIA FÍSICA Y HEREDAR REGISTRO DE CONFIGURACIÓN NOTA: Los pasos de esta sección deben ser ejecutados si identifica realizar

Más detalles

Grupo Cibermundo Consultores S.A. DE C.V.

Grupo Cibermundo Consultores S.A. DE C.V. INSTALACION DEL PROGRAMA Y CONFIGURACION BASICA Este tutorial es muy importante porque dependen muchas soluciones, seguido tenemos problemas como:. Bases de datos dañadas Actualizaciones de bases de datos

Más detalles

Sistema para el alquiler, control de películas y clientes en una videotienda

Sistema para el alquiler, control de películas y clientes en una videotienda CASO DE PRUEBA: Sistema para el alquiler, control de películas y clientes en una videotienda Documento de arquitectura Y servicios Versión Historia de Revisión Fecha Versión Descripción Responsable

Más detalles