Mellanprogramvara

Från Wikipedia
Version från den 2 januari 2018 kl. 00.07 av WikiPhoenix (Diskussion | Bidrag) (→‎top: fetkursiverar "middleware" och "mellanvara" då dem omdirigerar hit)

Mellanprogramvara (även MW, middleware (från engelskan) eller mellanvara) är mjukvara mellan operativsystemetservrar i nätverk och/eller klienter och själva slutanvändartjänsten som ligger på klienten. Middleware tillhandahåller tjänster såsom identifiering, autentisering och säkerhet. En vanlig analogi brukar vara att middleware är som ett lim mellan två redan existerande mjukvarukomponenter.

Middleware används oftast för att stödja distribuerade system, såsom vanliga webbservrar

Definition

Det finns många definitioner av middleware. Från till exempel publikationen av ett NGI (Next Generation Internet) seminarium som ägde rum 1997 [1] kan man läsa att ”Middleware kan ses som ett återanvändbart, utvecklingsbart set av tjänster och funktioner som används ofta av många applikationer för att fungera väl i en nätverksmiljö”.


Ursprung

Middleware började användas under slutet av 1970-talet och början av 1980-talet. I ett projekt vid namn I-WAY, där man jobbade med att koppla ihop datorer till ett (i USA) nationellt nätverk, kom man snart fram till att för att få ett ordentligt hög-prestanda nätverk så behövdes tjänster som då inte fanns. Globus, ett annat projekt, demonstrerade hur middleware kunde användas för att öka applikationsprestandan i distribuerade domäner.

Typer av Middleware

Bland de vanligaste typerna av Middleware är[2]:

  • transaktionell mellanprogramvara (transactional MW) - Tillhandahåller verktyg och miljö för att utveckla och sprida distribuerade applikationer (typiskt databaser).
  • procedurell mellanprogramvara (procedural MW) - Tillåter en klient att anropa funktioner på en server, som att det vore lokalt. Typexempel: RPC.
  • meddelandeinriktad mellanprogramvara (message-oriented MW - MOM) - Tillhandahåller verktyg för att överföra data från program till program genom meddelandeskickande.
  • objekt- och komponentmellanvara (object and component MW) - vidareutveckling av procedurell mellanprogramvara som dessutom möjliggör användande av distribuerad objekt-orienterad programmering.

Vanliga tjänster

Enligt Internet2[3] så finns det 5 huvudtjänster som alla andra middleware tjänster är beroende av. Dessa är:

  • Identifiers – Används för att hålla koll på vilken person, grupp eller vilket objekt som hanteras.
  • Authentication – Processen att säkerställa (exempelvis en användarens) identitet.
  • Directories – Innehåller information som används för att exempelvis beskriva vilken väg specifik nätverkstrafik ska ta, eller spara information om användare.
  • Authorization – Definierar vad som är tillåtet (tex vad en användare får göra).
  • Certificates and public key infrastructure.

Objektorienterad Middleware

Objektorienterad Middleware (OOM) skapades för att kunna använda det objektorienterade programmeringsmönstret i distribuerade system[4]. Det ger bland annat tillgång till att använda distribuerade objekt, vilket betyder att en klient kan anropa ett objekts funktion som ligger på en annan dator, allt medan klienten tror att anropet sker lokalt.

Exempel på teknologier som stödjer objektorientering är CORBA, Java RMI, JINI, DCOM och .NET.

Källor

  1. ^ [1] Research challenges for the next generation internet
  2. ^ Wolfgang Emmerich, "Software Engineering and Middleware: a Roadmap", in Proceedings of the Conference on The Future of Software Engineering (ICSE '00), ACM, 2000, pp. 117-129
  3. ^ Internet2
  4. ^ Introduktion till OOM

Externa länkar

Vad är middleware?