Git Product home page Git Product logo

tpmc_documentation's Introduction

EUROPEAN MASTER TEAM PROJECT 2020


About this ProjectWho We AreDevelopment ProcessTechnical DocumentationEvaluation


About this Project

This project was developed as part of an international university team project in which students from the University of Mannheim, Germany, and students from Babeș-Bolyai University in Cluj, Romania, worked together for six months on a common research question. The project was mainly organized by the Institute for Enterprise Systems (InES) at the University of Mannheim.

The key goals of the project were given as follows:

  • Understand and evaluate existing architectures in terms of software adapters which link incompatible APIs or devices (provided) to required interfaces (domain-models)
  • Build an infrastructure and product for the automatic execution of service compositions independent of the available API-endpoints (that is “plug-and-play” at runtime)

The results of the six-month project, i.e. both the developed platform for the dynamic integration of external APIs and execution of service compositions and the comparison with existing technologies as well as the evaluation of the developed software prototype are documented in the following.

Who We Are

Group Photo

We are all students in the area of computer science from the two mentioned universities:

While the members from Germany are all studying in the master program in Business Informatics, three of the Romanian students are studying Bachelor Computer Science and one in the master program in Computer Science.

Development Process

Apart from a one-week introduction phase at the beginning of the project, when the students from Mannheim travelled to Cluj, the entire cooperation during the project took place via digital media. In order to nevertheless work together successfully in such a large team with very heterogeneous previous knowledge, we pursued an agile development process and strict adherence to the SCRUM guidelines. As part of this, we agreed on week-long Sprints from Monday to Monday, with Sprint Review, Retrospective and Sprint Planning taking place in a joint meeting via Skype at the end of each Sprint. To keep track of our progress and upcoming tasks, we decided to use a Trello Board where we assigned tasks into mainly five categories: Product Backlog, Sprint Backlog, In Progress, In Review and Done (see exemplary Screenshot). Apart from this, we agreed on a written daily twice a week via the Messaging Service Discord, which was also used for other written communication during the project. The roles of Product Owner and Scrum Master changed between the team members during the project. The role of the external customer was taken over by the supervisors from the InES.

Screenshot Trello Board

Technical Documentation

The following documentation should enable a technically experienced person to understand the function and the interaction of the core modules of the underlying Microservice Architecture of the developed software prototype. On the other hand, the implementation and the underlying concepts, especially in the area of dynamic integration of further services, should be addressed to the extent that an external person is able to integrate further services or even continue working on the developed prototype.

After a description of the overall archtitecture, the four microservices that are basically independent of each other, are explained in more detail:

Besides, there are two supplementary services that were initially developed as part of an earlier archtitecture idea which was based on several independent Category Services instead of having one more generic Service Provider and became redundant with the introduction of this (in case of Finance Category Service) or were modified to serve only as an additional external API (in case of Messaging Category Service) to be accessed by the Service Provider like any external API.

During our development process we pursued an approach of Continuous Integration and Continous Delivery (CI/CD) which is shortly explained here.

User guide

You can find the user guide here.

Evaluation

Initially, it should be mentioned that the following evaluation does not claim to meet scientific standards. The aim is rather to give a short overview of comparable technologies in a first step. In doing so, similarities and differences between our platform and similar tools shall be pointed out. This should only be a purely qualitative comparison. In a second step, we quantitatively evaluated the performance of our platform against various criteria using previously defined use cases and associated evaluation tasks.

tpmc_documentation's People

Contributors

d067659 avatar mariushes avatar tobiashorn1899 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.