Midd­le­wa­re ist eine Art Über­set­zungs­ebe­ne zwischen einem Be­triebs­sys­tem und den darauf laufenden Ap­pli­ka­tio­nen. Diese er­mög­licht den Austausch und die Ver­wal­tung von Daten, wenn Be­triebs­sys­tem und Anwendung nicht mit­ein­an­der kom­pa­ti­bel sind.

Was ist Midd­le­wa­re?

Midd­le­wa­re ist eine Software, die un­sicht­bar im Hin­ter­grund läuft. Es ist eine Anwendung, die sich zwischen einem Be­triebs­sys­tem und darauf aus­ge­führ­ten Pro­gram­men befindet. Midd­le­wa­re funk­tio­niert wie ein ver­bor­ge­ner Über­set­zer und er­mög­licht so die Kom­mu­ni­ka­ti­on und Ver­wal­tung ver­teil­ter An­wen­dun­gen. Midd­le­wa­re ist in der Lage, zwei An­wen­dun­gen mit­ein­an­der zu verbinden, damit Daten und Da­ten­ban­ken einfacher aus­ge­tauscht werden können. So können Internet-Nut­ze­rin­nen und -Nutzer all­täg­li­che An­wen­dun­gen wie das Absenden von For­mu­la­ren auf einer Webseite durch­füh­ren oder auf ihr Be­nut­zer­pro­fil zu­ge­schnit­te­ne Er­geb­nis­se von dy­na­mi­schen Webseiten erhalten. Man kann Midd­le­wa­re als Werkzeug für den Austausch zweier Sprachen verstehen.

Die Ent­wick­lung von Midd­le­wa­re

Von 2000 bis etwa 2010 war Midd­le­wa­re-Software ein Synonym für das Konzept eines An­wen­dungs­ser­vers. Mit der zu­neh­men­den Be­liebt­heit von Cloud Computing und der Ablösung mo­no­li­thi­scher Systeme durch Mi­cro­ser­vices verändert sich die Midd­le­wa­re jedoch.

Anstatt komplette An­wen­dun­gen auf Midd­le­wa­re-Servern be­reit­zu­stel­len, tendieren Ent­wick­le­rin­nen und Ent­wick­ler dazu, kleinere, auf Mi­cro­ser­vices ba­sie­ren­de An­wen­dun­gen zu erstellen. An­schlie­ßend verpacken sie diese Mi­cro­ser­vices mit dem gesamten Wissen, das für die Ver­bin­dung mit den be­nö­tig­ten Backend-Res­sour­cen er­for­der­lich ist, und stellen die An­wen­dun­gen in einem con­tai­ner­ba­sier­ten System wie Docker bereit.

Der Docker-Container wird dann in einem cloud­ba­sier­ten Dienst be­reit­ge­stellt. Die Midd­le­wa­re läuft dabei als Kom­bi­na­ti­on aus dem im Container ge­hos­te­ten Mi­kro­dienst und der Cloud-Computing-In­fra­struk­tur, auf der der Container läuft. Dadurch werden weniger Res­sour­cen ver­braucht als bei einem her­kömm­li­chen Server oder auf einer vir­tu­el­len Maschine.

Tipp

IONOS bietet Ihnen das passende Docker Hosting für Ihre An­wen­dun­gen in einem con­tai­ner­ba­sier­ten System.

Woher kommt der Name Midd­le­wa­re?

Das Wort „Midd­le­wa­re“ stammt aus dem Eng­li­schen und kann mit „Zwi­schen­an­wen­dung“ übersetzt werden. Es handelt sich um eine Diens­te­schicht (eine Software), die zwischen nut­zer­sei­ti­gen Eingaben am Frontend und den im Backend laufenden Abfragen oder Be­rech­nun­gen sitzt. Ein Client (Benutzer bzw. Be­nut­ze­rin) wird in der Regel eine Anwendung ausführen, die sich auf dem Frontend befindet, über das er bzw. sie mit der Software in­ter­agiert. Res­sour­cen wie Da­ten­ban­ken, Da­tei­ser­ver, NoSQL-Da­ten­spei­cher und Nach­rich­ten­war­te­schlan­gen und befinden sich dagegen oft im Backend. Die Midd­le­wa­re sitzt in der Mitte zwischen diesen Enden.

Typische Merkmale einer Midd­le­wa­re

Um von Midd­le­wa­re zu sprechen, muss sie ver­schie­de­ne Merkmale erfüllen und eine Reihe von Funk­tio­nen un­ter­stüt­zen. Darunter fallen die folgenden Punkte:

  • Sie arbeitet un­ab­hän­gig von der vor­han­de­nen Hardware und vom ein­ge­setz­ten Be­triebs­sys­tem.
  • Sie ist un­ab­hän­gig von der spe­zi­fi­schen Ge­stal­tung des Netzwerks und der ver­wen­de­ten Pro­to­kol­le.
  • Sie darf nicht von einer Pro­gram­mier­spra­che abhängig sein.
  • Sie läuft unbemerkt im Hin­ter­grund.

