jueves, 14 de junio de 2012

Implementando el servidor de aplicaciones o DataSnap. 1. Primer Paso


Componentes y configuración de propiedades y eventos. Vamos a empezar con los siguientes controles o componentes de la paleta o grupo DataSnap Server:
  • 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íaDataSnap.

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.


Conocimiento e Información al alcance de todos…
Frans Willian Garner