scieee Open visual document viewer

Web orientada a dispositivos móviles que comunican con otro sistema a través de Web Services

García Martín, Ismael

Abstract

El proyecto consiste en establecer la comunicación entre dos portales web a través de servicios web Restful implementados en PHP. Ambos portales están relacionados con el mundo del cine. El segundo de estos es, a grandes rasgos, una interfaz simplificada del anterior. El primer portal web está construido sobre Drupal 7, en este instalamos una serie de módulos que nos permiten gestionar el contenido que se quiere mostrar a los usuarios. Un usuario que no se identifica podrá navegar por todas las páginas del portal, identificarse y registrarse. Los privilegios que se le conceden a un usuario cuando se identifica son los de participar en el sistema de votación de las películas e interactuar con otros usuarios identificados a través de un sistema de comentarios. El usuario administrador, además, puede gestionar el contenido y a los usuarios identificados. El segundo portal está orientado al disfrute de la página a través de dispositivos móviles. Un usuario que no se ha identificado puede navegar por todas las áreas de éste del mismo modo que un usuario identificado. En este portal, a diferencia del anterior, no es posible registrarse para este tipo de actores. La diferencia entre el usuario no identificado y el identificado, en este caso, es que este último al visualizar el catálogo observará un descuento sobre cada película. Los servicios web, a través de peticiones GET y POST, proporcionarán a los usuarios una rica experiencia de navegación. Gracias a estos, en el segundo portal, podrán identificarse, obtener el catálogo de películas (además de ordenarlo y establecer filtros de búsqueda por género), y visualizar la ficha de las películas y directores. Todo esto sin necesidad de crear otra base de datos, tan solo intercambiando datos con el servidor.

Full text

