Carlos:
        Estamos viendo el tema de los WS asincronos, pero de paso te
pregunto.
        A que te referis en el primer parrafo con tocar la configuración de
cada cliente? Me podes tirar una idea de esto, para tratar de cubrir todas
las puntas.
        Gracias.

Diego Baselica 

-----Mensaje original-----
De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Carlos
Peix
Enviado el: Jueves, 20 de Marzo de 2008 21:10
Para: [email protected]
Asunto: [puntonet] Llamada a WS concurrentes

Entiendo Diego,

Me temo que no vas a poder ir por ese camino salgo que toques la
configuracion de cada cliente. Esto puede ser posible o no, dependiendo de
cómo sea tu universo de clientes.

Te cuendo otra idea que se me ocurre para resolverlo, por ahí te sirve para
pensar otra solucion.

Desde el cliente llamaria a un solo webservice que devuelve todos los
indicadores para ese panel (XML o JSON que contenga todos los valores).

Ese web service puede hacer todas las consultas en paralelo a una segunda
capa de webservices o directamente la consultas en paralelo en las
diferentes bases de datos. En esta linea creo que pueden ser muy utiles los
metodos asincronicos implementados del lado del server [1].

Este enfoquem ademas, podria permitirte almacenar los valores en cache y
devolver la copia almacenada si no es necesario calcular una nueva.

Carlos Peix

[1] Server-Side Asynchronous Web Methods
http://msdn2.microsoft.com/en-us/library/aa480516.aspx

Carlos Peix 

> -----Original Message-----
> From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of 
> [EMAIL PROTECTED]
> Sent: Jueves, 20 de Marzo de 2008 04:56 p.m.
> To: [email protected]
> Subject: [puntonet] Llamada a WS concurrentes
> 
> Carlos:
>       Te entiendo, con lo de las peticiones pero no lo puedo lograr, para 
> estar seguro que es asi
>       Me imagino que eciste un thread por cada sesion y las peticiones se 
> encolan, oalgo similar a ese funcionamiento es lo que detecto
> 
>       Con respeto a tu solucion, no lo puedo aplicar debido a que el 
> problema es distinto
>       Basicamente es asi
>       - Tenemos un Tablero de Comandos, ese panel posee varios indicadores

> donde cada uno de ellos es una consulta a una base de datos
>               Panel1: 
>                       Indicador1: BaseDatos=Test1 -SQL=Select
> * from Cliente
>                       Indicador2: BaseDatos=Test1 -SQL=Select
> * from Facturas
>                       Indicador3: BaseDatos=TestDOS
> -SQL=Select * from Auditoria
> 
>               Los indicadores pueden consultar a distintas bases de datos
>               Ahora bien, el Panel tiene un boton ejecutar que lo que
hace, es 
> recorrer cada uno de los indicadores y llamar a un WS:
> ESIndicador.asmx y alli al metodo ExecuteIndicador (IDIndicador)
>               La idea es lanzar todas las ejecuciones en simultaneo, asi
el tiempo 
> de respuesta al usuario es menor, pero lo que nos sucede, que por mas 
> que realicemos la invocacion del WS, el cliente la slanzó, pero el WS 
> no las procesa todas juntas, sino que termina una y continua con la 
> sig, y asi
>               
>               Pensamos que era nuestro cliente, por eso usamos el browser 
> directamente, para hacer varias llamadas, y efectivamente hace una a 
> una. LE pusimos lineas de Debug para ir viendo la ejecucion y hace
>               INI indicador1
>               FIN indicador1
>               INI indicador2
>               FIN indicador2
>               INI indicador3
>               FIN indicador3
> 
> 
>               Cuando lo que queremos es que haga los tres INI 
> y luego cada una finalice a su tiempo.




Responder a