Workflow, BPM y Java Resumen de la presentación de Tom Baeyens
|
|
- Ana María Sánchez Ortega
- hace 8 años
- Vistas:
Transcripción
1 Workflow, BPM y Java Resumen de la presentación de Tom Baeyens Workflow, BPM y Java Página 1 de 11
2 1. Introducción Tom Baeyens es el fundador y arquitecto del proyecto de JBoss jbpm, la máquina de workflow open source. En este documento se presentan los puntos más importantes considerados en la presentación de JBoss jbpm realizada por su fundador el 23 de junio de Qué es lo que le falta a Java? Luego de todo el problema para hacer que Java sea rápido, vamos a introducir estados de espera, esta es la principal dificultad que vamos a tratar. Lo que se quiere mostrar en la presentación es que no se necesita magia para realizar todo ese trabajo. Figura 1 Como puede verse en la figura 1, se tienen diferentes dominios, el dominio de workflow con sus requerimientos específicos, el dominio de BPM con sus requerimientos específicos, y finalmente los requerimientos de orquestación. Hay soluciones en cada dominio. Algo que se ha descubierto es que en muchos de estos dominios, no solo estos 3 porque en realidad hay mas, todas las soluciones son parecidas pero son muy diferentes, no tienen un modelo en común. Esto es lo que se presentará a continuación, el hecho de que se pudo encontrar un modelo en común que por un lado es bastante chico y simple de entender y por el otro lado puede ser extendido en cada uno de los dominios funcionales mencionados anteriormente. Workflow, BPM y Java Página 2 de 11
3 Figura 2 Se tiene un sistema A y un sistema B y se quiere suspender la ejecución del sistema A mientras espera por la ejecución de ciertas instrucciones de B. Hay que ver cuales son las limitaciones de Java para este tipo de tareas. Es posible hacerlo pero lleva mucho costo, esto muestra el problema que vamos a tratar. Una forma de resolver esto es la siguiente: sendmessagetosystemb(); Response response = waitforresponsefromb(): El problema es que esto no es persistente porque si el thread de Java esta esperando el waitforresponsefromb y se apaga el servidor, el problema es que se pierde el thread y no se sabe donde se está en el proceso. Por lo tanto, este código java no es posible utilizarlo porque no es persistente. La solución tradicional a este problema es separar el código en requests separados y guardar algún estado en la base de datos. Otra cosa importante es la representación gráfica porque podemos pensar en soluciones para persistir los threads, soluciones orientadas al área técnica, pero el problema es que no hay una representación grafica y esto es importante. Por lo tanto las principales limitaciones de Java son que no es persistente y que no es posible definir una representación grafica. Ahora vamos a hablar de la representación gráfica y de por que es importante. Entre los analistas del negocio y los técnicos desarrolladores debería haber un lenguaje en común con el que puedan comunicarse. Los analistas no están aptos para escribir software porque eso requiere saber muchos detalles técnicos. Estos dibujan una representación grafica de los procesos del negocio con los que están trabajando, pero estas imágenes contienen estados de espera y esta es una de las limitaciones de java por lo que es difícil transformar esos estados de espera en software. Lo que vamos a intentar hacer es crear una solución técnica a los estados de espera y esto creara un lenguaje en común entre los analistas del negocio y los técnicos desarrolladores. Workflow, BPM y Java Página 3 de 11
4 Los analistas no crean software, estos crean un modelo inicial de los requerimientos con su representación grafica, luego los desarrolladores agregan algunos detalles técnicos. Los analistas solo miran la vista proyectada lo que significa que solo miran la parte gráfica del proceso y no los detalles que se esconden detrás. 3. Enfoque tradicional Hoy en día el mercado de workflow y sistemas BPM está muy fragmentado y no se pueden encontrar sistemas con fundamentos en común por lo que es difícil mirarlos y compararlos. Todos estos sistemas de workflow y BPM definen un conjunto de construcciones de workflow, estos son todos los elementos que se pueden dibujar en la representación gráfica, hay un conjunto fijo de construcciones. Todas estas construcciones están hardcodeadas o fuertemente ligadas al comportamiento en tiempo de ejecución o a una implementación. Cuando se dibuja algo en la pantalla se especifica el comportamiento en tiempo de ejecución o implementación. El conjunto de construcciones para definir el workflow, tipos de nodos, etc. es lo que comúnmente se llama el lenguaje del proceso. La runtime engine esta completamente escondida en el enfoque tradicional, todos estos tipos de nodos son ejecutados en el ambiente de desarrollo y no se tiene acceso a ellos, están como escondidos bajo las cortinas de la runtime engine. Este enfoque tradicional también tiene problemas tradicionales. Los sistemas tienden a ser monolíticos por lo que hace difícil integrarlos con el software java. Otro problema es que el lenguaje de proceso nunca es lo suficientemente poderoso. Existe cierta investigación sobre soluciones y especificaciones todas basadas en un conjunto fijo de tipos de nodos y se muestra que el lenguaje de proceso de ninguna de estas propuestas es lo suficientemente poderoso para construir un modelo. Otro problema es que no hay libertad para modelar, en un sistema tradicional se dibuja en la pantalla e inmediatamente se conecta a una implementación. La idea de los analistas es dibujar los nodos vacíos y posponer los detalles técnicos de la implementación para después, esto en el enfoque tradicional no es posible y se transforma en programación visual. 4. Programación orientada a grafos. Se comienza el modelo definiendo un grafo dirigido compuesto por nodos y transiciones. Workflow, BPM y Java Página 4 de 11
5 Figura 3 Podemos modelar esto de la siguiente forma: Figura 4 El siguiente paso es definir un modelo de ejecución. Un token es una ruta de ejecución en un sistema en particular. Cuando se ejecuta codigo Java, un token corresponde a un thread pero la diferencia es que cuando un sistema A envía un mensaje a un sistema B y está esperando entonces el token sigue ahí, el token sigue representando esta ejecución porque desde el sistema B se espera un mensaje en la misma ejecución en la cual luego se quieren hacer mas cálculos. Un token es la base para un modelo de ejecución de un grafo. Figura 5 En la figura anterior se puede ver el grafo que especifica el proceso del negocio y se puede ver un árbol de tokens. Un token representa una parte de la ejecución, pero un proceso del negocio puede tener muchas partes de ejecución concurrentes y para modelar eso tenemos una relación padre-hijo entre los tokens. Tenemos un token principal creado al inicio de la ejecución y luego hay un fork por lo que tenemos dos tokens los cuales son hijos del token principal y pueden progresar independientemente. Estos tokens pueden ser representados al igual que antes en cualquier formato. Workflow, BPM y Java Página 5 de 11
6 A continuación se muestra la relación entre los tokens y la relación entre un token y un nodo del grafo. Figura 6 El siguiente paso definiendo el modelo de ejecución es definir las señales. Una señal es el disparador que reanuda el proceso de ejecución. El sistema A esta ejecutando codigo java, envía un mensaje al sistema B y el token va a apuntar a un nodo en el grafo el cual es un estado de espera y luego se necesita un mecanismo para reanudar la ejecución de este token, esto es la señal. Ahora vamos a ver de qué se trata todo esto de las señales y creación de una instancia de proceso, a continuación se pueden ver dos fragmentos de código: ProcessInstance pi = new ProcessInstance(pd); Token token = pi.getroottoken(); token.signal(); //put process instance and token //in the persistent store web app MDB //fetch the token from //the persistent store Token token =...; token.signal(); La primer parte podría estar dentro de una aplicación web y la otra dentro de un MDB (Message Driven Bean). En la primer parte, se crea una nueva instancia de proceso para determinada definición de proceso. Luego, se toma el token principal de la instancia de proceso y se le da una señal porque luego de creada la instancia de proceso el token raíz apunta al estado inicial del proceso. Esta señal va a hacer que el token que apunta al primer estado deje ese estado a través de una transición y el proceso se va a ejecutar hasta que entre en algún estado de espera. Entonces la ejecución del proceso está en algún estado apuntando a algún nodo del proceso grabado en Workflow, BPM y Java Página 6 de 11
7 persistencia. Luego MDB puede traer el token de la persistencia y reanudar la ejecución del mismo con la señal. El algoritmo de ejecución es básicamente una variante de la cadena de responsabilidades. Veamos que pasa internamente cuando un proceso se está ejecutando. Figura 7 Dada una instancia de proceso en un estado dado, hay un token apuntando a un nodo en el grafo. En ese momento, se puede enviar una señal al token y eso va a tener un efecto que va a hacer que se ejecute el método leave(token,transition) del nodo, donde el token se pasa a si mismo como parámetro y se ejecuta la operación take de la transición que también se pasa como parámetro. El método take de la transición se va a fijar en el nodo destino y va a ejecutar el método excecute de dicho nodo pasándole el mismo token como parámetro. Puede verse que el token es pasado desde un nodo hasta el otro nodo por medio de la transición. En el método excecute del nodo destino, dos cosas pueden pasar, primero que nada, cada nodo puede implementar un comportamiento especifico y esa es la primer responsabilidad que tiene el método excecute, denominada responsabilidad funcional. Además, el método excecute también es responsable de la propagación de la ejecución del proceso, esto significa que podría invocar un método leave para hacer una transición o podría no hacer nada en caso de que tenga que quedarse esperando. Otra opción sería crear nuevos tokens concurrentes y lanzarlos a través de transiciones diferentes. Para cada tipo de nodo se puede tener una subclase de la clase Nodo y se sobrecarga el método excecute para reflejar los diferentes comportamientos que pueden tener los nodos. Este algoritmo esta alineado con transacciones y sincronización. Por cada pedido que llega al servidor, se tiene una transacción y típicamente todos los cálculos que se hacen pertenecen a una transacción. En cualquier momento se puede agregar comunicación asíncrona, cuando esto se hace es más fácil combinar todo esto. Los analistas del negocio dibujan el grafo y los técnicos desarrolladores pueden agregar detalles técnicos como ser transacciones y sincronización o comportamiento. Workflow, BPM y Java Página 7 de 11
8 Una característica importante es que no hay reinvención, esto significa que pueden hacerse subclases de Nodo e implementar el método excecute. En el código dentro de un Nodo se puede utilizar cualquier API de Java, por ejemplo JMS para comunicación asíncrona. Tenemos que ser capaces de definir más detalles técnicos y esto se hace agregando acciones. Antes de definir lo que son las acciones es necesario definir que son los eventos. Los eventos también se pueden especificar en el grafo, por ejemplo, tomar una transición, entrar a un nodo, dejar un nodo. Figura 8 Los eventos se consideran instantáneos, son disparados y eso es todo, se ejecutan, sin espera. Algo importante sobre las acciones es que están escondidas de la representación visual del proceso y esto es bueno para que los desarrolladores puedan agregar detalles técnicos sin tener que modificar el grafo dibujado por los analistas. Cualquier cosa se puede modelar como un nodo si es interesante para los analistas, pero si no lo es se puede modelar luego como una acción. En la figura 8 pueden verse los eventos como cuadrados y las acciones como rectángulos rojos incluidos en estos. En cada evento se tienen una lista de acciones. Al inicio se tiene un token el cual apunta al primer nodo del grafo, luego se envía una señal y el token comienza a viajar por la transición hacia el siguiente nodo y cuando esto pasa las acciones que se encuentran en el evento de la transición son ejecutadas una por una, luego el token se mueve hacia el evento de entrada al siguiente nodo y se ejecutan las acciones del evento y luego el token se posiciona en el nodo. Ahora vamos a ver la programación orientada a grafos desde otra perspectiva. La programación orientada a grafos provee razones para estructurar el software mediante un grafo. Esto es importante porque existen muchas técnicas para desarrollar software que son solo técnicas para estructurar. La primer técnica creada hace mucho tiempo atrás fue la de programación abstracta la cual permite crear mucha abstracción en el código separando los métodos de las definiciones de Workflow, BPM y Java Página 8 de 11
9 operaciones, esto en realidad es una forma de estructurar para hacer que el código sea mas mantenible y más fácil de desarrollar. Lo mismo con la programación orientada a objetos la cual fue el siguiente paso, y lo mismo con programación orientada a aspectos la cual fue el siguiente paso y también es una forma de estructurar el software. Volviendo ahora al algoritmo de ejecución visto antes, básicamente esto también es una forma de estructurar el software y en este caso es estructurarlo alrededor de un grafo. Sabemos que el costo de realizar un proyecto de software está exponencialmente relacionado al tamaño del proyecto por lo que si podemos bajar la complejidad va a haber un impacto en el costo. 5. Conclusiones Una simple API y la cadena de responsabilidades reemplazan los sistemas monolíticos. No se necesita más un sistema monolítico, es mucho más fácil integrar esto con código Java existente. Herencia de Nodo. Podemos crear nuevos tipos de nodos creando subclases de la clase Nodo y sobrecargando el método excecute. Agregado de acciones invisibles. Le da libertad al modelado, los analistas pueden modelar lo que quieren y no es necesario que modifiquen el grafo para agregar alguna cuestión técnica que no les preocupa. Los analistas pueden concentrarse en las cosas que son importantes para ellos sabiendo que los técnicos son los que van a hacer que sea ejecutable agregando detalles técnicos. Ciclo del proceso de desarrollo, o proceso de desarrollo iterativo donde los analistas del negocio crean un modelo inicial, los técnicos refinan el modelo, éste vuelve a los analistas y se crea un círculo. Reemplaza la programación visual la cual existe en las soluciones tradicionales. A continuación se muestra una estructura de bloques donde puede verse cual es la posición de la programación orientada a grafos relacionada a Java y el área funcional. Workflow, BPM y Java Página 9 de 11
10 Figura 9 Esto esta relacionado a la figura 1 donde pueden verse los 3 dominios. Posicionamos la programación orientada a grafos inmediatamente arriba de Java. En este modelo se pueden agregar características para el manejo de tareas (task management features) directamente relacionadas al workflow y agregar una interfaz de usuario arriba de las tareas de manejo mencionadas. En otro dominio funcional se pueden agregar características para la invocación asíncrona, se pueden agregan diferentes mecanismo de transporte como los web services. Lo que se hace es extender la programación orientada a grafos para agregar características de orquestación. Lo mismo para BPM, también se puede extender la programación orientada a grafos construyendo bloques arriba de ella. jbpm está construido utilizando este paradigma por lo que si se lo quiere extender utilizando algún área funcional esto se puede hacer construyendo bloques arriba como se mencionó anteriormente. 6. Resumen Java tiene un soporte limitado para estados de espera. La programación orientada a grafos extiende Java con la habilidad de suspender y reanudar ejecuciones. La programación orientada a grafos sigue el paradigma de bloques. Se pueden agregar más componentes funcionales arriba de la programación orientada a grafos en cualquier dirección, en el dominio de workflow, BPM u orquestación. JBoss jbpm es un proyecto que implementa esta tecnología, puede ser utilizado en cualquier ambiente Java ya que proporciona un API. Workflow, BPM y Java Página 10 de 11
11 Se puede comenzar muy simple agregando esta librería Java al classpath, escribiendo una simple aplicación web pero es importante saber que si se necesita después se puede escalar a un nivel empresarial. La idea de la programación orientada a grafos es brindar la comodidad de que un grupo de analistas estudien un problema y busquen la solución mediante la generación de un grafo que modele el proceso de la realidad planteada, y a partir de este grafo los programadores implementen las acciones a realizar en cada nodo del grafo, así como también en las transiciones y en las distintas acciones que pueden ocurrir. Esto implica que la definición del grafo generado por los analistas es estática, pero permite que si en un momento dado el problema cambia, los analistas modifican el grafo para representar estos cambios y a su vez los programadores tienen que modificar la implementación necesaria para que los cambios en el grafo tengan efecto. 7. Referencias - integration Pagina de cursos on-line donde se encuentra la presentación de Tom Baeyens. Pagina principal de jbpm. Pagina principal de Jboss. Foros de jbpm. Workflow, BPM y Java Página 11 de 11
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 detallesUNIDAD 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 detallesWorkflows? 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 detallesInteroperabilidad 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 detallesUNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS
UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS CURSO: JAVA BASICO PROFESOR: EMERSON CASTAÑEDA SANABRIA TEMA: Programación Orientada a Objetos OBJETIVOS: Familiarizarse con la Programación
Más detallesSERVICE 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 detallesNovedades 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 detalles3.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 detallesCurso 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 detallesApp para realizar consultas al Sistema de Información Estadística de Castilla y León
App para realizar consultas al Sistema de Información Estadística de Castilla y León Jesús M. Rodríguez Rodríguez rodrodje@jcyl.es Dirección General de Presupuestos y Estadística Consejería de Hacienda
Más detallesEl modelo de ciclo de vida cascada, captura algunos principios básicos:
Ciclo de Vida del Software Un modelo de ciclo de vida define el estado de las fases a través de las cuales se mueve un proyecto de desarrollo de software. El primer ciclo de vida del software, "Cascada",
Más detallesSEPARAR 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 detallesImplementando un ERP La Gestión del Cambio
Artículos> Implementando un ERP - La Gestión del Cambio Artículo Implementando un ERP La Gestión del Cambio 1 Contenido Sumario Ejecutivo 3 Los sistemas ERP flexibilizan la gestión de la empresa y su cadena
Más detallesMANUAL BASICO DE WEBEX
MANUAL BASICO DE WEBEX Webex es un servicio de web conferencias y soluciones de colaboración, lo que significa que nos permite crear una conferencia por internet en la cual además de vernos los unos a
Más detallesA continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante
Modulo 2. Inicio con Java Muchas veces encontramos en nuestro entorno referencias sobre Java, bien sea como lenguaje de programación o como plataforma, pero, que es en realidad Java?, cual es su historia?,
Más detallesGeneXus BPM Suite X. Última actualización: 01 de Setiembre de 2008
Última actualización: 01 de Setiembre de 2008 Copyright Artech Consultores S. R. L. 1988-2008. Todos los derechos reservados. Este documento no puede ser reproducido en cualquier medio sin el consentimiento
Más detallesCapitulo III. Diseño del Sistema.
Capitulo III. Diseño del Sistema. Para el desarrollo del sistema en la presente tesis se utilizo el paradigma orientado a objetos utilizando el lenguaje Java en su versión 1.2. Por medio de este lenguaje
Más detallesPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS Clase 1. Introducción Profesor: Diego Sánchez Gómez Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases
Más detalles4. 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(PHP y APACHE), y el programa de comunicación Skype, para controlar de manera
Capítulo 4. Llamada Telefónica En este capítulo se explicará la manera en que se configuraron las herramientas web (PHP y APACHE), y el programa de comunicación Skype, para controlar de manera dinámica
Más detallesAdministración por Procesos contra Funciones
La administración moderna nos marca que en la actualidad, las organizaciones que no se administren bajo un enfoque de procesos eficaces y flexibles, no podrán sobrepasar los cambios en el entorno y por
Más detallesSOLUCION 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,
Más detallesCapí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 detallesIV. Implantación del sistema.
IV. Implantación del sistema. Para hablar sobre el proceso de desarrollo del sistema de Recuperación de Información Visual propuesto, empezaremos hablando del hardware utilizado, las herramientas de software
Más detallesUnidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)
Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.
Más detallesJavaScript como Orientación a Objetos
Gustavo Lacoste (gustavo@lacosox.org) October 2012 Resumen El objetivo de las siguientes notas es generar una estructura en JavaScript que nos permita reutilizar de manera limpia las funciones creadas
Más detallesEn términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas.
1 de 18 Inicio Qué es un foro En términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas. En el campus virtual, el foro es una herramienta
Más detallesMetodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales
Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales Modulo 03 UML: Vista de Casos de Uso Artefacto: Actores Catedrático MSC. Jose Juan Aviña Grimaldo e-mail josejuan_avina@gmail.com
Más detallesCapítulo VI. Diagramas de Entidad Relación
Diagramas de Entidad Relación Diagramas de entidad relación Tabla de contenido 1.- Concepto de entidad... 91 1.1.- Entidad del negocio... 91 1.2.- Atributos y datos... 91 2.- Asociación de entidades...
Más detallesAná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
Más detallesLas Relaciones Públicas en el Marketing social
Las Relaciones Públicas en el Marketing social El marketing social es el marketing que busca cambiar una idea, actitud o práctica en la sociedad en la que se encuentra, y que intenta satisfacer una necesidad
Más detallesPráctica del paso de generación de Leads
Práctica del paso de generación de Leads La parte práctica de este módulo consiste en poner en marcha y tener en funcionamiento los mecanismos mediante los cuales vamos a generar un flujo de interesados
Más detallesMANUAL DE AYUDA MODULO TALLAS Y COLORES
MANUAL DE AYUDA MODULO TALLAS Y COLORES Fecha última revisión: Enero 2010 Índice TALLAS Y COLORES... 3 1. Introducción... 3 CONFIGURACIÓN PARÁMETROS TC (Tallas y Colores)... 3 2. Módulos Visibles... 3
Más detallesBPMN 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 detallesOficina 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 detallesPatrones de Diseño Orientados a Objetos 2 Parte
Patrones de Diseño Orientados a Objetos 2 Parte Patrón Observador Observer (Patrón de Comportamiento) Patrón Observador Observer Observador (en inglés: Observer) es un patrón de diseño que define una dependencia
Más detallesIncidencias: Todas las incidencias que ocurrirán durante el apadrinamiento de un niño se deben registrar para poder buscar soluciones.
Apadrinamiento ONG Estudio preliminar: Se desea diseñar una aplicación para la gestión de los apadrinamientos de una asociación ONG. Para ello el sistema proporcionara una interfaz al usuario para poder
Más detallesTABLA 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 detallesGuía de inicio rápido a
Guía de inicio rápido a Office 365 para pequeñas empresas La experiencia web La experiencia de aplicaciones de escritorio La experiencia móvil Ayuda y comunidad de Office 365 Microsoft Office 365 para
Más detallesMedias Móviles: Señales para invertir en la Bolsa
www.gacetafinanciera.com Medias Móviles: Señales para invertir en la Bolsa Juan P López..www.futuros.com Las medias móviles continúan siendo una herramienta básica en lo que se refiere a determinar tendencias
Más detallesPatrones de software y refactorización de código
Patrones de software y refactorización de código Introducción y antecedentes de los patrones de software Los patrones permiten construir sobre la experiencia colectiva de ingenieros de software habilidosos.
Más detallesSección de Introducción.
Sección de Introducción. Imagen 1: Nueva pantalla de bienvenida. La primer pantalla que los usuarios visualizarán, en la última versión del software, es la sección de Introducción. Aquí los usuarios pueden
Más detallesAcronis 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 detallesCreació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 detallesRegión de Murcia Consejería de Educación, Ciencia e Investigación. Manual Usuario FCT
. Manual Usuario FCT Murcia, 9 de Julio de 2007 Manual de Usuario FCT v1.0 pág. 2 de 73 ÍNDICE Manual Usuario FCT...1 1. Tipos de usuarios... 4 2. Modelo de navegación... 5 3. Servicios... 6 3.1. Convenios...
Más detallesCapítulo 9. Archivos de sintaxis
Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta
Más detallesUso de Visual C++ Pre-Practica No. 3
Pre-Practica No. 3 Uso de Visual C++ Microsoft Visual C++ 2010 es una versión de Visual Studio específica para el lenguaje de programación C++. Es un entorno de desarrollo muy completo y profesional. Por
Más detallesModelando procesos. Introducción al modelamiento de procesos y BPM
Modelando procesos Introducción al modelamiento de procesos y BPM Concepto de BPM (Business Process Management) Es un conjunto de: Métodos Herramientas Tecnologías Es un enfoque centrado en los procesos
Más detallesPalabras clave: Taragüí. Redes sociales. Facebook. Twitter. Página web. Atención al cliente.
Palabras clave: Taragüí Redes sociales Facebook Twitter Página web Atención al cliente. 1 Resumen En los últimos años, ha habido cambios en varias dimensiones, pero una de las más importantes es la que
Más detallesBase 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 detallesEn 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 detallesIntroducció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 detallesSAP 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 detallesSISTEMA ETAP en línea Estándares Tecnológicos para la Administración Pública
JEFATURA DE GABINETE DE MINISTROS SISTEMA ETAP en línea Estándares Tecnológicos para la Administración Pública Manual para los Organismos Índice Índice... 2 Descripción... 3 Cómo solicitar la intervención
Más detallesMejores prácticas para el éxito de un sistema de información. Uno de los problemas de información dentro de las empresas es contar con datos
ANEXO VI. Mejores prácticas para el éxito de un sistema de información Uno de los problemas de información dentro de las empresas es contar con datos importantes del negocio y que éstos estén aislados
Más detallesCurso PHP Módulo 1 R-Luis
Lenguaje PHP Introducción Archivos HTML y PHP: Crear un archivo php es tan sencillo como cambiarle la extensión a un archivo html, por ejemplo podemos pasar de index.html a index.php sin ningún inconveniente.
Más detallesSistema 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 detallesManejo de versiones 392
Manejo de versiones 392 El desarrollo de software es un trabajo en equipo y cierto grado de confusión es inevitable. No puedo reproducir el error en esta versión! Qué pasó con el arreglo de la semana pasada?
Más detallesProceso 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 detallesINDICE. 1. Introducción... 4. 2. El panel Entities view... 5. 3. El panel grafico... 6. 4. Barra de botones... 6. 4.1. Botones de Behavior...
MANUAL DE USUARIO INDICE 1. Introducción... 4 2. El panel Entities view... 5 3. El panel grafico... 6 4. Barra de botones... 6 4.1. Botones de Behavior... 7 4.2. Botones de In-agents... 8 4.3. Botones
Más detallesOperació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 detallesCONSTRUCCIÓN DEL PROCESO TRANSACCIONAL Bizagi Process Modeler
Bizagi Process Modeler Copyright 2011 - bizagi Contenido 1. INTRODUCCIÓN A LAS TRANSACCIONES... 3 2. DIAGRAMA DEL PROCESO... 4 SUB PROCESO RESERVA... 5 SUB PROCESO REPORTE DE GASTOS... 8 3. MODELO DE DATOS...
Más detallesM.T.I. Arturo López Saldiña
M.T.I. Arturo López Saldiña Hoy en día, existen diversas aproximaciones al tema de cómo hacer que las personas trabajen dentro de una organización de manera colaborativa. El problema se vuelve más difícil
Más detallesToda base de datos relacional se basa en dos objetos
1. INTRODUCCIÓN Toda base de datos relacional se basa en dos objetos fundamentales: las tablas y las relaciones. Sin embargo, en SQL Server, una base de datos puede contener otros objetos también importantes.
Más detallesAgradecimiento: A Javier Lomelín Urrea por su dedicación y esmero en este proyecto. Manuel Fernando Guzmán Muñoz Presidente OMIJal
Karel para todos! 1 Estás interesado en aprender a programar en lenguaje de Karel? Te interesa la Olimpiada Mexicana de Informática? Esta es tu oportunidad de unirte al equipo OMI y ser parte de la mejor
Más detallesUNIDAD 1. LOS NÚMEROS ENTEROS.
UNIDAD 1. LOS NÚMEROS ENTEROS. Al final deberás haber aprendido... Interpretar y expresar números enteros. Representar números enteros en la recta numérica. Comparar y ordenar números enteros. Realizar
Más detallesDEPARTAMENTO DE EDUCACIÓN FÍSICA CURSO 2011/2012
ORIENTACIÓN.1ºESO Carreras de Orientación Una Carrera de Orientación consiste en recorrer en el menor tiempo posible una ruta situada en un terreno desconocido pasando por unos puntos obligados en un orden
Más detallesFORMACIÓN DE EQUIPOS DE E-LEARNING 2.0 MÓDULO DE DISEÑO Y PRODUCCIÓN DE MATERIALES UNIDAD 6 B
141 1 FORMACIÓN DE EQUIPOS DE E-LEARNING 2.0 Unidad 6 B 142 2 Índice SEGUIMIENTO DE PERSONAS 1 INFORMES 2 143 3 SEGUIMIENTO DE PERSONAS E INFORMES EN MOODLE El seguimiento de los participantes en Moodle
Más detallesPHP 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 detallesPropuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA
Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Documento de trabajo elaborado para la Red Temática DocenWeb: Red Temática de Docencia en Control mediante Web (DPI2002-11505-E)
Más detallesCAPÍTULO 3 Servidor de Modelo de Usuario
CAPÍTULO 3 Servidor de Modelo de Usuario Para el desarrollo del modelado del estudiante se utilizó el servidor de modelo de usuario desarrollado en la Universidad de las Américas Puebla por Rosa G. Paredes
Más detallesConoce los Tipos de Hosting que Existen y Elige el Mejor para tus Necesidades
Conoce los Tipos de Hosting que Existen y Elige el Mejor para tus Necesidades A veces me preguntan acerca de las diferencias entre muchos tipos de servicios de hospedaje web, y pensé que traería muchos
Más detallesCATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO
CATÁLOGO MANUAL DE USUARIO CATÁLOGO MANUAL DE USUARIO CATÁLOGO MANUAL DE USUARIO 1. CATÁLOGO MANUAL DE USUARIO CATÁLOGO AHORA CATÁLOGO MANUAL DE USUARIO 1 1. Introducción AHORA Catálogo es una aplicación
Más detallesGuía de uso del Cloud Datacenter de acens
guíasdeuso Guía de uso del Cloud Datacenter de Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www..com Introducción Un Data Center o centro de datos físico es un espacio utilizado para alojar
Más detalles7. CONCLUSIONES Y TRABAJOS FUTUROS
7. CONCLUSIONES Y TRABAJOS FUTUROS 7.1 CONCLUSIONES El presente trabajo ha realizado un acercamiento a JBoss AOP, un framework que permite la definición y ejecución de comportamiento aspectual. Consideramos
Más detallesMetodologías Ágiles Desde una Perspectiva de Project Management. Fernando Contreras Velásquez Project Management & Engineering Services.
Metodologías Ágiles Desde una Perspectiva de Project Management Fernando Contreras Velásquez Project Management & Engineering Services. Ing. Fernando Contreras Velásquez: PMP, PMI-SP, PMI-RMP Acerca del
Más detallesModelo 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 detallesMANUAL PARA LA GESTIÓN DEL PRÉSTAMO ENTRE LAS BIBLIOTECAS DE LA RED DE LECTURA PÚBLICA DE EUSKADI
MANUAL PARA LA GESTIÓN DEL PRÉSTAMO ENTRE LAS BIBLIOTECAS DE LA RED DE LECTURA PÚBLICA DE EUSKADI El presente documento recoge el procedimiento mediante el cual las bibliotecas pertenecientes a la red
Más detallesInformación general de Masergy Communicator
Información general de Masergy Communicator Guía de referencia rápida Versión 20 - Marzo 2014 1 Qué es Masergy Communicator? Masergy Communicator brinda a los usuarios finales la experiencia de comunicaciones
Más detallesGuía Corta: Alcance y Asociaciones. 1. Preliminares: Nombres y Asociaciones
Universidad Simón Bolívar Departamento de Computación y Tecnología de la Información CI3641 Lenguajes de Programación I Guía Corta: Alcance y Asociaciones Esta guía presenta algunos conceptos básicos y
Más detallesInstalación. Interfaz gráfico. Programación de Backups. Anexo I: Gestión de la seguridad. Manual de Usuario de Backup Online 1/21.
1/21 Instalación Interfaz gráfico Requerimientos Proceso de instalación Pantalla de login Pantalla principal Descripción de los frames y botones Programación de Backups Botones generales Botones de programación
Más detallesINTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS
INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS AUTORÍA JOSEFA PÉREZ DOMÍNGUEZ TEMÁTICA NUEVAS TECNOLOGIAS ETAPA CICLOS FORMATIVOS DE GRADO SUPERIOR DE INFORMÁTICA Resumen En esta publicación se
Más detallesCapí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 detallesCiclo de vida y Metodologías para el desarrollo de SW Definición de la metodología
Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto
Más detallesCampus Virtual, Escuela de Ingeniería Mecánica Guía Estudiante
Contenido Índice de ilustraciones... 2 Inscribirse en el campus... 3 Ingresar al campus virtual... 4 Inscripción a un curso... 5 Iniciar sesión en el campus virtual... 6 Modificar datos de inscripción...
Más detallesGUÍA DE USUARIO: GOOGLE DRIVE
GUÍA DE USUARIO: GOOGLE DRIVE Google Drive es una herramienta telemática de la web 2.0 que permite el trabajo virtual de forma colaborativa. En Google Drive podemos encontrar una barra de navegación en
Más detallesPatrones 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 detallesI. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein Javier Navarro
I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein Javier Navarro Utilizando Clases Definidas en Java La manera de utilizar una clase previamente definida
Más detallesWINDOWS 2008 5: TERMINAL SERVER
WINDOWS 2008 5: TERMINAL SERVER 1.- INTRODUCCION: Terminal Server proporciona una interfaz de usuario gráfica de Windows a equipos remotos a través de conexiones en una red local o a través de Internet.
Más detallesCAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP
CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP Características del Explorador de Windows El Explorador de Windows es una de las aplicaciones más importantes con las que cuenta Windows. Es una herramienta indispensable
Más detallesCAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar
CAPITULO 4 Requerimientos, Análisis y Diseño El presente capítulo explica los pasos que se realizaron antes de implementar el sistema. Para esto, primero se explicarán los requerimientos que fueron solicitados
Más detallesPráctica 1 - Pista de Carreras 12407 - Programación II
1. Introducción Práctica 1 - Pista de Carreras 12407 - Programación II En esta práctica el objetivo es implementar una matriz de adyacencia para el juego Pista de Carreras. Con tal fin, primero hay que
Más detallesSISTEMA 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 detallesManual Operativo Sistema de Postulación Online
Manual Operativo Sistema de Postulación Online Este Manual está diseñado en forma genérica para apoyar el proceso de postulación en línea, las Bases de cada Concurso definen los requerimientos oficiales
Más detallesINSTALACIÓN DE SQL SERVER 2008 Y SQL SERVER 2008 EXPRESS
INSTALACIÓN DE SQL SERVER 2008 Y SQL SERVER 2008 EXPRESS Para instalar este motor de base de datos, SQL Express 2008 requiere de los siguientes prerrequisitos: 1. Microsoft.net Framework 3.5 2. Microsoft
Más detallesArquitectura 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 detallesSMS Gestión. manual de uso
SMS Gestión manual de uso índice qué es SMS Gestión 2 acceso al servicio 3 01 acceso con la clave de servicios de Orange 4 02 acceso personalizado 6 02.1 cómo personalizar su acceso a la aplicación 7 02.2
Más detallesTutorial: 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
Más detallesVisual Studio 2008 es el conjunto de herramientas de
1. VISUAL STUDIO 2008 Visual Studio 2008 es el conjunto de herramientas de desarrollo y programación creado por Microsoft tanto para aplicaciones Windows como aplicaciones web. La aparición de Visual Studio
Más detalles