13 resultados para REST-api
em Universidad Politécnica de Madrid
Resumo:
RESUMEN DEL PROYECTO Organizar actividades y proyectos entre varias personas o tomar decisiones conjuntas son cuestiones a las que se enfrenta cualquier individuo en su día a día. El simple hecho de coordinar o poner de acuerdo a un grupo reducido de personas puede llegar a suponer un gran problema ya que cada participante tiene sus propias preferencias y, en ocasiones, es difícil conseguir encajarlas con las demás del grupo. Este proyecto, llamado “DealtDay”, surge para facilitar esta labor. La idea nace ante la necesidad de organizar, de forma fácil e intuitiva, a un grupo de personas para, por ejemplo, concretar una reunión, quedar para ir a dar una vuelta, decidir qué película ver, etc. Este proyecto se ha desarrollado basándose en el sistema actual de relaciones con el que se han creado la mayoría de las redes sociales que hoy conocemos. Como medio para poder hacer uso del proyecto se ha construido una aplicación web que, gracias a las decisiones de diseño tomadas, se puede usar tanto en un ordenador, una tablet o un Smartphone. Este punto se considera fundamental ya que cada vez más personas están dejando de lado los ordenadores corrientes para dar paso al uso de las nuevas tecnologías. Además, se ha creado una API REST, lo que nos permite utilizar todas las funcionalidades de la aplicación desde cualquier sistema que pueda realizar peticiones http. En este proyecto en concreto se realizará la parte del desarrollo de la API, el cliente web y el despliegue de la aplicación en un servidor web para realizar las pruebas pertinentes. ABSTRACT To organize activities and projects between several people or make joint decisions are issues to which any person faces every day.The simple fact of coordinate or coming to an agreement with a group of persons could be a major problem, since each participant has their own preferences and often fails when tries to fit them with the group. This project, called “Dealt Day”, is born to facilitate this task. The idea arises of how to achieve organize a group of people in an easily and intuitively way in order to arrange a meeting, be able to go for a walk, decide what movie to see or simply vote a choice between a users group. This project has been developed based on the current relation system that has been created in the most social networks we know. As a means of making use of the project a web application has been built, that thanks to the design decisions taken it can be used in a computer, tablet or smartphone, This is an essential point because more and more people are abandoning the current computers to make way for the use of new technologies. Also, a REST API has been created, which allows us to use all the features of the application from any system able to make http requests. In this particular project, I have done the development of the API, web client and the application deployment on a web server in order to test it.
Resumo:
Memoria de Proyecto Fin de Grado API REST con MEAN para Contenidos Multimedia. En ella se especifica todo el proceso de elaboración del proyecto, desde la confección de la idea, pasando por el análisis y la definición de requisitos de elaboración, hasta la entrega definitiva del producto final. El proyecto consta de dos bloques claramente diferenciados: Una documentación extensa de la línea de trabajo, con apoyo de diagramas, imágenes, descripciones y metodologías. Implementación de la línea de trabajo. Elaboración de una aplicación SW que presente una correspondencia con la temática del proyecto, la intención del mismo y los requisitos que se espera que la solución software satisfaga. Al ser un proyecto software, se ha seguido estándares de elaboración con la mayor fidelidad. Estos estándares de elaboración son tanto de documentación como de metodologías. La evolución del proyecto ha pasado por diferentes etapas. Las principales son las de análisis y recopilación de requisitos, diseño de la arquitectura, implementación de la solución software y validación de la misma.
Resumo:
Resumen El documento que se desarrolla en los siguientes capítulos ha sido realizado como Proyecto de Fin de Grado para el Grado de Ingeniería del Software (Plan 2009) impartido por la Escuela Técnica Superior de Ingeniería de Sistemas Informáticos de la Universidad Politécnica de Madrid durante el curso académico 2014-2015 y bajo la tutela del Dr. Francisco Javier Gil Rubio, profesor del Departamento de Organización y Estructura de la Información (Actualmente DSI). La empresa Radmas Technologies pretende proporcionar con el producto Mejora Tu Ciudad —su solución para la gestión integral de Smart-Cities— un servicio REST interoperable y una capa de abstracción para el lenguaje Javascript. El presente proyecto se centra en la definición y creación de un API RESTFUL sobre la que los distintos clientes puedan interactuar con la plataforma independientemente de las herramientas de desarrollo utilizadas. Tras la definición del servicio se llevará a cabo la creación de un SDK1 válido en distintas plataformas basadas en Javascript, que facilite el acceso a aquellos clientes que utilicen dichas plataformas como punto de partida para iniciar otros desarrollos derivados. Con este pretexto nace un proyecto que pretende también cubrir todas las fases del ciclo de vida de un producto de software, ciertamente particular en este caso, ya que se trata de un ecosistema que comprende dos soluciones enfocadas hacia la interoperabilidad, una genérica y otra orientada a una única plataforma de destino, y que a su vez servirán como base para llevar a cabo futuros desarrollos. Por todo lo expuesto, el proyecto cubrirá las siguientes etapas: Estudio de la problemática: se describe la situación en la que se encuentra la compañía y los motivos por los que se propone la creación de un API REST2 y más tarde la elaboración de un Kit de Desarrollo de Software (SDK) orientado exclusivamente a plataformas basadas en Javascript como solución a las necesidades de los potenciales clientes. Estudio teórico de las distintas tecnologías y protocolos disponibles en los cuales se sustentarán los desarrollos que se lleven a cabo. Estimación de tiempos, planificación y gestión de tareas mediante metodologías ágiles y desarrollo del producto. Creación de una batería de pruebas y generación de un entorno para ejecutarlas que permita cubrir los distintos casos de uso requeridos por el usuario. También se hará uso, siempre que sea posible, de la metodología de trabajo conocida como TDD3 o Desarrollo Dirigido por las Pruebas. Generación de documentación orientada a desarrolladores exponiendo las bondades y las técnicas de uso del ecosistema definido. Creación de un conjunto de ejemplos que sirvan como punto de partida para llevar a cabo futuros desarrollos. Las fases anteriormente descritas se apoyan en los conocimientos recibidos en las distintas asignaturas que ofrece la titulación. Por tanto, haré frecuentes referencias a aquellas que tratan aspectos como los procesos de Ingeniería de Software (a través de un análisis y diseño coherentes de la estructura de la aplicación) y a la gestión de proyectos (haciendo especial hincapié en lo aprendido sobre metodologías ágiles), así como algunas de carácter más técnico que sin duda influirán en la generación de un código correcto y probado. Por todo ello este Trabajo de Fin de Grado pretende ser un desarrollo multidisciplinar en el que se obtenga como resultado un producto profesional, que haga uso de tecnologías y servicios de rabiosa actualidad y ejemplifique la realidad de los desarrollos de software modernos.
Resumo:
This PhD thesis contributes to the problem of resource and service discovery in the context of the composable web. In the current web, mashup technologies allow developers reusing services and contents to build new web applications. However, developers face a problem of information flood when searching for appropriate services or resources for their combination. To contribute to overcoming this problem, a framework is defined for the discovery of services and resources. In this framework, three levels are defined for performing discovery at content, discovery and agente levels. The content level involves the information available in web resources. The web follows the Representational Stateless Transfer (REST) architectural style, in which resources are returned as representations from servers to clients. These representations usually employ the HyperText Markup Language (HTML), which, along with Content Style Sheets (CSS), describes the markup employed to render representations in a web browser. Although the use of SemanticWeb standards such as Resource Description Framework (RDF) make this architecture suitable for automatic processes to use the information present in web resources, these standards are too often not employed, so automation must rely on processing HTML. This process, often referred as Screen Scraping in the literature, is the content discovery according to the proposed framework. At this level, discovery rules indicate how the different pieces of data in resources’ representations are mapped onto semantic entities. By processing discovery rules on web resources, semantically described contents can be obtained out of them. The service level involves the operations that can be performed on the web. The current web allows users to perform different tasks such as search, blogging, e-commerce, or social networking. To describe the possible services in RESTful architectures, a high-level feature-oriented service methodology is proposed at this level. This lightweight description framework allows defining service discovery rules to identify operations in interactions with REST resources. The discovery is thus performed by applying discovery rules to contents discovered in REST interactions, in a novel process called service probing. Also, service discovery can be performed by modelling services as contents, i.e., by retrieving Application Programming Interface (API) documentation and API listings in service registries such as ProgrammableWeb. For this, a unified model for composable components in Mashup-Driven Development (MDD) has been defined after the analysis of service repositories from the web. The agent level involves the orchestration of the discovery of services and contents. At this level, agent rules allow to specify behaviours for crawling and executing services, which results in the fulfilment of a high-level goal. Agent rules are plans that allow introspecting the discovered data and services from the web and the knowledge present in service and content discovery rules to anticipate the contents and services to be found on specific resources from the web. By the definition of plans, an agent can be configured to target specific resources. The discovery framework has been evaluated on different scenarios, each one covering different levels of the framework. Contenidos a la Carta project deals with the mashing-up of news from electronic newspapers, and the framework was used for the discovery and extraction of pieces of news from the web. Similarly, in Resulta and VulneraNET projects the discovery of ideas and security knowledge in the web is covered, respectively. The service level is covered in the OMELETTE project, where mashup components such as services and widgets are discovered from component repositories from the web. The agent level is applied to the crawling of services and news in these scenarios, highlighting how the semantic description of rules and extracted data can provide complex behaviours and orchestrations of tasks in the web. The main contributions of the thesis are the unified framework for discovery, which allows configuring agents to perform automated tasks. Also, a scraping ontology has been defined for the construction of mappings for scraping web resources. A novel first-order logic rule induction algorithm is defined for the automated construction and maintenance of these mappings out of the visual information in web resources. Additionally, a common unified model for the discovery of services is defined, which allows sharing service descriptions. Future work comprises the further extension of service probing, resource ranking, the extension of the Scraping Ontology, extensions of the agent model, and contructing a base of discovery rules. Resumen La presente tesis doctoral contribuye al problema de descubrimiento de servicios y recursos en el contexto de la web combinable. En la web actual, las tecnologías de combinación de aplicaciones permiten a los desarrolladores reutilizar servicios y contenidos para construir nuevas aplicaciones web. Pese a todo, los desarrolladores afrontan un problema de saturación de información a la hora de buscar servicios o recursos apropiados para su combinación. Para contribuir a la solución de este problema, se propone un marco de trabajo para el descubrimiento de servicios y recursos. En este marco, se definen tres capas sobre las que se realiza descubrimiento a nivel de contenido, servicio y agente. El nivel de contenido involucra a la información disponible en recursos web. La web sigue el estilo arquitectónico Representational Stateless Transfer (REST), en el que los recursos son devueltos como representaciones por parte de los servidores a los clientes. Estas representaciones normalmente emplean el lenguaje de marcado HyperText Markup Language (HTML), que, unido al estándar Content Style Sheets (CSS), describe el marcado empleado para mostrar representaciones en un navegador web. Aunque el uso de estándares de la web semántica como Resource Description Framework (RDF) hace apta esta arquitectura para su uso por procesos automatizados, estos estándares no son empleados en muchas ocasiones, por lo que cualquier automatización debe basarse en el procesado del marcado HTML. Este proceso, normalmente conocido como Screen Scraping en la literatura, es el descubrimiento de contenidos en el marco de trabajo propuesto. En este nivel, un conjunto de reglas de descubrimiento indican cómo los diferentes datos en las representaciones de recursos se corresponden con entidades semánticas. Al procesar estas reglas sobre recursos web, pueden obtenerse contenidos descritos semánticamente. El nivel de servicio involucra las operaciones que pueden ser llevadas a cabo en la web. Actualmente, los usuarios de la web pueden realizar diversas tareas como búsqueda, blogging, comercio electrónico o redes sociales. Para describir los posibles servicios en arquitecturas REST, se propone en este nivel una metodología de alto nivel para descubrimiento de servicios orientada a funcionalidades. Este marco de descubrimiento ligero permite definir reglas de descubrimiento de servicios para identificar operaciones en interacciones con recursos REST. Este descubrimiento es por tanto llevado a cabo al aplicar las reglas de descubrimiento sobre contenidos descubiertos en interacciones REST, en un nuevo procedimiento llamado sondeo de servicios. Además, el descubrimiento de servicios puede ser llevado a cabo mediante el modelado de servicios como contenidos. Es decir, mediante la recuperación de documentación de Application Programming Interfaces (APIs) y listas de APIs en registros de servicios como ProgrammableWeb. Para ello, se ha definido un modelo unificado de componentes combinables para Mashup-Driven Development (MDD) tras el análisis de repositorios de servicios de la web. El nivel de agente involucra la orquestación del descubrimiento de servicios y contenidos. En este nivel, las reglas de nivel de agente permiten especificar comportamientos para el rastreo y ejecución de servicios, lo que permite la consecución de metas de mayor nivel. Las reglas de los agentes son planes que permiten la introspección sobre los datos y servicios descubiertos, así como sobre el conocimiento presente en las reglas de descubrimiento de servicios y contenidos para anticipar contenidos y servicios por encontrar en recursos específicos de la web. Mediante la definición de planes, un agente puede ser configurado para descubrir recursos específicos. El marco de descubrimiento ha sido evaluado sobre diferentes escenarios, cada uno cubriendo distintos niveles del marco. El proyecto Contenidos a la Carta trata de la combinación de noticias de periódicos digitales, y en él el framework se ha empleado para el descubrimiento y extracción de noticias de la web. De manera análoga, en los proyectos Resulta y VulneraNET se ha llevado a cabo un descubrimiento de ideas y de conocimientos de seguridad, respectivamente. El nivel de servicio se cubre en el proyecto OMELETTE, en el que componentes combinables como servicios y widgets se descubren en repositorios de componentes de la web. El nivel de agente se aplica al rastreo de servicios y noticias en estos escenarios, mostrando cómo la descripción semántica de reglas y datos extraídos permiten proporcionar comportamientos complejos y orquestaciones de tareas en la web. Las principales contribuciones de la tesis son el marco de trabajo unificado para descubrimiento, que permite configurar agentes para realizar tareas automatizadas. Además, una ontología de extracción ha sido definida para la construcción de correspondencias y extraer información de recursos web. Asimismo, un algoritmo para la inducción de reglas de lógica de primer orden se ha definido para la construcción y el mantenimiento de estas correspondencias a partir de la información visual de recursos web. Adicionalmente, se ha definido un modelo común y unificado para el descubrimiento de servicios que permite la compartición de descripciones de servicios. Como trabajos futuros se considera la extensión del sondeo de servicios, clasificación de recursos, extensión de la ontología de extracción y la construcción de una base de reglas de descubrimiento.
Resumo:
Inter-individual differences in cognitive performance are based on an efficient use of task-related brain resources. However, little is known yet on how these differences might be reflected on resting-state brain networks. Here we used Magnetoencephalography resting-state recordings to assess the relationship between a behavioral measurement of verbal working memory and functional connectivity as measured through Mutual Information. We studied theta (4?8 Hz), low alpha (8?10 Hz), high alpha (10?13 Hz), low beta (13?18 Hz) and high beta (18?30 Hz) frequency bands. A higher verbal working memory capacity was associated with a lower mutual information in the low alpha band, prominently among right-anterior and left-lateral sensors. The results suggest that an efficient brain organization in the domain of verbal working memory might be related to a lower resting-state functional connectivity across large-scale brain networks possibly involving right prefrontal and left perisylvian areas.
Resumo:
A lo largo de los últimos años, el paradigma de la arquitectura orientada a servicios ha tenido una gran expansión gracias a la expansión de las tecnologías web e internet. Las ventajas de esta arquitectura se basan en ofrecer diseños modulares con poco acoplamiento entre sí, lo que permite la creación eficiente y sistemática de sistemas distribuidos. Para que este tipo de arquitectura sea posible, es necesario dotar a los servicios de interfaces de interconexión que permitan encapsular los servicios al mismo tiempo que faciliten el uso de los mismos. Existen varias tecnologías para definir estos interfaces. Entre ellas, los servicios REST, o REpresentional State Transfer, están logrando cada vez más aceptación. Esto se debe principalmente a su capacidad de escalabilidad y la uniformidad de sus interfaces, que permite una mayor separación entre los consumidores y los servicios. De hecho, compañias como Yahoo, Google o Twitter definen interfaces REST de acceso a sus servicios, ya se para consultar mapas (GoogleMaps), imágenes (Flickr) o el correo, permitiendo a terceros desarrollar clientes para sus servicios sin tener que involucrarse en su producción.
Resumo:
Thermography for scientific research and practical purposes requires a series of procedures to obtain images that should be standardized; one of the most important is the time required for acclimatization in the controlled environment. Thus, the objective of this study was to identify the appropriate acclimatization time in rest to reach a thermal balance on young people skin. Forty-four subjects participated in the study, 18 men (22.3 ± 3.1 years) and 26 women (21.7 ± 2.5 years). Thermographic images were collected using a thermal imager (Fluke ®), totaling 44 images over a period of 20 minutes. The skin temperature (TSK) was measured at the point of examination which included the 0 minute, 2, 4, 6, 8, 10, 12, 14, 16, 18 and 20. The body regions of interest (ROI) analyzed included the hands, forearms, arms, thighs, legs, chest and abdomen. We used the Friedman test with post hoc Dunn?s in order to establish the time at rest required to obtain a TSK balance and the Mann-Whitney test was used to compare age, BMI, body fat percentage and temperature variations between men and women, considering always a significance level of pmenor que0.05. Results showed that women had significantly higher temperature variations than men (pmenor que0.01) along the time. In men, only the body region of the abdomen obtained a significant variance (pmenor que0.05) on the analyzed period, both in the anterior and posterior part. In women, the anterior abdomen and thighs, and the posterior part of the hands, forearms and abdomen showed significant differences (pmenor que0.05). Based on our results, it can be concluded that the time in rest condition required reaching a TSK balance in young men and women is variable, but for whole body analysis it is recommended at least 10 minutes for both sexes.
Resumo:
Vivimos en la era de la información y del internet, tenemos la necesidad cada vez mayor de conseguir y compartir la información que existe. Esta necesidad se da en todos los ámbitos existentes pero con más ahínco probablemente sea en el área de la medicina, razón por la cual se llevan a cabo muchas investigaciones de distinta índole, lo cual ha llevado a generar un cantidad inimaginable de información y esta su vez muy heterogénea, haciendo cada vez más difícil unificarla y sacar conocimiento o valor agregado. Por lo cual se han llevado a cabo distintas investigaciones para dar solución a este problema, quizás la más importante y con más crecimiento es la búsqueda a partir de modelos de ontologías mediante el uso de sistemas que puedan consultarla. Este trabajo de Fin de Master hace hincapié es la generación de las consultas para poder acceder a la información que se encuentra de manera distribuida en distintos sitios y de manera heterogénea, mediante el uso de una API que genera el código SPARQL necesario. La API que se uso fue creada por el grupo de informática biomédica. También se buscó una manera eficiente de publicar esta API para su futuro uso en el proyecto p-medicine, por lo cual se creó un servicio RESTful para permitir generar las consultas deseadas desde cualquier plataforma, haciendo en esto caso más accesible y universal. Se le dio también una interfaz WEB a la API que permitiera hacer uso de la misma de una manera más amigable para el usuario. ---ABSTRACT---We live in the age of information and Internet so we have the need to consult and share the info that exists. This need comes is in every scope of our lives, probably one of the more important is the medicine, because it is the knowledge area that treats diseases and it tries to extents the live of the human beings. For that reason there have been many different researches generating huge amounts of heterogeneous and distributed information around the globe and making the data more difficult to consult. Consequently there have been many researches to look for an answer about to solve the problem of searching heterogeneous and distributed data, perhaps the more important if the one that use ontological models. This work is about the generation of the query statement based on the mapping API created by the biomedical informatics group. At the same time the project looks for the best way to publish and make available the API for its use in the p-medicine project, for that reason a RESTful API was made to allow the generation of consults from within the platform, becoming much more accessible and universal available. A Web interface was also made to the API, to let access to the final user in a friendly
Resumo:
El trabajo realizado se encuentra enmarcado dentro del proyecto de I+D+I del 7o programa marco de la Comisión Europea Fi-WARE: The future Internet core platform que forma parte de la iniciativa Future Internet PPP. En concreto, se ha desarrollado la especificación de un Generic Enabler con funcionalidad de tienda virtual que de soporte a la publicación y adquisición o subscripción de aplicaciones y servicios dentro del denominado Business Framework Ecosystem (BFE), además de una implementación de referencia de este Generic Enabler (GE) que ha sido utilizada para la realización de una prueba de concepto con el objetivo de comprobar la adecuación del comportamiento de la especificación dentro del BFE. La primera tarea realizada ha consistido en un estudio de otras stores (o tiendas digitales) existentes, mirando aspectos tales como la funcionalidad proporcionada, la información mostrada de los distintos productos ofrecidos o la organización de la interfaz de usuario y la metáfora visual. Este estudio ha tenido como objetivo establecer un punto de partida desde el que empezar a analizar las distintas funcionalidades que deberá proveer el sistema.Utilizando como base el estudio anterior y las necesidades concretas de la plataforma Fi-WARE se paso a la educación de los requisitos generales del sistema en los cuales se especifica a grandes rasgos la funcionalidad que debe proveer esta tienda digital así como algunos aspectos concretos de la experiencia de usuario. Una vez definida la funcionalidad de la store se ha abordado el diseño del sistema. Para realizar este diseño se ha trabajado en dos tareas principales: La primera de estas tareas ha consistido en realizar el diseño de la arquitectura del Store GE, en el que se especifican todos los módulos que debe contener el sistema para poder satisfacer los requisitos, así como las distintas conexiones del Store GE con otros componentes del proyecto Fi-Ware y de sus interrelaciones con el resto de componentes de dicho proyecto. Esto ofrece una visión global de la ubicación del Store GE dentro de la arquitectura general del proyecto Fi-Ware. La segunda tarea ha consistido en el desarrollo de la especicación abierta (Open specication) del Store GE. Esta tarea es probablemente la más relevante de cara a cumplir con los objetivos del proyecto Fi-Ware, ya que Fi-Ware se propone como objetivo principal proporcionar las especificaciones de una plataforma tecnológica abierta para la Internet del futuro, formada por un conjunto de componentes (denominados Generic Enablers), entre los que se encuentra el Store GE. En este documento ha quedado descrito con todo detalle en que consiste el Store GE y cuales son sus APIs, sobre las que se construirán las aplicaciones de la futura Internet basadas en Fi-Ware, de manera que sea posible que cualquier empresa pueda realizar una implementación diferente a la que se está desarrollando en este proyecto (si bien ésta será su implementación de referencia). Para esta Open specication se han desarrollado un modelo de gestión de usuarios y roles, un modelo de datos, diagramas de interacción que definen todas las posibles comunicaciones de la store con otros Generic Enablers del proyecto Fi-Ware, la definición del ciclo de vida de una oferta y las APIs REST del Store GE, incluyendo el contenido de las peticiones y los tipos MIME soportados. En este punto se pudo comenzar a trabajar en la implementación de referencia del Store GE. La primera tarea ha consistido en realizar la integración con el Marketplace GE, otro de los Generic Enablers del proyecto Fi-Ware, para ello se definieron unos requisitos específicos y se realizó un diseño de bajo nivel de este móodulo seguido de la propia implementación y un conjunto exhaustivo de pruebas unitarias para comprobar su correcto funcionamiento. A continuación se pasó a realizar la integracióon con el Repository GE siguiendo los mismos pasos que con la integración con el Marketplace GE. La siguiente tarea realizada ha consistido en la realización de los móodulos necesarios para permitir crear nuevas ofertas en la implementación de referencia de Store GE incluyendo nuevamente una fase de educación de requisitos específicos, un diseño de bajo nivel, la propia implementación y una serie de pruebas unitarias. Una vez implementada la creación de nuevas ofertas, se pasó a la realización de la funcionalidad necesaria para la recuperación y visualizacion de estas ofertas así como a la realización del soporte necesario para el registro de recursos y para la vinculación de estos a determinadas ofertas, siguiendo nuevamente la metodología antes mencionada. Finalmente se ha dado el soporte para la publicación y la adquisición de ofertas. En este caso la adquisición de ofertas se ha realizado tan solo en la parte servidora de la aplicación y no se ha llegado a dar soporte a esta funcionalidad en la interfaz Web al no ser necesaria para la realización de la prueba de concepto prevista. No obstante esta funcionalidad será implementada junto con otras funcionalidades como el soporte de características sociales, ya fuera del ámbito de este Trabajo de fin de grado. Como paso previo a la realización de la prueba de concepto se ha trabajado en la plataforma Wirecloud, que es una implementación de referencia del denominado Application Mashup GE, modicando su funcionalidad para integrarla con la API de compras realizada dentro de la implementación de referencia del Store GE. La úultima tarea realizada para este Trabajo de fin de grado ha consistido por fin en la realización de la prueba de concepto del Store GE integrando su implementación de referencia con las del resto de Generic Enablers, lo cual ha permitido comprobar así el fucionamiento de la arquitectura y modelo propuestos.
Resumo:
The concept of service oriented architecture has been extensively explored in software engineering, due to the fact that it produces architectures made up of several interconnected modules, easy to reuse when building new systems. This approach to design would be impossible without interconnection mechanisms such as REST (Representationa State Transfer) services, which allow module communication while minimizing coupling. . However, this low coupling brings disadvantages, such as the lack of transparency, which makes it difficult to sistematically create tests without knowledge of the inner working of a system. In this article, we present an automatic error detection system for REST services, based on a statistical analysis over responses produced at multiple service invocations. Thus, a service can be systematically tested without knowing its full specification. The method can find errors in REST services which could not be identified by means of traditional testing methods, and provides limited testing coverage for services whose response format is unknown. It can be also useful as a complement to other testing mechanisms.
Resumo:
En este Trabajo de Fin de Grado se va a explicar el procedimiento seguido a la hora de estudiar, diseñar y desarrollar Ackuaria, un portal de monitorización y análisis de estadísticas de comunicaciones en tiempo real. Después, se mostrarán los resultados obtenidos y la interfaz gráfica desarrollada para una mejor experiencia de usuario. Ackuaria se apoyará en el uso de Licode, un proyecto de código libre desarrollado en la Universidad Politécnica de Madrid, más concretamente en el Grupo de Internet de Nueva Generación de la Escuela Técnica Superior de Ingenieros de Telecomunicación. Licode ofrece la posibilidad de crear un servicio de streaming y videoconferencia en la propia infraestructura del usuario. Está diseñado para ser totalmente escalable y su uso está orientado principalmente al Cloud, aunque es perfectamente utilizable en una infraestructura física. Licode a su vez se basa en WebRTC, un protocolo desarrollado por la W3C (World Wide Web Consortium) y el IETF (Internet Engineering Task Force) pensado para poder transmitir y recibir flujos de audio, video y datos a través del navegador. No necesita ninguna instalación adicional, por lo que establecer una sesión de videoconferencia Peer-to-Peer es realmente sencillo. Con Licode se usa una MCU (Multipoint Control Unit) para evitar que todas las conexiones entre los usuarios sean Peer-To-Peer. Actúa como un cliente WebRTC más por el que pasan todos los flujos, que se encarga de multiplexar y redirigir donde sea necesario. De esta forma se ahorra ancho de banda y recursos del dispositivo de una forma muy significativa. Existe la creciente necesidad de los usuarios de Licode y de cualquier servicio de videoconferencia en general de poder gestionar su infraestructura a partir de datos y estadísticas fiables. Sus objetivos son muy variados: desde estudiar el comportamiento de WebRTC en distintos escenarios hasta monitorizar el uso de los usuarios para poder contabilizar después el tiempo publicado por cada uno. En todos los casos era común la necesidad de disponer de una herramienta que permitiese conocer en todo momento qué está pasando en el servicio de Licode, así como de almacenar toda la información para poder ser analizada posteriormente. Para conseguir desarrollar Ackuaria se ha realizado un estudio de las comunicaciones en tiempo real con el objetivo de determinar qué parámetros era indispensable y útil monitorizar. A partir de este estudio se ha actualizado la arquitectura de Licode para que obtuviese todos los datos necesarios y los enviase de forma que pudiesen ser recogidos por Ackuaria. El portal de monitorización entonces tratará esa información y la mostrará de forma clara y ordenada, además de proporcionar una API REST al usuario.
Resumo:
Día a día surge la necesidad de tener que organizar actividades entre varias personas donde es necesaria la presencia de una toma de decisiones conjunta. La tarea de coordinar y poner de acuerdo a todas las partes implicadas resulta realmente complicada, y encontrar la solución que mejor se adapte a todos los participantes es uno de los principales problemas a los que hay que enfrentarse. Dentro de este contexto surge la idea de “DealtDay”, una aplicación pensada para organizar de forma sencilla e intuitiva a un grupo de personas a la hora de realizar cualquier actividad, como puede ser el establecimiento de una fecha para una reunión, elegir el restaurante dónde cenar o qué película ver. DealtDay es una aplicación desarrollada para Android, iOS y navegadores web. La elección de estas tecnologías se debe a que permiten que la aplicación sea accesible a los usuarios desde los dispositivos tecnológicos más utilizados cotidianamente (ordenador, tabletas y móviles). El funcionamiento de esta aplicación en los distintos sistemas desarrollados es posible gracias al desarrollo de una API REST que permite la comunicación entre cualquier tipo de aplicación con un servidor mediante peticiones realizadas con el protocolo HTTP. ABSTRACT Day after day it appears the necessity of organizating activities among different people where taking decisions together becomes fundamental. The task of coordinating and creating an agreement among all the parts involved, turns to be really difficult and, as a matter of fact, one of the main problems to cope with is finding a solution which fits to all the participants. In this context appears the idea of DealtDay, an application conceived to organize a group of people in an easy and intuitive way when doing any kind of activity, such as deciding a date for a meeting, choosing a restaurant, a place to have dinner or a film to be watched. DealtDay is an application developed for Android, iOS and web navigators. The selection of these technologies is due to the fact that they allows the application accessibility to users from the most used and common technological devices (personal computers, tablets and mobiles). The functioning of the application is possible thanks to an API REST development that allows the communication between any kind of application and a server through requests made by the HTTP protocol.
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.