Come consentire a più plug-in di fornire dati per più processi di aggregazione?

2

Sto lavorando a un progetto Java in cui vogliamo avere plug-in di raccolta dati che raccolgono i dati da elaborare da uno o più moduli di aggregazione dei dati. Tutti i plug-in saranno scritti internamente. Supponiamo ad esempio che abbiamo i plugin di raccolta dati A, B e C e il modulo di aggorizzazione dei dati X. I moduli A, B e amp; C immette i dati in tabelle che sono diverse ma hanno alcuni campi in comune a cui X si preoccupa. A volte i nomi dei campi sono diversi, ma per quanto riguarda l'algoritmo sono "uguali".

Qual è il modo migliore per far funzionare X su queste diverse fonti di dati pur consentendo di integrare un nuovo plug-in di raccolta dati D, oltre alla possibilità di un nuovo modulo di aggregazione Y che funziona su alcuni o tutti i fonti di dati?

Le mie preoccupazioni principali riguardano le dipendenze, ad esempio, se i plug-in di raccolta dati sono a conoscenza dei moduli di aggregazione o viceversa? O nessuno dei due? I plugin di raccolta dovrebbero implementare interfacce che gli aggregatori possono quindi utilizzare e, in caso affermativo, dove dovrebbero essere definite le interfacce?

    
posta Robert Johnson 29.07.2014 - 12:25
fonte

1 risposta

1

Fornisci un'API contenente le interfacce e il JavaDoc rispettato da AggregationModul, puoi aggiungere alcuni strumenti, puoi aggiungere delle annotazioni personalizzate extra come @MustBeThredSave o @DoNotSynchronize o @Obsolete , alcuni semplici strumenti come la conversazione -metodi o Helper sono ok anche nell'API. Usa @Documented e @Since -Annotazioni, usali per consentire a InputModules di sapere quando una versione supporterà il modulo.

JSF gestisce questo con un jsf-impl.jar e un jsf-api.jar e funziona come un incantesimo.

È anche una buona idea usare SecurityManager in AggregationModul e InputModuls A, B, C ( link ).

    
risposta data 30.07.2014 - 15:00
fonte

Leggi altre domande sui tag