Sento che mi manca qualcosa nella domanda, dal momento che una buona risposta sembra come appare nel primo foglio linkato nella domanda ( Sistemi di autoguarigione basati su architetture di Towards ). Comunque, proverò a rispondere qui ...
Versione breve: un "connettore" è un canale di comunicazione tra "componenti", in cui "componenti" sono parti di un'applicazione che possono essere distribuite in modo indipendente. Un "connettore di prima classe" è un connettore che può essere facilmente manipolato da uno strumento, come un motore di manipolazione dell'architettura. Un'applicazione in cui i "connettori di prima classe" potrebbero essere utili è, per scegliere un esempio forse non del tutto casuale, diciamo, un sistema di autoguarigione basato sull'architettura.
Entrerò nei dettagli di seguito. Innanzitutto, hai chiesto:
Che cos'è un connettore di prima classe?
Penso che sia meglio rispondere in due parti:
- Che cos'è un connettore?
- Che cosa significa per il connettore essere "di prima classe"?
Che cos'è un connettore?
Un "connettore", in questo caso, è un canale di comunicazione tra i "componenti" di sistema, dove un "componente" è una parte indipendente del sistema che può comunicare con altri componenti tramite connettori. In altre parole, se si considera che è possibile suddividere un'applicazione in entità indipendenti implementabili, che possono comunicare tramite alcuni meccanismi, le entità indipendenti dalla distribuzione possono essere chiamate "componenti", mentre i meccanismi di comunicazione potrebbero essere "connettori".
Questo è un po 'al di fuori della mia zona di comfort (lavoro in sistemi embedded), quindi ho difficoltà a entrare nei dettagli nel presentare esempi, ma considero EJB. Ogni "bean" è dispiegabile indipendentemente e può essere considerato un "componente". Se due bean comunicano tramite CORBA, CORBA sarà considerato un connettore.
Che cosa significa per il connettore essere "di prima classe"?
Prima di tutto, qualcosa può essere considerato di prima classe solo nel contesto di alcuni strumenti (ampiamente definiti). In altre parole, le entità considerate di prima classe sono una funzione dello strumento che funziona con quelle entità. Quando questi autori suggeriscono di definire connettori di prima classe, in realtà stanno sostenendo la creazione o l'uso di strumenti specificamente progettati per consentire la manipolazione dei connettori. (Se non è naturale manipolare i connettori con lo strumento, allora i connettori non sarebbero entità "di prima classe" per quello strumento.)
Penso che questo diventerà più chiaro quando affronteremo la prossima parte della tua domanda:
Perché i connettori di prima classe possono essere utili?
Ad esempio, potresti voler inserire un tocco tra due componenti collegati da un canale unidirezionale. Un connettore di prima classe potrebbe facilitare ciò consentendo di identificare i punti finali del connettore esistente, creare un nuovo connettore dalla porta di origine del vecchio connettore alla porta di ingresso del rubinetto, un altro nuovo connettore dalla porta di uscita del rubinetto al connettore del vecchio porta di destinazione e distruggere il vecchio connettore. Si può dire che uno strumento progettato per supportare operazioni come questa abbia connettori di prima classe.
Un sistema di autoguarigione basato sull'architettura potrebbe richiedere che i connettori siano di prima classe per eseguire azioni come:
- Analizza i dati che fluiscono attraverso determinati connettori, per garantire che venga raggiunto un certo livello di servizio;
- Sostituisci le connessioni ai componenti guasti con i loro backup ridondanti;
- Verifica il carico che un componente può gestire, regolando la velocità delle comunicazioni attraverso il connettore;
- Identifica i colli di bottiglia delle comunicazioni;
-
Et cetera .
Non ho letto completamente nessuno dei due, e questo è un po 'al di fuori della mia timoneria, quindi prendi questo con molta cautela. Comunque, spero sia utile.