Artwork

Inhalt bereitgestellt von Stefan Majewsky and Xyrillian Noises. Alle Podcast-Inhalte, einschließlich Episoden, Grafiken und Podcast-Beschreibungen, werden direkt von Stefan Majewsky and Xyrillian Noises oder seinem Podcast-Plattformpartner hochgeladen und bereitgestellt. Wenn Sie glauben, dass jemand Ihr urheberrechtlich geschütztes Werk ohne Ihre Erlaubnis nutzt, können Sie dem hier beschriebenen Verfahren folgen https://de.player.fm/legal.
Player FM - Podcast-App
Gehen Sie mit der App Player FM offline!

STP055: Interoperabilität

1:06:37
 
Teilen
 

Manage episode 418562725 series 2920733
Inhalt bereitgestellt von Stefan Majewsky and Xyrillian Noises. Alle Podcast-Inhalte, einschließlich Episoden, Grafiken und Podcast-Beschreibungen, werden direkt von Stefan Majewsky and Xyrillian Noises oder seinem Podcast-Plattformpartner hochgeladen und bereitgestellt. Wenn Sie glauben, dass jemand Ihr urheberrechtlich geschütztes Werk ohne Ihre Erlaubnis nutzt, können Sie dem hier beschriebenen Verfahren folgen https://de.player.fm/legal.

"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..."

Shownotes

  • historischer Einstieg: initial nur einzelne monolithische Programme

    • Computer startet, sobald das Programm eingegeben ist, zusammen mit dem Programm
    • mehrere Programme möglich, aber diese alle komplett voneinander unabhängig; bzw. jeweils nur abhängig von der Maschine selbst
    • dann wurden Programme so komplex, dass sie nicht mehr von einer Person verfasst werden konnten
    • 1975: akademische Unterscheidung zwischen "Programming in the large" und "Programming in the small"
    • Unterteilung der Software eines Computers in kleinere Einheiten erfordert definierte Schnittstellen
    • Analogie: Unternehmen mit mehreren Mitarbeiterinnen erfordern meist definierte Abläufe
  • Schnittstellen auf der großen Ebene (zwischen Prozessen): Kommunikationsprotokolle und Datenformate

    • Kommunikationsprotokolle: regeln Sende-/Empfangsreihenfolge, Inhalte der einzelnen Datenpakete und das durch sie ausgelöste Verhalten, Fehlerbehandlung etc.
    • 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)
  • Schnittstellen auf der kleinen Ebene (innerhalb eines Prozesses): API (Application Programming Interface) und ABI (Application Binary Interface)

    • 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
    • dies ungefähr die geringste Ebene von Komplexität, Skala nach oben offen
    • API: auf der Ebene von Programmcode
    • ABI: auf der Ebene von Maschinencode
    • Beispiel API: OpenGL vs. DirectX vs. Vulkan
    • XKCD 927
  • Interoperabilität mit der Brechstange: Reverse Engineering

    • siehe auch STP040 (§69e UrhG: Dekompilierung und Reverse Engineering sind unter bestimmten Umständen auch ohne Zustimmung des Urheberrechteinhabers erlaubt)
  • Interoperabilität mit etwas sanfterem Hebel: Emulation

    • siehe auch STP023
  • siehe auch: Berufsbezeichnung Systemintegrator

    • Unterdisziplin des Ausbildungsberufes "Fachinformatiker", in Abgrenzung zum Anwendungsentwickler
    • Tätigkeitsschwerpunkt: Anpassung bestehender Systeme zum Zwecke der Interoperabilität
    • vor allem im Umfeld von Firmensoftware verbreitet (Warenwirtschaftssystem des Herstellers A muss mit dem Buchhaltungssystem des Herstellers B verbunden werden)
  continue reading

66 Episoden

Artwork
iconTeilen
 
Manage episode 418562725 series 2920733
Inhalt bereitgestellt von Stefan Majewsky and Xyrillian Noises. Alle Podcast-Inhalte, einschließlich Episoden, Grafiken und Podcast-Beschreibungen, werden direkt von Stefan Majewsky and Xyrillian Noises oder seinem Podcast-Plattformpartner hochgeladen und bereitgestellt. Wenn Sie glauben, dass jemand Ihr urheberrechtlich geschütztes Werk ohne Ihre Erlaubnis nutzt, können Sie dem hier beschriebenen Verfahren folgen https://de.player.fm/legal.

"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..."

Shownotes

  • historischer Einstieg: initial nur einzelne monolithische Programme

    • Computer startet, sobald das Programm eingegeben ist, zusammen mit dem Programm
    • mehrere Programme möglich, aber diese alle komplett voneinander unabhängig; bzw. jeweils nur abhängig von der Maschine selbst
    • dann wurden Programme so komplex, dass sie nicht mehr von einer Person verfasst werden konnten
    • 1975: akademische Unterscheidung zwischen "Programming in the large" und "Programming in the small"
    • Unterteilung der Software eines Computers in kleinere Einheiten erfordert definierte Schnittstellen
    • Analogie: Unternehmen mit mehreren Mitarbeiterinnen erfordern meist definierte Abläufe
  • Schnittstellen auf der großen Ebene (zwischen Prozessen): Kommunikationsprotokolle und Datenformate

    • Kommunikationsprotokolle: regeln Sende-/Empfangsreihenfolge, Inhalte der einzelnen Datenpakete und das durch sie ausgelöste Verhalten, Fehlerbehandlung etc.
    • 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)
  • Schnittstellen auf der kleinen Ebene (innerhalb eines Prozesses): API (Application Programming Interface) und ABI (Application Binary Interface)

    • 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
    • dies ungefähr die geringste Ebene von Komplexität, Skala nach oben offen
    • API: auf der Ebene von Programmcode
    • ABI: auf der Ebene von Maschinencode
    • Beispiel API: OpenGL vs. DirectX vs. Vulkan
    • XKCD 927
  • Interoperabilität mit der Brechstange: Reverse Engineering

    • siehe auch STP040 (§69e UrhG: Dekompilierung und Reverse Engineering sind unter bestimmten Umständen auch ohne Zustimmung des Urheberrechteinhabers erlaubt)
  • Interoperabilität mit etwas sanfterem Hebel: Emulation

    • siehe auch STP023
  • siehe auch: Berufsbezeichnung Systemintegrator

    • Unterdisziplin des Ausbildungsberufes "Fachinformatiker", in Abgrenzung zum Anwendungsentwickler
    • Tätigkeitsschwerpunkt: Anpassung bestehender Systeme zum Zwecke der Interoperabilität
    • vor allem im Umfeld von Firmensoftware verbreitet (Warenwirtschaftssystem des Herstellers A muss mit dem Buchhaltungssystem des Herstellers B verbunden werden)
  continue reading

66 Episoden

Alle Folgen

×
 
Loading …

Willkommen auf Player FM!

Player FM scannt gerade das Web nach Podcasts mit hoher Qualität, die du genießen kannst. Es ist die beste Podcast-App und funktioniert auf Android, iPhone und im Web. Melde dich an, um Abos geräteübergreifend zu synchronisieren.

 

Kurzanleitung