2010-12-13 14 views
12

Sin reinventar la rueda, ¿qué puedo usar para administrar las sesiones de usuario en una aplicación web y poder responder con JSON a las solicitudes ajax?Marco del servidor Delphi para administrar sesiones y responder con solicitudes JSON ajax?

¿Hay algún marco (hecho por ejemplo con componentes de Indy o algo como esto)?

Nota de recompensa:

en la práctica es suficiente para mí tener una respuesta con un claro ejemplo de una aplicación de servidor que sirve JSON. De alguna manera, un ejemplo de Delphi del ejemplo php mencionado HERE. (sin la parte de DB, quiero ver los conceptos básicos de lo que significa enviar JSON. Tengo conocimientos básicos de TIdHTTPServer.)

+0

Una solicitud es una solicitud, no le importa si se trata de ajax o no en el lado del cliente. Es posible que desee actualizar su pregunta para solo solicitar la gestión de la sesión. – jachguate

+1

@jachguate: la administración de sesiones es solo parte de la implementación de la solicitud. Tendrá que analizar la consulta, luego recuperar los datos y luego crear la respuesta JSON. Y AJAX presenta nuevas especificaciones sobre el formato JSON. –

+0

@ A.Buez: ¿Puede decirme qué es diferente en el formato json cuando lo sirve sobre una solicitud ajax de lo que sirve si la solicitud no es ajax? – jachguate

Respuesta

5

Tal vez esto le puede ayudar:

Servidores descansar en Delphi XE Usando DataSnap Whitepaper

aprender a construir servidores REST utilizando características disponibles en Delphi XE, cómo extender con código de soporte Delphi extra y cómo para aprovechar la biblioteca jQuery.

Marco Cantù

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

+0

Gracias, esto es muy informativo, no tengo tiempo para instalar la versión de prueba de Delphi XE Enterprise (tengo el profesional) y ejecutar los ejemplos al final de la recompensa. Podría resumir qué Me sale "out of the box" con datasnap xe en comparación para crear todo desde cero con webbroker? Supongo que al leer los títulos de whitepape: gestión de sesiones, autenticación y luego? (Me refiero a cuáles son las ventajas de datasnap xe en mi caso particular) – LaBracca

+0

Básicamente en Datasnap si tiene una función que devuelve un objeto, Datasnap lo servirá automáticamente como json. Consulte OBJETOS Y MARISCAL en la página 29 en .pdf – Toto

5

Puede echar un vistazo a nuestro Synopse SQLite3 Framework, que acaba de actualizarse a la versión 1.11.

Es serves the data in pure JSON, listo para ser utilizado en cualquier aplicación AJAX.

También puede crear fácilmente servicios, más precisamente Client-Server JSON RESTful Services. En este caso, ni siquiera puede usar SQLite3 para su almacenamiento de datos.

Este marco es de código abierto puro, compila/ejecuta/está probado para Delphi 6 hasta XE, está listo para Unicode para todas las versiones de Delphi (utiliza UTF-8 internamente).

Al usar este marco, también podría crear fácilmente Delphi clients, using JSON data from the same server.

Aún no hay una sesión de usuario interna. Porque hay varias formas de implementarlas y, como nuestro marco es RESTful, por lo tanto no tiene estado: no se necesita ninguna sesión.

Si lo necesita, podría agregar fácilmente sesiones HTTP utilizando cookies. ¿Qué pasa con la autenticación de usuario que está esperando?

+0

Gracias por la respuesta. Lo que estoy buscando es un marco Delphi para crear un back-end para una aplicación web. Estoy planeando usar Sencha Touch para la IU (y es por eso que no quiero usar cosas como Intraweb). Tengo muchos códigos que puedo reutilizar, es por eso que estoy buscando un backend de Delphi (y además porque es el único idioma en el que soy competente). La autentificación que necesito es la clásica de usuario/contraseña, no es una autentificación de DB real, incluso si bajo el capó uso los usuarios de base de datos para la autenticación, pero luego todas las conexiones se realizan a través de un solo usuario. Entonces la puesta en común es posible. – LaBracca

+0

¿Cree que ese framework me permitirá generar una aplicación web que use Sencha Touch (o cualquier framework de JavaScript) sin sufrir demasiado? (De lo contrario, ¿ya existe una aplicación que funcione para verificar? ¿O qué alternativas sugiere para administrar la autenticación? – LaBracca

+0

Sencha Touch pertenece a la misma familia que ExtJS. Por lo tanto, para evitar mucho "sufrimiento", recomendaría echar un vistazo a ExtPascal o Raudus, que están dedicados a ExtJS: http://stackoverflow.com/questions/3022378/raudus-vs-extpascal-delphi-web-developement-alternatives-that-use-extjs Pero tenga en cuenta la licencia ExtJS/SenchaTouch, que no es de código abierto para todos los usos. –

5

DelphiMVCFramework hace esto

Algunas características notables:

  • RESTful (RMM Nivel 3) compatibles
  • se puede utilizar en ambiente equilibrado de carga utilizando Redis (http://Redis.io) [dev]
  • Fancy URL con asignaciones de parámetros
  • Renders especializados para generar texto, html, JSON
  • asignador de gran alcance para el mapa JSON a objetos y conjuntos de datos a objetos
  • puede envasarse de manera autónoma servidor independiente, el módulo de Apache (XE6, XE7, XE8) y DLL ISAPI
  • RESTClient de actuación integrada con XE3, XE4, XE5, XE6 , XE7 y XE8 Completamente unidad probada
  • Hay una muestra por cada functionlities
  • Hay un conjunto completo de entrenamientos sobre él, pero los muestras se incluyen en el soporte Experimental proyecto para IOCP [dev]
  • Página generada del lado del servidor s mediante elua (Embedded LUA) [eliminan pronto]
  • entrenamientos específicos están disponibles (me piden una fecha y un lugar)
  • mensajería extensión usando STOMP (beta)
  • impulsado por la comunidad (grupo de Facebook https://www.facebook.com/groups/delphimvcframework)
  • simple y documentado
  • Hay libros que hablan sobre el marco

sitio web del proyecto: https://github.com/danieleteti/delphimvcframework

N.B. Soy el desarrollador principal

4

Sugeriría Delphi on Rails, es un marco web de código abierto REST/MVC/StateLess.

http://code.google.com/p/delphionrails/

Utiliza:

  • SuperObject analizador
  • controlador
  • UIB/Firebird JSON JSON
  • Cairo para SVG, PDF, PNG representación
  • LUA para scripting/plantilla ..

Es capaz de serializar estructuras de datos Delphi automáticamente a JSON utilizando el nuevo RTTI presentado en Delphi 2010 & XE.

0

recomendaría Toolkit Súper objeto.

http://www.progdigy.com

Código Ejemplo:

procedure Share(ARequestInfo: TIdHTTPRequestInfo) 
var 
ReturnObject: ISuperObject; 
begin 
    ReturnObject := SO(); 
    ReturnObject.B['success'] := false; 

    AResponseInfo.ContentType := 'application/json'; 
    AResponseInfo.ContentText := ReturnObject.AsJSon(); 
end; 
Cuestiones relacionadas