Introducción a Neo4j

Ahora que ya conocemos las principales características de las bases de datos NoSQL en grafo y del modelo de datos que utilizan es el momento de ver, mediante ejemplos prácticos, cómo almacenar y manejar datos en estas bases de datos. En esta entrada comentaremos las principales características de Neo4j, veremos cómo instalar Neo4j en nuestro ordenador y cómo crear una base de datos y empezar a “jugar” con ella. Actualmente, Neo4j es la base de datos en grafo más popular según el ranking de db-engines.com. A fecha 2018, también es el número 21 de 295 en el ranking general de bases de datos. El modelo de datos utilizado por Neo4j es un grafo de propiedades etiquetado. Por tanto, las unidades básicas de procesamiento en Neo4j son las mismas que explicamos en la entrada anterior: nodos, relaciones entre nodos, propiedades (definidas sobre nodos o relaciones) y etiquetas que permiten definir el tipo de los nodos y de las relaciones. En Neo4j se utilizan los dos puntos “:” para representar las etiquetas. Por lo tanto, :Book, :Person y :HAS_READ, representarán las etiquetas Book, Persony HAS_READ. Por otro lado, para distinguir fácilmente las etiquetas de nodo de las de relación, en Neo4j se escriben las etiquetas de relación en mayúsculas y las etiquetas de nodo con la primera letra en mayúscula y el resto en minúsculas. Así pues, Book y Person serían etiquetas de nodo y HAS_READ una etiqueta de relación que representa qué libros (nodos de tipo :Book) ha leído una persona (nodo de tipo :Person). Las propiedades acostumbran a representarse en minúsculas. Neo4j es una base de datos schemaless. Esto no quiere...

Estrategia de SI: ¿qué evaluamos cuando evaluamos?

Estamos dedicando una temporada a la formación de la estrategia de sistemas de información, o sea, los procesos sociales y organizativos mediante los cuales las empresas hacen estrategia, que pueden incluir o no procesos más o menos explícitos de formulación y ejecución de la estrategia. De lo poco que sabemos, los principales problemas relacionados con la implantación tienen que ver avasalladoramente con la ausencia de soporte sostenido de la alta dirección, la dificultad de medir los resultados y beneficios del plan, la falta de flexibilidad para adaptarse a las nuevas estrategias de la empresa, problemas de dedicación, calidad y compromiso de los recursos del negocio y de TI, el complicado diálogo entre ambas partes y cuestiones políticas y organizacionales. Os recomiendo la lectura de los papeles más clásicos de Wilson, Teo y Ang y Luftman y Brier. Hablemos hoy de la evaluación. Si vale mi experiencia, la evaluación es una buena oportunidad para recrear el ciclo de planificación y dirección estratégica de los sistemas y aumentar o, al menos, mantener la tensión (el momentum, que dicen los anglosajones) del plan y el compromiso de la dirección. Es un ejercicio tanto de planificación como de gobernanza. El problema es que la medición de resultados, en la informática y en la vida, tiene muchas dimensiones y para cada contexto y nivel de madurez de la organización tenemos que elegir entre un repertorio. Y encima, disponer del tiempo, de los datos y del compromiso de la gente para hacer un ejercicio que no suele ser cómodo. 1. Lo primero que deberíamos medir es si hemos conseguido el famoso alineamiento estratégico, o sea hasta qué punto la ejecución...

Notas de literatura y estrategia de sistemas de información

Me refiero a la literatura académica sobre la estrategia de los sistemas de información. 0.  En los tiempos que corren vale la pena reivindicar la importancia y la belleza de los trabajos finales de la carrera. Lo son (importantes y bellos) para los estudiantes, que culminan el esfuerzo de años y tienen la oportunidad de aplicar sus conocimientos no sólo técnicos (entender y resolver problemas y fabricar artefactos teóricos o prácticos) sino transversales (leer literatura, analizar enigmas, encontrar avenidas de solución, escribir y presentar, resolver dudas y cuestiones). Lo son para los profesores y colaboradores docentes, aunque nos den mucho trabajo: es una ocasión para mantenernos al día, enfrentarnos a retos conocidos y nuevos, a nuevas formas de estudiar y nuevos tipos de estudiantes y acompañarles de una forma especial, mucho más individual y directa. Y nos hace ilusión cuando coinciden los intereses, aficiones y entusiasmos del estudiante con los nuestros. Estoy dirigiendo, junto con otra colaboradora, un trabajo final que consiste en analizar un proceso de revisión de la estrategia de sistemas de información de una empresa. 1. Parece mentira el poco interés académico dedicado a estudiar la ejecución de la estrategia, su evaluación y su puesta al día. En 2008, Teubner y Mocker, del ERCIS de Munster, estudiaron más de 400 artículos sobre estrategia de sistemas y tecnologías de la información publicadas en las principales revistas de la especialidad a lo largo de 30 años. Sólo el 4,8% cubrían temas relacionados con la implantación. En 2014, Amrollahi y colegas hicieron una revisión sistemática de la literatura incluyendo nuevas categorías. Entre 2000 y 2009 encontraron 102 papeles sobre planificación...