Typen von Midd­le­wa­re

Es gibt viele Beispiele für Midd­le­wa­re, die jeweils für ver­schie­de­ne An­wen­dun­gen in Web- und Cloud-Diensten ent­wi­ckelt wurde. Midd­le­wa­re lässt sich in drei un­ter­schied­li­che Ein­satz­be­rei­che einteilen. Diese fallen wie folgt aus:

Midd­le­wa­re für die Kom­mu­ni­ka­ti­on

Diese Art der Software ist dafür gemacht, un­ter­schied­li­che Netz­werk­ty­pen auf eine Ebene zu bringen und eine Kom­mu­ni­ka­ti­on un­ter­ein­an­der möglich zu machen. Man findet diese Anwendung bei Web­diens­ten, bei denen es über das HTTP-Protokoll möglich wird, dass sich zwei Computer un­ab­hän­gig vom Be­triebs­sys­tem über das Internet verbinden.

Midd­le­wa­re für Nach­rich­ten

Diese Art von Midd­le­wa­re wird genutzt, wenn zwei un­ter­schied­li­che Ap­pli­ka­tio­nen Nach­rich­ten aus­tau­schen wollen. In welcher Form dies geschieht, wird über die be­tref­fen­de Midd­le­wa­re bestimmt. Die be­tei­lig­ten Ap­pli­ka­tio­nen sind in der Lage, über dieses Nach­rich­ten­for­mat In­for­ma­tio­nen zu senden und zu empfangen. Web­diens­te nutzen dieses Format oder auch das populäre JSON (Ja­va­Script Object Notation).

Midd­le­wa­re für An­wen­dun­gen

Bei Midd­le­wa­re kann es sich um Pro­gram­mier­spra­chen oder Be­triebs­sys­te­me handeln, die so kon­stru­iert sind, dass sie platt­form­un­ab­hän­gig funk­tio­nie­ren. Sie kennen viel­leicht die Pro­gram­mier­spra­che .NET, mit der An­wen­dun­gen für mehrere Be­triebs­sys­te­me pro­gram­miert werden können. API-Midd­le­wa­re stellt Ent­wick­le­rin­nen und Ent­wick­lern Werkzeuge zur Verfügung, mit denen sie APIs für ihre An­wen­dun­gen erstellen, of­fen­le­gen und verwalten können, damit andere Ent­wi­ckeln­de eine Ver­bin­dung zu ihnen her­stel­len können. RPC-Midd­le­wa­re erlaubt es einer Anwendung, eine Prozedur in einer anderen Anwendung aus­zu­lö­sen. Diese Prozedur kann dank RPC auf demselben Computer, auf einem anderen Computer oder über das Netzwerk laufen.

Wie funk­tio­niert Midd­le­wa­re?

Auf der ein­fachs­ten Ebene er­mög­licht Midd­le­wa­re Ent­wi­ckeln­den, An­wen­dun­gen zu erstellen, ohne jedes Mal für eine be­nut­zer­de­fi­nier­te In­te­gra­ti­on sorgen zu müssen, wenn sie eine Ver­bin­dung zu An­wen­dungs­kom­po­nen­ten, Da­ten­quel­len, Re­chen­res­sour­cen oder Geräten her­stel­len. Dies geschieht durch die Be­reit­stel­lung von Diensten, die es er­mög­li­chen, über gängige Messaging-Frame­works zu kom­mu­ni­zie­ren. Beispiele für solche Frame­works sind JSON (Ja­va­Script Object Notation), REST (Re­pre­sen­ta­tio­nal State Transfer), XML (Ex­ten­si­ble Markup Language), SOAP (Simple Object Access Protocol) oder Web­ser­vices.

In der Regel stellt Midd­le­wa­re auch Dienste zur Verfügung, die eine Kom­mu­ni­ka­ti­on zwischen Kom­po­nen­ten er­mög­li­chen, die in ver­schie­de­nen Sprachen ge­schrie­ben wurden, z. B. Java, C++, PHP, Python.

An­wen­dungs­fäl­le von Midd­le­wa­re

Ohne es zu wissen, arbeiten die meisten Menschen tag­täg­lich mit Hilfe von Midd­le­wa­re. Folgende Einsätze sind typisch:

Brow­se­r­ü­ber­grei­fen­de Ver­stän­di­gung

An­wen­dun­gen in Web­brow­sern werden meistens über Midd­le­wa­re be­werk­stel­ligt. Das Ausfüllen von Kon­takt­for­mu­la­ren oder die Anmeldung für einen News­let­ter sind oft genutzte An­wen­dun­gen. Egal von welchem Browser oder Be­triebs­sys­tem die Eingabe stammt, Midd­le­wa­re kann sie in ein uni­ver­sel­les Format über­set­zen und in einer Datenbank speichern.

