La mayoría de SGBD’s disponen de un sistema para poder utilizar a lo que habitualmente llamamos eventos o notificaciones, lo que ya no es tan habitual, es que los componentes de acceso implementen esta funcionalidad.
En este artículo me voy a centrar en el sistema que nos ofrece SQL Server (las “Query Notifications”) + FireDAC (TFDEventAlerter).
¿QUE SON LAS “QUERY NOTIFICATIONS”?
Resumiendo y simplificando el concepto, podemos decir que una aplicación cliente recibe una notificación desde el Gestor de Base de Datos, cuando el contenido de una consulta que definimos, cambia. En la práctica funcionaría de la siguiente manera.
Las “query notifications” nos permiten definir la siguiente consulta:
SELECT NOMBRE, APELLIDOS FROM CLIENTES |
SELECT NOMBRE, APELLIDOS FROM CLIENTES
Y recibir una notificación cuando los datos involucrados en ese consulta (NOMBRE o APELLIDOS del cliente) cambian.
Con esta configuración recibiré una notificación siempre que se AÑADA o BORRE un registro de la tabla CLIENTES y también cuando se modifiquen los campos NOMBRE y APELLIDOS de esta tabla (no así el resto de campos de la tabla).
NOTIFICACIONES EN SQL SERVER
Las notificaciones en SQL Server se introducen en a partir de la versión 2005 (9.x). Y existen varias formas de implementar las notificaciones:
- SQLNotificationRequest: Está programado a un nivel más bajo y es en cierta forma menos automático, ya que el usuario debe implementar parte de la estructura necesaria para hacerlas funcionar.
- SQLDependency: Su implementación es a nivel más alto y el sistema es más automatizado. Se inicia un proceso que procesa las notificaciones que se publican en una cola.
- SQLCacheDependency: Que se utiliza para aplicaciones Web diseñadas mediante ASP.NET 2.0 o posterior.
En nuestro caso nos vamos a centrar en SqlDependency que es el método que utiliza el componente TFDEventAlerter de las FireDAC.
Leer más…
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
La comunidad Delphi llevaba tiempo demandando esta versión de Delphi y finalmente Embarcadero se ha decidido a dar ese paso. Hace tiempo que disfrutábamos de la versión Starter, pero con la “Delphi and C++Builder Community Edition” se da un paso más.
Se podrá disfrutar de una versión completa, con desarrollo multiplataforma (Windows, Android, iOS y macOS), acceso a Bases de Datos, IoT y el resto de características necesarias para desarrollar con una versión completa.

Según la web de embarcadero, esta versión está enfocada a desarrolladores independientes, startups, estudiantes y organizaciones sin fines de lucro con ingresos anuales menores a 5000$ o equipos con hasta 5 desarrolladores. Es decir, que podemos instalar y utilizar esta versión para aplicaciones de uso propio o incluso para venderlas si nuestros ingresos por ellas no superan esos 5000$.
Personalmente creo que es una gran noticia; La única pega tal vez sea que ha llegado un poco tarde, pero eso no quita que sea algo bueno. Disponemos de una versión Profesional completa de libre descarga y uso para todos aquellos que quieran trabajar con ella y conocerla.
Aquí tenéis la comparativa entre las diferentes versiones (incluida la Community) que distribuye ahora Embarcadero.

Si queréis conocer todos los detalles de esta versión, aquí tenéis en enlace a la página Community Edition FAQs, donde tenéis todos los detalles comerciales, de licencia, de uso,… referentes a esta versión.
Página de presentación y descarga.
Aquí os dejo también a la página en la docWiki de Embarcadero. Podéis encontrar aquí detalles más técnicos sobre la descarga, instalación, activación,…
Y algunos enlaces a Blogs y Webs de compañeros de la comunidad:
NOTA: Añado también algunos enlaces a páginas de Embarcadero con datos de la versión.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
Con la anterior entrada del blog completamos la serie sobre test unitarios y los frameworks a utilizar con Delphi, con una visión general sobre DUnitX. A continuación tenéis los links a las entradas de la serie.
Esta última no estaba prevista inicialmente, pero la última ya era bastante extensa y no quise mezclar con el tema de DUnitX este “Bonus track”. Digamos que esta es como un apéndice a la serie.
DUnitX permite ejecutar los test que diseñamos utilizando diferentes salidas. Digamos que el programa de ejecución de test puede estar diseñado en “modo consola”, utilizando un ejecutable VCL o generando un programa FMX. No hablamos de los test en sí, sino del programa que nos muestra la salida y los resultados de la ejecución.
A continuación vamos a repasar casda uno de ellos.
Leer más…
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
Como viene siendo habitual los últimos años, Danysoft distribuidor oficial de Embarcadero Delphi en España y Portugal organiza el «Iberian Tour».
Presentaciones gratuitas sobre las novedades de las últimas versiones de Delphi y C++Builder.
Este año en Barcelona, Madrid y Valencia (7, 8 y 12 de Junio respectivamente).
El link para ver los contenidos y registrarse es el siguiente

