Anmelden

Schlüsseltechnologie· Staffel 1· Folge 55

STP055: Interoperabilität

Donnerstag, 16. Mai 2024 · 1 h 07

MP3

Shownotes

<p>"Together we stand, divided we fall." Deshalb geht es heute darum, wie Prozesse zur Zusmmenarbeit gebracht werden, oder auch, wie das gelegentlich schief geht. Zum Schluss haben wir wieder eine leicht schwermütige Unterhaltung darüber, warum die Dinge sind, wie sie sind. In diesem Sinne: "Let's work together..."</p><h2>Shownotes</h2><ul>
<li>
<p>historischer Einstieg: initial nur einzelne monolithische Programme</p>
<ul>
<li>Computer startet, sobald das Programm eingegeben ist, zusammen mit dem Programm</li>
<li>mehrere Programme möglich, aber diese alle komplett voneinander unabhängig; bzw. jeweils nur abhängig von der Maschine selbst</li>
<li>dann wurden Programme so komplex, dass sie nicht mehr von einer Person verfasst werden konnten</li>
<li>1975: akademische Unterscheidung zwischen <a href="en.wikipedia.org/w/index.php?title=Programming… in the large" und "Programming in the small"</a></li>
<li>Unterteilung der Software eines Computers in kleinere Einheiten erfordert definierte <strong>Schnittstellen</strong></li>
<li>Analogie: Unternehmen mit mehreren Mitarbeiterinnen erfordern meist definierte Abläufe</li>
</ul>
</li>
<li>
<p>Schnittstellen auf der großen Ebene (zwischen Prozessen): <a href="de.wikipedia.org/w/index.php?title=Kommunikati…; und <a href="de.wikipedia.org/w/index.php?title=Dateiformat…;
<ul>
<li>Kommunikationsprotokolle: regeln Sende-/Empfangsreihenfolge, Inhalte der einzelnen Datenpakete und das durch sie ausgelöste Verhalten, Fehlerbehandlung etc.</li>
<li>Datenformate: definieren die Struktur eines Datenpaketes; kann in einer Datei gespeichert sein; kann Teil eines Kommunikationsprotokolls sein; kann Baustein in einem größeren Datenformat sein (z.B. Videodatei besteht aus einem Audiodatenformat, einem Bildstromdatenformat und einem umschließenden Containerformat)</li>
</ul>
</li>
<li>
<p>Schnittstellen auf der kleinen Ebene (innerhalb eines Prozesses): <a href="en.wikipedia.org/w/index.php?title=API&old… (Application Programming Interface)</a> und <a href="en.wikipedia.org/w/index.php?title=Application… (Application Binary Interface)</a></p>
<ul>
<li>z.B. eine Komponente, die einen Sortieralgorithmus bereitstellt, hat eine Schnittstelle, die eine Liste von Zahlen entgegennimmt und eine sortierte Liste von Zahlen zurückgibt</li>
<li>dies ungefähr die geringste Ebene von Komplexität, Skala nach oben offen</li>
<li>API: auf der Ebene von Programmcode</li>
<li>ABI: auf der Ebene von Maschinencode</li>
<li>Beispiel API: <a href="en.wikipedia.org/w/index.php?title=OpenGL&…; vs. <a href="en.wikipedia.org/w/index.php?title=DirectX&…; vs. <a href="en.wikipedia.org/w/index.php?title=Vulkan&…;
<li><a href="xkcd.com/927/">XKCD 927</a></li>
</ul>
</li>
<li>
<p>Interoperabilität mit der Brechstange: <a href="de.wikipedia.org/w/index.php?title=Reverse_Eng… Engineering</a></p>
<ul>
<li>siehe auch STP040 (§69e UrhG: Dekompilierung und Reverse Engineering sind unter bestimmten Umständen auch ohne Zustimmung des Urheberrechteinhabers erlaubt)</li>
</ul>
</li>
<li>
<p>Interoperabilität mit etwas sanfterem Hebel: <a href="de.wikipedia.org/w/index.php?title=Emulator&am…;
<ul>
<li>siehe auch STP023</li>
</ul>
</li>
<li>
<p>siehe auch: Berufsbezeichnung <a href="de.wikipedia.org/w/index.php?title=Systeminteg…;
<ul>
<li>Unterdisziplin des Ausbildungsberufes "Fachinformatiker", in Abgrenzung zum Anwendungsentwickler</li>
<li>Tätigkeitsschwerpunkt: Anpassung bestehender Systeme zum Zwecke der Interoperabilität</li>
<li>vor allem im Umfeld von Firmensoftware verbreitet (Warenwirtschaftssystem des Herstellers A muss mit dem Buchhaltungssystem des Herstellers B verbunden werden)</li>
</ul>
</li>
</ul>

Anmelden oder registrieren

Jetzt

0:00 / 0:00