PDA

Ver la Versión Completa : Zeoslib desde el cliente o dbx llamando al server


giulichajari
25-10-2014, 09:32:29
Hola amigos, estoy aprendiendo DataSnap y veo que un ClientDataSet en el cliente llama a un datasetprovider que esta en el servidor. Pero tambien se que existe ZeosLib que con un Zconnection Y otros Zdataset se puede consultar directamente la base de datos.
Es lo mismo o no,¿Que es mejor y porque?
Gracias
Saludos

AgustinOrtu
25-10-2014, 20:33:08
Son dos cosas distintas.

Con Zeos lo que haces es conectarte a una base de datos, puede ser local o remota, pero te conectas "directamente" por decirlo asi

Con Datasnap lo que se logra es una arquitectura n-tier en la que antes de llegar a la base de datos pasas por el servidor datasnap. Por ejemplo podrias tener una maquina en la que esta la base de datos, o varias bases de datos en distintas maquinas, y el servidor datasnap (que de nuevo, puede estar en otra maquina) se encarga de gestionar las peticiones de los clientes. De esta forma por ejemplo la base de datos retorna un DataSet con cierta informacion, el servidor datasnap la recibe y le realiza algun tipo de procesamiento y luego la retorna al cliente para que la presente. Esto es util si se tiene terminales cliente con poca potencia de computo (moviles, tablet, pc antiguas, etc) ya que toda la "carga" esta en el servidor datasnap, que en este caso pasaria a llamarse "servidor de aplicaciones"

El tema es bastante amplio y ni se mucho ni tampoco lo domino del todo :) pero es un pequeño pantallazo

En esta serie de articulos del blog Delphi Al Límite hay muy buena informacion sobre este tipo de arquitecturas: Creando aplicaciones multicapa (I) (http://delphiallimite.blogspot.com.ar/2007/11/creando-aplicaciones-multicapa-i.html)


Por otra parte, si bien todo esto de Datasnap esta muy ligado a "bases de datos", se puede utilizar para otro monton de cosas, yo por ejemplo desarrolle una pequeña aplicacion (bastante mala por cierto :D) en la cual el servidor me lista archivos de mi pc y luego los distintos clientes (pc, android, etc) pueden descargarlos, todo esto con Datasnap, y nada de base de datos, ni dataset, ni connections, utilizo solo TStreams (aunque deberia considerar usar JSON)

Un saludo!