Das offene System in der Informationstechnik

Unter einem offenen System versteht man im Bereich der Informationstechnik ein System, welches für die Sicherung einer Betriebsumgebung, der Interoperabilität sowie Portabilität und der Erweiterbarkeit durch offene Schnittstellen und Spezifikationen Sorge trägt. Bei der Informationstechnik handelt es sich wiederum um einen Obergriff, der für die Informations-und Datenverarbeitung sowie der hierfür erforderlichen Hard-und Software steht. Man spricht dann von einem Informationstechnischen System. IT stellt ein Bindeglied zwischen klassischer Elektronik und der modernen Informatik dar. Durch zahlreiche Entwicklungen im Laufe der vergangenen Jahrzehnte konnten zahlreiche Bereiche des Lebens durch Modernisierungen verändert werden, sodass die Informationstechnik zum Beispiel in den Bereichen der Wirtschaft und Wissenschaft ein nicht mehr zu entbehrender Bestandteil sind.

Die Sicherung der Interoperabilität

Ein offenes System muss unter anderem auch die Interoperabilität gewährleisten, wobei es hier zwei unterschiedliche Definitionen gibt. Zum einen wird die Interoperabilität als die Fähigkeit zur Zusammenarbeit verschiedener Systeme, Techniken oder Organisationen angesehen. Hierfür ist im Normalfall die Einhaltung klar definierter Standard erforderlich. Können zwei Systeme miteinander verbunden werden, so spricht man davon, dass sich zueinander kompatibel sind. Laut der zweiten Definition ist die Interoperabilität die Befähigung, unabhängige und heterogene Systeme möglichst nahtlos zusammenarbeiten zu lassen, damit Informationen auf eine effiziente und verwertbare Weise ausgetauscht oder dem Benutzer zur Verfügung gestellt werden, ohne dass hierbei ein Einsatz gesonderter Sprachen zwischen den Systemen notwendig ist. Unabhängig davon, welcher dieser eigentlich sinngleichen Definitionen man nun beipflichten möchte, ist die Interoperabilität doch in vielen Bereichen ein wichtiges Kriterium und wird dementsprechend eingestuft. Unter diese Bereiche fallen neben der Information auch die Technik in medizinischen Bereichen sowie die Telekommunikation. Allerdings finden sich offene Systeme zur Sicherung der Interoperabilität auch bei Transport-und Verkehrssystemen, militärischen Systemen oder der industriellen Automatisierungstechnik. Durch Patente, Geschäftsgeheimnisse und Fehler innerhalb der Koordination können in Wirtschaftszweigen durch den Erhalt einer Interoperabilität Entscheidungen über Monopolstellungen und deren Ausbreitung gefällt werden. Für Regierungen ergeben sich zudem durch eine gewährleistete Interoperabilität entscheidende Vorteile. Damit eine Interoperabilität besser umgesetzt werden kann, findet häufig eine Unterscheidung zwischen semantischer und konzeptioneller Interoperabilität statt. Ist im Zusammenhang mit Software die Sprache von diesem Aspekt, so werden hierbei Programme gemeint, die dasselbe Dateiformat oder gleiche Protokolle verwenden.

Die Plattformunfähigkeit bei einem offenen System

Im Bereich der Informationsfähigkeit spiegelt die Plattformunabhängigkeit eine Eigenschaft wider, durch welche der Einsatz eines Programms auf unterschiedlichen Plattformen erfolgen kann, wobei sich dies sowohl auf die Architektur und den Prozessor, als auch den Übersetzer, das Betriebssystem und andere Dienstprogramme bezogen ist. In der Regel braucht ein Programm eine bestimmte Laufzeitumgebung, in der es zur Initialisierung und Stabilisierung kommt, so dass es über den gesamten Ausführungszeitraum hinweg lauffähig ist. Der Grad der Plattformunabhängigkeit wird als Portabilität bezeichnet, welcher durch ein offenes System gesichert werden muss. Dabei wird nicht nur die bereits vorhandene Plattformunabhängigkeit, sondern auch der erwartete Arbeitsaufwand verstanden, der für die Umformung eines herkömmlichen Programms in ein plattformübergreifendes Programm benötigt wird. Dies wird in der Fachsprache auch unter den Namen Portierung oder Migration geführt. Bei den Ausführungen der Plattformunabhängigkeit lassen sich verschiedene Formen voneinander unterscheiden:

  • Webanwendungen durch den Browser – bei dieser Form ist die Art des vorliegenden Betriebssystem nicht relevant, sodass es lediglich gewisse Anforderungen wie einen Webbrowser erfüllen muss, der wiederum bestimmte Voraussetzungen vorzuweisen hat
  • In Zwischencode vorliegende Software –hierbei handelt es sich um Programme, die wie zum Beispiel als Java-Programm in Form von Bytecodes vorliegen müssen. Auch eine Umsetzung über einen portablen und interpretierbaren Quellcode wie PHP ist denkbar
  • Fat Binaries – Dieser Begriff bezeichnet Programmpakete, die mehrere lauffähige Versionen enthalten. Das Betriebssystem startet hier ohne Zugriff durch den Anwender die notwendige Version. Bei Fat Binaries kann es sich beispielsweise um das OpenStep-Programmformat handeln. Damit diese Art der Plattformunabhängigkeit erstellt werden kann, wird die Portabilität des Quellcodes vorausgesetzt
  • Quellcode-Portabilität – Diese Form findet sich häufig bei C-Programmen für Unix. Dabei enthält der Quellcode gewisse Anweisungen, durch welche es erlaubt ist die Unterschiede von Betriebssystemen auszugleichen. Um dies umzusetzen, gibt es eine Vielzahl an Hilfsmittel wie den GNU Autoconf. Zusätzlich lassen sich als eine Alternative auch systemunabhängige Bibliotheken wie GTK+ einsetzen. Mehrere portable Programme sind oftmals im Quellcode bereits in einer vorgefertigten Version plattformübergreifend vorhanden.
  • Eingeschränkte Plattformunabhängigkeit – Diese Art liegt vor, wenn sich die Plattformunabhängigkeit nur auf die verschiedenen Hardware-Architekturen bezieht, aber nicht für einen bestimmten Prozessor-Typ verfügbar ist. Dieser Fall findet sich häufig bei Programmen die mit Assemblersprachen geschrieben sind, wozu frühere Mikrocomputer unter CP/M gehören. Mittlerweile findet sich diese Schreibweise nur noch bei besonders zeitkritischen Programmstellen, zumal im Sinne der Plattformunabhängig in den meisten Fällen noch eine Version in Hochsprache vorhanden ist. Letztlich findet sich die eingeschränkte Plattformunabhängigkeit noch bei Programmen, die nur auf einer speziellen Betriebssystem-Familie funktionieren.