Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Ottimizzazione accesso

0 views
Skip to first unread message

Riddler ?

unread,
Feb 4, 2009, 5:29:17 AM2/4/09
to
Buon giorno,
mentre se ne risolve in teoria una ... e ci si mette alla pratica ...
ecco che me ne viene in mente un altra ;-)

Ho un WS tradizionale (asmx) a cui vi si accede una web application
attraverso un ulteriore livello di astrazione ( ancora in sviluppo
come da altro post ... )

Mi chiedevo ...

Nella fase di login l'utente procede in questo modo

invio di User e Password attraverso SAL ( Service Access Layer ) al WS
se riceve il consenso la web app arriva al menù principale ( in cui
poi dovrò differenziale la GIU a seconda dei Roles di appartenenza ...
un problema alla volta ... )

Quello che mi chiedevo era se è possibile ( credo proprio di sì ... )
e qual'è il modo migliore per gestire una operazione in modo
trasparente all'utente ed efficacemente ...

SE l'utente ha le credenziali comincerà ad interagire attraverso SAL
al WS e le operazioni che effettuerà necessitano di manipolazioni lato
WS sul file system nella sua cartella.

Al primo accesso ( a meno che NON abbia volutamente cancellato
l'area ) devo creare la sua cartella e le varie sottocartelle.

Posso procedere alla creazione e DOPO restituire OK per l'accesso o
devo scomodare un thread che mentre restituisce OK per laccesso va
avanti per suo conto creando se necessario l'area?

Vi chiedo perchè ... NON mi convince scomodare un thread per una
semplice creazione di una cartelle e sarei più oriantato PRIMA sulla
creazione ed al termine la restituzione di OK

cosa dite?

grazie

saluti

--
Riddler ?

Mauro Servienti [MVP]

unread,
Feb 4, 2009, 8:29:23 AM2/4/09
to
Ciao Riddler ?,

You wrote on 04/02/2009 :
> Posso procedere alla creazione e DOPO restituire OK per l'accesso o
> devo scomodare un thread che mentre restituisce OK per laccesso va
> avanti per suo conto creando se necessario l'area?
>

non capisco perchè le due cose debbano andare in questo ordine.
L'accesso è una cosa mentre la struttura del workspace perchè l'utente
possa operare è un'altra. Io direi che la procedura di autenticazione
semplicemente si occupa di eseguire l'autenticazione, al primo
tentativo di operazioni da parte dell'utente se il suo workspace non è
configurato come si deve verrà configurato al volo e poi farà
l'operazione richiesta.

> grazie
> saluti

.m

--
Mauro Servienti
Microsoft MVP - Visual C# / MCP
http://mvp.support.microsoft.com
http://blogs.ugidotnet.org/topics
whynot [ at ] topics [ dot ] it


Riddler ?

unread,
Feb 4, 2009, 9:15:07 AM2/4/09
to
On 4 Feb, 14:29, Mauro Servienti [MVP] <mauroservie...@online.nospam>
wrote:
A rieccoci!

Grazie Mauro, oggi Vi/ti sto bombardando ;-)


> > Posso procedere alla creazione e DOPO restituire OK per l'accesso o
> > devo scomodare un thread che mentre restituisce OK per laccesso va
> > avanti per suo conto creando se necessario l'area?
>
> non capisco perchè le due cose debbano andare in questo ordine.
> L'accesso è una cosa mentre la struttura del workspace perchè l'utente
> possa operare è un'altra.

sì vero, hai RAGIONE mi hai fatto accendere una lampadina!
potrei spostare il tutto alla prima richiesta di operazione che
richiede l'area allora ...

cosa ne dici ?

lancio operazione X che necessita la working area ... se non c'è ...
---> la creo!

direi che va meglio così le cose sono separata

GRAZIE mille!

Imparo sempre qualcosa di nuovo oltre alla risoluzione delle mie
"granette"

;-)

ri-ri-riGraSSSie!


