Middleware

Middleware ist eine Art Computertyp Software das bietet Dienstleistungen zu Softwareanwendungen über diejenigen hinaus im Betriebssystem erhältlich. Es kann als "Softwarekleber" beschrieben werden.[1]

Middleware erleichtert es für die Softwareentwickler Kommunikation implementieren und Input-Outputdamit sie sich auf den spezifischen Zweck ihrer Anwendung konzentrieren können. Es wurde in den 1980er Jahren als Lösung für das Problem der Verknüpfung neuerer Anwendungen mit älteren Legacy -Systemen gewonnen, obwohl der Begriff seit 1968 verwendet wurde.[2]

In verteilten Anwendungen

Softwarearchitektur: Middleware

Der Begriff wird am häufigsten für Software verwendet, die die Kommunikation und Verwaltung von Daten in ermöglicht verteilte Anwendungen. Ein Ietf Workshop im Jahr 2000 definierte Middleware als "die oben gefundenen Dienste Transport (d. H. Über TCP/IP) -Schichtsatz von Diensten, jedoch unterhalb der Anwendungsumgebung "(d. H. Unterhalb der Anwendungsebene Apis).[3] In diesem spezifischeren Sinne Middleware kann als Dash ("-") in beschrieben werden Kundenserver, oder der -zu- in Peer-To-Peer. Middleware beinhaltet Webserver, Anwendungsserver, Content -Management -Systemeund ähnliche Tools, die die Entwicklung und Bereitstellung von Anwendungen unterstützen.[4]

ObjectWeb definiert Middleware als: "die Softwareschicht, die zwischen dem liegt Betriebssystem und Anwendungen auf jeder Seite eines verteilten Computersystems in einem Netzwerk. "[5] Dienste, die als Middleware angesehen werden können Enterprise Application Integration, Datenintegration, Nachrichtenorientierte Middleware (MAMA), Objektanforderungsmakler (Kugeln) und die Dienstbus eines Unternehmens (ESB).[6]

Datenbank Zugriffsdienste werden häufig als Middleware charakterisiert. Einige von ihnen sind sprachspezifische Implementierungen und unterstützen heterogene Merkmale und andere verwandte Kommunikationsmerkmale.[7] Beispiele für datenbankorientierte Middleware enthalten ODBC, JDBC und Transaktionsverarbeitung Monitore.[8]

Das verteilte Computersystem Middleware kann locker in zwei Kategorien unterteilt werden-diejenigen, die Human-Time-Dienste (z. B. Webanfragenwartungen) und diejenigen, die in Maschinenzeit durchgeführt werden, anbieten. Diese letztere Middleware ist durch die etwas standardisiert Service Verfügbarkeitsforum[9] und wird üblicherweise in komplexen verwendet, eingebettete Systeme Innerhalb von Telekommunikation, Verteidigung und Luft- und Raumfahrt Branchen.[10]

Arten von Middleware

Es gibt viele Definitionen in Bezug auf die Kategorisierung von Middleware, die entweder auf dem Gebiet, in dem es verwendet wird, oder das Anwendungsmodul, das sie bedient. In der jüngsten Bibliographie sind die Hauptkategorien von Middleware die folgenden:[11]

  • Transaktion: Verarbeitung mehrerer synchroner/ asynchroner Transaktionen, die als Cluster von zugehörigen Anforderungen von verteilten Systemen wie Bankentransaktionen oder Kreditkartenzahlungen dienen.
  • Nachrichtenorientierte: Message Warteschlange und Nachrichtenübergabearchitekturen, die synchron/asynchrone Kommunikation unterstützen.
  • Verfahren: Remote- und lokale Architekturen zum Verbinden, Übergeben und Abrufen von Softwareantworten von asynchronen Systemkommunikationen wie einem Anrufbetrieb.
  • Objektorientiert: Ähnlich wie mit prozeduraler Middleware enthält diese Art von Middleware objektorientierte Programmierdesignprinzipien. Analytisch umfasst seine Softwarekomponente Objektreferenzen, Ausnahmen und Vererbung von Eigenschaften über verteilte Objektanforderungen.

Andere Beispiele

