Conexiones con el DBMS - 2da parte

05/09/2007 - 20:49 por Javier Lozano | Informe spam
Saludos compañeros

Luego de haber investigado el tema y tomando la opinion de Alberto
Poblacion, no tengo dudas que manejar el pool de conexiones es lo mejor,
desde que ADO .Net los usa de manera implicita. solo seria cuestion de
configuirar el minimo y maximo numero de conexiones.

Pues bien, consideremos que las conexiones a la base de datos no son un
recurso ilimitado. Podria tener un cliente que haya comprado un servidor de
datos solamente con 10 licencias de acceso concurrente (no se si esto es
algo posible en la vida real) y que en su red tenga 20 usuarios. En algun
momento podria tener 10 usuarios sin capacidad de acceso a la base de datos.

Podria crear una aplicacion gestora de conexiones que contenga el pool de 10
conexion maximas, pero que mis aplicaciones clientes pidan a este gestor de
conexiones que le envie un objeto Connection via serializacion (a traves de
un servicio SOA de WCF???). Esto mantendria el control de la cantidad de
conexiones activas, claro, no impide que en un momento dado todas las
conexiones esten ocupadas, pero me daria un punto central de administracion.

1- Es esto posible o es un disparate de mi parte?
2- de ser asi posible, seria recomendable?
3- si no es posible, alguien se ha topado con un escenario asi?

Saludos

Javier Lozano
Lima - Peru
 

Leer las respuestas

#1 Alberto Poblacion
06/09/2007 - 08:09 | Informe spam
"Javier Lozano" wrote in message
news:%23YVC%231%

Podria crear una aplicacion gestora de conexiones que contenga el pool de
10 conexion maximas, pero que mis aplicaciones clientes pidan a este
gestor de conexiones que le envie un objeto Connection via serializacion
(a traves de un servicio SOA de WCF???).



Vía serialización, no. La conexión tendría que ejecutarse en la misma
máquina que la creó, con lo que tendrías que llamarla por referencia via
Marshalling. Puede conseguirse encapsulando la conexión dentro de una clase
que herede de MarshallByRefObject y llamándola por Remoting (y me imagino
que en WCF habrá algo parecido pero todavía no lo conozco).

Sin embargo, esto no resuelve (legalmente) tu planteamiento inicial del
número de licencias (tengo 10 licencias de acceso a la BD y 20 clientes),
por lo menos si la base de datos es de Microsoft, ya que los términos de la
licencia mencionan expresamente que las licencias vendidas se refieren al
número de clientes, independientemente de que se interponga un dispositivo
que provea un pool o agregue conexiones (o en otras palabras, la licencia es
"por número de clientes", no "por número de conexiones").

Preguntas similares