221 research outputs found

    Abmash: Mashing Up Legacy Web Applications by Automated Imitation of Human Actions

    Get PDF
    Many business web-based applications do not offer applications programming interfaces (APIs) to enable other applications to access their data and functions in a programmatic manner. This makes their composition difficult (for instance to synchronize data between two applications). To address this challenge, this paper presents Abmash, an approach to facilitate the integration of such legacy web applications by automatically imitating human interactions with them. By automatically interacting with the graphical user interface (GUI) of web applications, the system supports all forms of integrations including bi-directional interactions and is able to interact with AJAX-based applications. Furthermore, the integration programs are easy to write since they deal with end-user, visual user-interface elements. The integration code is simple enough to be called a "mashup".Comment: Software: Practice and Experience (2013)

    Exploring Maintainability Assurance Research for Service- and Microservice-Based Systems: Directions and Differences

    Get PDF
    To ensure sustainable software maintenance and evolution, a diverse set of activities and concepts like metrics, change impact analysis, or antipattern detection can be used. Special maintainability assurance techniques have been proposed for service- and microservice-based systems, but it is difficult to get a comprehensive overview of this publication landscape. We therefore conducted a systematic literature review (SLR) to collect and categorize maintainability assurance approaches for service-oriented architecture (SOA) and microservices. Our search strategy led to the selection of 223 primary studies from 2007 to 2018 which we categorized with a threefold taxonomy: a) architectural (SOA, microservices, both), b) methodical (method or contribution of the study), and c) thematic (maintainability assurance subfield). We discuss the distribution among these categories and present different research directions as well as exemplary studies per thematic category. The primary finding of our SLR is that, while very few approaches have been suggested for microservices so far (24 of 223, ?11%), we identified several thematic categories where existing SOA techniques could be adapted for the maintainability assurance of microservices

    Käytettävyyden ja kehityksen modernisointi mikropalveluilla

    Get PDF
    Vanhat ohjelmistojärjestelmät, joilla tarkoitetaan vanhoja ja vanhentuneita ohjelmistoja joita on tehty vanhentuneilla työskentelytavoilla, ovat todellisuus jonka kanssa suurin osa ohjelmistokehitysyrityksistä joutuvat kamppailemaan. Vanhat työskentelytavat ja teknologiat aiheuttavat usein ohjelmiston kehityksen ja julkaisun hidastumista, sillä niiden jatkuvassa käytössä voi piillä yhteensopivuus, turvallisuus, skaalautuvuus sekä ekonomisia ongelmia, muiden ongelmien muassa. Ohjelmistojärjestelmien modernisointi, uudelleensuunnittelu ja refaktorointi voivat lievittää vanhoista järjestelmistä nousevia ongelmia, oli se sitten työskentelytapojen muutoksella, teknologioiden päivityksellä tai ohjelmistoalustojen vaihdolla. On olemassa monia teknologioita ja metodeja jotka voivat helpottaa ohjelmistojärjestelmien modernisointia, mukaanlukien siirto käyttämään erilaista arkkitehtuuria, uusien teknologioiden käyttöönotto ja ohjelmistokehityksen tapojen vaihto. Näillä teknologioilla ja metodeilla, ja modernisaatiolla yleensäkkin, on omat riskinsä ja haasteensa, jotka tulee ottaa huomioon onnistuneen modernisaation aikaansaamiseksi; Nämä strategiset huomiot ovat avaintekijöitä modernisaatiossa. Tämä opinnäytetyö tutkii ohjelmistojen modernisaatiota yleisellä tasolla kirjallisuusarvostelun kautta, ja käyttää tietyn yrityksen tapaustutkimuksen dataa, joka on kerätty kyselyjen ja yhtiön lokien kautta, katsoen mitä teknologioita, konsepteja ja strategioita tarvitaan onnistuneeseen modernisaatioon, ja mitä vaikutuksia modernisaatiolla on modernisoitavaan ohjelmistojärjestelmään loppukäyttäjien sekä ohjelmistokehittäjien näkökulmasta. Tämän tutkimuksen lopputulos paljastaa miksi modernisaatio on monimutkainen aihe jossa on monia haasteita, mutta joka samaan aikaan tarjoaa monia hyötyjä modernisoitavalle ohjelmistojärjestelmälle. Näitä tuloksia on parasta käyttää ohjeina siihen, mihin ongelmiin kannattaa keskittyä modernisoinnin aikana, pitäen mielessä tapaustutkimuksen rajoitetun soveltamisalan.Legacy software systems, which refers to old and likely outdated software applications and practices, are a reality that most software development companies have to contend with. Old practices and technologies are often at fault for slowing down development and deployment of software, as they can have compatibility, security, scalability and economic issues with their continued use, among other issues. Software modernization, reengineering and refactoring can alleviate the issues stemming from legacy systems, whether it be in the form of altering practices, updating technologies or changing platforms. There are many technologies and methods that can facilitate the modernization of a software system, including a move to using different architectures, specific newer technologies and changing the methods of working and developing the software system. These technologies and methods, and modernization in general, come with their own risks and challenges that must be considered for a successful modernization to take place; These strategic considerations are a key factor in modernization. This thesis will explore software modernization in general through literature reviews and as a case study for a specific company using data from surveys and the case company’s logs, with a look into the technologies, concepts and strategies required for a successful modernization, and what kinds of effects modernization can have on the software system being modernized, both from a user perspective as well as from a developer perspective. The end-result of this exploration reveals that modernization is a complex subject with many challenges, but that also offers benefits to the software system being modernized. These results are best used as a guideline on what issues should be concentrated on during modernization, with a mindful consideration for the limited scope of the case study represented within

    Praxisfallbeispiel: Modernisierung einer Mainframe-Anwendung durch eine verteilte SOA

    Get PDF
    Auch heute noch sind Legacy-Anwendungen auf Basis von Mainframe-DBMS wie Adabas und zugehörigen Programmiersprachen wie Natural häufig produktiv. Sie sind jedoch oft nur schlecht mit neuen Unternehmensanwendungen integriert. Der vorliegende Beitrag zeigt in einem Fallbeispiel die Modernisierung einer solchen Anwendung unter Einsatz von Web Services als Basis ihrer Integration in eine verteilte, Service-orientierte Architektur (SOA)

    Interoperability for Industrial Internet of Things Based on Service-oriented Architecture

    Get PDF
    The new Industry 4.0 envisions a future for agile and effective integration of the physical operational technologies (OT) and the cyber information technologies (IT) as well as autonomous cooperation among them. However, the wide variety and heterogeneity of industrial systems and field devices -especially on the factory floor - increase integration complexity. To address these challenges, new technologies and concepts such as the Industrial Internet of Things (IIoT), Service-oriented Architecture (SoA), Semantic Technologies, Machine Learning and Artificial Intelligence are being introduced to the industrial environment. In this paper, we focus on how industrial automation systems and field devices can be integrated into the IIoT framework and coordinated to adapt to dynamic operating environment. Specifically, this paper proposed an interoperability solution that makes use of SoA and Semantic Technologies to achieve supervised coordination of IIoT application systems. To illustrate the potential of this approach, the Service-oriented Architecture-based Arrowhead Framework is used as the fundamental framework for the implementation of the approach.acceptedVersio

    Service Discovery from Uniform Resource Locators of Monitored Web Applications

    Get PDF
    Käesolev magistritöö käsitleb veebiserveri sissetulevate HTTP päringute URL-ide analüüsimist veebiteenuste tuvastamise eesmärgiga.\n\rProbleem on aktuaalne veebirakenduste monitooringutööriistade seisukohalt, kuna sissetulevad HTTP päringud on vaja omavahel loogiliselt grupeerida selleks, et edasihinnata ning jälgida teenuse vasteaega.\n\rUurimistöö keskendub Java veebirakendustele ning analüüsib URLide andmehulka, mis on saadudud monitoorimistarkvarast Plumbr.\n\rKui monitooritav veebirakendus on realiseeritud mõne Plumbri jaoks tuntud veebiraamistiku abil (näiteks Spring), siis on võimalik seda rakendust instrumenteerida selliselt, et teenuse nimi on üheselt määratletav. Kui aga tegemist on Plumbri jaoks tundmatu veebiraamistikuga, siis ainuke sissetuleva päringu kirjeldus on selle päringu URL.\n\rKui URLis sisalduvad dünaamilised parameetrid, siis sama teenust kasutavad päringud on erinevad ja neid ei ole võimalik ainult URLi põhiselt grupeerida.\n\rKäesolev magistritöö pakub välja URLi analüüsil baseeruva grupeerimise lahenduse. Lahendus tükeldab URLi, eraldab sealt sõnede ahelad, mida seejärel analüüsib kasutades loomuliku keele töötlemise ning graafitransformeerimise tehnikaid.\n\rPakutav teenuste tuvastuse lahendus on teostatud kasutades Java ja Groovy programmeerimiskeeli, hinnatud andmehulgal mis koosneb üle 400 000 URList ning on integreeritud Plumbr monitooringutarkvarasse.This thesis addresses the problem of analyzing Uniform Resource Locators (URLs) of incoming Hypertext Transfer Protocol (HTTP) requests in a Web application server in order to discover the services provided by the applications hosted by the application server, and to group these applications according to the services they provide. The thesis investigates this problem in the context of the Plumbr Java performance monitoring tool. When the hosted applications are implemented using a known web framework (e.g. Spring), the service name and associated data, such as URL parameters, can be extracted directly from the controller. However, this controller-based service discovery approach, which is currently implemented in Plumbr, is not applicable when the hosted applications use unknown framework. This research addresses the problem in this latter more general setting.\n\rThe thesis proposes a pure URL-based approach, where the observed URLs are parsed, leading to sequences of tokens, which are then analyzed using natural language processing techniques and graph transformations. The proposed service discovery technique has been implemented in Groovy and Java, integrated into the Plumbr tool and evaluated on data extracted from production server covering over 400K URLs

    Web services approach for ambient assisted living in mobile environments

    Get PDF
    Web services appeared as a promising technology for Web environments independent of technologies, services, and applications. First, a performance comparison study between the two most used Web service architectures, SOAP and REST, is presented, considering messages exchange between clients and a server. Based on this study, the REST architecture was chosen to deploy the system because it gets better results compared to SOAP architecture. Currently, there are some issues related with this approach that should be studied. For instance, if massive quantities of data are sent to databases it can influence significantly the performance of the whole system. The Advanced Message Queuing Protocol (AMPQ) appears as a promising solution to address this problem. Then, in order to evaluate the performance of this approach, this work presents a performance evaluation and a comparison study of RESTful Web services and the AMQP Protocol considering exchanging messages between clients and a server. The study is based on the averaged exchanged messages for a certain period of time. It was observed and concluded that, for large quantities of messages exchange, the best results comes from the Advanced Message Queuing Protocol. Message Queuing Telemetry Transport (MQTT) was addressed in this work because it is a similar protocol to AMQP but it can be used by mobile devices with a processing capacity smallest unlike the AMQP that needs greater processing capacity. These studies are performed in the context of Ambient Assisted Living environments, since the work was applied to this topic in order to experiment the effectiveness and evaluate the performance of these protocols in this scenario

    Kollaboratives Reengineering und Modularisieren von Softwaresystemen

    Get PDF
    Software systems evolve over their lifetime. Changing requirements make it inevitable for developers to modify and extend the underlying code base. Specific requirements emerge in the context of open source software where everybody can contribute and requirements can change over time. In particular, research software is often not structured with a maintainable and extensible architecture. Furthermore, often databases are employed for retrieving, storing, and processing application data. Insufficient knowledge of the actual structure and behavior of such software systems and related databases can entail further challenges. Thus, understanding these software systems embodies a crucial task, which needs to be addressed in an appropriate way to face inevitable challenges while performing software changes. Approaches based on alternative display and interaction concepts can support this task by offering a more immersive user experience. In this thesis, we introduce three complementary approaches to support the evolution and particularly understanding of software systems in different aspects. Our main contributions are (i) an approach named CORAL for enabling collaborative reengineering and modularization of software systems, (ii) a gesture-based, collaborative, and multi-user-featuring Virtual Reality approach named ExplorViz VR for the software city metaphor, and (iii) a database behavior live-visualization approach named RACCOON for database comprehension of software systems. An extensive case study shows that our CORAL approach is capable of supporting reengineering and modularization processes. Furthermore, several lab experiments demonstrate the high usability, and efficiency and effectiveness for solving comprehension tasks when using the visualization within our multi-user VR approach ExplorViz VR. All implementations are available as open-source software on www.explorviz.net. Additionally, we provide an extensive experimental package of our latest VR evaluation to facilitate the verifiability and reproducibility of our results

    Nomothesi@ api - reengineering the electronic platform

    Get PDF
    Ο στόχος αυτής της εργασίας, είναι να συμβάλει στον τομέα της αναπαράστασης νομικής γνώσης και στην ενσωμάτωση αυτής στην περιοχή των ανοιχτών δεδομένων στην Ελλάδα, τόσο από τεχνολογική σκοπιά, όσο και από άποψη διαφάνειας. Η Νομοθεσί@, είναι μια πλατφόρμα που σκοπό έχει να δώσει πρόσβαση στην ελληνική νομοθεσία, με τη χρήση ενός νομικού XML/RDF προτύπου και με διασυνδεδεμένα δεδομένα (linked data). Αυτή η νέα έκδοση της Νομοθεσίας προτείνει την αντικατάσταση του προηγούμενου προτύπου XML για τα ελληνικά νομικά έγγραφα για ένα νέο RDF, μια νέα Spring MVC αρχιτεκτονική και την παροχή πολλών REST υπηρεσιών όπως αυτή ενός SPARQL Endpoint. Η σύνδεση δεδομένων αφορά τη διασύνδεση και την ανοιχτή δημοσίευση ελληνικών δημόσιων δεδομένων και των νομοθετικών δεδομένων κατά μήκος της Ευρωπαϊκής Ένωσης, με σκοπό την ενίσχυση της ηλεκτρονικής διακυβέρνησης. Πάνω σε αυτές τις αρχές, προσπαθήσαμε να επεκτείνουμετη Νομοθεσί@ με ένα ενοποιημένο RDF Σχήμα δεδομένων, προκειμένου να δημιουργηθεί ένα RESTful API για να αξιοποιήσει ολόκληρη την πολύτιμη σημασιολογική πληροφορία που έχει να προσφέρει η ελληνική νομοθεσία και να ενθαρρύνει περαιτέρω και πιο πολύπλοκα έργα που βασίζονται στον τομέα του διαδικτύου για την αναζήτηση και την περιήγηση της νομοθεσίας.The objective of this thesis is to contribute in legal knowledge’s representation and its integration in the area of Open Data in Greece, both from a technological perspective and in terms of transparency. Nomothesi@, is a platform to provide access to Greek Legislation, by means of a legal XML/RDF syntax and linked data. This new version of Nomethesi@ proposes the replacement of the previous XML standard for Greek legal documents to a new RDF one, a new Spring MVC architecture and many REST services such as a SPARQL Endpoint. Linking data is about interlinking and publishing openly Greek public data and legislative data across EU in order to enhance E-Government. On these fundamentals, we tried to expand Nomothesi@ with a unified RDF Schema, in order to create a RESTful API to serve all the precious semantic information Greek Legislation has to offer and to encourage further and more complex projects based on web services for searching and browsing legislation

    Towards Reverse Engineering for Component-Based Systemswith Domain Knowledge of the Technologies Used

    Get PDF
    Many developers today face the challenge of managing and maintaining existing legacy software systems. Improving the understanding of these systems is an important issue in addressing these challenges. To improve understanding, reverse engineering can be used to generate a higher-level representation. However, generic and extensible reverse engineering solutions that address multiple types of different technologies are missing or incomplete. This paper proposes to take a step in this direction. We describe the underlying idea of how used technologies such as frameworks and libraries induce parts of the architecture. Building on this, we describe our proposed approach of how the similarities of different technologies can be used to redevelop component-based architectures. By incorporating knowledge about technologies, we aim to improve the result of reverse engineering processe
    corecore