SID 3

SID3 es una plataforma de desarrollo de aplicaciones Java EE que ahorra el 90% del código escrito con respecto a otras plataformas actuales.

El objetivo de SID3 es programar únicamente la lógica de negocios y eliminar la necesidad de programar la interfaz de usuario y el acceso a la base de datos así como su definición.

Con SID3 la definición de la interfaz de usuario y la estructura de la base de datos se realiza en un archivos XML por vista. En este archivo se define el nombre y tipo de los datos, la relación de los datos con otras vistas, la estructura de la interfaz de usuario y las etiquetas de los campos.

SID3 automáticamente crea los campos, tablas y relaciones en la base de datos, tanto para vistas nuevas como vistas actualizadas, eliminando los errores de acceso a la base de datos debido a errores en la actualización de la definición de la base de datos.

SID3 automáticamente crea las páginas en el navegador ofreciendo al usuario una excelente experiencia de uso que funciona tanto en computadoras y tabletas como en teléfonos. SID3 libera al programador de escribir código HTML, CSS y JavaScript para la visualización de la página.

La definición en XML ofrece al programador un API para acceder y manipular la base de datos sin tener que desarrollar consultas en SQL, todo esto es manejado internamente por SID3. De esta manera el programador se concentra en la lógica de negocios, por ejemplo calcular el precio de un ítem aplicando listas de precio, descuentos y políticas por cliente y producto.

SID3 es muy eficiente en el uso de memoria y CPU, lo que permite desarrollar aplicaciones que atienden miles de usuarios con recursos computacionales bajos.

SID3 implementa campos JSON, es decir un campo en la base de datos contiene un formulario en JSON. SID3 se encarga de representar el formulario en el navegador del usuario y el contenido de los campos puede ser manipulado por SID3 en la capa de negocios y en SQL en las bases de datos que soporte campos JSON.

SID3 ofrece APIs para la generación de reportes en Excel, PDF, CSV y TXT, envío de correo electrónico y otras funciones auxiliares para el desarrollo de aplicaciones de negocios.


Ventajas

Escribir poco código (“low code”) ofrece varias ventajas:

  1. Reduce significativamente el tiempo de desarrollo.

  2. Elimina la necesidad de programar páginas Web en HTML, CSS y JavaScript.

  3. Facilita el desarrollo de prototipos e iteraciones Agile.

  4. Reduce significativamente el esfuerzo de mantenimiento.

  5. Con SID3 también se eliminan los errores de acceso a la base de datos.

  6. Con SID3 se eliminan los errores de interfaz de usuario.

  7. Con SID3 se elimina los errores debido a cambios en la estructura de la base de datos.

Integración

SID3 se integra con Apache Lucene, permitiendo búsquedas de texto completo muy rápidas sin cargar la base de datos.

SID3 es compatible con MySQL, Postgres, DB2, Oracle y toda base de datos con JDBC. Es posible extender el API de SID3 para manipular bases de datos NoSQL usando el API nativo de SID3.

Compatibilidad

SID3 requiere Java 11 o superior.

SID3 requiere un Java EE application server como Apache Tomcat, GlassFish, JBoss, IBM Websphere, etc.

SID3 es compatible con MySQL, Postgres, DB2, Oracle y toda base de datos SQL con JDBC.

Las aplicaciones SID3 pueden atender a clientes que pueda hacer una petición http y pueda procesar JSON como JavaScript, Java, C++, C#, Python, etc.

Un Poco de Historia

Marcel Guzmán de Rojas Wesner escribió SID1 en C en 1988, logrando el mismo objetivo: Reducir el 90% del código mediante la definición de la interfaz de usuario y de la base de datos y reduciendo la programación de aplicaciones a la lógica de negocios.

El enfoque de SID1 resultó ser muy exitoso, se desarrollaron cientos de aplicaciones con SID1, algunas de las cuales todavía siguen operando en 2021.

SID1 es multiplataforma opera bajo Unix, DOS, AIX, Windows y Linux. El código fuente en C de la aplicación opera en todas las plataformas con la sola recompilación. Clientes SID para Windows se podían conectar a servidores Unix inclusive de otras plataformas como por ejemplo Digital Alpha o IBM RS/6000. En 1989, SID1 reconoce el ratón en DOS. En 1992 SID1 implementa repositorios de campos de hasta 64MB permitiendo el almacenamiento de imágenes y documentos en un campo en la base de datos. SID1 tiene su propio gestor de base de datos. Para mantener la compatibilidad entre plataformas SID1 depende únicamente de stdlib.

En 2008 Marcel Guzmán de Rojas Wesner dirige el desarrollo de SID2 en Java utilizando GWT y Hibernate. SID2 es independiente de base de datos y cumple el objetivo de generar la interfaz de usuario y manipular la base de datos en base a una definición. Sin embargo el API no logró abstraer lo suficiente las capas de presentación y persistencia y el esfuerzo de programación de la lógica de negocios fue demasiado alto.

Se desarrollaron varias aplicaciones con SID2, todas se reescribieron con SID3.

En 2013 Marcel Guzmán de Rojas Wesner escribe SID3 partiendo de cero, con el objetivo original de 1988: Reducir el 90% del código gracias a la abstracción de la interfaz de usuario y el acceso a la base de datos.

SID3 es una aplicación 100% Web 2.0, es decir opera exclusivamente mediante WebServices. Las aplicaciones SID3 tienen un cliente en JavaScript (en 1988 se hubiera llamado servidor por el concepto de X Windows) que se encarga de hacer las llamadas a los WebServices y generar dinámicamente la página HTML en el navegador. Esto es muy eficiente pues libera al servidor de la tarea de armar la página HTML, el servidor simplemente envía un mensaje en JSON que tiene tanto el contenido como la especificación de la página. El cliente JavaScript solamente usa Bootstrap y JQuery, todo lo demás está programado en sid3.js, resultando en un cliente rápido, eficiente y ligero.

El API de abstracción de la base de datos en SID3 es desarrollo propio, resultando en una implementación mucho más rápida y ligera que Hibernate.