L'interfaccia, indicata nel campo del software come interfaccia software o interfaccia dati lato software, rappresenta un punto logico di contatto all'interno di un sistema software. Permette e regola lo scambio di comandi e dati tra diversi processi e componenti.
L'interfaccia, indicata nel campo del software come interfaccia software o interfaccia dati lato software, rappresenta un punto logico di contatto all'interno di un sistema software. Permette e regola lo scambio di comandi e dati tra diversi processi e componenti.
Interfacce orientate ai dati o unità funzionali
Le interfacce usate nel software si dividono fondamentalmente in interfacce orientate ai dati, che sono usate esclusivamente per la comunicazione, e interfacce che servono come unità funzionali.
Le interfacce orientate ai dati contengono solo informazioni che vengono scambiate tra i sistemi coinvolti.
Le interfacce che fungono da unità funzionali, invece, svolgono ciascuna una funzionalità specifica che serve a sincronizzare o supportare i sistemi coinvolti. I driver delle stampanti possono essere menzionati qui come esempio.
Comunicazione interprocesso (IPC)
Questo tipo di interfaccia stabilisce la comunicazione tra diversi programmi su piattaforme hardware identiche o diverse. Così, i ben noti protocolli di rete TCP e HTTP possono essere considerati come interfacce IPC.
Interfacce per i componenti del programma
Sono dichiarazioni formali di quali funzioni sono presenti nel sistema e come possono essere indirizzate. In questo modo, i moduli che hanno la stessa interfaccia possono essere scambiati tra loro. Pertanto, tali interfacce servono a modulare il paesaggio del software.
Interfacce per le librerie di programmi
Le interfacce per le librerie di programmi, che vengono caricate in memoria insieme all'applicazione, sono di grande importanza. Queste librerie sono anche chiamate librerie dinamiche. Le interfacce permettono di definire quale applicazione ha bisogno di quale libreria e in quale versione. I criteri per la valutazione delle interfacce includono la performance, la scalabilità, la sicurezza delle transazioni e la fail-safety.
Sviluppo di software orientato agli oggetti
Nello sviluppo di software orientato agli oggetti, le interfacce sono di importanza elementare. Sono usati per definire, a seconda della classe, quali metodi devono essere supportati dalla classe e in quali punti è permesso l'uso di istanze di questa classe.