SISTEMA WEB BASADO EN SERVICIOS DE GESTIÓN DE CAMPAÑAS PUBLICITARIAS. Henry José Quintero Carrillo

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

Download "SISTEMA WEB BASADO EN SERVICIOS DE GESTIÓN DE CAMPAÑAS PUBLICITARIAS. Henry José Quintero Carrillo"

Transcripción

1 UNIVERSIDAD SIMÓN BOLÍVAR DECANATO DE ESTUDIOS PROFESIONALES COORDINACIÓN DE INGENIERÍA DE LA COMPUTACIÓN SISTEMA WEB BASADO EN SERVICIOS DE GESTIÓN DE CAMPAÑAS PUBLICITARIAS Por: Henry José Quintero Carrillo INFORME DE PASANTÍA Presentado ante la Ilustre Universidad Simón Bolívar como requisito parcial para optar el título de Ingeniero en Computación Sartenejas, Febrero de 2010

2 UNIVERSIDAD SIMÓN BOLÍVAR DECANATO DE ESTUDIOS PROFESIONALES COORDINACIÓN DE INGENIERÍA DE LA COMPUTACIÓN SISTEMA WEB BASADO EN SERVICIOS DE GESTIÓN DE CAMPAÑAS PUBLICITARIAS Por: Henry José Quintero Carrillo Realizado con la asesoría de: Tutor Académico: Prof. Kenyer Domínguez Tutor Industrial: Lic. Luis Augusto Peña Pereira INFORME DE PASANTÍA Presentado ante la Ilustre Universidad Simón Bolívar como requisito parcial para optar el título de Ingeniero en Computación Sartenejas, Febrero de 2010

3

4 SISTEMA WEB BASADO EN SERVICIOS DE GESTIÓN DE CAMPAÑAS PUBLICITARIAS Por: Henry José Quintero Carrillo RESUMEN Teramantics es un sistema de gestión de campañas publicitarias mediante anuncios gráficos y textuales, creado para la empresa Terabrain Communications, con el fin de ser incluido a los servicios que ofrece la compañía, como aplicación al uso de un motor semántico, el cual, es un conjunto de técnicas que permite extraer y almacenar información estructurada de un texto escrito en lenguaje natural de una forma óptima, con el objetivo de realizar búsquedas semánticas o búsquedas significativas sobre dicha información y así obtener resultados más relevantes frente a un problema o una consulta. El proceso de búsqueda semántica es un servicio web adicional, independiente y reutilizable por otros servicios dentro de la empresa que requieran de su función. Para la administración principal del sistema, Teramantics permite crear espacios de trabajo, y dentro de ellos, gestionar campañas que administren anuncios gráficos (imágenes), anuncios textuales (textos) y documentos descriptivos de la campaña como la información a ser procesada por el motor semántico. El desarrollo del sistema se llevó a cabo siguiendo la metodología TAUP Terabrain Agile Unified Software Development Process, el cual, es el éstandar utilizado en Terabrain Communications para el desarrollo de aplicaciones web que combina elementos de las metodologías RUP y AUP. La plataforma principal empleada en la construcción del sistema es JEE, sobre una arquitectura de capas basada en el patrón de diseño MVC. La aplicación web del sistema fue diseñada bajo el framework Google Web Toolkit, que facilita el desarrollo de complejas aplicaciones en AJAX y JavaScript. La capa de datos del sistema es gestionada por la tecnología Hibernate, utilizado MySQL como el manejador de la base de datos, y el mecanismo de comunicación empleado con el servidor principal de Teramantics es a través de RMI. El servicio web de búsquedas semánticas fue desarrollado en la plataforma Axis2 de Apache sobre un servidor Jakarta Tomcat. iv

5 ÍNDICE GENERAL 1. INTRODUCCIÓN Antecedentes Objetivos Objetivo general Objetivos específicos Alcance Entorno del problema Planteamiento del problema DESCRIPCIÓN DE LA EMPRESA Antecedentes Misión Visión Organigrama MARCO TEÓRICO Y TECNOLÓGICO Búsquedas semánticas Motor semántico Open source Servicio web Web semántica Axis Fachada Google Web Toolkit Hibernate Java RMI JEE Log4J MVC MARCO METODOLÓGICO Fases Disciplinas Características v

6 5. INCEPCIÓN: DESCRIPCIÓN DEL PROYECTO Análisis de requerimientos Necesidades Descripción de los usuarios y stakeholders Especificación de requerimientos Tecnologías utilizadas INCEPCIÓN: ANÁLISIS DE MOTORES SEMÁNTICOS Etapa de investigación Descripción general de los motores semánticos propuestos Etapa de selección ELABORACIÓN Arquitectura general de Terabrain Communications Arquitectura de Teramantics Contenedor semántico Capa de datos Capa lógica: API y servidor principal Servidor GWT y servicio web Cliente GWT CONSTRUCCIÓN Gestionar espacios de trabajo Gestionar campañas publicitarias Administrar imágenes de campañas Administrar textos de campañas Administrar documentos de campañas Indexar documentos de una campaña Realizar búsqueda semántica Gestionar perfiles de permisos de usuario TRANSICIÓN Visualización y funcionalidad del sistema Funcionalidad del motor semántico RESULTADOS Gestión de campañas publicitarias Panel de espacios de trabajo Panel de campañas de un espacio de trabajo Panel de contenido de una campaña Servicio de búsquedas semánticas CONCLUSIONES RECOMENDACIONES 58 vi

7 A. GLOSARIO 61 B. REQUERIMIENTOS DEL SISTEMA 63 B.1. Requerimientos funcionales B.2. Requerimientos no funcionales C. DIAGRAMA DE CASOS DE USO 68 vii

8 ÍNDICE DE FIGURAS 2.1. Organigrama de Terabrain Communications Ejemplo de una red semántica Representación del patrón MVC Diagrama de fases y disciplinas de TAUP Arquitectura general de Terabrain Communications Arquitectura de Teramantics Contenedor semántico de Teramantics Flujo de una búsqueda semántica sobre documentos de campañas Flujo de una indexación de documentos Estructura de los datos según Hibernate Flujo del manejo físico de un documento a indexar Panel de manejo de espacios de trabajo Acción agregar Usuarios Generales a un espacio de trabajo Acción distribuir cantidad de visitas entre campañas Panel de gestión de campañas de un espacio de trabajo Galería de imágenes de una campaña Selección de la sección de una imágen según el formato establecido Administración de textos de campañas Administración de documentos de campañas Panel de resultados de una búsqueda semántica C.1. Diagrama general de casos de uso del sistema Teramantics viii

9 ÍNDICE DE TABLAS 5.1. Necesidades del sistema Descripción de los usuarios Descripción de los stakeholders Comparación de aspectos de investigación de motores semánticos candidatos Comparación descriptiva de los motores semánticos candidatos Formatos utilizados en imágenes y textos de campañas Perfiles de permisos de usuarios B.1. RF01 - Gestionar campañas publicitarias B.2. RF02 - Gestionar documento descriptivos de campañas B.3. RF03 - Administrar espacios de trabajo de Usuarios Generales B.4. RF04 - Configurar formatos de las campañas B.5. RF05 - Proporcionar un fondo de visitas por espacio de trabajo B.6. RF06 - Proporcionar servicio de búsqueda semántica sobre campañas B.7. RF07 - Proporcionar mecanismo de indexado de documentos de campañas. 65 B.8. RF08 - Gestionar cuentas de Usuario B.9. RNF01 - Construir una interfaz gráfica interactiva y amigable B.10.RNF02 - Construir servicio web de búsquedas semánticas mediante Axis2. 66 B.11.RNF03 - Establecer la comunicación con el servidor principal a través RMI 66 B.12.RNF04 - Construir la aplicación web mediante el uso de GWT B.13.RNF05 - Administrar el modelo de datos persistentes mediante Hibernate. 67 ix

10 LISTA DE SÍMBOLOS Y ABREVIATURAS AJAX API AUP DTO GNU GPL GWT HQL HTML HTTP IDE JDBC JEE JVM MVC ORM POJO RMI RPC RUP SOA Asynchronous JavaScript & XML Application Programming Interface Agile Unified Process Data Transfer Object GNU is Not Unix General Public License Google Web Toolkit Hibernate Query Language HyperText Markup Language HyperText Transfer Protocol Integrated Development Environment Java Database Connectivity Java Platform, Enterprise Edition Java Virtual Machine Model View Controller Object-Relational Mapping Plain Old Java Object Remote Method Invocation Remote Procedure Call Rational Unified Process Service-Oriented Architecture x

