Delphi серверная платформа для управления сессиями и ответа JSON на запросы AJAX? - PullRequest
12 голосов
/ 13 декабря 2010

Не изобретая колесо, что я могу использовать для управления пользовательскими сеансами в веб-приложении и возможности отвечать с помощью JSON на запросы ajax?

Есть ли какая-то платформа (созданная, например, с компонентами Indy или чем-то вродевот так)?

Примечание для вознаграждения:

на практике мне достаточно получить ответ с наглядным примером серверного приложения, которое обслуживает json.Как-то пример Delphi из примера php упоминается ЗДЕСЬ .(без части БД я хочу увидеть основы того, что означает отправка JSON. У меня есть базовые знания о TIdHTTPServer.)

Ответы [ 6 ]

6 голосов
/ 13 декабря 2010

Вы можете взглянуть на нашу Synopse SQLite3 Framework , которая была только что обновлена ​​до версии 1.11.

Она обслуживает данные в чистом формате JSON , готовые киспользоваться в любом приложении AJAX.

Вы также можете легко создавать Сервисы, точнее Клиент-серверные JSON RESTful Services .В этом случае вы даже можете не использовать SQLite3 для хранения данных.

Эта платформа является чисто открытым исходным кодом, компилируется / запускается / протестирована для Delphi 6 до XE, готова к Unicode для всех версий Delphi (он использует UTF-8 для внутреннего использования.

Используя эту платформу, вы сможете легко создавать Delphi-клиенты, используя данные JSON с того же сервера .

Пока нет внутренней обработки сеанса пользователя.Потому что есть несколько способов их реализации, и, поскольку наша инфраструктура является RESTful, поэтому она не имеет состояния: сеанс не требуется.

Если вам это нужно, я мог бы легко добавить HTTP-сеансы с использованием файлов cookie.Как насчет аутентификации пользователя, которую вы ожидаете?

5 голосов
/ 31 мая 2011

Может быть, это поможет вам:

REST-серверы в Delphi XE с использованием DataSnap Whitepaper

Узнайте, как создавать REST-серверы с использованием функций, доступных в Delphi XE, как расширить их с помощью дополнительной поддержки Delphiкод и как воспользоваться библиотекой jQuery.

Marco Cantù

http://app.en25.com/e/er.aspx?s=608&lid=4414&elq=d428643420d2494581299418d9753feb

5 голосов
/ 14 декабря 2010

DelphiMVCFramework делает это

Некоторые примечательные особенности:

  • RESTful (RMM Level 3) совместимый
  • Может использоваться в среде с балансировкой нагрузки с использованием Redis (http://Redis.io) [dev]
  • Необычный URL с сопоставлениями параметров
  • Специализированные рендеры для генерации текста, HTML, JSON
  • Мощный преобразователь для сопоставления json с объектами и наборами данных с объектами
  • Может быть упакован как отдельный сервер, модуль Apache (XE6, XE7, XE8) и ISAPI dll
  • Интегрированный 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 Я главный разработчик

4 голосов
/ 14 декабря 2010

Я бы предложил 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.

0 голосов
/ 27 июня 2019

Daraja HTTP Framework , который использует Indy для внутреннего использования и добавляет высокоуровневый API для «контекстов веб-приложений» и отображений запросов, слабо вдохновленный Servlet API.

Если у вас уже естьИмея опыт работы с TIdHTTPServer, вы можете напрямую обращаться к серверному компоненту и настраивать его в соответствии с вашими потребностями.

Для JSON вы можете использовать встроенную поддержку JSON в более новых версиях Delphi или стороннюю библиотеку (например, JsonDataObjects ).

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

0 голосов
/ 31 марта 2014

Я бы порекомендовал 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...