> Io direi che la procedura di autenticazione
> semplicemente si occupa di eseguire l'autenticazione, al primo
> tentativo di operazioni da parte dell'utente se il suo workspace non è
> configurato come si deve verrà configurato al volo e poi farà
> l'operazione richiesta.

NON avevo ancora letto ... euforia delle lampadina :-)
Mi hai fatto venire in mente la soluzione NON appena mi hai detto
delle due cose separate ...
;-)

Riconfermo quello detto sopra ;-)

saluti

--
Riddler ?

Riddler ?

unread,
Feb 4, 2009, 9:32:37 AM2/4/09
to
On 4 Feb, 14:29, Mauro Servienti [MVP] <mauroservie...@online.nospam>
wrote:
A-ri-ekkime!

> non capisco perchè le due cose debbano andare in questo ordine.
> L'accesso è una cosa mentre la struttura del workspace perchè l'utente
> possa operare è un'altra.

un flash!
Mi è venuto in mente il perchè avevo pensato alla creazione durante la
fase di login ..

Nell'area di lavoro devono essere copiati alcuni eseguibili necessari
alle elaborazioni future, sono un paio di mega al momento ... non
credo aumentino drasticamente facciamo max 5MB, ma credo rimangano
abbondantemente sotto ...

Per questo avevo pensato di copiarli subito al login se l'area non
esiste ...

Al massimo diventerà un pochino più lenta la prima elaborazione ;-)

Saluti

--
Riddler ?

Mauro Servienti [MVP]

unread,
Feb 5, 2009, 12:32:53 AM2/5/09
to
Ciao Riddler ?,

You wrote on 04/02/2009 :
> Nell'area di lavoro devono essere copiati alcuni eseguibili necessari
> alle elaborazioni future, sono un paio di mega al momento ... non
> credo aumentino drasticamente facciamo max 5MB, ma credo rimangano
> abbondantemente sotto ...
>

qui il discorso si complica, se vogliamo, e se non ricordo male in
parte l'avevamo già affrontato. Secondo me quello che *non* stai
facendo, vado molto a naso okkio, è che non stai modellando la tua
realtà ma ti fai facendo prendere dalla necessità di scrivere codice e
vedere qualcosa che funziona... probabilmente far vedere ad altri ;-)

Quella di avere la gestione dei workspace asincrona rispetto al resto
potrebbe essere una necessità più che lecita ma se non ci pensi adesso
farlo dopo rischia di essere un bagno di sangue.

Se modelli la tua realtà e definisci bene le classi e i ruoli ti
ritroverai ad avere probabilmente un signore che si occupa della
gestione degli workspace, se quindi domani mattina questa deve essere
rifattorizzata e diventare asincrona il gioco è abbastanza facile se il
codice che gesctisce gli workspace è parte intergrante di un web method
allora piangi... ;-)

ieni anche in considerazione che tutto ciò che gira dentro IIS, in
particolare dalla versione 6 in avanti, è per certi versi tutto tranne
che affidabile ;-) cosa vuol dire: il web/application server ha come
scopo quello della reliability quindi erogare sempre e comunque il
servizio, ergo ad esempio se secondo lui la tua app ciuccia troppo -->
recycle la tua app riparte e il servizio è su e pronto ma tu ti sei
perso tutto lo stato.. questo è solo un esempio ma ti fa capire che
scrivere applicazioni web stateless potrebbe essere vitale, lo stato e
le applicazioni web sono due cose che non quagliano, e un web service
asmx è un'applicazione web e come tale soggetta a molti dei vincoli.

Riddler ?

unread,
Feb 5, 2009, 1:12:44 AM2/5/09
to
On 5 Feb, 06:32, Mauro Servienti [MVP] <mauroservie...@online.nospam>
wrote:

