For my final year project I'm looking to build a distributed version of a popular benchmarking client (this has already been done using various methods involving some form of existing frameworks), I have been advised by my dissertation supervisor to consider implementing a RESTful service. Essentially what will be happening is that a program will be started from one client (provided the details of the benchmark) , which shall initiate a master program / server who will then decide how many network nodes to run and on how many clients of which to run it on. These will all perform various actions on the database, have their own individual results returned to them & subsequently the original program / server that initiated them where the results will be aggregated.
I saw a few documents online stating that SOA's are useful where there will be many stateless processing units (the network nodes, in my head in the diagram) and said that an SOA includes a main storage (database cluster in my diagram) as well as an application that combines and composes them together (the clients on the networks nodes results will be being aggregated).
On the contrary I have read up on ROA's and RESTful service and it looks like it could fit this design pattern also.
So my question is, which of these design patterns shall I implement:
SOA or ROA?
And if ROA, I'm struggling to wrap my head around the CRUD operations in a situation other than a web service.
So for example, my network nodes will each be running a client interacting with the database individually (not via REST).
How would I include a GET / PUT / DELETE / POST to the client?
Because all I'm imagining in my head is GET in the context of GET databaseX/1 and retrieving an individual record or something similar.
Thank you in advance.