Distributed Systems 2

@unitn

Here you can find the material for the lab sessions of the course Distributed Systems 2.

The theoretical part is given by Prof. Alberto Montresor.

The lab sessions will provide you with exercises to get you familiar with various problems in Distributed Systems. The general idea is to play with akka, a java (also scala) framework for building distributed applications.

The schedule for the lab sessions is given in this link.

Solution for the exercise will be posted after each lab session, feel free to contact me at channam[dot]ngo[at]unitn[dot]it regarding bugs or questions!!!

Below you will find the Setup Instruction and How to get started with Akka. A general introduction for the framework can be found here.

NEW*: If you find problem setting up with Lightbend Activator. Use this project template (that requires Maven and Eclipse IDE).

Setup Instructions

To simplify the setup, you can install the Lightbend Activator for akka, the setup steps are straight forward:

  • Install JDK 8+ (you can ask google where to find this) and remember to add JAVA_HOME as an enviroment variable
  • Download the installation package
  • Extract the zip archive
  • Run activator.bat (or activator) in the folder activator-dist-xxx\bin
  • Some installations will be carried out (in the terminal) and then a webpage will be launched (default at http://127.0.0.1:8888/)

Getting Started

To create the first project, we can do as follows:

  • From Templates, select Seeds and then Minimal Akka Java Seed
  • The template is for a minimal-akka-java-seed (java) project that features an ApplicationMain with PingActor and PongActor
  • We are good to go now but if you are more familiar with an IDE (Eclipse, etc.) the project can be exported via the Code tab. However, to run and test the application, we still need to go to the web console's Run tab.

What to do next?

You can start with the labs here.