Queridos lectores de El Cedazo: aquellos de vosotros que llevéis con nosotros desde los años de Carolo sabréis que mis primeros pinitos como bloguero aficionado fueron escribiendo por capítulos la Historia de un Viejo Informático… mi historia o, mejor, la bastante poco edulcorada historia de la informática española tal como yo la viví desde que comencé la Carrera de Informática a principios de los años 70 del siglo pasado[1] hasta más o menos principios del siglo XXI, con el advenimiento y generalización de Internet. Por entonces yo dejé de estar en primera línea de fuego de la innovación y el desarrollo y me dediqué a asuntos más tenebrosos, como preocuparse de los dineros que se invierten en Sistemas de Información,controlar provedores y cosas así, por lo que poco podía ya aportar a lo que muchos habían ya contado con más conocimiento y acierto.
La serie se comenzó a publicar en enero de 2009, hace ya más de siete años, (¡cómo pasa el tiempo, rediez!) y se terminó en julio del mismo año, así que seguramente muchos de vosotros, amables lectores, os habéis incorporado a las nutridas filas de seguidores de El Cedazo después de esa fecha, por lo que quizás no conozcáis la serie ni las cosas diversas (y a veces divertidas) que allí iba yo contando. Claro que también es posible que la hayáis leído, o quizás algunos de sus artículos, cuando me atreví a publicar el libro de la serie, allá por septiembre de 2014, libro que, debo decirlo, habéis comprado mucho y bien, tanto en papel (en lulu.com), como en formato electrónico (epub, en lulu.com, o en formato kindle, en amazon.es), rebasando mis más optimistas expectativas. Aprovecho ahora para daros las gracias, amigos, por vuestra amabilidad y la gran acogida que me dispensasteis. Pero me estoy yendo por las ramas…
Pues bien, el caso es que en uno de los artículos de la serie (y del libro, claro), dedicado a la proliferación de “Herramientas CASE” que se produjo entre principios y mediados de los años 90, decía yo que Softlab, empresa alemana de software radicada en Munich, por entonces propiedad del grupo BMW,[2] que había desarrollado Maestro, la mejor herramienta CASE de la década anterior, construyó en los años 90 su sucesor, Maestro II,[3] basado en un esquema de Orientación a Objetos diez años antes de que esta técnica se pusiera de moda, y cité también que:
“… Softlab realizó a principios de los noventa un gigantesco esfuerzo para obtener el Metamodelo de los Sistemas de Información (que era una sábana de metro y medio por un metro, lo menos), que es de lo más interesante para nuestra profesión que he visto nunca, por más que no ayudó gran cosa como argumento de su venta… pocos entendían la importancia de tal documento, que, como es costumbre, no hay manera de encontrar hoy por parte alguna… “
Explicaba yo luego lo que era un metamodelo, incluso con ejemplos, y por fin aseguraba que:
“ Los ingenieros de Softlab modelizaron todos los Objetos posibles con los que trabajamos los informáticos, tanto de la parte lógica como de la física. Por ejemplo, un Programa usa una Base de Datos, una Tabla Relacional contiene Atributos (Datos elementales), una Transacción es atendida por un Programa… Todos los conceptos posibles, tanto del Análisis como del Diseño o la Construcción estaban allí representados. Una labor ingente, digna de mejor suerte… o simplemente de haber sobrevivido. No sé si alguien conservará alguna copia de esta información (yo no, y me encantaría), que fue un trabajo monumental… e ignorado. ¡A quién se le ocurre hacer esto en Munich, en lugar de en California! “
Bueno, pues curiosamente, inopinadamente, sorprendentemente, veinte años más tarde, y gracias a la mediación del amigo de un amigo, ¡he conseguido ese documento único! Casualidades de la vida… Y después de pasarme tres tardes relamiéndome cual gato tomando leche mientras seguía y reseguía las innumerables relaciones entre entidades, voy ahora a atreverme a mostrároslo. Aquí abajo tenéis la visión general del Anverso… ya sé que no se distingue nada de nada… ¡paciencia!
Evidentemente, ese documento posiblemente tenía un copyright (aunque el propio documento en sí no lo dice por parte alguna) y su divulgación pública no sé si es posible o no, pero, ya veis, lo haré de todos modos por varias razones:
Primero, porque igual que me ha llegado a mí, lo debe tener bastante gente, o al menos lo podría tener bastante gente, porque en aquella época Softlab lo usaba como argumento de venta y lo repartía a diestro y siniestro como si fuera un panfleto publicitario más. Por ello, no se trata de una divulgación como tal, porque divulgado, y bien divulgado, ya estaba… ¡hace veinte años! El documento se publicó en 1995 y, como podéis suponer, está en muchos puntos mayormente obsoleto, porque algo ha cambiado la informática en estos veintitantos años, lo que es una razón adicional para pensar que nadie se sentirá menoscabado en sus derechos por su publicación.
Segundo, porque Softlab hace bastantes años que ya no existe. BMW la cambió de nombre (ahora se llama Cirquent)[4] y vendió la mayor parte del capital a los japoneses de NTT Data. La empresa resultante, una importante consultora alemana de la actualidad, ya no se dedica a la ingeniería de software, según se puede colegir inspeccionando su página web, sino a lo que se dedican casi todas las consultoras de pro de la actualidad: vender proyectos de escritura de software y creación de sistemas informáticos, mantenimiento de sistemas, implantaciones de SAPs y cosas así. Estoy seguro de que si les preguntas ahora por el “Common Data Model”, por lo menos el 99,5% de sus empleados preguntarían: ¿…el qué?. Y eso porque son alemanes, porque si fueran españoles dirían: ¿Comorrrr? De hecho, intentar buscar en Google “Common Data Model“, con o sin la palabra Softlab, no devuelve nada que sea parecido a este documento o a su traza. Para Google no existe, ergo… no existe. Ahora ya no es importante para nadie, salvo quizás para algunos frikis como vosotros… o como yo mismo.
Y la tercera razón, y para mí decisiva, es que creo sinceramente que éste es uno de los documentos más importantes que jamás se hayan escrito en nuestra profesión, quizás junto con el famoso artículo “GoTo considered harmful” de Dijkstra que hace casi cincuenta años nos cambió a todos la forma de programar. Todo informático que se precie debería, en mi opinión, tener al menos la oportunidad de echar una ojeada a la piedra Rosetta de la profesión, así que… ¿listos?… pues allá va.
.
Lo primero que hay que tener en cuenta es que el “Common Data Model” es exactamente lo que su nombre indica: Un Modelo de Datos, es decir, un Diagrama de Entidad-Relación o ERD (por Entity-Relationship Diagram), pero en realidad es un modelo de un nivel de abstracción superior a los modelos de datos normales, puesto que no representa un sistema de información que haya que desarrollar, sino que modeliza las propias entidades que manejamos los informáticos para construir los sistemas de información: programas, bases de datos, registros, modelos de entidad-relación, campos elementales, pantallas, requisitos de cambio, etc, etc, etc. Por lo tanto, en realidad se trata de un Metamodelo de Información, y no voy aquí a repetir todo el rollo que solté al respecto en el artículo antes citado de la serie. En definitiva, ésa es la forma de comprenderlo: Dada una entidad con sentido en nuestro mundo, por ejemplo la entidad PROGRAMA,[5] se describen todas las relaciones habidas y por haber de esa entidad (es decir de los programas individuales) con el resto de entidades: tablas, ficheros, pantallas, scripts, bases de datos, etc.
Aquí tenéis un trocito del CDM, precisamente donde aparece la entidad Programa:
Así, por ejemplo, entre las entidades PROGRAMA y TABLA se definen las relaciones siguientes:
PROGRAMA Crea/Altera TABLA
PROGRAMA Usa TABLA
PROGRAMA Borra TABLA
PROGRAM Lee TABLA
PROGRAMA Elimina filas de TABLA
PROGRAMA Inserta filas en TABLA
PROGRAMA Actualiza TABLA
Podéis comprobarlo en la imagen siguiente:
Naturalmente, como bien se puede observar, existen también las relaciones inversas: Tabla es leída por Programa, Tabla es actualizada por Programa, etc.
Pues bien, lo mismo ocurre con todas las demás entidades: Programa lee Fichero,[6] Programa forma parte de Job,[7] Programa actualiza Segmento (de IMS/DB, la base de datos jerárquica de IBM, todavía bastante usada en la época), Programa usa Variable… en fin, centenares, miles de relaciones entre decenas de entidades. Porque, desde luego, la misma lógica aplica a todas las entidades del metamodelo: Tabla forma parte de Base de Datos, Job consiste de JobSteps (pasos de ejecución) que consisten a su vez en la ejecución de un Programa, Registro es formado por Campos, Constante es movida a una Variable, Modelo de Entidad Relación consiste de Entidades, y de Relaciones, Entidad contiene Atributos…
Además, como podéis imaginar, muchas entidades tienen relaciones recursivas consigo mismas, como por ejemplo Programa llama a Programa, o Campo contiene a Campo. Como incluirlas sería aumentar la ya elevada complejidad del galimatías que es el modelo, las representan con una abreviatura cuyo significado se indica en el lado inferior derecho del anverso. Por ejemplo, en la imagen anterior se pueden observar las relaciones recursivas 3, 4, 5, 7, 24, 25 y 28 con las que la entidad PROGRAMA se relaciona consigo misma. He aquí el significado de cada una:[8]
Por fin, además del anverso que ya habéis entrevisto, está también el reverso el documento, a su vez repleto de información, donde se puede encontrar, por un lado, la definición de cada una de las entidades representadas en el metamodelo y, por el otro, la extensión que prepararon para el recién aparecido paradigma de la Orientación a Objetos que, como sabéis, estaba en pañales allá por mediados de la década de los noventa. Ésta es la pinta general del reverso:
.
Bueno, ya no voy a seguir más. Como dicen en los anuncios de algunos pisos… ¡mejor verlo!
A continuación os dejo dos enlaces para bajar tanto el anverso como el reverso y que podáis disfrutarlo a vuestro gusto. Son imágenes muy grandes, del orden de 7000 x 5000 píxeles, porque es la única forma de ver algo, aunque, ya os lo digo yo, lo mejor es tener un ejemplar en papel, desplegarlo sobre la mesa (hace falta que sea grande) y extasiarse con él… ¿A que me tenéis envidia?
Aquí podéis encontrar el Anverso.
Y aquí, el Reverso.
.
En fin, espero que os haya gustado o, al menos, impresionado, aunque esté parcialmente obsoleto porque no haga mención de algunas “cosas modernas”, como servlets, clases java y todas esas cosillas. Pero es normal: en 1995… ¡no existían!
Disfrutad de la vida, mientras podáis.
- Aunque por entonces ni siquiera era una carrera universitaria; sólo en 1977 accedió a semejante condición. [↩]
- Sí, los de los automóviles. [↩]
- Ya veis que muy imaginativos no eran, ¿verdad? [↩]
- Aunque ya veis que la dirección “www.cirquent.com” redirige directamente a “http://emea.nttdata.com/uk/home/en/“… no sé si Cirquent sigue existiendo como tal o también ha sido canibalizada. [↩]
- Alfa y Omega de nuestra profesión: todo lo que hacemos termina tarde o temprano convirtiéndose en un programa o un conjunto de ellos. O por lo menos debería terminar en un programa, porque hay veces que… mmmm… [↩]
- Y su inversa, claro: Fichero es leído por Programa. [↩]
- Job es lo que casi todo el mundo llama ahora script. [↩]
- Por ejemplo, la relación 3 es “Programa llama a Programa”, etc. [↩]
The Historia de un Viejo Informático revisitada: el Common Data Model de Softlab by , unless otherwise expressly stated, is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 2.5 Spain License.
{ 8 } Comentarios
Tengo el privilegio de tener uno de estos metamodelos en papel pegado a la pared que hay tras mi mesa, cortesía de Mac y su amigo (el papel, me refiero; la mesa y la pared las paga la empresa). Es un documento impresionante.
Al intentar modelar una herramienta CASE que fuera capaz de crear automáticamente otros programas (o al menos semiautomáticamente), metamodelaron toda la profesión, todos los programas que podían ser creados con Maestro II estaban ya metamodelados.
Como herramienta práctica probablemente ya no sirve para nada en 2016, pero con el adecuado cambio de lenguaje, te hace pensar en los artefactos que fabricamos en nuestra profesión.
No voy a decir que sea la envidia de la oficina, porque para apreciarlo hay que tener un puntito friki y haber visto mucho mundo, pero al menos me ha servido para iniciar con algunos compañeros, que se quedaban embobados mirándolo, algunas de las conversaciones de trabajo más abstractas, más (probablemente) inútiles y más estimulantes de los últimos años.
Wow! que recuerdos,
Yo que empezé con la informática y los computadores allá a mediados de los 90′s me resulta altamente gratificante y estimultante .
Saludos
He leído la serie original y es magnífica. Algunas partes parece que las haya escrito yo (o por lo menos vivido yo,… yo escribo bastante peor que tú).
Sea como sea, muchísimas gracias por todo, por compartir el metamodelo, por escribir la genial serie original y por continuar con el cedazo.
Un saludo.
Acabo de descubrir tus artículos, son excelentes. Yo trabajaba y estudie en el IDI, empece como operador del UNIVAC/9300 y después estuve varios años en el centro UAM/IBM con un 360/65 y un 370, también trabaje con los NCR Century 200 y 300 y después con todos los modelos IBM desde el 3081 hasta los Z/series. Estuve en el departamento de Sistemas en todas las áreas (IMS, CICS, MVS, SeguridadRACF), menos en la de comunicaciones. Tengo publicado parte de mis trabajos en CBT Tape. En fin, encantado de que haya una persona que haga que no se olvide esta época gloriosa de la informática. Un abrazo de un dino.
Estimado Macluskey:
Llevo tres semanas leyendo tu serie de principio a fin con la boca abierta. Encontré una referencia a la serie en un comentario de un artículo investigando cómo hacer vete tú a saber qué para mejorar una aplicación en un momento de horas bajas en el trabajo. Cuando el diablo no tiene que hacer, con el rabo mata moscas, y yo quería hacer algo útil por el desarrollo que tenía entre manos. Sin embargo, algo en aquella referencia a la serie (disculpa, no recuerdo dónde lo encontré) había algo que me hizo pensar que leerla iba a merecer la pena… Y aquella maravillosa funcionalidad que se me había ocurrido (y que ya tampoco recuerdo cuál es) quedó en el olvido. Porque todos esos momentos muertos que me surgían en el trabajo fueron llenados con Historia de un viejo informático.
No sé si al leer lo que hasta ahora he escrito se nota, pero a mí me parece que estuviera hablando de hace meses o incluso años, y sin embargo, tal como he dicho al principio, hace tan sólo tres semanas que comencé a leer, pero es que en medio he vivido cambios importantes y se me hace el tiempo eterno (concretamente, he cambiado de trabajo -que no de profesión- y, en consecuencia, me he mudado, lo que hace casi casi una vida nueva).
Como ves, yo también me ando un poco por las ramas a la hora de escribir, pues yo venía aquí a agradecerte la serie y resulta que acabo hablando de cosas sin importancia para nadie. A agradecer el entretenimiento y el aprendizaje que me has proporcionado a lo largo de estos 20 y tantos capítulos de historia que pienso que cualquiera que se dedique a esto de la informática debería tomarse el tiempo de leer con calma.
Empecé la carrera en 2010 (por cierto, en la Escuela Universitaria de Vallecas), con esta serie ya escrita por entero… Ojalá hubiera sabido entonces de su existencia. Poco después de empezar me di cuenta de lo que yo consideré una profunda carencia de la carrera. Y me puse a investigar, y resultó ser una profunda carencia de todas las carreras de Informática, al menos, en España. Resulta que no había una sola asignatura (ni siquiera optativa) sobre Historia de la Informática. Aprendemos muchas cosas… pero no sabemos de dónde venimos (ni, por ende, a dónde nos dirigimos). Cuando descubrí esto me dije a mí misma que, si algún día llego a ser profesora de informática en una Universidad (no es, en principio, una de mis metas, pero la vida puede dar muchas vueltas) intentaría hacer, cuanto menos, un seminario sobre Historia de la Informática. Y mire usted por dónde, que todas las cosas que me gustaría contar (o, más bien, que me gustaría que me hubiesen contado), están en esta serie relatadas.
Probablemente, si hubiese leído la serie en el momento de la publicación, hubiese comentado varios de los capítulos, pero al llegar 8 años tarde… pues me conformo con publicar un comentario en la última dando las gracias. Y por cierto, doy las gracias también a todos los “comentaristas” de la serie, pues los comentarios han aportado tanto como el texto original. Lo echaré de menos cuando lea el libro (que compraré, seguramente, para Navidad… ¿qué mejor regalo?).
No voy a comentar, por tanto, todas las reflexiones que me han ido surgiendo a lo largo de la serie (que no han sido pocas), pero no puedo evitar hacer un comentario al siguiente párrafo de la entrada de Despedida y cierre:
¿Es que la corrección política no va siempre, acaso, en contra de la verdad? Piensa en qué consiste la política (hoy por hoy, en el mundo real, no el concepto teórico…) y en qué consiste la corrección política…
La longitud del comentario está alcanzando ya unos límites peligrosos (me van a acusar de verborrea, ¿a quién me recordará esto?), así que paro ya aquí. Solo quería que supieras que con todo el trabajo que has invertido en esta serie, has llegado a lo más profundo de algunos. A mí, al menos, me has emocionado, ilusionado y motivado. Aunque, tal vez, ni siquiera llegues a leerme.
Un abrazo.
Noelia:
Como decía el viejo chiste… Sí, lo leí…
Muchas gracias por tu espléndido comentario. Me has alegrado el día, porque mi intención al escribir la serie era precisamente esa: ayudar a que se comprendiera quiénes somos y de dónde venimos. Y dejar escritas unas vivencias y conocimientos que seguramente ya pocos conservan, casi como las lenguas muertas…
En fin, gracias de nuevo y, ya sabes, si crees que puedes aportar conocimiento para la sociedad (y no te importa no obrar por ello, claro), aquí tienes un sitio perfecto para hacerlo. Este sitio se construye con aportaciones de personas como yo, y quizá como tú, que disfrutan contando a los demás lo que han aprendido.
Saludos
Mac
Bueno, me he zampado esta semana todos los artículos de esta serie, (10 años después de que los escribieras!!) y son fantásticos.
Me han encantado sobre todo los primeros sobre la prehistoria informática y tu trabajo en el banco. Yo empecé a envenenarme en esto en los 80 con un Spectrum 48k y desde aquella ya no he podido parar.
Gracias por haberme hecho disfrutar tanto leyendo estos artículos.
Un saludo.
FJP:
Repito lo que dije a Noelia hace algún tiempo:
“Me has alegrado el día, porque mi intención al escribir la serie era precisamente esa: ayudar a que se comprendiera quiénes somos y de dónde venimos. Y dejar escritas unas vivencias y conocimientos que seguramente ya pocos conservan, casi como las lenguas muertas…”
Me alegro mucho de que te haya gustado.
Muchas gracias por tu comentario.
Saludos
Escribe un comentario