8 resultados para delete

em Universidad Politécnica de Madrid


Relevância:

10.00% 10.00%

Publicador:

Resumo:

The main objective of this paper is to propose a model for helping logistics managers to choose the appropriate location points in order to situate the collection points for used portable batteries. The proposed model has two parts: a static part and a dynamic part. We can conclude that this model helps managers in the decision of locating/modifying collection points in two ways: to add new collection points to a reverse logistics network that needs more points or to delete collection points from a network that has more points than those recommended.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

This thesis aims to identify landslide risk zones in Haiti as a whole (regional scale) and Port au Prince specifically (local scale) and to evaluate how this landslide risk can affect them, especially to Port au Prince, in order to elaborate recommendations in priority zones of the city. Landslide risk priority zones are marked in order to apply land management recommendations supported in the Haitian land tenure to reduce, mitigate or delete at maximum the possible damages that these zones can suffer in the future due to landslides. These recommendations are collected in order to stakeholders decide which of them are the best options for each priority zone. Different types of maps are generated in order to locate all landslide risk zones and priority zones.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Los avances en el hardware permiten disponer de grandes volúmenes de datos, surgiendo aplicaciones que deben suministrar información en tiempo cuasi-real, la monitorización de pacientes, ej., el seguimiento sanitario de las conducciones de agua, etc. Las necesidades de estas aplicaciones hacen emerger el modelo de flujo de datos (data streaming) frente al modelo almacenar-para-despuésprocesar (store-then-process). Mientras que en el modelo store-then-process, los datos son almacenados para ser posteriormente consultados; en los sistemas de streaming, los datos son procesados a su llegada al sistema, produciendo respuestas continuas sin llegar a almacenarse. Esta nueva visión impone desafíos para el procesamiento de datos al vuelo: 1) las respuestas deben producirse de manera continua cada vez que nuevos datos llegan al sistema; 2) los datos son accedidos solo una vez y, generalmente, no son almacenados en su totalidad; y 3) el tiempo de procesamiento por dato para producir una respuesta debe ser bajo. Aunque existen dos modelos para el cómputo de respuestas continuas, el modelo evolutivo y el de ventana deslizante; éste segundo se ajusta mejor en ciertas aplicaciones al considerar únicamente los datos recibidos más recientemente, en lugar de todo el histórico de datos. En los últimos años, la minería de datos en streaming se ha centrado en el modelo evolutivo. Mientras que, en el modelo de ventana deslizante, el trabajo presentado es más reducido ya que estos algoritmos no sólo deben de ser incrementales si no que deben borrar la información que caduca por el deslizamiento de la ventana manteniendo los anteriores tres desafíos. Una de las tareas fundamentales en minería de datos es la búsqueda de agrupaciones donde, dado un conjunto de datos, el objetivo es encontrar grupos representativos, de manera que se tenga una descripción sintética del conjunto. Estas agrupaciones son fundamentales en aplicaciones como la detección de intrusos en la red o la segmentación de clientes en el marketing y la publicidad. Debido a las cantidades masivas de datos que deben procesarse en este tipo de aplicaciones (millones de eventos por segundo), las soluciones centralizadas puede ser incapaz de hacer frente a las restricciones de tiempo de procesamiento, por lo que deben recurrir a descartar datos durante los picos de carga. Para evitar esta perdida de datos, se impone el procesamiento distribuido de streams, en concreto, los algoritmos de agrupamiento deben ser adaptados para este tipo de entornos, en los que los datos están distribuidos. En streaming, la investigación no solo se centra en el diseño para tareas generales, como la agrupación, sino también en la búsqueda de nuevos enfoques que se adapten mejor a escenarios particulares. Como ejemplo, un mecanismo de agrupación ad-hoc resulta ser más adecuado para la defensa contra la denegación de servicio distribuida (Distributed Denial of Services, DDoS) que el problema tradicional de k-medias. En esta tesis se pretende contribuir en el problema agrupamiento en streaming tanto en entornos centralizados y distribuidos. Hemos diseñado un algoritmo centralizado de clustering mostrando las capacidades para descubrir agrupaciones de alta calidad en bajo tiempo frente a otras soluciones del estado del arte, en una amplia evaluación. Además, se ha trabajado sobre una estructura que reduce notablemente el espacio de memoria necesario, controlando, en todo momento, el error de los cómputos. Nuestro trabajo también proporciona dos protocolos de distribución del cómputo de agrupaciones. Se han analizado dos características fundamentales: el impacto sobre la calidad del clustering al realizar el cómputo distribuido y las condiciones necesarias para la reducción del tiempo de procesamiento frente a la solución centralizada. Finalmente, hemos desarrollado un entorno para la detección de ataques DDoS basado en agrupaciones. En este último caso, se ha caracterizado el tipo de ataques detectados y se ha desarrollado una evaluación sobre la eficiencia y eficacia de la mitigación del impacto del ataque. ABSTRACT Advances in hardware allow to collect huge volumes of data emerging applications that must provide information in near-real time, e.g., patient monitoring, health monitoring of water pipes, etc. The data streaming model emerges to comply with these applications overcoming the traditional store-then-process model. With the store-then-process model, data is stored before being consulted; while, in streaming, data are processed on the fly producing continuous responses. The challenges of streaming for processing data on the fly are the following: 1) responses must be produced continuously whenever new data arrives in the system; 2) data is accessed only once and is generally not maintained in its entirety, and 3) data processing time to produce a response should be low. Two models exist to compute continuous responses: the evolving model and the sliding window model; the latter fits best with applications must be computed over the most recently data rather than all the previous data. In recent years, research in the context of data stream mining has focused mainly on the evolving model. In the sliding window model, the work presented is smaller since these algorithms must be incremental and they must delete the information which expires when the window slides. Clustering is one of the fundamental techniques of data mining and is used to analyze data sets in order to find representative groups that provide a concise description of the data being processed. Clustering is critical in applications such as network intrusion detection or customer segmentation in marketing and advertising. Due to the huge amount of data that must be processed by such applications (up to millions of events per second), centralized solutions are usually unable to cope with timing restrictions and recur to shedding techniques where data is discarded during load peaks. To avoid discarding of data, processing of streams (such as clustering) must be distributed and adapted to environments where information is distributed. In streaming, research does not only focus on designing for general tasks, such as clustering, but also in finding new approaches that fit bests with particular scenarios. As an example, an ad-hoc grouping mechanism turns out to be more adequate than k-means for defense against Distributed Denial of Service (DDoS). This thesis contributes to the data stream mining clustering technique both for centralized and distributed environments. We present a centralized clustering algorithm showing capabilities to discover clusters of high quality in low time and we provide a comparison with existing state of the art solutions. We have worked on a data structure that significantly reduces memory requirements while controlling the error of the clusters statistics. We also provide two distributed clustering protocols. We focus on the analysis of two key features: the impact on the clustering quality when computation is distributed and the requirements for reducing the processing time compared to the centralized solution. Finally, with respect to ad-hoc grouping techniques, we have developed a DDoS detection framework based on clustering.We have characterized the attacks detected and we have evaluated the efficiency and effectiveness of mitigating the attack impact.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

