API de se icios web
o ien ados a accesibilidad
Sheila Plaza Es é ez
Ne ea Ramí ez Lamela
Ca men Acos a Mo ales
Di ec o es:
Raquel He ás Balles e os
Gonzalo Rubén Mendez Pozo
T abajo de in de g ado del G ado en Ingenie ía In o má ica
Facul ad de In o má ica
Uni e sidad Complu ense de Mad id
Cu so 2015-2016
Documen o maque ado con T
EXiS .1.0.
API de se icios web
o ien ados a accesibilidad
Sheila Plaza Es é ez
Ne ea Ramí ez Lamela
Ca men Acos a Mo ales
Di ec o es:
Raquel He ás Balles e os
Gonzalo Rubén Mendez Pozo
T abajo de in de g ado del G ado en Ingenie ía In o má ica
Facul ad de In o má ica
Uni e sidad Complu ense de Mad id
Cu so 2015-2016
Índice
1. In oducción 11
1.1. Mo i ación ............................ 11
1.2. Obje i o.............................. 12
1.3. O ganización del p oyec o . . . . . . . . . . . . . . . . . . . . 13
2. In oduc ion 15
2.1. Mo i a ion............................. 15
2.2. Goals ............................... 16
2.3. P ojec managemen . . . . . . . . . . . . . . . . . . . . . . . 16
3. Es ado de la Cues ión 19
3.1. API: De iniciones y ipos . . . . . . . . . . . . . . . . . . . . . 19
3.1.1. APIs de Se icio Web . . . . . . . . . . . . . . . . . . 20
3.1.2. API: Ejemplos . . . . . . . . . . . . . . . . . . . . . . 22
3.2. REST: P ime os concep os . . . . . . . . . . . . . . . . . . . . 24
3.2.1. P incipios REST . . . . . . . . . . . . . . . . . . . . . 25
3.2.2. Mé odos en REST . . . . . . . . . . . . . . . . . . . . 27
3.3. Se icios de Accesibilidad . . . . . . . . . . . . . . . . . . . . 30
3.4. Análisis de APIs disponibles . . . . . . . . . . . . . . . . . . . 37
3.5. Conclusiones y elemen os a u iliza . . . . . . . . . . . . . . . 41
4. Plan eamien o del p oyec o 43
5. Se icios 47
5.1. Aspec os comunes de los se icios u ilizados . . . . . . . . . . 47
5.2. Se icio palab a sencilla . . . . . . . . . . . . . . . . . . . . . 52
5.3. Se icio sinónimos . . . . . . . . . . . . . . . . . . . . . . . . 54
5.4. Se icio con e i a pic og ama . . . . . . . . . . . . . . . . . 57
5.5. Se icio an ónimos . . . . . . . . . . . . . . . . . . . . . . . . 60
5.6. Se icio de iniciones . . . . . . . . . . . . . . . . . . . . . . . 63
5.7. Se icio aduci a inglés . . . . . . . . . . . . . . . . . . . . . 66
5.8. Se iciolema ........................... 68
i Índice
5.9. Se icio con e i a palab a sencilla . . . . . . . . . . . . . . . 70
6. Desa ollo de la página Web de ep esen ación de la API 75
6.1. Página p incipal . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.2. Páginas secunda ias . . . . . . . . . . . . . . . . . . . . . . . 77
7. Desa ollo de una aplicación de ejemplo de los se icios 83
7.1. In e az g á ica de la aplicación. . . . . . . . . . . . . . . . . . 84
7.2. Elemen os de implemen ación del diseño . . . . . . . . . . . . 90
7.3. Implemen ación de la aplicación . . . . . . . . . . . . . . . . . 93
8. Conclusión del p oyec o y abajo u u o 99
8.1. Conclusión............................. 99
8.2. T abajo u u o . . . . . . . . . . . . . . . . . . . . . . . . . . 100
9. P ojec conclusions and u u e wo k 103
9.1. Conclusions............................103
9.2. Fu u ewo k............................104
10.Apo aciones indi iduales 107
10.1. Sheila Plaza Es é ez . . . . . . . . . . . . . . . . . . . . . . . 107
10.2. Ne ea Ramí ez Lamela . . . . . . . . . . . . . . . . . . . . . . 110
10.3. Ca men Acos a Mo ales . . . . . . . . . . . . . . . . . . . . . 111
Bibliog a ía 115
Índice de igu as
3.1. Esquema de Se icios Web . . . . . . . . . . . . . . . . . . . . 22
3.2. Es uc u a básica de a qui ec u a REST . . . . . . . . . . . . 24
3.3. Es uc u a de Se icios Uni o mes . . . . . . . . . . . . . . . 25
3.4. Es uc u a sin es ado . . . . . . . . . . . . . . . . . . . . . . . 26
3.5. Es uc u a gene al de se icio REST . . . . . . . . . . . . . . 27
3.6. Diseño de API REST . . . . . . . . . . . . . . . . . . . . . . . 29
3.7. REST sSOAP.......................... 29
3.8. Ejemplo de esul ado ob enido con pic o aduc o . . . . . . . 32
3.9. Ejemplo de esul ado en aplicación web de XTex . . . . . . . 34
3.10. Ejemplo de esul ado en A aT aduc o . . . . . . . . . . . . . . 34
3.11. Resul ado del edi o p edic i o de mensajes en pic og amas. . 35
3.12. Ejemplo de uncionalidad de la web Na egaFacil. . . . . . . . 36
3.13.GoogleInicio ........................... 37
3.14.GoogleEjemplo.......................... 38
3.15. Facebook Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . 39
3.16.FacebookInicio.......................... 40
3.17. Twi e inicio. . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.18. Twi e Ejemplo. . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.1. Diag ama explica i o del p oyec o. . . . . . . . . . . . . . . . 45
5.1. Paque e con los se icios en Eclipse. . . . . . . . . . . . . . . 47
5.2. A chi oweb.xml ......................... 48
5.3. A chi o web.xml pa a URL comple a . . . . . . . . . . . . . . 49
5.4. Uso de @Pa hPa am . . . . . . . . . . . . . . . . . . . . . . . 50
5.5. F agmen o del a chi o 5000_ o mas.TXT de la RAE. . . . . . 53
5.6. Diag ama explica i o del se icio palab as sencillas . . . . . . 54
5.7. Ejemplo de esul ado de sinónimos en XML . . . . . . . . . . 55
5.8. Ejemplo de esul ado de sinónimos en JSON . . . . . . . . . . 55
5.9. Ejemplo de consul a “comp a ía” en Wo dRe e ences. . . . . . 56
5.10. Diag ama explica i o del se icio sinonimos. . . . . . . . . . . 57
ii
iii Índice de igu as
5.11. Ejemplo de consul a a “ ase” con la ase “ opa de e ano”. . 58
5.12. Ejemplo de consul a a “palab a” con la palab a “juga ”. . . . . 58
5.13. Diag ama explica i o del se icio pic og ama. . . . . . . . . . 59
5.14. Resul ado de uel o de la búsqueda de “come ” en hypa ia. . . 60
5.15. Imagen de ejemplo de ep esen ación de an ónimos en Wo -
dRe e ence. ............................ 60
5.16. Llamada a an ónimos en o ma o JSON de la palab a “subi ”. 61
5.17. Llamada a an ónimos en o ma o XML de la palab a “subi ”. 61
5.18. Diag ama explica i o del se icio an ónimos. . . . . . . . . . . 62
5.19. Ejemplo de la llamada a de inición de Wo dRe e ence con “niño”. 63
5.20. E ique as de in e és del código de de inición en Wo dRe e ence. 64
5.21. Llamada a de inición en o ma o JSON de la palab a “luz”. . . 65
5.22. Llamada a de inición en o ma o XML de la palab a “luz”. . . 65
5.23. Diag ama explica i o del se icio de iniciones. . . . . . . . . . 66
5.24. Ejemplo de aducción en XML . . . . . . . . . . . . . . . . . 67
5.25. Ejemplo de aducción JSON . . . . . . . . . . . . . . . . . . 67
5.26. Diag ama explica i o del se icio de aducción a Inglés. . . . 68
5.27. Ejemplo de llamada al se icio lema con la palab a “consumía”
enXML............................... 69
5.28. Ejemplo de consul a a “Busca palab a”. . . . . . . . . . . . . 69
5.29. Diag ama explica i o del se icio lema. . . . . . . . . . . . . . 70
5.30. Ejemplo de llamada de con e sion con la palab a “Rebusca ”
enXML............................... 72
5.31. Ejemplo de llamada de con e sion con la palab a “Rebusca ”
enXML............................... 72
5.32. Diag ama explica i o del se icio de con e sión . . . . . . . . 73
6.1. Página inicial de la API . . . . . . . . . . . . . . . . . . . . . 76
6.2. Panel supe io con eedback en el posicionamien o sob e Inicio. 77
6.3. Panel izquie do con eedback en posicionamien o de se icio. . 78
6.4. Ejemplo de desc ipción del se icio “Comp oba palab a”. . . 79
6.5. Ejemplo de como llama a las URLs de “Di icul ad de palab a”. 79
6.6. Ejemplo de mues a de como llama a las URLs de “Pic og ama”. 79
6.7. Ejemplo de abla de in o mación. . . . . . . . . . . . . . . . . 80
6.8. Ejemplo de pa áme os. . . . . . . . . . . . . . . . . . . . . . 80
6.9. Ejemplo de llamadas a las URLs. . . . . . . . . . . . . . . . . 81
7.1. Cabece a de la aplicación And oid . . . . . . . . . . . . . . . 84
7.2. Tex o de pe ición de palab a y el espacio pa a in oduci la. . 85
7.3. Bo ones con los se icios disponibles. . . . . . . . . . . . . . . 85
7.4. Pan alla p incipal de la aplicación And oid pa a able . . . . 86
7.5. Ejemplo de esul ado de la palab a sencilla “pe o” . . . . . . 87
Resumen
Hoy en día i imos en una sociedad en la que las ecnologías son accesi-
bles pa a g an pa e de la población y las cuales ienen como inalidad, en e
o as cosas, acili a la ida de las pe sonas en la medida de lo posible.
Es e p oyec o busca hace uso de esas ecnologías pa a acili a la ac-
cesibilidad a ex os pa a cualquie a que pueda ene di icul ades con ellos,
en mayo o meno medida. La inalidad de nues o p oyec o no es c ea la
aplicación pa a el uso di ec o de las pe sonas sino desa olla los se icios, y
el acceso a los mismos, que acili en la implemen ación de es as aplicaciones.
Aún así en es e p oyec o se c ea una aplicación de ejemplo pa a And oid, en
la cual se hace uso de los se icios como mues a de un posible uso de los
mismos.
Pa a acili a el acceso a es os se icios y la comp ensión de los mismos,
en es e p oyec o se c ea ambién una API web en la cual quedan odos ellos
explicados, como accede a ellos, su desc ipción, ejemplos de llamadas y de
esul ados de las llamadas, en de ini i a, odo lo que pueda ayuda a un
desa ollado in e esado en ellos a u iliza los sin mayo p oblema.
Las aplicaciones posibles de es os se icios son de lo mas ex ensas. Así,
po ejemplo, en un disposi i o mó il, si un usua io es á leyendo un lib o y no
en iende una palab a o le esul a bas an e complicada, an solo end ía que
saca el mó il, in oduci la palab a en una aplicación que llama a a uno de
nues os se icios y ob ene el esul ado eque ido de esa palab a, de o ma
ápida y cómoda.
El p oyec o queda di idido en es pa es: el desa ollo de los se icios
de accesibilidad, la web de la API explicando cada uno de es os se icios y
una aplicación And oid de ejemplo de u ilización.
5
Abs ac
Nowadays we li e in a socie y in which echnologies a e accessible o mos
o he people. These echnologies ha e as a goal, mos ly, helping people.
This p ojec ’s goal is o use hose echnologies o make ex s mo e acce-
sible o whoe e may ha e di icul ies wi h hem. This p ojec goal is no
de elop an aplica ion which makes he accesibili y o ex s easie , bu o c ea-
e he se ices ha can help o de elop hose kind o aplica ions. Howe e ,
we ha e de eloped and example aplica ion.
To ease he access and unde anding o hose se ices, his p ojec c ea es
an API ha explains each one o hem, as well as hei desc ip ion, examples,
and e e y hing a de elope migh need i he is in e es ed in using hem.
The e a e plen y o possible aplica ions o hese se ices. Fo example, i
a use has a mobile de ice, and he o she is eading a book and he e is a
wo d ha is no easy o unde s and, he o she would jus ha e o ake he
de ice, in oduce he wo d in he aplica ion ha is using ou se ices, and
will ha e he esul in a easy and as way.
This p ojec is s uc u ed in h ee pa s, he de elopmen o he accessi-
bili y se ices, he API explaining each one o hese se ices, and an And oid
applica ion as an example o how o use hem.
7
8 ÍNDICE DE FIGURAS
Palab as Cla e
REST
API
Accesibilidad
Se icio web
XML
JSON
ÍNDICE DE FIGURAS 9
Key wo kds
REST
API
Accessibili y
Web se ices
XML
JSON
Capí ulo 1
In oducción
1.1. Mo i ación
Desde hace ya iempo el se humano ha buscado medios de comunicación
más allá de la palab a simplemen e hablada, ya sea pa a comunica se di ec-
amen e con o as pe sonas ce canas, pa a ansmi i lo que piensa o pa a
da a conoce una e dad que c ee que concie ne a o os indi iduos. Hoy en
día eso es cada ez más posible, ya que las comunicaciones alcanzan cada
ez a más gen e, siendo su impac o cada ez mayo . Sin emba go, no siemp e
un mensaje es accesible pa a odo el mundo, incluso cuando ísicamen e se
puede accede a él.
Hay muchas limi aciones que no concie nen al campo de las comunica-
ciones a la ho a de que un mensaje pueda llega a un público. La más ob ia
puede esul a el idioma en el que se ansmi e, y po eso es la más a ada y
la p ime a que se lle a a cabo siendo, posiblemen e, ambién la más sencilla
de a a .
Sin emba go, una a la que no se le p es a an a a ención y que es igual-
men e limi an e es la capacidad de comp ensión de un idioma pa a las pe so-
nas que lo compa en. Es o quie e deci que, den o de una comunidad con un
mismo lenguaje, hay pe sonas que no son capaces de en ende palab as com-
plejas que a o as pe sonas les pueden esul a comp ensibles. Es e escena io
se puede da en dis in as si uaciones: gen e con p oblemas de ap endizaje
con alguna discapacidad que limi e el mismo.
Pe o eso no acaba ahí. A menudo no se a a de una limi ación en el
ap endizaje de la pe sona en si misma sino un p oblema con el ex o a lee ,
ya que puede ene una complejidad de é minos o almen e especí ica del
ex o a ado, en el cual una pe sona ajena a esa se ie de é minos puede
encon a se pe dida an e el ex o. Es a si uación se puede da con asun os
legales, ex os cien í icos, concep os ecnológicos...
Siendo conscien es de es a necesidad, en la Facul ad de In o má ica, a lo
11
12 Capí ulo 1. In oducción
la go de los años, se han ido ealizando di e en es p oyec os de g an u ilidad
social ales como simpli icación de ex os pa a acili a su comp ensión, a-
ducción de ex os a pic og amas pa a aquellas pe sonas que no son capaces
de lee los, econocimien o de la complejidad de las palab as den o de un
ex o... Todos es os p oyec os se han ido c eando a lo la go de los años en
dis in os lenguajes, o ma os y es ilos.
Nues o p oyec o su ge de la necesidad de da le una u ilidad social a esos
p oyec os, haciéndolos más uni icados y accesibles, median e una API web y
una aplicación pa a And oid a modo de ejemplo de uso de los ecu sos de la
API.
Finalmen e cabe des aca que es e p oyec o se enma ca den o de o o
que ecibe el nomb e de: IDiLyCo: inclusión digi al, lenguaje na u al y comu-
nicación. TIN2015-66655-R (MINECO/FEDER). , el cual es á co inanciado
po el Minis e io de Economía y Compe i i idad y el Fondo Eu opeo de
Desa ollo Regional (FEDER) den o del Plan Nacional de I+D+i.
El obje i o del p oyec o, es acili a la comunicación y el acceso a la in o -
mación digi al a colec i os que, po su di e sidad uncional pueden encon a
p oblemas a la ho a de u iliza el lenguaje pa a comunica se o accede a dicha
in o mación.
IDiLyCo busca el desa ollo de soluciones ecnológicas que pe mi an de
una mane a sencilla y con g an capacidad de con igu ación, la inclusión di-
gi al de es as pe sonas.
O ece a los diseñado es o p og amado es de nue as he amien as que
deseen pe mi i la inclusión digi al de pe sonas con discapacidad, in eg a
en sus implemen aciones los se icios desa ollados en es e p oyec o, aho-
ando así un eno me cos e en in es igación y desa ollo de es as ecnologías
accesibles .
1.2. Obje i o
Nues o obje i o, como acabamos de e , es consegui que los ecu sos
de mejo a de la comunicación es én uni icados, comple os y accesibles pa a
odo aquel que quie a u iliza los. Además apo a emos ejemplos de posibles
u ilizaciones de los mismos que puedan se i como ideas pa a po enciales
in e esados en es os ecu sos.
Pa a ello, en es e p oyec o nos enca ga emos de e isa los p oyec os an-
e io es, co igiendo allos que pudie an ene y mejo ando uncionalidades.
Así mismo nos enca ga emos de uni ica odos es os p oyec os, poniéndolos
odos en un mismo lenguaje, así como en un mismo se ido y gua dando la
consis encia en e los di e en es se icios, an o en la o ma de en ada como
1.3. O ganización del p oyec o 13
en la de salida, eniendo dos o ma os pa a la misma, XML y JSON. Además
los pond emos odos en una API común pa a su mayo accesibilidad de ca a
a usua ios que puedan es a in e esados en u iliza los, así como ejemplos de
u ilización pa a que sea lo más cla o posible.
1.3. O ganización del p oyec o
Pod ía deci se que el p oyec o es á di idido en es pa es p incipales:
se icios REST, la API de los mismos y un ejemplo And oid de u ilización
de los mismos.
Se icios: En la pa e de se icios nos enca ga emos de e isa se i-
cios an e io es, hace los consis en es unos con o os an o en lenguaje
en el que es én implemen ados como en o ma o, co egi allos y hace
comp obaciones de e o es de los mismos. Además amplia emos con
nue os se icios pa a hace los lo más comple os posible. Pa a ello en-
d emos que analiza algunas páginas de in e és como: páginas web de
sinónimos y an ónimos, iche os de palab as más usadas pa a deduci
la complejidad de las mismas, webs de de iniciones y de aducciones al
inglés... Todo es o end á como esul ado un se ido con unos se i-
cios uncionales y ácilmen e accesibles que acili a án el cumplimien o
de nues os obje i os.
API:De ca a a la pa e de la API nos enca gamos de que es os se i-
cios esul en cla amen e ep esen ados y accesibles, apo ando acilidad
a la ho a de se u ilizados, ya que la API p opo ciona á ejemplos de
llamadas, así como ejemplos de esul ados en ambos o ma os, XML
yJSON. La API dispond á de un diseño sencillo, con una se ie de des-
c ipciones cla e pa a el en endimien o de la uncionalidad del se icio,
así como los pa áme os que necesi a y lo que se espe a ob ene de él.
And oid: El ejemplo Ando id se enca ga á de mos a , en una apli-
cación en And oid, un ejemplo sencillo y conciso de como se les puede
da uso a nues os se icios, a modo de posible idea pa a po enciales
in e esados. De es e modo, al ene un ejemplo más eal, más inal y
p ác ico, esul a mucho más en ado segui i ando po ese campo,
es ya cla amen e con es e ejemplo como se le puede saca pa ido a
los se icios, y como es os uncionan co ec amen e pudiendo p oba
las dis in as uncionalidades en la aplicación.
3.1. API: De iniciones y ipos 21
hab á que ene es anda izado una se ie de a qui ec u as so wa e álidas a
u iliza en es e de e minado ipo de APIs.
Pa a en ende lo an e io men e mencionado hay que ene cla os una
se ie de concep os que son undamen ales pa a la comp ensión de las APIs de
se icios Web. Es os concep os quedan b e emen e de inidos a con inuación,
cen ándonos especialmen e en REST y SOAP en el apa ado 3.2.
SOAP (Simple Objec Access P o ocol):es un p o ocolo es ánda
de comunicación en e dis in os componen es so wa e. Es á basado
en XML pa a la ansmisión de sus mensajes, en los cuales quedan
añadidos los pa áme os de la pe ición. Apo a una g an en aja y
es que no equie e que los componen es so wa e de los ex emos de
la comunicación co an en el mismo sis ema ope a i o, ni siquie a que
es én en el miso lenguaje de p og amación. Es á no malmen e asociado
con HTTP como p o ocolo de anspo e, aunque puede sopo a o os.
(Wikipedia (Ma zo, 2016b)).
XML (eX ensible Ma kup Language):es un lenguaje de ma cado,
como su nomb e indica, diseñado pa a desc ibi los da os anspo a-
dos. Es e lenguaje es au od escip i o y el concep o de ex ensible hace
e e encia a que puedes c ea e us p opios elemen os ( ags) y bloques
de elemen os. (Wikipedia (Ab il, 2016)).
XML-RPC (Remo e P ocedu e Calls):como su nomb e indica
es un p o ocolo de llamada a p ocedimien os emo os. U iliza HTTP
como medio de anspo e y XML como codi icación y desc ipción de
da os. Es un p o ocolo más an iguo que SOAP y esul a sencillo de
u iliza y ápido en su ejecución. (Wikipedia (Mayo, 2016)).
JSON-RPC: es simila a XML-RPC pe o usa JSON en luga de XML
pa a ans e encia de da os. (Wikipedia (Junio, 2016a)).
REST (Rep esen a ional S a e T ans e ):se enca ga de ep esen-
a la ans e encia de da os. Usa llamadas HTTP siendo así un simple
mecanismo de solici ud y espues a. (Wikipedia (Ma zo, 2016a)).
WSDL (Web Se ices Desc ip ion Language):es un lenguaje de
desc ipción de se icios web esc i o en XML. Tan o mensajes como
ope aciones se desc iben de o ma abs ac a. Es ecomendada po la
W3C Wo ld Wide Web Conso ium. (Wikipedia (Agos o, 2015)).
Así mismo un se icio Web debe á ene un p o ocolo de anspo e es-
ánda , po lo que casi siemp e u iliza HTTP y, po supues o, ealiza las
comunicaciones en una ed, gene almen e a a és de la Web. Debe á, am-
bién, p esen a una desc ipción cla a y de allada de la uncionalidad y el
22 Capí ulo 3. Es ado de la Cues ión
modo de empleo del se icio que o ece, pa a acili a así su comp ensión y
u ilización. En la igu a 3.1 se mues a un esquema explica i o de los se icios
web.
Figu a 3.1: Esquema de Se icios Web
3.1.2. API: Ejemplos
En es e apa ado nos cen a emos en las APIs más popula es exis en es
en el me cado, desc ibiéndolas con cie o de alle, aunque se á en la sección
3.4 donde nos pa a emos más de enidamen e a analiza las que nos han
se ido más a noso as y donde indica emos los mo i os que nos han lle ado
a desca a o asimila en nues a API el es ilo y la uncionalidad de cada
una de ellas.
Google Maps: Es un se icio web o ecido po Google con mapas
desplazables e imágenes po sa éli e que pe mi en la localización geo-
g á ica de luga es, es ablecimien os, disposi i os, e c. En la página de
Google Maps de elope s1 ienes disponibles los di e en es ipos de API,
así como las pla a o mas pa a las que es á desa ollado. Así mismo e
indica las limi aciones que p esen a su uso en unción de si lo eali-
zas de mane a es ánda g a ui a o p emium de pago. Dispone de g an
a iedad de APIs de se icios web ales como con e sión de di eccio-
nes en coo denadas, iempo y dis ancia en e luga es, egis o de zonas
1h ps://de elope s.google.com/maps/documen a ion/ja asc ip /?hl=es
3.1. API: De iniciones y ipos 23
ho a ias, indicaciones en e di ecciones... Además o ece una se ie de
u o iales pa a lle a a cabo dis in as u ilidades aco des con las un-
cionalidades o ecidas po las APIs. Todo es o ha acili ado que es as
APIs se puedan inc us a en dis in os si ios web o disposi i os, pudien-
do manipula los pa a adap a los a las uncionalidades eque idas po
u se icio.
Amazon S3 (Simple S o age Se ice)2: es un se icio web de al-
macenamien o en la nube po el que pagas po el espacio consumido y
las pe iciones ealizadas. Resul a in e esan e que cuando in en as ac-
cede a la API en español es e e lo mues a en inglés de odas o mas.
Tiene el sopo e sob e REST, eniendo algunos sopo es limi ados en
SOAP ambién, pe o no con las nue as uncionalidades de Amazon S3.
La API mues a una se ie de desc ipciones de las di e en es ope aciones
que se pueden ealiza sob e los dis in os obje os. Dispone, al igual que
Google, de nume osos ejemplos y desc ipciones de las dis in as uncio-
nalidades que se pueden ealiza . También desc ibe dis in os códigos
de e o .
Facebook3: es una ed social, una de las más popula es y ex endidas en
la ac ualidad, que pe mi e compa i publicaciones, o os, in o mación,
e c. Es e si io web iene muchísimas posibilidades de negocio debido a
que iene un g an núme o de usua ios in e accionando con él. Es o hace
que exis a g an in e és en desa ollo de uncionalidades que puedan, de
algún modo, ap o echa es e amplio publico. En es e aspec o Facebook
iene una se ie de se icios muy ú iles pa a la cap ación de clien es así
como pa a analiza el endimien o de u aplicación. Además dispone
de he amien as de ma ke ing que pueden acili a la labo de ex ende
el público in e esado. Disponen de una documen ación bien de allada
de odos los se icios que o ecen, así como la o ma de accede a ellos
y ejemplos de u ilización que esul an muy concisos.
Twi e 4: es igualmen e una ed social que pe mi e compa i b e es
con enidos de ex o con us amigos o con el es o de usua ios. Al igual
que Facebook, dispone de g andes posibilidades po que maneja g an
núme o de usua ios. Tiene un se icio que pe mi e a emp esas añadi
publicidad en Twi e lo que p opo ciona un amplio abanico de p oba-
bilidades ya que, al ene an os usua ios, el impac o de es a publicidad
es muy al o. Su se icio de publicidad lo ienen di idido en 3 ni eles:
De elope , Basic y S anda d, eniendo dis in os ni eles de exposición
pa a cada uno. También ienen se icios pa a da acceso a la cadena
global de da os en los Twee s, lo cual es muy con enien e pa a hace
2h ps://aws.amazon.com/es/?nc2=h_lg
3h ps://de elope s. acebook.com/p oduc s/
4h ps://de . wi e .com/o e iew/documen a ion
24 Capí ulo 3. Es ado de la Cues ión
es a egias de ma ke ing. Como en las an e io es, Twi e dispone, ade-
más de lo ya mencionado, de un sis ema de ejemplos de código con sus
co espondien es esul ados, acili ando así el manejo de las APIs
3.2. REST: P ime os concep os
Como eíamos en 3.1.1 REST (REp esen a ional S a e T ans e ) es una
a qui ec u a so wa e que se enca ga de ep esen a la ans e encia de da os.
Cabe des aca que se apoya en el p o ocolo HTTP pa a la ans e encia
de in o mación en e máquinas. Pod ía deci se que iene un es ilo de i ado
de o as a qui ec u as basadas en edes, lo cual lle a a conside á sela más
bien como un conjun o de a qui ec u as. Es p incipalmen e usada pa a la
cons ucción de se icios web, los cuales, es ando basados en REST, eciben
el nomb e de “se icios REST ul”, en los cuales nos cen a emos más adelan e
en es a sección.
REST se enca ga, básicamen e, de a a obje os como ecu sos que pue-
den se c eados y des uidos, eniendo pa a ello cua o mé odos básicos:
pu , dele e, ge y pos , los cuales se enca gan espec i amen e de c ea , lee ,
ac ualiza y bo a y nos cen a emos más en ellos en el apa ado 3.2.2. Es-
á basado en el p incipio clien e-se ido , eniendo que ene las pe iciones
del clien e su es ado o almen e ep esen ado. Supone una sepa ación en e
clien e y se ido , eniendo que enca ga se cada pa e de sus componen es.
Es así una a qui ec u a mul ipla a o ma lo cual es uno de los mo i os que
la hacen ideal pa a se el es ilo de a qui ec u a so wa e usado en WWW
(Wo ld Wide Web).
En la igu a 3.2 se mues a un esquema de la es uc u a básica de una
a qui ec u a REST.
Figu a 3.2: Es uc u a básica de a qui ec u a REST
O o pun o impo an e de la a qui ec u a REST es que es s a eless, sin
es ado, lo cual no signi ica que no se sepa el es ado del clien e si no que no
es el se ido el que se enca ga de almacena es e es ado. Es esponsabilidad
del clien e pasa es a in o mación, pudiendo así el se ido aloja dis in os
clien es en cualquie momen o, sin es a inculado a ninguno conc e amen e.
Todo lo an e io men e desc i o nos lle a a e que, dadas las nume osas
en ajas que apo a REST, los se icios REST ul es én a la o den del día.
3.2. REST: P ime os concep os 25
Un se icio REST ul es básicamen e un se icio web que es á basado en la
a qui ec u a REST pa a su uncionamien o. Es a cen ado en ecu sos y el
acceso a los mismos. Es undamen al que sea sencillo y ápido, po ello ie-
nen una iden i icación de los mencionados ecu sos median e URIs (Uni o m
Resou ce Iden i ie s) pa a un di eccionamien o global. Además disponen de
uni o midad de in e aces, lo cual se aduce en las cua o mé odos an e io -
men e is os de REST (pu , dele e, ge y pos ).
3.2.1. P incipios REST
Como hemos is o en la sección 3.2, REST es una a qui ec u a mul ipla-
a o ma, sin es ado, basada en HTTP y que esul a sencilla de maneja . En
es e apa ado nos cen a emos más en de ini sus p incipios y da una idea
cla a y concisa de la impo ancia que ienen cada uno de ellos.
Los p incipios básicos de las a qui ec u as REST son (Bu ke (No iemb e,
2009) y Wikipedia (Junio, 2016b)):
Uni o midad de in e aces: es a uni o midad se consigue a a és de
lo que HTTP es conocido como e bos, que son los mé odos REST ya
mencionados (ge , pos , dele e, pu ). Exis en o os dos menos u ilizados
que se ían head y op ions, pe o en es o nos cen a emos más en la
sección 3.2.2. Es o acili a la in e acción es ánda de un clien e con sus
ecu sos y con cualquie se ido HTTP sin con igu aciones especiales.
En la igu a 3.3 se mues a un esquema de la uni o midad.
Figu a 3.3: Es uc u a de Se icios Uni o mes
Sin es ado (s a eless): los se icios REST, como ya hemos is o an-
es, son se icios que no egis an el es ado del clien e en el se ido ,
sino que es el mismo clien e el que anspo a esa in o mación consigo
mismo, y es án ep esen ados con las URIs. Es o, jun o con la sepa a-
ción de in e aces en e clien e y se ido , hace que los se ido es sean
más sencillos y escalables, lo cual pe mi e que puedan maneja un au-
men o conside able en el núme o de ecu sos sin que se ea a ec ado
26 Capí ulo 3. Es ado de la Cues ión
el endimien o. Es o es de i al impo ancia en la Web debido a su
cons an e c ecimien o.
En la igu a 3.4 se mues a un esquema del p incipio S a eless.
Figu a 3.4: Es uc u a sin es ado
Iden i icación de ecu sos: es e supone un pun o muy impo an e
pa a el co ec o uncionamien o de los se icios REST ya que hace po-
sible hace e e encia a los dis in os ecu sos de o ma única. Es o se
consigue a a és de las URIs, las cuales p opo cionan capacidad de
di eccionamien o. Es o quie e deci que a a és de un URI se p opo -
ciona un iden i icado único a un de e minado ecu so al cual se pod á
accede en cualquie momen o a a és de es e.
3.2. REST: P ime os concep os 27
En la igu a 3.5 se puede ap ecia la es uc u a gene al de un se icio
REST.
Figu a 3.5: Es uc u a gene al de se icio REST
3.2.2. Mé odos en REST
Una ez explicados los concep os gene ales de REST y sus p incipios
amos a pasa a de ini las cua o mé odos básicos en un sis ema REST5.
Es os coinciden con los e bos de HTTP y son: POST, GET, PUT y
DELETE que hacen e e encia a las ope aciones conocidas como CRUD,
espec i amen e, c ea e, ead, upda e y dele e. A con inuación pasamos a
habla de ellos con más de alle.
POST: es el mé odo co espondien e a la ope ación c ea e, y se en-
ca ga de c ea un nue o ecu so. Es os nue os ecu sos c eados son
subo dinados, se c ean a pa i de un ecu so pad e. Si la c eación ie-
ne éxi o se de ol e á el es ado 201 co espondien e a “C ea ed” y en la
cabece a de localización el link del nue o ecu so que con end á la ID
del mismo. Se pueden p oduci e o es en la c eación de ecu sos, pue-
de se que el ecuso ya exis a, en cuyo caso se de ol e ía el es ado 409
co espondien e a “Con lic ” o que no se encuen e el ecu so en cuyo
caso el es ado es 404, “No Found”. El mé odo POST no es idempo en-
5h p://www. es api u o ial.com/lessons/h pme hods.h ml
28 Capí ulo 3. Es ado de la Cues ión
e, lo cual quie e deci que si aplicas a ias eces la misma ope ación
al mismo elemen o no as a ob ene siemp e el mismo esul ado.
GET: es el mé odo co espondien e a la ope ación ead, y se enca -
ga de lee un ecu so exis en e. Cuando se lee un ecu so es e no se
modi ica po lo que GET es conside ado un mé odo segu o. Es, ade-
más, idempo en e, ya que siemp e que ealices GET sob e un mismo
ecu so el esul ado se á el mismo. Si la lec u a del ecu so se p oduce
sin p oblemas se de uel e un es ado 200 co espondien e con “Ok” y
una ep esen ación del mismo en XML o JSON. Si po el con a io
se p oduce algún e o es e puede se debido a ecu so no encon ado
“No Found” de ol iendo un es ado 404 o a una inco ec a pe ición
del ecu so “Bad Reques ” con un es ado 400. Es impo an e ene en
cuen a que se de uel e el es ado del ecu so, y que no se modi ica, o
debe modi ica el es ado del se ido .
PUT: es el mé odo co espondien e a la ope ación upda e, y se enca ga
de ac ualiza un ecu so. Puede igualmen e se usado pa a la c eación
de un ecu so, lle ando a la duda de cuando usa PUT y cuando POST.
PUT se usa pa a c ea ecu sos cuando ienes oda la in o mación
del ecu so que e quie es c ea , po lo que no end ías que c ea e
el ecu so pa iendo de un ecu so pad e como ocu e en POST. Al
a a se de un mé odo que modi ica un ecu so se conside a como no
segu o. Sin emba go, a di e encia de POST, PUT si es un mé odo
idempo en e, ya que siemp e que aplicas PUT de la misma o ma sob e
un mismo ecu so ob ienes los mismos esul ados. Si la ac ualización
del ecu so se ha ealizado con éxi o es e de ol e á un es ado 200 “Ok”
o 204 si el ecu so no iene ningún con enido “No Con en ”. Si po el
con a io se p oduce un e o de ol e á 404.
DELETE: es el mé odo co espondien e a la ope ación dele e y se
enca ga de bo a un de e minado ecu so. Se necesi a á sabe el iden-
i icado del ecu so pa a pode ealiza es a ope ación, ya que ha de
se ealizada sob e el ecu so conc e o. Si la ope ación se ealiza con
éxi o el ecu so de ol e á un es ado 200 “OK ” o 204 “No Con en ”.
La ope ación de DELETE es idempo en e, ya que ealiza la misma
llamada de DELETE sob e el mismo ecu so da á siemp e el mismo
esul ado, la eliminación del mismo, que el ecu so ya no exis a. Exis-
en objeciones al espec o de la idempo encia del mé odo DELETE
ya que, en ocasiones, si haces a ias eces sob e el mismo ecu so la
ope ación de DELETE e puede de ol e un es ado de e o 404 “No
Found”, pe o en cualquie caso el esul ado sigue siendo que el ecu so
no exis a. DELETE es a su ez un mé odo no segu o, ya que modi ica
el alo de un ecu so, conc e amen e eliminándolo.
3.2. REST: P ime os concep os 29
Además de los mé odos an e io men e mencionados, que esul an los más
comúnmen e u ilizados cuando se a a con se icios REST, exis en ambién
mé odos como: HEAD, OPTIONS y PATCH, siendo HEAD y OPTIONS
mé odos segu os e idempo en es solo HEAD. Debido a que son a amen e
u ilizados no nos cen a emos en da más in o mación sob e ellos.
En la imagen 3.6 podemos e el diseño de una API REST.
Figu a 3.6: Diseño de API REST
En la imagen 3.7 podemos e un ilus ación de las di e encias en e
SOAP y REST.
Figu a 3.7: REST s SOAP
30 Capí ulo 3. Es ado de la Cues ión
3.3. Se icios de Accesibilidad
A con inuación nos cen a emos en el Es ado de la Cues ión con espec o
a los se icios de accesibilidad elacionados con los que amos a ealiza . Pa a
ello ha emos p ime o un epaso muy supe icial de los se icios de accesibili-
dad que se encuen an hoy en día en el me cado, cen ándonos pos e io men e
en aquellos o ien ados a acili a palab as o ex os.
Lo p ime o que hemos de ene en cuen a en es e apa ado es el concep o
de accesibilidad. Pa a ello ci amos las de iniciones que nos apo a la Real
Academia Española en cuan o a accesibilidad y accesible:
Accesibilidad:
1. . Cualidad de accesible.
Accesible:
1. adj. Que iene acceso.
2. adj. De ácil acceso o a o.
3. adj. De ácil comp ensión, in eligible.
Real Academia Española
Po o o lado enemos la de inición de la Wikipedia, más concisa y cla a
a la ho a de en ende el concep o de accesibilidad que nos a añe:
La accesibilidad o accesibilidad uni e sal es el g ado en el que
odas las pe sonas pueden u iliza un obje o, isi a un luga o
accede a un se icio, independien emen e de sus capacidades éc-
nicas, cogni i as o ísicas. Es indispensable e imp escindible, ya
que se a a de una condición necesa ia pa a la pa icipación de
odas las pe sonas independien emen e de las posibles limi acio-
nes uncionales que puedan ene .
Wikipedia
Teniendo en cuen a es a úl ima de inición el concep o de accesibilidad que
que emos a a aquí queda mucho más cla o, y es el obje i o de que odas
las pe sonas puedan u iliza un obje o, independien emen e de sus capaci-
dades. Pa a ello hay que ene en cuen a, a la ho a de a a dicho obje o,
las limi aciones que puede p esen a el acceso al mismo pa a pe sonas con
dis in os ipos de limi aciones. Nos limi a emos a a a las uncionalidades
que se enca gan de mejo a la accesibilidad en in e ne .
Hoy en día, dada la ele ancia y el ex endido uso de In e ne y sus nume-
osas aplicaciones, la impo ancia de los se icios de accesibilidad es cada ez
3.4. Análisis de APIs disponibles 37
3.4. Análisis de APIs disponibles
Pa a lle a a cabo nues o p oyec o hemos buscado APIs ya exis en es
pa a oma ideas de las mismas, an o en diseño y o ganización como en
con enidos. Pa a ello hemos analizado las di e en es es uc u as de las p in-
cipales APIs del momen o, cap ando lo que más nos gus a de cada una y
desca ando elemen os que no nos e minaban de con ence .
Las APIs en las que más nos cen amos a la ho a de busca ue on las
de Google Maps, Facebook y Twi e . A con inuación pasa emos a e las
dis in as apa iencias de cada una de ellas y de alla sus p os y sus con as:
Google Maps: la API de Google Maps10 p esen a la opción de ele-
gi la pla a o ma que deseas de en ada (And oid, IOS o Web). Sin
emba go la página p incipal de Google Maps es mucho más sencilla
ya que solo e da a elegi en e las pla a o mas y una opción de e
el di ec o io de p oduc os comple o, sin ninguna imagen publici a ia
que dis aiga o lle e a con usión. Además los ejemplos, al igual que en
Facebook, ambién es án cla amen e explicados, siendo muy sencillo
segui el compo amien o y la uncionalidad del código, incluso en al-
gunos ejemplos mues an un ideo con el esul ado ob enido al ealiza
de e minada ope ación. Po ello nos hemos basado en es a API pa a la
página de inicio de la nues a, sin hace dis inción en e pla a o mas.
Podemos obse a en 3.13 como la página p incipal es sencilla y concisa,
sin elemen os que dis aigan de lo que se anda buscando.
Figu a 3.13: Google Inicio
10h ps://de elope s.google.com/maps/documen a ion/ja asc ip /?hl=es
38 Capí ulo 3. Es ado de la Cues ión
En la imagen 3.14 podemos e un ejemplo bien de allado de la un-
cionalidad de login con su imagen co espondien e
Figu a 3.14: Google Ejemplo
Facebook: La API de Facebook11, aunque muy in ui i a una ez que
es ás den o, iene una p esen ación inicial que puede ocasiona con u-
sión de en ada ya que dispone de una se ie de imágenes que e lle an
más a pensa en una campaña publici a ia. Una ez que e si úas en lo
que andas buscando esul a bas an e sencilla e in ui i a, con ejemplos
bas an e cla os y una o ganización concisa. Además di ide cla amen-
e las uncionalidades que desa ollan en es g andes campos: IOS,
And oid y Web, lo cual esul a muy ú il, ya que no malmen e se bus-
ca á el código pa a una pla a o ma en conc e o, no impo ando an o
el es o de ellas. El mayo p oblema con la API de Facebook es que
dispone de muchos ni eles de p o undidad, llegando a se complicado
accede a lo que es ás buscando si no ienes cla o donde es á, lo cual
conside amos que esul a engo oso y que puede lle a a los usua ios
a busca en o as APIs en las que esul e más ácil accede a lo que
buscan conc e amen e. Sin emba go en la imagen 3.15 podemos e co-
mo p esen an cla idad en los ejemplos acili ando así el uso del código
p opo cionado.
En la imagen 3.16 podemos e como de en ada pa ece más una página
de publicidad de Facebook y puede dis ae nues a a ención de lo que
se busca ealmen e.
11h ps://de elope s. acebook.com/p oduc s/
3.4. Análisis de APIs disponibles 39
Figu a 3.15: Facebook Ejemplo
Twi e : Con la web de Twi e 12 pasa un poco lo mismo que con
la de Facebook, el inicio esul a mas engo oso, mos ando más publi-
cidad sob e el ema y cen ándose menos en i más di ec os. En ella
mues an in o mación poco ele an e, como anuncios de con e encias,
que hacen que al usua io le sea mas di icil concen a se en el p opósi o
p incipal de la API. Además ponen los enlaces a los se icios con el link
en ez de pone un nomb e más au oexplica i o, lo cual hace que la
búsqueda esul e más complicada. Po o o lado a la ho a de pone los
ejemplos es os esul an muy cla os y de ácil manejo, y además cons a
de una es uc u a la e al en la cual puedes e en que elemen o e en-
cuen as y mo e e po o os de o ma sencilla lo cual acili a mo e se
po las dis in as uncionalidades. Es a uncionalidad nos ha esul ado
muy in e esan e y ú il po lo que hemos inco po ado la idea en nues a
p opia API.
12h ps://de . wi e .com/o e iew/documen a ion
40 Capí ulo 3. Es ado de la Cues ión
Figu a 3.16: Facebook Inicio
En 3.17 obse amos el inicio sob eca gado explicado an e io men e.
Figu a 3.17: Twi e inicio.
En la imagen 3.18 podemos e como son explicados los pasos a segui
con cla idad y p ecisión.
3.5. Conclusiones y elemen os a u iliza 41
Figu a 3.18: Twi e Ejemplo.
3.5. Conclusiones y elemen os a u iliza
De oda la in o mación ecopilada a a és del análisis ealizado en es-
e capí ulo, se han sacado en cla o a ias ideas pa a pode u iliza en el
desa ollo del p oyec o.
En p ime luga se ha is o que pa a ealiza una buena API, es a iene
que apo a un concep o cla o de las uncionalidades que o ece, pa a que el
usua io que decida u iliza las enga un esquema cla o de su uncionamien o
y de cómo se puede accede a ellas.
Nues a API a a se de ipo de se icios Web, p opo cionando acceso
a su se icio median e una di ección web en una ed, u ilizando el es ánda
REST. Es e ipo de es ánda , pe mi e la ans e encia de da os a a és de
pe iciones HTTP, haciendo que la comunicación sea anspa en e y na u al,
pe mi iendo in e ac ua con o os sis emas de una o ma sencilla. El dise-
ño anspa en e lo consigue g acias a la u ilización de mé odos siendo los
p incipales y más u ilizados GET,POST, DELETE y PUSH.
Po úl imo, se han analizado dis in os ejemplos de APIs, donde se ha
conseguido ob ene una isión de algunas de las cualidades que debe ía e-
ne la API que amos a gene a . La página p incipal iene que se sencilla,
concisa y no ene elemen os adicionales con poca ele ancia que pueda dis-
42 Capí ulo 3. Es ado de la Cues ión
ae al usua io, pa a que le esul e ácil accede a la in o mación que busca
conc e amen e.
O a idea, es hace que los enlaces a los se icios engan un nomb e au o-
explica i o pa a que esul e in ui i o y, de es a o ma, acili e el mo imien o
po las dis in as uncionalidades que o ece la API.
Capí ulo 4
Plan eamien o del p oyec o
Como hemos explicado en el capí ulo 1, es e p oyec o enía la inalidad
inicial de ag upa los se icios de accesibilidad gene ados du an e años an e-
io es en la Facul ad de In o má ica, uni icándolos y acili ando que pudie an
se usados po o os desa ollado es, así como ampliándolos con nue os se -
icios en el caso de dispone del iempo necesa io.
Se p esen an inalmen e ocho ipos de se icios, una aplicación web API
y una aplicación And oid. Los se icios desa ollados son los siguien es:
Palab a sencilla: de uel e ue en caso de que una palab a se con-
side e sencilla y alse en caso con a io. El c i e io u ilizado pa a con-
side a a una palab a sencilla o di icil iene dado po un a chi o de
la RAE . Conside amos una palab a sencilla si se encuen a den o de
es e a chi o. Se da án más de alles cuando pasemos a habla sob e es e
se icio más adelan e. Los esul ados de es e se icios es án disponibles
en JSON y XML.
Sinónimos: de uel e odos los sinónimos de una palab a in oducida
en la URL median e un pa áme o. El o ma o del esul ado puede se
XML o JSON.
Con e i a pic og ama: es e se icio se enca ga de, dada una pala-
b a o ase, de ol e el pic og ama o la secuencia de pic og amas que
las ep esen an. Es e iene dos o ma os dis in os de URL en unción
de si se a a me e una sola palab a o una ase.
An ónimos: de uel e odos los an ónimos de una palab a in oducida
en la URL median e un pa áme o. El o ma o del esul ado puede se
XML o JSON.
De iniciones: se enca ga de de ol e odas las de iniciones de las pa-
lab a buscada mos ando solo las acepciones, sin mos a in o mación
43
44 Capí ulo 4. Plan eamien o del p oyec o
adicional como coloquialismos, ase hechas con esa palab a o ejemplos
del uso de esas palab as con la acepción mos ada en ese momen o. El
o ma o del esul ado puede se XML o JSON.
Con e i a palab a sencilla: dada una palab a in oducida como
pa áme o en la URL de es e se icio, si aplicándosele el se icio “Pala-
b a sencilla” es e de uel e alse se p ocede a busca un sinónimo de la
palab a que sea sencillo, el cual se á el esul ado de uel o. En el caso
de que no se encuen e sinónimo sencillo o que la palab a inicial sea
sencilla, se de ol e la la palab a in oducida en la URL.
T aduci a inglés: es e se icio de uel e las aducciones a inglés de
una palab a in oducida en la URL.
Lema: es e de uel e el o igen y la ca ego ía g ama ical de la palab a
buscada.
Es os se icios han sido desa ollados en Ja a, como se icios REST. Se
decidió una implemen ación REST ya que es os se icios es án basados en
es ánda es como HTML, URL, XML, JSON, e c., siendo es os los que se
que ían u iliza en nues os se icios.
Pa a el desa ollo de los se icios en Ja a se ha hecho uso de la lib e ía
JSoup pa a analiza las páginas web usadas en nues o p oyec o como he-
amien as. Algunos ejemplos de las mencionadas páginas y ecu sos usados
son:
Pa a la de inición, sinónimos y an ónimos: Wo dRe e ence1
Pa a aducción: Span¡shD!c 2
Pa a palab as áciles: 1000_ o mas.TXT3, a chi o de ex o apo ado
po la RAE de las 1000 palab as más u ilizadas en la lengua española.
Se e á más sob e es e a chi o más adelan e.
El análisis de las páginas web se hace sob e su código HTML. Pa a ello
se debe es udia la pagina, analizando como es á desa ollada y como es án
e ique ados los esul ados que de uel e pa a pos e io men e coge los que
nos in e esen de la misma.
Una ez c eados los se icios, pa a acili a el acceso a ellos se c ea la
web de la API donde se apo a oda la in o mación sob e cada uno de los
se icios, an o desc ipciones como modos de uso y ejemplos. G acias a es a
1h p://www.wo d e e ence.com/es/
2h p://www.spanishdic .com/ aduc o /
3h p://co pus. ae.es/ ec/1000_ o mas.TXT
45
API es os se icios pueden se u ilizados an o po un desa ollado pa a la
implemen ación de una aplicación que los u ilice como he amien as, como
po un usua io que an solo quie a hace alguna consul a median e la web.
Nues o p oyec o además de los se icios ya desc i os cons a de una apli-
cación And oid a modo de ejemplo. Es a aplicación es á o mada po una
pan alla p incipal donde el usua io puede in oduci la palab a a consul a
y selecciona el se icio que le quie a aplica , es ando es os ep esen ados en
o ma de bo ones en la aplicación.
T as la in oducción de la palab a y la selección del se icio la aplicación
pasa á a la pan alla secunda ia en la cual se mos a á el esul ado de aplica
el se icio seleccionado a la palab a in oducida, con un o ma o sencillo
indicando con una pequeña ase que se icio es á de ol iendo seguido del
esul ado.
En los p óximos capí ulos nos cen a emos en habla sob e los se icios
desa ollados, la página web de ep esen ación de la API y una aplicación
en and oid c eada con el in de mos a un pequeño ejemplo del uso que se
le puede da a los se icios gene ados.
En la imagen 4.1 se puede e un diag ama sencillo del uncionamien o
del p oyec o.
Figu a 4.1: Diag ama explica i o del p oyec o.
5.2. Se icio palab a sencilla 53
Figu a 5.5: F agmen o del a chi o 5000_ o mas.TXT de la RAE.
A la ho a de analiza el a chi o “1000_Fo mas.TXT” no se ienen en
cuen a mayúsculas y minúsculas, dando como esul ado que la búsqueda de
la palab a “Casa” se ía lo mismo que la de “casa”.
Se conside a on dos opciones a la ho a de mos a el esul ado en es e
se icio:
“Palab a sencilla” o “Palab a di ícil”: esul aba mucho más cla o ya que
e da la in o mación que le p egun as al se icio.
“T ue” o “False”: esul a más ácil de a a po o o desa ollado .
Finalmen e se op ó po de ol e ue o alse ya que el obje i o de los
se icios es que puedan se u ilizados po o os desa ollado es y de es a
o ma se acili a el análisis, y po an o el uso de los mismos.
En la igu a 5.6 se puede e un diag ama explica i o de como unciona
54 Capí ulo 5. Se icios
es e se icio. En es e no queda especi icado el o ma o xml o json pa a hace lo
gené ico pa a ambos, ya que uncionan de o ma simila .
Figu a 5.6: Diag ama explica i o del se icio palab as sencillas
5.3. Se icio sinónimos
Se icio que mues a los sinónimos de la palab a in oducida, ob enien-
do la in o mación de la página de Wo dRe e ence2g acias a una consul a
p e ia. Si la palab a no iene sinónimos o no exis e es e se icio de ol e á
un esul ado acío. Como hemos is o en el apa ado 5.1 el que de uel a
un esul ado acío en luga de un mensaje del es ilo de “Sinónimo no en-
con ado” se debe a que esul a más inmedia o de a a pa a e ce os si no
de uel e nada, dejando ya al c i e io del que u ilice el se icio que hace con
el esul ado inal cuando es e e de uel a acío.
Una ez que se ha ob enido la in o mación de la consul a a Wo dRe e-
ence, se analiza el esul ado del h ml de uel o y se ob ienen los di e en es
sinónimos p opo cionados po es a y gua dándose es os en un A ayLis pa-
a luego mos a lo, dependiendo de la opción seleccionada, en XML o JSON.
La es uc u a gene al del esul ado, independien emen e de si es en XML
o en JSON, iene dada po el siguien e esquema:
2h p://www.wo d e e ence.com/sinonimos/
5.3. Se icio sinónimos 55
Una e ique a “sinonimos” seguido de la e ique a “sinonimo” (una po
cada en ada/acepción que apa ezca de es a palab a).
A con inuación podemos e la in ocación del se icio de sinónimos con
la palab a “busca ”, an o con XML como con JSON.
La llamada con XML se ía:
h p://sesa . di.ucm.es:8080/se icios/ es /sinonimos/xml/con undi
cuyo esul ado se puede e en la imagen 5.7
Figu a 5.7: Ejemplo de esul ado de sinónimos en XML
Mien as que la llamada con JSON queda ía:
h p://sesa . di.ucm.es:8080/se icios/ es /sinonimos/json/con undi
cuyo esul ado se puede e en la imagen 5.8
Figu a 5.8: Ejemplo de esul ado de sinónimos en JSON
56 Capí ulo 5. Se icios
Cabe des aca que uno de los mo i os que nos lle o a u iliza la página de
Wo dRe e ences como la que nos “p opo ciona” los sinónimos es que, cuando
buscas una palab a de la cual ellos no ienen ninguna acepción, es deci ,
que no se encuen a en su sis ema, buscan su lema y uel en a ealiza
la consul a con es e, siendo el esul ado de la nue a, en el caso de que lo
hubie a, lo que e mues an como esul ado de la búsqueda inal. Además, al
se Wo dRe e ence una web bas an e accedida y iable, nos asegu amos de
que nues o con enido es é ac ualizado y accesible.
Po ejemplo, si se busca “comp a ía” no encuen a di ec amen e sinóni-
mos de la palab a “comp a ía” sino que la lema iza pa a ob ene el lema de
la palab a, en es e caso “comp a ” y nos de uel e sinónimos de “comp a ”.
En la imagen 5.9 se puede e el esul ado de es e ejemplo.
Figu a 5.9: Ejemplo de consul a “comp a ía” en Wo dRe e ences.
Pa a e mina de acla a es e se icio en la igu a 5.10 se mues a un
diag ama explica i o de como unciona. En es e no queda especi icado el
o ma o xml o json pa a hace lo gené ico pa a ambos, ya que uncionan de
o ma simila .
5.4. Se icio con e i a pic og ama 57
Figu a 5.10: Diag ama explica i o del se icio sinonimos.
5.4. Se icio con e i a pic og ama
Se icio enca gado de de ol e un pic og ama co espondien e a la pala-
b a o ase pasadas po pa áme o. Es e iene dos a ian es de las cuales se
habla á a con inuación y a las cuales se accede con las siguien es URL:
h p://sesa . di.ucm.es:8080/se icios/ es /pic og ama/ ase/
“ aseBuscada”
h p://sesa . di.ucm.es:8080/se icios/ es /pic og ama/palab a/
“palab aBuscada”
En las imágenes 5.11 y 5.12 se mues an dos ejemplos de esul ados ob e-
nidos al da le el alo de “ opa de e ano” a “ aseBuscada” y de “juga ” a
“palab aBuscada”, espec i amen e.
Es e se icio es á basado en el p oyec o “Con e so de ex o a pic og a-
mas” (Alonso e al. (2013 -2014)). En es e se ealiza una llamada al se icio
“hypa ia” de la o ma:
hypa ia. di.ucm.es:5223/Pic oT aduc o Aplica ionSe e /api/T aduce-
F ase/“palab a”
En es a consul a se de uel e un JSON con los obje os encon ados en la
BBDD que hagan e e encia a la palab a o ase ep esen adas po “palab a”.
58 Capí ulo 5. Se icios
Figu a 5.11: Ejemplo de consul a a “ ase” con la ase “ opa de e ano”.
Figu a 5.12: Ejemplo de consul a a “palab a” con la palab a “juga ”.
En la imagen 5.14 podemos e un ejemplo de esul ado de uel o. En es e
se puede obse a que, pa a una sola palab a in oducida (“come ” en es e
caso), se de uel en dis in os esul ados con bas an e in o mación en cada
uno de ellos.
De es a in o mación ob enida, en es e p oyec o solo se coge á el “id_u l”,
siendo es e el a ibu o que indica el nomb e de la imagen alojada en el di-
ec o io del se ido de “hypa ia”, el cual de ol e á la imagen que se anda
buscando. El acceso a es e se ía de la siguien e o ma:
h p://hypa ia. di.ucm.es/con e so /Pic os/“id_u l”
Si el se icio no encuen a la palab a en la BBDD, hace una nue a llama-
da pe o es a ez, en ez de busca la palab a in oducida, busca ía el lema de
5.4. Se icio con e i a pic og ama 59
la misma. Es deci , si se in oduce “comiendo” y no encuen a un pic og ama
pa a “comiendo”, ealiza ía una nue a búsqueda con la palab a “come ”.
En la imagen 5.13 podemos e un diag ama explica i o de como unciona
el se icio pic og ama con la llamada a ase. La llamada a palab a unciona
de mane a simila po lo que el diag ama si e pa a ambos casos.
Figu a 5.13: Diag ama explica i o del se icio pic og ama.
El iempo consumido en la llamada al se icio “ aduceF ase” del p oyec o
“Con e so de ex o a pic og amas” (Alonso e al. (2013 -2014)) supone un
incon enien e, ya que al hace consul as a la BBDD a da un iempo excesi o
en mos a la in o mación eque ida, suponiendo es o un incon enien e a la
ho a de lle a lo a la aplicación And oid.
60 Capí ulo 5. Se icios
Figu a 5.14: Resul ado de uel o de la búsqueda de “come ” en hypa ia.
5.5. Se icio an ónimos
En es e se icio, dada una palab a, se de uel e la lis a de an ónimos
encon ados de la misma. De nue o, como en sinónimos, se hace una consul a
a la web de sinónimos de Wo dRe e ence 3, ya que es a con iene, además de
la lis a de sinónimos, la lis a de an ónimos de la palab a in oducida. En la
imagen 5.15 se puede e un ejemplo de como es án es os ep esen ados en
Wo dRe e ence.
Figu a 5.15: Imagen de ejemplo de ep esen ación de an ónimos en Wo dRe-
e ence.
Como se puede e en la imagen Wo dRe e ence no iene una página
dedicada pa a los an ónimos como iene pa a las de iniciones o sinónimos, si
no que, den o de la de sinónimos in oduce una lis a de an ónimos esal ados
en ojo, la cual es u ilizada pa a lle a a cabo es e se icio.
3h p://www.wo d e e ence.com/sinonimos/
5.5. Se icio an ónimos 61
Funciona de una mane a muy simila al de sinónimos, ya que hace una
consul a a la misma página web y el esul ado de uel o, en o ma o, es muy
pa ecido, cambiando los nomb es de las e ique as.
A con inuación se e un ejemplo de cada uno de los o ma os de las
llamadas.
La llamada JSON se ía:
h p://sesa . di.ucm.es:8080/se icios/ es /an onimos/json/subi
El esul ado de es a llamada se puede e en la imagen 5.16
Figu a 5.16: Llamada a an ónimos en o ma o JSON de la palab a “subi ”.
La llamada XML se ía:
h p://sesa . di.ucm.es:8080/se icios/ es /an onimos/xml/subi
El esul ado de es a llamada se puede e en la imagen 5.17
Figu a 5.17: Llamada a an ónimos en o ma o XML de la palab a “subi ”.
Es e se icio, además, cons a de una unción p incipal donde se desa-
ollan las pa es mas impo an es pa a pode hace la pe ición a la pagina
co espondien e y el análisis del con enido.
En la implemen ación del se icio an ónimos la p ime a acción que se
ealiza es conec a con la pagina median e la URL. Se u iliza la unción
URLEncode .enode pa a añadi le la palab a que el usua io esc iba po la
URL y ene lo en UTF-8.
Una ez es ablecida la conexión con la web, se p ocede al análisis de la
pagina h ml con la lib e ía an e io men e nomb ada JSOUP. Es a lib e ía
se enca ga de busca los ex os que an acompañados po una e ique a, po
62 Capí ulo 5. Se icios
ello p ime o se busca la e ique a di [class= ans clickable] ya que si
es a no se encon a a den o del código h ml, se á po que no exis i ía ningún
esul ado pa a la consul a.
Una ez encon ada la e ique a, no se puede da po hecho que es a sea la
alida, po ello pa a la implemen ación de es e se icio, p ime o se obse ó el
cogido HTML y se descub ió que el esul ado que se buscaba se encon aba
den o de la p ime a e ique a que apa ecía con nomb e di [class= ans
clickable].
Den o de la e ique a di [class= ans clickable] se encuen an a-
ias e ique as li po ello se eco en odas con o has a el in de la e ique a
di [class= ans clickable]. Cuando se eco en las e ique as li se ex ae
el ex o que las acompaña y se gua da en una a iable, pa a luego sepa a la
po esul ados, y mos a las con su e ique a xml o JSON co espondien e.
Cada esul ado es a sepa ado po “,” po si un esul ado es a compues o
po más de una palab a, que a la ho a de da le e ique a XML o JSON no
se de una a cada palab a, y se mues e como dos o mas esul ados en ez de
como un único esul ado como debe ía se .
En la igu a 5.18 podemos e un diag ama explica i o de como unciona
es e se icio. En es e no queda especi icado el o ma o xml o json pa a hace lo
gené ico pa a ambos, ya que uncionan de o ma simila .
Figu a 5.18: Diag ama explica i o del se icio an ónimos.
5.8. Se icio lema 69
Figu a 5.27: Ejemplo de llamada al se icio lema con la palab a “consumía”
en XML.
En la imagen 5.28 podemos e un ejemplo de esul ado de uel o al
consul a en la página web de “Busca palab a” la palab a “consumía”. En ella
se puede e como se mues a el o igen de la palab a, en es e caso “consumi ”,
así como las ca ego ías g ama icales a las que puede pe enece .
Figu a 5.28: Ejemplo de consul a a “Busca palab a”.
70 Capí ulo 5. Se icios
Es e se icio esul a ú il, no solo pa a apo a in o mación de una palab a
dada, si no como he amien a pa a o os se icios como puede se pic og a-
ma, que no equie an una palab a exac a pa a su uncionamien o, pudiendo
usa el o igen de la misma pa a mayo simpli icación del p oblema.
En la imagen 5.29 se puede e un diag ama de como unciona el se icio
de lema.
Figu a 5.29: Diag ama explica i o del se icio lema.
El desa ollo de es e se icio se ealizó en la e apa inal del p oyec o po
lo que, po al a de iempo, no es á del odo comp obado y desa ollado,
mos ando esul ados no del odo co ec os en el caso de JSON, y es po eso
que no se ha incluido en la aplicación de ejemplo desa ollada en And oid.
5.9. Se icio con e i a palab a sencilla
El obje i o de es e se icio es de ol e una palab a sencilla que pe e-
nezca a la lis a de sinónimos de la palab a in oducida po el usua io. Es
deci , si se in oduce una palab a di ícil, es e se icio busca á en la lis a de
sinónimos de la palab a in oducida has a da con uno que al aplica le el
se icio “Palab a ácil” e de uel a ue.
Lo p ime o que se hace en es e se icio es llama al is o con an e io idad
de palab as sencillas (llamado palab asSencillas) con la o ma:
5.9. Se icio con e i a palab a sencilla 71
h p://localhos :8080/se icios/ es /palab as/xml/“palab aBuscada”
que, como se ha is o an es, de uel e un booleano con ue si es una pa-
lab a ácil, es deci , si se encuen a en el a chi o 1000_ o mas.TXT y si no
la encuen a de uel e alse. Si al aplica le a la palab a el se icio de pa-
lab asSencillas se ob iene ue, en onces el se icio con e sión de uel e la
misma palab a in oducida. Si la palab a no se encuen a en el iche o quie e
deci que es una palab a di ícil, y hay que in en a busca un sinónimo de
esa palab a que sea sencillo. Pa a ello se ealiza una consul a al se icio de
sinónimos:
h p://localhos :8080/se icios/ es /sinonimos/xml/“palab aBuscada”.
Pos e io men e se analiza el xml que de uel e el se icio de sinónimos
con el obje i o de queda se sólo con un S ing con los sinónimos analizados
sepa ados po “,”, y busca el p ime sinónimo que sea una palab a sencilla
den o de esa lis a, in ocando nue amen e al se icio de palab asSencillas.
Si hay algún sinónimo que sea palab a sencilla, el se icio lo de ol e á como
esul ado ob enido y, en caso con a io, de ol e á la misma palab a sob e
la que se ha ealizado la consul a, la palab a inicial buscada po el usua io
“palab aBuscada”.
El hecho de sepa a los S ings po “,” se debe a que hay sinónimos
compues os, es deci , que con ienen más de una palab a, po lo que si se hace
la di isión po espacios se puede coge una de las palab as de ese sinónimo
y de ol e se como sinónimo ácil de la misma, sin necesidad de que es e lo
sea. A con inuación se pasa a explica un ejemplo que acla a es a si uación.
Supongamos que se hace la llamada:
h p://sesa . di.ucm.es:8080/se icios/ es /con e sion/xml/come
el esul ado ob enido analizado sin “,” e a <con e sion>de</con e sion>,
lo cual no es un sinónimo de la palab a “come ”. Es o ocu e po que “come ”
iene un sinónimo que es “Llena de ando ga” y al sepa a po espacios coge
“de” como sinónimo de “come ”, sacado de a a “llena ”, “de” y “ando ga”
como es palab as dis in as, siendo “de” la palab a sencilla esul an e. Es o
se soluciona sepa ando los sinónimos po “,”, po lo que al hace lo de es e
modo si se hace la llamada:
h p://sesa . di.ucm.es:8080/se icios/ es /con e sion/xml/come
de uel e <con e sion>come </con e sion>, ya que no encuen a una pala-
b a ácil que sea sinónimo de “come ”. En las imágenes 5.30 y 5.31 se pueden
e los esul ados ob enidos al ealiza las llamadas espec i as en XML y
JSON:
h p://sesa . di.ucm.es:8080/se icios/ es /con e sion/xml/ ebusca
72 Capí ulo 5. Se icios
Figu a 5.30: Ejemplo de llamada de con e sion con la palab a “Rebusca ” en
XML.
h p://sesa . di.ucm.es:8080/se icios/ es /con e sion/json/ ebusca
Figu a 5.31: Ejemplo de llamada de con e sion con la palab a “Rebusca ” en
XML.
Es e se icio se c eó, además de como se icio en si mismo, como he a-
mien a pa a una demos ación de uncionalidad en una aplicación And oid
de los se icios ealizados. Así se mos aba, en una sola unción, el esul ado
de aplica a ios de los se icios, ob eniendo una u ilidad ácilmen e aplica-
ble a un se icio de accesibilidad, el simpli icado de palab as, y po ex ensión
de ex os.
Pa a e mina de acla a como unciona es e se icio en la imagen 5.32
se mues a un diag ama de lujo en el que queda explicado como se p ocede
en los dis in os casos. En es e no queda especi icado el o ma o xml o json
pa a hace lo gené ico pa a ambos, ya que uncionan de o ma simila .
5.9. Se icio con e i a palab a sencilla 73
Figu a 5.32: Diag ama explica i o del se icio de con e sión
Capí ulo 6
Desa ollo de la página Web de
ep esen ación de la API
En es a sección se pasa á a habla del desa ollo de la página web que
unciona como API de los se icios an e io men e explicados. En es a queda-
án explicados y a disposición del público los se icios, así como se indica án
las URLs pa a accede a ellos y un pequeño ejemplo de llamada y su esul-
ado. Todos los se icios mencionados en el capí ulo 5 ienen un apa ado en
la web cuya inalidad es explica su uncionalidad y modo de uso.
En cuan o al diseño de la web es di ec o y au o explica i o en sus ele-
men os, es deci , cada uncionalidad de la web iene de inida po una b e e
desc ipción que esume lo que ealiza. Además posee una es uc u a mini-
malis a, eniendo únicamen e los elemen os necesa ios pa a que quede cla o
su uncionamien o y así pode accede a los se icios o ecidos. Es o queda
explicado más implíci amen e en las secciones que e emos a con inuación.
6.1. Página p incipal
Como se puede obse a en la imagen 6.1 la pan alla inicial cons a de
un panel supe io con el í ulo de la web y el escudo de In o má ica, un
panel debajo de es e con un pequeño mensaje explica i o de la web y po
úl imo, sie e iconos con el nomb e de cada uno de los se icios que es án
desa ollados. Cada uno de esos sie e iconos iene un enlace al se icio que
indica su nomb e, po ejemplo Sinónimo e lle a á a la API de sinónimos,
en la cual queda de allado es e se icio y la o ma de in oca lo.
Como se explicaba an e io men e, la página p incipal es minimalis a, al
dispone únicamen e de los elemen os necesa ios pa a accede a cada uno
de los se icios. Cada uno de ellos se ha ido añadiendo a medida que se iba
inco po ando en el se ido . A con inuación pasamos a desc ibi b e emen e
cada uno de ellos.
75
76 Capí ulo 6. Desa ollo de la página Web de ep esen ación de la API
Figu a 6.1: Página inicial de la API
Di icul ad de palab as: indicaciones de como u iliza el se icio que
e de uel e si la palab a in oducida es ácil o no de ol iendo ue o
alse espec i amen e.
Sinónimos: indicaciones de como u iliza el se icio que e de uel e
los sinónimos encon ados de la palab a in oducida.
An ónimos: indicaciones de como u iliza el se icio que e de uel e
los an ónimos de la palab a in oducida.
De inición: indicaciones de como u iliza el se icio que e de uel e
las de iniciones de la palab a in oducida.
T aducción inglés: indicaciones de como u iliza el se icio que e
de uel e las dis in as aducciones de la palab a in oducida.
Pic og amas: indicaciones de como u iliza el se icio que e de uel e
los pic og amas de la palab a o ase in oducidas. Se en iende como
6.2. Páginas secunda ias 77
pic og ama una imagen que es a elacionado con el obje o al que se
e ie e.
Con e sión ácil: indicaciones de como u iliza el se icio que e de-
uel e un sinónimo ácil de la palab a in oducida. Si es a ue a ini-
cialmen e ácil de ol e ía la palab a in oducida.
6.2. Páginas secunda ias
Se en ienden como páginas secunda ias aquellas en las que quedan ex-
plicados cada uno de los se icios y las URL de acceso a los mismos, con
sus ejemplos de u ilización. A con inuación pasa emos a desc ibi los com-
ponen es que las o man y la uncionalidad y el es ilo seguidos en cada uno
de ellos.
Panel supe io : En es e queda indicada la u a en la que el usua io
se encuen a en ese momen o, es deci , si el usua io se encuen a en el
se icio “Sinónimos” la u a mos ada en el panel supe io se ía “Inicio
/Sinónimos”, ya que la página p incipal o inicio es conside ada la página
pad e. Además ambos elemen os en la u a son seleccionables, an o
“Inicio” como, en es e caso, “Sinónimos”, lle ando a la página p incipal
en caso de “Inicio”. Además, a la izquie da del odo apa ece el escudo
de In o má ica como logo de la página web. En la imagen 6.2 se puede
e un ejemplo de lo an e io men e explicado.
Figu a 6.2: Panel supe io con eedback en el posicionamien o sob e Inicio.
Panel izquie do: En él se pueden encon a enlaces a odas las APIs
de odos los se icios disponibles. Seleccionando cualquie a de ellos
se accede a su API co espondien e en la cual se pasa á a de alla
el se icio. En es e panel izquie do, cuando se si úa el cu so encima
de alguno de los nomb es de los se icios, el nomb e cambia de colo
dándole así un eedback al usua io de que el elemen o es seleccionable
y que p oduci á una espues a si se pincha sob e él. En la imagen 6.3 se
puede e el panel izquie do y un ejemplo del eedback an e io men e
mencionado.
78 Capí ulo 6. Desa ollo de la página Web de ep esen ación de la API
Figu a 6.3: Panel izquie do con eedback en posicionamien o de se icio.
Cue po: En el cue po se encuen a oda la in o mación necesa ia e-
e en e al se icio del que se habla. Dado que el cue po es a di idido
en a ios elemen os a su ez, se e á cada uno de es os po sepa ado,
según el o den en el que apa ecen en la web.
•Desc ipción: Lo p ime o que se mues a es un ex o con la des-
c ipción de la uncionalidad del se icio, indicándose lo que es e
espe a ecibi como pa áme o así como lo que de ol e á como e-
sul ado. Es e queda encabezado con el nomb e del se icio al que
desc ibe. En la imagen 6.4 se puede e un ejemplo de desc ipción
del se icio “Comp oba palab a”.
•Llamadas URLs: T as la desc ipción an e io men e menciona-
da se mues an las dis in as opciones de llamadas a la URL. Es as
son simila es pa a odos los se icios sal o el de pic og amas, dos
e siones dis in as de llamada a URL, una pa a de ol e el mensa-
je en o ma o JSON y la o a en XML. En el caso de pic og amas
hay ambién dos opciones, pe o en es e caso no hacen e e encia
al o ma o de salida, ya que es siemp e una o a ias imágenes,
sino a si se a a in oduci una palab a o una ase a con e i
a pic og ama. En las imágenes 6.5 y 6.6 podemos e ejemplo de
cada uno de los casos mencionados an e io men e.
7.1. In e az g á ica de la aplicación. 85
En la imagen 7.2 podemos e el Tex View y el Edi Tex an e-
io men e mencionados.
Figu a 7.2: Tex o de pe ición de palab a y el espacio pa a in oduci la.
•Va ios Bu ons que son los bo ones donde es án ep esen ados los
dis in os se icios o ecidos po la aplicación, odos ellos seleccio-
nables y con una espues a di e en e. En la imagen 7.3 podemos
ap ecia la disposición de los mismos.
Figu a 7.3: Bo ones con los se icios disponibles.
En la imagen 7.4 se puede obse a el esul ado al comple o de la
pan alla p incipal de la aplicación and oid, y con la cual in e ac ua á
el usua io.
Pan alla secunda ia: los esul ados mos ados en es a pan alla de-
penden del se icio seleccionado en la pan alla p incipal, aunque el
diseño g á ico seguido es simila en odos los casos, a iando el mensa-
je y esul ado mos ados.
•Palab a ácil: es a pan alla iene dos posibilidades de mensajes
di e en es:
86 Capí ulo 7. Desa ollo de una aplicación de ejemplo de los se icios
Figu a 7.4: Pan alla p incipal de la aplicación And oid pa a able
“La palab a palab aIn oducida si es una palab a sencilla” o “‘La
palab a palab aIn oducida no es una palab a sencilla”.
En la imagen 7.5 podemos e un ejemplo de esul ado ob enido.
•Busca sinónimos: en es a pan alla dependiendo de si se encuen-
an sinónimos de la palab a o no, se mues an los siguien es men-
sajes espec i amen e:
“Sinónimos de palab aIn oducida : odos los sinónimos mos ados
en una lis a” o “No exis en sinónimos de palab aIn oducida”.
En la imagen 7.6 se puede e un ejemplo del esul ado ob enido
en es e se icio.
7.1. In e az g á ica de la aplicación. 87
Figu a 7.5: Ejemplo de esul ado de la palab a sencilla “pe o”
Figu a 7.6: Ejemplos de sinónimos ob enidos de casa
•Busca an ónimos: en es a pan alla, dependiendo de si se encuen-
an an ónimos de la palab a o no, se mues an los siguien es
mensajes espec i amen e:
“An ónimos de palab aIn oducida : odos los an ónimos mos a-
dos en una lis a” o “No exis en an ónimos de palab aIn oducida”.
Dado que es e se icio es simila al de sinónimos mos amos en
es e caso la pan alla en el caso de que no se encuen en an ónimos
en la igu a 7.7
88 Capí ulo 7. Desa ollo de una aplicación de ejemplo de los se icios
Figu a 7.7: Ejemplos de sinónimos ob enidos de “casa”
•Busca de inición: en es a pan alla se mues an las de iniciones
encon adas pa a la palab a in oducida. El mensaje mos ado en
la pan alla es:
“De iniciones de palab aIn oducida : odas las de iniciones de la
palab a de uel os po el se icio”.
En la imagen 7.8 emos un ejemplo de las de iniciones ob enidas
pa a ga o.
Figu a 7.8: Ejemplos de de iniciones ob enidas de “ga o”
•Con e i a ácil: en es a pan alla se mues a un sinónimo sencillo
de la palab a in oducida. Tiene dos posibilidades a la ho a de
mos a el esul ado, que mues e un sinónimo de la palab a que
sea sencillo o que e mues e la misma palab a in oducida en caso
de no encon a sinónimos sencillos.
En la imagen 7.9 podemos e un ejemplo de con e sión de “hoga ”
a palab a sencilla.
7.1. In e az g á ica de la aplicación. 89
Figu a 7.9: Ejemplo de con e sión de “hoga ” a palab a sencilla
•T aduci a inglés: en es a pan alla se mues a la aducción de
la palab a al inglés. El mensaje que apa ece en la pan alla es el
siguien e: “T aducciones de palab aIn oducida : odas las aduc-
ciones de uel as de la palab a de uel os po el se icio”.
En la igu a 7.10 podemos e un ejemplo de aducción de casa.
Figu a 7.10: Ejemplo de aducción de “casa” al inglés
•Busca pic og ama: en es a pan alla se mues a el pic og ama co-
espondien e a la palab a in oducida. En la imagen 7.11 pode-
mos e un ejemplo de esul ado al in oduci “casa” en la pan alla
p incipal y pulsa el bo ón “Busca Pic og ama”.
Cómo se puede e en las o og a ías de la pan alla secunda ia al lado
del nomb e de la aplicación apa ece una lecha, cuando el usua io hace clic
en es a lecha, la aplicación uel e a la pan alla inicial donde es á la opción
de in oduci una palab a nue a y odos bo ones.
90 Capí ulo 7. Desa ollo de una aplicación de ejemplo de los se icios
Figu a 7.11: Ejemplo de pic og ama de “casa”
7.2. Elemen os de implemen ación del diseño
En cuan o a implemen ación en And oid S udio hay dos pa es impo -
an es:
la ca pe a dónde se alojan los a chi os los .ja a, en la cual se encuen a
el código desa ollado pa a las uncionalidades de la aplicación.
la ca pe a en la que es án los .xml, donde queda implemen ada la
in e az g á ica y odas sus p opiedades.
En es a sección se habla á del con enido de la ca pe a con a chi os .xml,
dond ese a a la implemen ación del diseño, iéndose en 7.3 la de las un-
cionalidades.
Cada clase .ja a a acompañada de su a chi o .xml.
En cuan o a diseño, en las dos p ime as aplicaciones de p ueba se u ilizó
un elemen o llamado Linea Layou y luego, as p oba dis in as opciones,
se acabó usando en la aplicación de se icios el Rela i eLayou . Den o de
es os Layou s, en la aplicación han sido u ilizados los siguien es elemen os:
Tex View: se usa es e elemen o pa a mos a odos los ex os de la
aplicación. Hay uno implemen ado pa a la pan alla p incipal y o o
pa a la secunda ia. Es e elemen o iene una p opiedad que hace que el
ex o pueda se edi able, pe o no queda habili ada en la aplicación ya
que es e elemen o lo se usa únicamen e pa a mos a ex o, sin que e
que es e pueda se modi icado.
7.2. Elemen os de implemen ación del diseño 91
Edi Tex : dado que se equie e que el usua io in oduzca la palab a a
a a se ha de u iliza un elemen o pa a ello, siendo es e el Edi Tex .
En es e el usua io in oduce la palab a a p ocesa po el se icio y en
la pan alla secunda ia se mues a el esul ado ob enido del p oceso.
Bu on: es e elemen o ep esen a bo ones que pueden se selecciona-
dos po el usua io pa a ealiza de e minada acción. En la aplicación
se usan los bo ones pa a ep esen a cada uno de los dis in os se icios
o ecidos.
Den o de algunos de es os elemen os apa ecen di e en es opciones. A
con inuación se de allan algunas de las que han sido u ilizadas en la aplica-
ción:
and oid:layou _wid h / and oid:layou _heigh : Es a unción
si e pa a da medida al ancho y al la go del layou . Puede con ene
es alo es di e en es:
•ma ch_pa en : El elemen o añadido debe se an g ande como
el pad e que lo con iene.
•w ap_con en : El elemen o añadido oma el amaño del ex o
que con iene.
Se le pueden da los alo es con el núme o seguido de px.
and oid: ex : Es el ex o que apa ece en el elemen o. Se puede de ini
de dos mane as:
•Esc ibiendo di ec amen e el ex o
•De iniendo una cons an e de la o ma @s ing/nomb eElegido.
Más adelan e se explica á que se hace con la cons an e de inida como
s ing más el nomb e elegido.
and oid:layou _alignPa en Top: Es a unción hace encaja el eje
supe io de es e elemen o con el eje supe io del elemen o pad e. Es o
sucede cuando se iguala a “T ue”.
and oid:inpu Type: Si e pa a especi ica el ipo de con enido que
a a ene el elemen o.
and oid:layou _below: Si e pa a da un id a nues o elemen o, y
así pode u iliza lo desde el iche o .ja a.
and oid:layou _cen e Ho izon al: Es o si e pa a cen a el ele-
men o hijo con el pad e en el plano ho izon al. Si se iguala a “T ue”, se
cen a á con el pad e en caso con a io no lo ha á.
92 Capí ulo 7. Desa ollo de una aplicación de ejemplo de los se icios
and oid:layou _ma ginTop: Si e pa a especi ica un espacio de
igo en la pa e supe io y que así los elemen os no esul en es a
inmedia amen e unidos unos a o os, así como que el elemen o no em-
piece di ec amen e en la pa e supe io de la pan alla o inmedia amen e
después del elemen o pad e.
and oid:onClick: Si e pa a hace una llamada a una unción cuando
un bo ón ha sido cliqueado. El nomb e de es a unción co esponde
con el de la unción en el .ja a enca gada de ejecu a la uncionalidad
asignada a dicho bo ón
Exis en muchos más pa áme os que se han ido iendo a lo la go de las
dis in as p uebas ealizadas con And oid S udio, pe o dado que no se ponen
en p ác ica en es a aplicación no queda án mencionados aquí.
Una ez desc i os los elemen os u ilizados en la aplicación y sus u ilida-
des, pasamos a desc ibi la implemen ación de los mismos, con emplando las
comunicaciones en e la in e az g á ica y el código p incipal.
Empeza emos cen ándonos en la clase MainAc i i y que hace de puen-
e en e la in e az g á ica y el p og ama p incipal. Es a clase con iene un
mé odo pa a cada uno de los se icios implemen ados, odos ellos con una
o ma simila a la que se obse a en la imagen 7.12.
Figu a 7.12: Mé odo de la clase MainAc i i y.
En ese mé odo se obse a la linea de código:
Edi Tex edi Tex = (Edi Tex ) indViewById(R.id.Tx Palab a);
con es a línea ob enemos el elemen o del Edi Tex pa a almacena lo en el
s ing llamado “palab a”. Es o se ealiza median e la unción
S ing palab a = edi Tex .ge Tex (). oS ing();.
Una ez ob enida la in o mación llamamos al in en :
in en .pu Ex a("Nomb eDelSe icio", palab a);
s a Ac i i y(in en ));.
Pa a pode ecibi la palab a de un Edi Tex se iene que ene decla ado
en el ac i i y_main con el nomb e de Tx Palab a.
7.3. Implemen ación de la aplicación 93
Pa a implemen a los di e en es se icios ambién nos ha hecho al a de-
cla a nos los di e en es bo ones en el mismo ac i iy_main.xml.
Como se puede obse a en la igu a, en la decla ación del bo ón se iene
una unción que se llama onCLick que cuando el usua io hace clic en un
elemen o (en es e caso un bo ón) y la cual se iguala al nomb e de la unción
que que emos que llame al p oduci se es e clic, que es la que se encuen a en
Main_Ac i iy.ja a.
Al igual que se iene un mé odo pa a cada se icio ambién se iene
decla ado un bo ón. Realmen e es e es el comienzo del p og ama pues o que
aquí es donde se decla a la in e az y donde se llama a los p ime os mé odos.
Además en es a clase se iene el mé odo OnC ea e que es llamado cuan-
do se c ea la ac i idad po p ime a ez.
7.3. Implemen ación de la aplicación
En es a sección se pasa a habla de la implemen ación lle ada a cabo
pa a el desa ollo de las uncionalidades de la aplicación en si misma.
En el elemen o del ipo and oid: ex : que se eía en la sección an e io
se pueden de ini cons an es de la o ma: @s ing/Nomb eCons an e,
donde “Nomb eCons an e” es el nomb e que ecibe la cons an e y con el que
se quie e iden i ica a la misma en el p og ama.
En es e con ex o cabe menciona que And oid iene un a chi o llamado
s ing.xml donde se decla an odas es as cons an es, po lo que si se u iliza
es a en a ios luga es del p og ama y en algún momen o se decide cambia el
alo de es a cons an e únicamen e hab á que i a es e a chi o y cambia lo
ahí, sin ene que modi ica cada una de las apa iciones de la misma.
A con inuación se habla á del a chi o And oidMani es .xml. Es e es un
a chi o que odo p oyec o And oid iene que ene pa a su co ec o unciona-
mien o, el cual iene que ene necesa iamen e ese nomb e, y que se enca ga
de p esen a la in o mación necesa ia sob e la aplicación an es de que pueda
co e el código del p og ama. Es e a chi o es á compues o po es pa es:
En la p ime a pa e del a chi o apa ecen la e sión, el nomb e del
p oyec o y el nomb e del paque e que se es á u ilizando en la aplicación.
En la igu a 7.13 se puede e como quedan ep esen ados.
La segunda pa e son los pe misos que se necesi an en la aplicación. En
es e caso se ienen añadidos pe misos a In e ne y el acceso al es ado
de la ed (Ne wo k s a e). En la igu a 7.14 se puede e como quedan
ep esen ados.
94 Capí ulo 7. Desa ollo de una aplicación de ejemplo de los se icios
Figu a 7.13: Imagen de la e sión, nomb e de p oyec o y nomb e del paque e
en And oidMani es .xml
Figu a 7.14: Imagen de los pe misos necesa ios pa a la aplicación.
La e ce a pa e es á compues a po las ac i idades de la aplicación.
Pues o que es a aplicación dispone de dos ac i idades an solo hab á
que decla a se esas dos ac i i ies. Además en es a e ce a pa e se inclu-
yen algunas p opiedades como la de inición del icono (el que apa ece á
en el disposi i o mó il cuando se ins ale la aplicación), el ema, y si se
pe mi e Backup. En la imagen 7.15 se puede e como odo es o queda
de inido.
Figu a 7.15: Imagen de las ac i idades que componen la aplicación.
En es e p oyec o las Ac i i y ex ienden a AppCompa Ac i i y pa a
pode usa el Ac ionBa en la aplicación. Es e Ac ionBa se usa pa a
mos a el nomb e de la aplicación en la pa e supe io del disposi i o en la
8.2. T abajo u u o 101
En cuan o al p oyec o en sí se pueden aplica en el u u o di e sas me-
jo as y cambios que comple en sus uncionalidades. Así, como se decía an-
e io men e, se pueden añadi nue os se icios al se ido haciéndolo más
comple o. Po ejemplo, en la e sión ac ual del se ido se iene únicamen e
aducción a inglés, pudiendo se es o en el u u o ampliado a mayo a iedad
de idiomas así como a ases, y no únicamen e a palab as.
Igualmen e se pod ían sol en a y mejo a alguno de los se icios c eados
en el p oyec o, como pod ía se el de pic og amas, haciendo que las consul as
se ealicen a mayo elocidad, ya que la demo a de es as solici udes supone
un p oblema a la ho a de u iliza es e se icio.
También se pod ía desa olla el se icio de lema ización, ya que al se
añadido al inal es e no es á del odo comple o y esul a ía de g an u ilidad
en aplicaciones u u as como puede se de ol e el in ini i o de un iempo
e bal complejo pa a acili a la comp ensión de un ex o.
En es e con ex o la API i á e olucionando con el desa ollo de los se i-
cios, pa a man ene es os siemp e accesibles y bien de allados.
De ca a a la aplicación And oid, siendo aho a un diseño de ejemplo,
pod ía segui desa ollándose, ampliando así mismo los nue os se icios que
pudie an i su giendo, has a se una aplicación o almen e disponible pa a los
usua ios, pasando de se un ejemplo de uso de los se icios a una he amien a
pa a la accesibilidad.
Además la aplicación pod ía se lle ada a disposi i os con sis ema ope-
a i o IOS pa a pone es a he amien a a disposición del mayo núme o de
gen e posible.
Capí ulo 9
P ojec conclusions and u u e
wo k
To conclude his p ojec and ha e a mo e gene al and unc ional iew o i
we will now explain he conclisions ha we ha e made o i s implemen a ion
as well as he possible u u e wo k aplica ions.
9.1. Conclusions
Once he p ojec was inished we analized i s e olu ion and i s gene al
aspec s. A he begining he idea was o c ea e an API o he accesibili y
se ices o p e ious yea s, making he access o hem easie . The ask o
gene a ing an accesibili y se ice API has been made, hough he API is
no abou he exis ing p ojec s bu abou he se ices ha we ha e been
c ea ing. This is how ou ini ial p ojec , he API, has been co e ed, and also
he de elopmen o he se ices co e ed in he API.
Mo eo e , while he p ojec was e ol ing we ealized ha c ea ing an
aplica ion ha shows how o use he se ices would help o he de elope s o
ha e some ideas o possible uses, and ha is why we decided o de elop he
aplica ion.
Ou se ices a e REST as we hough ha i is mo e app op ia e o being
ocused in he HTTP p o ocol and in he XMLs da a p ocessing and o no
needing any adi ional laye . Wi h his kind o se ices GETs me hods can be
implemen ed, being his he one ha we a e mo e in e es ed in, because all
ou se ices a e GET eques s based. Also ou in en ion we e e u ning wo
exi o ma s, XML and JSON, and REST gi es suppo o bo h o hem.
A he begining we de eloped he se ices being mo e ocused in he inal
use , p ocessing he esul s as a sel -explained messages, easy o unde s and
o he ones ha uses hem. I wasn’ un il he eally ad anced de elopmen
103
104 Capí ulo 9. P ojec conclusions and u u e wo k
o he se ice and he begining o he aplica ion ha we ealized ha he
se ices we en’ mean o be used o a inal use bu o a de elope who
would in e p e he esul and will e u n he clea , sel -explained esul o
he inal use .
Because o his, he se ices esul s a e ocused in making i easie i s
pa se o a u u e de elope a he han o be sel -explained, which is he
wo k o he API, explaining he unc ions o each one o he se ices and
wha o expec om i .
Bo h he API de elopmen and he And oid aplica ion made us inally
unde s and p ope ly he se ices’s unc ion. Also, as we we e unde s anding
be e he concep s we we e ealizing he impo ance o he API o make
easie he access o he se ices and o explain how hey wo k and wha o
expec om hem.
A e he in o ma ion sea ch we saw ha accesibili y se ices we e spe-
cially use ul in mo ile de ices and able s, being his mo e accesible a e e y
momen . Tha is why we choosed ocus ou example’s aplica ion in an An-
d oid de ice.
Wi h ega d o he And oid’s applica ion implemen a ion i ’s been used
he elemen s ha a e supplied by he pla o m and he Ma e ial Design o
he in e ace and he design.
The de eloped echnology in his p ojec has as a goal helping o he
de elope s o implemen accessibili y unc ions, by using he c ea ed se ices
and wi hou ha ing o code e e y hing om ze o.
To sum up we can conclude ha he accesibili y se ices, hough hey
a e mo e de eloped e e yday, s ill ha e a long way o go, and ha ’s why his
p ojec could ha e g ea aplica ions in he u u e, which will be seen in he
nex sec ion.
9.2. Fu u e wo k
Wi h he c ea ion o he se ices, we ha e obse ed ha accessibili y’s
ield is much bigge han we hough a he begining, and ha he e a e s ill
many accessibili y se ices ha can be de eloped.
Tha is why his p ojec is no only acing he u u e as a ool o he
de elopmen o an aplica ion, bu i also has huge posibili ies in ega d o
he posibili y o being ex ended and being each day mo e comple , making
he limi a ions o he languaje no be a limi a ion anymo e.
In ega ds o he p ojec , imp o emen s and changes can be made in he
u u e o make i s unc ionali ies mo e comple e. Also new se ices can be
9.2. Fu u e wo k 105
added o he se e in he u u e, making i mo e comple e. Fo example, in
he cu en e sion o he se e we only ha e a ansla ion o english, in he
u u e his could be ex ended o o he languajes aswell.
I could be also ixed and imp o ed some se ice al eady c ea ed in his
p ojec , as he pic og aph one, making he eques as e , being he ime
ha he cu en se ice akes o e u n he image oo long.
Iin his con ex he API will be e ol ing wi h he de eloping o he
se ices, so hey a e always going o be accessible and well desc ibed.
Rega ding he And oid applica ion, i could keep de eloping, adding he
new se ices ha can be make un il i becomes an ac ual aplica ion o he
use s, becoming a use ul ool ins ead o an example. accesibilidad.
The applica ion could also be implemen ed in IOS ope a ing sys ems,
making i accessible o mo e people.
Capí ulo 10
Apo aciones indi iduales
10.1. Sheila Plaza Es é ez
El comienzo del abajo se cen ó en la búsqueda de in o mación así como
ecu sos que pudie an se ú iles pa a su desa ollo. Se es u o in es igando
qué ipo de se icios se ían más ú iles pa a desa olla en un u u o en una
aplicación. Nues os u o es nos si ie on de g an ayuda en es e comienzo,
pues o que nues os conocimien os sob e es e ema e an bas an e escasos,
pe o con su ayuda y la in o mación ecaudada de In e ne y algunos lib os,
poco a poco pudimos i eniendo la in o mación necesa ia pa a desa olla el
p oyec o.
Igualmen e se deba ió qué ipo de aplicación pod ía desa olla se pa a
se icios de accesibilidad y cuál se ía la mejo pla a o ma pa a ello.
Es e p oyec o ha sido desa ollado po es pe sona, y una de ellas ue a
del país du an e el p ime cua imes e, lo cual no ue ningún impedimen o
pues o que nos o ganizamos de al o ma que esa pe sona pudie a es a al
día de odo lo que se hablaba en nues a euniones, an o con los di ec o es
del p oyec o como en e las dos que es ábamos en Mad id, y en como a an-
zábamos, pa a que ella pudiese a anza en pa alelo. Pa a ello lo mejo ue
u iliza un plan desde el comienzo y segui lo du an e odo el año pa a no
pe de el con ol del iempo ni de las a eas. En es e con ex o se decidie on
usa he amien as bas an e ú iles pa a la plani icación de a eas así como
pa a es a comunicadas: T ello, Google D i e, Skype y Wha ssap.
T ello ha sido u ilizado pa a la plani icación y asignación de a eas a los
di e en es miemb os del g upo. En Google D i e se ab ie on dos ca pe as, una
ca pe a con los componen es del g upo y los di ec o es pa a pode compa i
la in o mación que se uese eniendo además de subi odas las ac as de las
euniones que se iban haciendo pa a que así la pe sona del ex anje o pudie a
sabe de que se hablaban en las euniones que ella es aba ausen e. La segunda
ca pe a del D i e la ealizamos sólo pa a los componen es del g upo donde
107
108 Capí ulo 10. Apo aciones indi iduales
a la ez se encon aban las di e en es ca pe as de nues os abajos y las
dis in as ac ualizaciones de los mismos.
Du an e el p ime pe iodo del p oyec o mis a eas ue on ecoge oda la
in o mación posible pa a pode desa olla el abajo y a la ez en ende que
son los se icios web es , y como se usan. Mien as se buscaba in o mación,
como la búsqueda enía una g an can idad de esul ados, decidimos empeza
a esc ibi la memo ia al y como nues os u o es nos habían ecomendado
pues o que si la dejábamos pa a el inal luego no nos aco da íamos de muchas
cosas.
La búsqueda de la in o mación nos lle ó unos meses, mas o menos de
sep iemb e a p ime os de no iemb e. Después de habe en endido lo que
e a un se icio web es y como uncionaba p ocedimos a la ealización mas
inicial del p oyec o.
Desde no iemb e has a eb e o es u e c eando la p ime a e sión de nues-
a web API y c eando algunos se icios web REST de p ueba pa a i en en-
diéndolos mejo y asen a conocimien os. Uno de los se icios de p ueba, con
a ias mejo as, se i ía más adelan e, con i iéndose en el se icio de palab a
sencilla. Es e p ime cua imes e mi disponibilidad e a bas an e baja po lo
que los a ances po mi pa e se eían a paso más len o.
En una de las euniones an es de comenza con odos los se icios, decidi-
mos cuales debe íamos desa olla p ime o y cuales en un u u o si acabá a-
mos a iempo los p ima ios. Nues os u o es pusie on a nues a disposición
algunos de los abajos de in de ca e a de o os años que es aban elacio-
nados con los se icios que noso as que íamos hace .
En segundo cua imes e mi disponibilidad e a bas an e más ele ada po
lo que me dedique a desa olla algunos se icios web REST pa a pode
e mina lo an e posible la web y empeza con una aplicación de ejemplo.
Al p incipio habíamos aco dado que los se icios es se ían aducidos
a ja a de o os p oyec os esc i os en PHP, Ja a, e c. Cuando me dispuse a
aduci el se icio de sinónimos de un abajo an e io en PHP a Ja a, me
ue muy complicado, ya que yo no en iendo de PHP, po lo que an es de
es a gas ando iempo en aduci pensé que se ía más sencillo si empezaba
a esc ibi lo desde ce o, y así ue.
Du an e los p ime os meses del segundo cua imes e me dediqué a desa-
olla algunos se icios analizando el código h ml de una página web. Es o
pa ecía complicado pe o la lib e ía JSOUP hizo que el análisis ue a más
sencillo.
An es de comenza con los se icios, es u e mi ando que página se ajus a-
ba más a las necesidades que es ábamos buscando. Algunas de las candida as
e an:
10.1. Sheila Plaza Es é ez 109
Sinonimos.com1
Sinonimos.o g2
ElPaís3
La de ElPaís ue una de las páginas con las que empecé a abaja pues o
que en abajos an e io es habían abajado con ella. Pe o buscando un poco
más, me di cuen a que la página Wo dRe e ences4daban espues a a casi
odos los se icios que noso as que iamos implen a , po ello decidí que
es a se ia la mejo , ya que una ez ap endiese a pa sea la pa a un se icio
pod ía pa sea la pa a los demás.
Pa a da uso a nues os se icios, pensamos que pod íamos desa olla
una aplicación de ejemplo, algunas de las al e na i as e an:
Un ejemplo den o de la página web.
Una aplicación Ja a pa a o denado .
Una aplicación And oid pa a mó il o able .
Decidimos que la mejo opción se ía And oid pues o que hoy en día el
mó il o la able es usado po la mayo ía de las pe sonas y el sis ema ope-
a i o And oid, según es udios ealizados po un pe iódico, es usado en un
88% de los disposi i os. O a de las azones po la que elegimos And oid es
po que mien as buscábamos in o mación sob e cómo ealiza se icios web
es , encon ábamos bas an e sob e And oid, y decidimos ap o echa es e
a ance.
Una ez decidido la pla a o ma que usamos pa a nues a aplicación de
ejemplo, comencé a in es iga qué p og ama pod ía u iliza . Como ya con a-
mos en capí ulos an e io es, en un p incipio comencé con Eclipse, sin da me
cuen a de que es aba obsole o pa a and oid. Decidí u iliza Eclipse po que
e a un en o no que ya conocía. Viendo que con es e p og ama no podía de-
sa olla , comencé con And oid S udio. Una ez habi uada a es e en o no
de desa ollo, comence con la implemen ación de oda nues a aplicación
And oid, u ilice un emulado de una Table Nexus 7.
Pa a e mina con es e apa ado de mis apo aciones al abajo, sólo
añadi que en la memo ia he apo ado odo el desa ollo de And oid, la pa e
de se icios que desa olle en su comienzo, pa e del esumen y conclusiones
y posibles adap aciones al u u o.
1h p://www.sinonimos.com/
2h p://www.sinonimos.o g/
3h p://se icios.elpais.com/dicciona ios/sinonimos-an onimos/
4h p://www.wo d e e ence.com/
110 Capí ulo 10. Apo aciones indi iduales
10.2. Ne ea Ramí ez Lamela
Inicialmen e, aco damos que nues o p oyec o se iba a desa olla en JA-
VA, u ilizando se icios es .
Decidimos que íbamos a ealiza ac as con los pun os a ados en cada
eunión, y pos e io men e subi las a una ca pe a compa ida en el d i e. El
p opósi o de es as ac as, e a man ene in o mada a una de las in eg an es del
g upo, debido a que se iba a encon a ue a du an e el p ime cua imes e
y no iba a pode asis i a dichas euniones. Es o no ha supues o ningún
p oblema ya que g acias a aplicaciones como Skype, d i e como eposi o io
y wha sapp hemos es ado cons an emen e en con ac o.
Pa a mejo a nues a coo dinación y o ganización c eamos dos a chi os
donde en uno de ellos se esc ibían las a eas a ealiza y en el o o las dudas
que nos su gían y no conseguíamos esol e pa a p egun á selo a nues os
u o es en la p óxima eunión.
La p ime a oma de con ac o con el p oyec o, ue amilia iza se con la
es uc u a y el uncionamien o de una API y con los se icios es . Pa a
ello, ealizamos búsquedas en in e ne de APIS ya c eadas, donde pudimos
obse a di e en es diseños y ecopilamos ideas pa a la nues a.
En los cua o p ime os meses, mis a eas se basa on en la búsqueda de
in o mación, la c eación del p ime p o o ipo de la página web de la API,
en ende el uncionamien o del se ido p opo cionado po nues os u o es
y el uncionamien o de los se icios es .
Pa a ello, me ins ale odas las he amien as necesa ias pa a la gene ación
de se icios es , e in es igue sob e odo lo elacionado con la ecnología que
íbamos a ene que u iliza , ya que nues os conocimien os en es e ámbi o
e an bas an e escasos.
Conseguimos ecopila mucha in o mación, po lo que siguiendo los conse-
jos que nos habían dado y pa a que no se nos ol ida án de alles del p og eso
del p oyec o, empezamos a esc ibi la memo ia dejando plasmado oda la
in o mación ecolec ada.
G acias a la ayuda de nues os u o es, consul as en In e ne y lib os,
conseguimos ob ene nociones básicas pa a pode empeza a ealiza nues os
p ime os ejemplos de se icios. Po ejemplo, el p ime se icio que desa olle,
ue una agenda simple, ealizando un se icio que hicie a una pe ición HTTP
con el mé odo GET.
Una ez que es u imos amilia izadas con las ecnologías, c eamos el
p ime p o o ipo del se icio “palab a sencilla” del p oyec o, gene ado con
eclipse y u ilizando como se ido local, “Tomca ”. A inales del cua imes e,
nues os u o es nos acili a on un se ido de la uni e sidad “h p://sesa . di.ucm.es/”,