11 SOAP SQL TAUP UDDI UML UP URL XML W3C WSDL Simple Object Access Protocol Structured Query Language Terabrain Agile Unified Software Development Process Universal Description, Discovery and Integration Unified Modeling Language Unified Process Uniform Resource Locator extensible Markup Language World Wide Web Consortium Web Services Description Language xi

12 CAPÍTULO 1 INTRODUCCIÓN En este capítulo se describe los antecedentes del motor semántico del sistema ya que es la base fundamental para el servicio de gestión de campañas que desea incorporar la empresa. También se especifican el objetivo general y los objetivos específicos, el alcance, el entorno y el planteamiento del proyecto de pasantía descrito en este informe Antecedentes A comienzos del año 2002, más de dos billones de páginas web eran listadas en el índice del motor de búsqueda de Google. Actualmente, no existe una cantidad oficial de cuantas páginas web hay en la Internet, pero es un hecho asegurar que el número es enorme y que crece exponencialmente cada día. Se señala que para el 2008 se podría demostrar que había fácilmente más de un trillón de páginas web y que el proceso de indexado capturaba varios billones de páginas por día [25]. Adicional a esto, las páginas web cubren prácticamente cualquier contenido concebible o imaginable en distintos niveles de detalle y pericia que va desde tablas númericas hasta diarios personales hasta discusiones públicas. Nunca en la historia del ser humano se ha tenido tanta información accesible a su disposición. Por lo tanto, dicha información se expande a una tasa increíble, hasta el punto de que su cantidad disponible en redes públicas ha comenzado a exceder la habilidad de ser buscadas. Motores de búsquedas han existido desde hace varias décadas ya, pero el uso de herramientas especializadas usadas por expertos para realizar búsquedas de colecciones de datos modestos, estáticos, bien indexados y bien definidos es reciente. Hoy en día dichos motores deben aplicar

13 2 procesos cada vez más complejos para manejar tantas colecciones heterogéneas de datos, que cambian constantemente en magnitudes cada vez mayores, y además deben permanecer lo suficientemente simples para que los usuarios comunes puedan hacer uso de ella. A pesar de que los costos de almacenamiento cada vez son más bajos y el desempeño de los mismos es cada vez más rápido, los algoritmos de búsquedas han sufrido un fuerte golpe dificultando la capacidad de generar resultados relevantes y confiables. Debido a la cantidad masiva de documentos disponibles, es posible encontrar resultados interesantes para cualquier consulta que se desea realizar. El problema está en que es muy probable que esos resultados se encuentren escondidos en una masa de información irrelevante, sin casi ninguna manera posible de distinguir lo bueno de lo malo. Básicamente el motor de búsqueda e indexación platónico o ideal es aquel que cumple con las siguientes características: [22] Precisión: no se encuentran documentos irrelevantes en el conjunto de resultados. Rapidez: resultados están disponibles inmediatamente. Alcance: el motor ideal debe ser capaz de búscar cada documento disponible en un dominio dado (en el caso de los motores online dicho dominio es la Internet). Moderno: toda la información se encuentra actualizada. Tiempo: siempre es posible encontrar cada documento relevante a una consulta. Orden: los resultados más relevantes se encuentran de primero.

14 Objetivos Objetivo general Desarrollo de un sistema web que gestione campañas publicitarias como aplicación de prueba de un motor open source que permita realizar búsquedas semánticas, orientado al negocio de la empresa Terabrain Communications Objetivos específicos Realizar un estudio del problema y el planteamiento de la solución. Realizar una investigación sobre los motores semánticos open source existentes. Puesta en producción de un motor semántico open source. Desarrollo de un sistema web de gestión de campañas publicitarias. Desarrollo de un servicio de búsquedas semánticas del motor semántico sobre campañas publicitarias Alcance El proyecto abarca el desarrollo de toda la plataforma de gestión de campañas publicitarias y la incorporación del motor semántico, con las siguientes consideraciones: Se desarrollará un solo API (Application Programming Interface) de comunicación en lenguaje Java. Puesta en producción del motor semántico seleccionado.

15 4 El servicio de búsquedas semánticas del motor semántico deberá ser puesto a prueba por el pasante en al menos una aplicación Web perteneciente a Terabrain Communications o desarrollar una aplicación que simule la utilización del mismo. Gestión de campañas publicitarias mediante anuncios gráficos (imágenes) y textuales Entorno del problema Terabrain Communications ha desarrollado una arquitectura de servicios para la reutilización de funciones comunes incorporadas en diversas aplicaciones. Estos servicios implementan lógica de negocio que puede ser utilizada por cualquier aplicación registrada. Esta reutilización, agiliza el desarrollo de nuevas aplicaciones. Un nuevo servicio que se desea incorporar a esta arquitectura, consiste en proveer un mecanismo para ejecutar búsquedas semánticas a partir de datos proporcionados por el usuario (como conversaciones de chat, , documentos, folletos, etc). Esta información semántica puede ser utilizada por otros servicios para identificar patrones que puedan ser usados para campañas de publicidad, ofertas de productos, entre otros. La información semántica es generada por lo que se denomina un Motor Semántico el cual tiene la capacidad de extraer datos estructurados y ordenados a partir de texto escrito en lenguaje natural Planteamiento del problema Se desea desarrollar un sistema que permita gestionar campañas publicitarias, las cuales se definen como un conjunto de estrategias de negocio para dar a conocer un producto o un servicio determinado, como aplicación de prueba a la implantación de un motor semántico, que pueda ejecutar procesos de indexado semántico y búsquedas semánticas sobre un conjunto de documentos que contienen información descriptiva de las campañas a gestionar. Las

16 5 principales razones para el planteamiento de este problema son: Las búsquedas semánticas permiten mejorar la búsqueda tradicional sobre un dominio de datos en donde no se sabe en donde se encuentra la información mas relevante frente a una consulta y es necesario realizar un análisis comprensivo para determinar cuál es el documento más preciso que contiene dicha información. El proceso de indexado semántico permite almacenar la información de una forma estructurada semánticamente a través de la aplicación de un conjunto de técnicas complejas que posibilitan el uso de las búsquedas semánticas. En lugar de obtener como resultados de una búsqueda semántica, documentos que contienen pura información textual, se desea enriquecer estos resultados mediante la inclusión de sus campañas publicitarias como una representación directa y visualmente atractiva de la información retornada. El proyecto consta de una etapa inicial de investigación, donde se analizarán motores semánticos open source existentes o disponibles en la web, para determinar cual es la mejor opción a considerar y adaptar el motor según sea necesario para su integración con el sistema a desarrollar. En una siguiente etapa de elaboración y construcción de la solución para el problema planteado, se prodecerá a la elaboración de una arquitectura potencial que servirá como base para el desarrollo del sistema, la construcción de un API que comtemple las principales funciones del sistema según su lógica de negocio y el desarrollo de una aplicación cliente web que permita gestionar campañas publicitarias empleando servicios, que enmascaren las acciones del motor semántico de búsquedas semánticas y procesos de indexado semántico, reutilizables por otras aplicaciones de la empresa para algún fin determinado.

17 CAPÍTULO 2 DESCRIPCIÓN DE LA EMPRESA En este capítulo se describe el entorno en el cual el proyecto de pasantía fue desarrollado, con el objetivo de conocer a la empresa Terabrain Communications y familiarizarse con la orientación dada al desarrollo del sistema. Se describe una breve reseña histórica, seguido de la misión y visión de la empresa y finalmente, la jerarquía organizacional de la misma y la ubicación del pasante Antecedentes Terabrain Communications es una empresa fundada a finales de 1997 y orientada persistentemente a la innovación. En 1998, desarrolló el modelo tecnológico de la Factura Electrónica Venezolana el cual sirvió como base para la fundación de la Cámara Venezolana de Comercio Electrónico. Adicionalmente, la organización ha implementado modelos de e- banking, e-services, e-procurement y e-business en general para diversos clientes Misión Favorecer la emergencia de Negocios Inteligentes. [15]

18 7 Figura 2.1: Organigrama de Terabrain Communications 2.3. Visión Ayudar a que las ideas se transformen en realidades tangibles a través de la innovación y la tecnología para construir arquitecturas de negocios que favorezcan la creación de servicios para desarrollar con pasión el potencial de sus clientes Organigrama El pasante se desempeñó en el área de desarrollo de software bajo el Departamento de Desarrollo, supervisado por el Líder y Arquitecto de Software y con la asistencia de los Especialistas de Software. En la figura 2.1, se puede observar el organigrama de la empresa.

