Logo UGIdotNET

Discussione 'Remoting Newbie'

# Pubblicato il 26 apr 2004 17.35 - Rispondi
Andrea Boschin
Remoting Newbie
Ciao a tutti,

sono nuovo al remoting e dopo una lettura di quanto ho trovato in rete ho deciso di valutarlo per il mio prossimo progetto.

La mia idea è di usare il Remoting per far comunicare l'interfaccia con la logica. In sostanza creerei una serie di classi-logica "Remoted" che contengono i metodi per accedere alla base dati (un po' come se fosse un webservice).

La domanda che mi assilla è: serve veramente a qualcosa?

Se metto una macchina come client che istanzia le classi su un'altra macchina per mezzo di remoting, ho realmente una separazione del carico di lavoro su due macchine?

Tenete presente che non ho bisogno di transazionalità tra i metodi delle classi-logica perchè penso di cavarmela usando le transazioni all'interno di stored-proc sul database.

Spero di essermi spiegato.

Grazie in anticipo e ciao

Andrea
# Pubblicato il 26 apr 2004 17.58 - Rispondi
Alessandro Di Noia
Re: Remoting Newbie
Certo che serve!!! Diciamo che l'obiettivo maggiore che si ottiene utilizzando il remoting è proprio quello di decentrare il carico di lavoro su di una macchina server remota; ma non è il solo vantaggio, ce ne sono molti altri anche se c'è da dire che non sono tutte rose e fiori. Siccome il discorso è lungo e complesso ti posso fornire un link sul quale trovare diverse indicazioni pratiche sul mondo del remoting:
http://www.ingorammer.com/remotingFAQ/

Ingo Rammer è riconosciuto universalmente come uno dei maggiori esperti mondiali (nonostante la giovane età) sui sistemi distribuiti.

Stai sicuro che se muove un obiezione a particolari tecniche messe a disposizione dal .NET Remoting in certe configurazioni (eventi su internet) è perchè esse esistono davvero (vale sempre e comunque la pena di sperimentarle in prima persona).


HTH

Alessandro
# Pubblicato il 26 apr 2004 18.08 - Rispondi
Andrea Boschin
Re: Remoting Newbie
Grazie della pronta risposta. In effetti la mia domanda è nata proprio da un articolo di Ingo Rammer sul quale si dice:

> Do not try to fit distributed transactions, security, and such into custom channel > sinks. Instead, use Enterprise Services if applicable in your environment. .NET
> Remoting isn't a middleware, it is just a transport protocol - if you need
> services, use a service-oriented framework!

Queste due righe hanno minato brutalmente la mia sicurezza...

Ora, rileggendolo a mente fredda, dato che escludo l'uso di transazioni distribuite, non ho bisogno di Enterprise Services, mentre ho ancora qualche dubbio rispetto il "service-oriented framework"...

Secondo voi che vantaggi mi da rispetto all'uso di Remoting vero e proprio?

Ciao e grazie.
# Pubblicato il 30 apr 2004 23.58 - Rispondi
Raffaele Rialdi
Re: Remoting Newbie
> Queste due righe hanno minato brutalmente la mia sicurezza...
Perchè mai? Ingo Rammer innanzitutto sottolinea una cosa fondamentale: se esiste già una tecnologia che risponde ai requisiti (enterprise services) perchè ti dovresti scrivere un channel sink customizzato?
Remoting è un ottimo sistema per dialogare tra diversi layer di un'applicazione laddove tutti i layer possano essere dotnet.

> Ora, rileggendolo a mente fredda, dato che escludo l'uso di transazioni distribuite, non
> ho bisogno di Enterprise Services, mentre ho ancora qualche dubbio rispetto il
> "service-oriented framework"...
SOA è un'architettura, non una tecnologia.
Ti consiglio di dare un'occhio alle slides e agli esempi di questo workshop che ha parlato proprio di tutti questi argomenti.
http://www.ugidotnet.org/workshops/workshops_read.aspx?WorkshopID=10

Pierre ha trattato SOA ed il suo futuro in Longhorn, cioè Indigo.
Io ho trattato Remoting con due esempi che vogliono prima di ogni altra cosa lasciare una porta aperta alla migrazioe verso Indigo. Gli esempi usano volutamente il factory pattern invece di altre strategie nell'architettura soprattutto per diminuire lo sforzo del porting verso Indigo.

Raffaele


© 2001 User Group Italiano UGIdotNET. Tutti i diritti riservati. Note legali. - Partita IVA 01927050185