Mejorando App-PIMD, un repositorio para el estudio de la privacidad de aplicaciones móviles
Abstract
Departamento de Informática (Arquitectura y Tecnología de Computadores, Ciencias de la Computación e Inteligencia Artificial, Lenguajes y Sistemas Informáticos)
Full text
Uni e sidades de Valladolid, Bu gos y Le´
on
TRABAJO FIN DE M´
ASTER
M´
as e Uni e si a io en In eligencia de Negocio y Big Da a
en En o nos Segu os
Mejo ando App-PIMD, un
eposi o io pa a el es udio de la
p i acidad de aplicaciones m´
o iles
Au o :
Alejand o P´
e ez de la Fuen e
Tu o es:
Quiliano Isaac Mo o Sancho
M. Me cedes Ma ´
ınez Gonz´
alez
Resumen
La impo ancia de la p i acidad de las pe sonas en el ´
ambi o de los da os pe sona-
les y disposi i os m´
o iles es undamen al en la e a digi al ac ual. Los da os pe sonales,
como in o maci´
on inancie a, m´
edica o de ubicaci´
on, son ex emadamen e sensibles y
pueden se u ilizados de mane a indebida si caen en manos equi ocadas. En el con ex o
de los disposi i os m´
o iles, que es ´
an cons an emen e conec ados a in e ne y ecopilan
una g an can idad de da os sob e nues as ac i idades dia ias, la p o ecci´
on de la p i a-
cidad se uel e a´
un m´
as c ´
ı ica. Su gi´
o as´
ı el p oyec o App P i acy Impac (App-PI), un
ecosis ema pa a la e aluaci´
on del impac o de las apps pa a disposi i os m´
o iles sob e la
p i acidad y segu idad de sus usua ios. Una de las pa es undamen ales del ecosis ema es
su eposi o io de me ada os de aplicaciones m´
o iles que pe mi e a in es igado es es udia
el impac o sob e la p i acidad de los usua ios, el cu´
al comenz´
o su desa ollo en el TFG
de Alejand o P´
e ez de la Fuen e [1]. En es e abajo Fin de M´
as e , se a a de mejo a lo
median e el es udio y aplicaci´
on de ´
ecnicas y a qui ec u as Big Da a, ampliaciones de la
uncionalidad del mismo en ´
e minos de uen es de in o maci´
on, y p opo cionando pane-
les de mandos que mues en los con enidos del eposi o io median e KPIs. Es e abajo
o ma pa e de un p oyec o m´
as amplio cuya inalidad es empode a a los usua ios inales
en la ges i´
on de su p i acidad y de su segu idad en en o nos m´
o iles, App-PI.
1
Abs ac
The impo ance o people’s p i acy in he ealm o pe sonal da a and mobile de ices is
undamen al in oday’s digi al age. Pe sonal da a, such as inancial, medical, o loca ion
in o ma ion, is ex emely sensi i e and can be misused i i alls in o he w ong hands. In
he con ex o mobile de ices, which a e cons an ly connec ed o he in e ne and collec
a la ge amoun o da a abou ou daily ac i i ies, p o ec ing p i acy becomes e en mo e
c i ical. Thus, he App P i acy Impac (App-PI) p ojec eme ged, an ecosys em o e a-
lua ing he impac o mobile de ice apps on he p i acy and secu i y o hei use s. One
o he undamen al pa s o he ecosys em is i s eposi o y o mobile applica ion me ada-
a, which allows esea che s o s udy he impac on use p i acy. This eposi o y began
i s de elopmen in he TFG o Alejand o P´
e ez de la Fuen e [1]. In his Mas e ’s hesis,
he aim is o imp o e i by s udying and applying Big Da a echniques and a chi ec u es,
expanding i s unc ionali y in e ms o in o ma ion sou ces, and p o iding dashboa ds
ha display he eposi o y’s con en s h ough KPIs. This wo k is pa o a b oade p ojec
whose pu pose is o empowe end use s in managing hei p i acy and secu i y in mobile
en i onmen s, App-PI.
2
Ag adecimien os
A mis pad es y a mi he mana Ana Isabel, Juan Jos´
e y Lydia po su apoyo y ´
animo incon-
dicional.
A mis u o es Quiliano Isaac Mo o Sancho y M. Me cedes Ma ´
ınez Gonz´
alez po su
iempo, ayuda y gu´
ıa du an e el desa ollo del abajo.
Al G upo de In es igaci´
on en Ingenie ´
ıa de la P i acidad de la Uni e sidad de Valla-
dolid po p es a me su apoyo y sabe .
A odos los p o eso es del m´
as e po ansmi i me sus conocimien os.
A mis amigos po c ee en m´
ı.
Es e abajo se incluye en las ac i idades del P oyec o Es a ´
egico de Cibe segu idad
C120.23 UVa “App-PI (App P i acy Impac ): Un ecosis ema pa a la e aluaci´
on del im-
pac o de apps pa a disposi i os m´
o iles sob e la p i acidad y segu idad de sus usua ios”,
el cual se ealiza al ampa o de un con enio de colabo aci´
on en e la Uni e sidad de Va-
lladolid y la S.M.E. Ins i u o Nacional de Cibe segu idad de Espa˜
na M.P., S.A. pa a la
p omoci´
on de p oyec os es a ´
egicos de Cibe segu idad en Espa˜
na, en el ma co de los
Fondos del Plan de Recupe aci´
on, T ans o maci´
on y Resiliencia, inanciados po la Uni´
on
Eu opea (Nex Gene a ion).
3
´
Indice gene al
1. In oducci´
on 9
1.1. Con ex o................................... 9
1.2. Mo i aci´
on ................................. 11
1.2.1. Es ado ac ual de App-PI y App-PIMD . . . . . . . . . . . . . . . 12
1.3. Obje i os .................................. 13
1.4. O ganizaci´
ondelamemo ia ........................ 14
2. Me odolog´
ıa 15
2.1. Me odolog´
ıa espec´
ı icadelp oyec o .................... 16
3. T´
ecnicas y He amien as 19
3.1. T´
ecnicas................................... 19
3.1.1. T´
ecnicas de Almacenamien o de Da os en en o nos Big Da a . . . 19
3.1.2. P ocesoETL ............................ 21
3.1.3. T´
ecnicas de Visualizaci´
ondeDa os ................ 23
3.1.4. T´
ecnicas de In eg aci´
on ...................... 24
3.2. He amien as ................................ 24
3.2.1. En o no de Desa ollo . . . . . . . . . . . . . . . . . . . . . . . 24
3.2.2. S ack Tecnol´
ogico ......................... 26
4. An´
alisis 28
4.1. An´
alisis de equisi os pa a la ampliaci´
on de uen es y ipos de da os en
App-PIMD ................................. 28
4.1.1. Requisi os.............................. 29
4.2. An´
alisis de equisi os pa a la mejo a de la uncionalidad de la API de
App-PIMD ................................. 29
4.2.1. Requisi os.............................. 29
4.2.2. Casosdeuso ............................ 30
4.3. An´
alisis de equisi os pa a los dashboa ds de App-PIMD . . . . . . . . . 34
4.3.1. Requisi os sob e el panel de AOSP . . . . . . . . . . . . . . . . . 35
4.3.2. Requisi os sob e el panel de aplicaciones . . . . . . . . . . . . . 35
4
´
INDICE GENERAL
4.3.3. Requisi os sob e los paneles de p i acidad . . . . . . . . . . . . . 36
5. Dise˜
no 39
5.1. Dise˜
no de la ampliaci´
on de uen es y ipos de da os en App-PIMD . . . . 39
5.1.1. Inclusi´
on de F-D oid en App-PIMD . . . . . . . . . . . . . . . . 40
5.1.2. Inclusi´
on de And ozooGP a App-PIMD . . . . . . . . . . . . . . 41
5.2. Dise˜
no de la mejo a de la uncionalidad de la API de App-PIMD . . . . . 46
5.3. Dise˜
no de los dashboa ds deApp-PIMD.................. 47
5.3.1. Iden i icaci´
on de los hechos y dimensiones . . . . . . . . . . . . 47
5.3.2. M´
e icas y KPIs ep esen ados . . . . . . . . . . . . . . . . . . . 48
5.3.3. Dise˜
no de los paneles de mandos . . . . . . . . . . . . . . . . . . 49
6. Implemen aci´
on y p uebas 55
6.1. De alles sob e la implemen aci´
on...................... 55
6.1.1. Con igu aci´
on del p oxy in e so .................. 55
6.1.2. Implemen aci´
on de las nue as uen es de da os . . . . . . . . . . 57
6.1.3. Implemen aci´
on de las mejo as de la API . . . . . . . . . . . . . 59
6.1.4. Implemen aci´
on de los dashboa ds ................. 59
6.2. P uebas ................................... 62
6.2.1. Rendimien o de la API 2 de App-PIMD . . . . . . . . . . . . . 62
7. Conclusiones y l´
ıneas de abajo u u o 65
7.1. Conclusiones ................................ 65
7.2. L´
ıneasde abajo u u o........................... 66
Bibliog a ´
ıa 66
A. Gu´
ıa de ins alaci´
on de App-PIMD 71
A.1. Desca ga del c´
odigo uen e de App-PIMD . . . . . . . . . . . . . . . . . 71
A.2. Ins alaci´
on y con igu aci´
ondeMySQL................... 72
A.3. Ins alaci´
on y con igu aci´
on del en o no Py hon . . . . . . . . . . . . . . 73
A.4. Con igu aci´
ondeApp-PIMD........................ 74
A.5. Ins alaci´
on y con igu aci´
ondeG a ana................... 75
A.6. Ins alaci´
on y con igu aci´
on del p oxy .................... 76
A.7. Ejecuci´
ondeApp-PIMD .......................... 77
B. Documen aci´
on App-PIMD API 2 78
5
´
Indice de igu as
1.1. Mapa de dependencia ecnol´
ogica en Espa˜
na. ............... 9
1.2. A qui ec u a de App-PI. . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1. Modeloinc emen al. ............................ 15
2.2. P ocesoETL. ................................ 17
3.1. Fo ma o de los mensajes HTTP . . . . . . . . . . . . . . . . . . . . . . . 22
3.2. A chi o de mani ies o de la app Wha sApp. . . . . . . . . . . . . . . . . 22
3.3. Zonas de mayo ele ancia isual (Pa ´
onZ). ............... 23
3.4. Acceso uni o me a los se icios de App-PIMD. . . . . . . . . . . . . . . 24
4.1. Diag ama de casos de uso. . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.2. Diag ama de ac i idades del UC-1. . . . . . . . . . . . . . . . . . . . . . 31
4.3. Diag ama de ac i idades del UC-2. . . . . . . . . . . . . . . . . . . . . . 32
4.4. Diag ama de ac i idades del UC-3. . . . . . . . . . . . . . . . . . . . . . 33
5.1. Diag ama de paque es gene al de App-PIMD. . . . . . . . . . . . . . . . 40
5.2. Diag ama del paque e ex ac conF-D oid. ................ 41
5.3. Modelo de da os concep ual. . . . . . . . . . . . . . . . . . . . . . . . . 42
5.4. Modelo de da os ´
ısico............................ 43
5.5. Diag ama del paque e load con And ozooGP. . . . . . . . . . . . . . . . 45
5.6. Diag ama del paque e ex ac con And ozooGP. . . . . . . . . . . . . . . 46
5.7. Mockup del men´
u de los dashboa ds..................... 49
5.8. Mockup del dashboa ds deAOSP. ..................... 50
5.9. Mockup del dashboa ds de aplicaciones. . . . . . . . . . . . . . . . . . . 51
5.10. Mockup del dashboa ds de p i acidad gene al. . . . . . . . . . . . . . . . 52
5.11. Mockup del dashboa ds de compa aciones de p i acidad. . . . . . . . . . 53
6.1. Con igu aci´
on en ae ik.yml......................... 55
6.2. Con igu aci´
on de la en ada a la API. . . . . . . . . . . . . . . . . . . . . 56
6.3. Con igu aci´
on de la en ada a los dashboa ds. ............... 56
6.4. B´
usqueda del paque e o g. eleg am en F-D oid. . . . . . . . . . . . . . . 57
6
´
INDICE DE FIGURAS
6.5. Ejemplo de espues a de And ozooGP. . . . . . . . . . . . . . . . . . . . 58
6.6. Ejemplo de ob enci´
on de la lis a de e siones almacenadas de Teleg am. . 59
6.7. Implemen aci´
on del panel de mandos Men´
u................. 60
6.8. Implemen aci´
on del panel de mandos AOSP. . . . . . . . . . . . . . . . . 60
6.9. Implemen aci´
on del panel de mandos Aplicaciones. . . . . . . . . . . . . 61
6.10. Implemen aci´
on del panel de mandos P i acidad. . . . . . . . . . . . . . 61
6.11. Implemen aci´
on del panel de mandos Compa aciones de P i acidad. . . . 62
6.12. P ueba de e o no de lis a de e siones almacenadas de una app. . . . . . 63
6.13. P ueba de subida de una app po a chi o. ................. 63
6.14. P ueba de desca ga de los me ada os de una app po nomb e. . . . . . . . 64
6.15. P ueba de desca ga de me ada os de allados de una app........... 64
A.1. Paque e o iginal pyand ozoo......................... 73
A.2. Paque e modi icado pyand ozoo....................... 74
A.3. P ime inicio en G a ana. . . . . . . . . . . . . . . . . . . . . . . . . . . 76
A.4. Con igu aci´
on de la uen e de da os de G a ana. . . . . . . . . . . . . . . 76
7
´
Indice de ablas
1.1. Lis a de aplicaciones p e-ins aladas en un Samsung Galaxy S23. . . . . . 10
1.2. Cuo a de me cado pa a cada sis ema ope a i o m´
o il............ 10
4.1. Caso de uso: Ve las e siones almacenadas de una app........... 31
4.2. Caso de uso: Desca ga me ada os de una app................ 32
4.3. Caso de uso: Solici a ca ga de app. .................... 34
5.1. A ibu os de az dependency. ........................ 43
5.2. A ibu os de az me ada a........................... 44
5.3. De inici´
on de las m´
e icas ep esen adas. . . . . . . . . . . . . . . . . . . 48
5.4. De inici´
on de los KPI ep esen ados. . . . . . . . . . . . . . . . . . . . . 48
6.1. Mapeo de a ibu os y es uc u a JSON de And ozooGP. . . . . . . . . . . 58
8
Cap´
ı ulo 2
Me odolog´
ıa
Como se ha is o en la secci´
on 1.3 los obje i os a ´
ıan desde a˜
nadi nue os ipos de
da os has a la c eaci´
on de dashboa ds, pasando po la ampliaci´
on y mejo a de la unciona-
lidad del eposi o io. Es po ello que, debido a la na u aleza he e og´
enea de los obje i os,
se ha decidido op a po un modelo inc emen al en la ealizaci´
on de es e abajo.
Figu a 2.1: Modelo inc emen al.
Como se puede e en la igu a 2.1, es e modelo combina el desa ollo en cascada
con en oques i e a i os, donde en cada inc emen o, haciendo uso del desa ollo en casca-
da, se a˜
nade nue a uncionalidad [14]. Algo muy con enien e pa a asocia los dis in os
subobje i os con cada una de los inc emen os del desa ollo del p oyec o. Ca ac e ´
ıs icas
dis in i as que a o ecen es e modelo:
Desa ollo en ases o inc emen os: El an´
alisis, dise˜
no e implemen aci´
on de los
componen es del p oyec o, como el so wa e, se ealiza en dis in as e apas. Es o
simpli ica el desa ollo al abo da se un subp oblema peque˜
no en cada inc emen o
en luga de la o alidad del p oyec o.
15
CAP´
ITULO 2. METODOLOG´
IA
Rapidez: G acias al desa ollo en ases se an alcanzando los subobje i os de ma-
ne a p og esi a an es del inal del p oyec o. Es o se aduce en la ob enci´
on de
esul ados ´
apidamen e an es del inal del p oyec o.
Sine gia: La en ega inc emen al pe mi e un mejo seguimien o del p oyec o en
iempo eal e i ajus ando las necesidades del mismo po medio de la e oalimen a-
ci´
on. Todo ello se aduce en un p oyec o mejo acabado, y una mayo sa is acci´
on
inal.
Ges i´
on de iesgos: La ges i´
on de los iesgos se acili a al a a cada inc emen o
de o ma independien e, ya que se a a una meno can idad de iesgos en pa alelo.
Adem´
as, es o pe mi e que los p oblemas se puedan iden i ica , y po an o solucio-
na , en las p ime as ases de cada inc emen o en luga de al inal del p oyec o.
2.1. Me odolog´
ıa espec´
ı ica del p oyec o
Pues o que es e p oyec o de mejo a de App-PIMD se a a desde el pun o de is a de
un p oyec o Big Da a, ambi´
en es impo an e especi ica la me odolog´
ıa que se lle a ´
a a
cabo pa a ges iona cada una de sus dis in as e apas.
Recopilaci´
on de Da os.
Las uen es de da os que se u ilizan se escogen en unci´
on de su ipo y calidad. Se
p e ie en ipos de uen es de da os (APIs1, p´
aginas web, ...) he e og´
eneos ya que de
es e modo se en iquece con enido del eposi o io.
El ipo de da o que se ecopila es es uc u ado po na u aleza, ya que se a a de
me ada os bien de inidos sob e aplicaciones [15].
Los p ocedimien os de ecogida de los mismos a ´
ıan dependiendo del ipo de uen-
e que se u ilice. De es e modo, se puede ecopila da os de una uen e de ipo p´
agina
web po medio de sc aping, mien as que las de ipo API haciendo uso de pe iciones
HTTPS2.
P ocesamien o de Da os.
Pa a el p ocesamien o e in eg aci´
on de los da os se u ilizan p ocesos ETL3. Es os
p ocesos consis en en ex ae los da os de di e sas uen es, ans o ma los en un
esquema com´
un, y ca ga los en un almac´
en de da os o da a wa ehouse.
La igu a 2.2 mues a un esumen isual de es e ipo de p ocesos4.
1API: Applica ion P og amming In e ace
2HTTPS: Hype ex T ans e P o ocol Secu e
3ETL: Ex ac , T ans o m, Load
4h ps://www.linkedin.com/pulse/ u-p oceso-e l-es %C3%A1-op imizado- ossibel-
o o/
16
2.1. METODOLOG´
IA ESPEC´
IFICA DEL PROYECTO
Figu a 2.2: P oceso ETL.
Almacenamien o y Ges i´
on de Da os.
Debido a la na u aleza es uc u ada de los da os, la in aes uc u a que se u iliza pa a
su almacenamien o son bases de da os elacionales. Es e ipo de almacenamien o
pe mi e el uso de SQL5pa a la ges i´
on y manipulaci´
on de los da os.
Un lenguaje que pe mi e ealiza ope aciones a anzadas de b´
usqueda y an´
alisis
de da os median e su capacidad de combina , il a , ag upa y o dena g andes
ol´
umenes de in o maci´
on ´
apidamen e.
Visualizaci´
on de Da os.
Pa a ealiza la isualizaci´
on de los da os se u ilizan dashboa ds, ya que se han con-
e ido en el es ´
anda en p oyec os Big Da a debido a su capacidad pa a consolida
y p esen a g andes ol´
umenes de da os de o ma cla a y e ec i a. Pa a que esul en
as´
ı, es necesa io abo da las siguien es cues iones:
•Obje i os de la Visualizaci´
on. Es ablece los obje i os del dashboa d, como
qu´
e p egun as se quie en esponde con los da os. Es o pe mi e selecciona las
he amien as y ipos de g ´
a icos m´
as adecuados pa a cumpli los obje i os.
•Iden i icaci´
on de los Usua ios. Es ablece y analiza el ipo de usua io del
dashboa d, sus necesidades, habilidades y obje i os. De es e modo, se puede
ajus a an o la in e az como los ipos de isualizaciones en ´
e minos de com-
plejidad y dise˜
no a las necesidades de los usua ios. Es a adap aci´
on asegu a
que el dashboa d no solo cumpla su p op´
osi o, sino que lo haga de mane a
´
op ima y p ecisa.
5SQL: S uc u ed Que y Language
17
CAP´
ITULO 2. METODOLOG´
IA
•Dise˜
no de la Visualizaci´
on. Dise˜
na el n´
ume o de p´
aginas o paneles del dash-
boa d y la dis ibuci´
on de cada uno de ellos haciendo uso de m´
e odos de
ag upaci´
on y pa ones de dise˜
no como el “Z” [16]. Escoge qu´
e g ´
a icos se
ajus an mejo al ipo de da o que se es a ep esen ando, uso co ec o de los co-
lo es y ipog a ´
ıa adecuada. Inclui in e ac i idad pa a pe mi i aplica il os
y pa ´
ame os que pe mi an pe sonaliza los dashboa d a los usua ios. Tenien-
do en cuan a odo es e ipo de decisiones, nos asegu amos de que los da os
se ´
an ´
acilmen e accesibles, comp ensibles y isualmen e a ac i os una ez
se implemen en las isualizaciones.
•Gu´
ıa de Usua io. C ea una gu´
ıa de usua io bien elabo ada que p opo cione
a los usua ios ins ucciones cla as sob e c´
omo na ega y u iliza las di e sas
unciones del dashboa d, lo que minimiza la cu a de ap endizaje y educe el
iesgo de e o es po pa e de los usua ios. Adem´
as, ha de explica el p op´
osi o
y la in e p e aci´
on de cada isualizaci´
on, lo que ga an iza que los usua ios
comp endan co ec amen e los da os p esen ados.
Conside aciones ´
E icas y Legales.
En odos los p oyec os en que se ecogen y almacenan da os es muy impo an e
segui unos p incipios ´
e icos que se basen en minimiza la ecolecci´
on de da os. Es
deci , ecopila solo los da os necesa ios, anonimiza los pa a p o ege la iden idad
de los usua ios, e implemen a medidas de segu idad obus as pa a p o ege los con-
a accesos no au o izados y iolaciones de segu idad. Adem´
as, se ha de lle a a
cabo es udios del cumplimien o no ma i o y legal sob e los da os que se u ilizan.
En el p oyec o App-PIMD no se ecogen da os de ipo pe sonal en ning´
un caso.
Es po ello que solo enemos que analiza el cumplimien o legal desde el pun o
de is a de la ecolecci´
on y di usi´
on de me ada os de aplicaciones And oid que se
encuen an p´
ublicas en di e sos ma ke s. Cuando un desa ollado And oid publica
su app en Google Play se acoge al “Acue do de Dis ibuci´
on pa a Desa ollado es
de Google Play (Google Play De elope Dis ibu ion Ag eemen )”. Seg´
un es e, se
concede a los usua ios una licencia no exclusi a, mundial y pe pe ua pa a ealiza ,
ins ala y usa la aplicaci´
on y cualquie con enido, ma e ial y se icios elacionados
con u aplicaci´
on a a ´
es de Google Play, con o me a los ´
e minos del acue do de
licencia de usua io inal.
En Espa˜
na po no ma gene al no se pe mi e el descompilado de p og amas, como
son las aplicaciones m´
o iles, ni la ingenie ´
ıa in e sa a excepci´
on de lo dispues o en
el a ´
ıculo 100 de la Ley de P opiedad In elec ual [17]. Po lo que en el p esen e a-
bajo se ha ´
a uso de an´
alisis es ´
a ico ya que nos pe mi e ob ene odos los me ada os
que necesi amos y si es a pe mi ido legalmen e.
18
Cap´
ı ulo 3
T´
ecnicas y He amien as
3.1. T´
ecnicas
En es a secci´
on se enume an y desa ollan las ´
ecnicas, p ocedimien os y es ´
anda es
u ilizados du an e el desa ollo del abajo.
3.1.1. T´
ecnicas de Almacenamien o de Da os en en o nos Big Da a
En la ac ualidad, el almacenamien o en en o nos Big Da a ha cob ado g an impo an-
cia en la ges i´
on de g andes ol´
umenes de da os p o enien es de di e sas uen es, como
edes sociales, senso es IoT1y sis emas emp esa iales. Adem´
as, es os da os suelen c ece
en olumen, elocidad y a iedad, lo que equie e la e oluci´
on de las ´
ecnicas de almace-
namien o pa a ga an iza la e iciencia, el acceso y la segu idad de los da os.
A con inuaci´
on, se desc iben algunas de las p incipales ´
ecnicas de almacenamien o
Big Da a [18], [19]:
Almacenamien o en Bases de Da os NoSQL
Las bases de da os NoSQL es ´
an dise˜
nadas pa a maneja g andes ol´
umenes de da-
os no es uc u ados o semi-es uc u ados. En e sus ca ac e ´
ıs icas p incipales se
encuen an su modelo de da os lexible, a di e encia del modelo ijo de las bases
de da os elacionales, y su capacidad pa a se escalables ho izon almen e. Es o pe -
mi e maneja mayo es ol´
umenes de da os a˜
nadiendo m´
as ins ancias en luga de
aumen a la capacidad de una sola.
Sin emba go, en e sus des en ajas se incluye el uso de consis encia e en ual, es
deci , sac i ican la consis encia inmedia a de los da os pa a log a una mayo dis-
ponibilidad y pa icionamien o. Adem´
as, no exis en es ´
anda es uni icados como en
el caso de las bases de da os es uc u adas (SQL), lo que puede lle a a una mayo
complejidad en el ap endizaje y la in eg aci´
on de es e ipo de almac´
en de da os.
1IoT: In e ne O Things
19
CAP´
ITULO 3. T ´
ECNICAS Y HERRAMIENTAS
Sis emas de A chi os Dis ibuidos
Cuando los da os a almacena ca ecen de es uc u a y son de ipos muy a iados,
como im´
agenes, ´
ıdeos, a chi os de ex o u o os ipos de a chi o, la mejo soluci´
on
es u iliza sis emas de a chi os dis ibuidos.
En es e ipo de almacenamien o, los a chi os se encuen an en m´
ul iples ubicacio-
nes ´
ısicas de mane a anspa en e pa a el usua io. Es o pe mi e una g an escalabi-
lidad ho izon al del sis ema a˜
nadiendo nue as ins ancias, al a disponibilidad an e
ca´
ıdas de se ido es conc e os, ecupe aci´
on an e desas es si un se ido alla, ac-
ceso concu en e y al a e iciencia.
Sin emba go, es os sis emas de almacenamien o ienen una se ie de desa ´
ıos, como
la ges i´
on de la consis encia en e odos los nodos del sis ema y la necesidad de ase-
gu a que el endimien o no se ea a ec ado po las a eas de ges i´
on y eplicaci´
on,
que pueden llega a sa u a la ed.
Almacenamien o en Da a Wa ehouse
Cuando los da os a almacena ienen una es uc u a cla a y p o ienen de m´
ul iples
uen es que deben in eg a se en un ´
unico luga pa a ealiza an´
alisis y consul as,
la mejo soluci´
on es u iliza almacenamien o en da a wa ehouse. En e sus ca ac-
e ´
ıs icas p incipales se encuen an el uso de un modelo de da os elacional, es deci ,
los da os se almacenan en ablas o ganizadas que pueden ene elaciones en e s´
ı.
Es o pe mi e u iliza SQL, un lenguaje es ´
anda pa a consul as, ac ualizaci´
on y ges-
i´
on de bases de da os elacionales. Pa a esol e el p oblema de la in eg aci´
on de
da os de di e sas uen es, se suelen emplea p ocesos ETL.
En e las en ajas de es e ipo de almac´
en se encuen a la consis encia e in eg idad
de los da os, g acias a las p opiedades ACID2de los sis emas SQL, as´
ı como la
capacidad de ealiza consul as complejas y an´
alisis sob e g andes ol´
umenes de
da os de mane a e icien e. Tambi´
en se des aca la in e ope abilidad que p opo cio-
na SQL, g acias a se un es ´
anda , con he amien as de an´
alisis e in eligencia de
negocio.
Sin emba go, los pun os nega i os suelen se en ´
e minos de escalabilidad, ya que
el sis ema pe mi e p incipalmen e escalabilidad e ical pa a man ene las p opie-
dades ACID. Es o suele conlle a un cos e m´
as ele ado cuando se a a de g andes
ol´
umenes de da os en compa aci´
on con o as soluciones. Adem´
as, la complejidad
en el dise˜
no de los p ocesos ETL puede se un desa ´
ıo pa a asegu a que los da os
se in eg an y ans o man co ec amen e.
2ACID: A omicidad, Consis encia, Aislamien o y Du abilidad
20
3.1. T ´
ECNICAS
Dadas las ca ac e ´
ıs icas de es e p oyec o, se u iliza un sis ema de almacenamien o
basado en da a wa ehouse, ya que los da os a almacena son me ada os es uc u ados
p o enien es de di e sas uen es. Se equie e que es os da os puedan se consul ados y
analizados de mane a compleja, adem´
as de p opo ciona una g an in e ope abilidad pa a
acili a su uso po e ce os. Asimismo, dado que los me ada os son ex uales y su olumen
es ela i amen e peque˜
no, las limi aciones de escalabilidad en es e ipo de almac´
en no son
un incon enien e signi ica i o. Po o o lado, los me ada os es ´
an bien documen ados lo
que acili a el dise˜
no de los p ocesos ETL [15], [20], [21].
3.1.2. P oceso ETL
Como se mencion´
o an e io men e en la secci´
on 2.1, los p ocesos ETL cons i uyen
una me odolog´
ıa empleada en la ges i´
on de da os pa a in eg a in o maci´
on de di e sas
uen es, ans o ma la seg´
un las necesidades de an´
alisis o almacenamien o, y ca ga la en
un sis ema des ino, como un da a wa ehouse [22]. Es a me odolog´
ıa se compone de es
e apas: ex acci´
on de la in o maci´
on, ans o maci´
on y ca ga. A con inuaci´
on, se de alla ´
a
cada uno de las e apas, as´
ı como los dis in os es ´
anda es y ´
ecnicas u ilizados en cada ase
de los p ocesos ETL.
E apa de Ex acci´
on
En es a e apa se abo da el p oblema de la ex acci´
on de in o maci´
on de di e sas uen-
es o igen, que p obablemen e sean he e og´
eneas. Es o equie e la aplicaci´
on de ´
ecnicas
espec´
ı icas de ex acci´
on de in o maci´
on. Las siguien es ´
ecnicas son las que se u ilizan
en el p oyec o:
Pe iciones a APIs po medio del p o ocolo HTTPS
HTTPS es un p o ocolo de comunicaci´
on web segu o basado en mensajes de ex o,
cuya es uc u a se es ´
a de inida en los RFCs32616 [23], 7230 [24], 7231 [25] y
5246 [26]. La igu a 3.1 mues a la es uc u a b´
asica de los mensajes que in e cam-
bian en e el clien e y el se ido du an e una comunicaci´
on.
Los elemen os m´
as impo an es que se pueden obse a en la igu a 3.1 son:
• En la pe ici´
on del clien e, el m´
e odo de la pe ici´
on (en la igu a, “GET”, que
indica que se quie e ob ene in o maci´
on) y la di ecci´
on del ecu so solici-
ado (en la igu a, “/hello. x ”). Con es os dos pa ´
ame os, podemos solici a
in o maci´
on a APIs.
• En la espues a del se ido , el cue po del mensaje es la pa e m´
as impo an e,
ya que con iene la in o maci´
on solici ada.
3RFC: Reques Fo Commen s
21
CAP´
ITULO 3. T ´
ECNICAS Y HERRAMIENTAS
Figu a 3.1: Fo ma o de los mensajes HTTP [24].
Web sc aping
El web sc aping es una ´
ecnica u ilizada pa a ex ae in o maci´
on de si ios web de
mane a au oma izada. Consis e en u iliza sc ip s que na egan po las p´
aginas web
e iden i ican y ex aen da os espec´
ı icos, como ex o, im´
agenes o enlaces.
E apa de T ans o maci´
on
En es a e apa se abo da el p oblema de ans o ma los da os seg´
un las necesidades de
an´
alisis o almacenamien o del p oyec o. Dado que las uen es de da os son he e og´
eneas,
ambi´
en es necesa io con e i los da os al esquema com´
un u ilizado en el almac´
en del
p oyec o. La ´
ecnica aplicada pa a la ans o maci´
on de la in o maci´
on u ilizada en el
p oyec o es p incipalmen e an´
alisis es ´
a ico de c´
odigo.
Es a ´
ecnica de inspecci´
on de so wa e examina el a chi o de una aplicaci´
on sin eje-
cu a la, con el obje i o de iden i ica e o es, ulne abilidades y, en el caso de es e TFM,
me ada os. El p oceso se ealiza median e he amien as especializadas que analizan el
c´
odigo pa a de ec a pa ones. En es e abajo, se analizan pa ones XML4, ya que son los
que de inen los me ada os den o de las aplicaciones And oid ( e igu a 3.2) [15], [20],
[21].
Figu a 3.2: A chi o de mani ies o de la app Wha sApp.
4XML: Ex ensible Ma kup Language
22
3.1. T ´
ECNICAS
E apa de Ca ga
En es a e apa se abo da el p oblema de la ca ga de los da os en el da a wa ehouse. Es e
p oceso es c ucial pa a ga an iza que los da os es ´
en disponibles y sean accesibles pa a
su an´
alisis y uso en la oma de decisiones. Pa a ello, se u iliza el pa ´
on de dise˜
no so wa e
Da a Mappe [27]. Es e pa ´
on elaciona los da os en e una base de da os y los obje os
de dominio de una aplicaci´
on, lo que pe mi e subi de mane a ´
acil y es anda izada odos
los da os ex a´
ıdos al eposi o io.
3.1.3. T´
ecnicas de Visualizaci´
on de Da os
Las ´
ecnicas de isualizaci´
on de da os u ilizadas se ex aen del lib o In o ma ion Dash-
boa d Design: Displaying Da a o A -a-glance Moni o ing [16] como se mencion´
o en
la secci´
on 2.1 de me odolog´
ıa espec´
ı ica, y del blog Dashboa ds. ¿C´
omo dise˜
na dash-
boa ds ´
op imos? [28].
La ´
ecnica m´
as impo an e en cuan o a la o ganizaci´
on del con enido es ap o echa
los espacios de al a ele ancia isual aplicando el pa ´
on Z, seg´
un el cu´
al se igen es os.
En la igu a 3.3 se mues an los espacios de mayo ele ancia. Jun o con es o, es muy
impo an e ambi´
en el uso de espacios en blanco pa a sepa a las zonas del dashboa d y
e i a el uso del sc oll, de mane a que oda la in o maci´
on se encuen e disponible de un
is azo.
Figu a 3.3: Zonas de mayo ele ancia isual (Pa ´
on Z) [28].
En cuan o al dise˜
no de los g ´
a icos, es muy impo an e elimina cualquie ep esen a-
ci´
on innecesa ia, man eniendo as´
ı una in e az limpia y cla a. Se deben u iliza colo es
adecuados que pe mi an sepa a las dis in as secciones y ocaliza la a enci´
on en los ele-
men os impo an es, adem´
as de hace uso de isualizaciones ap opiadas pa a los da os
que se es ´
an ep esen ando.
23
CAP´
ITULO 3. T ´
ECNICAS Y HERRAMIENTAS
3.1.4. T´
ecnicas de In eg aci´
on
Como se ha is o en apa ados an e io es, en es e abajo se in eg a in o maci´
on de
di e sas uen es median e el uso de p ocesos ETL y un da a wa ehouse pa a almacena
odos los da os. No obs an e, dado que la inalidad de un eposi o io, adem´
as de almacena
in o maci´
on, es pone la a disposici´
on de sus usua ios, ambi´
en se emplean ´
ecnicas pa a
in eg a y uni ica las o mas de acceso a los dis in os se icios del eposi o io.
Po un lado, se emplea el es ´
anda OpenAPI pa a dise˜
na y documen a la API de
acceso a App-PIMD, acili ando as´
ı la in e ope abilidad e in eg aci´
on con o os se icios.
Pa a la au en icaci´
on de usua ios, se u iliza el es ´
anda OAu h 2.0, como se especi ica en
OpenAPI [29].
Po o o lado, es necesa io uni o ma el acceso al dashboa d con el de la API del e-
posi o io. Pa a ello, se u iliza un p oxy in e so, que ac ´
ua como un se ido in e media io
en e los clien es y los se icios backend, en es e caso, la API de acceso al eposi o io y el
dashboa d. Es e p oxy ges iona y edi ige las pe iciones a los dis in os se icios backend
desde un ´
unico pun o de en ada [30].
La igu a 3.4 mues a la a qui ec u a que se ha u ilizado pa a uni o ma el acceso a los
se icios de App-PIMD: el eposi o io y el dashboa d.
Figu a 3.4: Acceso uni o me a los se icios de App-PIMD.
3.2. He amien as
En es a secci´
on se enume an las he amien as so wa e u ilizadas du an e el desa ollo
del p oyec o.
3.2.1. En o no de Desa ollo
Vi ualBox
Pa a aloja odo el eposi o io y sus se icios en el en o no de desa ollo, he decidido
u iliza la i ualizaci´
on. En conc e o, se usa Vi ualBox, un so wa e de i ualizaci´
on de
24
4.2. AN ´
ALISIS DE REQUISITOS PARA LA MEJORA DE LA FUNCIONALIDAD DE
LA API DE APP-PIMD
Figu a 4.2: Diag ama de ac i idades del UC-1.
UC-1 Ve las e siones almacenadas de una app
Desc ipci´
on Ve las e siones almacenadas de una app en el eposi o io.
Secuencia no mal
1. El usua io gene al in oduce el package de la app que desea.
2. El sis ema comp ueba que la app se encuen a almacenada.
3. El sis ema ob iene la lis a de e siones almacenadas.
4. El sis ema de uel e la lis a de e siones.
Flujos al e na i os
2a-1. La app no se encuen a en el sis ema.
2a-2. El sis ema de uel e un e o indicando que la app
solici ada no se encuen a en el sis ema.
2a-3. El caso de uso queda sin e ec o.
Pos condici´
on El usua io gene al ha ob enido la lis a de e siones
almacenadas de la app.
Tabla 4.1: Caso de uso: Ve las e siones almacenadas de una app.
UC-2: Desca ga me ada os de una app
En la abla 4.2 se encuen a la especi icaci´
on del caso de uso de desca ga los me ada os
de una app y en la igu a 4.3 se encuen a el diag ama de ac i idades asociado a ese caso
de uso.
31
CAP´
ITULO 4. AN ´
ALISIS
Figu a 4.3: Diag ama de ac i idades del UC-2.
UC-2 Desca ga me ada os de una app
Desc ipci´
on Desca ga los me ada os de una app del eposi o io.
Secuencia no mal
1. El usua io gene al in oduce el package, nomb e o hash
de la app que desea.
2. El sis ema comp ueba que la app se encuen a almacenada.
3. El sis ema comp ueba si se desea el de alle.
4. El sis ema ob iene el de alle de la app almacenada.
5. El sis ema de uel e el de alle de la app.
Flujos al e na i os
2a-1. La app no se encuen a en el sis ema.
2a-2. El sis ema de uel e un e o indicando que la app
solici ada no se encuen a en el sis ema.
2a-3. El caso de uso queda sin e ec o.
3a-1. No se desea el de alle.
3a-2. El sis ema ob iene los me ada os de la app.
3a-3. El sis ema de uel e los me ada os de la app.
Pos condici´
on El usua io gene al ha ob enido los me ada os
almacenados de la app.
Tabla 4.2: Caso de uso: Desca ga me ada os de una app.
32
4.2. AN ´
ALISIS DE REQUISITOS PARA LA MEJORA DE LA FUNCIONALIDAD DE
LA API DE APP-PIMD
UC-3: Solici a ca ga de una app
En la abla 4.3 se encuen a la especi icaci´
on del caso de uso de solici a ca ga de una
app y en la igu a 4.4 se encuen a el diag ama de ac i idades asociado a ese caso de uso.
Figu a 4.4: Diag ama de ac i idades del UC-3.
33
CAP´
ITULO 4. AN ´
ALISIS
UC-3 Solici a ca ga de una app
Desc ipci´
on Solici a la ca ga de una app al wa ehouse.
Secuencia no mal
1. El usua io gene al in oduce el package o a chi o
de la app que desea ca ga .
2. El sis ema comp ueba que hay hilos disponibles
pa a subi apps.
3. El sis ema ese a un hilo pa a subi la app.
4. El sis ema indica al usua io gene al que la pe ici´
on
se es a p ocesando.
5. El sis ema desca ga la app solici ada.
6. El sis ema ex ae la in o maci´
on de la app desca gada.
7. El sis ema almacena la in o maci´
on ex a´
ıda.
9. El sis ema libe a el hilo ese ado.
Flujos al e na i os
2a-1. Todos los hilos de subida se encuen an ocupados.
2a-2. El sis ema in o ma al usua io gene al de que el sis ema
se encuen a ocupado.
2a-3. El caso de uso queda sin e ec o.
5a-1. No se encuen a la app solici ada en las uen es de da os.
5a-2. El sis ema libe a el hilo ese ado.
5a-3. El caso de uso queda sin e ec o.
Pos condici´
on La app solici ada queda almacenada en el wa ehouse.
Tabla 4.3: Caso de uso: Solici a ca ga de app.
4.3. An´
alisis de equisi os pa a los dashboa ds de App-
PIMD
En es a secci´
on se ealiza el an´
alisis de equisi os de los dashboa ds de App-PIMD.
Es undamen al de ini cla amen e los obje i os de es os, as´
ı como los da os que deben
isualiza se, y los indicado es y m´
e icas cla e necesa ios pa a c ea dashboa ds ´
u iles
que apoyen la oma de decisiones.
El obje i o p incipal de los dashboa ds es la asmisi´
on de conocimien o. Bas´
andonos
en es o, se equie e que es a ansmisi´
on se di ida en es ´
a eas dis in as: po un lado,
la asmisi´
on de conocimien o sob e AOSP; po o o, la asmisi´
on de conocimien o de
aplicaciones; y, inalmen e, la asmisi´
on de conocimien o sob e el impac o de las aplica-
ciones en la p i acidad de sus usua ios. En base a es a dis inci´
on en ´
a eas se elici a ´
an los
equisi os de cada uno de los dashboa ds o paneles. Se ha de pode na ega en e odos
los paneles.
34
4.3. AN ´
ALISIS DE REQUISITOS PARA LOS DASHBOARDS DE APP-PIMD
4.3.1. Requisi os sob e el panel de AOSP
Con es e panel de mandos se ha de se capaz de esponde las p egun as que aba can
los siguien es equisi os:
El panel de mandos ha de mos a el nomb e de odos los g upos de pe misos de i-
nidos en el sis ema ope a i o And oid.
El panel de mandos ha de mos a el n´
ume o o al de g upos de pe misos de inidos
en el sis ema ope a i o And oid.
El panel de mandos ha de mos a el n´
ume o o al de pe misos de cada g upo de i-
nido en el sis ema ope a i o And oid.
El panel de mandos ha de mos a el ni el de SDK1en que se a˜
nadi´
o cada pe miso
al sis ema ope a i o And oid.
El panel de mandos ha de mos a la dis ibuci´
on del n´
ume o de pe misos a˜
nadido
en unci´
on del ni el de SDK.
4.3.2. Requisi os sob e el panel de aplicaciones
Con es e panel de mandos se ha de se capaz de esponde las p egun as que aba can
los siguien es equisi os:
El panel de mandos ha de pe mi i in e ac i idad pa a selecciona una app conc e a
seg´
un el nomb e de paque e que la iden i ica y su e si´
on.
Requisi os sob e in o maci´
on gene al:
• El panel de mandos ha de mos a el nomb e de la aplicaci´
on seleccionada.
• El panel de mandos ha de mos a la ca ego ´
ıa de la aplicaci´
on seleccionada.
• El panel de mandos ha de mos a el nomb e de paque e de la aplicaci´
on se-
leccionada.
• El panel de mandos ha de mos a la echa de publicaci´
on de la aplicaci´
on
seleccionada.
• El panel de mandos ha de mos a la e si´
on de la aplicaci´
on seleccionada.
• El panel de mandos ha de mos a el ama˜
no de la aplicaci´
on seleccionada.
• El panel de mandos ha de mos a la e si´
on m´
ınima de SDK And oid nece-
sa ia pa a la ejecuci´
on de la app seleccionada.
1SDK: So wa e De elopmen Ki
35
CAP´
ITULO 4. AN ´
ALISIS
Requisi os sob e la popula idad y alo aciones de una aplicaci´
on:
• El panel de mandos ha de mos a la alo aci´
on media de la aplicaci´
on selec-
cionada.
• El panel de mandos ha de mos a la dis ibuci´
on de las alo aciones de la app
seleccionada.
• El panel de mandos ha de mos a el n´
ume o o al de alo aciones de la app
selecionada.
• El panel de mandos ha de mos a el n´
ume o de desca gas de la aplicaci´
on
selecionada.
Requisi os sob e el desa ollado de una aplicaci´
on:
• El panel de mandos ha de mos a el nomb e del desa ollado de la aplicaci´
on
seleccionada.
• El panel de mandos ha de mos a el e-mail del desa ollado de la aplicaci´
on
seleccionada.
• El panel de mandos ha de mos a la di ecci´
on del desa ollado de la aplica-
ci´
on seleccionada.
• El panel de mandos ha de mos a la di ecci´
on de la p´
agina web de la app
seleccionada.
4.3.3. Requisi os sob e los paneles de p i acidad
Deben exis i al menos dos paneles de mandos dedicados a la p i acidad. El p ime o
se cen a ´
a en el an´
alisis gene al de la p i acidad de las aplicaciones And oid, pe mi-
iendo esponde p egun as como qu´
e ca ego ´
ıas de aplicaciones son m´
as in usi as en la
p i acidad de sus usua ios o qu´
e e si´
on de SDK de And oid p esen a aplicaciones m´
as
in usi as. El segundo panel se en oca ´
a en el an´
alisis de la p i acidad de aplicaciones
And oid espec´
ı icas, y pe mi i ´
a ealiza compa aciones di ec as en e ellas.
Requisi os del p ime panel de mandos de p i acidad:
El panel de mandos ha de pe mi i in e ac i idad pa a selecciona la m´
e ica de
p i acidad, ca ego ´
ıa de aplicaciones, y e si´
on de SDK a u iliza en el an´
alisis.
An´
alisis de la p i acidad po ca ego ´
ıa:
• El panel de mandos ha de mos a la ca ego ´
ıa seleccionada.
• El panel de mandos ha de mos a el n´
ume o de aplicaciones in oluc adas en
el an´
alisis.
36
4.3. AN ´
ALISIS DE REQUISITOS PARA LOS DASHBOARDS DE APP-PIMD
• El panel de mandos ha de mos a la pun uaci´
on media ob enida con la m´
e i-
ca de p i acidad escogida pa a la selecci´
on de aplicaciones ealizada seg´
un
ca ego ´
ıa.
• El panel de mandos ha de mos a la dis ibuci´
on de las pun uaciones ob eni-
das con la m´
e ica de p i acidad seleccionada pa a la selecci´
on de aplicaciones
ealizada seg´
un ca ego ´
ıa.
• El panel de mandos ha de mos a el alo medio de odas las m´
e icas de p i-
acidad del eposi o io en una misma isualizaci´
on que pe mi a compa a las
pa a la selecci´
on de aplicaciones ealizada seg´
un ca ego ´
ıa.
An´
alisis de la p i acidad po SDK:
• El panel de mandos ha de mos a el SDK seleccionado.
• El panel de mandos ha de mos a el n´
ume o de aplicaciones in oluc adas en
el an´
alisis.
• El panel de mandos ha de mos a la pun uaci´
on media ob enida con la m´
e ica
de p i acidad escogida pa a la selecci´
on de aplicaciones ealizada seg´
un SDK.
• El panel de mandos ha de mos a la dis ibuci´
on de las pun uaciones ob eni-
das con la m´
e ica de p i acidad seleccionada pa a la selecci´
on de aplicaciones
ealizada seg´
un SDK.
• El panel de mandos ha de mos a el alo medio de odas las m´
e icas de p i-
acidad del eposi o io en una misma isualizaci´
on que pe mi a compa a las
pa a la selecci´
on de aplicaciones ealizada seg´
un SDK.
An´
alisis de la p i acidad miscel´
aneos:
• El panel de mandos ha de mos a el alo medio de la m´
e ica de p i acidad
escogida seg´
un dependencias de la aplicaci´
on.
• El panel de mandos ha de mos a la dis ibuci´
on del alo medio de la m´
e ica
de p i acidad escogida seg´
un la alo aci´
on de la aplicaci´
on.
• El panel de mandos ha de mos a el alo de la m´
e ica de p i acidad escogida
seg´
un el ama˜
no de la aplicaci´
on.
Requisi os del segundo panel de mandos de p i acidad:
El panel de mandos ha de pe mi i in e ac i idad pa a selecciona las dos aplicacio-
nes a compa a y la m´
e ica de p i acidad a u iliza .
Pa a cada aplicaci´
on seleccionada:
37
CAP´
ITULO 4. AN ´
ALISIS
• El panel de mandos ha de mos a el nomb e de la aplicaci´
on.
• El panel de mandos ha de mos a el n´
ume o o al de pe misos que la aplica-
ci´
on solici a pa a su uncionamien o.
• El panel de mandos ha de mos a el n´
ume o o al de pe misos “cus om” que
la aplicaci´
on solici a pa a su uncionamien o. Siendo pe misos “cus om” pe -
misos que no se encuen an de inidos po el sis ema ope a i o And oid.
• El panel de mandos ha de mos a la pun uaci´
on ob enida seg´
un la m´
e ica de
p i acidad seleccionada.
• El panel de mandos ha de mos a las apo aciones de cada g upo de pe misos
a la pun uaci´
on ob enida con la m´
e ica de p i acidad.
• El panel de mandos ha de mos a la e oluci´
on del alo de la m´
e ica en el
paso de e siones de la aplicaci´
on.
• El panel de mandos ha de suge i aplicaciones de la misma ca ego ´
ıa con mejo
pun uaci´
on en base a la m´
e ica de p i acidad seleccionada.
• El panel de mandos ha de mos a la di ecci´
on a la p´
agina web de la pol´
ı ica
de p i acidad de la app.
38
Cap´
ı ulo 5
Dise˜
no
En es e cap´
ı ulo se lle a a cabo el dise˜
no de allado de odos los componen es nece-
sa ios pa a cumpli con los equisi os es ablecidos en el cap´
ı ulo an e io . Al igual que
en dicho cap´
ı ulo, se ecomienda consul a el TFG en que se desa oll´
o inicialmen e es e
eposi o io [1], ya que solo se p esen a ´
an los diag amas y g ´
a icos que sean nue os o
hayan sido modi icados espec o al desa ollo inicial, omi iendo odo el dise˜
no gene al
del mismo, dado que se ha man enido in ac o. Pa a esal a las modi icaciones, se u iliza
el colo e de en los diag amas.
Al igual que en el cap´
ı ulo an e io , el dise˜
no se sepa a ´
a en es bloques: dise˜
no de la
ampliaci´
on de uen es y ipos de da os en App-PIMD, dise˜
no de la mejo a de la unciona-
lidad de la API de App-PIMD, y dise˜
no de los dashboa ds de App-PIMD.
5.1. Dise˜
no de la ampliaci´
on de uen es y ipos de da os
en App-PIMD
Como p ime a uen e de in o maci´
on a inco po a , se ha decidido u iliza F-D oid1,
ya que cumple con los siguien es equisi os: acceso lib e, un ca ´
alogo ex enso de aplica-
ciones, la posibilidad de desca ga aplicaciones en o ma o a chi o y que es as sean de
c´
odigo abie o. Es a uen e de da os cuen a con un ca ´
alogo de m´
as de 2000 aplicacio-
nes de c´
odigo abie o, adem´
as de una lis a de APIs que acili an su acceso. Po an o,
ya que cumple con odos los equisi os elici ados en la secci´
on 4.1.1, F-D oid ha sido
seleccionada como la p ime a uen e de da os a inclui en el eposi o io.
Como segunda uen e de da os a inco po a , la ´
unica uen e de da os que cons a de
in o maci´
on de calidad sob e alo aci´
on, desa ollado y pol´
ı ica de p i acidad de las
aplicaciones es la ienda de aplicaciones o icial Play S o e. Sin emba go, es a no pe mi e
el acceso a es os me ada os en e siones an e io es. Una opci´
on se ´
ıa ecolec a manual-
men e odos los me ada os desde de la ienda o icial y almacena los a medida que se
1h ps:// -d oid.o g/es/
39
CAP´
ITULO 5. DISE ˜
NO
lanzan nue as e siones. No obs an e, And ozooGP, un p oyec o de la Uni e sidad de
Luxembu go que ecolec a me ada os di ec amen e de Play S o e a a ´
es de los se icios
de Google, ha es ado ecolec ando es a in o maci´
on desde mayo de 2020, po lo que es
m´
as in e esan e u iliza es e p oyec o como uen e de da os pa a nues o eposi o io [31].
5.1.1. Inclusi´
on de F-D oid en App-PIMD
Pa a inclui F-D oid, es necesa io modi ica algunos componen es de so wa e del e-
posi o io. En es e aspec o, se p esen a ´
an ´
unicamen e los diag amas de dise˜
no que han
sido modi icados, haciendo especial hincapi´
e en las zonas que han su ido cambios.
Figu a 5.1: Diag ama de paque es gene al de App-PIMD.
La igu a 5.1 ecue da la es uc u a gene al de paque es del eposi o io pa a si ua cla-
amen e que zonas su en cambios o modi icaciones. A la ho a de a˜
nadi una nue a uen e
de da os, es necesa io inclui un nue o paque e que la ep esen e den o de “ex ac ”, el
paque e que ag upa odos los p ocesos de ex acci´
on de da os. La igu a 5.2 mues a la
nue a clase que se ha de a˜
nadi , co espondien e a una uen e de da os de ipo web. Es a
end ´
a que implemen a las unciones de b´
usqueda y desca ga de una aplicaci´
on dado su
nomb e de paque e.
Pa a es a implemen aci´
on, se hace uso de las APIs que apo a F-D oid2. Pa a la b´
usque-
da, F-D oid apo a una web-api b´
asica que pe mi e ealiza b´
usquedas de ex o en el
eposi o io, incluy´
endose b´
usquedas po nomb e de paque e, a a ´
es de la di ecci´
on:
2h ps:// -d oid.o g/es/docs/All_ou _APIs/
40
5.3. DISE ˜
NO DE LOS DASHBOARDS DE APP-PIMD
5.3. Dise˜
no de los dashboa ds de App-PIMD
5.3.1. Iden i icaci´
on de los hechos y dimensiones
En un p oyec o BI3es esencial iden i ica los hechos y las dimensiones. Los hechos e-
p esen an lo que se desea medi , mien as que las dimensiones de inen c´
omo lo que emos
medi . Pa a iden i ica los hechos y dimensiones hay que ene en cuen a los equisi os
elici ados en la secci´
on 4.3.
Los hechos asociados a una aplicaci´
on iden i icados son:
Nomb e.
Ve si´
on.
Fecha de lanzamien o.
Tama˜
no.
Nomb e del desa ollado .
E-mail del desa ollado .
Di ecci´
on del desa ollado .
P´
agina web del desa ollado .
Pol´
ı ica de p i acidad.
Lis a de pe misos.
Las dimensiones o segmen aciones iden i icadas son:
App. Que se subdi ide en dos dimensiones que o man una je a qu´
ıa: nomb e de
paque e y e si´
on.
Ca ego ´
ıa de la app.
Ve si´
on m´
ınima de SDK eque ido pa a ejecu a la app.
Fecha. Que se subdi ide en d´
ıa, mes y a˜
no, que o man una je a qu´
ıa.
Pa a cumpli con el obje i o de ealiza paneles de mandos lo m´
as ce canos posibles a
iempo eal ( e secci´
on 1.3), se ha decidido simpli ica el modelado de hechos y dimen-
siones adap ´
andonos al modelo de da os que u iliza el eposi o io ( e secci´
on 5.1.2). Po
an o, a con inuaci´
on solo se mos a ´
an las m´
e icas y KPIs4que equie an alg´
un ipo de
c´
alculo, ya que no se encuen en en el modelo de da os del eposi o io di ec amen e.
3BI: Business In elligence
4KPI: Key Pe o mance Indica o
47
CAP´
ITULO 5. DISE ˜
NO
5.3.2. M´
e icas y KPIs ep esen ados
Teniendo en cuen a los hechos y dimensiones encon ados, la abla 5.3 mues a la
de inici´
on de odas las m´
e icas, que no son di ec amen e a ibu os del modelo de da os
( e secci´
on 5.1.2), y se ep esen a ´
an en las dis in as isualizaciones.
Nomb e m´
e ica De inici´
on
Nº de apps almacenadas Rep esen a el n´
ume o o al de me ada os de aplicaciones
almacenados en el eposi o io.
Nº de uen es de da os Rep esen a el n´
ume o o al de uen es de da os de
aplicaciones que u iliza el eposi o io.
Nº de pe misos Rep esen a el n´
ume o o al de pe misos, ya sean o iciales
ocus om, almacenados en el eposi o io.
Nº de g upos Rep esen a el n´
ume o o al de g upos de pe misos o iciales
almacenados en el eposi o io.
Nº de desca gas Rep esen a el n´
ume o o al de desca gas de una app
conc e a en Play S o e.
Nº de alo aciones Rep esen a el n´
ume o o al de alo aciones ecibido po
una app conc e a en Play S o e.
Nº de apps del an´
alisis
Rep esen a el n´
ume o de aplicaciones seleccionadas
seg´
un los il os aplicados, que se u iliza ´
an en las
isualizaciones.
Tabla 5.3: De inici´
on de las m´
e icas ep esen adas.
La abla 5.4 ecoge los KPI asociados a la consecuci´
on del obje i o de minimiza el
impac o de las aplicaciones en la p i acidad de sus usua ios. Es os indicado es pe mi en
e alua y moni o iza de mane a obje i a el ni el de in usi idad de las aplicaciones y la
e ec i idad de las medidas que se implemen en pa a p o ege la p i acidad de los usua ios.
En odos los casos, los KPI se ep esen an median e un alo num´
e ico en e 0 y 10,
donde 10 indica una aplicaci´
on con una in usi idad ele ada en la p i acidad, y 0 una
aplicaci´
on con nula in usi idad en la p i acidad. Es os alo es acili an la compa aci´
on y
el seguimien o del impac o de cada aplicaci´
on en la p i acidad de los usua ios.
Nomb e KPI De inici´
on
M´
e ica RPND oid De inida en base a los g upos de pe misos And oid
que solici a la app pa a su uncionamien o [12].
M´
e ica ToS;DR En base a los ´
e minos de se icio de las apps [32].
M´
e ica TUDel in usi eness En base a cues iona ios ealizados [11].
M´
e ica PTaP p i acy impac En base a los pe misos And oid que solici a
la app [10].
M´
e ica PTaP h ea s by e iew En base a las ese˜
nas de las pe sonas [10].
Tabla 5.4: De inici´
on de los KPI ep esen ados.
48
5.3. DISE ˜
NO DE LOS DASHBOARDS DE APP-PIMD
5.3.3. Dise˜
no de los paneles de mandos
El dise˜
no de los dashboa ds se ha ealizado a base de mockups, que son p o o ipos de
c´
omo se espe a que sean inalmen e cada uno de los paneles de mandos. Es os dise˜
nos se
han desa ollado siguiendo los siguien es p incipios [16]:
Modula idad: Sepa a las isualizaciones de da os en ´
a eas dis in as pa a acili a
al usua io la asociaci´
on en e los da os y g ´
a icos elacionados.
Guia la a enci´
on: Uso de colo es i os y isualizaciones a ac i as pa a guia la
a enci´
on del usua io hacia los elemen os m´
as ele an es del dashboa d.
Facilidad de ap endizaje: Uso de paneles in o ma i os de ayuda que acili en el
ap endizaje del uso del dashboa d a medida que se u iliza.
Pe sonalizable: Pe mi i la pe sonalizaci´
on de los paneles median e il os de in-
o maci´
on, pa a que el usua io pueda ex ae una mayo can idad de in o maci´
on
ele an e.
En o al se han ealizado cinco mockups, uno pa a cada uno de los paneles de mandos
que se han de implemen a en base al an´
alisis de la secci´
on 4.3, y o o pa a un men´
u
p incipal que se i ´
a como ´
unico pun o de en ada a los dis in os paneles.
Figu a 5.7: Mockup del men´
u de los dashboa ds.
En la igu a 5.7 se encuen a el mockup ealizado pa a el men´
u gene al de los dash-
boa ds. Es e panel incluye un ´
ı ulo, es paneles con in o maci´
on gene al sob e el eposi-
o io, y una zona cen al con los bo ones que di igen al es o de paneles de mandos. Se ha
u ilizado pa ´
on “Z” pa a alinea el con enido, y usado la zona cen al del panel pa a los
49
CAP´
ITULO 5. DISE ˜
NO
elemen os m´
as impo an es, los bo ones hacia el es o de paneles. Adem´
as, cada isuali-
zaci´
on de da os y g ´
a ico incluye un bo ´
on de ayuda que p opo ciona in o maci´
on sob e
el con enido y su in e p e aci´
on.
Figu a 5.8: Mockup del dashboa ds de AOSP.
La igu a 5.8 mues a el p o o ipo del panel de mandos dedicado a la in o maci´
on
sob e AOSP. Es e panel pe mi e in e ac ua pa a selecciona los g upos de pe misos An-
d oid que se desean isualiza . En la zona supe io , se mues a el nomb e de los g upos de
pe misos seleccionados. A con inuaci´
on, se p esen an el n´
ume o de g upos de pe misos
seleccionado, el n´
ume o o al de pe misos que engloban, y una abla que de alla los nom-
b es de es os pe misos jun o con la e si´
on de SDK de And oid en la que ue on a˜
nadidos.
Finalmen e, un diag ama de ba as ilus a la dis ibuci´
on del n´
ume o de pe misos a˜
nadi-
dos en cada e si´
on del SDK de And oid. Se decide u iliza un diag ama de ba as en
luga de un his og ama u o a isualizaci´
on dada la na u aleza de n´
ume o en e o de la
e si´
on de SDK And oid.
La igu a 5.9 mues a el mockup del panel de mandos cen ado en la in o maci´
on sob e
apps. Es e panel pe mi e la selecci´
on in e ac i a del nomb e de paque e y la e si´
on de
la aplicaci´
on deseada. Siguiendo el p incipio de modula idad, el panel se di ide en es
secciones ho izon ales: la p ime a p opo ciona in o maci´
on gene al sob e la aplicaci´
on,
la segunda co esponde con in o maci´
on sob e su popula idad y las alo aciones, y la
e ce a o ece in o maci´
on sob e el desa ollado .
En la p ime a secci´
on, se mues a en ex o el nomb e de la app seleccionada, su ca-
ego ´
ıa, echa de publicaci´
on en la ienda o icial, nomb e de paque e, e si´
on, e si´
on
m´
ınima de SDK eque ido pa a su ejecuci´
on y el ama˜
no en MB. El ama˜
no de la aplica-
ci´
on se ep esen a median e la me ´
a o a del sem´
a o o, donde el ex o cambia de colo en
unci´
on del ama˜
no: e de si la aplicaci´
on es poco pesada (menos de 50MB), ama illo si
50
5.3. DISE ˜
NO DE LOS DASHBOARDS DE APP-PIMD
Figu a 5.9: Mockup del dashboa ds de aplicaciones.
es medianamen e pesada (de 50 a 100MB), o ojo si es muy pesada (m´
as de 100MB).
En la segunda secci´
on, se u iliza un eloc´
ıme o pa a mos a la alo aci´
on media de
la aplicaci´
on, siguiendo ambi´
en la me ´
a o a del sem´
a o o: ojo pa a malas alo aciones
(0-2), ama illo pa a alo aciones medias (2-4), y e de pa a buenas alo aciones (4-5).
A con inuaci´
on, se mues a la dis ibuci´
on de alo aciones en un diag ama de ba as,
pe mi iendo iden i ica si la media es a in luenciada po alo es a ´
ıpicos o si exis e bimo-
dalidad, en e o os. Adem´
as, se mues a el n´
ume o ap oximado de desca gas y el n´
ume o
de alo aciones de la aplicaci´
on pa a o ece una isi´
on gene al de su popula idad.
Finalmen e, en la e ce a secci´
on se p opo ciona in o maci´
on sob e el desa ollado de
la aplicaci´
on, incluyendo su nomb e, di ecci´
on de co eo elec ´
onico, di ecci´
on pos al y
p´
agina web.
En la igu a 5.10 se encuen a el p o o ipo del p ime dashboa d dedicado al es udio y
an´
alisis del impac o de las aplicaciones en la p i acidad de los usua ios. El panel o ece
in e ac i idad median e men´
us desplegables que pe mi en selecciona la m´
e ica de p i a-
cidad a u iliza en las isualizaciones, la ca ego ´
ıa de las aplicaciones y la e si´
on m´
ınima
de SDK de And oid eque ida pa a ejecu a las.
Es e panel se di ide en es ´
a eas p incipales, cada una dedicada a un ipo de an´
alisis
espec´
ı ico:
An´
alisis de la P i acidad po Ca ego ´
ıa:
En la p ime a zona del p ime ´
a ea, se mues a la ca ego ´
ıa seleccionada y el n´
ume-
o de aplicaciones que pa icipan en el an´
alisis. Seguidamen e, se encuen an es
ep esen aciones g ´
a icas que ayudan a en ende la in usi idad en la p i acidad de
las aplicaciones de dicha ca ego ´
ıa.
51
CAP´
ITULO 5. DISE ˜
NO
Figu a 5.10: Mockup del dashboa ds de p i acidad gene al.
•G ´
a ico de Veloc´
ıme o: Mues a la pun uaci´
on media ob enida con la m´
e i-
ca de p i acidad seleccionada po las aplicaciones de la ca ego ´
ıa selecciona-
da. Adem´
as, u iliza la me ´
a o a del sem´
a o o pa a indica en una escala del
e de al ojo cu´
an buena es la pun uaci´
on ob enida. Ve de indica una pun-
uaci´
on baja (buena p i acidad), ama illo una pun uaci´
on media, y ojo una
pun uaci´
on al a (mala p i acidad).
•His og ama: Mues a la dis ibuci´
on de las pun uaciones de p i acidad pa a
hace se una idea de la in usi idad gene al de las aplicaciones de la ca ego ´
ıa
seleccionada. De es e modo se e ela si hay un p edominio de aplicaciones
con buenas o malas pun uaciones, y si hay g upos de pun uaciones a ´
ıpicas.
•G ´
a ico de Ba as: Mues a las di e en es alo aciones medias ob enidas con
cada m´
e ica de p i acidad. Pe mi e compa a las dis in as m´
e icas de p i aci-
dad pa a la ca ego ´
ıa seleccionada, ayudando a e alua si los esul ados son de
buena o mala calidad si las m´
e icas son pa ecidas o dis an mucho. De modo
simila al eloc´
ıme o, se ha u ilizado la me ´
a o a del sem´
a o o.
An´
alisis de la P i acidad po Ve si´
on de SDK:
En el segundo ´
a ea se mues a una ´
eplica de la p ime a, pe o aplicada a la e si´
on
m´
ınima de SDK de And oid necesa ia pa a ejecu a la aplicaci´
on. Es o pe mi e
e si las aplicaciones m´
as in usi as se encuen an aglome adas en alguna e si´
on
espec´
ı ica del SDK de And oid.
An´
alisis de la P i acidad - Miscel´
aneos:
Finalmen e, en el e ce ´
a ea se encuen an es isualizaciones con an´
alisis mis-
cel´
aneos sob e la p i acidad.
52
5.3. DISE ˜
NO DE LOS DASHBOARDS DE APP-PIMD
•G ´
a ico de Ba as: Mues a el alo medio de la m´
e ica de p i acidad se-
leccionada po dependencia de las aplicaciones. De es e modo se puede iden-
i ica si la p esencia de alguna dependencia conc e a es un buen indicado
de la in usi idad en la p i acidad de una aplicaci´
on. De modo simila a los
eloc´
ıme os an e io es, se ha u ilizado la me ´
a o a del sem´
a o o.
•G ´
a ico de L´
ıneas: Mues a la endencia del alo medio de la m´
e ica de
p i acidad seleccionada seg´
un el n´
ume o de es ellas ob enidas en la alo a-
ci´
on de una app. Es a isualizaci´
on pe mi e es udia si las aplicaciones mejo
alo adas ienden a se m´
as o menos in usi as en la p i acidad.
•G ´
a ico de Dispe si´
on: Mues a el alo de la m´
e ica ob enido po ama˜
no en
MB de una aplicaci´
on. Pe mi e e si exis e una elaci´
on en e la in usi idad
en la p i acidad y el ama˜
no de una aplicaci´
on.
Figu a 5.11: Mockup del dashboa ds de compa aciones de p i acidad.
En la igu a 5.11 se p esen a el mockup del segundo y ´
ul imo dashboa d dedicado al
es udio y an´
alisis del impac o de las aplicaciones en la p i acidad de los usua ios. El panel
o ece in e ac i idad median e men´
us desplegables que pe mi en selecciona la m´
e ica de
p i acidad a u iliza en el an´
alisis y elegi dos aplicaciones seg´
un su nomb e de paque e y
e si´
on.
El panel de mandos se di ide en dos zonas en pa alelo, una po app seleccionada. Po lo
an o, se especi ica ´
a el dise˜
no de una de es as, ya que el de la o a es id´
en ico. En p ime
luga , se mues a el nomb e de la aplicaci´
on seleccionada, el n´
ume o o al de pe misos
que solici a pa a su uncionamien o y el n´
ume o de pe misos “cus om” que equie e. Los
pe misos “cus om” son aquellos que no se encuen an de inidos po el sis ema And oid,
es deci , son de inidos po aplicaciones de e ce os.
53
CAP´
ITULO 5. DISE ˜
NO
Seguidamen e, haciendo uso de la me ´
a o a del sem´
a o o, se mues a un g ´
a ico de
eloc´
ıme o que pe mi e compa a la pun uaci´
on ob enida con la m´
e ica seleccionada
pa a ambas aplicaciones. Adem´
as, se incluye un g ´
a ico de ba as que mues a el apo e
de cada g upo de pe misos a la m´
e ica. Tambi´
en se p esen a una linea de endencia del
alo de la m´
e ica en unci´
on de la e si´
on de la app, que pe mi e e alua si su desa ollo
a en buen camino o no. Finalmen e, se o ece una abla con suge encias de aplicaciones
de la misma ca ego ´
ıa seleccionada pe o con mejo alo de la m´
e ica de p i acidad, jun o
con un enlace a la pol´
ı ica de p i acidad de la aplicaci´
on seleccionada.
54
Cap´
ı ulo 6
Implemen aci´
on y p uebas
En es e cap´
ı ulo se de allan los aspec os cla e y las modi icaciones ealizadas en la
implemen aci´
on, as´
ı como las nue as lib e ´
ıas empleadas adem´
as de las u ilizadas en el
desa ollo inicial. Pa a una lis a comple a de odos los de alles de la implemen aci´
on y
lib e ´
ıas u ilizadas, se ecomienda e el cap´
ı ulo co espondien e del TFG [1]. Todo el
c´
odigo desa ollado se encuen a en el eposi o io p´
ublico Gi hub: h ps://gi hub.
com/pe es317/app-pimd- m.gi . Su pues a en ma cha se encuen a documen ada en
la gu´
ıa de ins alaci´
on con enida en el ap´
endice A.
6.1. De alles sob e la implemen aci´
on
6.1.1. Con igu aci´
on del p oxy in e so
Como se mencion´
o en la secci´
on 3.1.4 sob e ´
ecnicas de in eg aci´
on, se u iliza un
p oxy in e so pa a el acceso uni o me a la API y los dashboa ds del p oyec o App-PIMD.
T ae ik, el p oxy escogido, iene una con igu aci´
on muy sencilla den o del di ec o io
/e c/ ae ik. Las con igu aciones ealizadas son las siguien es:
ae ik.yml: Es e es el a chi o de con igu aci´
on gene al de T ae ik. En ´
el se especi-
ican los pun os de en ada que que emos ab i , as´
ı como el di ec o io pa a el es o
de a chi os de con igu aci´
on. Se con igu a un ´
unico pun o de en ada en el pue o
9999 y el subdi ec o io con ig/ pa a el es o de con igu aciones ( e igu a 6.1).
Figu a 6.1: Con igu aci´
on en ae ik.yml.
55
CAP´
ITULO 6. IMPLEMENTACI ´
ON Y PRUEBAS
con ig/api.yml: En es e a chi o de con igu aci´
on se especi ica que el p e ijo /api
iden i ica ´
a las en adas a la API y debe ´
an en u a se al se icio local en el pue -
o 8080, la API. Adem´
as, ambi´
en se especi ican los a chi os co espondien es al
ce i icado SSL a u iliza ( e igu a 6.2).
Figu a 6.2: Con igu aci´
on de la en ada a la API.
con ig/g a ana.yml: En es e a chi o se especi ica que bajo el p e ijo /dashboa d se
encuen an los dashboa ds. Po an o, el p oxy debe ´
a en u a es as conexiones al
se icio local en el pue o 3000 que co esponde a G a ana ( e igu a 6.3).
Figu a 6.3: Con igu aci´
on de la en ada a los dashboa ds.
56
6.2. PRUEBAS
Figu a 6.12: P ueba de e o no de lis a de e siones almacenadas de una app.
La igu a 6.13 mues a la p ueba de subida de una aplicaci´
on a a ´
es de la documen-
aci´
on in e ac i a de la API. La aplicaci´
on subida es el conec o de da os de salud de
And oid, que ocupa ap oximadamen e 7,1 MB. La consul a a da ap oximadamen e 10
segundos en esol e se, de los cuales la mayo ´
ıa se gas an en espe a a que se ansmi a
el a chi o de la aplicaci´
on al eposi o io a a ´
es de la ed.
Figu a 6.13: P ueba de subida de una app po a chi o.
63
CAP´
ITULO 6. IMPLEMENTACI ´
ON Y PRUEBAS
En la igu a 6.14 se mues a la desca ga de los me ada os de Teleg am po su nomb e
en luga de po el nomb e de paque e o el hash, como se en´
ıa haciendo has a aho a.
Como se obse a en la igu a, la consul a a da unos 7 segundos en comple a se, ya que
debe ealiza la pe ici´
on al mo o de b´
usqueda de Play S o e a a ´
es de su web-api.
Figu a 6.14: P ueba de desca ga de los me ada os de una app po nomb e.
Finalmen e, la igu a 6.15 mues a la consul a de los me ada os de allados de la aplica-
ci´
on Disco d. Es a consul a a da ap oximadamen e 270 ms en comple a se.
Figu a 6.15: P ueba de desca ga de me ada os de allados de una app.
64
Cap´
ı ulo 7
Conclusiones y l´
ıneas de abajo u u o
En es e cap´
ı ulo se desa ollan las conclusiones del abajo ealizado, e aluando el ni el
de consecuci´
on de los obje i os y los esul ados ob enidos. Finalmen e, se enume an las
posibles l´
ıneas de abajo u u o que su gen a pa i de es e p oyec o.
7.1. Conclusiones
En es e abajo se ha conseguido pone en alo la impo ancia de la me odolog´
ıa Big
Da a al alcanza odos los obje i os plan eados en la secci´
on1.3. G acias la aplicaci´
on
de es a me odolog´
ıa, se han c eado he amien as e ec i as pa a la ex acci´
on de conoci-
mien o, como los cinco paneles de mandos desa ollados, y se ha mejo ado el eposi o io
en ´
e minos de ipos de da os almacenados y olumen de in o maci´
on. Adem´
as, am-
bi´
en se ha pues o en alo el eedback ecibido po odos los usua ios de App-PIMD.
Es a e oalimen aci´
on ha pe mi ido da se icio a nue a uncionalidad, como la b´
usque-
da de aplicaciones po nomb e, que acili a eno memen e la consul a de aplicaciones, y
la capacidad de subi aplicaciones median e a chi o, una ca ac e ´
ıs ica c ucial pa a los
desa ollado es que a´
un no han publicado sus aplicaciones en los p incipales ma ke s.
Pa iendo del es ado inicial del eposi o io mencionado en la secci´
on 1.2.1, se ha con-
seguido apo a a odos los usua ios de App-PIMD y oda la comunidad in es igado a un
eposi o io que aho a cuen a con 4.420 nue as aplicaciones p o enien es de F-D oid y un
o al de 7.012 nue os me ada os sob e alo aciones, dependencias, pol´
ı icas de p i aci-
dad, e c., p o enien es de And ozooGP. Adem´
as, se ha p opo cionado una nue a e si´
on
de la uncionalidad de la API de acceso al eposi o io, bas´
andose en el eedback ecogi-
do po los usua ios del mismo, as´
ı como una he amien a de ex acci´
on de conocimien o
que pe mi e a in es igado es y p o esionales ealiza an´
alisis sob e la p i acidad de las
aplicaciones con los con enidos del eposi o io en nea eal ime.
65
CAP´
ITULO 7. CONCLUSIONES Y L´
INEAS DE TRABAJO FUTURO
No obs an e, pese a las con ibuciones que ealiza es e abajo, ambi´
en p esen a li-
mi aciones. Debido a las es icciones de Play S o e, no es posible accede a odas sus
aplicaciones y me ada os de o ma di ec a, lo que limi a las ex acciones de con enido a
o as uen es de in o maci´
on y di icul a la ob enci´
on de da os. Adem´
as, el uso de ´
ecnicas
de ex acci´
on de in o maci´
on median e sc aping en los ETL obliga a que el eposi o io
sea man enido po una pe sona con expe iencia en es e ipo de ´
ecnicas pa a que siga
uncionando a lo la go del iempo. Finalmen e, las limi aciones en ha dwa e del mismo
lo limi an a ene que almacena solamen e me ada os ex uales sob e las aplicaciones,
debido a que almacena a chi os, iconos u o os ipos de in o maci´
on que pudie an se
de in e ´
es eque i ´
ıa una capacidad de almacenamien o signi ica i amen e mayo que la
ac ual necesa ia pa a maneja las 13.398 aplicaciones almacenadas a d´
ıa de hoy1.
7.2. L´
ıneas de abajo u u o
Es e abajo de in de m´
as e p esen a dis in as l´
ıneas de abajo u u o posibles, p in-
cipalmen e de es ipos dis in os: las de ampliaci´
on de con enido del eposi o io, las de
mejo a en la uncionalidad del eposi o io, y las de mejo a de los paneles de mandos:
Amplia el con enido del eposi o io con nue as uen es y ipos de da os, lo que
pe mi i ´
a ealiza an´
alisis m´
as complejos y a anzados sob e el impac o de las apli-
caciones en la p i acidad de sus usua ios.
Implemen a nue as m´
e icas de p i acidad con oda la in o maci´
on de la que dispo-
ne el eposi o io, que uncionen como buenos indicado es del ni el de in usi idad
en la p i acidad de las aplicaciones.
Mejo a la uncionalidad del eposi o io a medida que se de ec en posibles limi-
aciones o necesidades adicionales, ajus ´
andolo con inuamen e pa a ga an iza su
e iciencia y adap abilidad. Es o incluye la implemen aci´
on de nue as ca ac e ´
ıs i-
cas o la op imizaci´
on de las ya exis en es, con el in de man ene la ele ancia del
eposi o io y asegu a que siga cumpliendo con las expec a i as de los usua ios e
in es igado es.
Mejo a la man enibilidad del eposi o io po medio de au oma izaciones o con
he amien as que simpli iquen su ges i´
on.
Amplia y/o mejo a las isualizaciones g ´
a icas de los paneles de mandos pa a
acili a los an´
alisis m´
as in ui i os y accesibles. Es o pod ´
ıa inclui la inco po aci´
on
de nue as isualizaciones, el e inamien o de las g ´
a icas exis en es, y la mejo a de
la in e ac i idad de los paneles.
1ma es, 20 de agos o de 2024
66
Bibliog a ´
ıa
[1] A. P´
e ez-Fuen e, ((Da a Wa ehouse pa a el es udio de la p i acidad de aplicaciones
m´
o iles,)) T abajo Fin de G ado, Uni e sidad de Valladolid, 2023.
[2] Albe o SD. ((¿Es ´
as enganchado a la ecnolog´
ıa? El 70% de los espa˜
noles admi e
es a lo.)) (2023), di ecci´
on: h ps://www.kaspe sky.es/blog/in luencia-
ecnologia-spain/28625/. (´
ul imo acceso: 26/06/2024).
[3] J. Gamba, M. Rashed, A. Razaghpanah, J. Tapiado y N. V. Rod iguez, NOTA
T´
ECNICA A ance del es udio de IMDEA NETWORKS y UC3M:“An´
alisis del So -
wa e P e-ins alado en Disposi i os And oid y sus Riesgos pa a la P i acidad de
los Usua ios”, 2019.
[4] M. Rami ez. ((Tu m´
o il Samsung iene odas es as apps p eins aladas que puedes
bo a desde ya.)) (2023), di ecci´
on: h ps://www.elespanol.com/eland oidelib e/
no icias-y-no edades/20230214/samsung-mo il- odas-apps-p eins aladas-
puedes-bo a -desde-ya/741426139_0.h ml. (´
ul imo acceso: 26/06/2024).
[5] Rina, ((A Compa a i e Analysis o mobile Ope a ing Sys ems,)) di ecci´
on: h ps:
//www.ijcseonline.o g/pub_pape /11-IJCSE-05378.pd .
[6] Espa˜
na. ((Ley O g´
anica 3/2018, de 5 de diciemb e, de P o ecci´
on de Da os Pe -
sonales y ga an ´
ıa de los de echos digi ales.)) (2018), di ecci´
on: h ps://www.
boe.es/busca /pd /2018/BOE-A-2018-16673-consolidado.pd . (´
ul imo
acceso: 16/05/2023).
[7] Q. Ses´
e. ((La cadena de gimnasios Syne gym su e una il aci´
on de los da os pe -
sonales de sus usua ios.)) (2024), di ecci´
on: h ps://www.elmundo.es/espana/
2024/05/10/663e335ae9c 4a340a8b45a1.h ml. (´
ul imo acceso: 16/05/2023).
[8] M. Ga c´
ıa. ((El obo de da os de Banco San ande a ec a, sob e odo, a los aba-
jado es.)) (2024), di ecci´
on: h ps://www.elindependien e.com/economia/
2024/05/15/ obo-da os-banco-san ande -a ec a- abajado es/. (´
ul i-
mo acceso: 16/05/2023).
67
BIBLIOGRAF´
IA
[9] H. Jin, M. Liu, K. Dodhia e al., ((Why A e They Collec ing My Da a?: In e ing he
Pu poses o Ne wo k T a ic in Mobile Apps,)) P oc. ACM In e ac . Mob. Wea able
Ubiqui ous Technol., ol. 2, n.o4, 173:1-173:27, 2018. DOI:10.1145/3287051.
di ecci´
on: h ps://doi.o g/10.1145/3287051.
[10] M. Ha amian, N. Momen, L. F i sch y K. Rannenbe g, ((A Mul ila e al P i acy
Impac Analysis Me hod o And oid Apps,)) en P i acy Technologies and Policy,
M. Naldi, G. F. I aliano, K. Rannenbe g, M. Medina y A. Bou ka, eds., Cham:
Sp inge In e na ional Publishing, 2019, p´
ags. 87-106, ISBN: 978-3-030-21752-5.
[11] S. Ba h, M. de Jong, M. Junge , P. H. Ha el y J. C. Roppel , ((Pu ing he p i-
acy pa adox o he es : Online p i acy and secu i y beha io s among use s wi h
echnical knowledge, p i acy awa eness, and inancial esou ces,)) Telema ics In-
o ma ics, ol. 41, p´
ags. 55-69, 2019.
[12] A. Apa icio, M. Ma ´
ınez Gonz´
alez y V. Ca de˜
noso, ((M´
e ica basada en g upos
de pe misos pa a en ende el impac o de las aplicaciones And oid sob e la p i aci-
dad,)) en 2022 17 h Ibe ian Con e ence on In o ma ion Sys ems and Technologies
(CISTI), 2022, p´
ags. 1-5. DOI:10.23919/CISTI54924.2022.9820147.
[13] J. C espo Gue e o, ((APKFalcon: Se icio de usua ios pa a la e aluaci´
on y com-
p ensi´
on del impac o sob e la p i acidad de aplicaciones m´
o iles,)) Uni e sidad de
Valladolid, 2023.
[14] G. Mancuzo. ((Qu´
e es el modelo inc emen al.)) (2021), di ecci´
on: h ps://blog.
compa aso wa e.com/que-es-el-modelo-inc emen al/. (´
ul imo acceso:
01/07/2024).
[15] And oid De elope s. ((Desc ipci´
on gene al del mani ies o de la app.)) (2024), di-
ecci´
on: h ps : / / de elope . and oid . com / guide / opics / mani es /
mani es -in o?hl=es-419. (´
ul imo acceso: 02/07/2024).
[16] S. Few, In o ma ion Dashboa d Design: Displaying Da a o A -a-glance Moni o-
ing. Analy ics P ess, 2013, ISBN: 9781938377006. di ecci´
on: h ps://books.
google.es/books?id=7k0EnAEACAAJ.
[17] Espa˜
na, Real Dec e o Legisla i o 1/1996, de 12 de ab il, po el que se ap ueba
el ex o e undido de la Ley de P opiedad In elec ual, egula izando, acla ando y
a monizando las disposiciones legales igen es sob e la ma e ia, Bole ´
ın O icial
del Es ado, n´
um. 97, 1996.
[18] W. Weichen, G. Jing y C. Rui, ((Su ey o Big Da a S o age Technology,)) In e ne
o Things and Cloud Compu ing, ol. 4, n.o3, p´
ags. 28-33, 2016. DOI:10.11648/
j.io cc.20160403.13. di ecci´
on: h ps://doi.o g/10.11648/j.io cc.
20160403.13.
68
BIBLIOGRAF´
IA
[19] A. Siddiqa, A. Ka im y A. Gani, ((Big Da a S o age Technologies: A Su ey,))
F on ie s in In o ma ion Technology & Elec onic Enginee ing, ol. 18, n.o10,
p´
ags. 1040-1070, 2017. DOI:10.1631/FITEE.1500441. di ecci´
on: h ps://
doi.o g/10.1631/FITEE.1500441.
[20] And oid De elope s. ((Pe mission ag.)) (2022), di ecci´
on: h ps://de elope .
and oid.com/guide/ opics/mani es /pe mission-elemen . (´
ul imo acce-
so: 20/07/2024).
[21] And oid De elope s. ((Pe mission-g oup ag.)) (2023), di ecci´
on: h ps://de elope .
and oid.com/guide/ opics/mani es /pe mission-g oup-elemen . (´
ul i-
mo acceso: 20/07/2024).
[22] R. Kimball y J. Case a, The Da a Wa ehouse ETL Toolki : P ac ical Techniques o
Ex ac ing, Cleaning, Con o ming, and Deli e ing Da a. Indianapolis, IN: Wiley,
2004.
[23] R. Fielding, e al., Hype ex T ans e P o ocol – HTTP/1.1, RFC 2616, In e ne
Enginee ing Task Fo ce, 1999. di ecci´
on: h ps:// ools.ie .o g/h ml/
c2616.
[24] R. Fielding, e al., Hype ex T ans e P o ocol (HTTP/1.1): Message Syn ax and
Rou ing, RFC 7230, In e ne Enginee ing Task Fo ce, 2014. di ecci´
on: h ps :
// ools.ie .o g/h ml/ c7230.
[25] R. Fielding, e al., Hype ex T ans e P o ocol (HTTP/1.1): Seman ics and Con-
en , RFC 7231, In e ne Enginee ing Task Fo ce, 2014. di ecci´
on: h ps : / /
ools.ie .o g/h ml/ c7231.
[26] T. Die ks, E. Resco la, The T anspo Laye Secu i y (TLS) P o ocol Ve sion 1.2,
RFC 5246, In e ne Enginee ing Task Fo ce, 2008. di ecci´
on: h ps:// ools.
ie .o g/h ml/ c5246.
[27] DesignPa e nsPHP. ((Pa ´
on Da a Mappe .)) (2024), di ecci´
on: h ps://designpa e nsphp.
ead hedocs.io/es/la es /S uc u al/Da aMappe /README.h ml. (´
ul i-
mo acceso: 21/07/2024).
[28] S. Lopez. ((Dashboa ds. ¿C´
omo dise˜
na dashboa ds ´
op imos?)) (2020), di ecci´
on:
h ps://www.hibe us.com/c ecemos-con igo/como-disena -dashboa ds/.
[29] O. I. (OAI). ((OpenAPI.)) (2022), di ecci´
on: h ps : / / www . openapis . o g/.
(´
ul imo acceso: 21/07/2024).
[30] Cloud la e. ((¿Qu´
e es un p oxy in e so? — Se ido es p oxy explicados .)) (2024),
di ecci´
on: h ps://www.cloud la e.com/es-es/lea ning/cdn/glossa y/
e e se-p oxy/. (´
ul imo acceso: 21/07/2024).
69
BIBLIOGRAF´
IA
[31] M. Alecci, P. J. Ruiz Jim´
enez, K. Allix, T. F. Bissyand´
e y J. Klein, ((And oZoo: A
Re ospec i e wi h a Glimpse in o he Fu u e,)) en 2024 IEEE/ACM 21s In e na-
ional Con e ence on Mining So wa e Reposi o ies (MSR), 2024, p´
ags. 389-393.
[32] H. Roy. ((Te ms o Se ice Didn’ Read.)) (2012), di ecci´
on: h ps:// osd .
o g/. (´
ul imo acceso: 21/08/2024).
[33] J. Pomey ol. ((Gu´
ıa de ins alaci´
on de Ubun u 20.04 LTS.)) (2020), di ecci´
on: h ps:
//www.muylinux.com/2020/05/21/guia-ins alacion-ubun u-20-04-
l s/. (´
ul imo acceso: 28/06/2024).
[34] K. Allix, T. F. Bissyand´
e, J. Klein e Y. Le T aon, ((And oZoo: Collec ing Millions
o And oid Apps o he Resea ch Communi y,)) en P oceedings o he 13 h In e -
na ional Con e ence on Mining So wa e Reposi o ies,´
ep. MSR ’16, Aus in, Texas:
ACM, 2016, p´
ags. 468-471, ISBN: 978-1-4503-4186-8. DOI:10.1145/2901739.
2903508. di ecci´
on: h p://doi.acm.o g/10.1145/2901739.2903508.
70
Ap´
endice A
Gu´
ıa de ins alaci´
on de App-PIMD
En es e ap´
endice se edac a una gu´
ıa de ins alaci´
on de odos los componen es del e-
posi o io App-PIMD as´
ı como su pues a en ma cha. Po mo i os de segu idad, las con-
ase˜
nas u ilizadas se encuen an censu adas con la palab a “passwo d” en las igu as y/o
c´
odigos que se mues en.
Como p econdici´
on al p oceso de ins alaci´
on del eposi o io, se ha de ene un sis ema
Linux ins alado y en uncionamien o. En el caso conc e o de es a ins alaci´
on, se u iliza un
sis ema Linux (Ubun u 24.04 LTS) ya que iene sopo e de ac ualizaciones de segu idad y
man enimien o has a Junio de 2029. El sis ema se ejecu a sob e una m´
aquina i ual con
4 n´
ucleos de CPU, 4 GB de memo ia RAM y 25 GB de disco du o de almacenamien o.
Exis en m´
ul iples gu´
ıas de ins alaci´
on de es e sis ema ope a i o [33].
A.1. Desca ga del c´
odigo uen e de App-PIMD
En p ime luga , es necesa io ene ins alado el sis ema de con ol de e siones Gi en
nues o sis ema. Pa a ello, en el caso de los sis emas Linux basados en Ubun u, bas a con
ejecu a en una e minal la siguien e l´
ınea de c´
odigo:
sudo ap ins all gi
Una ez enemos Gi en nues o sis ema, nos di igimos con el comando cd has a el
di ec o io en que que emos ins ala el eposi o io. Una ez en el, ejecu amos el comando:
> gi clone h ps://gi hub.com/pe es317/app-pimd- m.gi
Es e comando desca ga a odo el c´
odigo necesa io pa a la ins alaci´
on de App-PIMD.
Po ´
ul imo, una ez desca gado el c´
odigo, nos mo emos al di ec o io del p oyec o desde
donde se pa i ´
a pa a la ins alaci´
on y con igu aci´
on del es o de componen es.
> cd ./app_wa ehouse/
71
AP ´
ENDICE A. GU´
IA DE INSTALACI ´
ON DE APP-PIMD
A.2. Ins alaci´
on y con igu aci´
on de MySQL
Pa a ins ala el sis ema ges o de bases de da os MySQL, en el caso de los sis emas
Linux basados en Ubun u, ejecu amos la siguien e l´
ınea de c´
odigo:
> sudo ap ins all mysql-se e
Una ez ins alado el sis ema ges o de bases de da os, pasamos a con igu a lo siguiendo
los siguien es pasos:
1. Modi icamos “passwo d” en el a chi o de con igu aci´
on u ils/mysql-con ig.sql po
una con ase˜
na segu a que u iliza ´
a la API pa a accede a su base de da os en
MySQL.
Es muy ecomendable es ablece con ase˜
nas di e en es pa a el usua io de acceso
al eposi o io de da os (load) y el de acceso a la base de da os de c edenciales
(c eden ials). De es e modo, en caso de il aci´
on de una de ellas, el acceso a la o a
base de da os queda p o egido.
2. En amos en MySQL con el usua io adminis ado con el comando:
> sudo mysql
Y modi icamos la con ase˜
na de acceso oo del MySQL:
mysql> ALTER USER ’ oo ’@’localhos ’ IDENTIFIED WITH
mysql_na i e_passwo d BY ’passwo d’;
mysql> EXIT
3. Una ez con igu ado el usua io adminis ado de la base de da os, en amos y eje-
cu amos el a chi o de c eaci´
on de los usua ios que usa ´
a la API pa a accede a la
base de da os con el siguien e comando:
> mysql -u oo -p
mysql> sou ce u ils/mysql-con ig.sql
4. Po ´
ul imo, ejecu amos los sc ip s de c eaci´
on de las ablas y en adas del ´
ul imo
es ado gua dado del eposi o io:
> mysql -u oo -p app_wa ehouse < u ils/wa ehouse-backup.sql
> mysql -u oo -p app_wa ehouse_c eden ials <
u ils/wa ehouse_c eden ials-backup.sql
72
INDEX
1. V2 3
1.1 GET / 2/ge /app/ e sions 3
1.2 POST / 2/pos /app/ ile 4
1.3 GET / 2/ge /app/name 5
1.4 GET / 2/ge /app/de ail/hash 10
2 o 16
79
API
1. V2
Funcionalidad disponible en API 2.
1.1 GET / 2/ge /app/ e sions
Ob ene odas las e siones almacenadas de una app.
Desca ga los pa es (hash, e sion) almacenados pa a la app solici ada (ej. ne .uni e sia.u a).
PATH PARAMS
NAME TYPE REQUIRED EXAMPLE DESCRIPTION
package s ing + nomb e de paque e de
la app a desca ga
RESPONSES
STATUS CODE - 200: Pa es (hash, e sion) almacenados pa a la app solici ada.
RESPONSE MODEL - applica ion/json
{
app_lis [
{
app_hash s ing equi ed
e sion_name s ing equi ed
}
]
}
EXAMPLE
{
"app_lis ": [
{
"app_hash": "s ing",
" e sion_name": "s ing"
}
]
}
STATUS CODE - 404: La app solici ada no se encuen a almacenada.
RESPONSE MODEL - applica ion/json
{
de ail s ing equi ed
}
EXAMPLE
{
3 o 16
AP ´
ENDICE B. DOCUMENTACI ´
ON APP-PIMD API V2
80
"de ail": "s ing"
}
STATUS CODE - 422: E o de alidación.
RESPONSE MODEL - applica ion/json
{
de ail [
{
loc [
ANY OF
OPTION 1
s ing
OPTION 2
in ege
]
msg s ing equi ed
ype s ing equi ed
}
]
}
EXAMPLE
{
"de ail": [
{
"loc": [
"s ing"
],
"msg": "s ing",
" ype": "s ing"
}
]
}
1.2 POST / 2/pos /app/ ile
Subi una app al eposi o io po a chi o.
Pe mi e ca ga una app subiendo su a chi o apk.
REQUEST
REQUEST BODY - mul ipa / o m-da a
{
ile s ing equi ed
}
EXAMPLE
{
" ile": "s ing"
}
RESPONSES
4 o 16
81
STATUS CODE - 200: Es ado de la pe ición (busy, eques ed)
RESPONSE MODEL - applica ion/json
{
de ail s ing equi ed
}
EXAMPLE
{
"de ail": "s ing"
}
STATUS CODE - 400: El a chi o subido no es álido.
RESPONSE MODEL - applica ion/json
{
de ail s ing equi ed
}
EXAMPLE
{
"de ail": "s ing"
}
STATUS CODE - 422: E o de alidación.
RESPONSE MODEL - applica ion/json
{
de ail [
{
loc [
ANY OF
OPTION 1
s ing
OPTION 2
in ege
]
msg s ing equi ed
ype s ing equi ed
}
]
}
EXAMPLE
{
"de ail": [
{
"loc": [
"s ing"
],
"msg": "s ing",
" ype": "s ing"
}
]
}
1.3 GET / 2/ge /app/name
5 o 16
AP ´
ENDICE B. DOCUMENTACI ´
ON APP-PIMD API V2
82
Desca ga los me ada os de una app po su nomb e.
Pe mi e desca ga los me ada os de una app po su nomb e en Play S o e (ej. Wha sapp o
Teleg am Messenge ).
PATH PARAMS
NAME TYPE REQUIRED EXAMPLE DESCRIPTION
name s ing + Nomb e de la app a
desca ga .
RESPONSES
STATUS CODE - 200: Me ada os de la app.
RESPONSE MODEL - applica ion/json
{
App {
hash s ing equi ed
package s ing equi ed
e sion_code in ege equi ed
e sion_name s ing equi ed
min_sdk_ e sion in ege
a ge _sdk_ e sion in ege
max_sdk_ e sion in ege
ca ego y s ing
uses_pe mission_lis [
{
Pe mission {
name s ing equi ed
p o ec ion_le el s ing
decla ed_g oup_lis [
{
Pe missionG oup {
name s ing equi ed
}
}
]
ank_lis [
{
Rank {
alue numbe equi ed
ank_name s ing equi ed
pe mission_name s ing equi ed
}
}
]
}
}
]
de ines_pe mission_lis [
{
Pe mission {
name s ing equi ed
p o ec ion_le el s ing
decla ed_g oup_lis [
{
Pe missionG oup {
equi ed
6 o 16
83
name s ing
}
}
]
ank_lis [
{
Rank {
alue numbe equi ed
ank_name s ing equi ed
pe mission_name s ing equi ed
}
}
]
}
}
]
de ines_g oup_lis [
{
Pe missionG oup {
name s ing equi ed
}
}
]
ex ac ion_me ada a_lis [
{
Ex ac ionMe ada a {
sou ce s ing equi ed
me hod s ing equi ed
imes amp s ing equi ed
}
}
]
sco e_lis [
{
Sco e {
alue numbe
ank_name s ing equi ed
app_hash s ing equi ed
}
}
]
}
}
EXAMPLE
{
"App": {
"hash": "s ing",
"package": "s ing",
" e sion_code": 0,
" e sion_name": "s ing",
"min_sdk_ e sion": 0,
" a ge _sdk_ e sion": 0,
"max_sdk_ e sion": 0,
"ca ego y": "s ing",
"uses_pe mission_lis ": [
{
"Pe mission": {
"name": "s ing",
"p o ec ion_le el": "s ing",
7 o 16
AP ´
ENDICE B. DOCUMENTACI ´
ON APP-PIMD API V2
84
"decla ed_g oup_lis ": [
{
"Pe missionG oup": {
"name": "s ing"
}
}
],
" ank_lis ": [
{
"Rank": {
" alue": 0,
" ank_name": "s ing",
"pe mission_name": "s ing"
}
}
]
}
}
],
"de ines_pe mission_lis ": [
{
"Pe mission": {
"name": "s ing",
"p o ec ion_le el": "s ing",
"decla ed_g oup_lis ": [
{
"Pe missionG oup": {
"name": "s ing"
}
}
],
" ank_lis ": [
{
"Rank": {
" alue": 0,
" ank_name": "s ing",
"pe mission_name": "s ing"
}
}
]
}
}
],
"de ines_g oup_lis ": [
{
"Pe missionG oup": {
"name": "s ing"
}
}
],
"ex ac ion_me ada a_lis ": [
{
"Ex ac ionMe ada a": {
8 o 16
85
"sou ce": "s ing",
"me hod": "s ing",
" imes amp": "s ing"
}
}
],
"sco e_lis ": [
{
"Sco e": {
" alue": 0,
" ank_name": "s ing",
"app_hash": "s ing"
}
}
]
}
}
STATUS CODE - 404: La app solici ada no se encuen a almacenada.
RESPONSE MODEL - applica ion/json
{
de ail s ing equi ed
}
EXAMPLE
{
"de ail": "s ing"
}
STATUS CODE - 422: E o de alidación.
RESPONSE MODEL - applica ion/json
{
de ail [
{
loc [
ANY OF
OPTION 1
s ing
OPTION 2
in ege
]
msg s ing equi ed
ype s ing equi ed
}
]
}
EXAMPLE
{
"de ail": [
{
"loc": [
"s ing"
],
"msg": "s ing",
9 o 16
AP ´
ENDICE B. DOCUMENTACI ´
ON APP-PIMD API V2
86
" ype": "s ing"
}
]
}
1.4 GET / 2/ge /app/de ail/hash
Desca ga los me ada os de allados de una app po su hash.
Pe mi e desca ga los me ada os de allados de una app po su hash. (ej.
00006852e356353884 5a4ab213 3739240bb0a526162265 923e2477e2907 d).
PATH PARAMS
NAME TYPE REQUIRED EXAMPLE DESCRIPTION
hash s ing + Hash de la app a
desca ga .
RESPONSES
STATUS CODE - 200: Me ada os de allados de la app.
RESPONSE MODEL - applica ion/json
{
AppDe ail {
hash s ing equi ed
package s ing equi ed
e sion_code in ege equi ed
e sion_name s ing equi ed
min_sdk_ e sion in ege
a ge _sdk_ e sion in ege
max_sdk_ e sion in ege
ca ego y s ing
uses_pe mission_lis [
{
Pe mission {
name s ing equi ed
p o ec ion_le el s ing
decla ed_g oup_lis [
{
Pe missionG oup {
name s ing equi ed
}
}
]
ank_lis [
{
Rank {
alue numbe equi ed
ank_name s ing equi ed
pe mission_name s ing equi ed
}
}
]
}
}
10 o 16
87
]
de ines_pe mission_lis [
{
Pe mission {
name s ing equi ed
p o ec ion_le el s ing
decla ed_g oup_lis [
{
Pe missionG oup {
name s ing equi ed
}
}
]
ank_lis [
{
Rank {
alue numbe equi ed
ank_name s ing equi ed
pe mission_name s ing equi ed
}
}
]
}
}
]
de ines_g oup_lis [
{
Pe missionG oup {
name s ing equi ed
}
}
]
ex ac ion_me ada a_lis [
{
Ex ac ionMe ada a {
sou ce s ing equi ed
me hod s ing equi ed
imes amp s ing equi ed
}
}
]
sco e_lis [
{
Sco e {
alue numbe
ank_name s ing equi ed
app_hash s ing equi ed
}
}
]
az_me ada a_lis [
{
AzMe ada a {
app_hash s ing equi ed
az_me ada a_da e s ing equi ed
a ings_coun in ege
s a _ a ing numbe
commen _coun in ege
one_s a _ a ings in ege
wo_s a _ a ings in ege
h ee_s a _ a ings in ege
ou _s a _ a ings in ege
i e_s a _ a ings in ege
upload_da e s ing
11 o 16
AP ´
ENDICE B. DOCUMENTACI ´
ON APP-PIMD API V2
88