Рекомендации для Full-stack Framework для REST?
Я ищу надежную среду REST для устранения всего этого стандартного кода при запуске новой веб-службы только для REST (мобильные клиенты). Есть ли фреймворк, в котором уже есть эта встроенная система, где я мог бы, например, просто построить модели предметной области и работать с ней? Я бы хотел увидеть:
- Аутентификация и модель пользователя
- логирование
- Базовый CRUD
- Разрешения (для доступа к модели)
- Масштабируемость
Кажется, что каждый веб-сервис как минимум нуждается в вышеуказанных возможностях. Кто-то где-то должен был написать хороший фреймворк многократного использования с вышеуказанными возможностями. Есть идеи? Я бы предпочел Node.js, Java или даже хостинг с поставщиком услуг PaaS, который предлагает эти функции.
2 ответа
Spring 3 MVC предоставляет очень хорошую и простую основанную на аннотациях инфраструктуру для REST. См. http://blog.springsource.org/2009/03/08/rest-in-spring-3-mvc/ Его можно развернуть на любом веб-сервере Java, таком как Jetty или Tomcat.
Фреймворк, такой как XAP, предоставляет комбинированное решение Spring и Jetty, а также он построен для динамического масштабирования. См. http://www.gigaspaces.com/xap.
И последнее, если вы хотите легко использовать это решение в любом облаке, CloudifySource предоставляет проект с открытым исходным кодом, который включает в себя возможности XAP и PaaS. Смотрите http://www.cloudifysource.org/
Я использую Symfony 1.4 для этого. Это фреймворк PHP. Он генерирует большую часть того, что вам нужно бесплатно. Работа с базами данных также довольно проста, так как Symfony использует библиотеки ORM (вы можете выбрать, но я могу порекомендовать Doctrine: http://www.doctrine-project.org/).
Например, создание всего бэкэнд-сайта (администратора) - это выполнение одной команды. У них есть отличная электронная книга бесплатно. Более подробная информация здесь: http: //www.symfony-project.org/.
Существует также Symfony 2.X (http://symfony.com/), в котором много новых функций (например, новая Doctrine 2.0). Особенно с пакетом (плагином) https://github.com/FriendsOfSymfony/FOSRestBundle - довольно простой сервис RESTful.