WebSphere Extended Deployment, Version 6.0.x     Sistemi operativi: AIX, HP-UX, Linux, Solaris, Windows

Estrazione dei nomi delle partizioni dalle richieste HTTP

I nomi delle partizioni vengono estratti dalle richieste HTTP mediante le espressioni di richiesta. Un'espressione di richiesta è costituita da due stringhe: l'espressione di corrispondenzae la formula di classificazione. Insieme queste stringhe forniscono un meccanismo per la classificazione delle richieste HTTP basate su espressioni regolari supportate Java. L'espressione di corrispondenza determina il modo in cui associare una parte dell'URL alla stringa della query. La formula di classificazione indica la parte dell'URL e la stringa di query che specifica la partizione una volta associata l'espressione.

Per determinare se partizionare una richiesta HTTP, il router on demand (ODR) utilizza i modelli e le classi di corrispondenza del pacchetto java.util.regex. Se viene trovata una corrispondenza su qualsiasi espressione di corrispondenza specificata dall'applicazione, la richiesta ha una partizione associata. L'ODR concatena prima l'URL e la stringa della query in modo da formare un'unica stringa e richiama i modelli creati da tutte le espressioni di corrispondenza dell'applicazione, In seguito a una corrispondenza, la formula di classificazione determina il modo in cui verrà creato il nome della partizione. Un carattere speciale, un segno del dollaro ($), indica la parte dell'espressione di corrispondenza da utilizzare.

Si consideri un caso in cui l'espressione è (user=)(*)$ e la formula di classificazione è $2. Il $2 prende la parte dell'associazione corrispondente a (.*), in quanto è la seconda parte del modello di corrispondenza. Ad esempio, se l'URL è costituito da www.ibm.com/something/user=fred, $1 corrisponde a user=mentre $2 corrisponde a fred.

Si consideri l'espressione di corrispondenza (user=)(*)(rodriguez)$. Si assuma che arrivi una richiesta con un URL contenente user=adolforodriguez. Con una formula di classificazione di $2, il nome della partizione risultante è adolfo. Con una formula di classificazione mypartition$2, la richiesta ha invece un nome di partizione uguale a mypartitionadolfo. Allo stesso modo, con una formula di classificazione pari a $2$3, il nome della partizione risultante è adolforodriguez.

Le espressioni di corrispondenza si possono sovrapporre. Ad esempio, se sono presenti due espressioni, (user=)(*)$ e (user=)(*)& e si riceve un URL con una stringa di query contenente user=adolfo&Submit=Enter, entrambe le espressioni saranno valide. La prima espressione estrae adolfo&Submit=Enter con una formula di classificazione uguale a $2, mentre la seconda estrae adolfo. Poiché adolfo è un nome di partizione valido, questo verrà scelto come nome della partizione. Mentre è normale che le espressioni regolari “più specifiche” siano esattamente la destinazione desiderata, il partizionamento HTTP non prova a selezionare una determinata espressione rispetto a un'altra. Invece, tutte le espressioni vengono applicate fino a che non viene trovato un nome di partizione valido.




Related concepts
Partizionamento HTTP

Argomento Concetti    

Termini di utilizzo | Commenti Ultimo aggiornamento: Mar 20, 2006 1:10:47 PM EST
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r0/index.jsp?topic=?topic=/com.ibm.websphere.xd.doc/info/WPF51/cwpfhttpnames_pdf.html

© Copyright IBM 2005, 2006. Tutti i diritti riservati.
Questo centro informazioni utilizza la tecnologia Eclipse. (http://www.eclipse.org)