Zugriff auf Backends ver­mit­teln

Midd­le­wa­re verwaltet die Kon­nek­ti­vi­tät zu ver­schie­de­nen Backend-Res­sour­cen. Eine solche Kom­po­nen­te kann einen schnellen und ef­fi­zi­en­ten Zugriff auf eine Backend-Datenbank er­mög­li­chen. Darüber hinaus kann eine Midd­le­wa­re-Software Ver­bin­dun­gen zu cloud­ba­sier­ten Res­sour­cen verwalten.

An den Benutzer bzw. die Be­nut­ze­rin an­ge­pass­te Ver­ar­bei­tung

Midd­le­wa­re kann eine Anfrage des Benutzers bzw. der Be­nut­ze­rin ent­ge­gen­neh­men und Daten ermitteln, mit denen dann die Anfrage-Er­geb­nis­se angepasst werden. Die Midd­le­wa­re-Anwendung kann bei­spiels­wei­se erkennen, dass ein Client-Browser, der eine bestimmte Anfrage stellt, die Kopfzeile für die Sprache auf Englisch ein­ge­stellt hat. Die Abfragen an das Backend werden angepasst, sodass nur Er­geb­nis­se auf Englisch zu­rück­ge­ge­ben werden.

Noch ein Beispiel ist die geo­gra­fi­sche Stand­ort­be­stim­mung des an­fra­gen­den Clients anhand seiner IP-Adresse. Der Server kann dann Daten zu­rück­sen­den, die am besten zum Standort passen.

Ma­nage­ment von Rech­ner­res­sour­cen

Midd­le­wa­re spielt eine wichtige Rolle bei der gleich­zei­ti­gen Ver­ar­bei­tung, dem Last­aus­gleich und der Trans­ak­ti­ons­ver­wal­tung. Sie ist in der Lage, ein­ge­hen­de Client-Anfragen auf mehrere Server, virtuelle Maschinen oder Ver­füg­bar­keits­zo­nen in der Cloud zu verteilen.

Midd­le­wa­re-Software kann auch Konflikte managen, die mög­li­cher­wei­se auf­tau­chen, wenn mehrere Clients parallel anfragen und versuchen, auf eine bestimmte In­for­ma­ti­on im Backend zu­zu­grei­fen oder diese zu verändern. Wenn der An­wen­dungs­ver­kehr zunimmt, kann die Firmen-Midd­le­wa­re so ein­ge­rich­tet werden, dass Client-Anfragen auf mehrere Server verteilt werden, sei es vor Ort oder in der Cloud.

Prüfung von Zu­griffs­rech­ten

Midd­le­wa­re überwacht und sichert den Zugriff auf Backend-Res­sour­cen. Sie kann die Be­rech­ti­gung von Clients abfragen. Dies erfordert eine sichere Ver­bin­dung über TLS und benötigt entweder eine Au­then­ti­fi­zie­rung, bestehend aus Be­nut­zer­na­men und Passwort, oder ein digitales Zer­ti­fi­kat. Mit Hilfe dieser Si­cher­heits­fea­tures wird dann geprüft, ob dem externen Client der Zugriff auf die be­tref­fen­den Da­ten­ser­ver gestattet werden kann. Wird die Be­rech­ti­gung erteilt, werden die Daten über eine sichere und ver­schlüs­sel­te Ver­bin­dung vom Midd­le­wa­re-Server an den Client gesendet.

Wie wird Midd­le­wa­re in Un­ter­neh­men ein­ge­setzt?

Die Funktion von Midd­le­wa­re ist es, Kom­mu­ni­ka­ti­on zwischen ver­schie­de­nen Systemen möglich zu machen. Typische Vorgänge in Un­ter­neh­men sind:

  • Ver­wal­tung von Fi­nanz­trans­ak­tio­nen
  • Programme für die Si­cher­heits­au­then­ti­fi­zie­rung der Mit­ar­bei­ten­den
  • Ko­or­di­nie­rung von rech­ner­in­ten­si­ven An­wen­dun­gen auf Fir­men­ser­vern

Welcher Nach­rich­ten­typ zu Anwendung kommt, kann von der Firma, die die Midd­le­wa­re im Einsatz hat, bestimmt werden. Die Ent­schei­dung hängt davon ab, welche Dienste im Un­ter­neh­men ein­ge­setzt werden und welche Art von Daten über die Midd­le­wa­re ver­ar­bei­tet werden sollen.

Tipp

Die passende Ser­ver­lö­sung für die Di­gi­ta­li­sie­rung Ihres Un­ter­neh­mens finden Sie bei IONOS: Unsere Cloud Server passen sich flexibel an Ihren Bedarf an, sind hoch­ver­füg­bar und werden in ISO-zer­ti­fi­zier­ten Re­chen­zen­tren in Deutsch­land gehostet.

Zum Hauptmenü