Saber quién es quién en el zoo es importante en el sector de la integración de datos
Back when I started off in the industry, some 20-something years ago (I do pretend I am still in my 20s, so that number has a nice ring to it), there was only one IT Department with one manager in most large organizations. Now there are multiple managers within different departments, some aligned to different parts of the organization. Some pieces are outsourced, some in-sourced, and some have contractors working on it.
When it comes to connecting most systems together, the industry is focused on “having a connector to this or that,” while the real hard part is how to connect to that particular implementation of that system.
As the technologies evolved over the years, the pillars (or silos) of teams evolved. So providing an integration solution to connect multiple systems is more of a project management (herding cats) nightmare than a connector nightmare. Let’s take a typical mid-sized company that wants to connect its cloud-based applications (CRM, HR, etc.) to its on-premises applications (SAP, Oracle Finance, Dynamics, Databases, etc.). Pretty simple task, as we have all the connector options, and in the worst case we can always fall back on a web-service-based JSON/XML connector and database connectors. The problem of “do we have a connector to each system” is solved within minutes.
The real problem and the time killer is how to connect and to whom we will give access. If we consider the layers of technology involved (taking the OSI model as a method of stepping through access):
- Capa física: cómo está conectado el servidor y qué límites de velocidad podrían restringirlo (¿está conectado el servidor?).
- Capa de enlace de datos: qué nivel de calidad de servicio tenemos, hay restricciones, en qué VLAN estamos y a qué tiene o no acceso esa VLAN.
- Capa de red: ¿podemos realizar una prueba de red a cada sistema que necesitemos conectar?
- Capa de transporte: ¿podemos mantener una conexión y cuál es su rendimiento?
- Capa de sesión: ¿cuáles son los mecanismos de autenticación de cada sistema? ¿Podemos autenticarnos?
- Capa de presentación: ¿podemos acceder a métadonnées que hay detrás de cada sistema? ¿Tenemos suficientes derechos?
- Capa de aplicación - ¿Podemos ver una muestra de los datos a los que nos estamos conectando? ¿Se parecen los datos a lo que esperábamos? ¿Podemos realizar actualizaciones, inserciones, inserciones ascendentes, eliminaciones y lecturas? ¿Se ha personalizado la aplicación y podemos acceder a esas personalizaciones?
Conseguir todo esto requiere trabajar con diferentes equipos de TI tanto internos como externos. También puede requerir trabajar con proveedores u otros desarrolladores ajenos a la organización. Considere las siguientes funciones (no es una lista exhaustiva) que requerirían ganarse su confianza y conocimientos/asistencia:
- Administrador de servidores/hardware - Servidor virtual, capacidad, instalación de servidores.
- Especialistas en sistemas operativos - Windows / Linux / AIX / etc. ¿Capacidad para ejecutar su software de integración? ¿Instalación, parcheado y mantenimiento? ¿Acceso remoto al servidor?
- Gestor de red - ¿En qué zona se instaló el servidor? ¿Tiene conectividad con cada sistema? ¿Acceso remoto al servidor?
- Seguridad/Firewall - ¿Qué puertos están bloqueados y es necesario abrir para este nuevo servicio? ¿Está causando problemas el software antivirus? ¿Acceso remoto al servidor? ¿Acceso del navegador al servidor?
- Especialista en aplicaciones en nube - ¿Método de acceso, seguridad, capacidad de acceso? ¿Podemos iniciar sesión?
- Administradores de bases de datos - Acceso a bases de datos, derechos, pruebas sencillas de lectura de bases de datos.
- Aplicaciones Especializadas (Desarrolladores SAP BAPI) - ¿Existen algunas BAPIs personalizadas que deban ser utilizadas? ¿Cuáles de las BAPI estándar no se deben utilizar? ¿Podemos utilizar la aplicación fat client/web para ver y consultar el sistema? ¿Podemos utilizar un sistema de prueba/desarrollo?
- Desarrolladores de aplicaciones - ¿Existe un método estándar para la recopilación de requisitos, metodología de desarrollo, revisiones por pares, pruebas de aceptación del usuario, pruebas del sistema, pruebas de carga?
Cuando se nos pide que demostremos que podemos conectarnos a un sistema, dedicamos el 90% de nuestro tiempo a trabajar con las personas de arriba y el 10% a realizar la conexión real. Saber con quién trabajar y ganarse su confianza es lo más difícil.