La metodología PBL propone el aprendizaje basado en problemas. A grandes rasgos sugiere que el estudiante sea el protagonista de su propio aprendizaje mediante el desarrollo de proyectos. Con esa idea, el grupo de innovación educativa DMAE-DIA (Desarrollo de nuevas Metodologías de Aprendizaje/Evaluación del Departamento de Informática Aplicada), comenzó la construcción de un portal web para mostrar los principios de dicha metodología, que permitiese a los usuarios del mismo conocerla y aprender a utilizarla en un entorno colaborativo. El objetivo de este trabajo es ampliar este portal para que los usuarios sean capaces de crear, eliminar y mantener sus propios proyectos para posteriormente utilizarlos como base para su práctica docente. El trabajo se ha planteado siguiendo el paradigma de la orientación a objetos, mediante la metodología UML y siguiendo el ciclo de vida del software y se ha implementado utilizando como base el CMS Wordpress y desarrollando con los lenguajes que más adelante se especificarán. Wordpress por su parte es un sistema de gestión de contenidos dotado de gran potencia que permite, de una manera muy sencilla, construir entornos web con el mínimo esfuerzo. ABSTRACT The PBL methodology proposed problem-based learning. Roughly suggests that the student is the protagonist of their own learning by developing projects. With that, the group of educational innovation DMAE-DIA (Development of new Learning/Assessment methodologies, Department of Applied Computing) began building a web portal to show the principles of this methodology, which would allow users to know and learn to use it in a collaborative environment. The aim of this work is to extend this website so that users are able to create, delete and maintain their own projects for later use as the basis for their teaching practice. The work has been raised following the paradigm of object orientation, by following the UML methodology and software life cycle and has been implemented using as a basis the CMS Wordpress and developed with the languages that will be specified later. Meanwhile Wordpress is a content management system endowed with great power that allows,in a very simple way to build web environments with minimal effort.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Este Trabajo de Fin de Grado (TFG) tiene el objetivo de aportar un sistema de enseñanza innovador, un sistema de enseñanza mediante el cual se consiga involucrar a los alumnos en tareas y prácticas en las que se adquieran conocimientos a la vez que se siente un ambiente de juego, es decir, que se consiga aprender de forma divertida. Está destinado al sistema educativo de la Escuela Técnica Superior de Ingenieros Informáticos de la Universidad Politécnica de Madrid, en concreto a las asignaturas relacionadas con los Procesadores de Lenguajes. La aplicación desarrollada en este trabajo está destinada tanto a los profesores de las asignaturas de Procesadores de Lenguajes como a los alumnos que tengan alguna relación con esas asignaturas, consiguiendo mayor interacción y diversión a la hora de realizar la tareas y prácticas de las asignaturas. Para los dos tipos de usuarios descritos anteriormente, la aplicación está configurada para que puedan identificarse mediante sus credenciales, comprobándose si los datos introducidos son correctos, y así poder acceder al sistema. Dependiendo de qué tipo de usuario se identifique, tendrá unas opciones u otras dentro del sistema. Los profesores podrán dar de alta, ver, modificar o dar de baja las configuraciones para los analizadores de los lenguajes correspondientes a las diferentes asignaturas que están configurados previamente en el sistema. Además, los profesores pueden dar de alta, ver, modificar o dar de baja los fragmentos de código que formarán los ficheros correspondientes a las plantillas de pruebas del analizador léxico que se les ofrece a los alumnos para realizar comprobaciones de las prácticas. Mediante la aplicación podrán establecer diferentes características y propiedades de los fragmentos que incorporen al sistema. Por otra parte, los alumnos podrán realizar la configuración del lenguaje, definido por los profesores, para la parte del analizador léxico de las prácticas. Esta configuración será guardada para el grupo al que corresponde el alumno, pudiendo realizar modificaciones cualquier miembro del grupo. De esta manera, se podrán posteriormente establecer las relaciones necesarias entre los elementos del lenguaje según la configuración de los profesores y los elementos referentes a las prácticas de los alumnos.Además, los alumnos podrán realizar comprobaciones de la parte léxica de sus prácticas mediante los ficheros que se generan por el sistema en función de sus opciones de práctica y los fragmentos añadidos por los profesores. De esta manera, se informará a los alumnos del éxito de las pruebas o bien de los fallos ocasionados con sus resultados, bien por el formato del archivo subido como resultado de la prueba o bien por el contenido incorrecto de este mismo. Todas las funciones que ofrece esta aplicación son completamente on-line y tendrán una interfaz llamativa y divertida, además de caracterizarse por su facilidad de uso y su comodidad. En el trabajo realizado para este proyecto se cumplen tanto las Pautas de Accesibilidad para Contenidos Web (WCAG 2.0), así como las propiedades de un código HTML 5 y CSS 3 de manera correcta, para así conseguir que los usuarios utilicen una aplicación fácil, cómoda y atractiva.---ABSTRACT---This Final Year Project (TFG) aims to contribute the educational system of the School of Computer Engineering at the Polytechnic University of Madrid, especially in subjects related with Language Processors. This project is an interactive learning system whose goal is to learn in an amusing environment. To realize this target, the system involves students, using environments of games in tasks and practices. The application developed in this project is designed for both professors of the subjects of Language Processors and students who have some relation to these subjects. This perspective achieve more interaction and a funny environment during the subject‘s tasks. The application is configured in order to the users can be identified by their credentials, checking whether the identification data are correct to have access to the system. According on what type of user is identified, they will have different options within the system. Professors will be able to register, modify or delete settings for the scanner of languages for all the subjects preconfigured in the system. Additionally, professors can register, show, modify or remove the code of the templates from scanner tests that are offered to students for testing the practical exercises. The professors may provide also different characteristics and properties of fragments incorporated in the system. Moreover, students can make the configuration of languages, getting in the systems by the administrators, for the scanner module of their practical exercises. This configuration will be saved for the group of the student. This model can also be changed by any group member. The system permits also establish later the relationships between the elements of language fixes by professors and elements developed by the students. Students could check the lexical part of their practical exercises through files that are created according to their practical options and the fragments added by professors. Thus students will be informed of success or failure in the uploaded files format and in the content of them. All functions provide by this application are completely on-line and will have a striking and funny interface, also characterized by its ease of use and comfort.The work reaches both the Web Content Accessibility Guidelines (WCAG 2.0), and the properties of an HTML 5 and CSS 3 code correctly, in order to get the users to get an easy, convenient application and attractive.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

