MANUAL DEL PROGRAMADOR
Introducción
Como parte del “Sistema integral para activación de software vía Internet” este subsistema consiste básicamente de un componente de software que debe ser integrado al programa de aplicación a proteger contra la piratería.
Este subsistema debe ser llamado desde el programa de aplicación, por lo cual debe ser implantado antes de su compilación. Cada vez que inicie el programa de aplicación a proteger, éste llama al asistente para que verifique la existencia de la licencia de uso y poder continuar con la ejecución, de no existir se muestra un cuadro de diálogo que guía al usuario final en el proceso de obtención de la licencia de uso, si este cuadro de diálogo es cerrado o cancelado, por el usuario, se termina la ejecución del programa, es decir, se cierra por completo la aplicación. A continuación se muestra la secuencia de ejecución de un programa de aplicación con la integración del asistente.
Como
puede observarse en el diagrama anterior, el asistente determina la ejecución
del programa de aplicación, verificando la existencia de la licencia de uso
indica al mismo que continué o detenga su ejecución. Dicho de otra forma el
asistente funciona como interruptor que permite la activación del programa de
aplicación. Además de ser el medio a través del cual se obtiene la licencia de
uso.
Referencia
de programación
Este
subsistema esta integrado como un componente de software creado en Visual
Basic.
El
componente ActiveX DLL que contiene al asistente de registro y activación de
software tiene las siguientes características:
Nombre
de Archivo: AsistRA.dll
Nombre
del objeto contenido: AsistRegistroActivacion
Propiedades:
IDSoftware:
Permite establecer el valor numérico que identifica el software a registrar y
activar.
El
valor numérico debe ser del tipo entero comprendido en el intervalo de 0 a 999.
Este valor corresponde directamente al KeyTipoLic devuelto por el “Subsistema
generador y administrador de licencias de uso”, para cada producto de software.
Ejemplo:
Supóngase, que el producto de software “X” tiene asignado el número 5.
AsistRegistroActivacion.IDSoftware
= 5
TituloLicencia:
Permite establecer la cadena de texto que conforma
el titulo de la licencia de uso a mostrar en el asistente.
Sintaxis: AsistRegistroActivacion.TituloLicencia =
[Cadena]
La
cadena de texto esta limitada a 110 caracteres. Este texto es mostrado en la
parte superior del asistente, puede incluirse en él cualquier carácter,
incluyendo caracteres especiales.
Ejemplo: El titulo para un producto de software
“X”, podría ser:
URLHttp:
Permite establecer la cadena texto correspondiente a la dirección http del
sitio en Internet donde el asistente localiza la base de datos de licencias de
uso.
La
cadena de texto esta limitada a 1000 caracteres. La dirección http corresponde
con la misma dirección donde se encuentre la base de datos alojada en Internet,
a través de esta dirección el asistente accesa a la base de datos para el
registro del usuario final y la obtención de la licencia de uso del software.
Ejemplo:
AsistRegistroActivacion.URLHttp=”http://www.empresa_x.com.mx/usrs”
Métodos:
El
valor devuelto por este método es de tipo lógico, “Verdadero” para indicar
que se ha comprobado satisfactoriamente
la existencia de la licencia de uso, “Falso”
denota lo contrario.
Parámetros
Ejemplos:
Código
de ejemplo de uso del asistente de registro: Debe ser agregado al programa de aplicación que se
desea proteger y es llamado inmediatamente después de iniciar su ejecución.
Dim
AsistRA As AsistRegistroActivacion
Set
AsistRA = New AsistRegistroActivacion ‘//Creación del objeto
AsistRA.TituloLicencia
= "Licencia de uso para software
X"
AsistRA.NombreCia
= "Cia. Desarrolladora de Software
X"
AsistRA.UrlHttp
=
"http://www.empresa_x.com.mx/usuarios/"
AsistRA.IDSoftware
= 2
If AsistRA.VerificaLicUso = False Then ‘//Comprobación
End ‘//
Fin de aplicación
End
If
Set
AsistRA = Nothing ‘//
Eliminación del objeto
- Bienvenida
Pantalla inicial del asistente que da la bienvenida al usuario final indicando el nombre del producto a registrar y activar. Así mismo se muestra el nombre de la empresa que desarrollo el software. Contiene dos botones en la parte inferior que permiten cancelar el asistente o bien ir al siguiente paso que consiste en la solicitud del número de serie correspondiente al paquete del producto.
Figura 1. Primer
paso del asistente de registro y activación de software.
- Solicitud de número
de serie.
En este paso el usuario debe ingresar el número de serie proporcionado por el fabricante del software; para ello cuenta con cuatro cajas de texto separadas mediante un guión y con una longitud máxima de cinco caracteres en cada una de ellas, correspondiendo con el formato del número de serie proporcionado.
Figura 2. Solicitud de número de serie del paquete de software
Al ingresar caracteres que sean letras son convertidos de forma automática a su correspondiente letra mayúscula para su mejor visualización. Al completarse cada caja de texto el cursor se posiciona de forma automática en la siguiente caja de texto. Una vez ingresado el número de serie el usuario debe hacer clic en el botón siguiente para proceder con la validación del número de serie ingresado. Después de ser comprobada la validez del número de serie el asistente de registro y activación lleva al usuario al paso siguiente, que consiste en preguntar al usuario si posee conexión a Internet en el equipo, de lo contrario permanece en el mismo paso y se le indica al usuario, mediante un mensaje, que el número de serie ingresado no es valido.
-
Verificar
conexión a Internet.
En este paso se pregunta al usuario si dispone de
una conexión a Internet en el equipo,
pudiendo elegir entre las opciones de “Sí ó No”. La siguiente figura muestra el ejemplo
correspondiente.
Figura 3. Comprobación de conexión a Internet
Este paso es crucial, debido a que si el usuario
cuenta con conexión a Internet en su equipo, puede obtener de forma inmediata
su licencia de uso, de lo contrarío cuenta con dos formas alternativas, las
cuales son:
- Acceder desde otro equipo al sitio Web de la
empresa desarrolladora del software de aplicación, en la sección
correspondiente a licencias de uso.
- Vía telefónica contactar a su distribuidor del
programa, en horas y días hábiles, para que se le proporcione su licencia de
uso.
A continuación se describe el proceso de obtención
de licencia de uso para el caso en que el usuario final si cuenta con conexión
a Internet; mas adelante se analiza el caso contrario.
-
El
usuario si cuenta con conexión a Internet.
Si el usuario dispone de conexión a Internet en el
equipo debe iniciarla y una vez hecha la conexión debe hacer clic en el botón
de siguiente para que el asistente proceda con la comprobación del número de
serie a través del servidor de licencias de uso en Internet.
Comprobación de número
de serie: El asistente
envía el número de serie al servidor de licencias de uso en Internet y este se
encarga de verificar en su base de datos la existencia del número de serie
recibido devolviendo una respuesta de la existencia o inexistencia del mismo.
- Si no existe el número de serie en el servidor
de licencias de uso en Internet, el asistente envía un mensaje al usuario,
indicándole que el número de serie ingresado no existe y permanece en el mismo
paso.
- Si se ha comprobado la existencia del número de
serie se procede a verificar si el número de serie ya había sido registrado; si
aún no ha sido registrado, el siguiente paso es el formulario de registro, como
se muestra en la figura 4, después de que el usuario se registra, se le asigna
un código de usuario y este se muestra en pantalla para que el usuario lo anote
en la misma etiqueta que contiene el número de serie de su producto, la figura
5 muestra un ejemplo de un código de usuario asignado después de
registrarse. Finalmente después de
haberse registrado el usuario y se le haya asignado un código de usuario, el
siguiente y último paso es un mensaje de agradecimiento, como lo muestra la
figura 6.
Figura
4. Formulario de registro de usuario final
Figura
5. Asignación de código de usuario
Figura
6. Agradecimiento
- Si se ha comprobado la existencia del número de
serie proporcionado y dicho número de serie ya ha sido registrado el siguiente
paso solicita el ingreso del código de usuario que se le otorgó cuando se
registro, la figura 7 muestra un ejemplo. Si el código de usuario es correcto,
el asistente procede a verificar si el usuario tiene la licencia de uso
disponible en el servidor de licencias, si es el caso, el siguiente y último
paso es un mensaje de agradecimiento, como lo muestra la figura IV.23, de lo
contrario se muestra un mensaje indicando que no cuenta con licencia de uso de
software disponible.
Figura
7. Ingresar código de usuario
Ahora se analiza
el caso en el que el usuario no cuente con conexión a Internet.
-
El
usuario no cuenta con conexión a Internet.
Si el usuario no dispone de
conexión a Internet en el equipo debe, seleccionar la opción “No” (paso
mostrado en la figura 3) y hacer clic en el botón de siguiente. El asistente
procede a generar un código de equipo, y solicita se ingrese una clave de
acceso. La figura siguiente muestra un ejemplo de este paso.
Figura
8. Solicitud clave de acceso
Como se indica en el mensaje de la figura
anterior, el usuario puede obtener la clave de acceso solicitada, visitando el
sitio Web de la empresa que desarrollo el programa de aplicación y acceder a la
sección de usuarios; o bien puede contactar vía telefónica a su distribuidor
del programa de aplicación. Ya sea por el sitio Web o a través del
distribuidor, el usuario debe proporcionar su número de serie, su código de usuario
(en el caso que ya hubiese se registrado con anterioridad) y el código de
equipo generado por el asistente.
Habiendo obtenido el usuario, la clave de acceso
debe ingresarla y si esta es válida se obtiene la licencia de uso y con ello
obtiene la activación de su software. La figura 6 muestra el paso final después
de haber validado con éxito la clave de acceso.
Comunicación con el servidor de licencias de uso
Una conexión a Internet es el medio de comunicación que el asistente requiere para la realización de peticiones al servidor de licencias de uso. La petición es a través de páginas Web especificas, dichas páginas son del tipo ASP y tienen funciones bien definidas para recibir la petición que se les encomiende, disponen de la capacidad de realizar inserción, actualización, eliminación y consulta de registros de la base de datos alojada en el mismo sitio de Internet donde se encuentran.
El asistente contempla en su código los nombres de las páginas para cada petición, así mismo los parámetros solicitados. La forma de respuesta de la página al asistente es a través de un redireccionamiento hacia una nueva página que incluye en dirección información devuelta al asistente. En el apartado correspondiente al “Servidor de licencias de uso en Internet”, abordado más adelante, se expone a detalle su funcionamiento.
Registro de usuario
Después
de comprobar la existencia del número de serie en el servidor de licencias de
uso en Internet, el asistente solicita se verifique si el número ya fue
registrado, de no estar registrado aún, se procede con la realización de
registro de usuario para el mismo número de serie.
El
registro del usuario desde el asistente constituye una petición hacia el
servidor de licencias de uso en Internet, básicamente consiste de una página
Web conteniendo un formulario de registro, solicitando datos personales del
usuario final que registra por primera y única vez el número de serie
correspondiente al paquete de software. La validación de la información
ingresada en el formulario es validada por la misma página, así mismo se
encarga de enviar la información hacia la base de datos alojada en Internet,
insertándose en ésta un nuevo registro de datos y asignándose automáticamente
un número entero aleatorio único.
El número entero aleatorio esta dentro del
intervalo de –2147483648
a 2147483648 y constituye la
llave única de identificación del usuario del número de serie ingresado y este
número debe ser asignado al número de serie dentro de la misma base de datos en
la tabla de datos correspondiente. Además es considerado como el “Código de
Usuario” asignado, es único, es decir, no hay duplicidad y esta relacionado
únicamente con sólo un número de serie.
Código de usuario
El código de usuario es el identificador del dueño
único de un número de serie registrado. Consiste de un número entero en el
intervalo de –2147483648
a 2147483648, para
valores negativos se le antecede una letra “A” mayúscula, en representación del
signo negativo, por ejemplo un código de usuario podría ser: “A312564”, que
corresponde al número –312564. El número que representa el código de usuario,
es generado de forma aleatoria por el servidor de licencias de uso en Internet,
justo en el momento que el usuario del
software de aplicación registra su copia de software; como ya se ha comentado
es único, y esta
relacionado únicamente con solo un número de serie. Cada número de serie tiene
solamente un dueño, lo cual quiere decir que puede ser registrado sólo una vez.
Obtención de código de usuario
La
obtención del código de usuario es únicamente a través del registro del usuario
mediante un formulario, donde se le solicitan datos personales y de dirección.
Este formulario esta en una página Web, como se ha descrito con anterioridad,
al enviar el formulario se envía la información al servidor de licencias de uso
en Internet y si la información fue recibida satisfactoriamente junto con el
número de serie, se muestra en una nueva página el código de usuario
asignado. De esta forma el asistente
obtiene y muestra al usuario su código asignado.
Validación de código de usuario
Después de comprobar la existencia del número de serie en el servidor de licencias de uso en Internet, el asistente solicita se verifique si el número ya fue registrado, de ser así, el asistente solicita se ingrese el código de usuario que se le fue asignado cuando registro su copia de software.
La validación del código de usuario es a través de una petición del asistente hacia el servidor de licencias de uso en Internet, en la petición se envía el código de usuario y el número de serie. El servidor se encarga de verificar si existe el código de usuario y si corresponde con el número de serie.
Obtención de licencia de uso
En el
caso de que el número de serie ya fue registrado, el asistente solicita se
ingrese el código de usuario, después de su validación, el asistente solicita
al servidor verificar si hay licencia de uso disponible, de existir se realiza
la petición de la misma.
La
obtención de la licencia de uso, consiste esencialmente en actualizar un
registro de la base de datos del servidor de licencias en Internet, el registro
de datos es actualizado con la fecha en que fue concedida y ello significa que
ya no puede volverse a conceder, después de actualizar el registro se responde
al asistente que se ha concedido exitosamente la licencia de uso. Finalmente
después de haberse obtenido la licencia de uso, el asistente procede con la
activación del programa de aplicación.
Generación de código de equipo
El objetivo principal del código de equipo es identificar de manera
única el equipo de cómputo donde se ha instalado software de aplicación y para
la generación de un código, al que llamaremos “Clave de Acceso”, que permite la
activación del software, pero esta clave de acceso es únicamente valida para el
equipo de cómputo del que se obtuvo el código de equipo.