Apuestas de lotería on-line mediante teléfonos móviles

Transcripción

Apuestas de lotería on-line mediante teléfonos móviles
Proyecto Exploratorio.
Apuestas de lotería on-line
mediante teléfonos móviles
Propuesta presentada por:
Manuel Alvarez-Campana
([email protected])
Teléfono: 91 3367337
Departamento de Ingeniería de Sistemas Telemáticos
ETSI Telecomunicación
Universidad Politécnica de Madrid
Entregable 2: Especificación de escenarios y diseño de
alto nivel del servicio
Índice
1
INTRODUCCIÓN ............................................................................................................................2
2
ESCENARIOS DE REALIZACIÓN Y COBRO DE APUESTAS...............................................2
2.1
2.2
2.3
3
FUNCIONES DEL SISTEMA. UBICACIÓN Y DESCRIPCIÓN DE ALTO NIVEL...............4
3.1
3.2
3.3
4
CASO ACCESO VÍA J2ME............................................................................................................2
CASO ACCESO VÍA WAP ............................................................................................................3
CASO ACCESO VÍA SMS .............................................................................................................3
FUNCIONES DEL TERMINAL DE USUARIO ....................................................................................4
FUNCIONES DEL OPERADOR DE RED ..........................................................................................5
FUNCIONES DEL ORGANISMO DE APUESTAS ..............................................................................7
DEFINICIÓN DETALLADA DE PROCEDIMIENTOS..............................................................8
4.1
4.2
4.3
4.4
GESTIÓN DEL SERVICIO ..............................................................................................................8
VALIDACIÓN DE APUESTA ..........................................................................................................9
COMPROBACIÓN DE RESGUARDO .............................................................................................11
COBRO DE PREMIOS ..................................................................................................................12
Índice de figuras
FIGURA 1. DIAGRAMA DE CASOS DE USO PARA ACCESO J2ME......................................................................2
FIGURA 2. DIAGRAMA DE CASOS DE USO PARA ACCESO WAP ......................................................................3
FIGURA 3. DIAGRAMA DE CASOS DE USO PARA ACCESO SMS .......................................................................3
FIGURA 4. FUNCIONES DEL TERMINAL DE USUARIO.......................................................................................4
FIGURA 5. FUNCIONES DEL OPERADOR DE RED.............................................................................................6
FIGURA 6. FUNCIONES DEL ORGANISMO DE APUESTAS .................................................................................7
FIGURA 7. SECUENCIA DE ALTA (CASO WAP)...............................................................................................8
FIGURA 8. SECUENCIA DE VALIDACIÓN DE APUESTA (CASO J2ME)...............................................................9
FIGURA 9. SECUENCIA DE VALIDACIÓN DE APUESTA (CASO WAP) .............................................................10
FIGURA 10. SECUENCIA DE VALIDACIÓN DE APUESTA (CASO SMS) ............................................................11
FIGURA 11. SECUENCIA DE COMPROBACIÓN (CASO J2ME) .........................................................................12
FIGURA 12. SECUENCIA DE COBRO DE PREMIO (CASO J2ME) ......................................................................13
FIGURA 13. SECUENCIA DE COBRO DE PREMIO (CASO WAP).......................................................................14
1
1 Introducción
El presente documento es el segundo entregable del proyecto exploratorio “Apuestas de
lotería on-line mediante teléfonos móviles” y constituye la especificación de escenarios
del servicio y diseño de alto nivel del mismo.
El documento se estructura en los siguientes apartados:
• Escenarios de realización y cobro de apuestas.
• Ubicación de funciones en el sistema y descripción de alto nivel de las mismas.
• Definición detallada de procedimientos.
2 Escenarios de realización y cobro de apuestas
A continuación se muestran los escenarios de realización y cobro de apuestas en función
de la forma en que el usuario accede al servicio.
2.1 Caso acceso vía J2ME
Figura 1. Diagrama de casos de uso para acceso J2ME
La Figura 1 muestra los posibles casos de uso en los que interviene el usuario del
servicio al acceder al mismo a través de un móvil compatible con Java. Se podrían
contemplar otros casos de uso respecto de la gestión del servicio por parte del operador
y la organización de apuestas. Los casos de uso aquí mostrados se corresponden
directamente con pantallas de un MIDlet.
En todo caso, el usuario del servicio deberá descargar previamente el MIDlet para poder
usarlo una vez esté instalado.
El usuario también podrá gestionar el servicio, dándose de alta, o bien de baja del
mismo posteriormente. Esto podrá hacerlo tanto desde el propio MIDlet descargado
como vía WAP, Web o incluso telefónica.
Tras esto, puede apostar, pudiendo existir múltiples juegos, como la lotería primitiva o
las quinielas.
2
Finalmente, puede comprobar si la apuesta ha resultado ganadora, e incluso cobrar el
premio.
2.2 Caso acceso vía WAP
Figura 2. Diagrama de casos de uso para acceso WAP
En el caso de acceso vía WAP, el usuario podrá realizar apuestas o cobrar, en su caso,
los premios sin la necesidad de descargar o ejecutar ninguna aplicación MIDlet, pues se
trata de páginas dinámicas generadas en el servidor y visualizadas a través del
navegador del terminal móvil del usuario.
Al igual que en el caso previo, para que el usuario pueda realizar y cobrar apuestas es
necesario que el usuario esté dado de alta en el servicio, pudiendo hacerlo por distintos
medios, incluido WAP, como ha sido mencionado anteriormente. Para poder entrar en
el servicio, el usuario deberá iniciar sesión introduciendo su teléfono y contraseña.
En la Figura 2 se muestran los escenarios de uso posibles al acceder vía WAP.
2.3 Caso acceso vía SMS
Figura 3. Diagrama de casos de uso para acceso SMS
3
La Figura 3 muestra los escenarios posibles en caso de acceso al servicio mediante
mensajes cortos (SMS). Este caso es el más particular de los tres tipos de acceso
mostrados.
Para que el usuario realice una apuesta no es necesario que se haya dado de alta en el
servicio porque la identidad del usuario se comprueba con el número de teléfono del
terminal que originó el mensaje. Por esta razón los casos de uso derivados de “Gestionar
servicio” desaparecen.
Del mismo modo, al no existir aplicación o páginas WAP por las que navegar, el
usuario realiza las apuestas enviando un mensaje corto, y recibe el comprobante de la
validación, con el que reclamar el posible premio, mediante otro mensaje corto.
La comprobación de la apuesta se realiza de manera automática, de forma que el usuario
recibe un mensaje corto en caso de haber resultado premiada.
Si el usuario tiene una apuesta premiada, puede cobrarla mediante el envío de un
mensaje corto a tal efecto o presentando el código del resguardo en una administración.
3 Funciones del sistema. Ubicación y descripción de
alto nivel
3.1 Funciones del terminal de usuario
La Figura 4 muestra el conjunto de funciones del sistema de apuestas de lotería vía
móvil ubicadas en el terminal de usuario. Nótese que un terminal dado no tiene por qué
incorporar todas las funciones indicadas, es posible que cierto terminal no tenga
compatibilidad con aplicaciones Java o no disponga de un navegador WAP.
Figura 4. Funciones del terminal de usuario
El gestor de mensajes cortos SMS está implementado en el terminal móvil y
proporciona al usuario una función para enviar mensajes cortos con un texto
determinado a cierto número de teléfono, y, otra, para recibir mensajes y poder leer su
texto. La función de envío permite al usuario enviar la apuesta y, en su caso, el deseo de
cobrar el premio, mientras que la función de recepción constituye la forma de obtener la
respuesta por parte del Organismo de Apuestas.
Para el caso de acceso al servicio por WAP, el navegador WAP incorporado en el móvil
permite realizar peticiones de páginas WML y visualizarlas. Esta función permite al
usuario conectarse a la página principal del servicio de lotería WAP, navegar por los
menús (tipos de juego, gestión del servicio, etc.), visualizar páginas (apuestas
realizadas, premios, etc.) y enviar datos (apuesta, identificación, etc.).
4
Si el acceso al servicio se realiza mediante la aplicación J2ME del servicio de lotería,
ésta proporciona una serie de funciones específicas, descritas a continuación:
• gestionarServicio: función que permite al usuario gestionar el servicio de lotería
(darse de alta y baja) desde la propia aplicación.
• mostarJuegos: muestra un menú al usuario con los juegos disponibles (Lotería
Primitiva, Bonoloto, etc.) para que seleccione aquel en el que va a participar.
• mostrarBoleto: muestra una pantalla que representa un boleto vacío del juego
seleccionado para que el usuario introduzca su combinación.
• enviarApuesta: conecta con el servidor del Operador de Red, envía los datos de
la apuesta cifrados y los datos de identificación del usuario introducidos por el
mismo previamente y recibe la respuesta del servidor.
• almacenarResguardo: almacena en la memoria persistente del terminal móvil el
resguardo recibido del operador tras haber validado la apuesta.
• mostrarResguardos: muestra al usuario el conjunto de resguardos almacenados
en memoria, indicando si han sido premiados y, en su caso, ofreciendo las
instrucciones al usuario para cobrarlos.
• cifrarApuesta: función que posibilita el cifrado y descifrado que se realiza en la
función enviarApuesta.
3.2 Funciones del Operador de Red
La Figura 5 muestra el conjunto de funciones ubicadas en el Operador de Red.
El servidor de apuestas constituye el núcleo que engloba las funciones esenciales del
servicio, independientes de la forma con la que el usuario acceda al mismo. El servidor
de apuestas proporciona un mecanismo de autenticación de usuarios basado en el par
(número de teléfono, contraseña). Las funciones alta, baja y login sirven para dar de alta
a un usuario, darle de baja y autenticarlo respectivamente. Por otro lado, proporciona
funciones relativas al propio servicio de lotería, tanto en el caso de que los datos de la
apuesta vayan cifrados (caso J2ME) o en claro (casos WAP y SMS).
En el caso de apuestas cifradas, validarApuestaCifrada reenvía la apuesta del usuario al
servidor del Organismo de Apuestas y recibe el resguardo cifrado. La función
comprobarResguardoCifrado reenvía el resguardo cifrado y devuelve la respuesta que
indica, cifrado, el premio u otra circunstancia (por ejemplo sorteo no realizado o sin
premio). La función cobrarResguardoCifrado es análoga, salvo que la respuesta es un
mensaje con el resultado de la operación de cobro.
En el caso de apuestas en claro, la función validarApuestaClara reenvía la apuesta en
claro al servidor del Organismo de Apuestas y devuelve el resguardo en claro recibido,
que también almacena en la base de datos de apuestas. La función obtenerResguardos
devuelve el conjunto de resguardos de cierto usuario almacenados en la base de datos.
La comprobación de los resguardos se realiza automáticamente al celebrarse cada sorteo
por la función comprobarResguardoClaro, que comprueba todos los resguardos de cada
usuario. Finalmente, la función cobrarResguardoClaro indica una petición de cobro de
un resguardo premiado y devuelve el estado de la operación.
El sistema de tarificación permite realizar el cobro de las apuestas (función cobrar) y
comprobar previamente, en el caso de que el usuario sea de prepago, si tiene saldo para
validar la apuesta (función comprobarSaldo).
5
La base de datos de usuarios mantiene el conjunto de usuarios del sistema incluyendo su
número de teléfono y la contraseña para acceder al servicio.
La base de datos de apuestas es necesaria en el caso de acceso WAP porque el terminal
móvil no tiene un sistema de almacenamiento persistente, y en ese caso es el Operador
de Red el que almacena los resguardos.
Ambas bases de datos incluyen la función “consultar” y típicamente se accederá a ellas
mediante un lenguaje de consultas, por ejemplo SQL.
Por último, los terminadores de protocolo constituyen los intermediarios entre las
funciones del servidor de apuestas y las funciones propias del terminal de usuario para
cada tipo de acceso. El terminador J2ME atiende las peticiones recibidas mediante
HTTP/POST y envía la respuesta del servidor de apuestas conforme al formato
esperado por la aplicación J2ME del terminal cliente. El terminador WAP atiende
peticiones del navegador del terminal y genera páginas WML dinámicamente con el
contenido apropiado en cada momento para el usuario. El terminador SMS recibe los
mensajes de texto con las órdenes de apuesta del usuario y envía los resguardos al
mismo codificados, igualmente, en un mensaje corto.
Figura 5. Funciones del Operador de Red
6
3.3 Funciones del Organismo de Apuestas
La Figura 6 muestra el conjunto de funciones ubicadas en el Organismo de Apuestas, es
decir, el Organismo de Apuestas. Dado que el Organismo de Apuestas ya cuenta con
una estructura para la realización de apuestas, sólo se indican los elementos que han de
ser modificados o añadidos.
Los terminales de venta de lotería (TPV) de las administraciones han de ser modificados
para permitir imprimir comprobantes de premio bajo petición del usuario móvil en caso
de que quiera cobrar el premio en efectivo en una administración física.
La base de datos de apuestas también debería modificarse para contemplar la validación
de apuestas no procedentes de terminales de ventas sino del Operador de Red.
Por último, es necesario la creación de un servidor capaz de comunicarse con el servidor
de apuestas del Operador de Red para recibir las distintas peticiones (validación,
comprobación y cobro) tanto cifradas como en claro de sus usuarios móviles.
La función validarApuestaClara registra la apuesta en la base de datos y devuelve un
resguardo en claro, mientras que la función validarApuestaCifrada recibe los datos
cifrados del usuario (retransmitidos por el Operador de Red), descifra la clave de sesión
con su clave privada y con ésta la apuesta y procede a registrar la apuesta en la base de
datos y a generar un resguardo que cifra con la clave de sesión y firma digitalmente.
Del mismo modo, comprobarResguardoCifrado devuelve, en su caso, la cuantía cifrada
del premio del resguardo cifrado recibido.
Las funciones cobrarResguardoClaro y cobrarResguardoCifrado son análogas al caso de
validar apuesta con la excepción de que no devuelven un resguardo sino el estado de la
operación (si ha sido exitosa o no).
Figura 6. Funciones del Organismo de Apuestas
7
4 Definición detallada de procedimientos
A continuación se indican los procedimientos necesarios, entendidos como secuencia de
acciones, para cada escenario de uso definido, destacando las particularidades de cada
tipo de acceso al servicio (J2ME, WAP, SMS).
4.1 Gestión del servicio
En la Figura 7 se muestra el diagrama de secuencia del caso de uso “Alta” para acceso
vía WAP. Partiendo de que el usuario se encuentra usando el navegador de su terminal,
está en la página de altas del servicio y ha introducido sus datos en un formulario al
efecto, el navegador enviará los mismos al terminador WAP del Operador de Red, que
descodificará los campos de número de teléfono y contraseña y procederá a comunicarle
al servidor dichos valores para tramitar el alta. El servidor registrará los mismos en la
base de datos y comunicará el resultado de la operación al terminador WAP, que
generará una página con dicha información y será representada en la pantalla del
terminal del usuario.
Figura 7. Secuencia de alta (caso WAP)
El caso de acceder al servicio mediante J2ME es similar, con la salvedad de que la
comunicación es atendida por el terminador J2ME y en vez de devolver una página al
terminal se le devuelve el resultado del alta codificado de forma acorde a lo esperado
por la aplicación J2ME del servicio.
Como se ha mencionado anteriormente, el acceso mediante SMS carece del caso de uso
de gestión del servicio.
Los casos de uso “Baja” y “Login” son análogos, cambiando la llamada a la función
“alta” del servidor del Operador de Red por “baja” o “login”.
8
4.2 Validación de apuesta
El caso de uso de validación de apuestas tiene como fin la obtención por parte del
usuario de un resguardo con el que reclamar el posible premio. Seguidamente se
muestran la secuencia de acciones que se lleva a acabo dependiendo del tipo de acceso
al servicio.
En la Figura 8 se muestra la secuencia de acciones para el caso de acceso vía J2ME. El
usuario, que está ejecutando la aplicación del servicio de lotería en su terminal móvil,
selecciona el juego mediante los menús al efecto y rellena el boleto vacío que aparece
en pantalla. Tras introducir su combinación selecciona una opción para validar la
apuesta, introduce su número de teléfono y contraseña, y la aplicación se conecta con el
terminador J2ME del Operador de Red para transmitirle los datos de autenticación y la
apuesta cifrada con una clave de sesión, generada por la aplicación, junto con la propia
clave de sesión cifrada con la clave pública del Organismo de Apuestas. El terminador
J2ME indica al servidor del Operador de Red los datos de autenticación, que los
contrasta contra la base de datos de usuarios, y los datos de la apuesta, que reenvía al
servidor del Organismo de Apuestas, que descifra la apuesta, la registra en la base de
datos y genera el resguardo correspondiente, que cifra con la clave de sesión generada
anteriormente. Una vez recibido el resguardo por el Operador de Red, éste procede al
cobro de la apuesta (en caso de no poder hacerlo se establecerían los mecanismos
oportunos para anular la apuesta) y tras ello reenvía el resguardo al terminal del usuario
mediante el terminador J2ME. Finalmente, la aplicación del terminal mostrará al
usuario el resguardo y lo almacenará en memoria persistente.
Figura 8. Secuencia de validación de apuesta (caso J2ME)
9
En el caso de validación de apuestas mediante WAP, como muestra la Figura 9, el
usuario, que previamente habrá iniciado sesión en el servicio conectándose a la página
correspondiente, escribe los números de su combinación en un formulario al efecto y los
envía. El terminador WAP recibe la combinación, que viaja en claro por la red, y la
proporciona al servidor del Operador de Red que la procesa. El proceso de validación
consiste en transmitir la apuesta al servidor del Organismo de Apuestas, el cuál la
registra en la base de datos y devuelve un resguardo en claro. En ese momento la
apuesta se cobra al usuario y el resguardo es almacenado por el Operador de Red en la
base de datos de apuestas para que el usuario pueda consultarlo, y cobrarlo, en su caso,
en cualquier momento. Finalmente, el terminador WAP envía una página de
confirmación de la validación al usuario, la cuál mostrará el navegador WAP de su
terminal móvil.
Figura 9. Secuencia de validación de apuesta (caso WAP)
En el caso de acceso mediante mensajes cortos, mostrado en la Figura 10, el
procedimiento de validación se inicia por el envío por parte del usuario de un mensaje
corto con el código del juego y la combinación. El contenido del mensaje llega al
terminador SMS, que descodifica el mismo e indica la apuesta al servidor, el cuál la
transmite, de forma idéntica al caso WAP, al servidor del Organismo de Apuestas, que
registrará en su base de datos y devolverá el resguardo generado de la apuesta, en caso
de haber sido validada correctamente. La apuesta es almacenada en la base de datos de
apuestas del Operador de Red para poder comprobar automáticamente la misma al
finalizar el sorteo en que participa y avisar automáticamente, en caso de estar premiada,
al usuario. Finalmente, el resguardo es codificado en un mensaje corto por el terminador
SMS y enviado al usuario. Nótese que en los casos de acceso WAP y J2ME se muestra
explícitamente un sistema de tarificación para cobrar la apuesta, mientras que en el caso
de acceso SMS no. Esta circunstancia se debe a que el mensaje corto que envía el
usuario es del tipo “SMS Premium” y el importe de la apuesta se incluye en el precio
del propio mensaje.
10
Figura 10. Secuencia de validación de apuesta (caso SMS)
4.3 Comprobación de resguardo
La comprobación del resguardo, para saber si está premiado, se realiza bajo petición del
usuario únicamente en el caso de acceso vía J2ME, pues los resguardos sólo están
almacenados en el terminal móvil del usuario. En los casos de WAP y SMS la
comprobación es automática tras obtener los datos de cada sorteo.
Según muestra la Figura 11, el usuario, que está ejecutando la aplicación J2ME del
servicio de lotería en su terminal móvil, seleccionaría la opción mostrar resguardos del
menú en pantalla y seleccionaría uno de los resguardos almacenados para comprobar.
La aplicación enviará al terminador J2ME del Operador de Red el resguardo cifrado,
junto con la clave de sesión utilizada (cifrada a su vez con la clave pública del
Organismo de Apuestas), el cuál será reenviado al servidor del Operador de Red y de
éste al servidor del Organismo de Apuestas que lo descifrará y consultará en la base de
datos el premio correspondiente, en su caso. El resultado de la comprobación está
cifrado con la clave de sesión y recorre el camino inverso hasta la aplicación del
terminal del usuario, que lo descifra y presenta la información en pantalla.
11
Figura 11. Secuencia de comprobación (caso J2ME)
4.4 Cobro de premios
En caso de que la apuesta del usuario haya resultado premiada, el mismo podrá cobrar el
premio correspondiente (en el “Entregable 1” se indicaron diversas posibilidades). En
este apartado sólo se detallará el procedimiento para el caso de enviar la información a
una administración física para que el usuario cobre allí el premio en efectivo, el resto de
posibilidades son análogas.
En la Figura 12 se muestra el diagrama de secuencia correspondiente al escenario de
cobro de premios para el caso de que el usuario acceda al servicio mediante J2ME. Las
primeras acciones son similares al caso de comprobar el resguardo, exceptuando que el
usuario debe estar en una administración para cobrar allí el premio. En primer lugar, el
usuario, que está ejecutando la aplicación del servicio de lotería, selecciona la opción
“ver resguardos” o similar y la aplicación le muestra los resguardos que hay
almacenados en el terminal, de los cuales el usuario elige el resguardo premiado que
desea cobrar y dónde desea cobrarlo (proporcionando la información que identifique a
una administración física). Acto seguido, la aplicación genera una clave de sesión, con
la que cifra el resguardo, y envía al terminador J2ME del Operador de Red dicha
información sobre la administración, el resguardo cifrado y la clave de sesión cifrada
con la clave pública del Organismo de Apuestas. Todos los datos atraviesan el servidor
del Operador de Red y llegan al servidor del Organismo de Apuestas, que descifra la
clave de sesión y con ésta el resguardo. El servidor comprueba en la base de datos de
apuestas que dicho resguardo no ha sido cobrado previamente, y, en su caso,
conociendo el identificador de la administración física, envía el comprobante de premio
a alguno de los terminales de la misma. Si el identificador de la administración fuera
incorrecto o no hubiera podido imprimirse el comprobante de premio se informaría
oportunamente al usuario. Finalmente, el servidor del Organismo de Apuestas registra el
12
resguardo como cobrado y el comprobante de premio impreso en la administración
constituye la prueba del premio que el usuario podrá hacer efectivo en ese mismo
momento o posteriormente.
Figura 12. Secuencia de cobro de premio (caso J2ME)
El caso de cobro de premios en el caso de acceso al servicio mediante WAP, supuesto
que el usuario ya ha iniciado sesión en el sitio WAP del servicio y ha navegado por el
mismo hasta la página correspondiente al resguardo que desea cobrar, se muestra en la
Figura 13. El usuario introduce mediante algún formulario al efecto la información que
identifica a la administración donde desea cobrar el premio en efectivo. Dicha
información se envía al terminador WAP del Operador de Red, que previamente había
solicitado al servidor los resguardos del usuario para mostrárselos y tiene almacenado
en la sesión el resguardo que el usuario seleccionó para cobrar. Conociendo el
identificador de la administración y el resguardo, el terminador WAP solicita el cobro
del mismo al servidor del Operador de Red, que reenviará dichos datos al servidor del
Organismo de Apuestas para que los procese y haga efectivo el cobro. En primer lugar,
el servidor del Organismo de Apuestas comprueba que dicho resguardo no ha sido
cobrado con anterioridad y, en su caso, se comunica con la administración física
indicada para imprimir el comprobante de premio correspondiente en uno de los
13

Documentos relacionados