19 CAPÍTULO 3 MARCO TEÓRICO Y TECNOLÓGICO En este capítulo se describen los principales conceptos teóricos relevantes en el dominio del proyecto seguido de las principales tecnologías utilizadas para el desarrollo del sistema Búsquedas semánticas Es un proceso cuyo objetivo principal es mejorar la búsqueda de información tradicional en lenguaje natural mediante el empleo de una red, grafo o modelo semántico obteniendo resultados más relevantes al momento de realizar una consulta o una pregunta [19]. Un ejemplo de una red semántica, puede ser observado en la figura 3.1. Guha et al. (2003) especifica que existen dos tipos de búsquedas: de navegación y de investigación. En las búsquedas por navegación, simplemente se sabe cual es el documento donde se encuentra la información deseada y es necesario localizarlo y seleccionarlo para un fin específico. En este caso no se considera la búsqueda semántica pues el resultado es obligatoriamente directo. Por otro lado, las búsquedas de investigación son aquellas donde no se saben cuáles documentos retienen la información deseada y es necesario obtener los documentos más relevantes en el tópico a investigar. Es aquí donde la búsqueda semántica pasa a ser muy útil. Su funcionamiento se basa en el uso de la semántica, de la desambiguación y procesamiento natural de palabras para producir resultados altamente precisos con el objetivo de entregar al usuario directamente la información cuestionada, en lugar de que el usuario tenga que seleccionar cuál es el documento más adecuado según la respuesta que se desea obtener. [19]

20 Motor semántico Figura 3.1: Ejemplo de una red semántica Es un conjunto integrado de técnicas complejas para analizar y almacenar información en lenguaje natural de tal forma de poder ejecutar búsquedas semánticas sobre una información procesada [18]. El proceso de realizar cada una de las técnicas para el análisis y almacenamiento de la información es conocido como indexado semántico. Entre algunas de las técnicas más comunes para procesar información en un motor semántico se encuentran: [18] Clasificación de palabras: es la acción de realizar una lista completa de todas las palabras que aparecen en la colección de textos a procesar y asignar una categoría a cada una, dependiendo del tipo de palabra (verbo, conjunciones, sustantivos, adjetivos calificativos, pronombres personales, etc.) Separación de proposiciones: para simplificar el análisis, cada texto es divido entre proposiciones (pequeñas sentencias u oraciones) usando como factor divisor algún signo de puntuación. Desambiguación de palabras: proceso de descubrir cual es el sentido de una palabra en una oración cuando dicha palabra tiene pluralidad de significados.

21 10 Identificación de clases equivalentes: las palabras son agrupadas en las llamadas clases de equivalencia, la cual, está compuesta por un conjunto específico de palabras que tienen significados muy parecidos y que aparecen frecuentemente a través del texto. Por ejemplo, Papá y mamá son palabras que están agrupadas bajo la clase familia Open source Open source es un método de desarrollo de software distribuido y desarrollado libremente permitiendo la transparencia del proceso, acceso al código fuente, la libre redistribución y modificación, la integridad del autor del código, ausencia de discriminación hacia personas, grupos o entidades y la distribución de una licencia neutral inespecifica ni restrictiva [16]. El open source está orientado a los beneficios prácticos de compartir el código a diferencia de las cuestiones morales y/o filosóficas las cuales destacan en el llamado software libre. [4] 3.4. Servicio web Un servicio web, en general, es un conjunto de estándares y protocolos que sirven para intercambiar datos entre aplicaciones. Es utilizado por numerosas aplicaciones de software, construidas en diferentes lenguajes de programación bajo distintos tipos de frameworks para intercambiar datos en la Internet [26], por lo tanto permitiendo una gran flexibilidad en su uso. Su principal ventaja es aportar interoperabilidad entre aplicaciones de software independientemente de sus propiedades o de las plataformas sobre las que se instalen. [2] Graham et al. (2004) señala los principales estándares frecuentemente utilizados: XML para producir los datos a intercambiar, entre los protocolos para establecer el intercambio, los más usados son SOAP (Simple Object Access Protocol), HTTP (HyperText Transfer Protocol), WSDL (Web Services Description Language) como descripción de los requisitos

22 11 funcionales necesarios para establecer una comunicación con los servicios Web y UDDI (Universal Description, Discovery and Integration) como protocolo para comprobar que servicios web están disponibles Web semántica Esfuerzo propuesto por la W3C (World Wide Web Consortium), derivado de la visión del director de la W3C Sir Tim-Berners Lee [23], para plantear el uso de la semántica en la información y en los servicios de la web para una mayor satisfacción y entendimiento de los pedidos de las personas y las máquinas que utilizan la información disponible en la Internet. Básicamente plantea el uso de algunos estándares para administrar dicha área mediante la introducción de modelos de datos y ontologías para describir formalmente las relaciones, términos y conceptos dentro de un dominio de conocimientos. [24] 3.6. Axis2 Es un motor SOAP para el desarrollo de servicios web. Implementado bajo Java o C, Axis2 no sólo provee la capacidad de construir interfaces de servicios web, sino también puede funcionar como un servidor de aplicaciones autónomo. La nueva arquitectura de Axis2 es más flexible, eficiente y configurable en comparación con la arquitectura de Axis1. [1] 3.7. Fachada Una fachada (Façade en inglés) es un patrón de diseño que sirve para proveer de una interfaz unificada sencilla que hace de intermediaria entre un cliente y una interfaz o grupo de interfaces más complejas. En el caso particular, el cliente puede ser una de las capas o

23 12 componentes del sistema y la fachada proveería una interfaz simple para comunicarse con otra de las componentes del sistema. El uso de ésta intermediaria permite reducir la dependencia de código entre las capas ya que la mayoría del código es usado por la fachada, permitiendo así más flexibilidad en el desarrollo del sistema. [11] 3.8. Google Web Toolkit Google Web Toolkit (GWT) es un conjunto de herramientas de software libre que permite crear, desarrollar y mantener complicadas aplicaciones web en Java con front-end de JavaScript [7]. Entre las principales características de GWT se listan: Componentes de interfaz gráfica reusables y dinámicos (Widgets). Mecanismo de RPC sencillo. Soporte completo para debugging en Java. Manejo automático de los conflictos generados entre navegadores web para el desarrollador. Fácil internacionalización. Existencia de librerías de terceros que extienden sus funcionalidades. Los errores comunes en JavaScript, como erratas, son atrapados en tiempo de compilación. Su objetivo es mantener un alto desempeño productivo en el desarrollo de aplicaciones web, haciendo uso de contenido reutilizable y eficiente en AJAX (asynchronous JavaScript & XML), que sencillamente, es un grupo de técnicas de desarrollo web usados en el lado

24 13 del cliente como llamadas remotas a prodecimientos asíncronos, manejo del historial, internacionalización y portabilidad entre navegadores web e móviles (para el Android y el iphone), entre otros. En el proceso de desarrollo en GWT, existen dos modos en los cuales pueden ser ejecutados las aplicaciones: Modo hosted: La aplicación es ejecutada a nivel fuente de Java dentro de una máquina virtual (JVM), permitiendo el intercambio entre el proceso de debugging, el código y la vista previa de la interfaz. Modo Web: La aplicación es ejecutada a nivel de HTML y JavaScript, compilado desde la fuente en Java. Este modo es exclusivo para el despliegue de la aplicación a un entorno de producción. Actualmente, GWT es usado en varios productos de Google, como Google Wave y la nueva versión de Google AdWords. [7] 3.9. Hibernate Hibernate es una herramienta que permite establecer una relación de coincidencia entre un ambiente orientado a objetos, especificamente el entorno Java, y una base de datos relacional. Es básicamente un ORM (Object-Relational Mapping), que se refiere como una técnica para relacionar información contenida en un modelo de objeto a un modelo de datos relacionales en un esquema basado en SQL (Structured Query Language). [8] La función de Hibernate es relacionar clases de Java con tablas de bases de datos y tipos de datos de Java con tipos de datos en formato SQL. Además, provee un conjunto de facilidades para extraer datos y realizar consultas que significativamente reduce tiempo de desarrollo en lugar de manejar datos SQL de manera manual y mediante conexiones con JDBC (Java

25 14 Database Connectivity). La relación es construida a partir de archivos declarativos en formato XML (extensive Markup Language) que enlaza el objeto Java con su respectiva tabla de la base de datos y con el manejador de base de datos compatible que se desee utilizar. [8] El objetivo de Hibernate es asistir al programador en un 95 % de las tareas de programación relacionadas con datos persistentes y permitir la portabilidad entre manejadores de base de datos a utilizar, ya que su migración es muy sencilla. [8] Java RMI El Java Remote Method Invocation (Java RMI) permite al programador crear tecnología distribuida para aplicaciones con tecnología basada en Java, es decir, permite desarrollar aplicaciones haciendo uso de la programación distribuida, en el cual, los métodos de llamadas a objetos Java pueden ser invocados desde otra maquina virtual en la plataforma Java (JVM - Java Virtual Machine), posiblemente en diferentes servidores. [17] RMI utiliza serialización de objetos para ordenar y encapsular parámetros y así evitar truncar datos permitiendo un verdadero polimorfismo orientado a objetos. [17] JEE La plataforma Java Edición Empresarial (JEE, Java Platform, Enterprise Edition) es el estándar o la plataforma de programación principal para desarrollar y ejecutar aplicaciones en el lenguaje Java sobre una arquitectura distribuida en varios niveles, mediante la composición de varios componentes o especificaciones de software modulares bajo un servidor de aplicaciones. [12]

