Wat is een interface?

De interface, in de softwarewereld software-interface of software-side data interface genoemd, is een logisch contactpunt binnen een softwaresysteem. Het maakt de uitwisseling van commando’s en gegevens tussen verschillende processen en componenten mogelijk en regelt deze.

De interface, in de softwarewereld aangeduid als software-interface of software-side data interface, vertegenwoordigt een logisch contactpunt binnen een softwaresysteem. Het maakt de uitwisseling van commando’s en gegevens tussen verschillende processen en componenten mogelijk en regelt deze.

Gegevensgeoriënteerde of functionele eenheden

Interfaces die in software worden gebruikt, worden in principe onderverdeeld in gegevensgeoriënteerde interfaces, die uitsluitend voor communicatie worden gebruikt, en interfaces die als functionele eenheden dienen.

Data-georiënteerde interfaces bevatten alleen informatie die wordt uitgewisseld tussen de betrokken systemen.

Interfaces die dienen als functionele eenheden, daarentegen, voeren elk een specifieke functionaliteit uit die dient om de betrokken systemen te synchroniseren of te ondersteunen. Printerdrivers kunnen hier als voorbeeld worden genoemd.

Inter-proces communicatie (IPC)

Dit type interface zorgt voor de communicatie tussen verschillende programma’s op identieke of verschillende hardwareplatforms. Zo kunnen de bekende netwerkprotocollen TCP en HTTP worden beschouwd als IPC-interfaces.

Interfaces voor programma-onderdelen

Dit zijn formele declaraties van welke functies in het systeem aanwezig zijn en hoe ze kunnen worden aangesproken. Op die manier kunnen modules die dezelfde interface hebben, voor elkaar worden geruild. Dergelijke interfaces dienen derhalve om het softwarelandschap te modulariseren.

Interfaces voor programmabibliotheken

Interfaces voor programmabibliotheken, die samen met de toepassing in het geheugen worden geladen, zijn van groot belang. Deze bibliotheken worden ook wel dynamische bibliotheken genoemd. De interfaces maken het mogelijk te definiëren welke toepassing welke bibliotheek nodig heeft en in welke versie. Criteria voor de evaluatie van interfaces zijn onder meer prestaties, schaalbaarheid, transactiebeveiliging en fail-safety.

Objectgeoriënteerde softwareontwikkeling

In objectgeoriënteerde softwareontwikkeling zijn interfaces van elementair belang. Zij worden gebruikt om, afhankelijk van de klasse, te bepalen welke methoden door de klasse moeten worden ondersteund en op welke punten het gebruik van instanties van deze klasse is toegestaan.