Oprogramowanie pośredniczące (ang. middleware) jest to rodzaj oprogramowania umożliwiający komunikację pomiędzy różnymi aplikacjami/usługami lub systemami. Architektura oprogramowania pośredniczącego jest wykorzystywana głównie w systemach rozproszonych przy łączeniu ze sobą różnych komponentów oprogramowania (często znajdujących się na różnych platformach) lub komunikacji z kanałami dostępu do nich.
Oprogramowanie middleware ma za sobą długą historię sięgającą lat 60 i na początku było stworzone do budowy centralnych systemów informatycznych (ważnych instytucji i banków) oraz komunikacji z nimi.
Przykładami middleware są:
- Monitory transakcyjne (Tuxedo, CICS, MQSeries). Są to systemy transakcyjne najczęściej wykorzystywane przy budowie centralnych systemów bankowych.
- Systemy bazodanowe (DB2, Oracle database, MySQL).
- Procesory zapytań (rozmaitego rodzaju aplikacje integrujące interfejsy różnych komponentów aplikacyjnych, np. Enterprise Integration Portals, w których zapytania zadawane przez aplikację, np. CRM, są przetwarzane na zapytania obsługiwane przez inną aplikację, np. system bilingowy).
- DDR (ang. Data Driven Routing) pozwalający na budowę rozproszonej bazy danych w oparciu o bazy nie obsługujące rozproszonych transakcji.
Obecnie termin middleware zaczyna mieć nieco szersze znaczenie, co wiąże się z wprowadzeniem oprogramowania pośredniczącego w transakcjach internetowych (CORBA, COM+) i innego oprogramowania łączącego klienta z usługodawcą (agenty).