¡Hola a todos!
Muchísimas gracias por sus amables palabras, ¡me reconfortan enormemente!
Para poner en contexto, Eagle1 es una librería que contiene una serie de clases especializadas en el acceso a MySQL, desarrollada en PRG utilizando wrappers en C.
HDO representa un avance significativo con respecto a Eagle1. Está desarrollada íntegramente en C estándar, incorporando un sistema de herencia propio basado en estructuras C. Además, incluye clases de utilidad adicionales implementadas en PRG que heredan de HDO. A diferencia de una librería especializada en una única base de datos, HDO permite trabajar con diversas bases de datos utilizando el mismo código fuente. Pero... ¿qué es HDBC?
HDBC es mi nueva creación, que consolida todos los años de estudio y la experiencia adquirida en el desarrollo de mis clases anteriores.
A continuación, enumero sus principales características:
Está desarrollada desde cero en C++, aplicando el paradigma de Programación Orientada a Objetos (POO).
Las clases para Harbour también están implementadas en C, utilizando su API correspondiente. Por lo tanto, se puede afirmar que está desarrollada en C/C++ al 100%.
Esta base C/C++ le confiere robustez, seguridad y velocidad.
Utiliza sentencias preparadas en el servidor, lo que implica las siguientes ventajas:
Rendimiento optimizado: La consulta SQL se analiza, compila y optimiza una única vez en el servidor de la base de datos, incluso para ejecuciones múltiples con diferentes parámetros. Esto reduce la sobrecarga de procesamiento en cada ejecución posterior, resultando en una mayor velocidad para consultas repetitivas.
Seguridad reforzada: Al separar la estructura de la consulta de los datos, las sentencias preparadas mitigan eficazmente el riesgo de ataques de inyección SQL. Los valores de los parámetros se envían al servidor de forma independiente y se tratan como datos, no como código ejecutable. Esto impide la inserción de código SQL malicioso a través de las entradas.
Tráfico de red reducido: En ejecuciones repetidas de la misma consulta, solo es necesario transmitir los parámetros, en lugar de la consulta SQL completa. Esto disminuye la cantidad de datos transferidos entre la aplicación y el servidor de la base de datos, mejorando la eficiencia de la red.
Código simplificado: El uso de marcadores de posición para los parámetros en las sentencias preparadas hace que el código sea más limpio y legible. Además, la gestión del escape y la validación de datos se delega al controlador de la base de datos, simplificando el desarrollo de la aplicación.
Reutilización de planes de ejecución: El servidor de la base de datos puede almacenar en caché los planes de ejecución de las sentencias preparadas. Esto permite que las ejecuciones posteriores de la misma sentencia sean aún más rápidas, al reutilizar el plan optimizado previamente. En resumen, las sentencias preparadas son cruciales para desarrollar aplicaciones de bases de datos seguras y de alto rendimiento, optimizando la eficiencia, la seguridad y la mantenibilidad.
Aglutina todos los años de estudio al respecto y la experiencia que he adquirido.
Su optimización es tal que podría servir como base para la creación de clases en PRG.
En consecuencia, aunque HDBC no es directamente compatible con Eagle1 o HDO, se podrían desarrollar clases para facilitar dicha compatibilidad.
Espero que sea de vuestro interés!!!
Saludos...