1 MEMORIA DEL TRABAJO DE FIN DE GRADO Web o ien ada a disposi i os mó iles que comunica con o o sis ema a a és de web se ices. Au o : Ismael Ga cía Ma ín Tu o : Ab aham Rod íguez Rod íguez Depa amen o de In o má ica de Sis emas Las Palmas de G an Cana ia, No iemb e 2013 2 ÍNDICE DE CONTENIDOS 1. In oducción. ………………………………………………………………………………… 5 1.1. P esen ación y desc ipción gene al del abajo. .….……………………………………………… 5 1.2. Obje i os p incipales. …………………………………………………………………………………………. 5 1.3. Plan eamien o del p oblema. ……………………………………………………………………………… 6 1.4. Es uc u a del documen o. ………………………………………………………………………………….. 6 2. Compe encias. ………………………………………………………………………………. 8 3. No ma i a y legislación. ……………………………………………………………… 10 3.1. No ma i a y egulación de la in o má ica en el ámbi o in e nacional. ……………… 10 3.2. No ma i a y egulación de la in o má ica en el ámbi o eu opeo. ……………………… 15 3.3. No ma i a y egulación de la in o má ica en el ámbi o nacional. ……………………… 16 3.4. No ma i a elacionada con es e abajo de in de g ado …………………………………… 19 4. Plan de abajo …………………………………………………………………………….. 29 4.1. Ta eas. ……………………………………………………………………………………………………………….. 29 4.2. Plani icación empo al. ………………………………………………………………………………………. 30 5. Análisis. ……………………………………………………………………………………..… 31 5.1. In oducción. ………………………………………………………………………………………………….….. 31 5.2. Diag amas de casos de uso. ……………………………………………………………………………….. 31 5.2.1. Ac o es y p i ilegios. ……………………………………………………………………………….. 31 5.2.2. Casos de uso del usua io no iden i icado. ………………………………………………… 32 5.2.3. Casos de uso del usua io iden i icado. …………………………………………….……….. 33 3 5.2.4. Casos de uso del adminis ado . …………………………….………………………………… 34 5.3. En idades. ……………………………………………………………………….…………………………………. 36 6. Diseño. …………………………………………………………………………………………. 37 6.1. In oducción. ……………………………………………………………………………………………………… 37 6.2. Capa de p esen ación. ……………………………………………………………………………………….. 37 6.3. Capa de negocio o lógica de la aplicación. ………………………………………………………… ..45 6.4. Capa de da os. ……………………………………………………………………………………………………. 46 7. Implemen ación. ………………………………………………………………………….. 47 7.1. In oducción. ……………………………………………………………………………………………………… 47 7.2. Sis ema DRUPAL. ……………………………………………………………………………………………….. 47 7.2.1. ¿Qué es D upal? ………………………………………………………………………………………. 47 7.2.2. Módulos u ilizados. …………………………………………………………………………………. 48 7.2.3. Theme. ……………………………………………………………………………………………………. 50 7.2.4. Implemen ación del po al D upal. ………………………………………………………….. 50 7.3. Web Se ices. …………………………………………………………………………………………………….. 51 7.3.1. ¿Qué son los web se ices? ……………………………………………………………………… 51 7.3.2. ¿SOAP o REST? …………………………………………………………………………………………. 52 7.3.3. REST en es e abajo. ……………………………………………………………………………….. 53 7.4. Po al mó il. ………………………………………………………………………………………………………. 55 7.4.1. In oducción. …………………………………………………………………………………………… 55 7.4.2. Ace ca de jQue y Mobile. ………………………………………………………………………… 55 7.4.3. Fiche os de implemen ación. …………………………………………………………………… 55 7.4.4. Aspec os so wa e más des acados. ………………………………………………………… 57 4 8. P uebas. ……………………………………………………………………………………… 59 8.1. Validación de na egado es web. ……………………………………………………………………….. 59 8.2. Validación de la segu idad en el acceso a la zona de adminis ación. …………………. 65 8.3. Validación de enlaces o os. ………………………………………………………………………………. 66 9. Conclusión. …………………………………………………………………………………… 67 9.1. Conclusión del abajo ealizado. ……………………………………………………………………….. 67 9.2. Líneas u u as. ……………………………………………………………………………………………………. 67 10. Manual de usua io y so wa e. …………………………………………………… 69 11. Re e encias. ………………………………………………………………………………… 77 5 1. INTRODUCCIÓN 1.1 P esen ación y desc ipción gene al del abajo. Es e documen o desc ibe el abajo ealizado en el p oyec o de in de g ado de ingenie ía in o má ica en la mención de ecnologías de la in o mación. Con el auge de las aplicaciones pa a disposi i os mó iles, que nos pe mi en accede a la in o mación que deseamos en cualquie momen o y desde cualquie si io, apa ecen dos al e na i as a la ho a de lle a a cabo su desa ollo. La p ime a p opone que el p opio po al enga una e sión mó il. Po o o lado, la segunda a a de que se desa olle como una aplicación independien e, lo cual acili a el consumo de la in o mación del po al ue a de línea (sin necesidad de una conexión pe manen e a in e ne ). En es e con ex o, el p oyec o consis e en plan ea la a qui ec u a del sis ema pa a la elabo ación de una aplicación independien e y, así, diseña e implemen a un p o o ipo de po al web o ien ado a disposi i os mó iles que median e el uso de se icios REST ul ob enga y en íe los da os necesa ios a un sis ema na i o cons uido sob e el amewo k D upal. Es e plan eamien o acili a ía la pos e io ans o mación del po al web en aplicaciones na i as de pla a o mas mó iles. El dominio sob e el que se abaja á es el de un po al dedicado al cine de au o y a los aman es de es e géne o. Pa a el desa ollo ealicé di e sas euniones de kick o con el u o cómo si ue a un clien e. Es as euniones me si ie on pa a desa olla p ime amen e la a qui ec u a y a pos e io i el diseño de la web mó il. Una ez ealizadas las euniones y de inida la si uación, dis ibuí el abajo en 4 pa es: análisis, diseño, implemen ación y p uebas. 1.2 Obje i os p incipales. Conociendo nues o obje i o de consumi in o mación de un po al D upal en disposi i os mó iles, modula emos nues o abajo en las siguien es sub a eas: 1. Diseña la a qui ec u a del sis ema que pe mi a consumi , po pa e del usua io, la in o mación con enida en la página. 2. La implemen ación de un po al web uncional, sob e la emá ica an e io men e desc i a, que se á desa ollado con la pla a o ma D upal 7. 6 a. Las ope aciones básicas que pe mi i á es e po al incluyen la de c ea con enidos y usua ios, ges ión de usua ios con p i ilegios, y algunas páginas de ejemplo. b. Es a pa e incluye la ins alación y con igu ación de los módulos necesa ios pa a su uncionamien o, incluyendo Views, Se ices, Se ice Views, De el, En i y Re e ence, Vo ing API, Lib a ies, Panels y CTools en e o os. 3. T abaja e implemen a pe iciones con un se icio web Res ul sob e PHP que a ape y de uel a los da os del sis ema D upal que que amos y los mues e en el disposi i o mó il. 4. Elabo a la a qui ec u a y el diseño del po al web o ien ado a mó il que se á una in e az educida de la na i a, incluyendo la implemen ación de algunas páginas dinámicas. El p o o ipo ambién debe á inclui la alidación de usua ios y el acceso a in o mación es ingida. 5. Comunica ambos po ales pa a que el usua io, g acias al se icio web REST pueda na ega po el po al mó il, que ob iene y en ía da os al sis ema na i o, como si se a ase de un sis ema web independien e. 1.3 Plan eamien o del p oblema. El p oblema que se nos ha plan eado es la cons ucción de un po al D upal, un po al mó il y un se icio web REST. La uncionalidad, a g andes asgos, debe ía se : - Mos a un ca álogo de películas con opciones de o denación y de il ado en D upal que se ca gue dinámicamen e en el sis ema mó il. - Pe mi i a los usua ios egis a se ( egis o solo desde D upal), iden i ica se y ealiza consul as sob e las películas o e adas y los di ec o es de las mismas. - Da al usua io iden i icado p i ilegios sob e el usua io no iden i icado. - Pe mi i al adminis ado ges iona el con enido del po al (solo D upal). 1.4 Es uc u a del documen o. 7 Es e documen o se di ide en nue e capí ulos en los que se explica, de alladamen e, cómo se han desa ollado y qué ecu sos se han u ilizado pa a la co ec a ealización de cada una de las e apas de es e abajo de in de g ado. Compe encias: se p esen an las compe encias que se deben cumpli con la elabo ación de es e abajo y el modo en que han sido cubie as. No ma i a y legislación: se de allan los aspec os legales que en uel en a es e p oyec o y la no ma i a y egulación de la in o má ica en el ámbi o in e nacional, eu opeo y nacional. Plan de abajo: p esen a las a eas a desa olla y el iempo de ealización empleado sob e cada una de ellas. Análisis: se ealizó el modelado concep ual de la u u a solución median e el uso de diag amas de casos de uso. En es a e apa se especi ica qué debe hace la aplicación pe o no cómo debe hace lo. Diseño: a a és de los elemen os y modelos ob enidos del análisis se de alla la a qui ec u a del diseño, una a qui ec u a de es capas donde se desc ibe de alladamen e la unción de cada una de es as y el modo en que in e ac úan en e ellas. Tan o la e apa de análisis como la de diseño es án desp o is as de código. Un buen análisis y un buen diseño son la mejo o ma de llega a p oduci so wa e de calidad. Implemen ación: se u ilizan los elemen os ob enidos en el diseño pa a pe mi i la elabo ación del p oduc o o p o o ipo uncional, puede se pues o en ma cha y some ido a p uebas. Se conside an las di e sas ecnologías que han in e enido en la elabo ación de es e p oduc o. Lo desa ollado en las e apas de análisis y diseño es aducido a código. P uebas: se especi ican las p uebas ealizadas pa a comp oba el co ec o desa ollo del p oyec o y los cambios necesa ios aplicados pa a ga an iza el co ec o uncionamien o del mismo. Conclusión: en es e capí ulo se analiza odo el p oceso y el esul ado del abajo, además se especi ican algunas líneas de u u o. Manual de usua io y so wa e: demos ación y ecomendaciones en la ins alación del abajo y u ilización de los di e en es casos de uso. Re e encias: se ci an las e e encias bibliog á icas que han hecho posible la ealización de es e p oyec o. 8 2. COMPETENCIAS A con inuación, se mues a en es e capí ulo una se ie de compe encias que se deben cumpli en es e abajo. - CII01: capacidad pa a diseña , desa olla , selecciona y e alua aplicaciones y sis emas in o má icos, asegu ando su iabilidad, segu idad y calidad, con o me a p incipios é icos y a la legislación y no ma i a igen e. El cumplimien o de es a compe encia se e e lejada en odo el abajo, aunque p incipalmen e en los capí ulos Análisis, Diseño, Implemen ación y P uebas. En es os se mues a como se ha desa ollado es e p oyec o con el in de c ea un p oduc o que cumpla los equisi os p e iamen e de inidos, asegu ando, así, la iabilidad, segu idad y calidad del mismo. Además, queda demos ado el buen uso y la ampliación de los conocimien os adqui idos du an e la ealización de los es udios, aplicándolos de o ma adecuada pa a el buen desa ollo de es e p oyec o. - CII02: capacidad pa a plani ica , concebi , desplega y di igi abajos, se icios y sis emas in o má icos en odos los ámbi os, lide ando su pues a en ma cha y su mejo a con inua y alo ando su impac o económico y social. Es a compe encia queda cubie a en los siguien es capí ulos:  Plan de abajo: En es e queda de inida la plani icación gene al de desa ollo del abajo di idida en a eas. Cada una de es as a eas cuen a con una desc ipción de su unción y el iempo que a da á en ealiza se medido en ho as.  En cuan o al impac o económico y social, el p oyec o p e ende llega a odo el público, especialmen e a aquellos que aman los g andes clásicos de la indus ia cinema og á ica. Pa a omen a el uso de la aplicación exis e, pa a aquellos que se hayan egis ado p e iamen e, un po cen aje de descuen o en el p ecio aplicado a cada película. Una ez es é co ec amen e alidado an e el sis ema apa ece á el descuen o. - CII04: capacidad pa a elabo a el pliego de condiciones écnicas de una ins alación in o má ica que cumpla los es ánda es y no ma i as igen es. Pa a el desa ollo e ins alación de es e abajo se han enido en cuen a los equisi os ha dwa e y so wa e undamen ales, es os se encuen an documen ados en el capí ulo sép imo de la p esen e memo ia (Implemen ación). En cuan o al ha dwa e, an solo es necesa io un o denado (po á il o de sob emesa), ambién queda indicado en el capí ulo diez (Manual de usua io y so wa e). 9 - CII18: conocimien o de la no ma i a y la egulación de la in o má ica en los ámbi os nacional, eu opeo e in e nacional. Es a compe encia queda cubie a en el capí ulo “No ma i a y legislación”, de allando la no ma i a y la egulación de la in o má ica elacionada en los ámbi os nacional, eu opeo e in e nacional y en el ámbi o del p opio abajo de in de g ado. - TFG01: Eje cicio o iginal a ealiza indi idualmen e y p esen a y de ende an e un ibunal uni e si a io, consis en e en un p oyec o en el ámbi o de la Ingenie ía In o má ica de na u aleza p o esional en el que sin e icen e in eg en las compe encias adqui idas en las enseñanzas. Es a compe encia se á cubie a en el momen o en que se haya ealizado la p esen ación de es e TFG an e los miemb os del ibunal asignados al mismo. 16 d. Deli os elacionados con in acciones de la p opiedad in elec ual y de echos a ines. Con iene des aca que en el “Con enio sob e la Cibe delincuencia” se encomienda a cada pa e que ome las medidas necesa ias pa a ipi ica como deli o en su de echo in e no de cada uno de los apa ados desc i os en cada ca ego ía. En la Disposición 1441 del BOE núm. 226 de 2010, encon amos el Ins umen o de Ra i icación del “Con enio sob e la Cibe delincuencia”, hecho en Budapes el 23 de No iemb e de 2001. 3.3 No ma i a y legislación de la in o má ica en el ámbi o nacional. Ley O gánica de P o ección de da os de ca ác e pe sonal: égimen sancionado aplicable (BOE nº 298 de 14/XII/99 que publicó la Ley O g. 15/1999 de Dic). Obje o: p o ege y ga an iza las libe ades públicas y de echos undamen ales de las pe sonas, especialmen e su HONOR e INTIMIDAD pe sonal y amilia . Aspec os de in e és: se án esponsables “los esponsables de los iche os o de los a amien os” y “los enca gados de los a amien os”. Tipo de in acciones: - Le es (a . 44.2): mul as de 100.000 a 10 millones de las an iguas pese as. Ej: ec i ica da os o no comunica los a la Agencia de P o ección de Da os. - G a es (a . 43): mul as de 10 a 50 millones de las an iguas pese as. Ej: no man ene sis emas de segu idad, obs ucción a inspección, uso en p o echo p opio. - Muy g a es (a . 45): mul as de 50 a 100 millones de las an iguas pese as (“Conduc as ep ochables”). Ej: ulne a a p opósi o el sec e ismo, e c. Ley 7/1998 de 13 de ab il que egula las condiciones gene ales de con a ación. R. D. 1906/1999 de 17/XII que egula la con a ación ele ónica. R.D. Ley 14/1999 de 17/XII sob e Fi ma Elec ónica (BOE Nº 224 de 18/XII). Fi ma elec ónica: disposi i o elec ónico que pe mi e la iden i icación del signa a io de las ope aciones ealizadas po in e ne . Iden i ica: el i man e (au en i icación) y e i a el e ac o (no epudio). Código Penal 17 Ley O gánica 10/1995 de 23/XI: Tipi ica deli os y al as po el uso de la in o má ica, conc e amen e con a la In imidad, Pa imonio, Socioeconómicos y P opiedad In elec ual. Tí ulo X: “Deli os con a la in imidad, de echo a la p opia imagen y la in iolabilidad del domicilio”. - Apode a se de papeles, e-mails, mensajes, o os. - C acks: deli os. - Ob ene da os de e ce os. Recomendaciones de la APD a. In o mación de la ecogida de da os - Cuando suminis e da os pe sonales a cualquie o ganización (p o eedo es de acceso, p o eedo es de con enido, endedo es a a és de come cio elec ónico, e c.) sea conscien e de a quién se los acili a y con qué inalidad. - P ocu e a e igua la polí ica de sus p o eedo es y adminis ado es de lis as y di ec o ios en los que se e ie e a en a, in e cambio o alquile de los da os que les suminis a. Solici e que sus da os pe sonales no ayan unidos a su iden i icación de acceso a in e ne . b. Finalidad pa a la que se ecogen los da os - Descon íe si los da os que le solici an son excesi os pa a la inalidad con la que se ecogen o innecesa ios pa a el se icio que se le p es a. - Tenga en cuen a que cuando in oduce su di ección de co eo elec ónico en un di ec o io, lis a de dis ibución o g upo de no icias, dicha di ección puede se ecogida po e ce os pa a se u ilizada con una inalidad di e en e, como po ejemplo emi i le publicidad no deseada. - Cuando na egue po in e ne , sea conscien e de que los se ido es web que isi a pueden egis a an o las páginas a las que accede como la ecuencia y los emas o ma e ias po las que busca, aunque no le in o men de ellos. Asimismo, su pe enencia a de e minados g upos de no icias y lis as de dis ibución puede con ibui a la elabo ación de pe iles más o menos de allados sob e su pe sona. c. Segu idad en el in e cambio de los da os - U ilice, siemp e que sea posible, las úl imas e siones de los p og amas na egado es, ya que cada ez suelen inco po a mejo es medidas de segu idad. 18 Conside e la posibilidad de ac i a en dichos p og amas las opciones que ale en sob e los in e cambios de da os no deseados y no ellene aquellos da os que no desee hace públicos (po ejemplo, di ección de co eo elec ónico, nomb e, apellidos, e c.). - No ealice ansacciones come ciales elec ónicas a a és de p o eedo es con sis emas insegu os o no iables. Consul e el manual de su na egado pa a a e igua cómo in o ma de que se ha es ablecido una conexión con un se ido segu o. - Recue de que exis en sis emas de dine o elec ónico que p ese an el anonima o de sus comp as en in e ne . - U ilice los mecanismos de segu idad que enga a su alcance pa a p o ege sus da os de accesos no deseados. El medio más iable pa a consegui lo es el ci ado de los mismos. - Sal o que se u ilicen mecanismos de in eg idad, au en icación y ce i icación ( i ma digi al, no a ios elec ónicos, e c.) no con íe ciegamen e en que la pe sona u o ganización que le emi e un mensaje es quien dice se y en que el con enido del mismo no se ha modi icado, aunque es o sea así en la inmensa mayo ía de las ocasiones. - Siemp e que se le solici en da os pe sonales que no es á obligado legalmen e a suminis a , sopese los bene icios que a a ecibi de la o ganización que los ecoge en e a los posibles iesgos de u ilización i egula de los mismos. - An e cualquie duda sob e la legalidad de la u ilización de sus da os de ca ác e pe sonal, póngase en con ac o con la Agencia de P o ección de Da os. La p o ección ju ídica de p og amas de o denado . Pi a e ía in o má ica - El Real Dec e o Legisla i o 1/1996, po el que se ap ueba el Tex o Re undido sob e P opiedad In elec ual, la p o ección ju ídica de los p og amas, an es egulada po la Ley de P o ección Ju ídica de P og amas de O denado y po la Ley de P opiedad In elec ual, c ea un ma co ju ídico en con a de la pi a e ía in o má ica. - El Tex o Re undido desa olla una se ie de medidas pa a comba i la pi a e ía in o má ica, como la posibilidad de que los ab ican es de p og amas de o denado solici en a la jus icia española la ealización de un egis o so p esa en emp esas en la que exis en sospechas undadas o e idencias de deli o. España es uno de los países en los que se puede acudi a es a medida cau ela . De es a mane a se e adica la posibilidad de que los p esun os in ac o es puedan des ui las p uebas exis en es, lo cual, indudablemen e ocu i á si se les no i ica po adelan ado la ealización de un egis o. ¿En qué casos se in inge la Ley? 19 - Al copia o dis ibui un p og ama de o denado o la documen ación que se le acompaña, incluidas aplicaciones, da os, códigos y manuales, sin pe miso exp eso o licencia del p opie a io o licencia del p opie a io de los de echos de explo ación. - Al u iliza un p og ama sin la co espondien e licencia o au o ización del ab ican e, con independencia de que se u ilice en un solo o denado o en a ios de o ma simul ánea. - Al u iliza p og amas de o denado en un núme o de copias supe io al au o izado po el ab ican e en sus con ac os o licencias de uso. - En emp esas y demás o ganizaciones, al omen a , conscien e o inconscien emen e, pe mi i , obliga o p esiona a los empleados a ealiza o dis ibui copias no au o izadas del p og ama. - Al e ec ua copias no au o izadas po que alguien lo equie e u obliga a ello. Al cede o p es a el p og ama de o ma que pueda se copiado o copia lo mien as es á en su posesión en calidad de cedido o p es ado. - Al c ea , impo a , posee o negocia con a ículos des inados a bu la o neu aliza cualquie medio écnico aplicado pa a p o ege el p og ama de o denado . Medidas judiciales Si inalmen e exis e e idencia de deli o, las medidas judiciales que pueden adop a se son: - Solici a al juez un egis o so p esa de las ins alaciones del p esun o in ac o , an o po la ía ci il como po la penal. - Solici a al juez la adopción u gen e de medidas cau ela es de p o ección. - Exigi indemnizaciones aco des con los daños ma e iales y mo ales causados. - El cie e den o de la ac i idad del in ac o . - El secues o de odos aquellos medios des inados a sup imi los disposi i os écnicos que p o egen un p og ama desa ollado y come cializado po un ab ican e de p og amas. 3.4 No ma i a y legislación de la in o má ica en el ámbi o nacional. Ley O gánica de P o ección de Da os. Es e p oyec o es á ampa ado po la Ley O gánica 15/1999 del 13 de diciemb e de P o ección de Da os (LOPD) ci ada y desc i a en el apa ado 3.3 de es e capí ulo. Ley de P opiedad In elec ual. El TFG, ambién es á p o egido po la Ley de P opiedad In elec ual (LPI). La p opiedad in elec ual es á in eg ada po una se ie de de echos de ca ác e pe sonal y/o pa imonial que a ibuyen al au o y a o os i ula es la disposición y explo ación de sus ob as y p es aciones. 20 La ley que egula la p opiedad in elec ual es el ex o Re undido de la Ley de P opiedad In elec ual, ap obado po Real Dec e o Legisla i o 1/1996, de 12 de ab il. La p opiedad in elec ual p o ege las c eaciones o iginales li e a ias, a ís icas o cien í icas exp esadas en cualquie medio, ales como lib os, esc i os, composiciones musicales, ob as d amá icas, co eog a ías, ob as audio isuales, escul u as, ob as pic ó icas, planos, maque as, mapas, o og a ías, p og amas de o denado y bases de da os. También p o ege las in e p e aciones a ís icas, los onog amas, las g abaciones audio isuales y las emisiones de adiodi usión. De es a, quedan excluidas las ideas, los p ocedimien os, mé odos de ope ación o concep os ma emá icos en sí, aunque no la exp esión de los mismos. También se excluyen las disposiciones legales o eglamen a ias, sus co espondien es p oyec os, las esoluciones de los ó ganos ju isdiccionales y los ac os de los o ganismos públicos, así como las aducciones de dichos ex os. Los de echos de p opiedad in elec ual o o gan además del econocimien o a los c eado es, la e ibución económica que les co esponde po la ealización de sus ob as y p es aciones. Es ambién un incen i o a la c eación y a la in e sión en ob as y p es aciones de la que se bene icia la sociedad en su conjun o. Las ob as o p es aciones se p o egen desde el momen o de su c eación, ecibiendo los i ula es la plena p o ección de la ley desde ese momen o y sin que se exija el cumplimien o de ningún equisi o o mal. Las medidas ecnológicas de p o ección se pueden de ini como los ins umen os que es án des inados a impedi o es ingi al usua io de ob as o p es aciones p o egidas que no cuen e con la pe inen e au o ización, la ep oducción, comunicación pública, e c. de ellas. Lo que no pueden impedi las medidas ecnológicas a los usua ios de los de echos de explo ación es dis u a de algunos de los lími es impues os a los de echos de explo ación. Es os lími es impues os po azones de ipo social, cul u al, de segu idad nacional, e c. pe mi en a los usua ios-bene icia ios que puedan u iliza en de e minados casos los de echos de ep oduci , comunica , dis ibui , e c. sin eque i la pe inen e au o ización a sus espec i os i ula es. Toda ez que la aplicación de las medidas ecnológicas puede en la p ác ica des i ua alguno de los lími es impues os a los de echos de explo ación de los i ula es de de echos de p opiedad in elec ual, ha sido necesa io es ablece que es os úl imos acili en los medios pa a que los bene icia ios de esos lími es dis u en de los mismos. Cuando los i ula es no acili en es os medios olun a iamen e, los bene icia ios de esos lími es pod án acudi a ó ganos ju isdiccionales a los ines de hace e ec i os el cumplimien o de dicha obligación. Ley de Cookies. 21 Po úl imo habla emos de una ley que ambién en uel e es e abajo, la ley de cookies. Las cookies es án eguladas en la Di ec i a Eu opea 2009/136/CE del Pa lamen o Eu opeo y del Consejo de 25 de no iemb e del 2009 llamada “Di ec i a de las Cookies” y el Reglamen o (CE) nº 2006/2004. En España la ansposición de la Di ec i a ue ealizada el 30 de ma zo de 2012 a a és del Real Dec e o-ley 13/2012, es e modi ica el a ículo 22 de la ley 34/2002 de 11 de julio de se icios de la sociedad de la in o mación y de come cio elec ónico, en adelan e LSSICE. La Agencia de P o ección de da os ealizó una muy buena guía sob e Ley de Cookies, aunque ma izó lo siguien e: “Dadas las múl iples complejidades que plan ea el uso de las cookies, las o ien aciones ecogidas en el documen o conjun o no p e enden o ece una solución gene al y uni o me pa a el cumplimien o de la Ley sino se i de guía pa a que las en idades a ec adas e lexionen y adop en decisiones sob e la solución más adecuada a sus in e eses y modelo de negocio. La AEPD ecomienda a las en idades implicadas en la u ilización de cookies lle a a cabo una e isión de las que se u ilizan, bien in e namen e, bien con el aseso amien o de asociaciones o en idades especializadas. Las en idades pod án conoce así qué cookies se u ilizan y pa a qué inalidad, desca ando así las innecesa ias.” Alcance de la no ma. De obliga o io cumplimien o desde el 1 de ab il de 2012, la ley de Cookies de e mina su ámbi o de aplicación po el capí ulo II -a ículos 2, 3, 4 y 5 de la LSICE – y donde obligan a odos los “p es ado es de se icios de la sociedad de la in o mación”. Es deci pe sona ísica o ju ídica, que ealiza ac i idades económicas po In e ne u o os medios elemá icos siemp e que la di ección y ges ión de su negocio es é cen alizada en España o posea una sucu sal, o icina o cualquie o o ipo de es ablecimien o pe manen e si uado en España. Una pla a o ma eje ce ac i idades económicas si gene a de o ma di ec a o indi ec a algún bene icio económico pa a el i ula , conc e ando un poco más, si se encuen a en alguna de las siguien es si uaciones: 1. Web co po a i a de una emp esa. 2. Tienda ecomme ce. 3. Au ónomo con una web co po a i a independien emen e de si es usada como página in o ma i a sob e sus negocios o como ienda online. 4. Blog pa icula si incluye publicidad. El apa ado 22 de la LSSI es ablece: 22 “Los p es ado es de se icios pod án u iliza disposi i os de almacenamien o y ecupe ación de da os en equipos e minales de los des ina a ios, a condición de que los mismos hayan dado su consen imien o después de que se les haya acili ados in o mación cla a y comple a sob e su u ilización, en pa icula , sob e los ines de a amien o de los da os, con a eglo a lo dispues o en la Ley O gánica 15/1999, de 13 de diciemb e, de P o ección de Da os de Ca ác e Pe sonal”. Po si acaso p ocedie a la acla ación, se en iende po equipo e minal: elé ono mó il, able , o denado pe sonal… Nos e e imos a la ins alación de cookies o ecnologías simila es u ilizadas, ales como sha ed obje cs o lash cookies, quedando únicamen e excluidas del cumplimien o: 1. La comunicación en e el equipo del usua io y la ed. 2. Es ic amen e p es a un se icio exp esamen e solici ado po el usua io en la que sea necesa io el uso de dichos disposi i os de almacenamien o. Es as dos excepciones hacen e e encia a las siguien es cookies: 1. Cookies de «en ada del usua io». 2. Cookies de au en icación o iden i icación de usua io (únicamen e de sesión). 3. Cookies de segu idad del usua io. 4. Cookies de sesión de ep oduc o mul imedia. 5. Cookies de sesión pa a equilib a la ca ga. 6. Cookies de pe sonalización de la in e az de usua io. 7. Cookies de complemen o (plug-in) pa a in e cambia con enidos sociales. Po úl imo hay que indica que una mismo cookie puede ene más de una inalidad, po lo que puede que en pa e quede excep uada del ámbi o de aplicación, pe o pa a o as inalidades no, quedando suje o po an o a dicho p ecep o. Qué es una Cookie. El é mino cookies es u ilizado como nomb e gené ico pa a desc ibi cualquie ipo de a chi o o disposi i o que se desca ga en el equipo e minal de un usua io con la inalidad de almacena da os que pod án se ac ualizados po la en idad esponsable de su ins alación. Con o as palab as una cookie es una pequeña pieza de in o mación - ex o- que en ía un se ido web pa a que sea almacenada po el p og ama de na egación u ilizado en la memo ia del o denado , de al mane a que pueda se leída a pos e io i po ese se ido , de o ma que le sea ú il pa a eco da cualquie in o mación especí ica. G acias a las cookies exis e el ma ke ing online. Según quien sea la en idad que ges iona el equipo y a e los da os podemos dis ingui los siguien es ipos de Cookies: 23 1. Cookies p opias: Son aquellas que se en ían al equipo e minal del usua io desde un equipo o dominio ges ionado po el p opio edi o y desde el que se p es a el se icio solici ado po el usua io. 2. Cookies de e ce o: Son aquellas que se en ían al equipo e minal del usua io desde un equipo o dominio que no es ges ionado po el edi o , sino po o a en idad que a a los da os ob enidos a és de las cookies. Según el plazo de iempo que pe manecen ac i as: 1. Cookies de sesión: Son un ipo de cookies diseñadas pa a ecaba y almacena da os mien as el usua io accede a una página web. 2. Cookies pe sis en es: Son un ipo de cookies en el que los da os siguen almacenados en el e minal y pueden se accedidos y a ados du an e un pe iodo de inido po el esponsable de la cookie, y que puede i de unos minu os a a ios años. Según su inalidad: 1. Cookies écnicas: Pe mi en al usua io la na egación a a és de una página o pla a o ma web y la u ilización de las di e en es opciones o se icios que en ella exis en como po ejemplo, iden i ica la sesión o accede a pa es de acceso es ingido de da os. 2. Cookies de pe sonalización: Aquellas que pe mi en al usua io accede al se icio con algunas ca ac e ís icas en unción de una se ie de c i e ios, como puede se el idioma p ede inido en unción del o igen de la isi a. 3. Cookies de análisis: Pe mi en al esponsable de la misma, el seguimien o y análisis del compo amien o de los usua ios de los si ios web. Es e ipo de cookies aunque no es án exen as del debe de ob ene un consen imien o in o mado pa a su uso, es poco p obable que ep esen en un iesgo pa a la p i acidad de los usua ios, siemp e que los da os sean usados con una inalizada es ic amen e es adís ica. 4. Cookies publici a ias: Aquellas que pe mi en una ges ión de los espacios publici a ios. 5. Cookies de publicidad compo amen al: Pe mi en la ges ión de los espacios s publici a ios que, en su caso, el edi o haya incluido en una página web, aplicación o pla a o ma desde la que p es a el se icio solici ado. Es as cookies almacenan in o mación del compo amien o de los usua ios ob enida a a és de la obse ación con inuada de sus hábi os de na egación, lo que pe mi e desa olla un pe il especí ico pa a mos a publicidad en unción del mismo. Pa es in e inien es Usua ios 24 Des ina a io, pe sona ísica, que accede al se icio p es ado po un edi o pudiendo di e encia se en e usua io egis ado y no egis ado. Edi o En idad p es ado a de se icios de la sociedad de la in o mación i ula de una página web a los que pueda accede un usua io y pa a cuya p es ación se u ilizan cookies. Anuncian e Es la en idad cuyos p oduc os, se icios o imagen se publici an a a és de los espacios publici a ios de los que disponen, en su caso, los edi o es en sus páginas. F ecuen emen e, el edi o ambién suele ac ua como anuncian e. Agencias de publicidad y agencias de medios En idades que se enca gan del diseño y ejecución de publicidad, así como de la c eación, p epa ación o p og amación de las campañas publici a ias de los anuncian es, ac uando en nomb e y po cuen a de es os. Redes publici a ias Conjun o de en idades que, ac uando en nomb e y ep esen ación di ec a o indi ec amen e de uno o a ios edi o es, o ecen, ambién di ec amen e a los anuncian es o, indi ec amen e a a és de o os demandan es, como las Agencias de publicidad, la posibilidad de ob ene espacios publici a ios o algún ipo de esul ado conc e o como clics, en as o egis os, a a és de la ges ión y a amien o de los da os ob enidos de la u ilización de las cookies desca gadas o almacenadas en los equipos e minales de los usua ios, cuando es os acceden a los se icios p es ados po el edi o . Emp esas de análisis y medición Son en idades que miden y/o analizan el compo amien o de la na egación de los usua ios en la página web de un edi o , ac uando en su nomb e y ep esen ación, a a és del análisis de los da os ob enidos con la u ilización de las cookies con la inalidad de mejo a el se icio que p es a el edi o . Obligaciones de las pa es En p ime luga debemos analiza las cookies que se es amos u ilizando en nues o po al pa a iden i ica sus ca ac e ís icas y si es án den o del ámbi o de aplicación del a ículo 22 de la LSSI. En es e sen ido pod ía alo a se si es necesa ia la ins alación de cookies pe sis en es pues o que los iesgos pa a la p i acidad pod ían educi se median e la u ilización 25 de cookies de sesión, en cualquie caso debe á educi se al mínimo necesa io su du ación empo al a endiendo a la inalidad de uso. Las obligaciones impues as po la no ma i a son dos: 1. Debe de in o mación. Que in o mación debe acili a se. In o mación cla a y comple a sob e la u ilización de los disposi i os de almacenamien o y ecupe ación de da os y, en pa icula , sob e los ines del a amien o de los da os, con a eglo a lo dispues o en la Ley O gánica 15/1999, de 13 de diciemb e, de p o ección de da os de ca ác e pe sonal. Es a in o mación debe es a accesible de o ma pe manen e a a és de la página web. El usua io debe p es a su consen imien o y debe á se in o mado cla amen e de: 1. Su inalidad. 2. Cómo e oca el consen imien o. 3. Fo ma de elimina las cookies. 4. Cómo debe mos a se esa in o mación. Hay que ene en cuen a: 1. Tipo de usua io medio al que se di ige esa página web y adecua el lenguaje y el con enido de los mensajes a su ni el écnico. 2. Diseño y mecánica de la página web. Facili a la accesibilidad, ya sea a a és del o ma o o del posicionamien o del enlace, y en la medida de lo posible a los usua ios oda la in o mación sob e las cookies. Explicado es o se ecomienda suminis a la in o mación en e alguno de los siguien es sis emas: 1. Ba a de encabezamien o o en el pie de página. 2. Jun o con la polí ica de p i acidad, o en los é minos y condiciones de uso del se icio al solici a el al a en un se icio o ealiza una desca ga, pe o siemp e es a debe á se des acada y sepa ada del es o de la in o mación sob e é minos y condiciones de uso o polí ica de p i acidad. 3. In o mación po capas. Es e sis ema ecomendado po la AEPD consis e en mos a la in o mación esencial en una p ime a capa, cuando se accede a la página en la que se o ezca in o mación adicional sob e las cookies. 1. En la p ime a capa se mues a la siguien e in o mación: ad e encia del uso de cookies no excep uadas que se ins alan al na ega po dicha página, 32 p e iamen e se han egis ado y han iniciado su sesión. Los adminis ado es son usua ios iden i icados con una se ie de p i ilegios de inidos an e el sis ema. P i ilegios. En el po al D upal odos los ac o es pueden accede a e el con enido del po al, sal o los comen a ios (es os se án in isibles pa a los usua ios no iden i icados). Los usua ios no iden i icados ampoco pod án ealiza o aciones sob e las películas. Los usua ios iden i icados (incluyendo a los adminis ado es) pod án edi a sus da os pe sonales, ealiza o aciones e in e ac ua con o os usua ios iden i icados a a és del sis ema de comen a ios. El adminis ado , además, pod á ges iona an o el con enido del po al como el de los demás usua ios. Po o o lado, es o unciona á del siguien e modo en el po al mó il. Los usua ios no iden i icados pod án accede a odo el con enido. Los usua ios iden i icados po su pa e e án educido el p ecio de las películas ya que ob end án un descuen o po el me o hecho de es a egis ados y co ec amen e au en i icados. El mo i o po el cual no se ienen los mismos p i ilegios y casos de uso en ambos po ales es el g ado de di icul ad a la ho a de implemen a elemen os elabo ados (como el sis ema de o ación y comen a ios). Mien as que en D upal lo implemen amos de un modo muy sencillo a a és de módulos, en el po al mó il se con ie e en una a ea mucho más labo iosa en compa ación con el an e io . Es o es algo simbólico, no nos impo a, ya que lo que se p e ende consegui es demos a el empleo de conocimien os a la ho a de es ablece p i ilegios en e los dis in os ac o es y pe sonaliza su expe iencia al na ega po un po al web. 5.2.2 Casos de uso del usua io no iden i icado En el po al mó il. 33 En el sis ema D upal. 5.2.3 Casos de uso del usua io iden i icado En el po al mó il. 34 En el sis ema D upal. El caso de uso ‘Cambia da os pe sonales’ incluye cancela la cuen a de usua io. 5.2.4 Casos de uso del adminis ado En el po al mó il. 35 En el sis ema D upal. 36 5.3 En idades Ca álogo El ca álogo es un con enedo de películas y es á ep esen ado como una lis a de elemen os del ipo Ca alog_Elemen . De es e ipo de con enido solo se mues an los campos ca á ula, í ulo y p ecio. Película Una película es un con enedo de los siguien es campos: ca á ula, í ulo, año de es eno, país, du ación, géne o, p ecio, o ación, epa o, a gumen o, comen a ios y di ec o . Fo ma pa e del ca álogo y señala a un nodo que aloja da os del ipo Ficha_Di ec o , di e en es películas pueden señala al mismo di ec o pe o nunca una película puede señala a más de un di ec o . Di ec o Un di ec o es un con enedo que almacena in o mación en los siguien es campos: o o del di ec o , nomb e, año de nacimien o, país de nacimien o, sob e él/ella y ilmog a ía. Un di ec o puede se e e enciado po a ias películas. 37 6. DISEÑO 6.1 In oducción Pa a el diseño se ha elegido una a qui ec u a de es capas, se a a de un es ilo de p og amación cuyo obje i o p imo dial es la sepa ación de la capa de p esen ación, la capa de negocio o lógica de aplicación y la capa de da os. La siguien e imagen ha sido modi icada a pa i de la uen e: h p://a qui ec u aencapas.blogspo .com.es/2011/08/a qui ec u a-3- capas-p og amacion-po .h ml 6.2 Capa de p esen ación Se a a del conjun o de componen es so wa e que implemen an la in e acción con los usua ios a a és de una ep esen ación isual de la aplicación, p opo cionando a los usua ios una o ma de accede y con ola los da os y los se icios de los obje os. A pa i de la in e az g á ica el usua io na ega á po las dis in as páginas del po al ob eniendo la in o mación que desee, o po el con a io apo ando dicha in o mación al sis ema. A con inuación se mues an los mockups más ep esen a i os del diseño de la in e az g á ica: Po al o ien ado a disposi i os mó iles: Página de inicio: 38 Menú: Cómo unciona: 39 Login: Ca álogo, O denación, Fil o po géne o: 40 Ficha de película: Ficha de di ec o : 41 Po al cons uido sob e D upal 7: Página de inicio: Regís a e: 48 El si io p incipal de desa ollo y coo dinación de D upal es d upal.o g, en el que pa icipan ac i amen e a ios miles de usua ios de odo el mundo. 7.2.2 Módulos u ilizados. A con inuación oy a p esen a los módulos que he u ilizado en el desa ollo del po al y a explica su uso común y su uso en es e con ex o. Admin Menu: nos mues a una ba a ho izon al en la pa e supe io de la página que nos pe mi e ealiza las mismas a eas de adminis ación y man enimien o que el menú po de ec o, pe o de una o ma más accesible y ápida. Backup & Mig a e: nos pe mi e, de una mane a muy ácil, espalda y desca ga nues a base de da os de un si io c eado con D upal. Y po si ue a poco, ambién nos pe mi e ol e a es au a nues a copia de segu idad. Pe mi e p og ama los espaldos, comp imi las copias, e c. Los a chi os c eados po es e módulo, pueden se impo ados an o en el mismo si io, como en cualquie o o si io c eado con D upal, u ilizando el mismo módulo y/o ambién po medio de phpmyadmin. He u ilizado pe iódicamen e es e módulo con el in de man ene a sal o mi sis ema median e el uso de copias de segu idad las cuales he ido almacenando en di e sos sis emas de almacenamien o po á il. Chaos Tool Sui e (CTools): se a a de un conjun o de he amien as y APIs des inadas a mejo a la expe iencia del desa ollado . Es necesa io pa a la ins alación y uso de o os módulos u ilizados en es e p oyec o, como po ejemplo el módulo Panels que e emos pos e io men e. De el: es e módulo p opo ciona un amplio abanico de he amien as que acili an la labo de p og amación y ambién u ilidades de adminis ación, como gene a con enido alea o io o eins ala módulos. Solo he u ilizado la he amien a De el Gene a e, pa a la ápida c eación de con enido, en es e caso de películas ( ipo de con enido Ca alogo_Elemen ) cuyos campos ue on, al c ea se, ellenados con da os alea o ios. Los campos de ex o se gene an con el popula ex o simulado “Lo em Ipsum dolo si ame ”. Con es e módulo se c eó p ime amen e el con enido. Después se edi ó pa a que los da os uesen los deseados, es po ello que apa ecen como c eado es de con enido los demás ac o es además del adminis ado , pe o ealmen e es os no pueden ealiza los casos de uso p opios de un adminis ado . 49 En i y Re e ence: necesi a del módulo En i y pa a su ins alación. P opo ciona un ipo de campo que puede e e encia a en idades a bi a ias. Lo he u ilizado pa a pode e e encia a un di ec o en una icha de película, de es e modo e emos a a és del campo ‘Di ec o ’ mos ado en la icha de la película un enlace di ec o a la icha del p opio di ec o . Fi es a : necesi a del módulo Vo ing API pa a su ins alación. Es ablece un sis ema de o aciones con el clásico o ma o de 5 es ellas. Se mues a en la icha de cada película donde el usua io iden i icado puede, g acias a la co ec a con igu ación del módulo, hace una única o ación sob e cada película del ca álogo. También es á con igu ado pa a que los usua ios no iden i icados no puedan o a . Localiza ion Upda e: desca ga y ac ualiza las aducciones au omá icamen e. Mail Sys em: p opo ciona una in e az de usua io Adminis a i o y una API de Desa ollado es pa a ac ualiza de o ma segu a la a iable de con igu ación mail_sys em. G acias a es e podemos e ec ua de o ma sa is ac o ia el caso de uso que pe mi e a un usua io no iden i icado egis a se. Panels: es un "Con ibu ed Module" que depende de o o "Con ibu ed Module" denominado "CTools". La p incipal uncionalidad de Panels es pe mi i modi ica la es uc u a u o ganización con que D upal mues a los con enidos, e implemen a o as disposiciones que se adap en mejo a los eque imien os de diseño de nues o si io web. El módulo nos o ece a ias plan illas básicas p ede inidas, las cuales pod emos edi a , y con igu a , indicando qué con enido que emos inse a en cada sección. También podemos diseña nues as p opias plan illas. A a és de es e módulo he c eado dos diseños pe sonalizados, ‘Ficha Película’ y ‘Fichas Di ec o es’, con la inalidad de c ea dos plan illas que me pe mi an mos a los con enidos de ‘Ca alogo_Elemen ’ y ‘Di ec o es’ de una o ma a ac i a y pe sonalizada. Se ices: es una solución es anda izada pa a la in eg ación de aplicaciones ex e nas con D upal. Los se icios de de olución de llamada pueden se u ilizados po múl iples in e aces como REST, XMLRPC, JSON, JSON-RPC, de SOAP, AMF, e c. Po an o, pe mi e a D upal p opo ciona se icios web a a és de múl iples in e aces usando el mismo código de e ollamada. A a és de mi aplicación mó il ex e na hago uso de un se icio web REST ul pa a ob ene da os de nodos, usua ios y is as alojados en el sis ema D upal. Se ices Views: pe mi e maneja is as a a és de se icios web. 50 Necesa io pa a ob ene el ca álogo po el que na ega án los usua ios. Views: es el que y builde de D upal, es deci un cons uc o de consul as que pe mi e mos a is as de da os p e iamen e in o mados en la aplicación D upal. A a és de la in e az de usua io de Views podemos selecciona el o igen de los da os, los campos a mos a , las condiciones po las que il a , o denación, paginación, encabezado, pie de página y algunas opciones a anzadas. En esumen, es la al e na i a a esc ibi consul as manualmen e en SQL e inclui las en código PHP. A a és de es e con igu amos y mos amos a los usua ios el ca álogo de películas de nues o po al mos ando an solo los campos de la ca á ula, í ulo de la película y p ecio de la misma. Es e ca álogo es á páginado cada 10 elemen os, con posibilidad de il a po géne o y de o dena al abé icamen e, po popula idad o po echa de c eación del con enido. Vo ing API: como hemos dicho an es, es e módulo es necesa io pa a la ins alación y con igu ación del módulo Fi es a . 7.2.3 Theme D upal ae po de ec o ins alado y ac i ado el ema Ba ik, es e lo he desac i ado debido a que no cumplía con los equisi os de diseño de es e po al y en su luga he ins alado y ac i ado el ema Ma inelli. El ema ha sido con igu ado pa a que en el banne no apa ezcan las imágenes que ae po de ec o sino o as imágenes más aco des con el p oyec o, ambién he omi ido la apa ición del logo de D upal. P edominan los colo es azul y blanco. Po un lado, el colo azul ansmi e con ianza y p o esionalidad. El blanco ansmi e al usua io pe ección, simplicidad y buenas in enciones. 7.2.4 Implemen ación del po al D upal Una ez c eada la base de da os e ins alado es e ges o de con enido, se ha p ocedido a la ins alación de los módulos necesa ios pa a el desa ollo. Con odas las he amien as ins aladas y bien con igu adas llega el momen o de c ea los ipos de con enido. En es e p oyec o des acan dos: Ca alogo_Elemen : es e ep esen a a cada una de las películas del sis ema. Es á compues o po los campos: “Ca á ula”, “Nomb e Película”, “P ecio”, “Géne o”, “País”, “Vo ación”, “Du ación”, “Repa o”, “A gumen o”, “Di ec o ” y “Año de es eno”. Cabe des aca que el campo “Vo ación” es del ipo Fi es a Ra ing, y ha sido con igu ado pa a una conc e a u ilización po pa e de los usua ios a la ho a de cali ica el ilm. El campo “Géne o”, po o a pa e, apun a a una axonomía c eada p e iamen e, habla emos 51 de ellas más adelan e. Po úl imo, el campo “Di ec o ” es de ipo En i y Re e ence, es á con igu ado pa a que el nomb e del di ec o que nos mues a sea un enlace a con enido del ipo Ficha_Di ec o que e emos a con inuación. También lo u iliza emos pa a c ea la is a “Ca álogo”, el elemen o más impo an e en lo e e en e a es a pa e del p oyec o de ca a al usua io. Lo e emos más adelan e. Ficha_Di ec o : a a és de es e ipo de con enido pod emos c ea la icha pe sonal de cada uno de los di ec o es egis ados en el po al web. Es á compues o po los siguien es campos: “Ficha Di ec o ”, “Fo o”, “País de nacimien o”, “Año de nacimien o”, “Sob e él/ella” y “Filmog a ía”. Los usua ios, no adminis ado es, solo pod án accede al con enido c eado sob e es e ipo a a és de la icha de alguna de las películas egis adas asociadas a dicho di ec o . Además, con el módulo Panels se han elabo ado dos diseños pe sonalizados, Ficha Película asociado al ipo de con enido Ca alogo_Elemen y Fichas Di ec o es asociado a Ficha_Di ec o , con el obje i o de mejo a el es ilo de la in e az de ca a a los ac o es y acili a la labo del adminis ado a la ho a de ges iona el con enido del po al. Se a a de plan illas pe sonalizadas y de ácil manejo pa a la disposición de los campos de un ipo de con enido. La axonomía se u iliza pa a la clasi icación del con enido ing esado en el sis ema, se ha c eado un ocabula io llamado “géne o” pa a clasi ica el con enido de ipo Ca alogo_Elemen , es deci clasi ica las películas según su géne o. A a és del módulo Views se ha c eado una is a llamada “Ca álogo”. Una is a pe mi e elegi el ipo de da os que que emos mos a , los campos, il os, o den, paginación, e c. y mos a los como páginas o como módulos. En es a is a se mues a un lis ado con el nomb e de odas las películas egis adas en el sis ema, acompañadas po la imagen de su ca á ula y su p ecio. Se han es ablecido c i e ios de o denación po c eación de con enido, í ulo del ilm y pun uación; il os po géne o y paginación cada 10 elemen os. 7.3 WEB SERVICES 7.3.1 ¿Qué son los web se ices? Uno de los pun os más ue es de es e abajo son los se icios web. Cuando hablamos de es os nos e e imos a una ecnología que hace uso de di e sos p o ocolos y es ánda es que si en pa a in e cambia da os en e aplicaciones, en es e p oyec o se i á pa a comunica el po al cons uido en D upal con su e sión o ien ada a disposi i os mó iles. Dis in as aplicaciones de so wa e desa olladas en lenguajes de p og amación di e en es, y ejecu adas sob e cualquie pla a o ma, pueden u iliza los se icios web pa a in e cambia da os en edes de o denado es como In e ne . La in e ope abilidad se consigue median e la adopción de 52 es ánda es abie os. Las o ganizaciones OASIS y W3C son los comi és esponsables de la a qui ec u a y eglamen ación de los se icios Web. Pa a mejo a la in e ope abilidad en e dis in as implemen aciones de se icios Web se ha c eado el o ganismo WS-I, enca gado de desa olla di e sos pe iles pa a de ini de mane a más exhaus i a es os es ánda es. Es una máquina que a iende las pe iciones de los clien es web y les en ía los ecu sos solici ados. Veamos aho a algunas de las en ajas que ob enemos al abaja con es a ecnología: - Apo an in e ope abilidad en e aplicaciones de so wa e independien emen e de sus p opiedades o de las pla a o mas sob e las que se ins alen. - Los se icios Web omen an los es ánda es y p o ocolos basados en ex o, que hacen más ácil accede a su con enido y en ende su uncionamien o. - Pe mi en que se icios y so wa e de di e en es compañías ubicadas en di e en es luga es geog á icos puedan se combinados ácilmen e pa a p o ee se icios in eg ados. Po o o lado, en e sus incon enien es podemos encon a los siguien es: - Pa a ealiza ansacciones no pueden compa a se en su g ado de desa ollo con los es ánda es abie os de compu ación dis ibuida como CORBA (Common Objec Reques B oke A chi ec u e). - Su endimien o es bajo si se compa a con o os modelos de compu ación dis ibuida, ales como RMI (Remo e Me hod In oca ion), CORBA o DCOM (Dis ibu ed Componen Objec Model). Es uno de los incon enien es de i ados de adop a un o ma o basado en ex o. Y es que en e los obje i os de XML no se encuen a la concisión ni la e icacia de p ocesamien o. - Al apoya se en HTTP, pueden esqui a medidas de segu idad basadas en i ewall cuyas eglas a an de bloquea o audi a la comunicación en e p og amas a ambos lados de la ba e a. 7.3.2 ¿SOAP o REST? En el momen o de comenza a desa olla la comunicación su gió un con lic o sob e cuál se ía la a qui ec u a más ap opiada pa a abaja sob e es e sis ema y que uso se le que ía da . Había llegado la ho a de alo a cuál de ellas se adap a ía mejo al en o no de nues a aplicación: SOAP o REST. SOAP (Simple Objec Access P o ocol) es un p o ocolo es ánda que de ine cómo dos obje os en di e en es p ocesos pueden comunica se po medio de in e cambios de da os XML, el pun o iden i ica i o de SOAP es que las ope aciones son de inidas como pue os WSDL (Web Se ices Desc ip ion Language). Es po es o que se á aconsejable u iliza es e p o ocolo en 53 en o nos donde se es ablece á un con a o o mal y donde se desc ibi án odas las unciones de la in e az así como el ipo de da os u ilizados an o de en ada como de salida. El lenguaje WSDL nos pe mi i á de ini cla amen e cualquie de alle de las unciones de nues o WS. REST (Rep esen a ional S a e T ans e ) es un es ilo de a qui ec u a de so wa e pa a sis emas dis ibuidos ales como la web, a di e encia de SOAP, se cen a en el uso de los es ánda es HTTP y XML pa a la ansmisión de da os sin la necesidad de con a con una capa adicional. Las ope aciones (o unciones) se solici a án median e GET, POST, PUT y DELETE, po lo que no equie e de implemen aciones especiales pa a consumi es os se icios. Además se pod á u iliza JSON en ez de XML como con enedo de la in o mación, po lo que se á aconsejable u iliza es e p o ocolo cuando busquemos mejo a el endimien o, o cuando disponemos de escasos ecu sos, como se ía el caso de los disposi i os mó iles. En pocas palab as, cuando se quie e implemen a una in e az de p og amación de aplicaciones (API) compleja suele se mucho más ú il hace uso de los se icios SOAP. Pe o cuando se a a de algo con una meno cu a de ap endizaje, del que ápidamen e se ob ienen esul ados lige os y ansacciones sencillas (median e ope aciones CRUD), al y como ocu e en es e caso, es p e e ible u iliza se icios REST. 7.3.3 REST en es e abajo Median e el uso de web se ices REST ul se es ablece á la comunicación en e el po al D upal y el po al o ien ado a disposi i os mó iles, en es e abajo solo hemos p ecisado de pe iciones GET y POST. Es as solici udes las ealizamos haciendo uso de cURL, se a a de una he amien a so wa e pa a usa en un in é p e e de comandos pa a ans e i a chi os con sin axis URL Pe iciones GET: las pe iciones GET se u ilizan pa a la lec u a de egis os. A a és de ellas ob end emos la is a Ca álogo de D upal y la mos amos en el po al mó il. A a és de solici udes GET ambién o denamos y il amos dicha is a. También ob enemos los nodos que con ienen las ichas de las películas y las ichas de di ec o es. Con igu ando el módulo Se ices y la pe ición se eciben los da os en o ma o JSON, en onces se analizan y ob ienen los campos eque idos pa a así pode econs ui cada página. La es uc u a de las pe iciones GET la emos median e el siguien e ejemplo: $u l = 'h p://localhos /d upal/ es / iews/ca alogo?gene o=All&' . $o denacion_ alo ; $ch = cu l_ini (); cu l_se op ($ch, CURLOPT_URL, $u l); cu l_se op ($ch, CURLOPT_RETURNTRANSFER, 1); $json = cu l_exec($ch); cu l_close($ch); $ esul ado=json_decode($json, ue); 54 Pe iciones POST: las pe iciones POST se u ilizan pa a la c eación de ecu sos. Median e es as a amos los da os en iados desde el o mula io de au en icación de usua ios del po al o ien ado a disposi i os mó iles pa a pode ealiza el login. La es uc u a de las pe iciones POST la emos median e el siguien e ejemplo: $se ice_u l = 'h p://localhos /d upal/ es /use /login'; $pos _da a = a ay( 'use name' => $_POST['use name'], 'passwo d' => $_POST['passwo d'] ); $pos _da a = h p_build_que y($pos _da a, '', '&'); // con igu amos la solici ud $cu l = cu l_ini ($se ice_u l); cu l_se op ($cu l, CURLOPT_RETURNTRANSFER, ue); cu l_se op ($cu l, CURLOPT_POST, ue); cu l_se op ($cu l, CURLOPT_POSTFIELDS, $pos _da a); // hace la solici ud cu l_se op ($cu l, CURLOPT_VERBOSE, ue); $ esponse = cu l_exec($cu l); cu l_close($cu l); JSON: JSON es un o ma o de in e cambio de da os que puede se leído po cualquie lenguaje de p og amación. Las espues as que ob enemos al ealiza pe iciones a D upal las hemos con igu ado pa a que engan es e o ma o, la espues a la con e imos en un a ay y de es e modo abajamos con los da os ecupe ados. U ilizando a _dump mos amos el esul ado, con json_decode lo con e imos a json y con el a ibu o ue a a ay asocia i o: a _dump(json_decode($json, ue)); 55 A con inuación, se mues a la espues a ob enida al ealiza una pe ición GET pa a ob ene los da os del ca álogo: 7.4 PORTAL MÓVIL 7.4.1 In oducción En es a pa e del capí ulo se ha á e e encia a las ecnologías web u ilizadas pa a el desa ollo del po al o ien ado a disposi i os mó iles y se esal a án los aspec os más in e esan es de la implemen ación. An es de con inua , quie o nomb a las ecnologías web que, jun o al amewo k jQue y Mobile, se han u ilizado pa a pode implemen a es a pa e de un modo e icien e, son las siguien es: HTML5, CSS3, PHP, Ja aSc ip , jQue y y AJAX. 7.4.2 Ace ca de jQue y Mobile jQue y Mobile es un amewo k desa ollado po jQue y que combina HTML5 y jQue y pa a la c eación de po ales web mó iles. Nos pe mi e gene a aplicaciones cuya apa iencia se á siemp e la misma, independien emen e del disposi i o desde el que acceda un usua io siemp e que es e usua io acceda desde un disposi i o que acep e HTML5. Es e amewo k nos p o ee de cie as he amien as que nos hacen la a ea de c ea una página mucho más sencilla. Con unas pocas asignaciones de a ibu os HTML es posible gene a a ac i as in e aces de ácil uso y acceso. 7.4.3 Fiche os de implemen ación. 56 index.php: es el p ime a chi o, nos mues a la p ime a in e az que pe mi i á al usua io una cómoda na egación po el po al web. home.php: a chi o al que se edi igi á al usua io cuando quie a si ua se en el inicio, es de ácil acceso a a és de la ba a de na egación supe io , pa a que el usua io no se sien a pe dido ni deso ien ado. ca alogo.php: segu amen e el a chi o más in e esan e del po al de ca a al usua io. A a és de una pe ición GET mues a al usua io una is a que con iene la lis a de las películas disponibles en nues o sis ema y el p ecio co espondien e a cada una de ellas. ca alogo_id.php: cumple la misma unción que el iche o an e io , la di e encia es á en que es e se mues a a los usua ios iden i icados mos ando un descuen o del 25% en el p ecio de cada película. como_ unciona.php: mues a una sencilla lis a con los cua o pasos básicos que pe mi i án al usua io conoce ácilmen e como na ega y u iliza el po al mó il. login_mo il.php: desde es e á ea el usua io ellena un sencillo o mula io pa a au en i ica se (nomb e de usua io y con aseña). Es e o mula io se en ía al iche o login.php. login.php: se ecogen los da os del o mula io alojado en login_mo il.php y se hace una pe ición POST a D upal, con lo ob enido de es a se c ea una cookie de sesión. au hen ica ed_ eques .php: a a és de la u l y la cookie de sesión hace una pe ición pa a man ene la sesión sin ene que ol e a hace el login. No ha sido inalmen e u ilizado en es e p o o ipo uncional, pues manejamos la demos ación de log in y la di e en e expe iencia de na egación de los usua ios po el po al de di e en e mane a, se deja á pa a se u ilizado en líneas u u as de es e abajo. logou .php: ealiza una pe ición POST a a és del se icio web pa a ce a la sesión del usua io iden i icado. ecibe-pelicula.php, ecibe-di ec o es.php, ecibe-pa ame os.php: son a chi os con sen encias condicionales pa a iden i ica y mos a el con enido deseado, la unción que desempeñan es la de no ensucia los iche os en los que es án incluidos, los cuáles se án llamados po unciones que hacen uso de jQue y y AJAX. menu_desplegable.php: en es e se encuen a implemen ado el menú desplegable, accesible desde cualquie pan alla del po al mó il a a és del bo ón izquie do del encabezamien o. menu_desplegable_id.php: cumple la misma unción que el an e io , la di e encia es que es é apa ece cuando el usua io se ha iden i icado y se man iene has a que cie a su 57 sesión. En ez de apa ece en la zona de acceso del menú desplegable el enlace Inicia sesión apa ece á Ce a _sesión. o denación.php: una ez ob enido del menú el ipo de o denación del ca álogo deseado, hace una pe ición GET pa a ob ene la is a adecuada. gene o.php: una ez ob enido del menú el il o po géne o deseado, hace una pe ición GET pa a ob ene la is a deseada. icha_pelicula.php: elegida una película del ca álogo, a a és de una pe ición GET ob iene la icha de la película indicada. icha_di ec o .php: al accede a una icha de película, el campo di ec o con iene un enlace que al clica en él ejecu a á es e a chi o ealizando una pe ición GET y ob eniendo la in o mación sob e el di ec o de cine de la misma. 7.4.4 Aspec os so wa e des acados. La ba a de na egación in e io que se man iene en odas las pan allas de es e po al, compues o po es bo ones (Home, Ca álogo, Cómo unciona) que dan acceso ápido a los usua ios a las á eas más des acadas del mismo. El a ibu o <di da a- ole=”na ba ”> de jQue y Mobile nos pe mi e implemen a es a a ac i a ba a de na egación de o ma sencilla, igual que si implemen ásemos una lis a. Un encabezado, ambién cons an e en las di e en es pan allas del po al, con el nomb e de la página y dos bo ones (Menú y Busca ). De es os bo ones solo se ha implemen ado pa a es e abajo el co espondien e al menú desplegable, de es e habla emos a con inuación. El a ibu o <di da a- ole=”heade ”> de jQue y Mobile nos p opo ciona es e a ac i o ecu so so wa e. El menú desplegable, e ce y úl imo elemen o que pe manece en cada una de las pan allas de es a pa e, se despliega cuando se pulsa sob e el bo ón si uado a la izquie da del encabezado. Median e es e, los usua ios pueden au en i ica se, o dena , ob eniendo un lis ado o denado del ca álogo en es o mas: al abé ica, más popula es, más ecien es. También pe mi e ealiza acciones de il ado a a és del géne o. 64 Ope a Mobile 65 8.2 Validación de la segu idad en el acceso a la zona de adminis ación Pa a accede a la zona de adminis ación de la aplicación web el usua io debe á iden i ica se como al, e emos el caso de ambos po ales: D upal: el usua io debe á iden i ica se ellenando el o mula io de au en icación si uado en un bloque al lado de echo del po al. En onces accede á al po al con odos los pe misos asignados a es e ol p i ilegiado. Pa a ce a la sesión an solo debe á accede al enlace Log ou . Mó il: el usua io, desde cualquie pa e del po al, debe á ab i el menú desplegable, si uado en la esquina supe io izquie da de la página, y di igi se al á ea de acceso Inicia sesión. Aquí debe á ellena los campos de un sencillo o mula io, si son co ec os end á acceso p i ilegiado al po al (siendo es os p i ilegios pa a es e caso los mismos que los de cualquie o o usua io iden i icado). Los da os son en iados y a ados en el a chi o login.php, siemp e que sean co ec os edi ecciona á al usua io a la página home.php (en caso con a io sald á un a iso de e o en alguno de los campos). Pa a ce a la sesión debe á desplega nue amen e el menú, en onces e á que en ez de Inicia sesión pone Ce a sesión, al accede a es e el usua io ol e á a adop a una expe iencia de usua io no iden i icado, en lo que a la na egación del si io web se e ie e. 66 8.3 Validación de enlaces o os. Po sue e no son muchos los iche os que es án in e elacionados en es e p oyec o, es po ello que ha sido ácil comp oba manualmen e que no exis en enlaces o os en es e TFG. Es o se ha ealizado limpiando el código y accediendo desde cada uno de los iche os a odos sus posibles enlaces y comp obando el co ec o acceso a cada uno de ellos. Ha hecho al a u iliza la p opiedad de jQue y Mobile da a-ajax= alse en los enlaces pa a pode ealiza de o ma adecuada ansiciones en e las páginas. También anula a a és de ja asc ip algunos enlaces pa a que, sin pe de el es ilo, al clica sob e ellos no ejecu a án ese enlace y si la unción jQue y – AJAX asociada a una de sus clases. 67 9. CONCLUSIÓN 9.1 Conclusión del abajo ealizado. La ealización de es e abajo de in de g ado me ha pe mi ido comp oba la g an u ilidad que suponen los conocimien os adqui idos du an e la ca e a en asigna u as como Mul imedia, Diseño de In e aces Humanas, Diseño de Aplicaciones Web I y Diseño de Aplicaciones Web 2. Es e abajo me ha hecho ap ende y mejo a en la u ilización de ecnologías y del en o no web. Además, conside o habe adqui ido una isión p o esional del p og amado web, en un p incipio he enido que in e ac ua con el clien e que sugi ió desa olla el p oduc o y he abajado bajo p esión pa a pode cumpli cie os plazos de en ega. En el siguien e pun o de es e capí ulo a a é algunas líneas de desa ollo u u o sob e la aplicación. Al a a se de un p o o ipo, la uncionalidad de la aplicación no es del odo comple a, se ha desa ollado en unción de las exigencias que se deben cumpli en un abajo de in de g ado. El abajo se ha ealizado sa is ac o iamen e bajo mi pun o de is a ya que las unciones desc i as en la especi icación de equisi os han sido implemen adas. 9.2 Líneas u u as. Es e abajo desa olla un p o o ipo uncional cen ándonos en cumpli y aplica sa is ac o iamen e una se ie de condiciones y conocimien os. Pe o la cosa no acaba aquí, se segui á abajando pa a hace de él un p oduc o comple o, ágil y lige o. Algunas de las ideas a desa olla p óximamen e son las siguien es: - Se implemen a á el conocido como sc oll-in ini o, como paginación pa a ca ga dinámicamen e a a és de AJAX con enido en el po al sin ene que ca ga o a página. El usua io na ega á po el ca álogo y al llega al inal de es e se ecoge á el e en o que es a á asociado a una unción que se enca ga á de ae el siguien e paque e de da os y conca ena lo al inal de la lis a. Es o se epe i á has a acaba de ae da os o se einicia á al cambia de página. - Se mejo a á el es ilo del po al mó il. - Se uni ica án los p i ilegios de los ac o es en ambos po ales. - El usua io egis ado pod á comp a las películas a a és de cuen a banca ia o Paypal pudiendo ep oduci las mismas en disposi i os mó iles ia s eaming, p e ia con a ación de es e se icio. - Se implemen a á un sis ema monede o pa a que el usua io, si lo desease, pudiese ene un saldo en el sis ema sin ene que es a u ilizando sus da os banca ios en la comp a de cada película. 68 - Implemen ación del bo ón de búsqueda si uado a la de echa de la ba a de na egación supe io pa a así pode busca películas po palab as cla e. 69 10. MANUAL DE USUARIO Y SOFTWARE. A con inuación, se mos a á un sencillo manual que a a és de cap u as de pan alla i á mos ando al usua io la uncionalidad de ambos sis emas y la comunicación a a és del web se ice. 10.1 INSTALACIÓN Y CONFIGURACIÓN Pa a ap o echa oda la uncionalidad que p opo ciona es e abajo debemos con igu a co ec amen e los elemen os so wa e sob e el único ha dwa e ealmen e necesa io pa a el desa ollo de es e p o o ipo, un o denado po á il (pudiendo se i se el usua io del mismo modo de un PC de esc i o io). XAMPP: lo p ime o que debemos hace es ins ala el se ido local XAMPP, pa a ello se debe accede a la web ‘h p://www.apache iends.o g/es/xampp.h ml’ y desca ga el a chi o compa ible con nues o sis ema ope a i o que lo con enga. Una ez desca gado, se debe ejecu a el ins alado y segui las ins ucciones de ins alación, de es e modo end emos XAMPP lis o pa a usa . Una ez ins alado XAMPP, debemos ab i el panel de con ol de dicho so wa e y ac i a los dos únicos se icios que necesi a emos u iliza en es e p oyec o, Apache y MySQL. Pa a ello debemos hace click sob e el bo ón ‘S a ’ de la columna ‘Ac ions’ en la ila co espondien e a ambos se icios. Si se han iniciado co ec amen e apa ece á el nomb e de es os sob e un ondo e de y los pue os, e iden i icado es de los mismos, en los que se ejecu an. En la siguien e imagen e emos cómo queda el panel de con ol. 70 T as ejecu a es os pasos, coloca emos el di ec o ‘p oyec o’, el cual con iene odos los iche os de implemen ación del po al mó il, en el di ec o io ‘h docs’ de la ca pe a xampp, es e es el di ec o io donde se deben aloja las di e en es aplicaciones webs. En es e pun o ya enemos ins alado XAMPP y el po al mó il lis o pa a u iliza . Las pau as de uso de es e po al las e emos más adelan es as ins ala D upal 7 en nues o PC. DRUPAL 7 P ime a pa e – Impo a la base de da os (a chi o .sql) Pa a que el usua io pueda ins ala el po al D upal que hemos diseñado e implemen ado en su po al, debe impo a el a chi o .sql que con end á la base de da os con odas las ablas del mismo. Pa a ealiza es e paso co ec amen e debe á accede a la he amien a phpmyadmin, es o se puede hace esc ibiendo en la ba a de di ecciones del na egado localhos /phpmyamdin, una ez den o da le a impo a y selecciona dicho a chi o. Po de ec o, phpmyadmin, admi e ealiza impo aciones de a chi os lige os, que pesen muy poco. Po ello, es p obable que el usua io deba accede al a chi o php.ini si uado en xampp/php y edi a los siguien es pa áme os dándoles una mayo capacidad: upload_max_ ilesize (po de ec o sopo a solo 2M), memo y_limi (po de ec o sopo a 16M) y pos _max_size (po de ec o sopo a 8M). 71 Segunda pa e – Ca pe a con enedo a de odos los a chi os de implemen ación del po al D upal. La ca pe a con enedo a de odos es os a chi os debe se ambién alojada en el di ec o io dedicado h docs del se ido XAMPP. Una ez impo ada la base de da os y bien si uada la ca pe a de d upal el usua io puede accede y na ega po el po al. Sin necesidad de iden i ica se, el usua io puede na ega po el po al pe o no pod á o a y con ibui al sis ema de pun uación de cada película, ni end á pe misos de esc i u a o espues a de comen a ios. Ve emos una imagen de una icha de película desde la isión que el po al o ece a cada uno de los ac o es pa a hace nos una idea de las di e encias, en el caso del usua io no iden i icado: 72 El usua io que se iden i ica y accede al po al, sin se adminis ado , na ega del mismo modo que el usua io no iden i icado. La di e encia es que es e puede ce a su sesión, cambia sus da os pe sonales, o a e in e ac ua con o os usua ios a a és de comen a ios en las ichas de las películas. Pa a que el usua io pueda expe imen a lo a a és de es e p oyec o se pod á iden i ica del siguien e modo: nomb e de usua io: use 1 o use 2 y cla e de acceso: use 1 o use 2. A con inuación, emos la imagen co espondien e al usua io iden i icado, en ella se e que use 1 ha comen ado y espondido a un comen a io del adminis ado : 73 En caso de que e na ega como usua io adminis ado debe á au en i ica se con nomb e de usua io: admin y cla e de acceso: admin. De es a mane a pod á, además de na ega del mismo modo que un usua io iden i icado, ges iona a los usua ios y el con enido del po al a a és de un menú inexis en e pa a el es o de oles en es e p oyec o. Lo emos en la siguien e imagen: