- DSServer1
- DSServerClass1
- DSTCPServerTransport1
En una unidad modulo empezamos por agregar los tres
componentes anteriores, ahora nos centramos en los componentes (DSServerClass1, DSTCPServerTransport1)
los cuales tiene una propiedad Server en
la cual seleccionamos el componente DSServer1.
El componente DSTCPServerTransport1
tiene una propiedad importante que es
Port la cual por defecto está configurada con un 211 este valor indica el puerto TCP por el cual trabajara el servidor DataSnap, hay que tener en cuenta este valor ya debe ir
en la configuración de nuestras aplicaciones clientes las cuales veremos más a
delante.
La aplicación nos debe ir quedando de la siguiente forma.
Ahora agregamos un módulo servidor (Server Module) a nuestra aplicación.
En este módulo agregamos componentes básicos (SQLConnection1, SQLMonitor1 para monitorear
las transacciones de la aplicación) y
los otros componentes se agregan dependiendo del número de tablas,
procedimientos almacenados o consultas (SQL) que necesitemos de nuestra base de
datos (SQLQuery1, SQLTable1,SQLStoredProc1, DataSource1, DataSetProvider1) más
adelante y a medida que avancemos se revisara la funcionalidad de cada uno.
Antes de continuar mencionaremos con que base de datos vamos
a trabajar para este proyecto la cual es MySql por su fácil instalación y configuración
en la opción de utilidades está disponible un link para descargar el AppServer el cual instala y
configura todo lo necesario para trabajar con MySql.
En MySql ya tenemos previamente creada una base de datos
llamada BD la cual tiene una tabla
creada llamada Clientes con los
campos (código, cedula, nombre y dirección).
Nota: Hay que mencionar que se puede utilizar cualquier base
de datos que tengamos disponible (Oracle, InterBase, SqlServer, Firebird etc…) ya que los componentes de conexión en Delphi DBExpress
tiene los driver para la mayoría de gestores de base de datos, esto es una
funcionalidad nueva la cual se aprovecha utilizando tecnología DataSnap.
Para nuestra aplicación agregaremos un componente SQLConnection1
de la paleta o grupo de controles DBExpress, lo seleccionamos en nuestra forma
y en la lista de propiedades desplegamos la opción Driver y en esta
configuramos lo siguiente:
Driver: Escogemos MySql que es la base de datos con la que
estamos trabajando.
Database: Colocamos BD que es el nombre de nuestra base de datos.
HostName: Colocamos Localhost, esta es la ruta de nuestro
servidor de base de datos en nuestro caso estamos en la misma máquina la cual se define como Localhost, también podría
ser una dirección IP como 192.168.1.1, la IP de nuestro servidor de base d e
datos.
Password: La clave de acceso a nuestro servidor de base de
datos.
UserName: El nombre de usuario de nuestra base de datos.
Si toba esta bien nuestra aplicación de ir de esta manera:
Bueno hasta aquí todo va muy bien, ahora recordemos un
momento los componentes del módulo inicial, en ese modulo habíamos colocado un
componente DSServerClass1, bueno a este
señor hay que configurarle un evento en el cual hay que hacer referencia a la
unidad modulo donde estamos actualmente donde, colocamos el SQLConnection1, este
evento es OnGetClass y quedaría el evento para nuestro proyecto de la siguiente
manera:
Si analizamos la línea de código que colocamos en el evento
hay una variable, parámetro o propiedad de DSServerClass1
a la cual le asignamos la clase
donde se encuentra nuestra conexión a la base de datos, en este caso la clase
se llama TDSServerModule1, y la podemos verificar revisando el código fuente de
la unidad de segundo módulo que agregamos a nuestro proyecto, el cual debería estar
así:
Listo señores si hemos seguido estos pasos ya tenemos
configurado lo más complejo de nuestro servidor DataSnap, ahora solo hay que
agregar los componentes para trabajar con las consultas SQL, procedimientos
almacenados y tablas de nuestra aplicación.