26 15 JEE incluye varias especificaciones de API tales como, JDBC, RMI, correo electrónico, Servicios Web, XML, etc y define cómo coordinarlos [12]. Entre los principales beneficios de JEE se encuentran: Permitir al programador crear y desarrollar una aplicación empresarial portable entre plataformas, escalable e integrable con tecnologías anteriores. Permitir al desarrollador concentrarse más en la lógica del negocio en lugar de las tareas de mantenimiento a bajo nivel. [12] Log4J Es una utilidad, basada en Java, que permite a los desarrolladores de software elegir la salida y el nivel de granularidad de los mensajes o logs (logging) a tiempo de ejecución y no a tiempo de compilación como es comúnmente realizado. En el lenguaje Java donde un preprocesador no se encuentra disponible, los logs incrementan el tamaño del código reduciendo desempeño, indeseable cuando se tiene una aplicación lo suficientemente robusta con miles de logs. Debido a que los logs en Log4J son gestionados en tiempo de ejecución y sin alterar el fuente binario, éstos no incurren en altos costos de desempeño. Este proceso de logging provee al desarrollador con un contexto eficiente y detallado de las fallas de la aplicación. [14] MVC El Modelo-Vista-Controlador (MVC, Model View Controller) es un patrón arquitecónico el cual propone una división de la arquitectura de la aplicación en tres componentes distintos: modelo, vista y controlador (Ver figura 3.2). [9]

27 16 Figura 3.2: Representación del patrón MVC El modelo está compuesto por el dominio de la información que gestiona la persistencia de los datos usados por la lógica del negocio. Recibe peticiones del componente Vista a través del controlador para realizar consultas o cambios en los datos y es capaz de retornar notificaciones de cambios mediante un evento. La vista está encargada de presentar los datos del modelo al usuario mediante una interfaz gráfica de manera adecuada y eficaz, transmitiendo la información que ingresa y las operaciones que desea realizar el usuario directo al controlador. Adicionalmente, es capaz de consultar, al componente Modelo por un evento, el estado de los datos. El controlador recibe todas las peticiones provenientes del componente Vista para ejecutar las acciones correspondientes que contacten al componente Modelo y luego emitir una respuesta. Según el tipo de la respuesta, selecciona la vista adecuada para la presentación de los resultados. Finalmente actualiza el estado del componente Modelo luego de realizar las operaciones especificadas.

28 CAPÍTULO 4 MARCO METODOLÓGICO Para el desarrollo del sistema, se aplicó la metodología TAUP (Terabrain Agile Unified Software Development Process) como el estándar de desarrollo de aplicaciones en la empresa Terabrain Communications. En este capítulo se estudia en qué consiste TAUP, sus fases, disciplinas y características. Según L. Peña, (2007) TAUP es un modelo de proceso iterativo e incremental para el desarrollo de software, que debe ser extendido y personalizado para cada proyecto, dependiendo de los recursos disponibles y de la complejidad del mismo. Está basado en el Proceso Unificado (UP), el Proceso Unificado de Rational (RUP) y el Proceso Unificado Ágil (AUP). En la figura 4.1 se ilustra el énfasis de las diferentes disciplinas en el transcurso del proyecto (extraído de (L. Peña, 2007)) Fases Al igual que RUP, TAUP comprende 4 fases: (L. Peña, 2007) 1. Incepción: Generalmente llamado fase de inicio, su objetivo es identificar el ámbito inicial del proyecto, una arquitectura potencial y obtener fondos iniciales y aceptación del stakeholder. 2. Elaboración: Verificar la arquitectura del sistema. 3. Construcción: Manufactura de software funcional de forma regular e incremental cumpliendo con las necesidades prioritarias de los stakeholders.

29 18 Figura 4.1: Diagrama de fases y disciplinas de TAUP 4. Transición: Validación y despliegue del sistema en un ambiente de producción Disciplinas Modelaje: Entender el negocio de la organización, el dominio del problema atacado por el proyecto e identificar una solución viable para atacar el problema. Implementación: Transformar los modelos en código ejecutable y realizar pruebas básicas a nivel unitario. Prueba: Desarrollar una evaluación objetiva para garantizar la calidad. Esto incluye encontrar defectos, validar que el sistema funcione como fue diseñado y verificar que los requerimientos se han cumplido. Despliegue: Planificación para la entrega del sistema y ejecución del plan para que el sistema sea disponible por los usuarios finales.

30 19 Gestión de configuración: Administrar los artefactos (documentos, software). Esto incluye no sólo el manejo de versiones a través del tiempo sino el control, manejo de los cambios e integración de artefactos. Gerencia de proyecto: Dirigir las actividades que toman lugar en el ámbito del proyecto. Esto incluye previsión de riesgos, dirigir personal (asignar tareas, realizar seguimiento de progreso, etc) y coordinar con personas y sistemas fuera del ámbito del proyecto para asegurar que será entregado a tiempo y dentro del presupuesto. Ambiente: Asegurar que el proceso adecuado, guía (estándares y lineamientos) y herramientas (hardware, software, etc) estén disponibles para el equipo cuando sea requerido Características Iterativo e incremental: Las fases de Elaboración, Construcción y Transición se dividen en una serie de iteraciones enmarcadas en un intervalo de tiempo finito. Cada iteración resulta en un incremento, el cual se traduce en funcionalidades adicionales o mejoras en comparación con versiones anteriores. Apoyado en casos de uso: Los casos de uso son usados para capturar los requerimientos funcionales y para definir el contenido de las iteraciones. Cada iteración toma un conjunto de casos de uso o escenarios a través de todas las disciplinas. Centrado en la arquitectura: Durante la fase de Elaboración, se crea una implementación parcial de la aplicación que sirve para validar la arquitectura y hace de base para el resto del desarrollo. Enfocado a los riesgos: Este requiere, durante la fase de Elaboración, que el equipo de desarrollo se centre en atacar los aspectos más críticos en las etapas tempranas del ciclo de vida del proyecto.

31 CAPÍTULO 5 INCEPCIÓN: DESCRIPCIÓN DEL PROYECTO Este capítulo describe el proyecto realizado en la pasantía. Denota el análisis de los requerimientos, la descripción de los usuarios y stakeholders, las necesidades y requerimientos del sistema y una lista de las tecnologías utilizadas durante el desarrollo Análisis de requerimientos Como parte del proceso de análisis y diseño de la solución del problema, esta sección plantea las necesidades y los requerimientos del sistema por parte de los stakeholders del sistema, bautizado con el nombre de Teramantics Necesidades Tabla 5.1: Necesidades del sistema Código Necesidad Usuario(s) / Stakeholder(s) NE01 Disponer de un servicio de ejecución de búsquedas Luis Augusto semánticas sobre la información almacenada. Peña, Usuario General, Usuario Administrador.

32 21 NE02 Disponer de una aplicación que permita gestionar Luis Augusto campañas publicitarias y su contenido informativo Peña, Usuario (imágenes y textos). General, Usuario Administrador. NE03 Disponer de una aplicación que permita indexar Luis Peña, Augusto Usuario semánticamente documentos que describan una campaña publicitaria, como por ejemplo un folleto del producto de la campaña, para luego realizar búsquedas General, Usuario Administrador. semánticas sobre la información almacenada. NE04 Disponer de un rol de Usuario Administrador que config- Usuario Admin- ure espacios de trabajo, donde se gestionen las campañas para un grupo selecto de Usuarios Generales. Este rol istrador, Usuario General. permite establecer las configuraciones o las características de las campañas administradas por un espacio de trabajo. NE05 Regular la cantidad de visitas o accesos a las campañas Usuario Admin- por parte de los Usuarios Generales mediante número istrador. máximo de visitas por espacio de trabajo de manera de contabilizar y limitar la cantidad de veces que una campaña es presentada. NE06 Construir una interfaz interactiva sencilla mediante Usuario Admin- la cual se pueda administrar las funciones del motor istrador, Luis semántico y las campañas publicitarias del sistema. Augusto Peña, Henry Quintero.

