Так сложилось, что по долгу службы столкнулся со следующей задачей: нужно было быстро и как можно проще сгенерировать много REST-сервисов. Мне казалось, что должно существовать немало решений, этой не такой уж и сложной задачи. И каково было мое удивление, когда пошарив по бескрайним просторам Интернета, нашел всего лишь пару подходящих продуктов. Среди наиболее подходящих мне отобрал Rest4Enterprise, restSQL и IBM Web API Services (может кто еще какие знает? you are welcom!). restSQL показался совсем хиленьким, продукт от IBM – наоборот, мощнейшим зверем. Поэтому придерживаясь правила «золотой середины», решил опробовать Rest4Enterprise. Продукт еще совсем новый (январь 2013), информации по нем, кроме официального источника нет вообще, поэтому решил поделиться с хабрачитателями своим небольшим опытом работы с ним.
Что такое Rest4Enterprise и с чем его едят
Rest4Enterprise — это приложение, которое позволяет использовать SQL-запросы для баз данных в качестве REST-сервиса. Приложение состоит из двух модулей: административная часть, позволяющая как раз таки оперативно насоздавать и сконфигурировать сервисы, и, собственно, сам движок. На официальном ресурсе размещено видео – небольшой мануал, как, дескать, пользоваться этим приложением, install guide и user guide. Освоить работу с ним оказалось оказалось совсем не сложно, поэтому этой информации для начала оказалось вполне достаточно.
Предусловия
Для запуска веб-приложения потребуется сервер приложений. Стоит заметить, что поддерживаются только два самые популярные серверы: JBoss и Tomcat. Выбрать один из них вам предложат при установке. Также убедитесь, что у вас установлена JVM.
Установка и подготовка
Для установки используется кроссплатформенный jar-инсталлятор. Во время установки среди прочего вам предложат прописать порт для grid-платформы Infinispan. Больше ничего необычного, все стандартно.
Закончив установку и запустив web-приложение, нужно произвести некоторые необходимые действия перед тем, как приступать к созданию REST-сервисов. Чутко следуя user guide’у и все тому же видео, уже через минут 5 практически все было готово. С помощью интерфейса админской части вначале нужно подгрузить драйвер для базы данных (использовал MySQL).
А затем в пару кликов создаем JDBC DataSource.
Тут же, в этом окошке, можно сразу и протестировать соединение.
Ресурсы идентифицируются с помощью URI, который включает в себя версию, группу и имя (/version/group/name), поэтому нужно добавить в отдельных окошках версию и группу.
Добавляем версию.
Добавляем группу.
Создание ресурса
Теперь можно приступать к созданию самого ресурса. В окошке прописывается имя ресурса, в выпадающих списках выбирается version, group, datasource (это все создал ранее), HTTP-метод запроса (GET, PUT, POST), ну и прописывается сам запрос (query).
Правильность запроса удобно тут же проверить: ввести вместо параметров запроса конкретные значения и сразу получить результат.
Вот это все – минимальный набор того, что нужно проделать для создания простейшего REST-сервиса.
Проверим работу только что созданного REST-сервиса.
Итого
Кроме тех возможностей, что я использовал, Rest4Enterprise также предоставляет и другие, более продвинутые: использование JNDI, кастомных фильтров и валидаторов, LDAP-серверов для аутентификации.
В общем, Rest4Enterprise достаточно неплохой тул, хоть и с ограниченными возможностями (хранимыми процедурами, например, не попользуешься), но может быть вполне полезен, если нужно «несложно и быстро».
Главная ссылка
Как я уже ранее упоминал, никакой информации, кроме официального ресурса по R4E нет, поэтому ниже одна самая главная ссылка:
Rest4Enterprise. Become a «supplier» in the API economy securely and simply.
Здесь размещено все, что есть. Рассказано, что это такое, доступны для скачивания guide'ы и само приложение.
Автор: dzivak