Fork: delicious menus for Executives
Distributed Systems 2018-2019, 2nd semester project
Group A45
Gabriel Costa Figueira 86426 GabrielCFigueira
Lívio Costa 86461 LivioCosta
Rafael Pestana de Andrade 86503 RafaelPAndrade
For each module, the README file must identify the lead developer and the contributors. The leads should be evenly divided among the group members.
Name | Server | Client (tests) |
---|---|---|
Lívio | rst | pts |
Gabriel | hub | rst |
Rafael | pts | hub |
The overall system is composed of multiple services and clients. The main service is the hub service that is aided by the pts service. There are also multiple rst services, one for each participating restaurant.
See the project statement for a full description of the domain and the system.
Java Developer Kit 8 is required running on Linux, Windows or Mac. Maven 3 is also required.
To confirm that you have them installed, open a terminal and type:
javac -version
mvn -version
-
Compile and install all modules:
mvn clean install -DskipTests
(The tests are skipped because they require each server to be running)
-
Startup at least 1 Hub Server (hub-ws), 2 Restaurant Servers (rst-ws) and 1 Points Server (pts-ws). To do that, navigate to the respective folder an run:
mvn compile exec:java
Warning: To be able to run 2 Restaurants, you need to provide a
ws.i
different than the default one for one of the instances; to do that, runmvn exec:java -Dws.i=2
The tests written for the Hub assume that all the servers where started with the default arguments, except for the 2nd Restaurant, that should be run with the above command.
-
In the root of the project, while the servers are up, run:
mvn verify
(The servers are officialy running when the line "
Press enter to shutdown
" appears in the screen)Note: If any other projects are running concurrently their own
mvn verify
, then the packageuddi-naming
may fail its tests. If that happens, then shutdown the other projects, or wait and retry, or the just skip the uddi-naming tests with:mvn verify -rf :pts-ws
This command can take a while.
We use SemVer for versioning.