Middleware

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Middleware to warstwa pośrednicząca w aplikacji, najczęściej wykonywana między odebraniem żądania od użytkownika a wygenerowaniem odpowiedzi przez aplikację. Termin często pojawia się w aplikacjach webowych i frameworkach backendowych.

Do czego służy middleware?

Middleware może wykonywać zadania wspólne dla wielu części aplikacji, np.:

  • sprawdzanie, czy użytkownik jest zalogowany,
  • kontrolę uprawnień,
  • logowanie żądań,
  • obsługę sesji,
  • parsowanie danych z formularza lub JSON,
  • ochronę przed wybranymi atakami,
  • przekierowania.

Jak działa middleware?

Żądanie HTTP przechodzi przez kolejne warstwy pośrednie. Każda z nich może:

  • przepuścić żądanie dalej,
  • zmodyfikować dane,
  • zatrzymać żądanie,
  • zwrócić własną odpowiedź.

Przykład działania: użytkownik próbuje wejść do panelu administracyjnego. Middleware sprawdza, czy ma odpowiednie uprawnienia. Jeśli nie, aplikacja może przekierować go do strony logowania.

Middleware a framework

Middleware nie jest frameworkiem. Framework może jednak udostępniać mechanizm middleware i określać, gdzie takie warstwy należy umieszczać w projekcie.

Framework dotyczy organizacji całej aplikacji, natomiast middleware to konkretny element przetwarzania żądania.

W kontekście egzaminu

Jeżeli opis mówi o warstwie pośredniczącej, filtrującej lub obsługującej żądania, chodzi o middleware. Jeżeli opis mówi o narzędziu narzucającym strukturę tworzenia aplikacji, poprawnym terminem jest framework.