33 22 NE07 Garantizar la privacidad del contenido manejado entre Usuario Admin- cada espacio de trabajo sobre las campañas gestionadas istrador, Henry en cada uno. Quintero Descripción de los usuarios y stakeholders Tabla 5.2: Descripción de los usuarios Nombre Descripción Roles Usuario General. Usuario Administrador. Ente principal beneficiario de la construcción del sistema Teramantics. Ente primordial administrativo sobre la gestión del sistema Teramantics. Ejecutar las acciones que brinda el sistema para la gestión de campañas publicitarias. Coordina las acciones que pueden realizar los Usuarios Generales en el sistema y establece las características de las campañas a gestionar. Tabla 5.3: Descripción de los stakeholders Nombre Descripción Roles Luis Peña Arquitecto de Software y Líder del Equipo de Terabrain Communications. Supervisor y jefe del proyecto de Teramantics. Dará aprobación y/o rechazo del diseño de la arquitectura así como de los artefactos entregables y prototipos del sistema.

34 23 Henry Quintero Desarrollador de todas las fases de la metodología TAUP para el sistema Teramantics. Análisis de requerimientos, diseño e implementación de la solución y prueba del sistema Especificación de requerimientos Los requerimientos funcionales y no funcionales del sistema Teramantics se encuentran específicados en el apéndice B del presente documento Tecnologías utilizadas Plataforma: Java Enterprise Edition (Java EE 6) Manejador de Base de Datos: MySQL 5 Framework de Aplicación Web: GWT 1.7 Framework de Modelo de Datos: Hibernate Framework de Servicio Web: Axis2 y el servidor Apache Tomcat 6 Registro de logs: Log4J IDE: Eclipse 3.5 Galileo Artefactos escritos: L A TEX 2ε

35 CAPÍTULO 6 INCEPCIÓN: ANÁLISIS DE MOTORES SEMÁNTICOS En este capítulo se expone el proceso de análisis del motor semántico utilizado en el proyecto, durante la fase de incepción. Dicho proceso se llevó a cabo mediante dos etapas: investigación y selección, en las cuales, se fijaron un conjunto de criterios o filtros para la elección final de un motor semántico a ser utilizado por el sistema Teramantics Etapa de investigación El objetivo de esta fase es arrojar una lista de posibles motores semánticos candidatos a utilizar. Los aspectos establecidos que deben cumplirse para generar posibles candidatos a utilizar fueron: 1. El motor debe ser gratuito y open source, pues facilita su implantación y uso dentro del sistema a construir. 2. Preferiblemente esté construido bajo la plataforma Java, ya que es la plataforma estándar utilizada en la empresa para el desarrollo de software. 3. Sea capaz de realizar procesos de indexado semántico de cualquier información. 4. Sea capaz de realizar búsquedas semánticas, como modo de prueba de que la información analizada por el proceso de indexado es correcta. Como resultado de esta etapa, se encontraron numerosas herramientas que no cumplían con las expectativas planteadas y la mayoría era online, de software propietario y orientado

36 25 hacia procesos de minado de datos en lugar del uso de la semántica. Solamente se produjeron dos posibles motores a contemplar: The Semantic Indexing Project y Jena Framework. En la siguiente tabla se especifican los aspectos aplicados y los motores a considerar, evaluando cada aspecto según tres tipos de respuestas: Si, No y Parcialmente. Tabla 6.1: Comparación de aspectos de investigación de motores semánticos candidatos Aspecto The Semantic Indexing Project Jena Framework 1 Si. Si. Si. 2 No. La plataforma utilizada es C++. 3 Si. Parcialmente. 4 Si. Parcialmente Descripción general de los motores semánticos propuestos The Semantic Indexing Project es un motor open source semántico realizado en C++ que contiene una familia de operaciones ya implementadas para indexar grandes colecciones de datos a partir de patrones de datos en textos desestructurados e usa dichos patrones para realizar búsquedas semánticas eficientes. Jena Framework es un entorno open source semántico basado en Java para construir grafos semánticos y realizar búsquedas sobre ellas, basadas en ontologías. Provee un ambiente de programación para generar modelos y ontologías según el estándar propuesto por la W3C y utiliza un lenguaje no natural único para realizar consultas sobre los modelos generados.

37 Etapa de selección El objetivo de esta fase es probar los motores semánticos candidatos y comparar el desempeño de cada uno. Para ello se utilizaron criterios de inclusión del motor al sistema, enumerados y ordenados según su nivel de importancia siendo el primero el de mayor peso: 1. Tipo de uso. 2. Casos de uso. 3. Facilidad de uso. 4. Modificaciones adicionales a realizar luego de ser instalado. 5. Facilidad de instalación. 6. Nivel de documentación. En la siguiente tabla se presenta una cuadro descriptivo y comparativo de la aplicación de los criterios a cada motor seleccionado. Tabla 6.2: Comparación descriptiva de los motores semánticos candidatos Criterio The Semantic Indexing Project Jena Framework 1 Indexar grandes colecciones de archivos, cuya información procesada es almacenada en una base de datos MySQL ó SQLite3. Realizar Construir modelos de representaciones de datos. Aplicación de ontologías. Consultas en lenguaje no natural. búsquedas semánticas. Consultas en lenguaje natural.

38 27 2 Cuando se desea realizar una búsqueda significativamente relevante sobre un conjunto de documentos informativos de un problema deseado. Cuando se desea construir buscadores de contenido web semánticamente, es decir, para construir su propia aplicación web semántica, partiendo de los modelos, protocolos, estándares y ontologías creadas manualmente para obtener búsquedas de la información modelada. 3 Fácil. Solo es necesario ejecutar los fuentes binarios de cada operación a través de un terminal para utilizar el Díficil. El API del framework es extenso y requiere de mucha investigación en el área de la web semántica. proceso de indexado y las búsquedas semánticas. 4 El nivel de modificaciones es bajo pues solo es necesario adaptar los resultados arrojados por la ejecución de Depende de la implementación del motor según las herramientas que ofrece. sus operaciones al sistema. Fácil. Conjunto de librerías comprimidas. 5 Difícil a raíz de la documentación pobre (advertido por los mismos desarrolladores [22]). Requiere de una librería no trivial para ser compilado. 6 Pobre. Buena. Contiene API s, Javadocs y tutoriales. Finalmente, el motor seleccionado fue The Semantic Indexing Project pues es la solución más adecuada, cómoda y eficaz para resolver el problema de la puesta en produc-

39 28 ción de un motor semántico, cumpliendo deseablemente con los primeros cuatro criterios de inclusión, los cuales representan aquellos criterios con mayor peso durante esta etapa de selección. El motor fue instalado con éxito a pesar de que el proceso fue no trivial y en la siguiente fase se describe la solución planteada al problema de la plataforma del motor semántico seleccionado en C++.

40 CAPÍTULO 7 ELABORACIÓN En este capítulo se expone el diseño de la arquitectura potencial del sistema realizado durante la fase de elaboración. Dicha arquitectura posee un contenedor semántico del motor semántico seleccionado, una capa de datos persistentes, una capa lógica que contiene el servidor principal, y dentro de éste, un API de acceso a las operaciones lógicas, un servicio web para las búsquedas semánticas, un servidor en GWT como puente entre las vistas y las acciones del sistema y un cliente en GWT como interfaz gráfica ante el usuario Arquitectura general de Terabrain Communications Dado que la a empresa posee una arquitectura general para todos los servicios que presta, el sistema de Teramantics debería introducirse sin problemas a la misma. En la figura 7.1, se muestra una representación visual de la arquitectura. La arquitectura general de los servicios prestados por Terabrain Communications está desarrollada en la plataforma JEE basado en un esquema arquitectónico orientado a servicios (SOA, Service-Oriented Arquitecture), esencialmente definido como una colección de servicios web que pueden ser usados bajo múltiples dominios de negocio. Un servicio es una función bien definida, contenida en ella misma e independiente del estado de otros servicios. Esta colección de servicios es conocida coloquialmente como nube de servicios. Es una solución ágil y efectiva a la hora de prestar soluciones a los clientes y los mismos desarrolladores de la empresa, mezclando dichas virtudes con una arquitectura dividida en capas basado en el patrón de diseño MVC.

