36 research outputs found

    Sovelluskehyslähtöisen web-sovelluksen arkkitehtuurin ja kehittämisen parantaminen pilviympäristössä

    Get PDF
    Frameworks are widely used in web development. As web frameworks provide the developer with basic functionality, such as object-relational mapping and database abstraction, the developer has more time to concentrate on the actual problem. A common practice has been that framework-based web applications are deployed in a single-server environment. As the advent of cloud computing has made cloud platforms popular, web developers are facing a change in their working environment. The change does not only affect the environment but also the techniques and practices used within the current web frameworks. The main problem is that the web frameworks have their roots in the single-server era when cloud platforms did not exist in such large scale as they do currently. In this thesis we focus on how web developers can use their previous competence in the cloud environment. The research is done by developing an example application using the Django web framework. The example application is then deployed to the Heroku cloud platform. The example application and its implementation are used throughout the thesis to identify the most common pitfalls a developer might encounter while deploying a framework-based web application to a cloud platform. The pitfalls are analysed in order to find the root causes for why the current web frameworks do not fully fit to the cloud environment. The findings show that most of the pitfalls are related to using web framework practices or techniques that e.g. store the application state inside the server’s memory or the local file system. As the cloud platform environment is a distributed system, the application state should be stored in a persistent storage and made accessible for each web server. In addition, the findings tell that developers must pay extra attention to application design and architecture in the cloud environment. The thesis gives an analysis method for choosing third-party plugins and suggests ways to improve framework-based development. By specifying essential cloud platform features, the needs of an elastic cloud application are defined. The conclusions provide insight into the current status of web development and discuss how the web development can be improved by using the current cloud platforms and web frameworks

    PROsaiq: A Smart Device-Based and EMR-Integrated System for Patient-Reported Outcome Measurement in Routine Cancer Care

    Get PDF
    The PROsaiq prototype, which is based on the use of smart devices, was developed to show the technical feasibility of a lean, low-cost ePRO system that integrated with the oncology information system MOSAIQ to provide the potential for benefits in routine patient care, and improved data for clinical research. The system was built with Free & Open Source Software and trialled for a limited number of assessments. The report describes the components used, the decisions made and the hurdles met during the project. An on-line demonstration system is available to showcase PROsaiqs functionality

    Frameworks para el desarrollo de prototipos WEB: Un caso de aplicación

    Get PDF
    Los frameworks para el desarrollo de aplicaciones web facilitan el trabajo de desarrollares y profesionales de la industria informática. Actividades que requieren conocimientos y técnicas avanzadas de programación pueden realizarse con facilidad y en poco tiempo, suprimiendo la tediosa y repetitiva tarea asociada con patrones comunes de desarrollo web. Este trabajo tiene como objetivo presentar un caso de aplicación sobre el desarrollo e implementación de un prototipo web innovador que maneja el dominio de los cursos y docentes del Departamento de Ciencias de la Computación y la Decisión de la Facultad de Minas - Universidad Nacional de Colombia, Medellín, con programación orientada a objetos en PHP. Se presentan los aspectos innovadores del mismo y la justificación del por qué debería ser utilizado y no otros. Este trabajo concluye que, el uso de frameworks ayuda a disminuir errores de invalidez y permiten que los desarrolladores puedan centrarse en la escritura de su aplicación

    Monikieliohjelmointi Web-sovelluskehityksessä

    Get PDF
    Different programming languages are used to solve different problem domains. Front-end code standards and best practices are used to separate presentation, content and behavior. Architectural approaches like three-tier client-server architecture present user interface, business logic and data access as independent modules to develop and maintain. The idea of polyglot programming is to combine and utilize the best solutions from different programming languages and paradigms. Therefore, polyglot programming has the potential to improve web development in various areas. Web development has always been polyglot. Polyglot system has two essential aspects, the platform used for the integration and the programming languages supported. The recent rise of non-Java programming languages running on the Java Virtual Machine has created a favorable environment for polyglot programming. The possibility to use more expressive and succinct programming languages with existing solutions has proven to be essential in web development. An example web project was implemented to study the observations in practice. The project was implemented in both Java and Groovy as a server-side web application and also with Vert.x and AngularJS as a client-side single-page application. Also an additional Groovy implementation with Java legacy domain model was implemented to study programming language interoperability on the Java Virtual Machine. The results were evaluated against related work consisting two project implementations and three case study projects presented also in the context of polyglot programming in web development. Polyglot programming can enhance web development, because different programming languages and frameworks promise an increase in productivity, reduced amount of code and improved code quality that together promote better maintainability. Although polyglot programming has a steep learning curve that affects on required knowledge, maintainability, and tool support.Erilaisia ongelma-alueita pyritään ratkaisemaan käyttäen eri ohjelmointikieliä. Esimerkiksi Frontend-ohjelmointikäytäntöjä noudattamalla voidaan erottaa esitys-, sisältö ja toimintalogiikka toisistaan. Lisäksi arkkitehtuuriratkaisut, kuten kolmikerrosarkkitehtuuri, jakavat käyttöliittymän, toimintalogiikan ja tietovarastojen käytön itsenäisiksi, mahdollisesti toisistaan erillään kehitettäviksi ja ylläpidettäviksi moduuleiksi. Monikieliohjelmoinnin ideana on yhdistää ja hyödyntää ohjelmointikielten ja ohjelmointiparadigmojen parhaat ratkaisut. Tästä syystä monikieliohjelmointi voi mahdollisesti parantaa Web-sovelluskehitystä useilla eri osa-alueilla. Monikielisyys on aina ollut osa Web-sovelluskehitystä. Monikielisessä järjestelmässä on kaksi olennaista ominaisuutta, käytettävissä oleva sovelluskehitysalusta sekä käytettävissä olevat ohjelmointikielet. Viimeaikainen kehitys ohjelmointikielissä Java-virtuaalikoneella on luonut suotuisan ympäristön monikieliohjelmoinnille. Mahdollisuus käyttää kuvaavampia ja ytimekkäämpiä ohjelmointikieliä olemassa olevien ratkaisujen tukena on osoittautunut tärkeäksi. Työn yhteydessä toteutettua esimerkkiprojektia käytettiin tarkastelemaan tehtyjä havaintoja käytännössä. Projekti toteutettiin sekä Java- että Groovy-ohjelmointikielellä palvelinpuolen Web-sovelluksena sekä Vert.x ja AngularJS Web-sovelluskehyksiä hyödyntäen asiakaspuolen yhden sivun Web-sovelluksena. Lisäksi ohjelmointikielten yhteentoimivuutta tutkittiin tekemällä Groovy-ohjelmointikielellä toteutus, joka hyödynsi valmista Java-toteutuksen toimialueen mallinnusta. Monikieliohjelmointi voi tehdä Web-sovelluskehityksestä kannattavampaa. Eri ohjelmointikielet ja ohjelmistokehykset lupaavat lisätä tuottavuutta, vähentää tarvittavan koodin määrää, sekä parantaa koodin laatua, parantaen näin samalla ylläpidettävyyttä. On kuitenkin tärkeää huomata se, että monikieliohjelmointi kasvattaa tarvittavan tiedon määrä, mikä vaikuttaa suoraan ylläpidettävyyteen sekä tarvittavaan työkalutukeen

    Challenges for the adoption of model-driven web engineering approaches in industry

    Get PDF
    Model-Driven Web Engineering approaches have become an attractive research and technology solution for Web application development. However, for more than 20 years of development, the industry has not adopted them due to the mismatch between technical versus research requirements. In the context of this joint work between academia and industry, the authors conduct a survey among hundreds of engineers from different companies around the world and, by statistical analysis, they present the current problems of these approaches in scale. Then, a set of guidelines is provided to improve Model-Driven Web Engineering approaches in order to make them viable industry solutions.Facultad de InformáticaLaboratorio de Investigación y Formación en Informática Avanzad

    PaaS manager : a platform-as-a-service aggregation framework

    Get PDF
    The advent of Cloud Computing opened new opportunities in several areas, namely in the application development processes. As consequence, nowadays, PaaS (Platform-as-a-Service) service model allows simpler and flexible deployment strategies of applications, avoiding the need for dedicated networks, servers, stor- age, and other services. Within this context, several PaaS providers exist in the market, but each one having specific characteristics, proprietary technologies and Application Programming Interfaces (APIs). Based on such assumptions, this work addresses the challenge of devising a PaaS aggregation solution with the objective of unifying the information and management processes of applications created in PaaS environments. The proposed solution, denominated as PaaS Manager, take the form of a PaaS API aggregator aiming to struggle the existing lock-in in the PaaS market. In this perspective, this paper describes the specification, development and test of the proposed PaaS Manager solution. As result of this framework, end-users are able to select the most appropriate PaaS platform for an application, interacting with any supported vendor through a unique deployment and management interface.This work has been supported by FCT - Fundação para a Ciência e a Tecnologia within the Project Scope: PEst-OE/EEI/UI0319/2014

    Comparision of Seam Forge and Spring Roo Tools

    Get PDF
    Cílem této bakalářské práce je porovnat nástroje pro rapidní vývoj Spring Roo a JBoss Forge na tvorbě vzorových aplikací, které budou poté nasazeny na aplikační server JBoss AS. Práce v první části popisuje vývoj platformy Java EE, nástrojů a frameworků pro rapidní vývoj internetových aplikací obecně, důvod potřeby těchto nástrojů pro platformu Java EE. Ve druhé části je popsána tvorba jednoduchých aplikací se stejnou funkcionalitou s nástroji Spring Roo a JBoss Forge a porovnání jejich možností, jako podpora tvorby testů, použití na již vytvořené aplikaci, či podpora ve vývojových prostředích.The goal of this bachelor's thesis is to compare the rapid application development tools Spring Roo and JBoss Forge and to deploy created applications on the JBoss AS application server. The first part this thesis describes an evolution of Java EE platform, evolution of tools and frameworks for rapid application development and also reasons for a need of these tools in Java EE platform. The second part describes creation of simple applications with the same functionality using Spring Roo and JBoss Forge. The second part also compares their capabilities in various aspects like testing support, applying these tools on already started projects or support in integrated development environments.

    Detecting topics and overlapping communities in Question and Answer sites

    Get PDF
    International audienceIn many social networks, people interact based on their interests. Community detection algorithms are then useful to reveal the sub-structures of a network and in particular interest groups. Identifying these users' communities and the interests that bind them can help us assist their life-cycle. Certain kinds of online communities such as question-and-answer (Q&A) sites, have no explicit social network structure. Therefore, many traditional community detection techniques do not apply directly. In this paper, we propose an efficient approach for extracting topic from Q&A to detect communities of interest. Then we compare three detection methods we applied on a dataset extracted from the popular Q&A site StackOverflow. Our method based on topic modeling and user membership assignment is shown to be much simpler and faster while preserving the quality of the detection

    Reusable framework for web application development

    Get PDF
    Web application (WA) is among the mainstream enterprise-level software solutions. One of the reasons for this trend was due to the presence of Web application framework (WAF) that in many ways has helped web developer to implement WA as an enterprise system. However, there are complexity issues faced by the developers when using existing WAFs as reported by the developers themselves. This study is proposed to find a solution to this particular issue by investigating generic issues that arise when developers utilize Web as a platform to deliver enterprise-level application. The investigation involves the identification of problems and challenges imposed by the architecture and technology of the Web itself, study of software engineering (SE) knowledge adaptation for WA development, determination of factors that contribute to the complexity of WAF implementation, and study of existing solutions for WA development proposed by previous works. To better understand the real issues faced by the developers, handson experiment was conducted through development testing performed on selected WAFs. A new highly reusable WAF is proposed, which is derived from the experience of developing several WAs case studies guided by the theoretical and technical knowledge previously established in the study. The proposed WAF was quantitatively and statistically evaluated in terms of its reusability and usability to gain insight into the complexity of the development approach proposed by the WAF. Reuse analysis results demonstrated that the proposed WAF has exceeded the minimum target of 75% reuse at both the component and system levels while the usability study results showed that almost all (15 out of 16) of the questionnaire items used to measure users’ attitudes towards the WAF were rated at least moderately by the respondents
    corecore