scieee Open visual document viewer

Mejorando App-PIMD, un repositorio para el estudio de la privacidad de aplicaciones móviles

Pérez de la Fuente, Alejandro

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