Que es DataSnap ?


Una opción que han venido planteando los desarrolladores de aplicaciones de escritorio para contrarrestar el creciente cambio de programadores que han optado por las aplicaciones web la cual cada día tiene más adeptos es la programación multicapas o el Delphi DataSnap, la cual es una tecnología que permite a los desarrolladores de aplicaciones Delphi crear proyectos a través de la web y sin tener preocupación por la información que van a transportar a través de la red ya que DataSnap minimiza la cantidad de registros en cada transacción haciendo que esto sea algo fácil, sencillo y rápido para las aplicaciones Delphi.

Esta arquitectura de desarrollo utiliza muchos componentes ya creados del Delphi tradicional y los modifica para hacer posible gran cantidad de cambios en las aplicaciones multicapas o DataSnap.

En Delphi 6 ya se venía trabajando con esta tecnología ya que los componentes estaban disponibles pero es hasta Delphi 2009 y 2010 que se implementa a un 100% por los desarrolladores Delphi al ver el alcance que puede tener una aplicación bien desarrollada y trabajando con esta arquitectura.

La arquitectura DataSnap lo que busca es dividir la aplicación que trabaja con la base de datos en varias capas. Para entender mejor esto voy a mencionar como se trabajaba anteriormente las aplicaciones ¡Claro está según mi criterio, otros pueden tener diferentes criterios para este tema.

Primero se trabajaban las aplicaciones en un solo pc o monousuario se pueden llamar es las que existía un solo un computador una sola aplicación y todo se llevaba en ese solo computador.

Después aparecieron las redes y varios pc entonces se optó por los manejadores de archivos, que es esto?, los que halla trabajando en Delphi con Paradox me van a entender mejor, eran aplicaciones en varios pc 2, 3 o 4 computadores que se conectaban a unos archivos creados en Paradox, algunos los llamaban tablas pues sí, no está mal la definición, pero todas esta aplicaciones se conectaban a estos archivos o tablas configurando la ruta donde estaban las tablas y su nombre, por ejemplo : C:\Mi Aplicación\Mis Tablas o Archivos\tabla.db es solo un ejemplo, a claro la ruta podría estar en otro pc de mi red ejemplo:  192.168.1.150\Mi Aplicación\Mis Tablas o Archivos\tabla.db, por que digo que eran administradores de archivos ya que estas aplicaciones no se conectaba directamente a un servicio, manejador, gestor o motor de base de datos.

Más adelante aparecieron los motores, gestores o manejadores de base de datos (MYSql, Oracle, Sql Server, Interbase, FireBird  y muchos más que existen en la actualidad…) con los cuales podíamos trabajar en red y además no conectábamos al motor de base de datos mas no las tablas y tenían muchas más utilidades, administración de usuarios, roles, consultas, procedimientos almacenados etc…
Como trabajamos aquí, está el motor de base de datos en un servidor y en cada una de nuestras terminales o computadores de mi red estaba instalada mi aplicación la cual tenía las interfaces para que los usuarios interactuarán con la base de datos y obviamente la conexión a dicha base de todos, ósea que en una misma aplicación teníamos nuestras interfaces o ventanas y los componentes que se conectaban a la base de datos.

Cuando llega la arquitectura multicapas o DataSnap esto cambia y aparece una nueva capa que se llamaría capa intermedia, servidor de aplicaciones, servidor de datos o como lo queramos llamar la idea es que en esta aplicación o servidor  van a estar los controles o componentes  que se conectan a la base de datos y en cada terminal o computador van a ver ampliaciones que se conectan a esta aplicación para solicitar la información a la base de datos. Muchos dirán pero para que otra aplicación si en una podemos hacer todo eso, sencillo si en determinado momento queremos cambiar de base de datos ejemplo teníamos Interbase y la empresa creció ahora trabajaremos con Oracle tendríamos que actualizar todas las terminales de la empresa y si son 50 o 100 terminales imagínense que trabajo tocaría hacer, también habría que modificar nuestra aplicación e cuanto a los componentes que se conectan con esta nueva base de datos, pero si tenemos  un servidor intermedió solo cambiamos el driver de conexión de nuestros servidor  a la nueva base de datos y listo todo funciona como si nada. Eso sin mencionar que las aplicaciones Cliente – Servidor consumen gran cantidad de recursos de nuestra red ya que cada terminal es un curso  a la base de datos que esta abierto y es información que está fluyendo por nuestra red colocándola lenta, si trabajamos con multicapas la conexión de nuestras terminales con el servidor de ampliaciones solo mantiene en la red el registro con el que estamos trabajando esto es algo muy mínimo en cuanto al consumo de nuestra red.



Conocimiento e Información al alcance de todos…
Frans Willian Garner
fransgarner@gmail.com