Teaching a course on RESTful microservices; looking for example projects
1
1
Entering edit mode
7.4 years ago
Fukusahachi ▴ 20

Hi all,

I'm aware that these kind of general questions are not exactly what Biostars is for but I'm interested in a wide range of ideas so therefore I decided to post this question.

I have been asked to create a course on microservices for a bioinformatics curriculum. While I have a reasonable grasp on the technical aspects of creating a robust, efficient RESTful web service, I find it difficult to present these concepts using practical examples that the students can work on. Students already know how to implement basic web services using the Java Spring framework which means that new concepts can be implemented easily.

For this course I am preferably looking into maybe disassembling a common bioinformatics pipeline where each student implements a single step (focus is on the API, so they need to communicate with their peers to talk about specifications) as a standalone microservice and we connect them into a single application/ pipeline at the end. One problem of course is that if a student decides to quit the course we cannot implement the full pipeline.

Other then that I am interested in hearing from other developers which software package they would like to see implemented in a self-contained microservice with a properly documented REST API.

Please let me know if you have any ideas and I'll make sure to let you know if I will use them. Also, students will put their work on Bitbucket and if they allow to have it public I will of course share the location.

Thank you for your time.

REST webservice • 1.4k views
ADD COMMENT
1
Entering edit mode

Is there any particular reason that the target app is a pipeline? Microservices seem to me to shine as part of a web application e.g. a bioinformatics database. Just seems to me a more obvious use of "microservices" is to stand as pieces of "middleware" between the "data" (whether that is an actual database of just various bioinformatics flatfiles) and a frontend, e.g. a website.

ADD REPLY
1
Entering edit mode

Yes, I fully agree, but many popular pipelines (such as analysis and annotation-pipelines for RNA-Seq, metagenomics, proteomics, etc.) have many branches (google image search for *omics-pipeline) which offers choices for our students. Also, even a microservice can receive some actual data and process (i.e. run some heavy backend software) this, especially since scalability is so much easier to compared to a monolith application.

ADD REPLY
1
Entering edit mode
7.4 years ago
  • I would suggest implementing a data service where one could query alignments that match certain metadata and return alignments or variants.
  • Implement a service where one could query functional annotations for genes.

I would not recommend implementing entire pipelines since these always change a lot and would be too tightly coupled anyway.

ADD COMMENT

Login before adding your answer.

Traffic: 1726 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6