I've done a bit of research and turns out it is possible with SOAP but not with REST and so far I've only seen examples of importing data to Data Extension but not retrieving data..  so someone could point me in the right direction then that would be helpful.

Ideally, I'd have a spring boot app that would essentially send a HTTP GET request and the response would contain the the data held in the data extension..

I'm new to Marketing Cloud so I'm still new to the concept. I've also got a few other questions;

Is data extension essentially a relational table which holds data? 

Also, what use is there for the Java SDK (http://salesforce-marketingcloud.github.io/FuelSDK-Java/) when there's SOAP/REST api available?