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.

http://www.progdigy.com/

Пример кода:

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).

Отказ от ответственности: я разработчик фреймворка

Другие вопросы по тегам