Мне нужно создать 5 методов на стороне сервера, которые будут работать с двоичными данными. Удаленные клиенты - это апплет и JavaScript. Клиент отправит файлы на сервер, и сервер должен проанализировать эти файлы, а затем вернуть ответ как XML/JSON.
Итак, я смущен - хорошая практика использовать REST-сервис в этом случае? Или я должен использовать сервлет?
Мой коллега сказал мне:
"Создание REST-сервиса, которое будет использоваться только одним Приложением, не хорошо. REST должен быть создан только тогда, когда он будет использоваться многими приложениями. А также REST имеет некоторые недостатки над сервлетом: REST медленнее сервлета; сложнее писать потокобезопасный REST, чем сервлет"
Однако я вижу некоторые недостатки при использовании Servlet: мне нужно отправить имя функции, которую я хочу вызвать (например, в качестве дополнительного имени функции отправки параметров HTTP)
а затем внутри метода doPost
выполните следующие действия:
switch(functionName) {
case "function1":
function1();
break;
case "function2"
function2();
break;
//.... more `case` statements....
}
В случае REST я могу просто использовать разные URL-адреса для разных функций. Кроме того, в случае REST более удобно возвращать JSON/XML с сервера.
Спасибо.