13 research outputs found

    Supporting a Hybrid Composition of Microservices. The EUCalipTool Platform

    Full text link
    [EN] To provide complex and elaborated functionalities, Microservices may cooperate with each other either by following a centralized (orchestration) or decentralized (choreography) approach. It seems that the decentralized nature of microservices makes the choreography approach more appropriate to achieve such cooperation, where lighter solutions based on events and message queues are used. However, orchestration through the usage of a process model facilitates the analysis of the composition when this is modified. To benefit from the goodness of these two approaches, this paper presents a hybrid solution based on the choreography of business process pieces that are obtained from a previously defined description of the complete microservice composition. To support this solution, the EUCalipTool platform is presented.This work has been developed with the financial support of the Spanish State Research Agency under the project TIN2017-84094-R and co-financed with ERDF.Valderas, P.; Torres Bosch, MV.; Pelechano Ferragud, V. (2020). Supporting a Hybrid Composition of Microservices. The EUCalipTool Platform. Journal of Software Engineering Research and Development. 8(1):1-14. https://doi.org/10.5753/jserd.2020.457S1148

    Making Software Architecture a Continuous Practice

    Get PDF
    DevOps is an ever growing trend in software development and it conveys a mindset that all things should be continuous. Interestingly, one of the common challenges with DevOps adoption is related to software architecture and this is in large due to the fact that architecture is not part of DevOps. This thesis looks at making software architecture a continuous practice and thus bring it into the DevOps space. A prototype solution, Architector, was implemented to solve this and the results indicate that it shows a viable approach to making software architecture a continuous practice. However, further work is necessary to expand the scope of continuous architecture and to fully validate this claim by applying Architector to a real world software development workflow

    Service-Relationship Programming Framework for the Social IoT

    Get PDF
    We argue that for a true realization of innovative programming opportunities for smart spaces, the developers should be equipped with informative tools that assist them in building domain-related applications. Such tools should utilize the services offered by the space's smart things and consider the different relationships that may tie these services opportunistically to build applications. In this paper, we utilize our Inter-thing relationships programming framework to present a distributed programming ecosystem. The framework broadens the restricted set of thing-level relationships of the evolving social IoT paradigm with a set of service-level relationships. Such relationships provide guidance into how services belonging to different things can be combined to build meaningful applications. We also present a uniform way of describing the thing services and the service-level relationships along with new capabilities for the things to dynamically generate their own services, formulate the corresponding programmable interfaces (APIs) and create an ad-hoc network of socially related smart things at runtime. We then present the semantic rules that guide the establishment of IoT applications and finally demonstrate the features of the framework through a proof-of-concept application

    Enabling changeability with typescript and microservices architecture in web applications

    Get PDF
    Changeability is a non-functional property of software that affects the length of its lifecycle. In this work, the microservices architectural pattern and TypeScript are studied through a literature review, focusing on how they enable the changeability of a web application. The modularity of software is a key factor in enabling changeability. The micro-services architectural pattern and the programming language TypeScript can impact the changeability of web applications with modularity. Microservices architecture is a well-suited architectural pattern for web applications, as it allows for the creation of modular service components that can be modified and added to the system individually. TypeScript is a programming language that adds a type system and class-based object-oriented programming to JavaScript offering an array of features that enable modularity. Through discussion on relationships between the changeability of web applications and their three key characteristics, scalability, robustness, and security, this work demonstrates the importance of designing for change to ensure that web applications remain maintainable, extensible, restructurable, and portable over time. Combined, the micro-services architecture and TypeScript can enhance the modularity and thus changeability of web applications

    Datan mallinnus mikropalveluissa : suunnittelun vaiheet siirryttäessä monoliittisestä sovelluksesta mikropalveluarkkitehtuuriin

    Get PDF
    Edelleen voimakkaana jatkuva digitalisaation kasvaminen on nopeuttanut teknologioiden kehitystä, sekä tuonut uusia innovaatioita informaatioteknologian saralla muiden alojen yritysten ulottuville. Digitalisaation avulla on suuremmalla painoarvolla tuotu oikean maailman prosesseja ja järjestelmiä osaksi digitaalista maailmaa, pyrkimyksenä helpottaa käyttäjien, kuluttajien ja toimijoiden arkea sähköisillä työkaluilla. Tämän lisäksi vanhat suuremmat ns. legacy-järjestelmät alkavat tulla elinkaarensa päähän ja uusien järjestelmien lisäksi myös vanhojen sovellusten arkkitehtuuri täytyy päivittää tukemisongelmien takia uudempiin toteutuksiin. Digitalisaatio ei kuitenkaan aina vastaa odotuksia ja kohtuullisen usein eri viestintäkanavista välitetään tietoa erilaisten IT-projektien myöhästymisestä, kustannuksien noususta tai jopa epäonnistumisista. Syitä epäonnistumisille voidaan antaa vaikka millä mitalla. Keskeisimpiä syitä voivat olla muun muassa suunnittelun ja resurssien puute, sekä osaamisen vaihtelevuus projektihenkilöiden kesken, mutta yleensä epäonnistumiset syntyvät näiden eri painoisesta summasta. Suunnittelun merkitys korostuu ongelmien ennaltaehkäisyssä, koska suunnittelulla voidaan etukäteen koittaa puuttua projektin epäkohtiin. Tämän työn aiheena on selvittää mahdollisuuksia datamallien suunnittelun tehostamisesta mikropalveluarkkitehtuuria varten, kun pyritään päivittämään vanhasta järjestelmästä modernimpaan muotoon. Mikropalveluarkkitehtuurilla on niin etuja, kuin myös haasteita verrattuna klassisempaan yhden ison kokonaisuuden malliin. Työssä käsitellään mikropalvelumallin taustaa, verrataan sitä ison kokonaisuuden järjestelmään, sekä pyritään löytämään tapoja tai prosesseja, joilla helpotetaan työtaakkaa niin sovellusarkkitehdeille, suunnittelijoille ja asiantuntijoille, jotta kaikki projektihenkilöt saavat kattavamman käsityksen mikropalvelujaosta.Still rapidly continuing growth of digitalisation has sped up the progress of technologies and brought new innovations for the use of the other professional fields by the courtesy of the information technology area. With the help of digitalisation, more real world processes and systems have been converted to be a part of the digital world, as for the aim being to support and enhance the experiences of users, consumers and operators likewise with these digital tools. In addition, the older so called legacy systems are reaching the end of their lifecycles and along with the new upcoming applications, these architechtural decisions of older applications must be updated to ensure avoiding supporting issues. However, digitalisation doesn’t always hold up to expectations and reasonably often different medias relay information on different IT-projects being delayed, the cost of the projects rising, and even in some cases, failure of these projects. Many scenarios can be given as the reasons for these failures. The most essential reasons can be for example, the lack of planning and resources or even the varying amount of experience between the project personnel. Usually, the reason seems to not be one singular subject, but instead, the sum of many issues, where emphasis is larger in some areas than others. Significance of planning is highlighted in preventing problems arising, because with planning it is possible to preemptively intervene in to the possible upcoming issues of the project. The subject of this thesis is to investigate chances on how to optimize the planning of the datamodels when microservices are the chosen architechture model, when striving for updating an older system to modernized version. Microservices architecture has its own benefits, but also its challenges compared to one singular monolithic model. The work consists of researching the backgrounds of microservices, compares them to monolithic architechture, and tries to find practices and processes, which can be used to ease the workload of software architects, designers and experts. This so, that each person related to the project can have a more comprehensive outlook for the system divided into microservices

    Facilitating Asynchronous Collaboration in Scientific Workflow Composition Using Provenance

    Get PDF
    Recent advances in various domains have led to a data explosion, which has created many significant scientific discovery opportunities. Therefore, researchers need systems that allow them to analyze data efficiently. Scientific Workflow Management Systems (SWfMS) such as Galaxy, Taverna, Kepler and, VizSciFlow are popular software among researchers for data-intensive experiments. Advances in other domains have led to the increasing complexity of the experiments and the demand for collaboration between scientists. Many scientific experiments require scientists from different domains to work collaboratively toward addressing a problem. Very few of the existing SWfMSs such as ProveDB, SciWorCS, Workspace, support collaboration but in many cases, their method are not efficient. Researchers can share their work in existing collaborative data analysis systems, meaning all the collaborators must work on a single version of the workflow, which increases the chance of potential interference as the number of collaborators grows. Furthermore, when collaborators join an experiment, to contribute effectively, they require information about the project’s status, such as the history of its changes and current problems. Existing SWfMSs neither offer this insight nor provide group awareness in an asynchronous setting. The first contribution of this work is that we provide tools to facilitate collaborative workflow composition in the context of SWfMS. With this aim, we simulated some standard concepts of version control systems (VCS e.g., Github), such as branching and versioning in SWfMSs. As a proof of concept of collaborative features, we developed an API capable of capturing the provenance information and managing the branches and versions of the workflow. As the second contribution, we propose a set of visualizations and reports in order to provide the information collaborators require when joining a project or continuing to collaborate with added efficiency. We capture the system event’s log, also known as provenance information, during workflow composition and execution phases, and using such data, we generate the visualizations and reports. Before implementing the visualizations, we created a demo of our work and surveyed potential users to discover how much our proposed visualizations could contribute to group awareness. Moreover, we asked to what extent the proposed version control system could help address shortcomings in collaborative experiments. We invited programmers and researchers who had experience using SWfMSs, and domain specialists from associated areas to participate in our study. We selected particular roles due to the relevance of their experience to our research topic. Twelve individuals participated in the survey. They provided valuable feedback about improving the proposed collaborative tools and what other kinds of visualizations they would need as potential users. 70% of the participants found the proposed tools are beneficial for collaborative workflow composition

    Gestão de documentos de arquivo com uso de sistemas em software de código aberto

    Get PDF
    A Gestão de Documentos de Arquivo é um processo essencial para as Organizações Públicas ou Privadas e para indivíduos focando-se no registo, descrição, acesso e preservação dos documentos associados às suas atividades. Cada vez mais organizações e indivíduos têm de gerir enormes massas documentais não se referindo estes documentos apenas a textos escritos, mas também arquivos fotográficos, sonoros, entre outros. Entretanto o crescimento da massa documental digital, com as evoluções tecnológicas dos últimos anos, tem vindo a acelerar, contrariamente ao suporte físico, que cada vez mais é digitalizado e destruído ou simplesmente substituído pelo formato digital. A evolução dos Sistemas de Informação permitiu avanços na Gestão de Documentos de Arquivo, pois facilitou a sua operacionalização, contribuindo para maturar práticas e conceitos. Em especial, o movimento do Software Livre trouxe novos sistemas nas mais diversas áreas, incluindo as da Gestão de Documentos de Arquivo. A implementação mais alargada destes sistemas trouxe a descoberto necessidades que podem ser colmatadas com implementações de arquiteturas mais modernas, garantindo maior elasticidade e disponibilidade. Ao verificar a existência limitada de investigações sobre este tema, esta dissertação procura, em termos gerais, identificar se é possível implementar um Sistema de Gestão de Documentos de Arquivo unicamente com software livre. No âmbito da investigação, foi necessário identificar os principais requisitos alinhados com normas e standards relevantes, criar um modelo conceptual para selecionar implementações e, criar um protótipo que demonstre ser possível resolver o problema definido. A investigação foi conduzida socorrendo-se da metodologia DSRM, ao realizar cada uma das atividades definidas, aplicando-as ao problema e objetivos da dissertação. Finalmente, a investigação demonstra, através da concretização do modelo conceptual, desenhado a partir das técnicas investigadas e descritas na revisão de literatura, que é possível implementar um Sistema de Gestão de Documentos de Arquivo, com Software Livre ou de Código Aberto.Document Management is an essential process for Public or Private Organizations and also for individuals, that focuses in recording, describing, accessing and preserving documents linked to their activities. In an increasing matter, individuals and organizations need to manage huge amounts of documents, these documents not being solely text-based but also photographic archives, sound archives, among others. Meanwhile the growth of digital assets, with all the technological evolution from the past years, has been accelerating, and the physical assets have been decreasing in proportion, as they are mostly scanned and destroyed or simply replaced by a digital format. The evolution of Information Systems allowed breakthroughs in Document Management as it has facilitated it’s operationalization, contributing to practices and concept maturity. In particular, the Free Software Movement brought a wave of new systems in the most diverse fields, including Document Management. The increase in implementations in the field uncovered new requirements that can be covered with the use of modern architectures, that warrant more elasticity and availability. Observing the limited amount of investigations on this theme, this dissertation aims, in general, to identify if it is possible to implement a Document Management System only with Open Source Software. Within the scope of the research, it was necessary to identify the main requirements aligned with relevant norms and standards, create a conceptual model to select implementations and, create a prototype that demonstrates that it is possible to solve the defined problem. The research was conducted using the DSRM methodology, by performing each activity defined, applying them to the problem and goals of the dissertation. Finally, the research demonstrates, through the implementation of the conceptual model, designed based on the investigated techniques and described in the literature review, that it is possible to implement a Document Management System, with Free or Open Source Software
    corecore