Estrategia de sistemas de información: la realidad y el deseo

La teoría clásica de la planificación estratégica de sistemas de información separa el momento de la formulación de la estrategia del momento de su ejecución o implementación. La formulación, en la definición canónica de Lederer y Sethi (1988), es el ejercicio “de proporcionar a una organización un portafolio global de activos de TI para dar soporte a sus principales procesos de negocio y facilitar su transformación, para conseguir una ventaja competitiva duradera”. (Ahora probablemente, en lugar de planificar sistemas de información, hablaríamos de construir estrategias digitales, aunque la base no es muy diferente.) Con este fin se desarrolla un conjunto de procesos formales de análisis (interno y externo), definición, priorización y descomposición, que acaban en un plan de implantación, a su vez más o menos estratégico. Es la estrategia pretendida (intended). Para su despliegue en la vida real, se crean modelos de gobierno y órganos de seguimiento, que vigilan celosamente el cumplimiento, normalmente en términos de alcance, tiempo y coste. En el lenguaje de la gestión de proyectos, un plan estratégico es un programa. Curiosamente, no es tan habitual que el seguimiento incluya también una evaluación del impacto en el negocio, que fue aquello para lo que el plan fue concebido. Lo que en algunas entradas recientes hemos llamado realización de beneficios. La otra parte de la historia es que, por diferentes razones, las cosas no resultan como se previeron y que eso no está mal. La economía, la empresa y la tecnología (la vida) cambian: aparecen limitaciones, nuevas oportunidades y amenazas y un proceso de aprendizaje de los equipos de TI y de sus clientes e interesados, que no se habían contemplado. El resultado final es una estrategia realizada...

La clonación del CIO

Clonar es, en el mundo biológico, el proceso de producir individuos genéticamente iguales a partir de fragmentos del código genético de otro individuo, o sea, sin intercambio sexual. La clonación existe desde siempre, aunque la biotecnología, la ciencia ficción, la oveja Dolly, la filosofía moral y la literatura la han puesto de moda más recientemente. Un clon es un doble, como en la novela inquietante de Saramago: la clonación trata de la identidad. Clonar es algo habitual también en informática: se empezaron a clonar discos y luego ordenadores personales y cualquier dispositivo y luego trozos de programa y programas enteros. Ahora clonamos profesionales antes de que su trabajo lo hagan las máquinas.  En mi observación, es fácil llegar a departamentos o empresas de servicios informáticos y encontrar personas que se visten, se peinan o caminan de forma parecida, cumpliendo los estereotipos de las series norteamericanas sobre la profesión. La oveja Dolly disecada en el museo de Ciencias Naturales de Edimburgo Y también clonamos, al menos metafóricamente, directivos, directivos de la informática. Si el CIO es un hombre de los proyectos y el desarrollo, tiende a fichar y premiar a gente de proyectos y desarrollo, que intentan comportarse como él. Si el CIO es un hombre de la infraestructura y los riesgos, tiende a fichar y premiar a gente de los riesgos y la infraestructura. Se me ocurre que esta actitud presenta algunos problemas. El primero tiene que ver con el viejo alineamiento entre las necesidades (no los pedidos ni los requerimientos) del negocio y la gestión de la tecnología: hay momentos para el crecimiento y la innovación y momentos...

Arquitectura como estrategia: algunos ejemplos (y II)

En la entrada anterior, comenzamos a desplegar el concepto de arquitectura de empresa, “la lógica que organiza los procesos de negocio y la infraestructura de TI de una manera que refleje los requerimentos de integración y estandarización del modelo operativo de la empresa”. Allí presentamos varios modelos diversificados, o sea aquellos que no necesitan compartir ni datos ni procesos, pero pueden compartir parte de la infraestructura técnica o de las aplicaciones por razones principalmente económicas, no estratégicas. Descargar (PDF, 182KB) Modelos de arquitectura de empresa En los sistemas coordinados, el grupo comparte datos y transacciones de sus clientes, productos o proveedores, porque existe una integración vertical de las operaciones, aunque las empresas sean jurídica y económicamente independientes y los procesos de gestión no necesiten ser los mismos. Es el caso de la relación entre los fabricantes y los distribuidores o la de algunos tipos de franquicia. El lema sería: “si quieres trabajar conmigo, tienes que compartir la información”. En estos sistemas, los participantes facilitan interfaces de aplicación, visores remotos o cargan sus datos a través de servicios web o plataformas de integración más sofisticadas. Frecuentemente, esta solución es lenta o incómoda y acaba siendo más práctico disponer de repositorios comunes a los que cualquier miembro del grupo puede acceder en cualquier momento. La organización de la informática es más compleja, con modelos federados, donde el centro define políticas y estándares, pero cada unidad de negocio decide independientemente sobre sus procesos y soluciones. En las empresas globales, con plantas o filiales en todas partes, que hacen básicamente lo mismo en cualquier lugar, para clientes que también suelen ser globales, la organización de...