T abajo Fin de G ado
G ado en Ingenie ía de las Tecnologías de
Telecomunicación
In eg ación de he amien as de gami icación
mul ijugado en pla a o mas de Enseñanza Vi ual
Au o : Ál a o Ángel San iago Cuenca
Tu o : F ancisco José Fe nández Jiménez
Dp o. de Ingenie ía Telemá ica
Escuela Técnica Supe io de Ingenie ía
Uni e sidad de Se illa
Se illa, 2024
T abajo Fin de G ado
G ado en Ingenie ía de las Tecnologías de Telecomunicación
In eg ación de he amien as de gami icación
mul ijugado en pla a o mas de Enseñanza Vi ual
Au o :
Ál a o Ángel San iago Cuenca
Tu o :
F ancisco José Fe nández Jiménez
P o eso Colabo ado
Dp o. de Ingenie ía Telemá ica
Escuela Técnica Supe io de Ingenie ía
Uni e sidad de Se illa
Se illa, 2024
iii
T abajo Fin de G ado: In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza
Vi ual
Au o : San iago Cuenca, Ál a o Ángel
Tu o : Fe nández Jiménez, F ancisco José
El ibunal nomb ado pa a juzga el T abajo a iba indicado, compues o po los siguien es miemb os:
P esiden e:
Vocales:
Sec e a io:
Acue dan o o ga le la cali icación de:
Se illa, 2024
El Sec e a io del T ibunal
A mis pad es, a mi muje y a mis
hijos
ii
Ag adecimien os
Me gus a ía ag adece es e abajo a odos los p o eso es de la escuela que han hecho posible que llegue has a
aquí.
También me gus a ía menciona de mane a especial a mis pad es y a mi hoy muje , po el apoyo a lo la go de
es os años de ca e a, sin los cuales no pod ía es a aho a inalizándola.
Ál a o Ángel San iago Cuenca
Se illa, 2024
ix
4 Implemen ación...............................................................................................................................55
4.1 Código............................................................................................................................................. 55
4.1.1 Biblio ecas u ilizadas................................................................................................................55
4.1.2 Clases.......................................................................................................................................58
4.1.3 Fiche os JSF.............................................................................................................................. 62
4.1.4 Fiche os localización – l10n.......................................................................................................90
4.1.5 Hojas de es ilo (CSS).................................................................................................................90
4.1.6 Ja asc ip (JS)...........................................................................................................................90
4.1.7 Mensajes WebSocke y LTI.......................................................................................................91
4.1.8 En ío cali icaciones al LMS......................................................................................................123
4.1.9 Con igu ación......................................................................................................................... 123
4.1.10 con ig.p ope ies....................................................................................................................123
4.1.11 Desc ip o es........................................................................................................................... 123
4.2 O as uncionalidades.....................................................................................................................124
4.2.1 Au en icación LTI.................................................................................................................... 124
5 P uebas de ejecución......................................................................................................................127
5.1 En o no LMS u ilizado.....................................................................................................................127
5.2 Pla a o ma Gami icación................................................................................................................127
5.3 P uebas de uncionamien o ealizadas y o os da os de in e és........................................................127
5.4 P uebas de Rendimien o................................................................................................................. 129
5.5 P uebas de Segu idad..................................................................................................................... 129
6 Conclusiones y Líneas de Fu u o....................................................................................................... 131
6.1 Conclusiones.................................................................................................................................. 131
6.2 Líneas de Fu u o............................................................................................................................. 132
7 Anexos...........................................................................................................................................133
7.1 Anexo A Manual de ins alación....................................................................................................... 133
7.1.1 P epa ación del en o no.........................................................................................................133
7.1.2 Fiche o de con igu ación “con ig.p ope ies”..........................................................................133
7.1.3 Con igu ación Eclipse y WildFly...............................................................................................133
7.1.4 C eación de base de da os......................................................................................................133
7.2 Anexo B Manual de usua io............................................................................................................134
Re e encias..................................................................................................................................... 139
ÍNDICE DE TABLAS
Tabla 1. Ca ac e ización de los equisi os del Sis ema.........................................................................................17
Tabla 2. Requisi o gene al 01 “Sis ema de ges ión de la pla a o ma de gami icación”.........................................18
Tabla 3. Requisi o gene al 02 “Acceso al módulo de adminis ación median e Login”........................................18
Tabla 4. Requisi o gene al 03 “Acceso LTI al módulo de adminis ación ”..........................................................18
Tabla 5. Requisi o gene al 04 “Acceso LTI a la pa idas”....................................................................................19
Tabla 6. Requisi o gene al 05 “En o no Ges ión JSF”.........................................................................................19
Tabla 7. Requisi o gene al 06 “Implemen ación Pa idas Mul ijugado ”..............................................................19
Tabla 8. Requisi o gene al 07 “Implemen ación Pa idas dis ibuidas”................................................................20
Tabla 9. Requisi o gene al 08 “Implemen ación espec ado es en las pa idas”.....................................................20
Tabla 10. Requisi o gene al 09 “Ve sión LTI”....................................................................................................20
Tabla 11. Requisi o gene al 10 “Mig ación Base de da os”.................................................................................21
Tabla 12. Requisi o gene al 11 “Con igu ación de la aplicación en base de da os”............................................21
Tabla 13: Requisi o gene al 12 “Con ol de acceso median e oles”.....................................................................21
Tabla 14. Caso de uso 01 “Inicia sesión”...........................................................................................................22
Tabla 15: Caso de uso 02 “Consul a de la con igu ación de la aplicación”...........................................................22
Tabla 16: Caso de uso 03 “Modi icación de la con igu ación de la aplicación”....................................................23
Tabla 17: Caso de uso 04 “Consul a de consumido es LTI”................................................................................23
Tabla 18: Caso de uso 05 “Regis o de un consumido LTI”...............................................................................23
Tabla 19: Caso de uso 06 “Bo ado de un consumido LTI”................................................................................24
Tabla 20: Caso de uso 07 “Modi icación de un consumido LTI”........................................................................24
Tabla 21: Caso de uso 08 “Consul a de usua ios”................................................................................................24
Tabla 22: Caso de uso 09 “Regis o de un usua io no LTI”.................................................................................25
Tabla 23: Caso de uso 10 “Bo ado de un usua io no LTI”..................................................................................25
Tabla 24: Caso de uso 11 “Modi icación de un usua io no LTI”..........................................................................25
Tabla 25: Caso de uso 12 “Consul a de juegos”..................................................................................................26
Tabla 26: Caso de uso 13 “Regis o de un juego”................................................................................................26
Tabla 27: Caso de uso 14 “Bo ado de un juego”................................................................................................26
Tabla 28: Caso de uso 15 “Modi icación de un juego”........................................................................................27
Tabla 29: Caso de uso 16 “Consul a de iche os de p egun as”............................................................................27
Tabla 30: Caso de uso 17 “Regis o de un iche o de p egun as”.........................................................................27
Tabla 31: Caso de uso 18 “Bo ado de un iche o de p egun as”..........................................................................28
Tabla 32: Caso de uso 19 “Modi icación de un iche o de p egun as”.................................................................28
Tabla 33: Caso de uso 20 “Consul a de con igu aciones de pa ida”....................................................................28
x ii
Tabla 34: Caso de uso 21 “Regis o de una con igu ación de pa ida”.................................................................29
Tabla 35: Caso de uso 22 “Bo ado de una con igu ación de pa ida”..................................................................29
Tabla 36: Caso de uso 23 “Modi icación de una con igu ación de pa ida”..........................................................29
Tabla 37: Caso de uso 24 “Consul a de pa idas”................................................................................................30
Tabla 38: Caso de uso 25 “Regis o de una pa ida”............................................................................................30
Tabla 39: Caso de uso 26 “Bo ado de una pa ida”............................................................................................30
Tabla 40: Caso de uso 27 “Modi icación de una pa ida”....................................................................................31
Tabla 41: Caso de uso 28 “Acceso del iniciado de pa ida mul ijugado ”...........................................................31
Tabla 42: Caso de uso 29 “Juga en una pa ida mul ijugado ”............................................................................31
Tabla 43: Caso de uso 30 “Selecciona equipo y g upo”......................................................................................32
Tabla 44: Caso de uso 31 “Cambio de equipo y g upo”.......................................................................................32
Tabla 45: Caso de uso 32 “Espec ado en una pa ida mul ijugado ”...................................................................32
Tabla 46: Caso de uso 33 “Juga en una pa ida dis ibuida mul ijugado ”...........................................................33
Tabla 47: Caso de uso 34 “Espec ado en una pa ida dis ibuida mul ijugado ”..................................................33
Tabla 48: Caso de uso 35 “En ia mensaje”......................................................................................................33
Tabla 49: Caso de uso 36 “Recibi mensajes”.....................................................................................................34
Tabla 50: Regla de negocio 01 “Adminis ación con acceso po LTI”.................................................................34
Tabla 51: Regla de negocio 02 “En ío cali icaciones LTI”..................................................................................35
Tabla 52: Requisi os de conduc a 01 “Reconexión de un jugado ”......................................................................35
Tabla 53: Requisi os de conduc a 02 “Reconexión del iniciado ”........................................................................35
Tabla 54: Requisi o de in o mación 01: Sis ema de ges ión de la pla a o ma de gami icación..............................36
Tabla 55: Requisi o de usabilidad 01: En ega de mensajes del cha ....................................................................36
Tabla 56: Requisi o de po abilidad 01: Aplicación mul ipla a o ma...................................................................36
Tabla 57: Requisi o de segu idad 01: Con ol del acceso a los ecu sos...............................................................37
ÍNDICE DE FIGURAS
Figu a 1: Es ablecimien o y cie e de conexión WebSocke ..................................................................................3
Figu a 2: Compa a i a HTTP - WebSocke ..........................................................................................................4
Figu a 3: Cuo a de Me cado He amien as LMS en Eu opa................................................................................10
Figu a 4: Ejemplo conexión LTI Usua io LMS...................................................................................................12
Figu a 5: Diag ama de comunicación en e las capas de la aplicación..................................................................39
Figu a 6: Diag ama de componen es...................................................................................................................40
Figu a 7: Es uc u a del menú de la aplicación....................................................................................................42
Figu a 8: Añadi consumido .............................................................................................................................. 42
Figu a 9: Añadi juego........................................................................................................................................43
Figu a 10: Añadi iche o de p egun as...............................................................................................................43
Figu a 11: Añadi con igu ación de pa ida.........................................................................................................44
Figu a 12: Añadi pa ida....................................................................................................................................45
Figu a 13: Es uc u a de la base de da os.............................................................................................................46
Figu a 14: Inicio de Sesión.................................................................................................................................63
Figu a 15: Inicio de Sesión Co ec o...................................................................................................................63
Figu a 16: E o en inicio de Sesión....................................................................................................................64
Figu a 17: P e e encias.......................................................................................................................................64
Figu a 18: Es uc u a del menú de adminis ación...............................................................................................65
Figu a 19: Lis a de p opiedades..........................................................................................................................65
Figu a 20: Edi a P opiedades.............................................................................................................................66
Figu a 21: Ve P opiedad....................................................................................................................................66
Figu a 22: Menú desplegable Juegos...................................................................................................................67
Figu a 23: Lis a de iche os de p egun as............................................................................................................67
Figu a 24: Añadi Fiche o de p egun as..............................................................................................................68
Figu a 25: Edi a Fiche o de P egun as...............................................................................................................68
Figu a 26: Ve Fiche o de P egun as...................................................................................................................69
Figu a 27: Lis a de Juegos..................................................................................................................................69
Figu a 28: Añadi Juego.....................................................................................................................................70
Figu a 29: Edi a Juego.......................................................................................................................................71
Figu a 30: Ve Juego.......................................................................................................................................... 72
Figu a 31: Lis a Con igu aciones de Pa idas......................................................................................................73
Figu a 32: Añadi Con igu ación de Pa ida........................................................................................................73
Figu a 33: Edi a Con igu ación de Pa ida.........................................................................................................74
xix
Figu a 34: Ve Con igu ación de Pa ida.............................................................................................................75
Figu a 35: Lis a de Pa idas.................................................................................................................................75
Figu a 36: Añadi Pa ida....................................................................................................................................76
Figu a 37: Edi a Pa ida.....................................................................................................................................77
Figu a 38: Ve Pa ida........................................................................................................................................78
Figu a 39: Lis a de Consumido es.......................................................................................................................79
Figu a 40: Añadi Consumido ...........................................................................................................................79
Figu a 41: Edi a Consumido .............................................................................................................................80
Figu a 42: Ve Consumido ................................................................................................................................ 81
Figu a 43: Lis a de usua ios................................................................................................................................82
Figu a 44: Añadi Usua io.................................................................................................................................. 82
Figu a 45: Edi a Usua io....................................................................................................................................83
Figu a 46: Ve Usua io....................................................................................................................................... 83
Figu a 47: Pan alla inicial Iniciado Pa ida Mul ijugado ....................................................................................84
Figu a 48: Pan alla Iniciado Pa ida Mul ijugado ..............................................................................................84
Figu a 49: Pan alla Inicial Alumno/Jugado Pa ida Mul ijugado .......................................................................85
Figu a 50: Pan alla Panel de espues as Alumno/Jugado Pa ida Mul ijugado ...................................................85
Figu a 51: Pan alla esul ado P egun a Alumno/Jugado en Pa ida Mul ijugado ................................................86
Figu a 52: Pan alla Inicial Espec ado Pa ida Mul ijugado ................................................................................86
Figu a 53: Pan alla Seguimien o Espec ado Pa ida Mul ijugado I....................................................................87
Figu a 54: Pan alla Seguimien o Espec ado Pa ida Mul ijugado II...................................................................87
Figu a 55: Pan allas Jugado es Pa ida Dis ibuida I............................................................................................87
Figu a 56: Pan allas Jugado es Pa ida Dis ibuida II...........................................................................................88
Figu a 57: Pan alla Espec ado Pa ida Dis ibuida..............................................................................................88
Figu a 58: Ejemplo cha común.......................................................................................................................... 89
Figu a 59: Ejemplo mensaje Alumno-P o eso ....................................................................................................89
Figu a 60: Ejemplo mensaje P o eso -Alumno....................................................................................................89
Figu a 61: Ejemplo mensaje Equipos..................................................................................................................90
Figu a 62: Regis o pa ida.................................................................................................................................92
Figu a 63: Conexión jugado al a-02..................................................................................................................93
Figu a 64: Conexión jugado al a-01..................................................................................................................94
Figu a 65: Conexión jugado al a-03..................................................................................................................95
Figu a 66: Conexión espec ado al a-06.............................................................................................................96
Figu a 67: Conexión jugado al a-05..................................................................................................................97
Figu a 68: Conexión jugado al a-04..................................................................................................................98
Figu a 69: Cambio g upo y equipo......................................................................................................................99
Figu a 70: Inicio de la pa ida...........................................................................................................................100
Figu a 71: P egun a g upo A.............................................................................................................................102
Figu a 72: Respues a g upo A (I)......................................................................................................................103
Figu a 73: Respues a g upo A (II).....................................................................................................................104
Figu a 74: P egun a g upo B.............................................................................................................................105
Figu a 75: Respues a g upo B...........................................................................................................................106
Figu a 76: Final de la pa ida............................................................................................................................107
Figu a 77: Regis o y conexión jugado al a-02................................................................................................108
Figu a 78: Conexión espec ado al a-03...........................................................................................................109
Figu a 79: Regis o y conexión jugado al a-04................................................................................................110
Figu a 80: Comenza pa ida - jugado al a-02.................................................................................................112
Figu a 81: Comenza pa ida - espec ado al a-03.............................................................................................113
Figu a 82: Comenza pa ida - jugado al a-04.................................................................................................114
Figu a 83: Reconexión......................................................................................................................................115
Figu a 84: P ime a p egun a..............................................................................................................................116
Figu a 85: Siguien es p egun as - jugado al a-04.............................................................................................117
Figu a 86: Siguien es p egun as - jugado al a-02.............................................................................................118
Figu a 87: Final pa ida - jugado al a-04.........................................................................................................119
Figu a 88: Final pa ida – espec ado al a-03....................................................................................................120
Figu a 89: Final pa ida - jugado al a-02.........................................................................................................121
Figu a 90: En ío mensaje de cha .....................................................................................................................122
Figu a 91: En ío cali icaciones al LMS............................................................................................................123
Figu a 92: Con enido del cu so de Moodle pa a ealiza las p uebas..................................................................128
Figu a 93: Moodle - Ac i a Edición.................................................................................................................134
Figu a 94: Moodle - Añadi una ac i idad o un ecu so.....................................................................................134
Figu a 95: Moodle - Añadi He amien a Ex e na.............................................................................................135
Figu a 96: Moodle - Con igu ación He amien a Ex e na..................................................................................135
Figu a 97: Moodle - Con igu ación He amien a Ex e na pa a acceso al módulo de Adminis ación.................136
Figu a 98: Moodle - Con igu ación He amien a Ex e na pa a acceso a la pa ida.............................................137
Figu a 99: Moodle - Con igu ación He amien a Ex e na pa a acceso a la pa ida como espec ado ..................137
xxi
1 In oducción
1 INTRODUCCIÓN
1.1. Mo i ación
La mo i ación de es e p oyec o es omen a el in e és de los alumnos en el ap endizaje, haciéndolo más ameno
y accesible. De mane a que puedan ealiza las e aluaciones de mane a di e ida en modo juego, ya sea de
mane a indi idual o como equipo, omen ando ambién así el compañe ismo en e ellos y la coope ación pa a
ayuda se unos a o os en el p eceso de ap endizaje de la ma e ia.
En una época además en la que los es udian es es án an amilia izados con los ideojuegos, adap a la
enseñanza y ace ca la a una de sus o mas de ocio acili a que se mo i en en ello y puedan ap ende de o ma
más ce cana [1].
La Gami icación ha sido obje o de es udio y desa ollo po pa e del depa amen o de Ingenie ía Telemá ica
du an e a ios años con el P oyec o Gami ica. Po ello, es e p oyec o con inua el abajo ealizado en TFGs
an e io es en los que se desa olla on la web de adminis ación (Ana Lobón) [2], el desa ollo de pa idas
(Albe o Jiménez) [3] y la comunicación LTI (Ped o Ga cía F u os) [4].
Pa iendo de ellos, se ha ealizado la ac ualización a JSF de la web de adminis ación. Como e emos más
adelan e JSF nos pe mi e la cons ucción de las páginas basada en plan illas, lo cual acili a que o os
desa ollado es puedan con inua es e p oyec o en el u u o.
Pa a pode ap o echa odo el po encial que nos pe mi e an o LTI como la p opia Gami icación, se ha
implemen ado la posibilidad de ealiza pa idas dis ibuidas, las cuales nos pe mi en que cada usua io enga
en su p opio na egado odo lo necesa io pa a pode juga con o o de mane a emo a.
A aíz de lo an e io , ya que cada usua io puede es a jugando desde una ubicación dis in a, se implemen a la
uncionalidad de Cha en e usua ios, de o ma que puedan compa i la in o mación que necesi en pa a el
desa ollo de la pa ida.
Los juegos que se usan en es e TFG son p opiedad de Jesús Muñoz Calle, y es án accesibles en la web del
P oyec o ADJA [5].
1.2. Gami icación
La Gami icación como écnica pe mi e aslada la capacidad de jugabilidad de los juegos al ámbi o educa i o
de o ma que pe mi e a los alumnos mejo a sus esul ados de o ma a ac i a. Pa a ello, es imp escindible que
los alumnos p e iamen e engan conocimien o de la dinámica y no mas de los juegos con los que se a a
ealiza la Gami icación en el aula, pa a pode consegui una mayo implicación y po lo an o una mejo a de
los esul ados.
Median e la Gami icación buscamos que po medio de la expe imen ación y los juegos, al se una expe iencia
más di e ida pa a el alumno, se abso ban mejo los conocimien os, po enciando las habilidades de los
alumnos.
Los p incipales obje i os de es e mé odo de ap endizaje son:
•C ea un ínculo lúdico en e el alumno y el con enido de que se impa e.
•Se una he amien a mo i ado a y e ec i a que llame la a ención del alumno, de o ma que luche
con a el abu imien o y les impulse en el ap endizaje.
•P emia al alumno, sob e odo en aquellos casos donde no exis e más incen i o que el p opio
ap endizaje.
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 2
•Mejo a los esul ados de la enseñanza.
El ac o di e encial que se le apo a en es e p oyec o con nues a he amien a a la Gami icación, espec o a
o as he amien as exis en es, es la capacidad de de in eg ación de un g an nume o de juegos en múl iples de
pla a o mas de enseñanza i ual, de mane a que oda la in o mación y con igu ación es a cen alizada e
in eg ada en un solo luga [1].
1.1.1 Ven ajas de usa la gami icación en el aula
La Gami icación p esen a el p oceso de enseñanza de o ma más a ac i a a la adicional. Es capaz de
p esen a como lúdico un p oceso que habi ualmen e no se pe cibe como al, como po ejemplo el ap endizaje
de las ma emá icas. Se puede deci que siemp e se ap ende á mejo si se ap ende jugando.
Una de las g andes en ajas es que se puede adap a a ni eles educa i os y ma e ias muy di e en es. Puede
u iliza se desde e apa in an il has a una e apa Pos Obliga o ia.
Con es a écnica se pe mi e emplea di e sos ecu sos y he amien as en el aula que ayuda án a los docen es a
mo i a a los alumnos. Pudiendo pe sonaliza ac i idades y con enidos en unción de las necesidades de cada
es udian e, a o eciendo así la adquisición de conocimien os y la mejo a de la a ención [1].
1.3. Obje i os
El obje i o p incipal es pe mi i desde pla a o mas LMS, el uso de Juegos de Gami icación basados en LTI
pe mi iendo pa idas mul ijugado y dis ibuidas.
Pa a ello se hace uso de una aplicación web desde la que se ges iona odo el p oceso de c eación de pa idas.
Es a aplicación pe mi e un acceso limi ado cuando se iden i ica el ol de p o eso a a és de LTI, accediendo
desde su pla a o ma LMS.
Es a aplicación web ha sido diseñada pa a pe mi i al p o eso de una o ma ácil e in ui i a pode c ea
pa idas, seleccionando los juegos así como los iche os de p egun as que quie an aplica en cada Juego.
Desde la pla a o ma además se o ece un menú adap ado según la pla a o ma LMS que se es e empleando,
es o pe mi e que pueda se u ilizado po mul i ud de p o eso es pe mi iendo la in e ope abilidad de la
aplicación.
Los obje i os undamen ales que se pe siguen con la implan ación de es a aplicación son los siguien es:
1. Mig ación de las páginas de adminis ación LTI de ecnología JSP a JSF (Facele s) [6].
2. Mig ación de la base de da os en SQLi e a Pos g eSQL.
3. Implemen ación de pa idas dis ibuidas en las que cada jugado puede in e ac ua con el juego en su
p opio na egado , enca gándose la aplicación de la coo dinación en e los dis in os jugado es.
4. Implemen ación de un cha en e los pa icipan es de una pa ida, de o ma que puedan en ia se
mensajes en e ellos en iempo eal, con la posibilidad de escoge a quién a di igido cada mensaje.
5. Pe mi i al usua io elegi el idioma en el que desea isualiza las páginas.
La aplicación desa ollada log a cumpli con odos es os obje i os, dando sopo e a los idiomas español, inglés
y ancés.
3 In oducción
1.4. Tecnología WebSocke
Una aplicación web básica hace uso de al menos dos elemen os, un na egado (clien e) y un Se ido que
p ocesa, almacena y dis ibuye la in o mación en espues a a las pe iciones del na egado .
La ecnología WebSocke pe mi e a las aplicaciones que la usan que el se ido inicie la comunicación con el
na egado sin necesidad de una pe ición po pa e del clien e.
Los p o ocolos que se usan pa a es as comunicaciones Na egado -Se ido son HTTP o HTTPS, ambos
basados en TCP/IP.
Pa a las comunicaciones bidi eccionales y ull-duplex se emplea el p o ocolo WebSocke , desc i o en la
especi icación RFC 6455 [7], el cual pe mi e in e cambia da os en e el na egado y el se ido po medio de
una conexión pe sis en e. Los da os pueden se pasados en ambas di ecciones como paque es “packe s”, sin
co a la conexión y sin pe iciones adicionales de HTTP “HTTP- eques s”.
WebSocke es especialmen e bueno pa a se icios que equie en in e cambio de in o mación con inua, po
ejemplo juegos en línea, sis emas de negocios en iempo eal, en e o os [8].
Con la conexión HTTP adicional, el clien e ealiza una solici ud y, después de que el se ido en ía su
espues a, la conexión se cie a. Si el clien e necesi a más da os, debe ab i una nue a conexión.
Con una conexión WebSocke , el clien e puede ab i y u iliza una única conexión pa a odas sus
comunicaciones WebSocke con el se ido . Es a conexión pe sis en e pe mi e mensajes bidi eccionales de
baja la encia, es deci , las pe iciones pueden ene o igen en el se ido , no solo en el clien e.
Es a conexión WebSocke ambién puede se con es ado. Una conexión HTTP no iene es ado: es o signi ica
que cada solici ud se maneja de o ma aislada, sin e ención de in o mación sob e las solici udes an e io es.
WebSocke , po o o lado, iene es ado g acias a su conexión pe sis en e.
Que una aplicación ap o eche o no la capacidad con es ado depende o almen e del desa ollado y de cómo
u iliza su conexión WebSocke [9].
Figu a 1: Es ablecimien o y cie e de conexión WebSocke
Es ablecimien o y cie e conexión WebSocke
Clien Se e
HTTP
pe ición ac ualización p o ocolo
Acep ación ac ualización HTTP
Mensajes bidi eccionales
Conexión abie a pe sis en e
Un lado cie a el canal
conexión ce ada
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 10
2.1.2 He amien as LTI
LTI “Lea ning Tools In e ope abili y”, o aducido al cas ellano "In e ope abilidad de las he amien as
de ap endizaje", es un es ánda que que pe mi e el in e cambio de in o mación en e un LMS y una
he amien a de ap endizaje ex e na, como la desa ollada en es e p oyec o.
O a de las ca ac e ís icas de LTI es que elimina la necesidad de que los usua ios necesi en c edenciales
de acceso de inicio de sesión pa a di e en es si ios web, ya que median e LTI la he amien a ex e na
puede e i ica la iden idad del usua io en la pla a o ma LMS.
2.1.3 In eg ación de he amien as LTI
Desc ibi emos aho a el p oceso de in eg ación de he amien as LTI en pla a o mas LMS, pa a ello
de ini emos los concep os de Tool p o ide (TP – p o eedo de he amien as) y Tool Consume (TC –
consumido de he amien as).
Tool P o ide , son las he amien as ex e nas que se in eg an en las pla a o mas LMS a a és de LTI, como la
aplicación desa ollada en es e abajo.
Tool Consume , se án las pla a o mas LMS, el hecho de emplea un es ánda como LTI nos pe mi e in eg a
nues o TP en mul i ud de TC.
Figu a 3: Cuo a de Me cado He amien as LMS en Eu opa
11 Es ado del a e
El es ánda LTI [24] es el que pe mi e que se ealice la comunicación en e el TP y el TC. Es e es ánda ha
sido desa ollado po 1EdTech [25], an e io men e IMS Global Lea ning Conso ium (IMS GLC) [26], y es
una o ganización in e nacional sin ánimo de luc o que su gió en 1995 y pe sigue omen a a ni el global el
c ecimien o y el impac o de las ecnologías del ap endizaje en los ámbi os educa i os y de o mación en
emp esas. Su p incipal ac i idad consis e en desa olla es ánda es (no mas) pa a la c eación, di usión e
in e ope abilidad de Tecnologías Educa i as pa a el Ap endizaje. Han conseguido ap oba y publica más de
20 es ánda es g a ui os que pueden se usados lib emen e sin es icciones po de echos de au o .
Según E-LEARN MAGAZINE [27] con la adopción de los es ánda es IMS, las o ganizaciones educen
cos os y mejo an la in eg ación de sis emas en un ac o de 10 a 1000 en compa ación con las in e aces
de p og amación de aplicaciones pe sonalizadas de conexión (API). Es o se debe a que odas las
aplicaciones ce i icadas po IMS u ilizan los mismos es ánda es abie os pa a conec a se.
2.1.4 A qui ec u a LTI
Pa a pode es ablece una comunicación LTI, es necesa io que en el TC se con igu en las c edenciales de
dominio de un TP. Dichas c edenciales se aplica án a los enlaces LTI que se c een en el Tool Consume .
Es as c edenciales consis en en una cla e y un sec e o, que han debido se c eadas p e iamen e po el
supe usua io del TP. Es e pa Cla e-Sec e o debe se conocido an o po el TC como po el TP y se á usado
po los mismos pa a i ma el con enido de los paque es OAu h [28].
Nues a aplicación u iliza la biblio eca Oscelo pa a ges iona la comunicación con los consumido es po LTI.
Es a biblio eca, desa ollada po S ephen P. Vicke s, encapsula el código necesa io pa a que un p o eedo de
he amien as compa ible con LTI 1 se comunique con un consumido de he amien as. Incluye sopo e pa a
LTI 1.1 y las ex ensiones no o iciales de Basic LTI. Los bene icios de usa una lib e ía de clases como es a
son:
•la capa de abs acción p opo cionada po las clases man iene las comunicaciones LTI sepa adas del
código de la aplicación.
•el código puede eu iliza se en e a ios p o eedo es de he amien as.
•los da os LTI se ans o man en obje os ú iles y los da os que al an se sus i uyen au omá icamen e po
alo es p ede e minados azonables.
•la unción Ou comes se ice (se icio de esul ados) u iliza LTI 1.1 o la ex ensión no o icial de
esul ados, según lo que admi a el consumido de la he amien a.
•se admi en las ex ensiones no o iciales pa a los se icios de a iliación y con igu ación.
•se incluye uncionalidad adicional pa a:
◦ac i a /desac i a una cla e de consumido .
◦es ablece ho as de inicio y in pa a habili a el acceso pa a cada cla e de consumido .
◦es ablece acue dos pa a que los usua ios de di e en es enlaces de ecu sos puedan colabo a
jun os en un único enlace de p o eedo de he amien as.
•los p o eedo es de he amien as pueden ap o echa las ac ualizaciones de LTI con un impac o
mínimo en el código de sus aplicaciones.
Una ez con igu ados el TP y el TC un ejemplo de comunicación LTI [29] se ía el mos ado en el siguien e
diag ama de comunicación:
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 12
El paso a paso de la comunicación LTI mos ada en el diag ama an e io se ía la siguien e:
1. Un usua io pincha en un enlace LTI alojado en el TC.
2. El na egado ealiza una pe ición GET HTTP o HTTPS al LMS.
3. El LMS en ía espues a 200 OK con un o mula io con los da os necesa ios pa a accede al TP.
4. El na egado hace au omá icamen e una pe ición POST.
Figu a 4: Ejemplo conexión LTI Usua io LMS
Acceso LTI
Alumno Pla a o ma LMS He amien a LTI
Usua io LMS Na egado LMS Se le Con olle Oscelo Pos g eSQL
1Accede enlace
2GET enlace
3200 OK
o m
4au opos
al ["LTI ok"]
5POST launch URL
6doPos
7execu e
8sa e
9callback
10 sa e
11 ini session
12 302 edi ec
URL ecu so
13 GET URL ecu so
14 200 OK
ecu so
15 mos a ecu so
16 ab i WS session
17 WS session abie a
inal pa ida
18 LTI Basic ou come
19 HTTP LTI Basic ou come
20 P ocess ou come
[LTI e o ]
21 POST launch URL
22 doPos
23 execu e
24 e o
25 HTTP
e o s a us
26 mos a e o
13 Es ado del a e
En el caso de que la pe ición sea álida:
5. Se en ía la pe ición al TP.
6. Se ejecu a el mé odo doPos en nues o TP.
7. Desde es e mé odo se in oca al mé odo execu e de la biblio eca LTI Oscelo , pasando como
pa áme o callback nues o mé odo execu e. Pa a comp oba la alidez de una pe ición LTI, an o en
lo ela i o a la i ma de los da os como a no caducidad y no duplicidad de la misma se in oca al
mé odo execu e de es a biblio eca al que se le pasa como e e encia un mé odo de nues a aplicación
que se ejecu a á en caso de la pe ición sea co ec a. En es e caso la p opia biblio eca ac ualiza la
in o mación co espondien e en la base de da os.
8. Se comp ueba que la pe ición es álida y se ac ualiza la base de da os con la in o mación ecibida:
consumido , usua io, nonce (núme o a bi a io que ga an iza que la pe ición no es á epe ida ni
caducada).
9. El mé odo execu e ejecu a como callback el mé odo execu e de nues o se le .
10. Desde el se le se ac ualiza en la base de da os in o mación adicional no con emplada en la biblio eca
Oscelo .
11. El TP inicia una sesión HTTP pa a es e clien e.
12. Una ez iniciada la sesión el TP en ía una espues a 302 REDIRECT al na egado pa a accede al
ecu so solici ado.
13. El na egado ealiza una pe ición GET pa a accede al ecu so en el TP.
14. El TP en ía la espues a a la pe ición del na egado (200 OK).
15. El na egado mues a el ecu so al usua io.
16. El na egado en ía una pe ición de ape u a de comunicación WebSocke .
17. El TP comple a el es ablecimien o de la sesión WebSocke .
18. Una ez inalizada la pa ida, nues o TP en ía, si p ocede, un mensaje a la biblio eca Oscelo con la
cali icación ob enida po los jugado es.
19. La biblio eca Oscelo en ía un mensaje LTI de ipo Basic ou come al LMS pa a ac ualiza la
cali icación del jugado .
20. El LMS p ocesa el mensaje y almacena la cali icación.
En caso de que haya un e o en la pe ición:
21. Se en ía la pe ición del pun o 4 al TP.
22. Se ejecu a el mé odo doPos en nues o TP.
23. Desde es e mé odo se in oca al mé odo execu e de la biblio eca LTI Oscelo , pasando como
pa áme o callback nues o mé odo execu e.
24. El mé odo execu e de la biblio eca Oscelo indica que la pe ición no es álida.
25. El se le en ía al na egado la espues a a la pe ición (21) con un código de e o .
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 14
26. El na egado mues a al usua io in o mación del e o .
2.1.5 Biblio ecas y Ejemplos LTI
La documen ación pa a el uso del es ánda LTI en sus dis in as e siones se puede encon a en la página
de IMS (1ed ech) [30].
Pa a la aplicación desa ollada en es e p oyec o el in e cambio de mensajes en e TC y TP se ealiza
empleando el código de la biblio eca Oscelo . Es e código es a p og amado en Ja a, sopo a has a la
e sión LTI 1.1 y además p opo ciona un código de ejemplo u ilizando el se icio Ou comes.
2.2 Jaka a EE
Pa a el desa ollo de la aplicación se ha u ilizado undamen almen e la pla a o ma Jaka a EE, que es el
nomb e de las nue as e siones de Ja a EE, una ez que O acle cedió el con ol de la misma a la Eclipse
Founda ion.
Jaka a EE consis e en un conjun o de especi icaciones pa a los dis in os aspec os de una aplicación. Las
p incipales especi icaciones u ilizadas en el desa ollo de es a aplicación son las siguien es:
1. Jaka a Exp ession Language 3.0 (EL) [31]
El Uni ied Exp ession Language de Ja a es un lenguaje de p og amación de p opósi o especial
u ilizado p incipalmen e en aplicaciones web en Ja a pa a inc us a exp esiones en páginas web.
2. Jaka a Se e Faces 2.3 (JSF) [6]
Jaka a Se e Faces es una ecnología y amewo k pa a aplicaciones Ja a basadas en web que
simpli ica el desa ollo de in e aces de usua io en aplicaciones Jaka a EE.
3. Jaka a Managed Beans 1.0 [32]
Es a especi icación de ine un conjun o de se icios básicos pa a obje os ges ionados po el con enedo
con equisi os mínimos, ambién conocidos bajo el ac ónimo "POJOs" (Plain Old Ja a Objec s). Se
basa en la especi icación Ja aBeans [33].
4. Jaka a Con ex s and Dependency Injec ion 2.0 (CDI) [34]
La inyección de dependencias (en inglés Dependency Injec ion, DI) es un pa ón de diseño o ien ado a
obje os, en el que se suminis an obje os a una clase en luga de se la p opia clase la que c ee dichos
obje os.
Los obje os que pueden se inyec ados son Managed Beans de inidos con el ámbi o decla ado en su
clase, y se inyec a en cada caso el obje o que es e en el ámbi o al que iene acceso el obje o que lo
inyec a. En caso de no exis i el obje o en ese ámbi o, se c ea un nue o obje o p e iamen e a la
inyección.
En CDI se de inen cinco ipos de ámbi o es ánda .
•Applica ion, ámbi o común a oda la aplicación.
•Session, co esponde a la sesión del usua io, en caso de que exis a.
•Reques , co esponde al anscu so del p ocesamien o de la espues a a una pe ición.
•Con e sa ion, que ep esen a el ámbi o de con e sación de inido en Con e sa ion con ex
li ecycle.
•Dependen , pseudoámbi o pa a obje os dependien es.
15 Es ado del a e
5. Jaka a Pe sis ence 2.2 (JPA) [35]
Jaka a Pe sis ence una API de pe sis encia desa ollada pa a la pla a o ma Jaka a EE, que pe mi e
maneja da os elacionales en aplicaciones desa olladas pa a es a pla a o ma.
La pe sis encia p opo cionada cub e es á eas:
•La API en sí misma, de inida en el paque e ja ax.pe sis ence.
•El lenguaje de consul a Ja a Pe sis ence Que y Language (JPQL).
•Me ada os obje o/ elacional.
El obje i o que pe sigue el diseño de es a API es no pe de las en ajas de la o ien ación a obje os al
in e ac ua con una base de da os (siguiendo el pa ón de mapeo obje o- elacional) y pe mi i usa
obje os egula es (conocidos como POJO).
2.3 Ajax
Se a a de una écnica de desa ollo web pa a c ea aplicaciones web asínc onas. La aplicación que se ejecu a
en el clien e puede es ablece una conexión asínc ona con el se ido en segundo plano, de o ma que se
in e ac úa con el se ido sin necesidad de eca ga la página o eca gando únicamen e de e minados
elemen os de la misma.
Una ez que se ecibe la espues a del se ido , la aplicación ja asc ip que se ejecu a en el na egado puede
modi ica la página u ilizando pa a ello la in o mación ecibida del se ido .
2.4 WebSocke
WebSocke es una ecnología que p opo ciona un canal de comunicación bidi eccional y ull-duplex sob e una
única conexión HTTP.
El p o ocolo es á de inido po pa e del IETF (In e ne Enginee ing Task Fo ce) [36] en el RFC 6455 [7]. Al
se ull-duplex pe mi e a los se ido es web inicia la ansmisión de in o mación a los na egado es sin
necesidad de una pe ición p e ia po pa e de és os.
2.5 ADJA
El P oyec o "Aplicación de Juegos Didác icos en el Aula" AJDA [5], es un p oyec o abie o y sin ánimo de
luc o, pe enecien e a la Red Educa i a Digi al Desca es, cuyo p incipal obje i o es o ece a la comunidad
educa i a más de 500 juegos didác icos y los ecu sos necesa ios pa a su pues a en p ác ica en el aula.
Se o ecen juegos que son los que se pod án usa en nues a aplicación. El núme o de jugado es que pueden
pa icipa en una pa ida depende de cómo se haya desa ollado el juego que se usa en la misma.
2.5.1 Juegos
Se a a de juegos in e ac i os que se ejecu an en la en ana de un na egado web. Los jugado es ienen que
esponde las p egun as que se les an plan eando du an e el anscu so del juego. Algunos ejemplos de los
juegos disponibles son: a i icie os, ba alla na al y bombilla.
2.5.2 Equipos y g upos
En las pa idas mul ijugado los jugado es se o ganizan en g upos, los cuales a su ez se o ganizan en equipos.
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 16
Las p egun as se ealizan a los miemb os de un de e minado g upo, y median e la aplicación de un algo i mo a
las espues as de los in eg an es del g upo, se de e mina si la espues a del g upo es co ec a o no.
Desde el pun o de is a del juego, cada g upo es lo que el juego conside a un jugado , co esponde a la
aplicación una ez que e mina la pa ida asigna la cali icación ob enida po el g upo a cada uno de los
in eg an es del mismo.
2.5.3 Con igu ación de pa ida
Se a a de un “molde” de pa ida que puede es a incomple o y a pa i del cual se pueden de ini las pa idas.
2.5.4 Pa ida
Una pa ida pe mi e que uno o a ios jugado es pa icipen en uno de los juegos exis en es en nues o TP. Los
pa áme os son los de ini i os pa a juga a pa i –modi icando lo deseado- de una ‘Con igu ación de Pa ida’.
En unción de los pa áme os de la pa ida, es as se pueden clasi ica en:
•Monojugado
Es e ipo de pa idas se desa ollan po cada jugado indi idualmen e, po un único jugado . Aunque
una pa ida monojugado puede se ejecu ada independien emen e po a ios alumnos, de o ma que
nunca pa icipa más de un jugado .
•Mul ijugado
Pa a es e ipo de pa idas se necesi a á la in e ención de un iniciado y dos o más jugado es que
pa icipen en la misma. Se dispone ambién de la modalidad de Espec ado pa a es e ipo de pa idas.
Es e ipo de pa idas es a pensado pa a ealiza las en el aula, donde el p o eso ac ua á de iniciado ,
mos ando su pan alla con el desa ollo de la pa ida y los alumnos pod án i espondiendo cada uno
desde su panel de espues as.
•Mul ijugado dis ibuida
En es as pa idas pa icipan ambién a ios jugado es, pe o cada uno dispone de una copia del juego y
no exis e iniciado . La pa ida comienza au omá icamen e cuando se alcanza el núme o de jugado es
necesa io y la misión de la aplicación es coo dina las dis in as copias del juego pa a que uncionen
coo dinadamen e median e el p ocesado de los mensajes que se an ecibiendo del juego.
17 Diseño
3 DISEÑO
n es e apa ado se desc ibi á el so wa e desa ollado en es e abajo, así como los obje i os y
uncionalidades.E
3.1 In oducción
El obje i o de diseño de la aplicación es la ac ualización a ecnología JSF de la página de adminis ación de la
pla a o ma, habili a el acceso po LTI desde el LMS ( e Figu a 4) de los p o eso es pa a adminis a las
pa idas sin necesidad de c eación de usua io en la misma, la posibilidad de pa idas mul ijugado LTI y
dis ibuidas.
Pa a mejo a la ges ión de da os del p oyec o se ha ealizado la mig ación de la base de da os exis en e en
SQLi e a Pos g eSQL.
También se ha desa ollado la uncionalidad de un Cha en e los dis in os usua ios de una pa ida.
3.2 Análisis de equisi os y especi icaciones
En es e apa ado amos a ealiza un análisis po meno izado de los equisi os que debe cumpli nues a
aplicación. El o ma o es el desc i o a con inuación:
Tabla 1. Ca ac e ización de los equisi os del Sis ema
IDENTIFICADOR Nomb e del equisi o
Dependencias
Desc ipción
Impo ancia
P io idad
Dependencias: Nomb e de el/los equisi os que son necesa ios pa a la implemen ación de
es e equisi o o que es án ín imamen e elacionados.
Desc ipción: Explicación b e e del obje i o a alcanza con ese equisi o.
Impo ancia: Indica el g ado de ele ancia que iene el equisi o pa a el clien e.
P io idad: Indica el g ado de ele ancia que iene el equisi o pa a el desa ollado .
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 18
3.2.1 Requisi os gene ales
Tabla 2. Requisi o gene al 01 “Sis ema de ges ión de la pla a o ma de gami icación”
RG-01 Sis ema de ges ión de la pla a o ma de gami icación
Dependencias
Desc ipción Acceso a las opciones de ges ión y con igu ación de la pla a o ma.
Impo ancia Al a
P io idad Al a
Tabla 3. Requisi o gene al 02 “Acceso al módulo de adminis ación median e Login”
RG-02 Acceso a la adminis ación median e Login
Dependencias RG-01
Desc ipción Acceso a la pla a o ma de Adminis ación median e login con usua io
y con aseña.
Impo ancia Al a
P io idad Al a
Tabla 4. Requisi o gene al 03 “Acceso LTI al módulo de adminis ación ”
RG-03 Acceso LTI al módulo de adminis ación
Dependencias RG-01
Desc ipción Acceso median e LTI al módulo de Adminis ación en los casos en los
que el LMS in o ma el ol de ins uc o .
Impo ancia Al a
P io idad Al a
19 Diseño
Tabla 5. Requisi o gene al 04 “Acceso LTI a la pa idas”
RG-04 Acceso LTI a la pa idas
Dependencias
Desc ipción Acceso median e LTI a las pa idas desde la pla a o ma LMS
Impo ancia Al a
P io idad Al a
Tabla 6. Requisi o gene al 05 “En o no Ges ión JSF”
RG-05 En o no Ges ión JSF
Dependencias
Desc ipción Mig ación del Modulo de Ges ión a ecnología JSF.
Impo ancia Al a
P io idad Al a
Tabla 7. Requisi o gene al 06 “Implemen ación Pa idas Mul ijugado ”
RG-06 Implemen ación Pa idas Mul ijugado
Dependencias
Desc ipción Implemen ación de pa idas en las que a ios jugado es pa icipan en
la misma y esponden en un panel de espues as cuando les
co esponde el u no.
Impo ancia Al a
P io idad Al a
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 26
Tabla 25: Caso de uso 12 “Consul a de juegos”
RCU-12 Consul a de juegos
Dependencias RCU-01, RG-01, RG-02, RG-12
Desc ipción El ol de supe usua io pe mi e consul a los juegos.
Impo ancia Al a
P io idad Al a
Tabla 26: Caso de uso 13 “Regis o de un juego”
RCU-13 Regis o de un juego
Dependencias RCU-01, RG-01, RG-02, RG-12
Desc ipción El ol de supe usua io pe mi e egis a un nue o juego.
Impo ancia Al a
P io idad Al a
Tabla 27: Caso de uso 14 “Bo ado de un juego”
RCU-14 Bo ado de un juego
Dependencias RCU-01, RG-01, RG-02, RG-12
Desc ipción El ol de supe usua io pe mi e bo a un juego egis ado p e iamen e.
Impo ancia Al a
P io idad Al a
27 Diseño
Tabla 28: Caso de uso 15 “Modi icación de un juego”
RCU-15 Modi icación de un juego
Dependencias RCU-01, RG-01, RG-02, RG-12
Desc ipción El ol de supe usua io pe mi e modi ica un juego egis ado
p e iamen e.
Impo ancia Al a
P io idad Al a
Tabla 29: Caso de uso 16 “Consul a de iche os de p egun as”
RCU-16 Consul a de iche os de p egun as
Dependencias RCU-01, RG-01, RG-02, RG-12
Desc ipción Tan o el ol de supe usua io como el de p o eso pe mi en consul a
los iche os de p egun as.
Impo ancia Al a
P io idad Al a
Tabla 30: Caso de uso 17 “Regis o de un iche o de p egun as”
RCU-17 Regis o de un iche o de p egun as
Dependencias RCU-01, RG-01, RG-02, RG-12
Desc ipción Tan o el ol de supe usua io como el de p o eso pe mi en egis a un
nue o iche o de p egun as.
Impo ancia Al a
P io idad Al a
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 28
Tabla 31: Caso de uso 18 “Bo ado de un iche o de p egun as”
RCU-18 Bo ado de un iche o de p egun as
Dependencias RCU-01, RG-01, RG-02, RG-11, RG-12
Desc ipción Tan o el ol de supe usua io como el de p o eso pe mi en bo a un
iche o de p egun as.
Impo ancia Al a
P io idad Al a
Tabla 32: Caso de uso 19 “Modi icación de un iche o de p egun as”
RCU-19 Modi icación de un iche o de p egun as
Dependencias RCU-01, RG-01, RG-02, RG-12
Desc ipción Tan o el ol de supe usua io como el de p o eso pe mi en modi ica
un iche o de p egun as egis ado p e iamen e.
Impo ancia Al a
P io idad Al a
Tabla 33: Caso de uso 20 “Consul a de con igu aciones de pa ida”
RCU-20 Consul a de con igu aciones de pa ida
Dependencias RCU-01, RG-01, RG-02, RG-03, RG-12
Desc ipción Tan o el ol de supe usua io como el de p o eso pe mi en consul a las
con igu aciones de pa ida.
Impo ancia Al a
P io idad Al a
29 Diseño
Tabla 34: Caso de uso 21 “Regis o de una con igu ación de pa ida”
RCU-21 Regis o de una con igu ación de pa ida
Dependencias RCU-01, RG-01, RG-02, RG-03, RG-12
Desc ipción Tan o el ol de supe usua io como el de p o eso pe mi en egis a una
nue a con igu ación de pa ida.
Impo ancia Al a
P io idad Al a
Tabla 35: Caso de uso 22 “Bo ado de una con igu ación de pa ida”
RCU-22 Bo ado de una con igu ación de pa ida
Dependencias RCU-01, RG-01, RG-02, RG-03, RG-12
Desc ipción Tan o el ol de supe usua io como el de p o eso pe mi en bo a una
con igu ación de pa ida egis ada p e iamen e.
Impo ancia Al a
P io idad Al a
Tabla 36: Caso de uso 23 “Modi icación de una con igu ación de pa ida”
RCU-23 Modi icación de una con igu ación de pa ida
Dependencias RCU-01, RG-01, RG-02, RG-03, RG-12
Desc ipción Tan o el ol de supe usua io como el de p o eso pe mi en modi ica
una con igu ación de pa ida egis ada p e iamen e.
Impo ancia Al a
P io idad Al a
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 30
Tabla 37: Caso de uso 24 “Consul a de pa idas”
RCU-24 Consul a de pa idas
Dependencias RCU-01, RG-01, RG-02, RG-03, RG-12
Desc ipción Tan o el ol de supe usua io como el de p o eso pe mi en consul a las
pa idas.
Impo ancia Al a
P io idad Al a
Tabla 38: Caso de uso 25 “Regis o de una pa ida”
RCU-25 Regis o de una pa ida
Dependencias RCU-01, RG-01, RG-02, RG-03, RG-12
Desc ipción Tan o el ol de supe usua io como el de p o eso pe mi en egis a una
nue a pa ida.
Impo ancia Al a
P io idad Al a
Tabla 39: Caso de uso 26 “Bo ado de una pa ida”
RCU-26 Bo ado de una pa ida
Dependencias RCU-01, RG-01, RG-02, RG-03
Desc ipción Tan o el ol de supe usua io como el de p o eso pe mi en bo a una
pa ida egis ada p e iamen e.
Impo ancia Al a
P io idad Al a
31 Diseño
Tabla 40: Caso de uso 27 “Modi icación de una pa ida”
RCU-27 Modi icación de una pa ida
Dependencias RCU-01, RG-01, RG-02, RG-03, RG-12
Desc ipción Tan o el ol de supe usua io como el de p o eso pe mi en modi ica
una pa ida egis ada p e iamen e.
Impo ancia Al a
P io idad Al a
Tabla 41: Caso de uso 28 “Acceso del iniciado de pa ida mul ijugado ”
RCU-28 Acceso del iniciado de pa ida mul ijugado
Dependencias RCU-01, RG-01, RG-02, RG-03, RG-06
Desc ipción Acceso del iniciado pa a ges iona el desa ollo de una pa ida
mul ijugado .
Impo ancia Al a
P io idad Al a
Tabla 42: Caso de uso 29 “Juga en una pa ida mul ijugado ”
RCU-29 Juga en una pa ida mul ijugado
Dependencias RCU-01, RG-01, RG-02, RG-03, RG-06
Desc ipción Acceso pa a juga una pa ida mul ijugado .
Impo ancia Al a
P io idad Al a
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 32
Tabla 43: Caso de uso 30 “Selecciona equipo y g upo”
RCU-30 Selecciona equipo y g upo
Dependencias RCU-01, RG-01, RG-02, RG-03, RG-06
Desc ipción Los jugado es selecciona án equipo y g upo pa a accede a una pa ida
mul ijugado .
Impo ancia Al a
P io idad Al a
Tabla 44: Caso de uso 31 “Cambio de equipo y g upo”
RCU-31 Cambio de equipo y g upo
Dependencias RCU-01, RG-01, RG-02, RG-03, RG-06, RCU-28
Desc ipción El iniciado de la pa ida puede cambia el equipo y g upo de un
jugado an es del inicio de la misma.
Impo ancia Al a
P io idad Al a
Tabla 45: Caso de uso 32 “Espec ado en una pa ida mul ijugado ”
RCU-32 Espec ado en una pa ida mul ijugado
Dependencias RCU-01, RG-01, RG-02, RG-03, RG-06
Desc ipción Acceso como espec ado de una pa ida mul ijugado .
Impo ancia Al a
P io idad Al a
33 Diseño
Tabla 46: Caso de uso 33 “Juga en una pa ida dis ibuida mul ijugado ”
RCU-33 Juga en una pa ida dis ibuida mul ijugado
Dependencias RCU-01, RG-01, RG-02, RG-03, RG-07
Desc ipción Acceso pa a juga una pa ida dis ibuida mul ijugado .
Impo ancia Al a
P io idad Al a
Tabla 47: Caso de uso 34 “Espec ado en una pa ida dis ibuida mul ijugado ”
RCU-34 Espec ado en una pa ida dis ibuida mul ijugado
Dependencias RCU-01, RG-01, RG-02, RG-03, RG-07
Desc ipción Acceso como espec ado de una pa ida dis ibuida mul ijugado .
Impo ancia Al a
P io idad Al a
Tabla 48: Caso de uso 35 “En ia mensaje”
RCU-35 En ia mensaje
Dependencias RCU-01, RG-01, RG-02, RG-03, RG-06, RG-07
Desc ipción Los pa icipan es en una pa ida pueden en ia mensajes a o os
pa icipan es en la misma.
Impo ancia Al a
P io idad Al a
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 34
Tabla 49: Caso de uso 36 “Recibi mensajes”
RCU-36 Recibi mensajes
Dependencias RCU-01, RG-01, RG-02, RG-03, RG-06, RG-07
Desc ipción Los pa icipan es en una pa ida ecibi án los mensajes que se di ijan a
ellos.
Impo ancia Al a
P io idad Al a
3.2.2.2 Reglas de negocio
Tabla 50: Regla de negocio 01 “Adminis ación con acceso po LTI”
RN-01 Adminis ación con acceso po LTI
Dependencias RG-03, RG-12, RCU-16, RCU-17, RCU-18, RCU-19, RCU-20,
RCU-21, RCU-22, RCU-23, RCU-24, RCU-25, RCU-26, RCU-27,
RCU-28
Desc ipción El acceso po LTI a la ges ión de usua ios, pa idas y con igu aciones
de pa idas es a á limi ado a los da os co espondien es a la ins i ución
del usua io.
Impo ancia Al a
P io idad Al a
35 Diseño
Tabla 51: Regla de negocio 02 “En ío cali icaciones LTI”
RN-02 En ío cali icaciones LTI
Dependencias RG-04, RG-06, RG-07
Desc ipción Se en ia án las cali icaciones de los jugado es de la pa ida al LMS en
el caso de que el jugado haya accedido po LTI.
Impo ancia Al a
P io idad Al a
3.2.2.3 Requisi os de conduc a
Tabla 52: Requisi os de conduc a 01 “Reconexión de un jugado ”
RC-01 Reconexión de un jugado
Dependencias RG-04, RG-06, RG-07
Desc ipción Un mismo jugado pod á econec a se a la pa ida en la que es aba
pa icipando si po algún mo i o pie de la conexión.
Impo ancia Al a
P io idad Al a
Tabla 53: Requisi os de conduc a 02 “Reconexión del iniciado ”
RC-02 Reconexión del iniciado
Dependencias RG-06, RCU-28
Si se p oduce una nue a conexión de un iniciado , és e se con ie e en
el iniciado de la pa ida y se cie a la sesión del iniciado an e io .
Impo ancia Al a
P io idad Al a
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 42
•Pa iendo de una si uación inicial en la que no engamos c eados ni usua ios ni pa idas el
uncionamien o se ía el siguien e:
1. El supe usua io, c ea un nue o consumido con el nomb e de la ins i ución co espondien e, los
campos cla e LTI y sec e o son gene ados au omá icamen e po la pla a o ma, aunque el campo
sec e o es edi able. Pa a que el consumido es e ac i o se debe ma ca Ac i o→“Sí” e indica el
in e alo de iempo en el que se desea que es e ac i ado, debe indica se al menos la echa de
inicio de la ac i ación del consumido .
2. El supe usua io debe án ca ga los juegos si se desea u iliza juegos que no engan p eca gados
en el módulo. Pa a la subida de un juego, es e debe es a en o ma o ZIP y se le debe asigna un
nomb e con el que apa ece á en la pla a o ma. Se pod án indica da os adicionales del juego como
la e apa educa i a a la que co esponde, el ipo de espues a, el núme o mínimo de p egun as…
Figu a 8: Añadi consumido
Figu a 7: Es uc u a del menú de la aplicación
ADJA Inicio Con igu ación Juegos
Fiche os de p egun as
Juegos
Con igu aciones de pa ida
Pa idas
Consumido es Usua ios
Menú LTI
43 Diseño
(puede consul a se la desc ipción comple a de es os da os en el apa ado Base de Da os). El
a chi o ZIP a subi cons a de un iche o HTML que ecibe el nomb e de “juga .h ml” y
opcionalmen e de un a chi o de ex o llamado “p ope ies. x ” en el que se encuen an
di e sos pa áme os de con igu ación del juego. Es e iche o iene incluido en el a chi o ZIP
donde es á empaque ado el juego.
3. El p o eso o el supe usua io subi á el iche o de p egun as, en el o ma o adecuado pa a el juego
en el que se desea u iliza , habi ualmen e TXT. Se indica á el nomb e del iche o, así como o os
da os: asigna u a, cu so, obse aciones, ipo de espues as. La desc ipción comple a de los da os
de cada en idad apa ece en el apa ado Base de Da os.
Figu a 10: Añadi iche o de p egun as
Figu a 9: Añadi juego
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 44
4. El supe usua io c ea á una con igu ación de pa ida, que se i á de plan illa pa a c ea una o
a ias pa idas. En ella se indica án alo es que se usa án en la de inición de pa idas basadas en
la misma. Los alo es de inidos en la con igu ación se oman como alo es iniciales al c ea la
pa ida, aunque pueden modi ica se. Los da os que no se cumplimen en en la con igu ación hab á
que cumplimen a los al c ea la pa ida. En e los da os que se pueden de ini es án el juego, el
ac o de co ección, el ipo de espues a, los iche os de p egun as… Puede consul a se la
desc ipción comple a de los da os en el apa ado Base de Da os.
5. El supe usua io o el p o eso c ea á una pa ida en base a una con igu ación de pa ida exis en e.
Pa a ello debe á selecciona una con igu ación de pa ida, el juego con el que ayamos a ealiza
la ac i idad, el iniciado en caso de pa idas mul ijugado , y o os pa áme os como si es ac i a o
no, la echa de inicio y in, si se desea que enga espec ado es, el modo de pa ida (Cen alizada
sin e minal, Cen alizada LTI, Cen alizada Mul ijugado , Dis ibuida).
Figu a 11: Añadi con igu ación de pa ida
45 Diseño
•Como segunda pa e, enemos la implemen ación de la pa ida LTI en una pla a o ma de enseñanza
i ual:
1. El adminis ado del cu so debe á con igu a el enlace LTI en su LMS. Es a pa e de
con igu ación de un enlace LTI en una pla a o ma se de alla á más adelan e en el Anexo B
Manual de usua io En el mismo se indica á el p oceso en la pla a o ma Moodle donde se han
ealizado las p uebas.
2. El alumno o alumnos acceden a la pa ida a a és del enlace LTI que les apa ece á en su LMS.
3. Una ez inalizada la pa ida, la cali icación se á en iada a la pla a o ma LMS pa a su
almacenamien o.
En los p óximos capí ulos se ahonda á en la implemen ación y se mos a án más casos de uncionamien o.
Figu a 12: Añadi pa ida
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 46
3.3.4 Base de Da os
La es uc u a de la base de da os puede obse a se en la siguien e Figu a:
Figu a 13: Es uc u a de la base de da os
"gami icacion_con ig"
id
cla e
alo
games
id
name
juga _h ml
enable
desc ipcion
ipo espues a
in e no
jsonpa ame oscon
e apa
es ilojuego
con igu acion_pa idas
id_con igu acion
id_p o eso
id_juego
id_ p egun as
i ulo
po cen aje_co eccion
pa ame os
equipos
e apa
cu so
asigna u a
ema
iempo espues a
nump egun as
o den
echa_c eacion
iche o_p egun as
id
id_p o eso
i ulo
nomb e
con enido_ ex o
con enido
cu so
asigna u a
ema
obse aciones.
publico
ipo_p egun a
echa_c eacion
echa_ac ualizacion
pa idas
id_pa ida
id_p o eso
id_iniciado
id_juego
id_con igu acion
id_ iche o_p egun as
i ulo
po cen aje_co eccion
pa ame os
equipos
e apa
cu so
asigna u a
ema
iempo espues a
iche o_con inuacion
echa_inicio
echa_ in
inalizada
codigo
ou come
coun
epea
deli e ypasswo d
jsonpa ame os
con_espec ado es
pe misos_iniciado
publica
pa ida_l i
num_maximo_jugado es
num_minimo_jugado es
num_equipos
num_minimo_equipos
num_jugado es_po _equipo
num_jugado es_po _g upo
num_jugado es
num_p egun as_ o muladas
modo_pa ida
obse aciones
es ado_pa ida
echa_c eacion
echa_upda e
equipo
id
pa ida
desc ipcion
numg upos
numjugado es
g upo
id
equipo
pa ida
desc ipcion
numjugado es
espues as_co ec as
espues as_inco ec as
pun os
ganado
eliminado
jugado
id
pa ida
usua io
g upo
nick
echa egis o
ype
coun 2
usua io
id
email
nomb e
apellidos
ol
imezone
consume _key
use name
pass
echa egis o
_ul imo_acceso
l i_consume
consume _key
name
sec e
l i_ e sion
consume _name
consume _ e sion
consume _guid
css_pa h
p o ec ed
enabled
enable_ om
enable_un il
las _access
c ea ed
upda ed
use name_pa ame e
l i_con ex
consume _key
con ex _id
l i_con ex _id
l i_ esou ce_id
i le
se ings
p ima y_consume _key
p ima y_con ex _id
sha e_app o ed
c ea ed
upda ed
l i_use
consume _key
con ex _id
use _id
l i_ esul _sou cedid
c ea ed
upda ed
ool_use _id
lis_pe son_sou cedid
l i_nonce
consume _key
alue
expi es
l i_sha e_key
sha e_key_id
au o_app o e
expi es
p ima y_consume _key
p ima y_con ex _id
cha _mensajes
id
consume _key
con ex _id
use _id
id_pa ida
id_usua io
mensaje
ho a
nick
imagen
id_usua io_ empo al
cha _en egas_mensajes
id
id_mensaje
id_usua io
consume _key
con ex _id
use _id
ho a
id_usua io_ empo al
47 Diseño
Se han uni icado en una sola base de da os en Pos g eSQL la base de da os co espondien e a la in o mación
de los juegos con la que p e iamen e es aba en SQLi e co espondien e a la in o mación necesa ia pa a la
comunicación LTI.
Se han usionado las ablas con in o mación ela i a a los mismos elemen os que es aban en ambas bases de
da os.
Además se han añadido ablas pa a almacena la in o mación co espondien e a los mensajes en e los
pa icipan es de una pa ida.
3.3.4.1 Tablas de in o mación de juegos y pa idas
3.3.4.1.1 gami
icacion_con ig
Tabla que con iene la in o mación ela i a a con igu ación del TP.
•id: cla e sus i u a del da o de con igu ación.
•cla e: cla e del da o de con igu ación.
• alo : alo del da o de con igu ación.
3.3.4.1.2 games
Tabla que con iene la in o mación ela i a a los juegos.
•id: cla e sus i u a del juego.
•name: nomb e del juego.
•juga _h ml: ubicación del iche o juga .h ml del juego.
•enable: indica si el juego es á ac i o o no.
•desc ipcion: desc ipción del juego.
• ipo espues a: ipo de espues a que se usa en el juego.
•in e no: indicado si se a a de un juego incluido en la pla a o ma o ca gado pos e io men e.
•jsonpa ame oscon : JSON con pa áme os del juego.
•e apa: e apa educa i a a la que es á di igido el juego.
•es ilojuego: es ilo del juego.
3.3.4.1.3 con igu acion_pa idas
Tabla que con iene la in o mación ela i a a las plan illas pa a acili a la de inición de pa idas.
•id_con igu acion: cla e sus i u a de la plan illa.
•id_p o eso : iden i icado del p o eso al que co esponde la plan illa (cla e o ánea a usua io).
•id_juego: iden i icado del juego de la plan illa (cla e o ánea a games).
•id_ p egun as: iden i icado del iche o de p egun as u ilizado en la plan illa (cla e o ánea a
iche o_p egun as).
• i ulo: í ulo de la plan illa.
•po cen aje_co eccion: po cen aje de espues as co ec as pa a conside a co ec a la espues a
global del g upo.
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 48
•pa ame os: pa áme os de la plan illa.
•equipos: in o mación en o ma o JSON de los equipos y g upos.
•e apa: e apa educa i a a la que es á di igida la plan illa.
•cu so: cu so al que es á di igida la plan illa.
•asigna u a: asigna u a pa a la que se hace la plan illa.
• ema: ema del que a a la plan illa.
• iempo espues a: iempo de espues a de los jugado es pa a las p egun as y o aciones.
•nump egun as: núme o de p egun as.
•o den: o den alea o io de las p egun as.
• echa_c eacion: echa de c eación de la plan illa.
3.3.4.1.4 iche o_p egun as
Tabla que con iene la in o mación ela i a a los iche os de p egun as pa a las pa idas.
•id: cla e sus i u a del iche o de p egun as.
•id_p o eso : iden i icado del p o eso que ha subido el iche o de p egun as (cla e o ánea a
usua io).
• i ulo: í ulo del iche o de p egun as.
•nomb e: nomb e del iche o de p egun as.
•con enido_ ex o: con enido del iche o de p egun as en o ma o ex o.
•con enido: con enido del iche o de p egun as sin con e i a o ma o ex o.
•cu so: cu so al que es á di igido el iche o de p egun as.
•asigna u a: asigna u a pa a la que se hace el iche o de p egun as.
• ema: ema del que a a el iche o de p egun as.
•obse aciones:: obse aciones ela i as al iche o.
•publico: indica si se a a de un iche o de p egun as de uso público.
• ipo_p egun a: ipo de espues a de la p egun as de es e iche o.
• echa_c eacion: echa de c eación del iche o de p egun as.
• echa_ac ualizacion: echa de la úl ima modi icación del iche o de p egun as.
3.3.4.1.5 pa idas
Tabla que con iene la in o mación ela i a a las pa idas.
•id_pa ida: cla e sus i u a de la pa ida.
•id_p o eso : iden i icado del p o eso al que co esponde la pa ida (cla e o ánea a usua io).
•id_iniciado : iden i icado del iniciado de la pa ida (cla e o ánea a usua io).
•id_juego: iden i icado del juego de la pa ida (cla e o ánea a games).
49 Diseño
•id_con igu acion: iden i icado de la plan illa en la que se basa la pa ida (cla e o ánea a
con igu acion_pa idas).
•id_ iche o_p egun as: iden i icado del iche o de p egun as u ilizado en la pa ida (cla e o ánea
a iche o_p egun as).
• i ulo: í ulo de la pa ida.
•po cen aje_co eccion: po cen aje de espues as co ec as pa a conside a co ec a la espues a
global del g upo.
•pa ame os: pa áme os de la pa ida.
•equipos: in o mación en o ma o JSON de los equipos y g upos de la pa ida.
•e apa: e apa educa i a a la que es á di igida la pa ida.
•cu so: cu so al que es á di igida la pa ida.
•asigna u a: asigna u a pa a la que se hace la pa ida.
• ema: ema del que a a la pa ida.
• iempo espues a: iempo de espues a de los jugado es pa a las p egun as y o aciones.
• iche o_con inuacion: da os pa a con inuación de la pa ida.
• echa_inicio: echa de inicio a pa i de la cual se puede juga la pa ida.
• echa_ in: echa de in a pa i de la cual ya no es posible juga la pa ida.
• inalizada: indicado de pa ida inalizada.
•codigo: IDP (iden i icado de la pa ida). Se u iliza pa a accede a la pa ida, bien in oduciéndolo en
la pan alla o como pa áme o del enlace LTI en el LMS.
•ou come: indicado si la pa ida en ia á mensaje ou come al LMS con las cali icaciones en caso de
que el jugado haya accedido po LTI.
•coun : núme o de eces que se ha jugado la pa ida.
• epea : máximo núme o de eces que un alumno puede juga la pa ida.
•deli e ypasswo d: cla e pa a accede a la pa ida como jugado sin necesidad de hace login.
•jsonpa ame os: pa áme os ijos y opcionales de la pa ida.
•con_espec ado es: indicado de posibilidad de espec ado es en la pa ida.
•pe misos_iniciado : indica si el iniciado es á au o izado a modi ica algunos alo es de la
pa ida.
•publica: indicado de si es una pa ida pública.
•pa ida_l i: indicado de si es una pa ida a la que se accede median LTI.
•num_maximo_jugado es: núme o máximo de jugado es en la pa ida.
•num_minimo_jugado es: núme o mínimo de jugado es en la pa ida.
•num_equipos: núme o de equipos en la pa ida.
•num_minimo_equipos: núme o mínimo de equipos en la pa ida.
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 50
•num_jugado es_po _equipo: núme o de jugado es po equipo.
•num_jugado es_po _g upo: núme o de jugado es po equipo.
•num_jugado es: núme o de jugado es.
•num_p egun as_ o muladas: núme o de p egun as o muladas la úl ima ez que se ha jugado la
pa ida.
•modo_pa ida: modo de juego pa a es a pa ida.
•obse aciones: obse aciones ela i as a la pa ida.
•es ado_pa ida: es ado de la pa ida.
• echa_c eacion: echa de c eación de la pa ida.
• echa_upda e: echa de la úl ima modi icación de la pa ida.
3.3.4.1.6 equipo
Tabla que con iene la in o mación ela i a a los equipos pa icipan es en las pa idas.
•id: cla e sus i u a del equipo.
•pa ida: iden i icado de la pa ida en la que ha pa icipado (cla e o ánea a pa idas).
•desc ipcion: nomb e del equipo.
•numg upos: núme o de g upos del equipo.
•numjugado es: núme o de jugado es en el equipo.
3.3.4.1.7 g upo
Tabla que con iene la in o mación ela i a a los g upos pa icipan es en las pa idas.
•id: cla e sus i u a del g upo.
•equipo: iden i icado de la equipo al que pe enece el g upo (cla e o ánea a equipo).
•pa ida: iden i icado de la pa ida en la que ha pa icipado (cla e o ánea a pa idas).
•desc ipcion: nomb e del g upo.
•numjugado es: núme o de jugado es en el g upo.
• espues as_co ec as: núme o de espues as con es adas co ec amen e po el g upo.
• espues as_inco ec as: núme o de espues as con es adas inco ec amen e po el g upo.
•pun os: pun uación del g upo en la pa ida.
•ganado : indicado de si el g upo ha ganado la pa ida.
•eliminado: indicado de si el g upo ha sido eliminado de la pa ida.
3.3.4.1.8 jugado
Tabla que con iene la in o mación ela i a a los jugado es pa icipan es en las pa idas.
•id: cla e sus i u a del jugado .
•pa ida: iden i icado de la pa ida en la que ha pa icipado (cla e o ánea a pa idas).
51 Diseño
•usua io: iden i icado del usua io (cla e o ánea a usua io).
•g upo: iden i icado del g upo al que pe enece (cla e o ánea a g upo).
•nick: nick (apodo) del jugado en la pa ida.
• echa egis o: echa de egis o del jugado .
• ype: ol de pa ida con el que ha pa icipado el usua io.
•coun 2: núme o de eces que ha jugado es a pa ida.
3.3.4.1.9 usua io
Tabla que con iene la in o mación ela i a a los usua ios de la pla a o ma de gami icación.
•id: cla e sus i u a del usua io.
•email: co eo elec ónico de es e usua io.
•nomb e: nomb e de es e usua io.
•apellidos: apellidos de es e usua io.
• ol: ol en la aplicación de es e usua io.
• imezone: huso ho a io de es e usua io.
•consume _key: iden i icado del consumido LTI, sólo apa ece á cuando se a e de usua ios
co espondien es a conexiones LTI (cla e o ánea a l i_consume ).
•use name: nomb e de usua io.
◦En el caso de usua ios co espondien es a conexiones LTI, se almacena el alo del campo
use _id comunicado po el LMS en el lanzamien o LTI.
◦En el es o de caso se asigna manualmen e al da de al a el usua io y es el que hay que pone pa a
hace login.
•pass: hash de la con aseña del usua io codi icada usando PBKDF2 (passwo d-based key de i a ion
unc ion) [37].
• echa egis o: echa de egis o del usua io.
• _ul imo_acceso: echa del úl imo acceso del usua io.
3.3.4.2 Tablas pa a comunicación LTI
Son las ablas cuyo nomb e empieza po l i_ y son eque idas pa a el uncionamien o de la biblio eca
Oscelo que implemen a el es ánda LTI 1.1.
3.3.4.2.1 l i_c
onsume
Tabla que con iene la in o mación ela i a a los dis in os consumido es (Tool Consume ) que pueden u iliza
es a he amien a.
•consume _key: es la iden i icación del TC en es e TP y se u iliza pa a la au en icación OAu h en el
mensaje basic-l i-launch- eques . Gene ado au omá icamen e po el TP al da de al a un
nue o TC.
•name: nomb e del TC.
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 58
4.1.1.20 Sp ing F amewo k
Biblio eca básica [58] pa a Sp ing que, jun o con Sp ing Beans, p opo ciona inyección de dependencia y
unciones de IoC (In e sion o Con ol).
U ilizada en la aplicación apiBD y en las llamadas a sus se icios REST desde la aplicación p incipal.
Uno de los componen es es Sp ing Web, que p opo ciona ca ac e ís icas de in eg ación, como la uncionalidad
de ca ga de a chi os mul ipa e y la inicialización del con enedo IoC median e escuchas de se le s y un
con ex o de aplicación o ien ado a la web. También con iene un clien e HTTP y las pa es elacionadas con la
web del sopo e emo o de Sp ing.
4.1.1.21 JSON In Ja a
Los a chi os de es e paque e [59] implemen an codi icado es/decodi icado es JSON en Ja a. También incluye
la capacidad de con e i en e JSON y XML, encabezados HTTP, cookies y CDL. Es a es una
implemen ación de e e encia.
Se usa en la aplicación pa a la cons ucción de los mensajes que se en ían po la conexión WebSocke .
4.1.1.22 Oscelo
La biblio eca Ja a Oscelo [60] (Open Sou ce Communi y o Educa ional Lea ning Objec s and Tools),
c eada po S ephen P. Vicke s, encapsula el código necesa io pa a que un p o eedo de he amien as
compa ible con LTI 1 se comunique con un consumido de he amien as. Incluye sopo e pa a LTI 1.1 y las
ex ensiones no o iciales de Basic LTI.
Se usa pa a p ocesa las pe iciones de lanzamien o LTI ecibidas de los TC, así como pa a en ia a los LMS
las cali icaciones ob enidas.
4.1.2 Clases
Según su inalidad, podemos ag upa las clases en los siguien es paque es.
4.1.2.1 De inición del Modelo
En JPA (Ja a Pe sis ence API, en cas ellano API de pe sis encia pa a Ja a, ac ualmen e enomb ado a Jaka a
Pe sis ence) [35] se de inen clases que mapean las ablas de la base de da os pa a pe mi i el acceso a los da os
almacenados. También pueden de ini se clases auxilia es pa a la de inición de da os complejos y la con e sión
en e las ep esen aciones de los da os en la aplicación y en la base de da os.
1. En idades
Son las enca gadas de ealiza el ORM (Objec Rela ional Mapping, en español Mapeo elacional de
obje os) en e la aplicación (obje o) y la base de da os donde se almacenan los da os ( elacional), an o
las co espondien es a la pla a o ma de juegos como las co espondien es a la in eg ación LTI.
2. Clases embebidas
Co esponden a obje os compues os que se mapean en más de una columna en la abla de la base de
da os. Pueden co esponde a cla es p ima ias compues as o a o os da os.
3. Enume aciones
Se de inen pa a los casos en que de e minadas p opiedades sólo pueden oma un núme o limi ado de
alo es.
◦Es adoPa ida: enume ación con los posibles es ados de la pa ida.
59 Implemen ación
◦E apa: enume ación de las posibles e apas educa i as.
◦ModoPa ida: enume ación de los posibles modos de juego de una pa ida.
◦RolPa ida: enume ación de los posibles oles de un usua io en una pa ida.
◦RolUsua io: enume ación de los posibles oles de un usua io que ha iniciado sesión.
◦TipoRespues a: enume ación de los posibles ipos de espues a que se pueden u iliza en los
juegos.
4.1.2.2 Con olado
Son las clases que se inculan desde los iche os JSF, y que p opo cionan los da os a mos a en las mismas y
ealizan las acciones que el usua io solici a.
1. LoginCon olle : usado en la página de login.
2. Selec Con olle : p opo ciona los elemen os de las lis as de alo es pa a los da os co espondien es a
enume aciones.
3. Con olado es pa a en idades: hay un con olado pa a cada en idad ges ionada en el módulo de
adminis ación, que da sopo e a las páginas elacionadas del módulo de adminis ación.
4. Con olado es pa a las is as de la pa ida: son los con olado es pa a las páginas que se u ilizan pa a
mos a el desa ollo de las pa idas.
4.1.2.3 Se icio
Las clases de es a capa de inen las ope aciones que se ealizan con los da os. Es as ope aciones con su mayo o
meno g ado de complejidad in oca án a mé odos de las clases DAO de las en idades del modelo.
Pa a ealiza las ope aciones, és as se ejecu an den o de una ansacción de inida en es as clases.
1. Se icio
Clase abs ac a gené ica que p opo ciona las ope aciones básicas que se pueden ealiza sob e una
en idad.
2. Se icios de en idades
Una clase pa a cada una de las en idades del modelo que ex iende Se icio y que conc e a la clase del
modelo a la que se aplica. De ine la clase pa a de los obje os ges ionados y puede p opo ciona
se icios adicionales pa a la en idad a la que co esponde.
Además se de inen el es o de posibles ope aciones a ealiza sob e la en idad y se c ea la ansacción
den o de la que se ealizan las ope aciones.
3. LazyEn i yDa aModel
Implemen ación de LazyDa aModel de P imeFaces que ob iene la in o mación desde una base de
da os. Pe mi e que una abla de da os en P imeFaces sólo ecupe e los da os que se es án mos ando
en pan alla y acceda a la base de da os sólo cuando sea necesa io el acceso a egis os adicionales.
U ilizable en los componen es de P imeFaces que pe mi en un da amodel (componen e que se usa
pa a la cons ucción de las páginas web y pe mi e la na egación po un conjun o de de ilas
a anzando, e ocediendo o il ando) de ipo lazy (la ca ga de da os desde la base de da os es á
di e ida has a que es os son necesa ios pa a mos a los al usua io).
4.1.2.4 DAO
1. Dao
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 60
Clase abs ac a gené ica con la de inición de las ope aciones básicas a ealiza en cada en idad ( ind,
sa e, c ea e, upda e, dele e).
2. DaoDB
Clase gené ica que añade la conexión a base de da os a las ope aciones de inidas en la clase Dao. Se
ins ancia en cada se icio.
3. DaoEn i yManage
Clase que p opo ciona a DaoDB el en i yManage pa a ealiza las ope aciones en la base de da os. El
en i yManage es el enca gado en JPA de ealiza las ope aciones de las en idades del modelo en la
base de da os.
4. Resul ado
Clase gené ica que con iene el esul ado de una consul a, an o los da os ca gados de la base de da os
como el o al de ilas que cumplen las condiciones de la consul a. U ilizada en la clase
LazyEn i yDa aModel, desc i a an e io men e en la capa de Se icio.
4.1.2.5 Fil os
1. LoginFil e
Clase que comp ueba que el usua io conec ado iene acceso a la página solici ada. Si no hay un
usua io conec ado edi ige a la página de login.
4.1.2.6 Se le s
1. Facele Se le
P opo cionado po la pla a o ma Jaka a EE, se enca ga de esponde las pe iciones de los clien es
pa a accede a las páginas JSF de la aplicación, así como ecu sos adicionales de inidos pa a las
mismas como hojas de es ilos, ja asc ip , imágenes.
2. Launch, LaunchReques In o
Launch es el se le que ecibe las pe iciones iniciales POST de conexión median e LTI. Comp ueba
usando la biblio eca Oscelo que la pe ición es álida y edi ige a la URL co espondien e al ecu so
solici ado. LaunchReques In o man iene los da os necesa ios en Launch pa a la ejecución del
Callback una ez comp obada la pe ición en la biblio eca Oscelo .
3. Resou ceFolde Se le , In e noResou ceFolde Se le , JuegoIn e noResou ceFolde Se le
Pe mi en que los iche os de los juegos incluidos en el desplegable de la pla a o ma accedan a los
ecu sos necesa ios, oda ez que su ubicación no es accesible di ec amen e.
4. Ex e nS a icFolde , In e az
Pe mi en que los iche os de los juegos ca gados en el TP median e el módulo de adminis ación
accedan a los ecu sos necesa ios, oda ez que su ubicación no es accesible di ec amen e.
4.1.2.7 Au en icación y au o ización
1. Au hen ica edUse
In e az con el compo amien o de un usua io au en icado. Usua io, L iUse y Usua ioTempo al
implemen an es a in e az.
2. LoginCon olle
Usado en la página de login.
61 Implemen ación
3. Da osSesion
Clase que pe mi e accede a los da os almacenados en la sesión del usua io.
4. Use Session
Managed Bean que ex iende Da osSesion (pe o ges ionada po CDI) con ámbi o de sesión de o ma
que se puede u iliza en los iche os JSF.
5. Usua ioTempo al
Clase pa a asigna a los usua ios conec ados a una pa ida median e el IDP de la pa ida sin hace
login ni conec a po LTI.
4.1.2.8 Con e so es (JSF)
Implemen an la in e az Con e e [61], y ealizan con e siones de Objec a S ing y de S ing a
Objec en e obje os de da os del modelo y una ep esen ación de cadena de esos obje os que sea adecuada
pa a su isualización.
1. LocalDa eTimeCon e e
Pe mi e la u ilización de obje os de la clase LocalDa eTime en las páginas JSF.
2. LocalDa eCon e e
Pe mi e la u ilización de obje os de la clase LocalDa e en las páginas JSF.
4.1.2.9 Con e so es (ORM)
Implemen an la in e az A ibu eCon e e [62], y pueden u iliza se pa a con e i el es ado de los
a ibu os de la en idad en una ep esen ación de columna de base de da os y ice e sa. Hay que ene en cuen a
que se pueden ealiza an o con e siones en las que los ipos de da os de o igen y des ino son dis in os como
iguales.
1. BooleanToSho Con e e
Con ie e en e alo es lógicos (boolean) en los obje os y en e o co o (Sho ) en la base de da os.
2. Es adoPa idaToIn ege Con e e
Con ie e en e alo es de la enume ación Es adoPa ida en los obje os y en e o (In ege ) en la base
de da os.
3. LocalTimeToLongCon e e
Con ie e en e alo es LocalTime en los obje os y en e o la go (Long) en la base de da os.
4. MapS ingS ingCon e e
Con ie e en e alo es Map<S ing, S ing> en los obje os y S ing con o ma o JSON en la
base de da os.
5. ModoPa idaToIn ege Con e e
Con ie e en e alo es de la enume ación ModoPa ida en los obje os y en e o (In ege ) en la base
de da os.
6. RolToIn ege Con e e
Con ie e en e alo es de la enume ación RolUsua io en los obje os y en e o (In ege ) en la base de
da os.
7. TimeZoneCon e e
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 62
Con ie e en e alo es TimeZone en los obje os y S ing en la base de da os.
4.1.2.10 Desa ollo de la pa ida
1. Websocke Con olle
Se enca ga de la comunicación po WebSocke , an o la ecepción y p ocesamien o de los mensajes
ecibidos como del en ío de mensajes.
2. C onome o
Tempo izado pa a con ola el iempo de espues a a las p egun as y o aciones.
3. Pa idaGlobal
Da os de las pa idas ac i as, bien en juego o bien ac i adas po el iniciado pa a el egis o de
jugado es p e io al inicio.
4. Pa icipacion
Da os de los pa icipan es en una pa ida.
4.1.2.11 U ilidad
1. AppCon igu a ion
Bean de aplicación con los da os de con igu ación de la aplicación.
2. AppLoade
Se le Con ex Lis ene que se inicializa la base de da os en caso de que sea necesa io.
3. Cons an s
Clase con alo es de cons an es usados en el es o de la aplicación.
4. Da eU il
Clase con mé odos pa a la con e sión en e dis in as clases que ep esen an in o mación de echa y
ho a.
5. Descomp ime
Clase con mé odos pa a lee los iche os de un a chi o en o ma o ZIP.
6. Enc yp ion
Clase con mé odos pa a gene a , ci a y comp oba con aseñas.
7. Messages
Clase que ges iona la localización (l10n) de los mensajes u ilizados en las clases Ja a de la aplicación.
8. S ingU il
Clase con mé odos pa a codi ica y decodi ica un obje o se ializable en o ma o base64.
4.1.3 Fiche os JSF
Fiche os con acele s que p opo cionan la in e az de usua io. Los acele s pe mi en compone una página web
median e el uso de plan illas ( empla es) y con la posibilidad de inco po a a la misma agmen os eu ilizables
y pa ame izables.
Según el uso de las páginas gene adas po es os iche os podemos clasi ica los en los siguien es g upos:
63 Implemen ación
4.1.3.1 Login
4.1.3.1.1 Página de login pa a inicio de sesión
Página desde la cual se accede al módulo, es a página pe mi e el acceso desde el na egado web, pa a pode
accede sin LTI.
•Inicio de sesión co ec o: página que se mues a cuando se ealiza co ec amen e el inicio de sesión,
en ella se mues a un mensaje de bien enida.
•E o en inicio de sesión: página que se mues a cuando no se ealiza co ec amen e el inicio de
sesión, en ella se mues a un mensaje de e o en el login, en el idioma seleccionado po el usua io.
Figu a 14: Inicio de Sesión
Figu a 15: Inicio de Sesión Co ec o
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 64
4.1.3.2 U ilidades de usua io
4.1.3.2.1 P e e encias
Menú de p e e encias que se puede ab i desde cualquie página del módulo, una ez ealizado el login. Es o
pe mi e la edición de algunas opciones como el idioma, el huso ho a io o la con aseña.
4.1.3.3 Adminis ación
4.1.3.3.1 Es uc u a del menú
Pa a el módulo adminis ación se ha c eado un menú donde se han ag upado las dis in as páginas de
adminis ación con la es uc u a que se mues a a con inuación.
Figu a 16: E o en inicio de Sesión
Figu a 17: P e e encias
65 Implemen ación
A con inuación se desc iben las páginas a las que se puede accede desde el menú.
4.1.3.3.2 Con igu ación
4.1.3.3.2.1 Lis a de p opiedades
Mues a la lis a de p opiedades, oo Pa h (ubicación en el se ido de los iche os que son necesa ios pa a el
uncionamien o de los juegos) y gamePa h (ubicación en el se ido , como subdi ec o io de oo Pa h de los
juegos subidos median e el módulo de adminis ación), isibles y edi ables solo desde el pe il de
supe usua io. Se accede median e la opción de menú Con igu ación.
4.1.3.3.2.2 Visualización y edición de p opiedades
Edi a P opiedad: página desde la que se pe mi e la isualización y edición de gamePa h y oo Pa h.
Figu a 19: Lis a de p opiedades
Figu a 18: Es uc u a del menú de adminis ación
ADJA Inicio Con igu ación Juegos
Fiche os de p egun as
Juegos
Con igu aciones de pa ida
Pa idas
Consumido es Usua ios
Menú LTI
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 66
Ve p opiedad: página que pe mi e e una p opiedad pe o sin pode edi a la.
4.1.3.3.3 Juegos
Den o del desplegable Juegos, encon amos las siguien es opciones:
•Fiche os de p egun as.
•Juegos.
•Con igu aciones de pa ida.
•Pa idas.
Figu a 20: Edi a P opiedades
Figu a 21: Ve P opiedad
67 Implemen ación
4.1.3.3.4 Fiche os de p egun as
4.1.3.3.4.1 Lis a de iche os de p egun as
Página que mues a los iche os de p egun as que es án ca gados en la pla a o ma y que pod án se
seleccionados como iche o de p egun as pa a los juegos y pa idas. Sólo se mues an los iche os de p egun as
a los que el usua io conec ado iene acceso.
4.1.3.3.4.2 Añadi Fiche o de p egun as:
Página desde la cual se pueden añadi iche os de p egun as. En es a página se selecciona an o el iche o a
ca ga como las ca ac e ís icas del mismo, siendo la más impo an e Tipo de Respues as ya que indica á que
ipo de espues a es á con igu ada en el iche o de p egun as ca gado.
Figu a 22: Menú desplegable Juegos
Figu a 23: Lis a de iche os de p egun as
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 74
4.1.3.3.6.4 Ve Con igu ación de Pa ida
Página que pe mi e la isualización de una pa ida pe o sin pode edi a ningún pa áme o.
Figu a 33: Edi a Con igu ación de Pa ida
75 Implemen ación
4.1.3.3.7 Pa idas
4.1.3.3.7.1 Lis a de Pa idas
Página que mues a las pa idas con igu adas a las que el usua io conec ado iene acceso.
Figu a 34: Ve Con igu ación de Pa ida
Figu a 35: Lis a de Pa idas
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 76
4.1.3.3.7.2 Añadi Pa ida
Página desde la cual se pe mi e añadi una pa ida nue a, indicando la con igu ación de pa ida a u iliza , el
juego y los demás pa áme os necesa ios.
4.1.3.3.7.3 Edi a Pa ida
Página desde la cual se pe mi e la edición de una pa ida exis en e.
Figu a 36: Añadi Pa ida
77 Implemen ación
Figu a 37: Edi a Pa ida
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 78
4.1.3.3.7.4 Ve Pa ida
Página desde la cual se pe mi e la isualización de una pa ida y de los pa áme os con igu ados en la misma
pe o sin pe miso pa a edición.
Figu a 38: Ve Pa ida
79 Implemen ación
4.1.3.3.8 Consumido es
4.1.3.3.8.1 Lis a Consumido es
Página accesible sólo pa a el supe usua io, en ella se mues an los consumido es con igu ados en la
pla a o ma.
4.1.3.3.8.2 Añadi Consumido
Página accesible sólo pa a el supe usua io, página desde la cual se nos pe mi e añadi un nue o consumido a
la pla a o ma.
Figu a 39: Lis a de Consumido es
Figu a 40: Añadi Consumido
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 80
4.1.3.3.8.3 Edi a Consumido
Página accesible sólo pa a el supe usua io, en la cual se nos pe mi e edi a un consumido ya exis en e.
4.1.3.3.8.4 Ve Consumido
Página accesible sólo pa a el supe usua io, desde la cual se pe mi e la isualización de un consumido
exis en e pe o sin opción de edición.
Figu a 41: Edi a Consumido
81 Implemen ación
4.1.3.3.9 Usua ios
4.1.3.3.9.1 Lis a Usua ios
Página desde la cual se mues an los usua ios, pa a un usua io p o eso se le mos a án únicamen e los
usua ios de su ins i ución, pa a un supe usua io se mos a án odos.
Figu a 42: Ve Consumido
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 82
4.1.3.3.9.2 Añadi Usua io
Página desde la que se pe mi e añadi un nue o usua io a la pla a o ma.
4.1.3.3.9.3 Edi a Usua io
Página desde la cual se pe mi e la edición de un usua io exis en e.
Figu a 43: Lis a de usua ios
Figu a 44: Añadi Usua io
83 Implemen ación
4.1.3.3.9.4 Ve Usua io
Página desde la que se pe mi e la isualización pe o no la edición de un usua io exis en e.
Figu a 45: Edi a Usua io
Figu a 46: Ve Usua io
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 90
4.1.3.6 Plan illas
4.1.3.6.1 empla e
Plan illa p incipal pa a las páginas del módulo de adminis ación de la aplicación, que con iene:
•La ba a supe io con el menú, el bo ón pa a ac i a el diálogo con las p e e encias y el bo ón pa a
hace login o desconec a de la sesión.
•Los elemen os g á icos del ondo de la página.
•El pie de la página.
4.1.3.6.2 da a able
Se a a de una plan illa que mues a una abla con los da os de una en idad ecupe ados de la base de da os,
que pe mi e la isualización paginada de los mismos. Es a plan illa se pa ame iza al inclui la en la página de
o ma que mues a las columnas ap opiadas pa a la en idad co espondien e.
4.1.4 Fiche os localización – l10n
Los da os de localización se incluyen en iche os de nomb e ansla ions*.p ope ies, habiendo uno
po cada idioma sopo ado y uno con los alo es po de ec o.
Pe mi en que los ex os se mues en a los usua ios en el idioma seleccionado en su na egado .
Los idiomas sopo ados son español, inglés y ancés.
4.1.5 Hojas de es ilo (CSS)
Se usan pa a es ablece el diseño isual de las páginas de la in e az de usua io, an o las del módulo de
adminis ación, como las de desa ollo de las pa idas y el cha en e jugado es.
4.1.6 Ja asc ip (JS)
Pe mi e ealiza ope aciones en la in e az del usua io en espues a a las in e acción del usua io con la página o
a la ecepción de mensajes desde el se ido po la conexión WebSocke . Se de alla a con inuación la
uncionalidad p incipal de cada uno.
4.1.6.1 Desa ollo de la pa ida
1. pad e.js
Pa a e ec ua la ca ga de los iche os ja asc ip necesa ios.
Figu a 61: Ejemplo mensaje Equipos
91 Implemen ación
2. pad e-codigo.js
Pa a la inicialización una e comple ada la ca ga de la página.
3. comunicacion.js
Pe mi e la comunicación en e el juego y la página que lo albe ga en un elemen o i ame.
4. en io- a iables.js
En ía los da os ecibidos del juego al TP a a és de la conexión WebSocke (usando unciones de
comunicación en websocke .js).
5. websocke .js
Ges iona an o los mensajes ecibidos como el en ío de mensajes en la conexión WebSocke .
6. jugado .js
Pa a jugado es, con unciones pa a el acceso a la pa ida y pe mi i la espues a a las p egun as
ecibidas.
7. espec ado .js
Pa a espec ado es, con unciones pa a ealiza el seguimien o del desa ollo de la pa ida.
8. jugado _o_espec ado .js
Común pa a espec ado es y jugado es, con unciones pa a e ec ua el acceso a la pa ida.
9. cha .js
Pa a ab i y ce a el cha con el es o de pa icipan es de la pa ida.
4.1.6.2 Cha
1. cha .js
Inicializa el WebSocke de la página de cha po el que se eciben los mensajes y mues a al usua io
los mensajes ecibidos.
4.1.7 Mensajes WebSocke y LTI
La coo dinación en e los dis in os pa icipan es en una pa ida se ealiza con el in e cambio de mensajes a
a és de la conexión WebSocke .
Es a coo dinación es necesa ia cuando en la pa ida pa icipa más de un jugado , es deci , en las pa idas
mul ijugado , an o si son dis ibuidas como si no. De odas o mas, amos a e que los mensajes
in e cambiados a ían en unción de es a ci cuns ancia.
Igualmen e se u iliza una conexión WebSocke pa a el en ío de los mensajes in e cambiados en el cha en e
los pa icipan es en una pa ida, pa a que se mues en inmedia amen e a los des ina a ios de los mismos.
De allamos a con inuación los mensajes in e cambiados en cada caso.
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 92
4.1.7.1 Pa ida Cen alizada Mul ijugado
4.1.7.1.1 Regis o de pa ida
Cuando el iniciado se conec a a la página desde la que con ola el desa ollo de la pa ida, se en ían es os
mensajes:
1. El iniciado en ía el mensaje de egis o iden i icando la pa ida.
2. La aplicación esponde indicando que se ha p oducido la conexión del iniciado .
En la siguien e igu a podemos e el diag ama de secuencia con los mensajes in e cambiados.
4.1.7.1.2 Conexión de jugado es y espec ado es
Cuando se conec an an o jugado es como espec ado es se en ían los siguien es mensajes (los dos p ime os
únicamen e en el caso de jugado es que son los que ienen que selecciona el g upo y equipo):
1. El jugado en ía un mensaje pa a solici a la lis a de g upos de una pa ida.
2. La aplicación en ía la lis a de g upos y equipos co espondien e a esa pa ida.
3. El jugado /espec ado solici a el acceso a la pa ida.
4. La aplicación esponde con los da os de egis o en la pa ida.
5. La aplicación en ía un mensaje a odos los pa icipan es en la pa ida pa a que ac ualicen la lis as de
jugado es y espec ado es.
Figu a 62: Regis o pa ida
Iniciado He amien a Gami icación
Regis o pa ida
al a o
WebSocke
Con olle
Regis o pa ida
solici udRegis oPa ida
{
"e en o": "solici udRegis oPa ida",
"idPa ida": 126
}
conexionIniciado
{"e en o": "conexionIniciado "}
93 Implemen ación
En las siguien es igu as se mues an los diag amas de secuencia con el in e cambio de mensajes a a és la
conexión WebSocke en e la aplicación y los jugado es y espec ado es con o me és os se an conec ando a la
pa ida. Los diag amas se mues an en el mismo o den en que sucedie on en la p ueba eal de la pa ida.
Figu a 63: Conexión jugado al a-02
Iniciado He amien a Gami icación G upo B
Conexion jugado es
al a o
WebSocke
Con olle al a-02
conexion al a-02
solici udG uposEquipos
{
"e en o": "solici udG uposEquipos",
"codigo": "28800902836",
"idPa ida": 126
}
g uposyequipos
{
"e en o": "g uposyequipos",
" elacionesGE": {
"G upo A": "Tig es",
"G upo B": "Leones"
},
"Equipos": [
"Tig es",
"Leones"
],
"G upos": [
"G upo A",
"G upo B"
]
}
accesoPa ida
{
"nick": "al a-02",
"e en o": "accesoPa ida",
"idPa ida": "28800902836",
"equipo": "Leones",
"g upo": "G upo B",
" ol": "JUGADOR"
}
nue oJugado
{
"nick": "al a-02",
"e en o": "nue oJugado ",
"mensaje": "El jugado al a-02 se ha conec ado"
}
egis oCo ec o
{
"LTI": alse,
"e en o": " egis oCo ec o",
"idPa ida": 126,
"nomb eJugado ": "al a-02",
"mensaje": "Se ha egis ado co ec amen e, ...",
"modoPa ida": "CENTRALIZADA_MULTIJUGADOR",
"codigoPa ida": "28800902836"
}
ac ualiza Jugado es
{"e en o": "ac ualiza Jugado es"}
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 94
Figu a 64: Conexión jugado al a-01
G upo A Iniciado He amien a Gami icación G upo B
Conexion jugado es
al a-01 al a o
WebSocke
Con olle al a-02
conexion al a-01
solici udG uposEquipos
{
"e en o": "solici udG uposEquipos",
"codigo": "28800902836",
"idPa ida": 126
}
g uposyequipos
{
"e en o": "g uposyequipos",
" elacionesGE": {
"G upo A": "Tig es",
"G upo B": "Leones"
},
"Equipos": [
"Tig es",
"Leones"
],
"G upos": [
"G upo A",
"G upo B"
]
}
accesoPa ida
{
"nick": "al a-01",
"e en o": "accesoPa ida",
"idPa ida": "28800902836",
"equipo": "Tig es",
"g upo": "G upo A",
" ol": "JUGADOR"
}
nue oJugado
{
"nick": "al a-01",
"e en o": "nue oJugado ",
"mensaje": "El jugado al a-01 se ha conec ado"
}
egis oCo ec o
{
"LTI": alse,
"e en o": " egis oCo ec o",
"idPa ida": 126,
"nomb eJugado ": "al a-01",
"mensaje": "Se ha egis ado co ec amen e, ...",
"modoPa ida": "CENTRALIZADA_MULTIJUGADOR",
"codigoPa ida": "28800902836"
}
ac ualiza Jugado es
{"e en o": "ac ualiza Jugado es"}
95 Implemen ación
Figu a 65: Conexión jugado al a-03
G upo A Iniciado He amien a Gami icación G upo B
Conexion jugado es
al a-03 al a-01 al a o
WebSocke
Con olle al a-02
conexion al a-03
solici udG uposEquipos
{
"e en o": "solici udG uposEquipos",
"codigo": "28800902836",
"idPa ida": 126
}
g uposyequipos
{
"e en o": "g uposyequipos",
" elacionesGE": {
"G upo A": "Tig es",
"G upo B": "Leones"
},
"Equipos": [
"Tig es",
"Leones"
],
"G upos": [
"G upo A",
"G upo B"
]
}
accesoPa ida
{
"nick": "al a-03",
"e en o": "accesoPa ida",
"idPa ida": "28800902836",
"equipo": "Tig es",
"g upo": "G upo A",
" ol": "JUGADOR"
}
nue oJugado
{
"nick": "al a-03",
"e en o": "nue oJugado ",
"mensaje": "El jugado al a-03 se ha conec ado"
}
egis oCo ec o
{
"LTI": alse,
"e en o": " egis oCo ec o",
"idPa ida": 126,
"nomb eJugado ": "al a-03",
"mensaje": "Se ha egis ado co ec amen e, ...",
"modoPa ida": "CENTRALIZADA_MULTIJUGADOR",
"codigoPa ida": "28800902836"
}
ac ualiza Jugado es
{"e en o": "ac ualiza Jugado es"}
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 96
Figu a 66: Conexión espec ado al a-06
G upo A Iniciado He amien a Gami icación Espec ado es G upo B
Conexion espec ado es
al a-03 al a-01 al a o
WebSocke
Con olle al a-06 al a-02
conexion al a-06
accesoPa ida
{
"nick": "al a-06",
"e en o": "accesoPa ida",
"idPa ida": "28800902836",
" ol": "ESPECTADOR"
}
nue oJugado
{
"nick": "al a-06",
"e en o": "nue oJugado ",
"mensaje": "El espec ado al a-06 se ha conec ado"
}
egis oCo ec o
{
"LTI": alse,
"e en o": " egis oCo ec o",
"idPa ida": 126,
"nomb eJugado ": "al a-06",
"mensaje": "Se ha egis ado co ec amen e, ...",
"modoPa ida": "CENTRALIZADA_MULTIJUGADOR",
"codigoPa ida": "28800902836"
}
}
ac ualiza Jugado es
{"e en o": "ac ualiza Jugado es"}
97 Implemen ación
Figu a 67: Conexión jugado al a-05
G upo A Iniciado He amien a Gami icación Espec ado es G upo B
Conexion jugado es
al a-05 al a-03 al a-01 al a o
WebSocke
Con olle al a-06 al a-02
conexion al a-05
solici udG uposEquipos
{
"e en o": "solici udG uposEquipos",
"codigo": "28800902836",
"idPa ida": 126
}
g uposyequipos
{
"e en o": "g uposyequipos",
" elacionesGE": {
"G upo A": "Tig es",
"G upo B": "Leones"
},
"Equipos": [
"Tig es",
"Leones"
],
"G upos": [
"G upo A",
"G upo B"
]
}
accesoPa ida
{
"nick": "al a-05",
"e en o": "accesoPa ida",
"idPa ida": "28800902836",
"equipo": "Tig es",
"g upo": "G upo A",
" ol": "JUGADOR"
}
nue oJugado
{
"nick": "al a-05",
"e en o": "nue oJugado ",
"mensaje": "El jugado al a-05 se ha conec ado"
}
egis oCo ec o
{
"LTI": alse,
"e en o": " egis oCo ec o",
"idPa ida": 126,
"nomb eJugado ": "al a-05",
"mensaje": "Se ha egis ado co ec amen e, ...",
"modoPa ida": "CENTRALIZADA_MULTIJUGADOR",
"codigoPa ida": "28800902836"
}
ac ualiza Jugado es
{"e en o": "ac ualiza Jugado es"}
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 98
Figu a 68: Conexión jugado al a-04
G upo A Iniciado He amien a Gami icación Espec ado es G upo B
Conexion jugado es
al a-05 al a-03 al a-01 al a o
WebSocke
Con olle al a-06 al a-02 al a-04
conexion al a-04
solici udG uposEquipos
{
"e en o": "solici udG uposEquipos",
"codigo": "28800902836",
"idPa ida": 126
}
g uposyequipos
{
"e en o": "g uposyequipos",
" elacionesGE": {
"G upo A": "Tig es",
"G upo B": "Leones"
},
"Equipos": [
"Tig es",
"Leones"
],
"G upos": [
"G upo A",
"G upo B"
]
}
accesoPa ida
{
"nick": "al a-04",
"e en o": "accesoPa ida",
"idPa ida": "28800902836",
"equipo": "Tig es",
"g upo": "G upo A",
" ol": "JUGADOR"
}
nue oJugado
{
"nick": "al a-04",
"e en o": "nue oJugado ",
"mensaje": "El jugado al a-04 se ha conec ado"
}
egis oCo ec o
{
"LTI": alse,
"e en o": " egis oCo ec o",
"idPa ida": 126,
"nomb eJugado ": "al a-04",
"mensaje": "Se ha egis ado co ec amen e, ...",
"modoPa ida": "CENTRALIZADA_MULTIJUGADOR",
"codigoPa ida": "28800902836"
}
ac ualiza Jugado es
{"e en o": "ac ualiza Jugado es"}
99 Implemen ación
4.1.7.1.3 Cambio de g upo/equipo
El iniciado de la pa ida puede easigna a un jugado a un g upo o equipo dis in o del ac ual, pa a lo cual se
in e cambian los siguien es mensajes:
1. En ío de comando JSF pa a ealiza el cambio.
2. El con olado JSF comunica el cambio al con olado del WebSocke .
3. Se en ía un mensaje al jugado con el cambio de g upo.
4. Se en ía un mensaje a odos los pa icipan es en la pa ida pa a que ac ualicen las lis as de jugado es y
espec ado es.
A con inuación se mues a el diag ama de secuencia con los mensajes in e cambiados pa a el cambio de g upo
y equipo del jugado al a-04.
Figu a 69: Cambio g upo y equipo
G upo A Iniciado He amien a Gami icación Espec ado es G upo B
Cambio de G upo/Equipo
al a-05 al a-03 al a-01 al a o JSF
WebSocke
Con olle al a-06 al a-02 al a-04
Cambio de G upo/Equipo
edis ibución GE
edis ibución GE
g uposyequipos
{
"e en o": "cambioGE",
"equipo": "Leones",
"g upo": "G upo B"
}
ac ualiza Jugado es
{"e en o": "ac ualiza Jugado es"}
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 106
Figu a 75: Respues a g upo B
G upo A Iniciado He amien a Gami icación Espec ado es G upo B
Respues a g upo B
al a-05 al a-03 al a-01 al a o
WebSocke
Con olle al a-06 al a-02 al a-04
espues a
c onome o
inicia C ono
{
"e en o": "inicia C ono",
"nume oJugado es": 3,
" iempoRespues a": 18
}
loop
c onome o
{
"e en o": "c onome o",
" iempo": -i
}
al a-02
p egun aRespondida
{
"nick": "al a-02",
"e en o": "p egun aRespondida",
"idPa ida": "28800902836",
"numP egun a": 2,
" iempoRespues a": 12,
" espues a": "D",
" iempoAgo ado": alse
}
nue aRespues aP egun a
{"e en o": "nue aRespues aP egun a"}
loop
c onome o
{
"e en o": "c onome o",
" iempo": -i
}
al a-04
p egun aRespondida
{
"nick": "al a-04",
"e en o": "p egun aRespondida",
"idPa ida": "28800902836",
"numP egun a": 2,
" iempoRespues a": 14,
" espues a": "D",
" iempoAgo ado": alse
}
nue aRespues aP egun a
{"e en o": "nue aRespues aP egun a"}
ac ualiza Con ol
{"e en o": "ac ualiza Con ol"}
espues aConsul aP egun a
{
" espues aConsul a": {"p egun as": {"M2": 4}},
"e en o": " espues aConsul aP egun a"
}
c onome o
inTiempo
{"e en o": " inTiempo"}
es adoPa ida
es adoPa ida
{
"e en o": "es adoPa ida",
"es adoPa ida": {"pa idaGua dada": "Pa ida del juego BATALLA NAVAL ... 0 n"}
}
107 Implemen ación
4.1.7.1.6 Final de la pa ida
Cuando inaliza la pa ida, desde el juego se en ía un mensaje con el esul ado ob enido po cada uno de los
g upos.
Po úl imo, se mues a el diag ama de secuencia con los mensajes in e cambiados cuando acaba la pa ida.
Figu a 76: Final de la pa ida
G upo A Iniciado He amien a Gami icación Espec ado es G upo B
Final de la Pa ida
al a-05 al a-03 al a-01 al a o
WebSocke
Con olle al a-06 al a-02 al a-04
Fin Pa ida
esul adosPa ida
{
"Globales": [
13,
10
],
"e en o": " esul adosPa ida",
"idPa ida": 126,
"g upo1": [
"G upo A",
5,
2,
5,
1
],
"g upo2": [
"G upo B",
4,
2,
4,
0
]
}
es adoPa ida
es adoPa ida
{
"e en o": "es adoPa ida",
"es adoPa ida": {"pa idaGua dada": "Pa ida del juego BATALLA NAVAL ... 0 n"}
}
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 108
4.1.7.2 Pa ida Dis ibuida Mul ijugado
4.1.7.2.1 Regis o de jugado es y espec ado es
Cuando se conec an an o jugado es como espec ado es se en ían los siguien es mensajes:
1. El jugado /espec ado solici a el acceso a la pa ida.
2. La aplicación esponde con los da os de egis o en la pa ida.
3. La aplicación en ía un mensaje a odos los pa icipan es en la pa ida pa a que ac ualicen la lis as de
jugado es y espec ado es.
Se mues an a con inuación los diag amas de secuencia con los mensajes in e cambiados en la conexión de los
jugado es y espec ado es.
Figu a 77: Regis o y conexión jugado al a-02
Regis o jugado 1
al a-02
WebSocke
Con olle
Regis o al a-02
solici udRegis oPa ida
{
"e en o": "solici udRegis oPa ida",
"idPa ida": 125
}
egis oCo ec o
{
"LTI": ue,
"e en o": " egis oCo ec o",
"idPa ida": 125,
"nomb eJugado ": "al a-02",
"mensaje": "Se ha egis ado co ec amen e, ...",
"modoPa ida": "DISTRIBUIDA_LTI",
"codigoPa ida": "28178104813"
}
109 Implemen ación
Figu a 78: Conexión espec ado al a-03
Regis o espec ado
al a-02
WebSocke
Con olle al a-03
Regis o al a-03
accesoPa ida
{
"nick": "al a-03",
"e en o": "accesoPa ida",
"idPa ida": "28178104813",
" ol": "ESPECTADOR"
}
egis oCo ec o
{
"LTI": ue,
"e en o": " egis oCo ec o",
"idPa ida": 125,
"nomb eJugado ": "al a-03",
"mensaje": "Se ha egis ado co ec amen e, ...",
"modoPa ida": "DISTRIBUIDA_LTI",
"codigoPa ida": "28178104813"
}
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 110
Figu a 79: Regis o y conexión jugado al a-04
Regis o jugado 2
al a-02
WebSocke
Con olle al a-03 al a-04
Regis o al a-04
solici udRegis oPa ida
{
"e en o": "solici udRegis oPa ida",
"idPa ida": 125
}
ac ualiza Jugado es
{"e en o": "ac ualiza Jugado es"}
egis oCo ec o
{
"LTI": ue,
"e en o": " egis oCo ec o",
"idPa ida": 125,
"nomb eJugado ": "al a-04",
"mensaje": "Se ha egis ado co ec amen e, ..",
"modoPa ida": "DISTRIBUIDA_LTI",
"codigoPa ida": "28178104813"
}
111 Implemen ación
4.1.7.2.2 Inicio de la pa ida
El inicio de la pa ida se p oduce au omá icamen e cuando se se e minan de conec a los jugado es.
1. Se en ía un mensaje de inicio a odos los pa icipan es, que incluye la u a pa a accede al juego.
2. Los pa icipan es ca gan el juego en el i ame de su página.
3. Cada pa icipan e en ía un mensaje comunicando que la ca ga del juego es á comple a.
4. La aplicación esponde al mensaje an e io en iando los da os iniciales de la pa ida pe sonalizados
pa a ese pa icipan e.
A con inuación, se mues an los diag amas de secuencia con los mensajes in e cambiados pa a no i ica a los
pa icipan es el comienzo de la pa ida, y la ca ga e inicialización consiguien es del juego po pa e de
jugado es y espec ado .
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 112
Figu a 80: Comenza pa ida - jugado al a-02
Comenza pa ida
al a-02
WebSocke
Con olle al a-03 al a-04
Comenza pa ida
comenza Pa ida
{
"e en o": "comenza Pa ida",
"u lJuego": "/00-juegos-mul ijugado /juegos/jug-ba alla_na al/juga .h ml",
"modoPa ida": "DISTRIBUIDA_LTI"
}
juegoCa gado
{"e en o": "juegoCa gado"}
da osIniciales
{
"e en o": "da osIniciales",
"da osi": {
"LTI": 1,
"jugado P opio": "al a-02",
"NP": 2,
"jug1": "al a-02",
"jug2": "al a-04",
"XUG": 1,
"MARGEN": 4,
"NOM": "al a-02",
"N": 1,
"ROL": 0,
"DATOSINICIALES": "DATOS INICIALES PARA EL JUEGO",
"TOTALENVI": "'AUTOR/A: ...';'",
"TURN": 1,
"ALE": 1,
"jug": 2,
"CONTIPAR": 0
}
}
da osInicialesCa gados
{"e en o": "da osInicialesCa gados"}
113 Implemen ación
Figu a 81: Comenza pa ida - espec ado al a-03
Comenza pa ida
al a-02
WebSocke
Con olle al a-03 al a-04
Comenza pa ida
juegoCa gado
{"e en o": "juegoCa gado"}
da osIniciales
{
"e en o": "da osIniciales",
"da osi": {
"LTI": 1,
"NP": 2,
"jug1": "al a-02",
"jug2": "al a-04",
"XUG": 0,
"MARGEN": 4,
"NOM": "al a-03",
"N": 1,
"ROL": 1,
"DATOSINICIALES": "DATOS INICIALES PARA EL JUEGO",
"TOTALENVI": "'AUTOR/A: ...';'",
"TURN": 1,
"ALE": 1,
"jug": 2,
"CONTIPAR": 0
}
}
da osInicialesCa gados
{"e en o": "da osInicialesCa gados"}
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 114
4.1.7.2.3 Reconexión
En el caso de econexión de un jugado , se le en ían inmedia amen e los mensajes de inicio de la pa ida y en
los da os iniciales se incluye la in o mación del es ado ac ual de la pa ida, al como se mues a en el siguien e
diag ama de secuencia.
Figu a 82: Comenza pa ida - jugado al a-04
Comenza pa ida
al a-02
WebSocke
Con olle al a-03 al a-04
Comenza pa ida
juegoCa gado
{"e en o": "juegoCa gado"}
da osIniciales
{
"e en o": "da osIniciales",
"da osi": {
"LTI": 1,
"jugado P opio": "al a-04",
"NP": 2,
"jug1": "al a-02",
"jug2": "al a-04",
"XUG": 2,
"MARGEN": 4,
"NOM": "al a-04",
"N": 1,
"ROL": 0,
"DATOSINICIALES": "DATOS INICIALES PARA EL JUEGO",
"TOTALENVI": "'AUTOR/A: ...';'",
"TURN": 1,
"ALE": 1,
"jug": 2,
"CONTIPAR": 0
}
}
da osInicialesCa gados
{"e en o": "da osInicialesCa gados"}
115 Implemen ación
Figu a 83: Reconexión
Reconexión
al a-02
WebSocke
Con olle al a-03 al a-04
Reconexión al a-01
solici udRegis oPa ida
{
"e en o": "solici udRegis oPa ida",
"idPa ida": 125
}
econexionJugado LTI
{
"LTI": ue,
"e en o": " econexionJugado LTI",
"idPa ida": 125,
"nomb eJugado ": "al a-01",
"modoPa ida": "DISTRIBUIDA_LTI",
"codigoPa ida": "28178104813"
}
comenza Pa ida
{
"e en o": "comenza Pa ida",
"u lJuego": "/00-juegos-mul ijugado /juegos/jug-ba alla_na al/juga .h ml",
"modoPa ida": "DISTRIBUIDA_LTI"
}
juegoCa gado
{"e en o": "juegoCa gado"}
da osIniciales
{
"e en o": "da osIniciales",
"da osi": {
"LTI": 1,
"jugado P opio": "al a-02",
"NP": 2,
"jug1": "al a-02",
"jug2": "al a-04",
"XUG": 1,
"MARGEN": 4,
"NOM": "al a-02",
"N": 1,
"ROL": 0,
"DATOSINICIALES": "DATOS INICIALES PARA EL JUEGO",
"CONTINUARPARTIDA": "Pa ida del juego ...",
"TOTALENVI": "'AUTOR/A: ...';'",
"TURN": 1,
"ALE": 1,
"jug": 2,
"CONTIPAR": 1
}
}
da osInicialesCa gados
{"e en o": "da osInicialesCa gados"}
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 122
4.1.7.3 Cha
En el caso de los mensajes u ilizados en el cha en e los pa icipan es de una pa ida, la solici ud de en ío de
un mensaje po el cha se ealiza median e JSF, pe o una ez ecibida la pe ición en la pla a o ma se en ía po
WebSocke un mensaje a los des ina a ios pa a que ac ualicen su lis a de mensajes.
Se mues a el diag ama de secuencia del en ío de mensaje en el cha de un jugado a o o. El mensaje se en ía
ambién al emi en e pa a que ac ualice su e minal y le apa ezca el mensaje como en iado.
Figu a 90: En ío mensaje de cha
He amien a Gami icación
En ío mensaje cha
al a-01
WebSocke
Con olle JSF al a-02
Mensaje al a-02
en ia Mensaje
een ia Mensaje
{
"da eTime": [
2024,
7,
5,
18,
55,
47,
172000000
],
"da e": "2024-07-05",
"idRemi en e": 18,
"messageId": null,
" emi en e": "lea ne 2",
"a a a ": "incogni o",
" ime": "18:55",
"con en ": "HOLA"
}
123 Implemen ación
4.1.8 En ío cali icaciones al LMS
Cuando inaliza la pa ida se en ían al LMS las cali icaciones ob enidas po los jugado es, sólo a aquéllos
conec ados a la pa ida po LTI, median e la unción Ou comes se ice de la biblio eca Oscelo . A di e encia
de los mensajes in e cambiados po la conexión WebSocke que anspo an los da os en o ma o JSON, en
es e caso los da os se en ían al LMS en un o ma o XML de inido en la especi icación LTI.
Podemos e el diag ama de secuencia del en ío de es e mensaje.
4.1.9 Con igu ación
4.1.10 con ig.p ope ies
De ine los pa áme os necesa ios pa a la conexión di ec a po JDBC a la base de da os, necesa io pa a la
biblio eca Oscelo .
4.1.11 Desc ip o es
Se a a de iche os no malizados pa a aplicaciones Ja a con in o mación necesa ia pa a la cons ucción de la
aplicación o su uncionamien o una ez desplegada en un se ido .
4.1.11.1 pom.xml
Fiche o ma en [63] pa a la cons ucción de los a chi os JAR y WAR usados en la aplicación.
4.1.11.2 web.xml
Se de inen pa áme os de uncionamien o de JSF y P imeFaces.
Figu a 91: En ío cali icaciones al LMS
En ío no as
WebSocke
Con olle LMS
En ío no as
loop
HTTP
basic ou come
<?xml e sion = "1.0" encoding = "UTF-8"?>
<imsx_POXEn elopeReques xmlns = "h p://www.imsglobal.o g/se ices/l i 1p1/xsd/imsoms_ 1p0">
<imsx_POXHeade >
<imsx_POXReques Heade In o>
<imsx_ e sion>V1.0</imsx_ e sion>
<imsx_messageIden i ie >d484b72c-c9 0-48 b-8b -b39484d2c 28</imsx_messageIden i ie >
</imsx_POXReques Heade In o>
</imsx_POXHeade >
<imsx_POXBody>
< eplaceResul Reques >
< esul Reco d>
<sou cedGUID>
<sou cedId>{"da a":{"ins anceid":"4","use id":"118"," ypeid":"4","launchid":2023102260},
"hash":"7a3d26bb73d6e2424e9457807132be296630d796b4e3ab578567c0216491 3 d"}</sou cedId>
</sou cedGUID>
< esul >
< esul Sco e>
<language>en-US</language>
< ex S ing>0.5</ ex S ing>
</ esul Sco e>
</ esul >
</ esul Reco d>
</ eplaceResul Reques >
</imsx_POXBody>
</imsx_POXEn elopeReques >
200 OK
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 124
4.1.11.3 jboss-web.xml
Pe mi e de ini un con ex o de despliegue dis in o del nomb e del iche o WAR cuando el despliegue de la
aplicación se ealiza en se ido es WildFly o JBoss.
4.1.11.4 pe sis ence.xml
Se de ine la unidad de pe sis encia. En nues o caso se de inen los pa áme os de conexión a la base de da os,
pe o ambién se pod ía u iliza una conexión de inida en el se ido Jaka a EE (WildFly en nues o caso)
usando su nomb e JNDI (Ja a Naming and Di ec o y In e ace [64], en español In e az de Nomb ado y
Di ec o io Ja a).
4.1.11.5 aces-con ig.xml
De inimos la a iable ansla ions [65] pa a e ec ua la in e nacionalización (i18n) de los iche os JSF.
4.2 O as uncionalidades
4.2.1 Au en icación LTI
Cuando se ecibe el mensaje LTI de ipo basic-l i-launch- eques , es e con iene in o mación ela i a al
usua io que se es á conec ando i mada po el LMS usando el sec e o compa ido en e TC y TP pa a
ga an iza la alidez de la misma.
La in o mación pa a iden i ica al usua io que se incluye consis e en [66]:
•use _id: iden i ica uní ocamen e al usua io. No debe con ene ninguna in o mación que pe mi a
conoce la iden idad eal del usua io. La mejo p ác ica es que es e campo sea una «cla e p ima ia» a
la go plazo gene ada po el TC pa a el egis o de usua io, no la «cla e lógica». Como mínimo, es e
alo debe se único den o de un TC.
• oles: una lis a sepa ada po comas de alo es URN (Uni o m Resou ce Name, en español Nomb e
de Recu so Uni o me) pa a oles. Si es a lis a no es á acía, debe con ene al menos un ol de los
ocabula ios LIS Sys em Role, LIS Ins i u ion Role o LIS Con ex Role. El espacio de nomb es
supues o de es os URNs es el ocabula io LIS de Roles de Con ex o LIS [66]. Si el TC desea inclui
un ol de o o espacio de nomb es, se debe u iliza un URN comple amen e cuali icado.
•lis_pe son_name_gi en, lis_pe son_name_ amily, lis_pe son_name_ ull,
lis_pe son_con ac _email_p ima y: es os campos con ienen in o mación sob e la
cuen a de usua io que es á ealizando es e lanzamien o. Los nomb es de es os da os p oceden de LIS.
El signi icado p eciso del con enido de es os campos es á de inido po LIS. Es os pa áme os se
ecomiendan a menos que se sup iman debido a la con igu ación de p i acidad.
•lis_pe son_sou cedid: es e campo con iene el iden i icado LIS de la cuen a de usua io que
es á ealizando es e lanzamien o. lis_pe son_sou cedid es simplemen e un iden i icado único (es
deci , una cadena no malizada). Es e campo es opcional y su con enido y signi icado es án de inidos
po LIS.
La mayo pa e de los LMS u ilizados habi ualmen e u ilizan o o campo pa a en ia es a in o mación
al TP. En [38] enemos in o mación sob e el nomb e del campo u ilizado po los LMS con más
implan ación.
◦Can as: cus om_lis_use _use name
125 Implemen ación
◦Desi e2Lea n: ex _d2l_use name
◦Moodle: ex _use _use name
◦BlackBoa d: cus om_lis_use _use name
◦Sakai: ex _sakai_eid o lis_pe son_sou cedid
Con la in o mación ecibida en el mensaje de lanzamien o el TP puede iden i ica al usua io y si accede con el
ol de alumno (Lea ne ), p o eso (Ins uc o ) o con ambos.
La pla a o ma asigna un usua io en la misma a cada alo de use _id de un TC (si el mismo use _id se
epi e en a ios TC se conside an usua ios dis in os) y le asigna un ol de usua io de ipo LTI, lo que indica
que el ol con el que ac úa depende de la in o mación ecibida en el lanzamien o, ya que un mismo usua io de
un TC puede ac ua como alumno en un cu so y como p o eso en o o.
Con es os da os se inicia una sesión HTTP que pe mi e ene iden i icado al usua io que ha accedido al TP
median e un enlace LTI.
La in o mación indicada, jun o con in o mación adicional suminis ada po el TC en el mensaje de
lanzamien o y que es necesa ia pa a la comunicación al mismo del esul ado de la pa ida, se almacena en los
da os de la sesión.
Una ez que e mina la pa ida, el TP en ía al TC las cali icaciones de los jugado es con un mensaje LTI de
ipo Basic Ou come.
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 126
127 P uebas de ejecución
5 PRUEBAS DE EJECUCIÓN
n es e apa ado se explica á el en o no en el que se han ealizado las p uebas y el desa ollo de las
mismas.E
5.1 En o no LMS u ilizado
Pa a las p uebas de ejecución se ha u ilizado la pla a o ma Moodle. Pa a ello hemos u ilizado el Moodle del
IES Joaquín Tu ina de Se illa [67], el cual Jesús Muñoz Calle (au o de los juegos) emplea como p o esional
de la docencia du an e su día a día. En ella se nos ha habili ado un cu so llamado Gami icación en el cual se
han ejecu ado las p uebas con las pa idas.
Pa a ello se han c eado un pe il de p o eso y 6 alumnos ic icios:
•P o eso :
◦al a o
•Alumnos:
◦al a-01
◦al a-02
◦al a-03
◦al a-04
◦al a-05
◦al a-06
Se ha escogido es e en o no al se un en o no eal en el cual ealiza las p uebas.
5.2 Pla a o ma Gami icación
Pa a el uso de la pla a o ma de gami icación necesi amos que es é accesible desde In e ne , de o ma que se
puedan conec a los usua ios, an o los que se conec an di ec amen e como los que lo hacen median e un
enlace LTI.
Los elemen os necesa ios pa a el uncionamien o son una ins alación de WildFly pa a desplega la aplicación
y un se ido de base de da os Pos g eSQL. En nues o caso se ha u ilizado un se ido alojado en IONOS en
el que se dispone de ambos elemen os.
5.3 P uebas de uncionamien o ealizadas y o os da os de in e és
Pa a la ejecución de las p uebas se han c eado den o del cu so Gami icación, emas en los que se han
clasi icado los enlaces pa a las dis in as opciones a las que se puede accede en la pla a o ma de gami icación,
como se mues a en la siguien e igu a.
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 128
Las p uebas que se han ealizado con esul ado sa is ac o io han sido:
•Subida, Edición y Eliminación de Fiche os de p egun as.
•Subida, Ac i ación/Desac i ación, Edición y Eliminación de juegos.
•C eación, Edición y Eliminación de Con igu aciones de Pa ida.
•C eación, Edición y Eliminación de Pa idas.
•C eación, Edición y Eliminación de Consumido es.
•C eación, Edición y Eliminación de Usua ios.
•Edición de alo es de con igu ación de la pla a o ma.
•Acceso median e usua io y con aseña a la pla a o ma.
•Acceso al módulo de adminis ación po LTI desde el LMS.
•Acceso del iniciado de la pa ida po LTI desde el LMS.
•Modi icación de da os de la pa ida po pa e del iniciado .
•Con ol de la pa ida po pa e del iniciado , desde su ape u a has a su inalización.
•Acceso de espec ado es de la pa ida po LTI desde el LMS.
•Pa icipación de espec ado es en pa idas en modo mul ijugado en las que puede hace un
seguimien o de las espues as simila al del iniciado .
•Pa icipación de espec ado es en pa idas en modo dis ibuido en las que puede e el uncionamien o
del juego, aunque sin pode pa icipa en el mismo.
•Acceso de jugado es de la pa ida po LTI desde el LMS.
•Pa icipación de jugado es en pa idas en modo mul ijugado en las que puede esponde en su p opio
panel de espues as.
Figu a 92: Con enido del cu so de Moodle pa a ealiza las p uebas
129 P uebas de ejecución
◦Con ol del iempo máximo pa a esponde , de o ma que si inalizado el iempo el jugado no ha
espondido se en ía au omá icamen e un mensaje de p egun a no espondida.
•Pa icipación de espec ado es en pa idas en modo dis ibuido en las que esponden en los p opios
con oles del juego cuando les co esponde el u no de espues a.
•En ío de mensajes po un cha en e los pa icipan es de una pa ida, con posible selección de los
des ina a ios.
•Los mensajes se eciben po los des ina a ios seleccionados, bien inmedia amen e si es án conec ados
al cha o en el momen o de conec a se al cha .
•Cuando inaliza la pa ida se en ía el mensaje LTI Basic Ou come al TC pa a la g abación de la
cali icación ob enida en la ac i idad. Es e mensaje se en ía co ec amen e y la espues a del TC
es 200 OK. La g abación de la cali icación en el LMS depende de cómo és e es é con igu ado y
los pa áme os del la ac i idad en el LMS.
5.4 P uebas de Rendimien o
El p og ama esponde de o ma luida an o pa a el acceso al módulo de Adminis ación como du an e el
desa ollo de la pa ida.
Los mensajes del cha se comp ueba que se eciben de o ma ins an ánea cuando no hay p oblemas de
conec i idad.
5.5 P uebas de Segu idad
En cuan o a la segu idad se han comp obado sa is ac o iamen e los siguien es aspec os:
•No se pe mi e el acceso di ec o a la pla a o ma a a és de URL sin pasa po un login p e io.
•En el acceso al módulo de adminis ación po LTI únicamen e son accesibles los da os
co espondien es al TC desde el que se o igina la conexión.
Si po e o se deja isible el módulo de adminis ación a los alumnos de LMS, és e echaza co ec amen e el
in en o de acceso al no ene el ol au o izado.
In eg ación de he amien as de gami icación mul ijugado en pla a o mas de Enseñanza Vi ual 130
131 Conclusiones y Líneas de Fu u o
6 CONCLUSIONES Y LÍNEAS DE FUTURO
6.1 Conclusiones
Pa a pode llega a las conclusiones inales del p oyec o, debemos basa nos en los obje i os iniciales del
p oyec o. Podemos a i ma que hemos conseguido los p incipales p opósi os plan eados:
•Ac ualiza la in e az de la web de adminis ación a ecnología JSF.
•Mig ación Base de Da os de SQLi e a Pos g eSQL.
•Implemen ación pa idas dis ibuidas.
•Implemen ación cha en e usua ios.
Una ez cumplidos los obje i os ma cados en el p oyec o, podemos plan ea nos las conclusiones del mismo.
La ac ualización a JSF, a a pe mi i una he encia más sencilla del p oyec o, ya que al se un lenguaje basado
en plan illas pe mi e una comp ensión más sencilla del código desa ollado.
A a és de la in oducción en el aula de la Gami icación lle ada a cabo en es e p oyec o, se consigue da le
una isión di e en e a la educación en las clases. El en oque que el hecho de pode impa i la enseñanza a
a és de juegos, pe mi e da le un ma iz muy in e esan e en el ap endizaje.
Con la implemen ación de las pa idas dis ibuidas añadimos una uncionalidad que pe mi e mul i ud de
posibilidades, como po ejemplo, que los alumnos puedan ealiza las pa idas desde casa sin necesidad de la
in e ención del p o eso du an e la pa ida, el cual pod á e los esul ados de las mismas y e alua lo en
unción de los obje i os que busque.
Pa a es e uncionalidad de pa idas dis ibuidas e a muy necesa io la implemen ación de un cha en e
jugado es, de mane a que pudie an comunica se y compa i in o mación du an e el anscu so de la pa ida.
Es e en oque puede ayuda a muchos alumnos a conec a con la ma e ia y mo i a los a ap ende la. Además a
a és de los juegos mul ijugado se omen a el abajo en g upo y la colabo ación de unos alumnos con o os,
a o eciendo la in eg ación en e ellos.
Desde el pun o de is a del p o eso , el modulo de adminis ación le p opo ciona una g an capacidad de c ea
ac i idades LTI, in oduciendo una mane a de e aluación al e na i a, más amena y dinámica pa a el alumno.
Además simpli ica el p oceso de e aluación ya que es la p opia he amien a la que calcula la cali icación y la
en ía a la pla a o ma LMS, de modo que se puede e alua de o ma ágil.
O o pun o a des aca es que al es a basado en un es ánda como LTI, es ácilmen e in eg able en mul i ud de
pla a o mas, lo que la do a de un ca ác e po able muy des acable.
Pe sonalmen e, en la elabo ación de es e abajo he enido la ocasión de aplica ecnologías ac uales en la
cons ucción de una aplicación, que esumo a con inuación:
1. P og amación uncional
En la e sión 8 de Ja a apa ecen exp esiones lambda [68], que pe mi en encapsula el código de una
unción en una exp esión sin necesidad de la decla ación de un mé odo. Además inco po a algunas
in e aces uncionales p ede inidas, en e las que podemos des aca :