Delphi serveride framework для управления сеансами и ответа с помощью JSON на аякс-запросы?
Не изобретая колесо, что я могу использовать для управления сеансами пользователя в веб-приложении и возможность отвечать на запросы JSON на ajax?
Есть ли какая-то фреймворк (например, с компонентами Indy или что-то вроде этого)?
Примечание для награды:
на практике мне достаточно ответа с явным примером серверного приложения, которое обслуживает json. Как-то пример Delphi примера php упоминал ЗДЕСЬ. (без части БД, я хочу увидеть основы того, что означает отправить JSON. У меня есть базовые знания TIdHTTPServer.)
Ответы
Ответ 1
Возможно, это может вам помочь:
Серверы REST в Delphi XE с использованием документа DataSnap
Узнайте, как создавать серверы REST с помощью функций, доступных в Delphi XE, как расширить их с помощью дополнительного кода поддержки Delphi и как воспользоваться библиотекой jQuery.
Марко Кант
http://app.en25.com/e/er.aspx?s=608&lid=4414&elq=d428643420d2494581299418d9753feb
Ответ 2
Вы можете ознакомиться с нашей Synopse SQLite3 Framework, которая была обновлена до версии 1.11.
Он обслуживает данные в чистом JSON, готовый для использования в любом приложении AJAX.
Вы также можете легко создавать сервисы, точнее Клиент-сервер JSON RESTful Services. В этом случае вы даже не можете использовать SQLite3 для хранения данных.
Эта структура является чистым Open Source, компилирует/запускает/тестируется для Delphi 6 до XE, является Unicode готовым ко всем версиям Delphi (он использует UTF-8 внутренне).
Используя эту структуру, вы также сможете легко создавать клиенты Delphi, используя данные JSON с того же сервера.
Пока нет внутренней обработки сеанса пользователя. Поскольку существует несколько способов их реализации, и, поскольку наша структура RESTful, она поэтому безстояла: сеанс не требуется.
Если вам это нужно, я мог бы легко добавлять сеансы HTTP с помощью Cookies. Как насчет аутентификации пользователя, которую вы ожидаете?
Ответ 3
DelphiMVCFramework делает это
Некоторые примечательные функции:
- Соответствие требованиям RESTful (RMM Level 3)
- Может использоваться в сбалансированной нагрузке среде с помощью Redis (http://Redis.io) [dev]
- Необычный URL с сопоставлениями параметров
- Специализируется для создания текста, html, JSON
- Мощный картограф для сопоставления json объектам и наборам данных для объектов
- Может быть упакован как автономный сервер, модуль apache (XE6, XE7, XE8) и
Плата 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
N.B. Я главный разработчик
Ответ 4
Я бы предложил Delphi on Rails, это веб-инфраструктура REST/MVC/StateLess с открытым исходным кодом.
http://code.google.com/p/delphionrails/
Используется:
- суперобъект JSON parser
- Драйвер UIB/Firebird JSON
- Каир для SVG, PDF, рендеринг PNG
- LUA для скриптов/шаблонов...
Он способен автоматически сериализовать структуры данных Delphi в JSON, используя новый RTTI, введенный в Delphi 2010 и XE.
Ответ 5
Я бы рекомендовал 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;
Ответ 6
Daraja HTTP Framework, который использует Indy для внутренних целей и добавляет высокоуровневый API для "контекстов веб-приложений" и отображений запросов, слабо вдохновленный Servlet API.
Если у вас уже есть опыт работы с TIdHTTPServer, вы можете получить прямой доступ и настроить серверный компонент в соответствии с вашими потребностями.
Для JSON вы можете использовать встроенную поддержку JSON в более новых версиях Delphi или стороннюю библиотеку (например, JsonDataObjects).
Отказ от ответственности: я разработчик фреймворка