Delphi серверная платформа для управления сессиями и ответа JSON на запросы AJAX?
Не изобретая колесо, что я могу использовать для управления пользовательскими сеансами в веб-приложении и возможности отвечать JSON на запросы ajax?
Есть ли какая-то структура (сделанная, например, с компонентами Indy или что-то подобное)?
Примечание для награды:
на практике мне достаточно получить ответ с наглядным примером серверного приложения, которое обслуживает json. Как-то пример Delphi из примера php упоминается ЗДЕСЬ. (без части БД я хочу увидеть основы того, что означает отправка JSON. У меня есть базовые знания о TIdHTTPServer.)
5 ответов
Может быть, это может помочь вам:
REST-серверы в Delphi XE с использованием DataSnap Whitepaper
Узнайте, как создавать серверы REST с использованием функций, доступных в Delphi XE, как расширять их с помощью дополнительного кода поддержки Delphi и как использовать преимущества библиотеки jQuery.
Марко Канту
http://app.en25.com/e/er.aspx?s=608&lid=4414&elq=d428643420d2494581299418d9753feb
Вы можете взглянуть на нашу Synopse SQLite3 Framework, которая была только что обновлена до версии 1.11.
Он обслуживает данные в чистом формате JSON, готовые для использования в любом приложении AJAX.
Вы также можете легко создавать сервисы, точнее клиент-серверные сервисы JSON RESTful. В этом случае вы даже можете не использовать SQLite3 для хранения данных.
Этот фреймворк является чисто открытым исходным кодом, компилирует / запускает / протестирован для Delphi 6 до XE, Unicode готов для всех версий Delphi (он использует UTF-8 для внутреннего использования).
Используя эту платформу, вы можете легко создавать клиенты Delphi, используя данные JSON с того же сервера.
Пока нет внутренней обработки сеанса пользователя. Поскольку существует несколько способов их реализации, и, поскольку наша инфраструктура является RESTful, она поэтому не имеет состояния: сеанс не требуется.
Если вам это нужно, я мог бы легко добавить HTTP-сессии с использованием файлов cookie. Как насчет аутентификации пользователя, которую вы ожидаете?
DelphiMVCFramework делает это
Некоторые заметные особенности:
- Соответствует RESTful (RMM Level 3)
- Может использоваться в среде с балансировкой нагрузки с использованием Redis ( http://redis.io/) [dev]
- Необычный URL с отображением параметров
- Специализированные рендеры для генерации текста, HTML, JSON
- Мощный картограф для сопоставления json с объектами и наборов данных с объектами
- Может быть упакован как отдельный сервер, модуль apache (XE6, XE7, XE8) и dll ISAPI
- Интегрированный RESTClient Работает с XE3, XE4, XE5, XE6, XE7 и XE8.
- Существует образец для каждой функции
- Существует полный набор тренингов по этому вопросу, но примеры включены в проект Экспериментальная поддержка IOCP [dev]
- Страницы, созданные на стороне сервера с использованием eLua (Embedded Lua) [скоро будет удалено]
- Специальные тренинги доступны (спросите меня о дате и месте)
- Расширение обмена сообщениями с использованием STOMP (бета)
- Управление сообществом (группа Facebook https://www.facebook.com/groups/delphimvcframework)
- Просто и задокументировано
- Есть книги, которые говорят о каркасе
Веб-сайт проекта: https://github.com/danieleteti/delphimvcframework
NB Я главный разработчик
Я бы предложил Delphi on Rails, это веб-фреймворк REST/MVC/StateLess с открытым исходным кодом.
http://code.google.com/p/delphionrails/
Это использовать:
- суперобъектный анализатор JSON
- Драйвер UIB/Firebird JSON
- Каир для SVG, PDF, PNG рендеринга
- LUA для скриптов / шаблонов...
Он может автоматически сериализовать структуры данных Delphi в JSON, используя новый RTTI, представленный в Delphi 2010 & XE.
Я бы порекомендовал Super Object Toolkit.
Пример кода:
procedure Share(ARequestInfo: TIdHTTPRequestInfo)
var
ReturnObject: ISuperObject;
begin
ReturnObject := SO();
ReturnObject.B['success'] := false;
AResponseInfo.ContentType := 'application/json';
AResponseInfo.ContentText := ReturnObject.AsJSon();
end;
Daraja HTTP Framework, который использует Indy внутри и добавляет высокоуровневый API для "контекстов веб-приложений" и сопоставлений запросов, в некоторой степени вдохновленный API сервлетов.
Если у вас уже есть опыт работы с TIdHTTPServer, вы можете напрямую получить доступ к компоненту сервера и настроить его в соответствии с вашими потребностями.
Для JSON вы можете использовать встроенную поддержку JSON в новых версиях Delphi или стороннюю библиотеку (например, JsonDataObjects).
Отказ от ответственности: я разработчик фреймворка