In der Datenintegrationsbranche ist es wichtig zu wissen, wer wer im Zoo ist
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):
- Physikalische Schicht - wie ist der Server angeschlossen und durch welche Geschwindigkeitsgrenzen könnte dies eingeschränkt werden (ist der Server angeschlossen?).
- Datenverbindungsschicht - welches QoS-Niveau haben wir, gibt es irgendwelche Einschränkungen, in welchem VLAN befinden wir uns und worauf hat dieses VLAN Zugriff bzw. nicht?
- Netzwerkebene - können wir einen Netzwerktest mit jedem System durchführen, das wir anschließen müssen?
- Transportschicht - können wir eine Verbindung aufrechterhalten und wie ist die Leistung dieser Verbindung?
- Sitzungsschicht - welche Authentifizierungsmechanismen gibt es für jedes System? Können wir uns authentifizieren?
- Präsentationsschicht - können wir Zugang zu den Metadaten hinter jedem System erhalten? Haben wir ausreichende Rechte?
- Anwendungsschicht - Können wir ein Beispiel für die Daten sehen, mit denen wir uns verbinden? Sehen die Daten so aus, wie wir sie erwartet haben? Können wir Aktualisierungen, Einfügungen, Hochfügungen, Löschungen und Lesevorgänge durchführen? Wurde die Anwendung angepasst und können wir auf diese Anpassungen zugreifen?
Um all dies zu erreichen, ist die Zusammenarbeit mit verschiedenen IT-Teams sowohl intern als auch extern erforderlich. Möglicherweise ist auch die Zusammenarbeit mit Anbietern oder anderen Entwicklern außerhalb des Unternehmens erforderlich. Denken Sie an die folgenden Rollen (die Liste ist nicht vollständig), für die Sie das Vertrauen und das Wissen bzw. die Unterstützung dieser Personen gewinnen müssen:
- Server/Hardware Manager - Virtueller Server, Kapazität, Serverinstallation.
- Betriebssystem-Spezialisten - Windows / Linux / AIX / etc. Die Fähigkeit, Ihre Integrationssoftware auszuführen? Installation, Patching und Wartung? Fernzugriff auf den Server?
- Netzwerkmanager - In welcher Zone wurde der Server installiert? Besteht Konnektivität zu jedem System? Fernzugriff auf den Server?
- Sicherheit/Firewall - Welche Ports sind gesperrt und müssen für diesen neuen Dienst geöffnet werden? Bereitet die Antiviren-Software Probleme? Fernzugriff auf den Server? Browser-Zugriff auf den Server?
- Cloud Application Specialist - Zugriffsmethode, Sicherheit, Zugriffsmöglichkeit? Können wir uns anmelden?
- Datenbankadministratoren - Datenbankzugriff, Rechte, einfache Datenbanklesetests.
- Spezialisierte Anwendungen (SAP BAPI-Entwickler) - Gibt es einige kundenspezifische BAPIs, die verwendet werden müssen? Welche der Standard-BAPIs sollten nicht verwendet werden? Können wir den Fat Client/die Webanwendung verwenden, um das System anzuzeigen und abfragen ? Können wir ein Test-/Entwicklungssystem verwenden?
- Anwendungsentwickler - Gibt es eine Standardmethode für Anforderungserfassung, Entwicklungsmethodik, Peer Reviews, Nutzer , Systemtests, Lasttests?
Wenn wir beweisen müssen, dass wir eine Verbindung zu einem System herstellen können, verbringen wir 90 % unserer Zeit damit, mit den Leuten darüber zu arbeiten, und 10 % damit, die eigentliche Verbindung herzustellen. Zu wissen, mit wem man arbeiten muss, und dessen Vertrauen und Zustimmung zu gewinnen, ist die eigentliche Herausforderung.