> Ciao Riddler ?,
>
> You wrote on 04/02/2009 :
>
> > Nell'area di lavoro devono essere copiati alcuni eseguibili necessari
> > alle elaborazioni future, sono un paio di mega al momento ... non
> > credo aumentino drasticamente facciamo max 5MB, ma credo rimangano
> > abbondantemente sotto ...
>
> qui il discorso si complica, se vogliamo, e se non ricordo male in
> parte l'avevamo già affrontato.

sì quello era il discorso legato al singleton lato WS che controlla
che un utente NON faccia le stesse cose nella stessa cartella, questa
è solo una fase iniziale...

> Secondo me quello che *non* stai
> facendo, vado molto a naso okkio, è che non stai modellando la tua
> realtà ma ti fai facendo prendere dalla necessità di scrivere codice e
> vedere qualcosa che funziona... probabilmente far vedere ad altri ;-)

diciamo che NON ho io le redini in mano del tutto e devo per forza di
cose adattarmi alle esigenze :-(


> Quella di avere la gestione dei workspace asincrona rispetto al resto
> potrebbe essere una necessità più che lecita ma se non ci pensi adesso
> farlo dopo rischia di essere un bagno di sangue.

sì sì questo discorso è stato fatto fra le primissime cose è questa
anche se non sembra bella a vedersi è la scelta meno problematica per
l'utilizzazione della applicazione allo stato attuale delle cose ...
ci sono dei paletti da rispettare ... e questi paletti per far girare
il tutto ci hanno portato a questa struttura ... "quasi" obbligata per
NON generare pasticci ... ti risparmio le varie manfrine ... il
discorso è lungo e non posso togliere i paletti ...
:-(


> Se modelli la tua realtà e definisci bene le classi e i ruoli ti
> ritroverai ad avere probabilmente un signore che si occupa della
> gestione degli workspace, se quindi domani mattina questa deve essere
> rifattorizzata e diventare asincrona il gioco è abbastanza facile se il
> codice che gesctisce gli workspace è parte intergrante di un web method
> allora piangi... ;-)

no per la gestione dei workspace sto facendo una classe con i vari
metodi, creazione, recupero path ecc ecc, poi questa verrà richiamata
sì in un web method, ma sta "a parte" ;-)


> ieni anche in considerazione che tutto ciò che gira dentro IIS, in
> particolare dalla versione 6 in avanti, è per certi versi tutto tranne
> che affidabile ;-) cosa vuol dire: il web/application server ha come
> scopo quello della reliability quindi erogare sempre e comunque il
> servizio, ergo ad esempio se secondo lui la tua app ciuccia troppo -->
> recycle la tua app riparte e il servizio è su e pronto ma tu ti sei
> perso tutto lo stato..

ero all'oscuro di questa cosa ...
ma ho dato per scontato di NON mantenere lo stato lato WS è anche per
questo che ad ogni chiamata passo user e password, inoltre le
operazioni sono si legate le une alle altre ma possono essere eseguite
a passi successivi ( per fortuna ) se non ci sono i dati per il
successivo prima si producono poi si prosegue

E' omunque un protptipo di soluzione iniziale avrà sicuramente dei
problemi da risolvere e necessiterà di miglioire ... poi se andrà in
produzione ... e la cosa continua evolverà naturalmente verso
strutture più adeguate, ma non è detto che ci sia ancora io ad
occuparmene ... una volta fato il grosso possono proseguire da
soli ... io NON servo più...

> scrivere applicazioni web stateless potrebbe essere vitale, lo stato e
> le applicazioni web sono due cose che non quagliano,

;-)
sì sì di questo ne sono perfettamente al corrente ;-)
SE fosse stata una aplicazione WinForm ... il tempo di queste
problmatiche e di tutta l'applicazione sarebbe stato meno della
metà ;-)

Purtroppo il vantaggio di poterla poi usare da qualunque browser,
qualunque piattaforma e qualunque postazione ... ha un bel rovescio di
medaglia ...

> e un web service
> asmx è un'applicazione web e come tale soggetta a molti dei vincoli.

verissimo ;-)

GraSSSie ancora

saluti

--
Riddler ?

0 new messages