PDA

Visualizza versione completa : Plugin,... come ?


realtebo
25-10-2004, 10.45.43
Sarei interessato ad alcune dritte di natura puramente teoriche (o no) su come si rende un programma 'a plugin'

ceccus
25-10-2004, 10.49.13
Salve,
Beh..l'architettura COM è indicata per lavorare a Plugin....
Ogni componente ha un proprio compito e non necessariamente possono essere installati tutti per avere funzionalità...Anzi, se suddividi il tuo progetto , diciamo, in 3 funzionalità, puoi svilupparlo con 4 componenti....
Uno Primario e i 3 secondari che corrispondono alle 3 funzionalità e che saranno installati o tutti insieme (funzionalità Full) o separati , a seconda della domanda dell' utente......

Ciao !!

P8257 WebMaster
25-10-2004, 11.02.47
Tecnicamente un "plug-in" è qualcosa che si appoggia sopra ad una base software preesistente..

Analiticamente un plugin dev'essere sviluppato per estendere ed utlizzare un certo set di funzionalità messe a disposizione dal framework base, il framework base deve essere predisposto per ospitare il plugin sia a livello architetturale che a livello documentativo.
Come citato, l'architettura COM e anche COM+ sono alcune soluzioni utilizzate in molti software per poter realizzare dei plugin, ma non sono le uniche .. esistono infatti altre metodologie che consentono di "esporre" un determinato set di API dal framework principale verso i plugin, come ad esempio CORBA e l'interfaccia funzionale che esso prevede o anche i web-services e l'interfaccia e lo scambio dati tramite XML.

Un plugin interagisce con il framework base attraverso uno specifico set di API conosciute e documentate.. attraverso queste chiamate il plugin manipola i dati provenienti dal framework e li estende provvedendo ad ampliarne le funzionalità.

Bye :cool:

P8257 WebMaster
25-10-2004, 11.05.20
Dimenticavo..
In architettura COM e COM+ i plugi-in si "innestano" nel layer DLL, in architettura CORBA si innestano a livello "stub" infine, in architettura web-services si innestano a livello "outstream".

Bye :cool:

ceccus
25-10-2004, 11.11.58
Salve,
CORBA non lo avevo espressamente citato perchè è "l'antagonista" del mondo Windows , comunque , effettivamente , rappresenta per il mondo "non windows" ciò che COM rappresenta per il mondo Windows....
Attenzione a non confondere COM (Component Object Model) con COM+....
COM sono specifiche di programmazione , COM+ è il prodotto di Microsoft che rende tali specifiche utilizzabili dalle applicazioni (detto in parole molto povere.....) e che è sorto sulle "ceneri" di MTS (Microsoft Transaction Server)
Poi, la solita "dabbenaggine" di Microsoft ha confuso una metodologia di programmazione (COM) con lo strumento....infatti, COM è allo stesso tempo metodologia e , purtroppo, API che devono essere utilizzate per rendere un'applicazione aderente allo standard COM....
I Web Services sono un'altro strumento molto utile a patto che non si debbano gestire delle Transazioni. In questo caso, è meglio evitare accuratamente il loro utilizzo...visto anche che le WS-Transaction non sono ancora state ufficializzate.....

Ciao !!

P8257 WebMaster
25-10-2004, 12.03.58
Hai ragione,
ho citato COM e COM+ come due cose separate perché COM+ comprende metodologie e specifiche di programmazione leggermente più avanzate rispetto a COM tradizionale anche se la linea guida è sempre la stessa.

Per quanto riguarda i webservices sono fondamentalmente daccordo anche se a mio avviso, l'alto livello di personalizzazioni e adattamenti che questo sistema è in grado di implementare lo rendono potenzialmente adatto a molti tipi di esigenza.

Bye :cool:

ceccus
25-10-2004, 14.23.54
Salve,
:) :D :cool:

Ciao !!

realtebo
25-10-2004, 14.54.19
mmmhh.. dato che io mi affaccio alla piattaforma .NET mi piacerebbe evitare di usare le tecnologie COM e COM+. Forse trovare un sistema per farlo trami XML non sarebbe male... mi chiedo solo:

- perchè una applicazione che fa, per esempio, da client email abbia il supporto ai plugin, questa (e il softwarista :) che ci sta dietro) deve prevedere un certo numero di cose o di parti del programma che possono essere rese disponibili ai plugin, giusto ?

ceccus
25-10-2004, 14.59.30
Salve,
Direi proprio di sì....e pensare il più possibile in modo "atomico", cioè da spezzettare le varie funzionalità....
Per il discorso COM, beh...da piattaforma .NET è possibile richiamare componenti "old style"....via Interop e la cosa funziona...anche abbastanza bene.....
Ripeto , per gestire transazioni distribuite, la via COM (utilizzando COM+) è ancora quella da utilizzare, visto che al DTC (Distribute Transaction Coordinator) si possono iscrivere SOLO oggetti COM (per il momento.....)

Ciao !!

realtebo
25-10-2004, 16.49.33
quindi .NET, anche dopo l'upgrade al 1.1 non prevede un meccanismo nativo !?

Dio quanto odio la microsoft... giuro che appena finisco il software che sto facendo col framework 1.1 passo a programmare sotto Linux....

ceccus
25-10-2004, 17.05.12
Salve,
Attenzione...ho detto "Transazioni Distribuite"....se non sei in questo caso, la cosa si può benissimo gestire anche da .NET....in caso contrario...NO

Ciao !!

Larthal
29-10-2004, 15.16.46
Può essere utile?
http://www.developerfusion.com/show/4371/

ceccus
29-10-2004, 15.21.26
Salve,
Direi di sì....affronta la cosa in modo "non filosofico" ma "reale" e quindi utile.....grazie per la precisazione.

Ciao !!