41 30 Figura 7.1: Arquitectura general de Terabrain Communications Dicha arquitectura general es presentada en dos áreas distintas: el front-end y el backend. El front-end es el área responsable por recolectar las peticiones recibidas directamente del cliente a través de una interfaz gráfica de usuario. El back-end es el área encargada de procesar las acciones recibidas del front-end, estableciendo la comunicación entre los servicios y servidores necesarios, realizando los cambios requeridos o las consultas requeridas sobre los datos y generando un estado de respuesta sobre las operaciones ejecutadas. El front-end puede ser visto como el puente o mediador entre el usuario y el back-end. Según el patrón arquitectónico MVC, el front-end corresponde con la capa de presentación o las vistas del sistema y el back-end corresponde con las funciones de la capa controlador, la lógica del negocio y sus datos gestionados en la capa modelo. La tecnología principal utilizada en la empresa es el framework Struts 2, dividido entre las vistas (JavaServer Pages), las acciones (lógica y datos persistentes) y el controlador (ActionServlet), proporcionando distribución de capas siguiendo el patrón MVC. Actualmente, existe una migración de la tec-

42 31 nología principal a GWT, a pesar de que éste último explicitamente no presenta una división de capas según el patrón MVC, por sus ventajas modernas en el desarrollo de aplicaciones web y el enfoque utilizado en las aplicaciones desarrolladas en el mismo tiene como base dicho patrón arquitectónico. Por su parte, el back-end se encuentra divido en tres (3) capas: una capa superior compuesto de la nube de servicios antes especificada, disponibles mediante la tecnología de Apache Axis 2 y el servidor Jakarta Tomcat 6 o servicios directamente construidos desde GWT (anteriormente Struts 2). Una capa intermedia que corresponde con el desarrollo de la lógica de los negocios de las distintas aplicaciones usadas por los servicios. Esta se comunica con la última capa, la capa de datos, a través de Hibernate, que implica la construcción de unos objetos denominados POJOs (Plain Old Java Objects) como representación abstracta de los modelos de datos a utilizar y de las fachadas que acceden directamente al manejador de base de datos utilizado (MySQL es el manejador comúnmente utilizado). La capa de datos, por ende, es toda la información almacenada por las aplicaciones en la base de datos Arquitectura de Teramantics Teramantics es un sistema de gestión de campañas publicitarias que favorecen el negocio de Terabrain Communications a través de un servicio de búsquedas semánticas sobre dichas campañas implementado a raíz del uso de un motor semántico. Para ello, se definieron una serie de casos de uso cuyo diagrama principal generalizado puede ser consultado en el apéndice C, figura C.1, del presente documento. Éstos casos de uso representan las funcionalidades principales del sistema para la gestión adecuada de campañas publicitarias según las necesidades y requerimientos establecidos. En la figura 7.2, se presenta un modelo visual de la arquitectura de Teramantics.

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

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

Más detalles

Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar

Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar Gobierno Municipal del Cantón Bolívar Versión: Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Plan de Desarrollo de Software Universidad

Más detalles

Documento Técnico Gerardo Barcia Jonathan Trujillo María Alejandra Uribe

Documento Técnico Gerardo Barcia Jonathan Trujillo María Alejandra Uribe Documento Técnico Gerardo Barcia Jonathan Trujillo María Alejandra Uribe Índice de contenido 1. Introducción...3 2. El modelo de negocio...3 2.1 Antecedentes...3 2.2 Planteamiento del problema actual...3

Más detalles

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

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

Más detalles

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

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

Más detalles

SISTEMAS DE INFORMACIÓN III TEORÍA

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

Más detalles

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

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

Más detalles

JAVA EE 5. Arquitectura, conceptos y ejemplos.

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

Más detalles

Capítulo 5. Cliente-Servidor.

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

Más detalles

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

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

Más detalles

MACROPROCESO GESTIÓN TECNOLÓGICA

MACROPROCESO GESTIÓN TECNOLÓGICA Versión 1.0 Página 1 de 5 1. OBJETIVO Suministrar las fases para la puesta en producción de aplicaciones y sistemas de información desarrollados o adquiridos por el Instituto Colombiano de Bienestar Familiar

Más detalles

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

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

Más detalles

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

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

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

Anexo 4 Documento de Arquitectura

Anexo 4 Documento de Arquitectura Anexo 4 Documento de Arquitectura 1. Introducción El anexo se describe el propósito y alcance referentes al proyecto correspondiente al documento de arquitectura. 2. Propósito El propósito del anexo de

Más detalles

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

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

Más detalles

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

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

Más detalles

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

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

Más detalles

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

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

Service Oriented Architecture

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

Más detalles

Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre

Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre Cenditel, Mayo 2011 Licencia de Uso Copyright (c) 2010, Alvarez J., Solé S., Briceño R., Fundación CENDITEL. La Fundación CENDITEL

Más detalles

http://www.informatizate.net

http://www.informatizate.net http://www.informatizate.net Metodologías De Desarrollo De Software María A. Mendoza Sanchez Ing. Informático - UNT Microsoft Certified Professional - MCP Analísta y Desarrolladora - TeamSoft Perú S.A.C.

Más detalles

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

Herramienta de Gestión Integral de E-Business

Herramienta de Gestión Integral de E-Business Herramienta de Gestión Integral de E-Business Ingeniería técnica de informática de sistemas Autor: David López Martín Tutor: Antoni Oller Arcas Índice Introducción Metodología Análisis Diseño Planificación

Más detalles

Una puerta abierta al futuro

Una puerta abierta al futuro Una puerta abierta al futuro SOA E ITIL EN LA LEY DE ACCESO ELECTRÓNICO DE LOS CIUDADANOS A LOS SERVICIOS PÚBLICOS (LAECSP) por francisco javier antón Vique La publicación de la Ley de Acceso electrónico

Más detalles

Anteproyecto Fin de Carrera

Anteproyecto Fin de Carrera Universidad de Castilla-La Mancha Escuela Superior de Informática Anteproyecto Fin de Carrera DIMITRI (Desarrollo e Implantación de Metodologías y Tecnologías de Testing) Dirige: Macario Polo Usaola Presenta:

Más detalles

ARQUITECTUA DE M2M MIGUEL ÁLVAREZ Y CLARA HERRERO. Documento inicial

ARQUITECTUA DE M2M MIGUEL ÁLVAREZ Y CLARA HERRERO. Documento inicial Título ARQUITECTUA DE M2M Proyecto Monkey to Monkey ( M 2 M ) Equipo Proyectos Informáticos Versión 1.0 Código PLAN_M2M_2012_04_01 Fecha 19/04/2012 Autores MIGUEL ÁLVAREZ Y CLARA HERRERO Estado Documento

Más detalles

Arquitectura de Software

Arquitectura de Software Arquitectura de Software (Estilos Arquitectónicos) Universidad de los Andes Demián Gutierrez Mayo 2011 1 Diseño Arquitectónico Diseño Arquitectónico Arquitectura del Software Estilos Arquitectónicos Frameworks

Más detalles

Servidores Donantonio

Servidores Donantonio Especificación de requisitos software Tabla de contenidos Juan José Amor David Escorial Ismael Olea 1. Introducción...3 1.1. Propósito...3 1.2. Ámbito del sistema...3 1.3. Definiciones, acrónimos y abreviaturas...3

Más detalles

Planeación del Proyecto de Software:

Planeación del Proyecto de Software: Apéndice A. Cuestionarios del Sistema Evaluador Nivel2. Requerimientos de Administración: Goal 1: Los requerimientos del sistema asociados a software están bien controlados y existe un estándar para los

Más detalles

Resumen General del Manual de Organización y Funciones

