Я работаю над веб-приложением на основе Tapestry 5, которое должно предоставлять API для устройств iPhone и Android. В настоящее время API реализован с использованием встроенных в MVC возможностей гобелена. Например, все сервисы являются методами-обработчиками, которые возвращают строки JSON в классах страниц Tapestry, предназначенных для мобильного доступа. Аутентификация выполняется в Spring Security, и каждый пользователь привязан к сеансу. Я довольно новичок в этом, так что поправьте меня, если я ошибаюсь, но это не похоже на очень чистое решение.
Каковы возможные недостатки этого решения?
Каковы значительные преимущества при использовании REST-API вместо этого?
Что будет лучшей практикой в таком случае?