Você está na página 1de 3

TRABALHO PRÁTICO – PROGRAMAÇÃO WEB II

1. OBJETIVO
No mundo de hoje, com a tecnologia cada vez mais presente e empregada no trabalho,
separar um sistema em camadas é de suma importância para a manutenibilidade e
escalabilidade. Neste universo existem o conceito de API, que fornecem uma interface para
consumir webservices (serviços da web).

Neste trabalho você deverá construir um sistema web simples, mas que irá consumir uma API
restful, que é um dos protocolos mais utilizados hoje na construção de webservices.
Conseguindo fazer o proposto, você terá uma noção de como sistemas web modernos
funcionam e terá feito um na prática.

2. ATENÇÃO
Este trabalho pode ser composto por no máximo um grupo de 3 alunos. Receberá nota 0
(ZERO) o grupo que plagiar o código de outro grupo ou da internet, mesmo que parcialmente.
Se dois ou mais grupos entregarem o mesmo código, TODOS receberão nota 0 (ZERO).

3. DEFINIÇÃO
Você irá fazer uma simples página WEB para buscar filmes, para isso vamos utilizar uma API
gratuita (com limite de 1000 requisições diárias), a OMDB (open movie database) API. Para
conseguir fazer as requisições nessa API, você deve obter uma chave (KEY) através do link
abaixo:

http://www.omdbapi.com/apikey.aspx

Preencha conforme exemplo acima, colocando algum email seu, assim como seu primeiro e
último nome. No seu email chegará um link que você deverá clicar para ativar sua chave e
também terá um exemplo de utilização:

http://omdbapi.com/?i=tt3896198&apikey=suachavedaapi
Copiando o link e colando no navegador web, você terá um retorno em JSON com as
informações do filme Guardiões da Galáxia 2, conforme abaixo:
{"Title":"Guardians of the Galaxy Vol. 2","Year":"2017","Rated":"PG-
13","Released":"05 May 2017","Runtime":"136 min","Genre":"Action,
Adventure, Comedy, Sci-Fi","Director":"James Gunn","Writer":"James
Gunn, Dan Abnett (based on the Marvel comics by), Andy Lanning (based
on the Marvel comics by), Steve Englehart (Star-Lord created by),
Steve Gan (Star-Lord created by), Jim Starlin (Gamora and Drax created
by), Stan Lee (Groot created by), Larry Lieber (Groot created by),
Jack Kirby (Groot created by), Bill Mantlo (Rocket Raccoon created
by), Keith Giffen (Rocket Raccoon created by), Steve Gerber (Howard
the Duck created by), Val Mayerik (Howard the Duck created
by)","Actors":"Chris Pratt, Zoe Saldana, Dave Bautista, Vin
Diesel","Plot":"The Guardians struggle to keep together as a team
while dealing with their personal family issues, notably Star-Lord's
encounter with his father the ambitious celestial being
Ego.","Language":"English","Country":"USA","Awards":"Nominated for 1
Oscar. Another 14 wins & 52 nominations.","Poster":"https://m.media-
amazon.com/images/M/MV5BNjM0NTc0NzItM2FlYS00YzEwLWE0YmUtNTA2ZWIzODc2OT
gxXkEyXkFqcGdeQXVyNTgwNzIyNzg@._V1_SX300.jpg","Ratings":[{"Source":"In
ternet Movie Database","Value":"7.6/10"},{"Source":"Rotten
Tomatoes","Value":"85%"},{"Source":"Metacritic","Value":"67/100"}],"Me
tascore":"67","imdbRating":"7.6","imdbVotes":"526,626","imdbID":"tt389
6198","Type":"movie","DVD":"22 Aug
2017","BoxOffice":"$389,804,217","Production":"Walt Disney
Pictures","Website":"N/A","Response":"True"}

Você deverá fazer um simples sistema web que terá um formulário permitindo o usuário
digitar um nome qualquer, e buscar os 10 primeiros títulos retornados para a frase pesquisada.
Esse retorno deverá trazer os seguintes dados de forma tabulada:

 Título da obra (Title)


 Ano (Year)
 Poster. Neste caso será retornada a imagem de divulgação da obra, você deve exibi-la
como imagem na página.

Segue um exemplo de chamada possível, onde o usuário digita na pesquisa a palavra casa e o
seguinte é retornada pela api:

Requisição: http://omdbapi.com/?s=casa&apikey=d5a45ddb

Retorno: {"Search":[{"Title":"Casa de mi
Padre","Year":"2012","imdbID":"tt1702425","Type":"movie","Poster":"https://m.media-
amazon.com/images/M/MV5BODE1MDYzNjA0NF5BMl5BanBnXkFtZTcwNjY2MTgyNw@@._V1
_SX300.jpg"},{"Title":"Casa de los
babys","Year":"2003","imdbID":"tt0303830","Type":"movie","Poster":"https://m.media-
amazon.com/images/M/MV5BMTM0MzI0Mjk5MV5BMl5BanBnXkFtZTcwMjc5MDYyMQ@@._
V1_SX300.jpg"},{"Title":"Casa
Grande","Year":"2014","imdbID":"tt3474994","Type":"movie","Poster":"https://m.media-
amazon.com/images/M/MV5BMTk0MTI4OTQ5NV5BMl5BanBnXkFtZTgwMzU5NzQyNzE@._V1
_SX300.jpg"},{"Title":"La casa
stregata","Year":"1982","imdbID":"tt0161389","Type":"movie","Poster":"https://m.media-
amazon.com/images/M/MV5BODkyNzVmMjEtOTllNy00MjNjLWFlNmItYWFhZTc4NWVjNjdmXk
EyXkFqcGdeQXVyMjUyNDk2ODc@._V1_SX300.jpg"},{"Title":"Casa privata per le
SS","Year":"1977","imdbID":"tt0083017","Type":"movie","Poster":"https://m.media-
amazon.com/images/M/MV5BMWE4YThkNDMtYzkxNS00Yzg5LTk2ZmQtNzI2ZjMwOWYxNmN
hXkEyXkFqcGdeQXVyMTQ2MjQyNDc@._V1_SX300.jpg"},{"Title":"Stasera a casa di
Alice","Year":"1990","imdbID":"tt0100683","Type":"movie","Poster":"https://m.media-
amazon.com/images/M/MV5BMWZhZjRhNjUtZTg1NS00MjlmLTljNDUtYTI3MTA5ODE5ODg2Xk
EyXkFqcGdeQXVyMjU5OTg5NDc@._V1_SX300.jpg"},{"Title":"Totò cerca
casa","Year":"1949","imdbID":"tt0041974","Type":"movie","Poster":"https://m.media-
amazon.com/images/M/MV5BZjQwYzY5MzctNzE0Mi00YmQwLThjZjQtNmEwOTUxZTY3YjlkXkE
yXkFqcGdeQXVyNzg5OTk2OA@@._V1_SX300.jpg"},{"Title":"Casa
Vita","Year":"2016","imdbID":"tt4743248","Type":"movie","Poster":"https://m.media-
amazon.com/images/M/MV5BZDNjMDRhMzUtMjA1Ni00MTgwLWEwY2QtNzg2ODRiNzIzNTE1
XkEyXkFqcGdeQXVyNTc5MTcxOTY@._V1_SX300.jpg"},{"Title":"L'insegnante viene a
casa","Year":"1978","imdbID":"tt0077738","Type":"movie","Poster":"https://m.media-
amazon.com/images/M/MV5BMWNmOTU2MzEtYzRhMC00MDEyLTgxNTYtOGFjMmUzM2E5Yz
QwXkEyXkFqcGdeQXVyNjY0OTA2MjA@._V1_SX300.jpg"},{"Title":"Cerca de tu
casa","Year":"2016","imdbID":"tt4378066","Type":"movie","Poster":"https://ia.media-
imdb.com/images/M/MV5BZTExYTdhMDYtNGRkMy00NDczLThhNDItZGY0N2QyN2Y2YTk5XkEy
XkFqcGdeQXVyMTA0MjU0Ng@@._V1_SX300.jpg"}],"totalResults":"690","Response":"True"}

Você deverá entregar seu projeto web compactado.

4. EXEMPLO
Segue exemplo de uma possível página WEB retornada se a busca fosse feita pelas palavras
HARRY POTTER:

OBS: Vocês não precisam seguir esse layout. Apenas a ideia de apresentar o resultado de
forma tabulada (não necessariamente usando a tag table) com as mesmas informações que
acima (título, ano e poster).

5. DÚVIDAS
Quaisquer dúvidas só me encaminharem mensagem no AVA. Pesquisem na internet sobre
como consumir webservice na linguagem de sua preferência, como por exemplo C#. Há
bastante conteúdo também sobre a OMDB API em si, incluindo vídeos tutoriais.

Você também pode gostar