Простой вызов удалённых сервисных методов в одностраничных приложениях
В этой статье, я хочу поделиться своим подходом в организации клиент-серверного взаимодействия, в одностраничных браузерных приложениях с серверной частью на Java. Сокращённо, я называю этот подход «Json Remote Service Procedure Call» — JRSPC. (Не очень благозвучно, конечно, но из песни слова не выкинешь.) Применение jrspc — позволяет отказаться от использования слоёв определений интерфейсов сервисов на клиенте и сервере, что сокращает количество кода, упрощает его рефакторинг, и снижает вероятность появления ошибок. Цена за это — замена набора параметров в сервисных методах, на один параметр — объект Json, что немного усложняет код в сервисных методах. Т.е, на сервере, вместо: int plus (int a, int, b){return a + b;};, мы должны будем написать: int plus (JSONObject p){return p.optInt («a») + p.optInt («b»,»4»);};, а на клиенте, вместо: PlusService.plus (1, 2, callbacks);, должны будем написать: Server.call («plusService», «plus», {b: 2, a: 1}, callbacks);. Однако, заплатив эту цену, мы получаем возможность исключить из процесса разработки конфигурирование сервисов на сервере и подключение их на клиенте, , а также, сможем избежать ошибок, связанных с изменением мест параметров, и сможем добавлять в параметры значения по умолчанию (p.optInt («b»,»4»)). Как это работает