Resumen General del Manual de Organización y Funciones Gerencia de Tecnologías de Información Resumen General del Manual de Organización y Funciones (El Manual de Organización y Funciones fue aprobado por Resolución Administrativa SBS N 354-2011, del 17 de

Más detalles

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Antes de analizar lo que es un servidor Web y llevara a cabo su instalación, es muy importante identificar diferentes elementos involucrados

Más detalles

Unidad 1. Fundamentos en Gestión de Riesgos

Unidad 1. Fundamentos en Gestión de Riesgos 1.1 Gestión de Proyectos Unidad 1. Fundamentos en Gestión de Riesgos La gestión de proyectos es una disciplina con la cual se integran los procesos propios de la gerencia o administración de proyectos.

Más detalles

PROCEDIMIENTO ESPECÍFICO. Código G083-01 Edición 0

PROCEDIMIENTO ESPECÍFICO. Código G083-01 Edición 0 Índice 1. TABLA RESUMEN... 2 2. OBJETO... 2 3. ALCANCE... 2 4. RESPONSABILIDADES... 3 5. ENTRADAS... 3 6. SALIDAS... 3 7. PROCESOS RELACIONADOS... 3 8. DIAGRAMA DE FLUJO... 4 9. DESARROLLO... 5 9.1. DEFINICIÓN...

Más detalles

1. Resumen.. 3. 2. Objetivos.. 3. 3. Introducción. 3

1. Resumen.. 3. 2. Objetivos.. 3. 3. Introducción. 3 1 Índice 1. Resumen.. 3 2. Objetivos.. 3 3. Introducción. 3 4. Aplicación web para la gestión de una memoria corporativa: reportes de actividades (proyectos) 4.1 Metodología... 4 4.2 Lenguajes y herramientas

Más detalles

6 Anexos: 6.1 Definición de Rup:

6 Anexos: 6.1 Definición de Rup: 6 Anexos: 6.1 Definición de Rup: Es un producto del proceso de ingeniería de software que proporciona un enfoque disciplinado para asignar tareas y responsabilidades dentro de una organización del desarrollo.

Más detalles

Introducción CAPÍTULO 1

Introducción CAPÍTULO 1 Introducción CAPÍTULO 1 6 CAPÍTULO 1 - Introducción. En la actualidad hay una gran cantidad de repositorios en los que se puede alojar código fuente para poder compartirlo con los usuarios que visiten

Más detalles

Clientes Donantonio. Especificación de requisitos software. Juan José Amor David Escorial Ismael Olea

Clientes Donantonio. Especificación de requisitos software. Juan José Amor David Escorial Ismael Olea Especificación de requisitos software Tabla de contenidos Juan José Amor David Escorial Ismael Olea 1. Introducción...3 1.1. Propósito...3 1.2. Ámbito del sistema...3 1.3. Definiciones, acrónimos y abreviaturas...3

Más detalles

Arquitectura. 1.- Aplicaciones Web. Definición. Arquitectura clásica. Contenidos. 1.- Aplicaciones Web

Arquitectura. 1.- Aplicaciones Web. Definición. Arquitectura clásica. Contenidos. 1.- Aplicaciones Web Arquitectura 1.- Aplicaciones Web Definición Contenidos 1.- Aplicaciones Web 2.- Arquitectura de aplicaciones Web Lo que distingue una aplicación Web de una mero sitio Web reside en la posibilidad que

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

Capitulo III. Diseño del Sistema.

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

Capítulo 2. Marco Teórico

Capítulo 2. Marco Teórico Capítulo 2. Marco Teórico 2.1. Frameworks para Aplicaciones Web en Java Con el crecimiento exponencial de Internet en los últimos años, las aplicaciones Web se han convertido en una parte básica y común

Más detalles

http://www.cem.itesm.mx/extension/ms

http://www.cem.itesm.mx/extension/ms Diplomado Programación orientada a objetos con Java y UML Las empresas necesitan contar con sistemas de información modernos, ágiles y de calidad para alcanzar sus objetivos y ser cada vez más competitivos

Más detalles

Visión General de GXportal. Última actualización: 2009

Visión General de GXportal. Última actualización: 2009 Última actualización: 2009 Copyright Artech Consultores S. R. L. 1988-2009. Todos los derechos reservados. Este documento no puede ser reproducido en cualquier medio sin el consentimiento explícito de

Más detalles

Proceso: AI2 Adquirir y mantener software aplicativo

Proceso: AI2 Adquirir y mantener software aplicativo Proceso: AI2 Adquirir y mantener software aplicativo Se busca conocer los estándares y métodos utilizados en la adquisición de y mantenimiento del software. Determinar cuál es proceso llevado a cabo para

Más detalles

OLIMPO Servidor Universal

OLIMPO Servidor Universal OLIMPO Servidor Universal Documento 20050714/01 Fecha Creación Julio 2005 Fecha Última Revisión Agosto 2007 Versión de documento 2.0 1/7 Visión Global Desde el año 1984, en IGT Microelectronics hemos ofrecido

Más detalles

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

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

Más detalles

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

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

Más detalles

Sistema PYMES Ventas e Inventarios H&S

Sistema PYMES Ventas e Inventarios H&S Sistema PYMES Ventas e Inventarios H&S Sistema PYMES Ventas e Inventarios H&S Visión DESARROLLADORA Teodora Vargas Tarqui Versión 0.9 Tabla de Contenidos 1. INTRODUCCION 3 1.1 Propósito 3 1.2 Alcance 3

Más detalles

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

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

Más detalles

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

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

Más detalles

Análisis y diseño del sistema CAPÍTULO 3

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

Más detalles

Metodología básica de gestión de proyectos. Octubre de 2003

Metodología básica de gestión de proyectos. Octubre de 2003 Metodología básica de gestión de proyectos Octubre de 2003 Dentro de la metodología utilizada en la gestión de proyectos el desarrollo de éstos se estructura en tres fases diferenciadas: Fase de Éjecución

Más detalles

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

Primer avance de proyecto de software para la gestión de inscripciones en cursos

Primer avance de proyecto de software para la gestión de inscripciones en cursos Primer avance de proyecto de software para la gestión de inscripciones en cursos 1. Introducción Andrés Felipe Bustamante García, Carolina Sarmiento González En este documento se presentan los resultados

Más detalles

Capítulo II. Arquitectura del Software

Capítulo II. Arquitectura del Software Capítulo II. Arquitectura del Software Después de un cuidadoso análisis de los objetivos del proyecto, se determinó que la mejor manera de estructurar el sistema era haciendo uso del muy famoso patrón

Más detalles

3. Horario laboral referencial: Lunes Viernes 8:00 a.m. a 6:00 p.m.

3. Horario laboral referencial: Lunes Viernes 8:00 a.m. a 6:00 p.m. Arquitecto de Datos 1. Línea de Negocios: Soluciones de Negocios 2. Funciones Específicas: Participar en la realización de las actividades técnicas de actualización y migraciones a versiones mejoradas

Más detalles

CONCLUISIONES Y RECOMENDACIONES

CONCLUISIONES Y RECOMENDACIONES CONCLUISIONES Y RECOMENDACIONES CONTENIDO 7.1 Verificación de Hipótesis 7.2 Conclusiones 7.3 Recomendaciones Mónica Cecilia Gallegos Varela - 145 - VERIFICACIÓN DE HIPÓTESIS La hipótesis planteada al inicio

Más detalles

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

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

Más detalles

Workflows? Sí, cuántos quiere?

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

Más detalles

<Generador de exámenes> Visión preliminar

<Generador de exámenes> Visión preliminar 1. Introducción Proyecto Final del curso Técnicas de Producción de Sistemas Visión preliminar Para la evaluación de algunos temas de las materias que se imparten en diferentes niveles,

Más detalles

El Proceso Unificado de Desarrollo de Software

El Proceso Unificado de Desarrollo de Software El Proceso de Desarrollo de Software Ciclos de vida Métodos de desarrollo de software El Proceso Unificado de Desarrollo de Software 1 Fases principales del desarrollo de software Captura de requisitos:

Más detalles

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y Capítulo VI Conclusiones En este capítulo abordaremos la comparación de las características principales y de las ventajas cada tecnología Web nos ofrece para el desarrollo de ciertas aplicaciones. También

Más detalles

Presentación del Curso Virtual PROGRAMACIÓN WEB PHP CON MYSQL AVANZADO

Presentación del Curso Virtual PROGRAMACIÓN WEB PHP CON MYSQL AVANZADO Presentación del Curso Virtual PROGRAMACIÓN WEB PHP CON MYSQL AVANZADO Tabla de contenido Programación Web PHP con MySQL Avanzado...3 Presentación del curso...3 Objetivos de aprendizaje...4 Contenidos

Más detalles

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

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

Más detalles

SISTEMAS DE INFORMACIÓN II TEORÍA

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

Más detalles

Capítulo 4 Pruebas e implementación de la aplicación CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN

Capítulo 4 Pruebas e implementación de la aplicación CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN CONCEPTOS DE PRUEBAS DE APLICACIÓN El departamento de Testing se encarga de diseñar, planear y aplicar el rol de pruebas a los sistemas que el PROVEEDOR

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

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN Proceso de Negocio (Business Process) Conjunto estructurado, medible de actividades para producir un producto.

Más detalles

SISTEMAS DE PLANEACIÓN DE RECURSOS EMPRESARIALES 2008

SISTEMAS DE PLANEACIÓN DE RECURSOS EMPRESARIALES 2008 2.1 FACTORES SEGÚN ERP s Propuesta metodológica para la gestión del conocimiento durante la implantación de sistemas ERP Propuesta metodológica La propuesta metodológica aquí desarrollada parte de un modelo

Más detalles

Ingeniería de Software en SOA

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

Más detalles

Objetivo Las personas que realicen el curso aprenderán a:

Objetivo Las personas que realicen el curso aprenderán a: Objetivo Las personas que realicen el curso aprenderán a: Describir el proceso de desarrollo de software orientado a objetos, lo que incluye las metodologías y los flujos de trabajo de la programación

Más detalles

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

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

Más detalles

5.2. PROYECTO RODA. http://roda.ibit.org/index.cfm (6/07/04).

5.2. PROYECTO RODA. http://roda.ibit.org/index.cfm (6/07/04). 5.2. PROYECTO RODA Se trata de un proyecto 1 piloto de demostración tecnológica, cofinanciado por el PROFIT 2003, cuya duración se fijó de Enero 2003 a Marzo de 2004. Los participantes son ROBOTIKER, la

Más detalles

Capitulo 5. Implementación del sistema MDM

Capitulo 5. Implementación del sistema MDM Capitulo 5. Implementación del sistema MDM Una vez que se concluyeron las actividades de análisis y diseño se comenzó la implementación del sistema MDM (Manejador de Documentos de MoProSoft). En este capitulo

Más detalles

Tribunal Constitucional PLIEGO DE PRESCRIPCIONES TÉCNICAS PARA LA CONTRATACIÓN DE LA ASISTENCIA TÉCNICA PARA LA TRAMITACIÓN JURISDICCIONAL ELECTRÓNICA

Tribunal Constitucional PLIEGO DE PRESCRIPCIONES TÉCNICAS PARA LA CONTRATACIÓN DE LA ASISTENCIA TÉCNICA PARA LA TRAMITACIÓN JURISDICCIONAL ELECTRÓNICA PLIEGO DE PRESCRIPCIONES TÉCNICAS PARA LA CONTRATACIÓN DE LA ASISTENCIA TÉCNICA PARA LA TRAMITACIÓN Índice ÍNDICE... 2 ASPECTOS GENERALES... 3 ANTECEDENTES... 3 OBJETO DEL CONTRATO... 3 ALCANCE DEL PROYECTO...

Más detalles

El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos.

El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos. Gestión de proyectos Duración: 45 horas Objetivos: El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos. Contenidos:

Más detalles

Gestión de proyectos

Gestión de proyectos Gestión de proyectos Horas: 45 El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos. Gestión de proyectos El

Más detalles

Qué es una página web?, qué conoces al respecto?, sabes crear una página

Qué es una página web?, qué conoces al respecto?, sabes crear una página Semana 13 13 Empecemos! Bienvenidos a una nueva sesión, llena de aprendizajes! En semanas anteriores estudiamos lo que son bases de datos, estructuras de datos y métodos de ordenamientos, todo lo cual

Más detalles

1. Introducción: Qué es la Gestión Documental-TI o Gestor Documental?

1. Introducción: Qué es la Gestión Documental-TI o Gestor Documental? 1. Introducción: Qué es la Gestión Documental-TI o Gestor Documental? Es un tipo de Software o portal para la gestión de conocimiento en una Organización u empresa que se basa principalmente en la administración

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software MSDN Ingeniería de Software...1 Ingeniería del Software_/_ Ingeniería y Programación...1 Análisis de Requerimientos...2 Especificación...3 Diseño...4 Desarrollo en Equipo...5 Mantenimiento...6

Más detalles

ARC 101 Architecture Overview Diagram

ARC 101 Architecture Overview Diagram ARC 101 Architecture Overview Diagram Estudio de Arquitectura para la evolución tecnológica de los aplicativos de ATyR Banco de Previsión Social ATYR Evolución Tecnológica Pág 1 of 10 Tabla de Contenidos

Más detalles

GUÍA TÉCNICA. Desarrollo de Sistemas de Información la plataforma Business Intellingence Pentaho

GUÍA TÉCNICA. Desarrollo de Sistemas de Información la plataforma Business Intellingence Pentaho Desarrollo de Sistemas de Información la plataforma Business Intellingence Página 1 de 11 Control de versiones Ver. Fecha Descripción Autores 1 04/07/14 Versión inicial SDP Página 2 de 11 Índice del Documento

Más detalles

Introducción a las redes de computadores

Introducción a las redes de computadores Introducción a las redes de computadores Contenido Descripción general 1 Beneficios de las redes 2 Papel de los equipos en una red 3 Tipos de redes 5 Sistemas operativos de red 7 Introducción a las redes

Más detalles

Capítulo I. Marco Teórico

Capítulo I. Marco Teórico 1 Capítulo I. Marco Teórico 1. Justificación Hoy en día existe una gran diversidad de aplicaciones que corren sobre la World Wide Web (WWW o Web), y cada una orientada a un fin en particular, el cuál depende

Más detalles

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

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

Más detalles

Multipedidos es un sistema de ventas on-line que permite gestionar pedidos por internet en tiempo real de manera económica, simple y eficaz.

Multipedidos es un sistema de ventas on-line que permite gestionar pedidos por internet en tiempo real de manera económica, simple y eficaz. Presentación Multipedidos es un sistema de ventas on-line que permite gestionar pedidos por internet en tiempo real de manera económica, simple y eficaz. El sistema está pensado para empresas que deseen

Más detalles

BackflipSD Modelo de Diseño

BackflipSD Modelo de Diseño BackflipSD Modelo de Diseño Historia de revisiones: Fecha Versión Descripción Autor 04/09/2012 1.0 Rodrigo Stecanella 16/09/2012 1.1 Rodrigo Stecanella 1 Contenido Historia de revisiones:...1 Introducción...3

Más detalles

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

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

Más detalles

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web Secretaría de Planificación Estratégica Oficina de Informática Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web VERSIÓN 4 Julio 2009 Índice 1. Generalidades... 3 1.1

Más detalles

CARRERA TITULO DEL TRABAJO CURSO

CARRERA TITULO DEL TRABAJO CURSO CARRERA Ingeniería Informática TITULO DEL TRABAJO TOGAF CURSO Tópicos de Ingeniería del Software CÉSAR ESTRADA CONDORI MAYRA GOMEZ QUEVEDO LUIS MUǸOS ESCAPA ALAN A. ROJAS MARROQUIN SEMESTRE IX 2010 Los

Más detalles

comunidades de práctica

comunidades de práctica 1. Introducción CoSpace es una plataforma web diseñada para proporcionar un espacio virtual de interacción y colaboración entre formadores en comunidades virtuales. Se originó como resultado de las necesidades

Más detalles

La Intranet Gubernamental como elemento clave de la Interoperabilidad

La Intranet Gubernamental como elemento clave de la Interoperabilidad La Intranet Gubernamental como elemento clave de la Interoperabilidad Créditos Documento elaborado por el Ingeniero Leandro Corte En el marco del proyecto Red Gealc-BID Como parte del Programa de Bienes

Más detalles

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

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

Más detalles

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios "Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios Miguel Alfonso Flores Sánchez 1, Fernando Sandoya Sanchez 2 Resumen En el presente artículo se

Más detalles

SIMAD CLOUD. La Gestión Documental ahora en la nube, más eficiente SISTEMA INTEGRADO DE ADMINISTRACIÓN DOCUMENTAL

SIMAD CLOUD. La Gestión Documental ahora en la nube, más eficiente SISTEMA INTEGRADO DE ADMINISTRACIÓN DOCUMENTAL La administración documental profesional es una completa herramienta documental dirigida preferiblemente a pequeñas y medianas organizaciones para ganar control sobre sus documentos, con énfasis en la

Más detalles

Gestión de Configuración del Software

Gestión de Configuración del Software Gestión de Configuración del Software Facultad de Informática, ciencias de la Comunicación y Técnicas Especiales Herramientas y Procesos de Software Gestión de Configuración de SW Cuando se construye software

Más detalles

O jeto de apre r ndizaje

O jeto de apre r ndizaje Herramientas de Gestión para Objetos de Aprendizaje. Plataforma AGORA Victor Hugo Menéndez Domínguez Universidad Autónoma de Yucatán, México :: mdoming@uady.mx Manuel Emilio Prieto Méndez Universidad de

Más detalles