Componente

Nelle discipline di programmazione e ingegneria, un componente è una parte identificabile di un programma o di una costruzione più ampia. Di solito, un componente fornisce una particolare funzione o un gruppo di funzioni correlate. Nella progettazione della programmazione, a sistema è diviso in componenti che a loro volta sono costituiti da moduli. Test dei componenti significa testare tutti i moduli correlati che formano un componente come un gruppo per assicurarsi che funzionino insieme.

Nella programmazione orientata agli oggetti e nella tecnologia a oggetti distribuiti, un componente è un blocco predefinito di programma riutilizzabile che può essere combinato con altri componenti nello stesso o altri computer in una rete distribuita per formare un'applicazione. Esempi di un componente includono: un singolo pulsante in un'interfaccia utente grafica, un calcolatore di piccoli interessi, un'interfaccia per un gestore di database. I componenti possono essere distribuiti su diversi server in una rete e comunicare tra loro per i servizi necessari.

Sun Microsystems, la cui interfaccia del programma applicativo JavaBeans definisce come creare un componente, definisce "un modello di componente" in quanto fornisce tipicamente questi principali tipi di servizi:

  • Esposizione e scoperta dell'interfaccia dei componenti. Pertanto, durante l'utilizzo dell'applicazione, un componente può interrogarne un altro per scoprirne le caratteristiche e come comunicare con esso. Ciò consente a diverse società (possibilmente fornitori di servizi indipendenti) di creare componenti in grado di interagire con i componenti di altre società senza dover sapere in anticipo esattamente con quali componenti lavoreranno.
  • Proprietà dei componenti. Ciò consente a un componente di rendere le sue caratteristiche pubblicamente visibili ad altri componenti.
  • Gestione degli eventi. Ciò consente a un componente di identificare in uno o più altri componenti che si è verificato un evento (come la pressione di un pulsante da parte dell'utente) in modo che il componente possa rispondere ad esso. Nell'esempio di Sun, un componente che forniva un'interfaccia utente a pulsante per un'applicazione finanziaria "sollevava" un evento quando il pulsante veniva premuto, con il risultato che un componente che calcolava il grafico assumeva il controllo, formulava un grafico e lo mostrava all'utente.
  • Persistenza. Ciò consente di preservare lo stato dei componenti per le sessioni utente successive.
  • Supporto per il generatore di applicazioni. Un'idea centrale dei componenti è che non solo saranno facili e flessibili per la distribuzione in una rete distribuita, ma che gli sviluppatori possono facilmente creare nuovi componenti e vedere le proprietà di quelli esistenti.
  • Imballaggio dei componenti. Poiché un componente può comprendere diversi file, come icone e altri file grafici, il modello dei componenti di Sun include una funzione per impacchettare i file in un unico formato di file che può essere facilmente amministrato e distribuito. (Sun chiama il loro pacchetto di componenti un formato di file JAR (Java Archive).)