Un saludo.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
Con este artículo pensaba completar esta serie referente a pruebas unitarias y a los Frameworks más utilizados en Delphi para realizarlas, pero el tema de conversión y migración de test entre DUnit y DUnitX se ha alargado más de lo esperado, así que para no generar una entrada muy larga y mezclar temas he decidido «partirla» en dos».
De esta forma dejo para la siguiente el Framework DUnitX en profundidad y en esta me he centrado en explicaros cómo migrar los test existentes que tengamos desarrollados en DUnit.
En las últimas versiones de Delphi, DUnitX es el framework que se recomienda usar desde Embarcadero. Veremos que es más flexible y parametrizable que DUnit, aunque si hemos trabajado con DUnit, DUnitX nos será muy familiar en su mayoría de aspectos (es una evolución de DUnit, NUnit y algunos otros…).
Si ya hemos trabajado con DUnit antes que con DUnitX (como hemos hecho en las entradas del blog) podemos «migrar» nuestros test de forma sencilla, ya que existen determinadas Units ya creadas para adaptar nuestros test existentes.
Leer más…
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
La próxima semana se celebra el Coderage 12 de la mano de Embarcadero. Multitud de conferencias gratuitas y online sobre Delphi, C++ Builder y programación en general. Más de 70 sesiones y casi 60 ponentes para abarcar multitud de temas.

Aquí tenéis la lista completa de sesiones:
https://community.embarcadero.com/article/16578-coderage
Y aquí el link de registro:
https://register.gotowebinar.com/register/7990350396754529539
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
Este artículo forma parte de una serie que cuenta con varios otros alrededor del mismo tema. A continuación os adjunto los links de todas ellas (que iré completando a medida que salgan):
¿Qué es un test unitario?
El objetivo más a corto plazo de un test unitario (o prueba unitaria) es el de probar una porción de nuestro código, de forma que podamos comprobar que funciona correctamente y que se ejecuta con el comportamiento para el que fue diseñado. Por lo tanto nos ayuda a encontrar fallos en nuestro código.
Podríamos decir que un objetivo más amplio de los test unitarios es, en general, mejorar la calidad del software que desarrollamos. Por un mejor diseño y por un menor número de errores.
Hay quien dice que los test unitarios están pensados para equipos de trabajo donde hay roles definidos. Personalmente considero que hoy en día los test unitarios para un programador, son como el «control de versiones» o los «repositorios de código». Para mi NO SON EXCLUSIVOS de equipos de trabajo, sino que un programador a nivel personal (individual) DEBE trabajar con ellos, aunque no esté integrado en un equipo.
Leer más…
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
Durante este mes de Agosto se ha publicado en la web de Embarcadero la traducción al Español del libro «Programación Delphi para Principiantes» que durante unos meses hemos estado traduciendo algunos de los MVP de Embarcadero de habla hispana.

Es un libro, tal como su título explica, está destinado a personas que se inician en la programación con Delphi; La idea es que esté accesible de forma gratuita para profesores y estudiantes que formen parte del «Programa Académico Embarcadero».
Un esfuerzo y un tiempo dedicado, que los que hemos participado en este proyecto esperamos que sea útil para los que se inician en este entorno y que redunde en beneficio de la Comunidad de habla hispana.
Os adjunto la imagen del índice:

Un saludo y hasta la próxima.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
Como ya viene siendo habitual cada vez que Embarcadero presenta una nueva versión de RAD Studio, Danysoft, distribuidor oficial en la península realiza varias presentaciones del producto.
En esta ocasión se realizarán en Lisboa, Barcelona y Madrid en días sucesivos.

Algunas de las cosas que podremos ver en las presentaciones las podéis ver a continuación:
- Novedades en la productividad en el IDE
- Crear aplicaciones para Windows 10
- Publicar en Windows Store
- Desarrollo en Linux con Delphi
- Crear aplicaciones de base de datos con FireDAC
- Crear APIs REST escalables para móvil en IOT
Toda la información de la presentación la podéis encontrar aquí, junto con el enlace para la inscripción (que es gratuita)
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
Si habéis estado atentos a las redes últimamente y/o a la comunidad de Embarcadero seguro que ya os suena el nombre de "Tokio". Este es con el que conocemos a la nueva versión de RAD Studio 10.2 que está a punto de salir.
Al igual que lo que pasó con versiones anteriores cuando se añadió FMX o el soporte para Android, esta versión trae una característica especial que sobresale sobre el resto. La inclusión de Linux como nueva plataforma "target" para las aplicaciones.
Decir que esta nueva característica no está enfocada a realizar aplicaciones gráficas (es lo primero que pregunta gente en el blog y en los foros) sino que está dirigida al desarrollo de aplicaciones servidor. Independientemente de si esta primera versión trae más características o menos, en mi opinión es que nos abre las puertas a poder desarrollar nuevas soluciones de cara a un futuro.
Por ahora el soporte incluye Ubuntu LTS Version 16.04 and RedHat Enterprise Version 7.
He dicho que esta es la característica más llamativa, pero no la única.
Se incluyen otras mejoras relacionadas con soporte para Android en Jelly Bean (4.1, 4.2, 4.3), Kit Kat (4.4), Lollipop (5.x), Marshmallow (6.x) and Nougat (7.x).
Mejoras en los componentes para VCL (32 y 64 bits).
Mejor soporte en multi-threading para TBitmap, TCanvas y TContext3D.
Mejoras en el soporte para AppTethering para VCL y FMX.
Mejoras referentes a High-DPI y soporte para monitores 4K.
…
El Webminar de Lanzamiento es el 27 de Marzo y podéis revisar más información e inscribiros en el siguiente enlace.

Las varias horas para la presentación; El horario aquí en España es el siguiente:
- Mon, Mar 27, 2017 3:00 PM – 4:00 PM CEST
- Mon, Mar 27, 2017 8:00 PM – 9:00 PM CEST
- Tue, Mar 28, 2017 1:00 AM – 2:00 AM CEST
Un saludo y hasta la próxima
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…