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