
DataSnap "avanzado"
#1
Escrito 11 junio 2012 - 07:55
Alguien conoce algún tutorial, libro, artículo o lo que sea que trate el tema de DataSnap pero en plan ya algo avanzado? Es decir, el acceder a una tabla mediante un CDS -> Provider -> TTable/TQuery ya lo hago y procedures/functions que hagan/devuelvan valores sencillos también.
Pero me he encontrado con problemas como por ejemplo que una función/procedimiento no puede recibir cualquier tipo de dato (no me deja pasar por parámetro un tipo Real por ejemplo, he tenido que pasar un Currency), o por ejemplo no soy capaz de hacer una función que me devuelva un DataSet, o saber si se pueden usar más de un "DataModule" en el servidor para no tener en uno sólo todos los componentes de acceso a datos y así organizar mejor las cosas,....
Es decir, preguntas que no pertenecen a la parte "trivial" de DataSnap, que se pueden solucionar con chapuzas, pero que seguro tienen una solución más acertada y leyendo un poco seguro que entiendo cómo funciona y cómo hacerlo.
Gracias
#2
Escrito 11 junio 2012 - 09:26
Saludos
#3
Escrito 11 junio 2012 - 01:16
Lo que Andreano explica en los videos, yo diría que también es bastante básico, pero en los ejemplos disponibles en embarcadero (algunos relacionados con los videos, otros no) sí se cubren los temas que expones, pero toca ir deduciendo a "palo seco" los conceptos.Me parece que Andreano tiene varios videos de datasnap, no los he visto pero imagino que deben de cubrir lo que tu requieres.
Saludos
Personalmente no conozco ningún tutorial avanzado acerca de este tema, yo también encontré problemas similares, a groso modo puedo decirte que cuando no haces uso de la interfaz IAPPServer (TClientDatasets, TDatasetsProviders) efectivamente existen restricciones acerca del tipo de datos que puedes pasar como parámetros de funciones y procedimientos, por ejemplo no se pueden pasar records ni arrays, pero en cambio puedes usar TParams.Buenas,
Alguien conoce algún tutorial, libro, artículo o lo que sea que trate el tema de DataSnap pero en plan ya algo avanzado? Es decir, el acceder a una tabla mediante un CDS -> Provider -> TTable/TQuery ya lo hago y procedures/functions que hagan/devuelvan valores sencillos también.
Pero me he encontrado con problemas como por ejemplo que una función/procedimiento no puede recibir cualquier tipo de dato (no me deja pasar por parámetro un tipo Real por ejemplo, he tenido que pasar un Currency), o por ejemplo no soy capaz de hacer una función que me devuelva un DataSet, o saber si se pueden usar más de un "DataModule" en el servidor para no tener en uno sólo todos los componentes de acceso a datos y así organizar mejor las cosas,....
Es decir, preguntas que no pertenecen a la parte "trivial" de DataSnap, que se pueden solucionar con chapuzas, pero que seguro tienen una solución más acertada y leyendo un poco seguro que entiendo cómo funciona y cómo hacerlo.
Gracias
Acerca del uso de varios DataModule en el servidor, es completamente posible, solo que si necesitas exportar métodos declarados en estos, deberás agregarles la directiva {$METHODINFO ON} para hacerlos visibles a los clientes, en su defecto podrías usar TDSServerModule que es un DataModule listo para exportar métodos.
Si por algún motivo no encuentras los ejemplos en el Blog de Andreano u otros, me lo haces saber para yo buscarlos en mi desorden y hacértelos llegar.
Un cordial saludo
#4
Escrito 12 junio 2012 - 01:27
Miraré a ver si encuentro los vídeos de Andreano.
Por otra parte, Wilson, entiendo lo que comentas de la directiva {$METHODINFO ON} (de hecho la conocí buscando información por internet, aunque no entendía su aplicación hasta, creo, ahora), pero si yo quiero poner un TTable + Provider en otro DataModule, cómo lo haría? Porque entiendo que esta directiva sólo afecta a métodos, no a los componentes que pones en el DataModule, ¿correcto?
Gracias de nuevo
Nos leemos
#5
Escrito 12 junio 2012 - 07:18
He estado buscando los vídeos de Andreano y lo más que he encontrado en su bitácora es una entrada que dice que en un futuro los añadirá

Nos leemos
#6
Escrito 12 junio 2012 - 10:47
Gracias a los dos
Miraré a ver si encuentro los vídeos de Andreano.
Por otra parte, Wilson, entiendo lo que comentas de la directiva {$METHODINFO ON} (de hecho la conocí buscando información por internet, aunque no entendía su aplicación hasta, creo, ahora), pero si yo quiero poner un TTable + Provider en otro DataModule, cómo lo haría? Porque entiendo que esta directiva sólo afecta a métodos, no a los componentes que pones en el DataModule, ¿correcto?
Gracias de nuevo
Nos leemos
También hace visibles a los TDatasetProviders con sus respectivos eventos, además de algunos metadatos y métodos de administración. Haz un ejemplo sencillo y coloca en el lado cliente un TSQLServerMethod lo enlazas a la conexión y entonces podrás mirar todo lo que hay del lado del servidor susceptible de atacar desde el cliente. Las TTables o TQuerys no son visibles, pero se supone que estas las puedes manipular en el servidor mediante métodos que si pueden ser visibles y parametrizados desde el cliente.
Buenas de nuevo
He estado buscando los vídeos de Andreano y lo más que he encontrado en su bitácora es una entrada que dice que en un futuro los añadiráASí que si puedes buscarlos te estaría agradecido ;-)
Nos leemos
Status = Buscando .....
En cuanto vaya encontrando te los voy mandando.
Saludos
#7
Escrito 12 junio 2012 - 11:08
Saludos
#9
Escrito 12 junio 2012 - 11:32
En el anterior enlace se describen los tipos de parámetros soportados.
Saludos
#10
Escrito 12 junio 2012 - 10:24
Video: Estrategias y herramientas para el desarrollo de aplicaciones DataSnap con Delphi XE
Además una serie de videos de Bob Swart.
Bob Swart - DataSnap 2010 - Section 1
Bob Swart - DataSnap 2010 - Section 2
Bob Swart - DataSnap 2010 - Section 3
Bob Swart - DataSnap 2010 - Section 4
Bob Swart - DataSnap 2010 - Section 5
Y un Lab de DataSnap
Delphi Labs: DataSnap XE - Multitier Database Application
Saludos
#11
Escrito 13 junio 2012 - 04:04
Nos leemos
#12
Escrito 13 junio 2012 - 12:58
CodeGear Developer Days
Delphi Developer Days II
CodeGear Developer Days III
Delphi Developer Day IV
Además de los que han puesto en los coderage:
CodeRage 1
CodeRage 2
CodeRage 3
CodeRage 4
CodeRage 5
CodeRage 6
Y en la página de embarcadero puedes ver la sección de datasnap
http://www.embarcade...action/datasnap
Saludos
#13
Escrito 14 junio 2012 - 03:18
Ahora toca revisar todo el material que me habéis facilitado. Ya tengo trabajo

Nos leemos
#14
Escrito 14 junio 2012 - 06:48
Saludos,