Каким образом выгоднее организовать взаимодействие между клиентом и сервером, если клиент не владеет информацией о модулях сервера, а имеет лишь данные в виде текста:
1. Имя пользователя, который отправляет запрос
2. Секретный токен пользователя
3. Модуль, к которому идет запрос
4. Имя команды
5. Параметры
А сервер уже из текстовых данных рефлексией или другими механизмами должен соединить запрос от клиента с кодом на сервере и отправить ответ.
Меня интересует какой должен быть сервер. Soap? И как передавать запрос. XML?
Посоветую начать с основ - программирования сетевого взаимодействия на сокетах. Признаком полноценного окончания первого этапа можно считать умение написать простой http-сервер. После стоит познакомиться с методами web-разработки на Java. Потом почитать про REST и попрактиковаться с ним. Можно и с SOAP побаловаться, для расширения кругозора и ознакомления с историей. А через месяц/полгода/год такой практики перечитать ваш вопрос.