125 research outputs found

    Web-IDE for Low-Code Development in OutSystems

    Get PDF
    Due to the growing popularity of cloud computing and its numerous benefits, many desktop applications have been, and will continue to be, migrated into the cloud and made available through the web. These applications can then be accessed through any device that has access to a browser and internet connection, eliminating the need for installation or managing dependencies. Moreover, the process of introduction to the product is much simpler, faster and collaboration aspects are facilitated. OutSystems is a company that provides software that enables, through an Integrated Development Environment (IDE) and a specific Low-Code language, users to securely and rapidly build robust applications. However, there are only available desktop versions of this IDE. For this reason, the objective of the proposed thesis is to understand what would be the best path for developing a Web-based version of the IDE. To achieve this, it is important not only to understand the OutSystems Platform and, more specifically, the architecture of the Service Studio IDE, which is the component IDE provided by the product, but also to explore the state-of-the-art technologies that could prove to be beneficial for the development of the project. The goal of this work is to debate different architectural possibilities to implement the project in question and present a conclusion as to what the adequate course of action, given the context of the problem. After distinguishing what are the biggest uncertainties and relevant points, a proof of concept is to be presented accompanied with the respective implementation details. Finally, this work intends to determine what would be a viable technological architecture to build a Web-based IDE that is capable of maintaining an acceptable performance, similarly to Service Studio IDE, while also insuring that the this system is scalable, in order to be able to provide the service to a large amount of users. That is to say, to present a conclusion regarding the feasibility of the project proposed.Devido ao aumento de popularidade de tecnologias de computação cloud e as suas inúmeras vantagens, aplicações desktop estão e vão continuar a ser migradas para a cloud para que possam ser acedidas através da web. Estas aplicações podem ser acedidas através de qualquer dispositivo que tenha acesso à internet, eliminando a necessidade de instalação e gestão de dependências. Além disso, o processo de introdução ao produto é simplificado, mais rápido e a colaboração é facilitada. A OutSystems é uma empresa que disponibiliza um software que faz com que utilizadores, através de um IDE e uma linguagem de baixo nível, possam criar aplicações robustas de forma rápida e segura. No entanto, atualmente só existem versões deste IDE para desktop. Como tal, o objetivo da tese proposta é perceber qual será a melhor forma de desenvolver uma versão do IDE sobre a Web. Para alcançar isto, é importante não só compreender a Plataforma OutSystems e, mais especificamente, a arquitetura do Service Studio IDE, que é o principal componente disponibilizado pelo produto, mas também explorar as tecnologias estado de arte que podem ser benéficas para o desenvolvimento do projeto. O objetivo deste trabalho é debater diferentes arquiteturas possíveis para a implementação do projeto e concluir qual será o curso de ação adequado, dado o contexto do problema. Após distinguir quais são os maiores pontos de incerteza, uma prova de conceito é apresentada juntamente com os respetivos detalhes de implementação. Finalmente, este trabalho tem como intenção detalhar uma arquitetura tecnológica viável para construir um IDE na web capaz de manter uma performance aceitável, semelhante à do Service Studio IDE, e garantir a escalabilidade do sistema, de forma a conseguir oferecer o serviço a um número elevado de utilizadores. Por outras palavras, apresentar uma conclusão em relação à viabilidade do projeto proposto

    SInCom 2015

    Get PDF
    2nd Baden-Württemberg Center of Applied Research Symposium on Information and Communication Systems, SInCom 2015, 13. November 2015 in Konstan

    A survey of the application of soft computing to investment and financial trading

    Get PDF

    Nas nuvens ou fora delas, eis a questão

    Get PDF
    Mestrado em Sistemas de InformaçãoO proposito desta dissertação é contribuir no sentido de uma melhor compreensão sobre a decisão de ir ou não ir para uma solução na cloud quando uma organização é confrontada com a necessidade de criar ou expandir um sistema de informação. Isto é feito recorrendo à identificação de factores técnicos e económicos que devem ser tomados em conta quando planeamos uma nova solução e desenvolver um framework para ajudar os decisores. Os seguintes aspetos são considerados: • Definição de um modelo de referência genérico para funcionalidades de um Sistemas de Informação. • Identificação de algumas métricas básicas para caracterizar performance e custos de Sistemas de Informação. • Analise e caracterização de Sistemas de Informação on-premises: Arquiteturas Elementos de custo Questões de Performance • Analise e caracterização de Sistemas de Informação Cloud: Topologias Estruturas de custo Questões de Performance • Estabelecimento de framework de comparação para a cloud versus on-premises • Casos de uso comparando soluções na cloud e on-premises; • Produção de guidelines (focadas no caso das clouds publicas) Para ilustrar o procedimento, são usados dois business cases, ambos com duas abordagens: uma dedicada aos Profissionais de IT (abordagem técnica), outra aos Gestores/Decisores (abordagem económica).The purpose of this dissertation is to contribute towards a better understanding about the decision to go or not to go for cloud solutions when an organization is confronted with the need to create or enlarge an information system. This is done resorting to the identification of technical and economic factors that must be taken into account when planning a new solution and developing a framework to help decision makers. The following aspects are considered: • Definition of a generic reference model for Information systems functionalities. • Identification of some basic metrics characterizing information systems performance. • Analysis and characterization of on-premisis information systems: Architectures Cost elements Performance issues • Analysis and characetrization of cloud information systems. Typology Cost structures Performance issues • Establishment of a comparison framework for cloud versus on-premises solutions as possible instances of information systems. • Use cases comparing cloud and on-premises solutions. • Production of guidelines (focus on public cloud case) To illustrate the procedure, two business cases are used, both with two approaches: one dedicated to IT Professionals (Technical approach), other to Managers/Decision Makers (Economic approach)

    Web-Interface for querying and visualizing Alcoholic Liver Disease Patients’ data from database using GraphQL

    Get PDF
    Ο αλκοολισμός αποτελεί́ ένα από τα σοβαρότερα και συχνότερα προβλήματα που αντιμετωπίζουν οι σύγχρονες κοινωνίες. 5%-10% του πληθυσμού στις ευρωπαϊκές χώρες κάνει κατάχρηση αλκοόλ, με την παρατεταμένη κατανάλωση αλκοόλ να επιφέρει ίνωση και κίρρωση του ήπατος (αλκοολική νόσος, Alcohol Liver Disease, ALD). Η αλκοολική νόσος συνίσταται στην ανάπτυξη του λιπώδους ήπατος, στην αλκοολική ηπατίτιδα, και τελικά στην κίρρωση του ήπατος. Τα πρώτα στάδια της ίνωσης και της αλκοολικής ηπατίτιδας είναι ασυμπωματικά ενώ όταν τελικά εκδηλωθεί η νόσος, η κλινική εικόνα είναι οξεία. Στην κλινική πράξη η διάγνωση της ALD βασίζεται στο ιστορικό χρήσης αλκοόλ, στην συμπτωματολογία του ασθενούς, και σε εργαστηριακές εξετάσεις (π.χ. ηπατικά ένζυμα, αρτηριακή πίεση, γλυκόζη αίματος, κ.α.). Η διπλωματική εργασία αποσκοπεί στη δημιουργία μιας βάσης δεδομένων για την συλλογή και ταξινόμηση όλων των εργαστηριακών, κλινικών, κ.α. εξετάσεων των ασθενών. Η αναζήτηση δεδομένων και δημιουργία γραφημάτων γίνεται σε πραγματικό χρόνο μέσω της χρήσης GraphQL επερωτήσεων. Η σχεδίαση της διεπαφής λαμβάνει υπόψη την αλλαγή των δεδομένων καθώς επίσης και την επαναχρησιμοποίηση σε διαφορετικού είδους δεδομένα από άλλα πειράματα και τη χρήση από άλλα υπολογιστικά συστήματα. Με αυτό το βιοπληροφορικό εργαλείο θα απλοποιηθεί η διαδικασία επιλογής δεδομένων, ανάλυσης και προβολής με χρήση γραφημάτων και διαγραμμάτων όλων των δεδομένων από ιατρούς και ερευνητές. Αυτό έχει ως αποτέλεσμα το εργαλείο να διευκολύνει την καθημερινότητα των ιατρών και ερευνητών ώστε να επικεντρώνονται περισσότερο στην ουσία της έρευνας, δηλαδή στην εξαγωγή συμπερασμάτων για τις βασικότερες κατηγορίες των δεδομένων που οδηγούν τους ασθενείς στην πάθηση της αλκοολικής ηπατικής νόσου, και λιγότερο στις διαδικασίες.Alcoholism is one of the most serious and most common problems faced by modern societies. Approximately, 5%-10% of the population in European countries do alcohol abuse, with prolonged alcohol consumption causing liver fibrosis and cirrhosis (alcoholic liver disease, ALD). Alcoholic disease is the development of fatty liver, alcoholic hepatitis, and finally cirrhosis of the liver. The early stages of fibrosis and alcoholic hepatitis are symptomless, and when the disease is finally manifested, the clinical picture is acute. In clinical practice, the diagnosis of ALD is based on the historical alcohol ingestion, patient symptomatology and laboratory tests (e.g. liver enzymes, blood pressure, blood glucose, etc.). The dissertation aims to create a database for the collection and classification of all laboratorial, clinical, etc. examinations of patients. Data search and graph plots and charts are created in real-time with the use of GraphQL queries and middleware query caching. The design process of the interface takes into account data changes as well as reusability of this tool in different kind of data from other tests or experiments and can be used in all types computing systems as it is containerized and responsive. This bioinformatic tool will help physicians and researchers to simplify the process of data selection, analysis and visualization by using graphs and diagrams of all data. As a result, the tool facilitates the day-to-day physicians and researchers schedule and as has the effect of letting them focus more on the essence of research, i.e. to draw conclusions about the main categories of information that lead patients to alcoholic liver disease, and less on processes

    Cloud provider independence using DevOps methodologies with Infrastructure-as-Code

    Get PDF
    On choosing cloud computing infrastructure for IT needs there is a risk of becoming dependent and locked-in on a specific cloud provider from which it becomes difficult to switch should an entity decide to move all of the infrastructure resources into a different provider. There’s widespread information available on how to migrate existing infrastructure to the cloud notwithstanding common cloud solutions and providers don't have any clear path or framework for supporting their tenants to migrate off the cloud into another provider or cloud infrastructure with similar service levels should they decide to do so. Under these circumstances it becomes difficult to switch from cloud provider not just because of the technical complexity of recreating the entire infrastructure from scratch and moving related data but also because of the cost it may involve. One possible solution is to evaluate the use of Infrastructure-as-Code languages for defining infrastructure (“Infrastructure-as-Code”) combined with DevOps methodologies and technologies to create a mechanism that helps streamline the migration process between different cloud infrastructure especially if taken into account from the beginning of a project. A well-structured DevOps methodology combined with Infrastructure-as-Code may allow a more integrated control on cloud resources as those can be defined and controlled with specific languages and be submitted to automation processes. Such definitions must take into account what is currently available to support those operations under the chosen cloud infrastructure APIs, always seeking to guarantee the tenant an higher degree of control over its infrastructure and higher level of preparation of the necessary steps for the recreation or migration of such infrastructure should the need arise, somehow integrating cloud resources as part of a development model. The objective of this dissertation is to create a conceptual reference framework that can identify different forms for migration of IT infrastructure while always contemplating a higher provider independence by resorting to such mechanisms, as well as identify possible constraints or obstacles under this approach. Such a framework can be referenced from the beginning of a development project if foreseeable changes in infrastructure or provider are a possibility in the future, taking into account what the API’s provide in order to make such transitions easier.Ao optar-se por infraestruturas de computação em nuvem para soluções de TI existe um risco associado de se ficar dependente de um fornecedor de serviço específico, do qual se torna difícil mudar caso se decida posteriormente movimentar toda essa infraestrutura para um outro fornecedor. Encontra-se disponível extensa documentação sobre como migrar infraestrutura já  existente para modelos de computação em nuvem, de qualquer modo as soluções e os fornecedores de serviço não dispõem de formas ou metodologias claras que suportem os seus clientes em migrações para fora da nuvem, seja para outro fornecedor ou infraestrutura com semelhantes tipos de serviço, caso assim o desejem. Nestas circunstâncias torna-se difícil mudar de fornecedor de serviço não apenas pela complexidade técnica associada à criação de toda a infraestrutura de raiz e movimentação de todos os dados associados a esta mas também devido aos custos que envolve uma operação deste tipo. Uma possível solução é avaliar a utilização de linguagens para definição de infraestrutura como código (“Infrastructure-as-Code”) em conjunção com metodologias e tecnologias “DevOps” de forma a criar um mecanismo que permita flexibilizar um processo de migração entre diferentes infraestruturas de computação em nuvem, especialmente se for contemplado desde o início de um projecto. Uma metodologia “DevOps” devidamente estruturada quando combinada com definição de infraestrutura como código pode permitir um controlo mais integrado de recursos na nuvem uma vez que estes podem ser definidos e controlados através de linguagens específicas e submetidos a processos de automação. Tais definições terão de ter em consideração o que existe disponível para suportar as necessárias operações através das “API’s” das infraestruturas de computação em nuvem, procurando sempre garantir ao utilizador um elevado grau de controlo sobre a sua infraestrutura e um maior nível de preparação dos passos necessários para recriação ou migração da infraestrutura caso essa necessidade surja, integrando de certa forma os recursos de computação em nuvem como parte do modelo de desenvolvimento. Esta dissertação tem como objetivo a criação de um modelo de referência conceptual que identifique formas de migração de infraestruturas de computação procurando ao mesmo tempo uma maior independência do fornecedor de serviço com recurso a tais mecanismos, assim como identificar possíveis constrangimentos ou impedimentos nesta aproximação. Tal modelo poderá ser referenciado desde o início de um projecto de desenvolvimento caso seja necessário contemplar uma possível necessidade futura de alterações ao nível da infraestrutura ou de fornecedor, com base no que as “API’s” disponibilizam, de modo a facilitar essa operação.info:eu-repo/semantics/publishedVersio

    Evolving an efficient and effective off-the-shelf computing infrastructure for schools in rural areas of South Africa

    Get PDF
    Upliftment of rural areas and poverty alleviation are priorities for development in South Africa. Information and knowledge are key strategic resources for social and economic development and ICTs act as tools to support them, enabling innovative and more cost effective approaches. In order for ICT interventions to be possible, infrastructure has to be deployed. For the deployment to be effective and sustainable, the local community needs to be involved in shaping and supporting it. This study describes the technical work done in the Siyakhula Living Lab (SLL), a long-term ICT4D experiment in the Mbashe Municipality, with a focus on the deployment of ICT infrastructure in schools, for teaching and learning but also for use by the communities surrounding the schools. As a result of this work, computing infrastructure was deployed, in various phases, in 17 schools in the area and a “broadband island” connecting them was created. The dissertation reports on the initial deployment phases, discussing theoretical underpinnings and policies for using technology in education as well various computing and networking technologies and associated policies available and appropriate for use in rural South African schools. This information forms the backdrop of a survey conducted with teachers from six schools in the SLL, together with experimental work towards the provision of an evolved, efficient and effective off-the-shelf computing infrastructure in selected schools, in order to attempt to address the shortcomings of the computing infrastructure deployed initially in the SLL. The result of the study is the proposal of an evolved computing infrastructure model for use in rural South African schools

    Automating the support of highly-configurable services

    Get PDF
    Faltan las palabras claveLas crecientes capacidades de configuración de los servicios, especialmente en el cloud, han dado lugar a los así llamados Servicios Altamente Configurables (HCSs). Dichas capacidades de configuración están aumentando la demanda y complejidad de las aplicaciones basadas en HCS y de las necesidades de infraestructura para soportarlas, soluciones guiadas por HCS de aquí en adelante. Tras un estudio del estado del arte, concluimos que dichas soluciones guiadas por HCSs pueden ser mejoradas significativamente en 1) los lenguajes para describir las configuraciones, también conocidas como el espacio de decisión del servicio, y 2) en las técnicas para extraer información de utilidad del espacio de decisión, técnicas de análisis en adelante. Por un lado, no existen Lenguajes Específicos de Dominio (DSLs) para describir el espacio de decisión, aunque hay algunas aproximaciones cercanas. En esta tesis creemos que es posible mejorar el actual panorama diseñando un DSL: i) en conformidad con los principales proveedores de HCSs, ii) que soporte múltiples ítems, iii) suficientemente expresivo para facilitar la descripción de relaciones lógicas y aritméticas en los términos del servicio y iv) independiente del dominio. Adicionalmente, este DSL debe definir criterios de validez para asegurar que el espacio de decisión satisface propiedades básicas como la consistencia y la configurabilidad. Más allá, se deben ofrecer explicaciones cuando el espacio de decisión del servicio no satisfaga dichas propiedades. Por otro lado, la mayor parte de las actuales técnicas de análisis, como aquellas encargadas de encontrar configuraciones óptimas o de reconfigurar servicios multitenant, llevan consigo algunos inconvenientes propios de técnicas emergentes. Para superar estos inconvenientes, se deben desarrollar: a) implementaciones de referencia totalmente funcionales, b) técnicas reusables, c) mecanismos de extensión efectivos e d) interfaces amigables. El principal objetivo de esta disertación es mejorar el soporte existente para el desarrollo de soluciones guiadas por HCS, considerando las recomendaciones anteriores. Las principales contribuciones de esta tesis son un DSL (llamado SYNOPSIS) para especificar el espacio de decisión de los HCS, y un nuevo catálogo de operaciones para comprobar y explicar los criterios de validez así como para encontrar configuraciones óptimas para uno o más usuarios. Como contribuciones menores, también presentamos dos soluciones que han sido desarrolladas para mejorar el soporte existente para la migración de infraestructuras a Amazon EC2 y para reconfigurar servicios multitenant. La piedra angular de nuestra propuesta para mejorar las técnicas de especificación ha sido definir un DSL, SYNOPSIS, y dotarlo con semántica formal basada en Modelos de Características con Estados. Acerca de nuestra propuesta para mejorar las técnicas de análisis, la clave ha sido la organización de dichas técnicas en un catálogo de operaciones básicas que pueden ser combinadas para dar lugar a soluciones guiadas por HCS m más avanzadas. La aplicabilidad de nuestros resultados está limitada a aquellos espacios de decisión que pueden ser transformados en Modelos de Características con Estados, que por nuestra experiencia es suficiente para soportar HCSs reales.The growing customisation capabilities of services, especially in Cloud scenarios, have led to the so-named Highly-configurable Services (HCSs). Such capabilities are boosting the demand and complexity of HCS-based applications and the infrastructure need to support them, HCS-driven solutions from now on. After a study of the existing literature we conclude that these HCS-driven solutions can be significantly enhanced in both 1) the languages to describe the configurations, a.k.a. the decision space of HCSs and 2) the techniques to extract useful information from the decision space, analysis techniques, in advance. On the one hand, there are no Domain Specific Languages (DSLs) to describe the decision space, although there exist some very close approaches. We suggest that it is possible to improve the current landscape by designing a DSL: i) Compliant with big HCS vendors, ii) multi-item aware, iii) expressive-enough to ease the description of arithmetic-logical relationships on configurable description terms, and iv) domainindependent. In addition, this DSL must define validity criteria for checking that the decision space satisfies some basic properties such as the consistency, and the configurability. Furthermore, explanations must be provided when the decision space do not satisfy such basic properties. On the other hand, most of the current analysis techniques such as those relate to find optimal configurations or reconfigure a multi-tenant service includes some drawbacks that can be found in emerging techniques. To overcome such drawbacks there must be developed: a) fully-functional reference implementations, b) techniques with a reuse-oriented design, c) effective extension mechanisms, and d) user-friendly interfaces. The main goal of this dissertation is to enhance the existing support to develop HCS-driven solutions considering the aforementioned suggestions for improvement. The main thesis contributions are a DSL to specify the decision space of HCSs called SYNOPSIS, and a novel catalogue of analysis operations to check and explain validity criteria as well as to find optimal configurations for one or many users. As minor contributions, two solutions have been developed to improve the existing tooling support to migrate on-premise infrastructure to Amazon EC2 and to reconfigure multi-tenant service. The cornerstone of our proposal to improve the specification techniques has been to define a DSL, SYNOPSIS, and endow it with a formal semantics based on Stateful Feature Models. Regarding our proposal to improve the analysis techniques, the key has been the organization of such techniques in a catalogue of basic analysis operations that can be combined to support more advanced HCS-driven solutions. The applicability of our results is limited to those decision spaces that can be translated to a Stateful Feature Model, that is enough to support real-world HCSs, in our experience
    corecore