none
Control de licencias de mi aplicacion RRS feed

  • Pregunta

  • Saludos, tengo una app win creada en vb.net 2008 que usa sql 2008 (autenticación mixta) como motor de base de datos.

    Quiero, desde SQL, controlar la cantidad de usuario que acceden a la aplicacion, algo asi como para ofrecer licencias de acceso de 5, 50 o 100 cleintes simultaneos, pero el control de acceso debe ser realizado en el servidor de SQL.

    he estado aciendo pruebas con la informacion que me regresa el sp_who y trigers, o al momento de ejecutar mis propios SP analizar la informacion de sp_who,  pero aun con un solo usuario conectado a sql, los valores devueltos no son exactos.

    Me podrian dar una mano..?

    Gracias.

    Edward Ocando
    Mi blog
    eocando@ingen.com.ve
    Desarrollador: VB .NET, C# Visual FoxPro, PHP, JavaScript, Ajax, MS SQL, mySQL.
    martes, 29 de septiembre de 2009 21:24

Respuestas

  • hola

    Application Trial Maker

    la cuestion aqui es que desde tu aplicacion no mantienes las conexiones a la db ya que de ser asi deberias pagar licencia del SQL Server, pues este si tiene licencia por usuario concurrente.
    Ademas de que a nivel performance no creo que sea muy optimo que el usuario al iniciar la aplicacion mantenga una conexion a la db.

    Te recomendaria apliques algun tipo de licencia por instalacion como explcia el link que envio, o sea validar la cantidad de instalaciones y cobrar por estas.


    Sino la otra es que crees un servicio de windows que corra como licenciador y que la aplciacion se comunique con este cada vez que inicia, pero que se mantenga un enlace entre la aplicacion cliente y este servicio que desarrollas.
    La idea es que por ahi si usas WCF puedas establecer una comunicacion Full Duplex y que estas dos aplicaciones se comuniquen, preguntadose si aun estan activa la aplciacion cliente.

    Por supusto el servicio controlara la cantidad de usuarios conectados, e impedira el inicio cuando se llega al limite.
    Creo que esta aproximacion es mejor que controlarla contra la db la cual no es muy bueno amntener conexiones, WCF esta preparado para ello, pero bueno requiere algo mas de codificacion


    espero se entienda la ideas sino cualqueir cosa puedo agregar mas detalles.
    saludos

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta Edward Ocando martes, 29 de septiembre de 2009 22:01
    martes, 29 de septiembre de 2009 21:47
  • hola

    Para crear servicio de windows hay mucha info, pero igual estos link seguro ayuden


    con respecto a la comunicacion, si te animas lo mejor es WCF, la idea te comentaba sria un servicio duplx asi por el mismo canal puede dialogar la aplicacion cliente con el servicio y enviarse para metro o info para saber si esta activa y no se corto la comunicacion

    la idea es que al establecer el enlace suben en uno el contador de usuario concurrentes, al desconectarse uno lo descrementas y si al iniciar otro usuario se alcanza el maximo el servicio informama que se llego al limite y el cliente no incia la aplicacion

    ojo que para esto deberás tener un servicio corriendo en un servidor en tu cliente



    saludos

     


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta Edward Ocando miércoles, 30 de septiembre de 2009 3:11
    miércoles, 30 de septiembre de 2009 3:08

Todas las respuestas

  • hola

    Application Trial Maker

    la cuestion aqui es que desde tu aplicacion no mantienes las conexiones a la db ya que de ser asi deberias pagar licencia del SQL Server, pues este si tiene licencia por usuario concurrente.
    Ademas de que a nivel performance no creo que sea muy optimo que el usuario al iniciar la aplicacion mantenga una conexion a la db.

    Te recomendaria apliques algun tipo de licencia por instalacion como explcia el link que envio, o sea validar la cantidad de instalaciones y cobrar por estas.


    Sino la otra es que crees un servicio de windows que corra como licenciador y que la aplciacion se comunique con este cada vez que inicia, pero que se mantenga un enlace entre la aplicacion cliente y este servicio que desarrollas.
    La idea es que por ahi si usas WCF puedas establecer una comunicacion Full Duplex y que estas dos aplicaciones se comuniquen, preguntadose si aun estan activa la aplciacion cliente.

    Por supusto el servicio controlara la cantidad de usuarios conectados, e impedira el inicio cuando se llega al limite.
    Creo que esta aproximacion es mejor que controlarla contra la db la cual no es muy bueno amntener conexiones, WCF esta preparado para ello, pero bueno requiere algo mas de codificacion


    espero se entienda la ideas sino cualqueir cosa puedo agregar mas detalles.
    saludos

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta Edward Ocando martes, 29 de septiembre de 2009 22:01
    martes, 29 de septiembre de 2009 21:47
  • Mi aplicacion usa sql express, por lo tanto no hay problema con las licencias. Voy a revizar la informacion que me das.

    Tienes algun ejemplo de como crear un servicio y que este se comunique con mi aplicación..? Gracias

    Muchas gracias.


    Edward Ocando
    Mi blog
    eocando@ingen.com.ve
    Desarrollador: VB .NET, C# Visual FoxPro, PHP, JavaScript, Ajax, MS SQL, mySQL.
    martes, 29 de septiembre de 2009 22:01
  • hola

    Para crear servicio de windows hay mucha info, pero igual estos link seguro ayuden


    con respecto a la comunicacion, si te animas lo mejor es WCF, la idea te comentaba sria un servicio duplx asi por el mismo canal puede dialogar la aplicacion cliente con el servicio y enviarse para metro o info para saber si esta activa y no se corto la comunicacion

    la idea es que al establecer el enlace suben en uno el contador de usuario concurrentes, al desconectarse uno lo descrementas y si al iniciar otro usuario se alcanza el maximo el servicio informama que se llego al limite y el cliente no incia la aplicacion

    ojo que para esto deberás tener un servicio corriendo en un servidor en tu cliente



    saludos

     


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta Edward Ocando miércoles, 30 de septiembre de 2009 3:11
    miércoles, 30 de septiembre de 2009 3:08