miércoles, 27 de abril de 2022

Integración de sistemas y elevación del nivel de abstracción

Tenemos sistemas muy evolucionados como SQL, HTTP, HTML, formatos de archivos o lenguajes de programación de alto nivel como Java o PHP que nos permiten programar muchas cosas con poco código. Aún así se invierte mucho esfuerto en la integración de estos sistemas. Para intentar disminuir este problema se crean bibliotecas y marcos de trabajo que ayudan en algunos aspectos pero la integración no es completa.

Bien es sabido que la mayor parte de las veces cuando intentas crear algo para integrar varios sistemas incompatibles lo que consigues al final es tener otro sistema incompatible más. Aún así creo que la integración entre los sistemas mencionados anteriormente es algo muy importante que puede significar un gran paso en la evolución de la informática y merece la pena intentarlo.

Para explorar como puede ser esta integración he creado un marco de trabajo al que he llamado NextTypes y que su principal objetivo es la integración de tipos de datos. Para mi es algo muy ilógico que algo tan básico como un entero de 16 bits reciba un nombre distinto en cada uno de los sistemas ("smallint", "short", "number") y además pueda ser con signo o sin signo. En cualquier momento, por un despiste del programador el número del lenguaje de programación no cabe en la columna de la base de datos. Además estos nombres son poco indicativos de sus caracerísticas, sería más claro por ejemplo utilizar "int16". Sean cuales sean los nombres elegidos lo más importante es que todos los sistemas utilizaran los mismos nombres para tipos de las mismas caracteristicas.

Además tampoco hay un sistema estándar para definir tipos de datos compuestos por tipos primitivos y otros compuestos. Desde un formulario HTML hasta una tabla SQL se necesitan varias transformaciones de los datos. La falta de integración también disminuye el nivel de abstracción, hace necesario hacer muchas cosas a bajo nivel para que los sistemas encajen.

NextTypes es un sistema de almacenamiento, procesado y transmisión de información basado en estándares que integra las características de otros sistemas como bases de datos, lenguajes de programación, protocolos de comunicación, sistemas de archivos, gestores documentales, sistemas operativos, marcos de trabajo, formatos de archivos y hardware en un único sistema fuertemente integrado mediante un sistema de tipos de datos común.


NextTypes en este momento no es más que otro sistema incompatible con los demás que simplemente los integra bastante y eleva un poco el nivel de abstracción. Pero lo que me gustaría es que las cosas de las que se compone NextTypes se fueran incluyendo en los sistemas que integra hasta que NextTypes se diluyera, desapareciera como marco de trabajo y se convirtiera en un estándar que integrara estos sistemas.

No hay comentarios:

Publicar un comentario