961 resultados para Client-server distributed databases
Resumo:
Hoy en día, existen numerosos sistemas (financieros, fabricación industrial, infraestructura de servicios básicos, etc.) que son dependientes del software. Según la definición de Ingeniería del Software realizada por I. Sommerville, “la Ingeniería del Software es una disciplina de la ingeniería que comprende todos los aspectos de la producción de software desde las etapas iniciales de la especificación del sistema, hasta el mantenimiento de éste después de que se utiliza.” “La ingeniería del software no sólo comprende los procesos técnicos del desarrollo de software, sino también actividades tales como la gestión de proyectos de software y el desarrollo de herramientas, métodos y teorías de apoyo a la producción de software.” Los modelos de proceso de desarrollo software determinan una serie de pautas para poder desarrollar con éxito un proyecto de desarrollo software. Desde que surgieran estos modelos de proceso, se investigado en nuevas maneras de poder gestionar un proyecto y producir software de calidad. En primer lugar surgieron las metodologías pesadas o tradicionales, pero con el avance del tiempo y la tecnología, surgieron unas nuevas llamadas metodologías ágiles. En el marco de las metodologías ágiles cabe destacar una determinada práctica, la integración continua. Esta práctica surgió de la mano de Martin Fowler, con el objetivo de facilitar el trabajo en grupo y automatizar las tareas de integración. La integración continua se basa en la construcción automática de proyectos con una frecuencia alta, promoviendo la detección de errores en un momento temprano para poder dar prioridad a corregir dichos errores. Sin embargo, una de las claves del éxito en el desarrollo de cualquier proyecto software consiste en utilizar un entorno de trabajo que facilite, sistematice y ayude a aplicar un proceso de desarrollo de una forma eficiente. Este Proyecto Fin de Grado (PFG) tiene por objetivo el análisis de distintas herramientas para configurar un entorno de trabajo que permita desarrollar proyectos aplicando metodologías ágiles e integración continua de una forma fácil y eficiente. Una vez analizadas dichas herramientas, se ha propuesto y configurado un entorno de trabajo para su puesta en marcha y uso. Una característica a destacar de este PFG es que las herramientas analizadas comparten una cualidad común y de alto valor, son herramientas open-source. El entorno de trabajo propuesto en este PFG presenta una arquitectura cliente-servidor, dado que la mayoría de proyectos software se desarrollan en equipo, de tal forma que el servidor proporciona a los distintos clientes/desarrolladores acceso al conjunto de herramientas que constituyen el entorno de trabajo. La parte servidora del entorno propuesto proporciona soporte a la integración continua mediante herramientas de control de versiones, de gestión de historias de usuario, de análisis de métricas de software, y de automatización de la construcción de software. La configuración del cliente únicamente requiere de un entorno de desarrollo integrado (IDE) que soporte el lenguaje de programación Java y conexión con el servidor. ABSTRACT Nowadays, numerous systems (financial, industrial production, basic services infrastructure, etc.) depend on software. According to the Software Engineering definition made by I.Sommerville, “Software engineering is an engineering discipline that is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use.” “Software engineering is not just concerned with the technical processes of software development. It also includes activities such as software project management and the development of tools, methods, and theories to support software production.” Software development process models determine a set of guidelines to successfully develop a software development project. Since these process models emerged, new ways of managing a project and producing software with quality have been investigated. First, the so-called heavy or traditional methodologies appeared, but with the time and the technological improvements, new methodologies emerged: the so-called agile methodologies. Agile methodologies promote, among other practices, continuous integration. This practice was coined by Martin Fowler and aims to make teamwork easier as well as automate integration tasks. Nevertheless, one of the keys to success in software projects is to use a framework that facilitates, systematize, and help to deploy a development process in an efficient way. This Final Degree Project (FDP) aims to analyze different tools to configure a framework that enables to develop projects by applying agile methodologies and continuous integration in an easy and efficient way. Once tools are analyzed, a framework has been proposed and configured. One of the main features of this FDP is that the tools under analysis share a common and high-valued characteristic: they are open-source. The proposed framework presents a client-server architecture, as most of the projects are developed by a team. In this way, the server provides access the clients/developers to the tools that comprise the framework. The server provides continuous integration through a set of tools for control management, user stories management, software quality management, and software construction automatization. The client configuration only requires a Java integrated development environment and network connection to the server.
Resumo:
El proyecto se trata de una API de desarrollo para el DNI electrónico que permita crear de forma sencilla aplicaciones cuya funcionalidad se apoye en el uso del DNI electrónico. De esta forma, el framework facilita el acceso a las principales operaciones soportadas por el DNIe mediante la invocación de métodos sencillos. Una de las funcionalidades es la de realizar un proceso de autenticación con el DNIe utilizando para ello las capacidades criptográficas del chip que incorpora y el certificado de autenticación. Esta funcionalidad puede ser accedida también de forma dividida en dos pasos, para dar soporte a aplicaciones con arquitectura cliente-servidor. El framework también ofrece la funcionalidad de firma electrónica con el DNIe, una firma legalmente válida y que permite chequear también la integridad del mensaje firmado. También se soporta por el framework la comprobación de un certificado mediante el protocolo OCSP, funcionalidad que si bien no implica directamente al DNIe, sí que es importante en el marco de procesos que se ven involucrados en cualquier Infraestructura de Clave Pública. ABSTRACT The project is a development API for DNIe card that allows easily create applications whose functionality is supported in the use of DNIe. Thus, the framework provides access to the main operations supported by the DNIe by invoking simple methods. One of the features is to perform an authentication process with the DNIe using its chip’s capabilities and authentication certificate. This functionality can also be accessed so divided into two steps, to support applications with client-server architecture. The framework also provides the functionality of electronic signatures with DNIe, a legally valid signature and allows also check the integrity of the signed message. Verification of a certificate using OCSP, functionality but does not imply directly to DNIe is also supported by the framework, yes it is important in the context of processes that are involved in any Public Key Infrastructure.
Resumo:
La propuesta del trabajo de fin de grado escogida por el autor del proyecto se basa en la continuación del proyecto comenzado durante la asignatura de Prácticum del pasado semestre. El nacimiento del mismo se gestó en una pequeña empresa de consultoría llamada ‘Grupo Develop’ (en la sección ‘Entidad colaboradora y ubicación’ se describe más detalladamente la organización) situada al este de Madrid, una organización con carácter de fundación y dedicada, esencialmente, al sector de la consultoría en el sector de la calidad. Grupo Develop necesitaba aprovechar la utilidad de las nuevas tecnologías para ofrecer un nuevo y mejor servicio para sus clientes mediante un proyecto que fuera dirigido y llevado a cabo por un ingeniero informático. Partiendo de este contexto se vislumbró un proyecto consistente en diseñar, desplegar, programar y mantener una plataforma-sistema informático capaz de ayudar a las organizaciones (en este caso particular la mayoría son organizaciones sin ánimo de lucro) a gestionarse mejor de acuerdo a distintos modelos de calidad como pueden ser el EFQM1 o ISO. Además, la certificación en ambos modelos son cada vez más demandados como garantía de calidad por organismos públicos y privados e incluso por los clientes. Por lo tanto, este programa debe llegar a ser una herramienta que realmente apoye a cada entidad a elaborar un diagnóstico de su gestión y, por supuesto, debe conseguir acercar a estas empresas a los certificados más prestigiosos. Desde el punto de vista de un profesional del sector de la informática, el proyecto se estructura de una forma clara en una arquitectura cliente-servidor clásica donde todas las entidades (de momento 15) han participado de forma activa y paralela al desarrollo del proyecto. Si bien es cierto que esto ha ralentizado notablemente el desarrollo del proyecto y ha requerido una sincronización entre dos proyectos paralelos (uno para el despliegue y otro para el desarrollo).---ABSTRACT---The proposal of my graduation work is a continuation of the project that I already started in the Practicum subject the first part of the academic year. The birth of that project arose in a small consulting firm (Grupo Develop) in the east of Madrid, an organization that at the same time is incorporated as a Foundation. This organization works with different NGO´s and their work covers the Quality Consulting Sector. Grupo Develop needed to use new technologies to give a new and best service to our customers through a project managed by a person trained in the computer science area. Starting from this context, Grupo Develop saw a new opportunity to create a project to design, deploy and maintain a platform-system that can help our customers (in this case the organizations are often organizations from the Third Sector) to get a best management in some Norms or Models like ISO or EFQM. Also in some cases the Certifications of any of these models are increasingly demanded as quality assurance by public entities, privates and even by clients. Therefore, this program should be a tool that helps to any organization to make a diagnosis of their management and, of course, should close to these companies to the most prestigious Certificates. From a point of view of a computer science student, the software project has a defined structure in a classic client-server model where all the organizations (15) have actively participated in parallel mode to the development of the project. It is true that the involvement of the organizations has slowed the development of the project so I had to create two projects (one for the different organizations and the other one to develop the major improvements).
Resumo:
In today's internet world, web browsers are an integral part of our day-to-day activities. Therefore, web browser security is a serious concern for all of us. Browsers can be breached in different ways. Because of the over privileged access, extensions are responsible for many security issues. Browser vendors try to keep safe extensions in their official extension galleries. However, their security control measures are not always effective and adequate. The distribution of unsafe extensions through different social engineering techniques is also a very common practice. Therefore, before installation, users should thoroughly analyze the security of browser extensions. Extensions are not only available for desktop browsers, but many mobile browsers, for example, Firefox for Android and UC browser for Android, are also furnished with extension features. Mobile devices have various resource constraints in terms of computational capabilities, power, network bandwidth, etc. Hence, conventional extension security analysis techniques cannot be efficiently used by end users to examine mobile browser extension security issues. To overcome the inadequacies of the existing approaches, we propose CLOUBEX, a CLOUd-based security analysis framework for both desktop and mobile Browser EXtensions. This framework uses a client-server architecture model. In this framework, compute-intensive security analysis tasks are generally executed in a high-speed computing server hosted in a cloud environment. CLOUBEX is also enriched with a number of essential features, such as client-side analysis, requirements-driven analysis, high performance, and dynamic decision making. At present, the Firefox extension ecosystem is most susceptible to different security attacks. Hence, the framework is implemented for the security analysis of the Firefox desktop and Firefox for Android mobile browser extensions. A static taint analysis is used to identify malicious information flows in the Firefox extensions. In CLOUBEX, there are three analysis modes. A dynamic decision making algorithm assists us to select the best option based on some important parameters, such as the processing speed of a client device and network connection speed. Using the best analysis mode, performance and power consumption are improved significantly. In the future, this framework can be leveraged for the security analysis of other desktop and mobile browser extensions, too.
Resumo:
Cybercrime and related malicious activity in our increasingly digital world has become more prevalent and sophisticated, evading traditional security mechanisms. Digital forensics has been proposed to help investigate, understand and eventually mitigate such attacks. The practice of digital forensics, however, is still fraught with various challenges. Some of the most prominent of these challenges include the increasing amounts of data and the diversity of digital evidence sources appearing in digital investigations. Mobile devices and cloud infrastructures are an interesting specimen, as they inherently exhibit these challenging circumstances and are becoming more prevalent in digital investigations today. Additionally they embody further characteristics such as large volumes of data from multiple sources, dynamic sharing of resources, limited individual device capabilities and the presence of sensitive data. These combined set of circumstances make digital investigations in mobile and cloud environments particularly challenging. This is not aided by the fact that digital forensics today still involves manual, time consuming tasks within the processes of identifying evidence, performing evidence acquisition and correlating multiple diverse sources of evidence in the analysis phase. Furthermore, industry standard tools developed are largely evidence-oriented, have limited support for evidence integration and only automate certain precursory tasks, such as indexing and text searching. In this study, efficiency, in the form of reducing the time and human labour effort expended, is sought after in digital investigations in highly networked environments through the automation of certain activities in the digital forensic process. To this end requirements are outlined and an architecture designed for an automated system that performs digital forensics in highly networked mobile and cloud environments. Part of the remote evidence acquisition activity of this architecture is built and tested on several mobile devices in terms of speed and reliability. A method for integrating multiple diverse evidence sources in an automated manner, supporting correlation and automated reasoning is developed and tested. Finally the proposed architecture is reviewed and enhancements proposed in order to further automate the architecture by introducing decentralization particularly within the storage and processing functionality. This decentralization also improves machine to machine communication supporting several digital investigation processes enabled by the architecture through harnessing the properties of various peer-to-peer overlays. Remote evidence acquisition helps to improve the efficiency (time and effort involved) in digital investigations by removing the need for proximity to the evidence. Experiments show that a single TCP connection client-server paradigm does not offer the required scalability and reliability for remote evidence acquisition and that a multi-TCP connection paradigm is required. The automated integration, correlation and reasoning on multiple diverse evidence sources demonstrated in the experiments improves speed and reduces the human effort needed in the analysis phase by removing the need for time-consuming manual correlation. Finally, informed by published scientific literature, the proposed enhancements for further decentralizing the Live Evidence Information Aggregator (LEIA) architecture offer a platform for increased machine-to-machine communication thereby enabling automation and reducing the need for manual human intervention.
Resumo:
OBJECTIVES: The objective of this research was to design a clinical decision support system (CDSS) that supports heterogeneous clinical decision problems and runs on multiple computing platforms. Meeting this objective required a novel design to create an extendable and easy to maintain clinical CDSS for point of care support. The proposed solution was evaluated in a proof of concept implementation. METHODS: Based on our earlier research with the design of a mobile CDSS for emergency triage we used ontology-driven design to represent essential components of a CDSS. Models of clinical decision problems were derived from the ontology and they were processed into executable applications during runtime. This allowed scaling applications' functionality to the capabilities of computing platforms. A prototype of the system was implemented using the extended client-server architecture and Web services to distribute the functions of the system and to make it operational in limited connectivity conditions. RESULTS: The proposed design provided a common framework that facilitated development of diversified clinical applications running seamlessly on a variety of computing platforms. It was prototyped for two clinical decision problems and settings (triage of acute pain in the emergency department and postoperative management of radical prostatectomy on the hospital ward) and implemented on two computing platforms-desktop and handheld computers. CONCLUSIONS: The requirement of the CDSS heterogeneity was satisfied with ontology-driven design. Processing of application models described with the help of ontological models allowed having a complex system running on multiple computing platforms with different capabilities. Finally, separation of models and runtime components contributed to improved extensibility and maintainability of the system.
Towards a web-based progressive handwriting recognition environment for mathematical problem solving
Resumo:
The emergence of pen-based mobile devices such as PDAs and tablet PCs provides a new way to input mathematical expressions to computer by using handwriting which is much more natural and efficient for entering mathematics. This paper proposes a web-based handwriting mathematics system, called WebMath, for supporting mathematical problem solving. The proposed WebMath system is based on client-server architecture. It comprises four major components: a standard web server, handwriting mathematical expression editor, computation engine and web browser with Ajax-based communicator. The handwriting mathematical expression editor adopts a progressive recognition approach for dynamic recognition of handwritten mathematical expressions. The computation engine supports mathematical functions such as algebraic simplification and factorization, and integration and differentiation. The web browser provides a user-friendly interface for accessing the system using advanced Ajax-based communication. In this paper, we describe the different components of the WebMath system and its performance analysis.
Resumo:
This article considers the basic problems of client-server electronic learning systems based on mobile platforms. Such questions as relational learning course model and student’s transitions prediction through the learning course items are considered. Besides, technical questions of electronic learning system “E-Learning Suite” realization and questions of developing portable applications using .NET Framework are discussed.
Resumo:
This article considers the Internet/Intranet information systems as the tool for distance learning. Author considers the model of the 3-tier WEB based information system, the idea of the language for implementing and customized solution, which includes the original language and processor for fast prototyping and implementing small and middle sized Internet/Intranet information systems.
Resumo:
The authors analyse some of the research outcomes achieved during the implementation of the EC GUIDE research project “Creating an European Identity Management Architecture for eGovernment”, as well as their personal experience. The project goals and achievements are however considered in a broader context. The key role of Identity in the Information Society was emphasised, that the research and development in this field is in its initial phase. The scope of research related to Identity, including the one related to Identity Management and Interoperability of Identity Management Systems, is expected to be further extended. The authors analyse the abovementioned issues in the context established by the EC European Interoperability Framework (EIF) as a reference document on interoperability for the Interoperable Delivery of European eGovernment Services to Public Administrations, Business and Citizens (IDABC) Work Programme. This programme aims at supporting the pan-European delivery of electronic government services.
Resumo:
The primary purpose of this thesis was to design and develop a prototype e-commerce system where dynamic parameters are included in the decision-making process and execution of an online transaction. The system developed and implemented takes into account previous usage history, priority and associated engineering capabilities. The system was developed using three-tiered client server architecture. The interface was the Internet browser. The middle tiered web server was implemented using Active Server Pages, which form a link between the client system and other servers. A relational database management system formed the data component of the three-tiered architecture. It includes a capability for data warehousing which extracts needed information from the stored data of the customers as well as their orders. The system organizes and analyzes the data that is generated during a transaction to formulate a client's behavior model during and after a transaction. This is used for making decisions like pricing, order rescheduling during a client's forthcoming transaction. The system helps among other things to bring about predictability to a transaction execution process, which could be highly desirable in the current competitive scenario.
Resumo:
La tesi si pone come obiettivo quello di realizzare un'architettura di alto livello per lo sviluppo di applicazioni dirette alla piattaforma HoloLens. Per conseguire tale risultato si è rivelata necessaria una prima parte di studio dei concetti di mixed reality, con riferimento particolare al caso specifico HoloLens, per poi dirigere l'attenzione alla comprensione dell'architettura di applicazioni olografiche. L'analisi delle API rilasciate per lo sviluppo di applicazioni HoloLens ha permesso di riscontrare varie criticità, alle quali si è posto rimedio tramite l'introduzione di un livello di astrazione, che possa consentire uno sviluppo di applicazioni ad un livello più alto. Si è poi introdotto il concetto di augmented worlds (mondi aumentati), i cui principi cardine hanno fornito le basi per la progettazione e lo sviluppo di un sistema client-server, nel quale il dispositivo HoloLens agisce come un client e la logica di controllo degli elementi del modello dell'applicazione viene gestita lato server.
Resumo:
Il seguente lavoro di tesi si inserisce all'interno di un progetto accademico volto alla realizzazione di un sistema capace elaborare immagini utilizzando una rete FPGA, acquisite da un sensore. Ogni scrittura di un nuovo frame in memoria RAM genera un interrupt. L'obiettivo della tesi è creare un sistema client/server che permetta il trasferimento del flusso di frame dalla ZedBoard a un PC e la visualizzazione a video. Il progetto eseguito sulla ZedBoard è proposto in due versioni: la prima in assenza di sistema operativo (Standalone) e una seconda implementata su Linux. Il progetto eseguito sul PC è compatibile con Linux e Windows. La visualizzazione delle immagini è implementata utilizzando la libreria OpenCV.
Resumo:
L’obbiettivo di questa tesi è realizzare il prototipo di un’applicazione client-server che permetta di utilizzare in remoto applicazioni in Virtual Reality, fornendo allo stesso tempo supporto alla multiutenza. L’applicazione in realtà virtuale dovrà girare sul server, dispositivo con capacità di calcolo notevolmente superiori rispetto a quelle del client. Più utenti dovranno avere la possibilità di connettersi contemporaneamente e condividere lo stesso spazio virtuale. Il client sarà, in questo caso, un’applicazione Android che si connetterà al server e avrà il compito di mostrare all'utente l’output dell’applicazione in Virtual Reality e allo stesso tempo ricevere l’input da inviare al server. Un altro obbiettivo durante lo sviluppo del prototipo è quello di realizzare una libreria che offra le funzionalità sopraelencate, facilmente integrabile in nuovi progetti o in progetti già esistenti. Utilizzando questa struttura client-server sarà possibile sviluppare applicazioni che permettano a più persone di condividere lo stesso spazio virtuale, ognuno dal proprio punto di vista, utilizzando visori e sistemi operativi diversi.
Resumo:
This deliverable is software, as such this document is abridged to be as succinct as possible, the extended descriptions and detailed documentation for the software are online. The document consists of two parts, part one describes the first bundle of social gamification assets developed in WP3, part two presents mock-ups of the RAGE ecosystem gamification. In addition to the software outline, included in part one is a short market analysis of existing gamification solutions, outline rationale for combining the three social gamification assets into one unified asset, and the branding exercise to make the assets more developer friendly.Online links to the source code, binaries, demo and documentation for the assets are provided. The combined assets offer game developers as well as a wide range of software developers the opportunity to readily enhance existing games or digital platforms with multiplayer gamification functionalities, catering for both competitive and cooperative game dynamics. The solution consist of a flexible client-server solution which can run either as a cloud-based service, serving many games or have specific instances for individual games as necessary.