The aim of this project is to create a website which is useful both employees and students of a university, so employees can add information, if they log in with username and password access, and students can view this information . Employees may modify and display information such as title, room, or their faculty (from a list defined by the administrator), and most importantly, their schedule, whether class, tutoring, free time, or any of tasks that the administrator define. There will be a manager, responsible for managing employees, the availables faculties and the types of tasks that employees can use on their schedule. Students may see the employees schedules and rooms on the homepage. They differentiate between differents tasks of employees, because these are in different colors. They can also filter information for faculty, employee or day. To achieve our goal, we decided to program in Java using Servlets, which we will use to generate response to requests coming from users from the website. We will also use JSP, allowing us to create different websites files. We use JSP files and not HTML, because we need that the pages are dynamic, since not only want to show specific information, we like that information can change depending on user requests. The JSP file allows us to generate HTML, but also using JAVA language, which is necessary for our purpose. As the information we store is not fixed. We want this information can be modified at any time by employees and admin, so we need a database, which can be accessed from anywhere. We decided SQLite databases because are integrated quite well in our application, and offer a quick response. To access the database from our program, we simply connect it to the database, and with very few lines of code, add, delete or modify entries in different tables that owns the database. To facilitate the initial creation of the database, and the first tables, we use a Mozilla Firefox browser plugin, called SQLite Manager, which allows us to do so from a more friendly interface. Finally, we need a server that supports and implements specifications Servlets and JSP. We decided on the TomCat server, which is a container Servlets, because is free, easy to use, and compatible with our program. We realized all the project with Eclipse environment, also free program that allows integrating database, server and program the JSP and Servlets. Once submitted all the tools we used, we must first organize the structure of the web, relating each Servlets with JSP files. Next, create the database and the different Servlets, and adjust the database accesses to make sure we do it right. From here simply is to build up the page step by step, showing in each place we need, and redirect to different pages. In this way, we can build a complex website, free, and without being an expert in the field. RESUMEN. El objetivo de este proyecto, es crear una página web que sirva tanto a empleados como a alumnos de una universidad, de tal manera que los empleados podrán añadir información, mediante el acceso con usuario y contraseña, y los alumnos podrán visualizar está información. Los empleados podrán modificar y mostrar información como su título, despacho, facultad a la que pertenecen (de entre una lista definida por el administrador), y lo más importante, sus horarios, ya sean de clase, tutorías, tiempo libre, o cualquiera de las tareas que el administrador defina. Habrá un administrador, encargado de gestionar los empleados existentes, las facultades disponibles y los tipos de tareas que podrán usar los empleados en su horario. Los alumnos, podrán visualizar los horarios y despacho de los empleados en la página principal. Diferenciarán entre las distintas tareas de los profesores, porque estas se encuentran en colores diferentes. Además, podrán filtrar la información, por facultad, empleado o día de la semana. Para conseguir nuestro objetivo, hemos decidido programar en Java, mediante el uso de Servlets, los cuales usaremos para generar respuesta antes las peticiones que llegan de los usuarios desde la página web. También usaremos archivos JSP, que nos permitirán crear las diferentes páginas webs. Usamos archivos JSP y no HTML, porque necesitamos que las diferentes páginas sean dinámicas, ya que no solo queremos mostrar una información concreta, si no que esta información puede variar en función de las peticiones de usuario. El archivo JSP nos permite generar HTML, pero a la vez usar lenguaje JAVA, algo necesario para nuestro cometido. Como la información que queremos almacenar no es fija, si no que en todo momento debe poder ser modificada por empleados y administrador, necesitamos una base de datos, a la que podamos acceder desde la web. Nos hemos decidido por bases SQLite, ya que se integran bastante bien en nuestra aplicación, y además ofrecen una rápida respuesta. Para acceder a la base de datos desde nuestro programa, simplemente debemos conectar el mismo a la base de datos, y con muy pocas líneas de código, añadir, eliminar o modificar entradas de las diferentes tablas que posee la base de datos. Para facilitar la creación inicial de la base de datos, y de las primeras tablas, usamos un complemento del navegador Mozilla Firefox, llamado SQLite Manager, que nos permite hacerlo desde una interfaz más amigable. Por último, necesitamos de un servidor que soporte e implemente las especificaciones de los Servlets y JSP. Nos decidimos por el servidor TomCat, que es un contenedor de Servlets gratuito, de fácil manejo, y compatible con nuestro programa. Todo el desarrollo del proyecto, lo realizamos desde el entorno Eclipse, programa también gratuito, que permite integrar la base de datos, el servidor y programar los JSP y Servlets. Una vez presentadas todas las herramientas que hemos utilizado, primero debemos organizar la estructura de la web, relacionando cada archivo JSP con los Servlets a los que debe acceder. A continuación creamos la base de datos y los diferentes Servlets, y ajustamos bien los accesos a la base de datos para comprobar que lo hacemos correctamente. A partir de aquí, simplemente es ir construyendo la página paso a paso, mostrando en cada lugar lo que necesitemos, y redirigiendo a las diferentes páginas. De esta manera, podremos construir una página web compleja, de manera gratuita, y sin ser un experto en la materia.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Para entender el proyecto de una manera muy simplificada lo podríamos resumir de la siguiente forma: Se trata de una aplicación que permite a los usuarios imputar las horas de las tareas que realizan de una forma sencilla, y que los gestores de estos usuarios, mediante informes ejecutivos, puedan analizar las dedicaciones y costes de los proyectos que éstos gestionan. Además se dispondrá de pantallas para administrar todas las entidades que están implicadas en las imputaciones. Las imputaciones se realizarán agrupándolas por el concepto “Parte”. Los Partes dividen los meses en grupos de 10 días, así cada usuario tendrá que imputar las horas que realiza cada 10 días, enviando a su supervisor el parte para que este pueda revisarlo y analizar los resultados de las imputaciones a través de los informes. Vamos a resumir las entidades que intervienen en la aplicación y sus relaciones de la siguiente forma: - Los usuarios tendrán asignados una serie de cargos, los cuales definirán las posibles tareas que podrán realizar categorizadas en los conceptos Proceso y Subproceso. Un ejemplo de esta relación podría ser el cargo “Programador” podrá realizar tareas de tipo Proceso “Desarrollo” y tipos de Subproceso “Programación” y “Pruebas unitarias” - También se asignarán a los usuarios los proyectos en los que trabajan. Estos proyectos pertenecerán a una unidad (se podría equiparar el concepto unidad por ejemplo a clientes, departamentos, etc). - También se podrán asignar a los usuarios las peticiones concretas de proyectos en los que intervienen. Una petición podría ser una incidencia detectada en un proyecto, una mejora concreta en un proyecto de mantenimiento, un soporte realizado para arreglar unos datos incorrectos, etc. - A los usuarios se le asignarán unos costes que podrán ser distintos por periodos de tiempo con el fin de conocer el coste exacto de una hora realizada en la fecha en la que fue realizada. - A los usuarios se les asignará un Perfil de usuario. Este perfil de usuario definirá los permisos sobre los módulos disponibles de la herramienta. Habrá un permiso por cada entidad, dividiéndolos en Alta, Baja, Modificación y Consulta. Además de estos permisos habrá permisos especiales sobre módulos que no se refieran al manteniendo de entidades pero que sí requieran de un permiso especial para poder ejecutarse como por ejemplo poder ejecutar los informes de costes, poder realizar y consultar partes de otros usuarios además de los propios del usuario, etc. Los perfiles serán dinámicos. Se podrán crear tantos perfiles como se requieran, cada uno con los permisos que se le asignen. - Los usuarios imputarán las horas que realizan categorizando por tarea los siguientes conceptos: Proyecto, Petición (opcional), Proceso, Subproceso, Descripción de la tarea y horas invertidas en los días de la decena. La aplicación permite poder adaptarse a las necesidades de diseño de la organización que la utilice y pueden crearse tantas instancias de la aplicación como se necesiten, compartiendo ono la base de datos entre varias de las instancias, sin necesidad de duplicar el código en el servidor, lo que facilita el mantenimiento de la aplicación cuando se añaden mejoras y se solucionan incidencias. También facilita el poder vender licencias de uso de la aplicación a otras entidades teniendo una sola versión de la aplicación en la nube, lo que hace muy bajo el coste de la venta de licencias aumentando así los beneficios por venta. ABSTRACT To understand the project in a very simplified way we could summarize as follows: Its an application that allows users to charge the hours of tasks that they realize in a easy way, and that the managers of these users, by executive reports, can analyze dedications and costs of projects that they manage. Furthermore screens will be available to manage all entities that are involved in the charge of hours. The charge of hours will be grouped by the concept "Timesheet". The Timesheets divided the months in groups of 10 days, so each user will have to charge the hours every 10 days by sending his supervisor the thimesheet so that it can review it and analyze the results of the charges of hours by reports.Let's summarize the entities involved in the application and their relationships as follows: - Users will be assigned to one or more positions, which define the possible tasks that can perform categorized into concepts Process and Subprocess. An example of this relationship could be the position "Developer" may do tasks of process type "Development" and subprocess types "Programming" and "Unit Testing" - Users will also be assigned to projects in which they work. These projects belongs to a unit (Some possible examples of unit could be customers, departments, ...). - You can also assign users to specific requests for projects thar they are involved. A request could be an issue detected in a project, a concrete improvement in a maintenance project, a support made to fix some incorrect data, ... - Users will be assigned to one or more costs that may be different for periods of time in order to know the exact cost of an hour on the date on which it was made. - Users will be assigned to a User Profile. This user profile define the available permissions on modules of tool. There will be a permission for each entity, dividing them into Insert, Delete, Modify and Read. In addition to these permissions will be special permissions on modules that are not related to maintaining entities but if require special permission to execute such as to execute the cost reports, to make and read Timesheets of others users in addition to themselve user, etc. The profiles will be dynamic. We can create many profiles as we required, each with the permissions that are assigned. - Users charge the hours that they work categorizing per task the following: Project, Request (optional), Process, Subprocess, task description and the hours that they used in the ten days period. The application allows to adapt to the needs of design of the organization that use the application and allows create many instances of the application as needed, yes or not sharing the database among multiple instances without duplicating the code on the server, which facilitates maintenance of the application when improvements are added and incidents are resolved. It also facilitates to sell licenses to use the application to other organizations having a single version of the application in the cloud, making it very low cost from the sale of licenses and increasing profits per sale.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Este proyecto se centra en la construcción de una herramienta para la gestión de contenidos de muy diversos tipos, siendo fácilmente adaptable a cada uno de los contextos. Permite guardar los contenidos necesarios gracias a un formulario previamente personalizado, de este modo hay un editor que se dedica solamente a la introducción de los contenidos y un administrador que personaliza los campos del formulario según los contenidos. En esencia la herramienta sirve de apoyo a dos tipos de usuario, desarrolladores (administrador) y redactores (editor), a los primeros les simplifica las tareas de conceptualización de las estructuras de datos de las que se desea tener persistencia y sirve como base para construir los editores que usan los redactores, por otro lado proporciona un API sencillo, potente y ágil para recuperar los datos introducidos por los redactores. La herramienta a su vez está pensada para ser interoperable, es decir, no obliga a usar un tipo de almacenamiento persistente concreto. Puede utilizar desde los sencillos archivos de texto, con lo que puede desplegarse en servidores treméndamente básicos. Por otro lado, si se necesita potencia en las búsquedas, nada debe impedir el uso de bases de datos relacionales como MySql. O incluso si se quiere dar un paso más y se quiere aprovechar la flexibilidad, potencia y maleabilidad de las bases de datos NoSql (como MongoDB) no es costoso, lo que hay que hacer es implementar una nueva clase de tipo PersistentManager y desarrollar los tipos de búsqueda y recuperación de contenidos que se necesiten. En la versión inicial de la herramienta se han implementado estos tres tipos de almacenes, nada impide usar sólo alguno de ellos y desechar el resto o implementar uno nuevo. Desde el punto de vista de los redactores, les ofrece un entorno sencillo y potente para poder realizar las tareas típicas denominadas CRUD (Create Read Update Delete, Crear Leer Actualizar y Borrar), un redactor podrá crear, buscar, re-aprovechar e incluso planificar publicación de contenidos en el tiempo. ABSTRACT This project focuses on building a tool for content management of many types, being easily adaptable to each context. Saves the necessary content through a previously designed form, thus there will be an editor working only on the introduction of the contents and there will be an administrator to customize the form fields as contents. Essentially the tool provides support for two types of users, developers (administrator) and editors, the first will have simplified the tasks of conceptualization of data structures which are desired to be persistent and serve as the basis for building the structures that will be used by editors, on the other hand provides a simple, powerful and agile API to retrieve the data entered by the editors. The tool must also be designed to be interoperable, which means not to be bound by the use of a particular type of persistent storage. You can use simple text files, which can be deployed in extremely basic servers. On the other hand, if power is needed in searches, nothing should prevent the use of relational databases such as MySQL. Or even if you want to go a step further and want to take advantage of the flexibility, power and malleability of NoSQL databases (such as MongoDB) it will not be difficult, you will only need to implement a new class of PersistentManager type and develop the type of search and query of content as needed. In the initial version of the tool these three types of storage have been implemented, it will be entitled to use only one of them and discard the rest or implement a new one. From the point of view of the editors, it offers a simple and powerful environment to perform the typical tasks called CRUD (Create Read Update Delete), an editor can create, search, re-use and even plan publishing content in time.