Der Begriff Middleware wird auch in anderen Kontexten verwendet. Middleware wird manchmal in ähnlicher Weise wie a verwendet Softwaretreiber, eine Abstraktionsebene, die Details über Hardware -Geräte oder andere Software aus einer Anwendung verbirgt.

  • Das Android Betriebssystem verwendet das Linux Kernel im Kern und bietet auch eine Anwendungsrahmen dass Entwickler in ihre Anwendungen einbeziehen. Zusätzlich, Android Bietet eine Middleware -Ebene einschließlich Bibliotheken die Dienste wie Datenspeicherung, Bildschirmanzeige, Anzeige, bereitstellen, Multimediaund Web -Surfen. Weil die Middleware -Bibliotheken sind zusammengestellt zu Maschinensprache, Dienste werden schnell ausgeführt. Middleware-Bibliotheken implementieren auch Gerätespezifische Funktionen, sodass Anwendungen und das Anwendungsrahmen nicht mit Abweichungen zwischen verschiedenen Android-Geräten betroffen sind. Die Middleware -Ebene von Android enthält auch die KUNST virtuelle Maschine und sein Kern Java Anwendungsbibliotheken.[12]
  • Middleware bezieht sich auch auf die Software, die zwei oder mehr APIs trennt und Dienste wie Ratenlimit, Authentifizierung und Protokollierung anbietet.
  • Game Engine Software wie GameBryo und Renderware werden manchmal als Middleware beschrieben, da sie viele Dienste zur Vereinfachung der Spielentwicklung anbieten.[13]
  • In Simulationstechnologie, Middleware wird im Allgemeinen im Kontext der verwendet High -Level -Architektur (HLA), das für viele verteilte Simulationen gilt. Es ist eine Softwareebene, die zwischen dem liegt Anwendungscode und die Laufzeitinfrastruktur. Middleware besteht im Allgemeinen aus einer Funktionsbibliothek und ermöglicht eine Reihe von Anwendungen - Simulationen oder Verbände in der HLA -Terminologie - TO. Seite Diese Funktionen aus der gemeinsamen Bibliothek, anstatt sie für jede Anwendung neu zu erstellen.[14]
  • Entwickler von drahtlosen Netzwerken können Middleware verwenden, um die mit a verbundenen Herausforderungen zu bewältigen drahtloses Sensornetzwerk (WSN). Das Implementieren einer Middleware -Anwendung ermöglicht WSN Entwickler Integration von Betriebssystemen und Hardware in die Vielzahl verschiedener Anwendungen, die derzeit verfügbar sind.[15]
  • Das Qnx Das Betriebssystem bietet Middleware für die Bereitstellung von Multimedia -Diensten für die Verwendung in Automobile, Flugzeug und andere Umgebungen.[16]
  • Radiofrequenz-Identifikation (RFID) Software -Toolkits bieten Middleware, um laute und redundante Rohdaten zu filtern.[17]

Siehe auch

Verweise

  1. ^ "Was ist Middleware?". Middleware.org. Technologie definieren. 2008. Archiviert vom Original am 29. Juni 2012. Abgerufen 2013-08-11.{{}}: CS1 Wartung: Ungeeignete URL (Link)
  2. ^ Gall, Nick (30. Juli 2005). "Ursprung des Begriffs Middleware".
  3. ^ "Heim". Ietf.
  4. ^ Etzkorn, L. H. (2017). Einführung in Middleware: Webdienste, Objektkomponenten und Cloud Computing. CRC Press. S. 4–5. ISBN 9781498754101.
  5. ^ Krakowiak, Sacha. "Was ist Middleware?". ObjectWeb.org. Archiviert von das Original Am 2005-05-07. Abgerufen 2005-05-06.
  6. ^ Luckham, D. C. (2011). Ereignisverarbeitung für Unternehmen: Organisieren des Echtzeitunternehmens. John Wiley & Sons. S. 27–28. ISBN 9781118171851.
  7. ^ Simon, A. R.; Wheeler, T. (2014). Öffnen Sie Client/Server Computing und Middleware. Akademische Presse. S. 43–49. ISBN 9781483214276.
  8. ^ Arregoces, M.; Portolani, M. (2003). Fundamentaldaten des Rechenzentrums. Cisco Press. S. 92–93. ISBN 9781587140747.
  9. ^ "Serviceverfügbarkeit Schnittstellenspezifikation" (PDF). Service Verfügbarkeitsforum. 30. September 2011. Abgerufen 26. Juli 2018.
  10. ^ Jokiaho, T.; Fryer, J. (2012). "Vorwort". Verfügbarkeit von Service: Grundsätze und Praxis. John Wiley & Sons. p. xv. ISBN 9781119941675.
  11. ^ Gazis, Alexandros; Katsiri, Eleftheria (15. März 2022). "Middleware 101: Was jetzt und für die Zukunft wissen soll". ACM -Warteschlange. Abgerufen 15. März 2022.
  12. ^ Charlie Collins, Michael Galpin und Matthias Kaeppler, Android in der Praxis, Manning Publications, 2011
  13. ^ Moore, M. E. (2006). Einführung in die Spielebranche. Pearson Prentice Hall. p. 169. ISBN 9780131687431.
  14. ^ Becchini, R.; Chilaev, P.; Krivtsov, V.; et al. (2003). "Kapitel 4: Middleware". In Drira, K.; Martelli, A.; Villemur, T. (Hrsg.). Genossenschaftsumgebungen für verteilte Systemtechnik: Der Bericht über verteilte Systeme Umgebungsbericht. Springer. S. 41–4. ISBN 9783540455820.
  15. ^ Hadim, S. und Mohamed, N. (2006). Middleware Herausforderungen und Ansätze für drahtlose Sensornetzwerke. IEEE verteilte Systeme online Vol. 7. Ausgabe 3. Abgerufen am 4. März 2009 von abgerufenIEEE verteilte Systeme online Archiviert 2011-09-28 bei der Wayback -Maschine
  16. ^ "QNX -Software schließt sich dem Internet seines Konsortiums von Japan an". QNX News Releases. Qnx. 6. Mai 2008. Abgerufen 26. Juli 2018.
  17. ^ Glover, b.; Bhatt, H. (2006). RFID Essentials. O'Reilly Media. S. 38–44. ISBN 9780596009441.

Externe Links

  • Die Wörterbuchdefinition von Middleware bei wiktionary