específicações técnicas arquitectura de...

22
Específicações Técnicas Arquitectura de sistema smarter, faster, better deliver Representação de alto-nível, soluções estratégicas, decisões e as suas relações na estrutura fisica e lógica. Sistema optimizado para melhores performances. Trabalho, no âmbito da disciplina de Projecto, do Curso de Novas Técnologias da Comunicação, da Universidade de Aveiro, realizado por: 47162 - Paulo Figueiredo ([email protected]) 2011 http://www.festock.com

Upload: others

Post on 21-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Específicações Técnicas Arquitectura de sistemastorage.campus.ua.sapo.pt/files/be9f751efa39235e... · equipa está estratégicamente dividida e focada pelas diferentes camadas

Específicações Técnicas

Arquitectura de sistemasmarter, faster, better deliver

Representação de alto-nível, soluções estratégicas, decisões e as suasrelações na estrutura fisica e lógica.

Sistema optimizado para melhores performances.

Trabalho, no âmbito da disciplina de Projecto, do Curso de Novas Técnologias da Comunicação,da Universidade de Aveiro, realizado por:

47162 - Paulo Figueiredo ([email protected])

2011 http://www.festock.com

Page 2: Específicações Técnicas Arquitectura de sistemastorage.campus.ua.sapo.pt/files/be9f751efa39235e... · equipa está estratégicamente dividida e focada pelas diferentes camadas

Específicações Técnicas

Arquitectura de sistemasmarter, faster, better deliver

Específicações Técnicas > Arquitectura

0‘ ‘0‘ ‘ 0‘ ‘0‘ ‘ 0‘ ‘0‘ ‘ 0‘ ‘0‘ ‘

0‘ ‘0‘ ‘ 0‘ ‘0‘ ‘

0‘ ‘0‘ ‘0‘ ‘0‘ ‘0‘ ‘ 0‘ ‘0‘ ‘

Pensada para lidar com o sucesso.

0‘ ‘0‘ ‘ 0‘ ‘0‘ ‘

0‘ ‘0‘ ‘ 0‘ ‘0‘ ‘

0‘ ‘0‘ ‘0‘ ‘0‘ ‘0‘ ‘ 0‘ ‘0‘ ‘

0‘ ‘0‘ ‘ 0‘ ‘0‘ ‘

0‘ ‘0‘ ‘ 0‘ ‘0‘ ‘

0‘ ‘0‘ ‘0‘ ‘0‘ ‘0‘ ‘ 0‘ ‘0‘ ‘

(2011) (2012)

Page 3: Específicações Técnicas Arquitectura de sistemastorage.campus.ua.sapo.pt/files/be9f751efa39235e... · equipa está estratégicamente dividida e focada pelas diferentes camadas

Específicações Técnicas

Arquitectura de sistemasmarter, faster, better deliver

Específicações Técnicas > Arquitectura

Distribuição de tarefas

Plataforma assente em vários servidores, cada um deles específicamente configurado com hardware e software para lidar apenas com as tarefas que lhes serão destinadas. E nada mais.

Distribuimos os processos necessários para o funcionamento do Festock, sendo assi possível lidar com um número crescente de utilizadores, desde o dia do lançamento.

Soluções Open-Source

Utilizamos soluções open-source, usadas e testadas por alguns dos projectos web mais sonantes a nível mundial, tais como Wordpress, Flickr, Wikipedia, Twitter, Typepad, Youtube, Digg, entre outros.

Muitas das soluções foram desenvolvidas específicamente para lidar com inumeros pedidos e ou o fazem mais rápido ou criam soluções paralelas que fazem com que o sistema não seja alvo de um processamento de dados desnecessário. Apenas leitura.

Nós fizemos isto - we made this

Cada camada do sistema foi escolhida por nós ou desenvolvida por nós. A nossa equipa está estratégicamente dividida e focada pelas diferentes camadas do sistema, assegurando-lhe uma atenção constante.

Garantimos as melhores soluções técnicas aos nossos visitantes, em cada camada do sistema seja com o mais recente e estável software, seja com as melhores práticas.Tudo integrado. Tudo estável.

Page 4: Específicações Técnicas Arquitectura de sistemastorage.campus.ua.sapo.pt/files/be9f751efa39235e... · equipa está estratégicamente dividida e focada pelas diferentes camadas

Específicações Técnicas

Arquitectura de sistemavista geral da solução

Específicações Técnicas > Arquitectura

Internet

Infraestrutura local

Servidor da aplicação Servidor de compressão devídeos

Servidor de streaming devídeos

Visitantes/Clientes

Servidor(es) de backups

Internet

APIs externas

Page 5: Específicações Técnicas Arquitectura de sistemastorage.campus.ua.sapo.pt/files/be9f751efa39235e... · equipa está estratégicamente dividida e focada pelas diferentes camadas

Específicações Técnicas

Arquitectura de sistemaprincipais fluxos dos pedidos e da informação e explicação simples dos blocos

Específicações Técnicas > Arquitectura

Internet

Infraestrutura local

Servidor da aplicação Servidor de compressão devídeos

Servidor de streaming devídeos

Servidor(es) de backups

APIs externas

2. Pedido recebido pelo servidor de http APACHE.Os pedidos serão processados através do processadorde scripting PHP, que em conjunto com um servidorde base de dados MySQL, irão devolver os resultadosao visitante através de uma página web.-----------------------------------------------------------------------Estes pedidos e processamentos serão muitas vezesacelerados graças a soluções de reverse proxy e caches.

Visitantes/Clientes 1. Pedido efectuado pelo visitante.

3. APIs e outros ficheirosservidos por 3ªs partes

4. Compressão, peloffmpeg, dos vídeossubmetidos.--------------------------Feitos através de umagendamento nosistema operativo(cron).

5. Streaming dos vídeos armazenados.

Internet

Page 6: Específicações Técnicas Arquitectura de sistemastorage.campus.ua.sapo.pt/files/be9f751efa39235e... · equipa está estratégicamente dividida e focada pelas diferentes camadas

Específicações Técnicas

Arquitectura de sistemasolução decomposta em módulos

Específicações Técnicas > Arquitectura

HTTP Reverse Proxy(Nginx)

Memory Caching(memcached)

Servidor HTTP(Apache)

Ficheiros estáticos(css, js, jpg, png, etc.)

Op-cache(eAccelerator)

Processador de scripting(PHP)

Base de Dados(MySQL)

HTT

P R

ever

se P

roxy

(Ngi

nx)

Stre

amin

g de

vid

eo(ff

mpe

g)

HTT

P R

ever

se P

roxy

(Ngi

nx)

Com

pres

são

de v

ídeo

s(ff

mpe

g)

0‘ ‘0‘ ‘ 0‘ ‘0‘ ‘

0‘ ‘0‘ ‘ 0‘ ‘0‘ ‘

0‘ ‘0‘ ‘0‘ ‘0‘ ‘0‘ ‘0‘ ‘ 0‘ ‘0‘ ‘

Fram

ewor

k JQ

uery

Goog

le A

naly

tics

Stat

Coun

ter

Backups

HTTP GET/POST Request

Firewall

HTTP GET/POST Response HTTP GET/POST Response

HTTP GET/POST Response

Page 7: Específicações Técnicas Arquitectura de sistemastorage.campus.ua.sapo.pt/files/be9f751efa39235e... · equipa está estratégicamente dividida e focada pelas diferentes camadas

Específicações Técnicas

Arquitectura de sistemaprincipal funcionamento

Específicações Técnicas > Arquitectura

HTTP Reverse Proxy(Nginx)

Servidor de proxy HTTPde alta performance.

HTTP Cache(Varnish Cache)

Se o pedido está disponível em cache (hit), o servidor de cache responde imadiatamente e o pedido nunca chega à dynamic aplication.

Pedido

Base de dados(MySQL)

Memory Cache(memcached)

Aumenta a performanceao colocar em cache dadosna memória.

0‘ ‘0‘ ‘0‘ ‘

Resposta

Resposta

(hit)

Processador de scripting(PHP)

Processador de scripting(PHP)

PHPHTMLCSSJSJSONetc...

0‘ ‘

Page 8: Específicações Técnicas Arquitectura de sistemastorage.campus.ua.sapo.pt/files/be9f751efa39235e... · equipa está estratégicamente dividida e focada pelas diferentes camadas

Específicações Técnicas

Arquitectura de sistemajustificação

Tivemos como principais objectivos e preocupações a eficácia e a eficiência.Todas as tecnologias usadas são open-source e têm como função maximizarem a performance da nossa aplicação peranteos nossos visitantes e de minimizar os recursos, por parte da nossa infraestrutura física, nomeadamente cpu e memória face aos pedidos.

nginx é um servidor de http e reverse proxy, de alta performance e estabilidade e de consumo baixo de recursos.Ao contrário do Apache, o nginx foi desenvolvido tendo em conta grandes afluências ao servidor http pelo que lida melhor comgrandes afluências. É usado pelo Wordpress, YouTube, Facebook, GitHub, SouceForce entre outros.

PHP é uma linguagem de scripting desenvolvida para desenvolvimento de páginas web dinâmicas. Tal como o nginx é usado pelos portaisweb mais conhecidos e acedidos a nível mundial tais como o Wordpress, YouTube, Facebook, GitHub, SouceForce entre outros.

eAccelerator optimiza o código de PHP e disponibiliza-o em cache, na memória ou disco. O eAccelerator pode reduzir até 10x o processamentono servidor dos scripts em PHP.

memcached é um sistema geral de caching. Será usado principalmente para aumentar os resultados às queries à base de dados, uma vezque ao criar cache dos resultados e coloca-los na memória RAM torna o seu acesso muito mais rápido. É usado pelo Facebook, YouTube, Twitterentre outros.

ffmpeg é conjunto de bibliotecas e software open-source que grava, converte e cria streaming de audio e video. As suas bibliotecas são usadaspor, por exemplo, VLC, MPlayer, Blender, Google Chrome entre outros.

Além destas soluções que visam criar eficiência e eficácia no nosso portal, os servidores estarão dotados de soluções de monitorização de hardware,rede, etc como por exemplo o RRDTool/Cacti afim de podermos prever e/ou atender a falhas no sistema.O sistema dispõe de um infraestrutura paralela de backup. Os backups serão periodicamente replicados numdatacenter num país ainda a estipular.

Não menos importante, toda a solução funcional é desenvolvida sob um sistema de control de versões, neste caso o Subversion.

Keywords: Open-Source, Eficiência, Eficácia, Capacidade, Resposta, Escalabilidade, Segurança, Manutenção

Page 9: Específicações Técnicas Arquitectura de sistemastorage.campus.ua.sapo.pt/files/be9f751efa39235e... · equipa está estratégicamente dividida e focada pelas diferentes camadas

Específicações Técnicas

Arquitectura de sistemasolução decomposta em módulos - considerações

Específicações Técnicas > Arquitectura

Tarefas diferentes, hardware diferente

Os três servidores terão configurações de hardware diferentes uma ves que desempenharão tarefas diferentes.

Servidor da aplicaçãoProcessadorMemória RAM

Servidor de compressão de vídeosProcessador*Memória RAMArmazenamento

Servidor de compressão de vídeosArmazenamento*

* Vital ou de grande importância

Módulos extras

O servidor de compressão dos vídeos e o servidor de streaming de vídeos estarão também dotados de PHP e de MySQL, uma vez que estarão implementadas soluções de monitorização de sistema web-based, entre outras, que requerem estas funcionalidades.

Sistema mutável

O sistema foi concebido com a capacidade de ser escalável, além disso,os módulos apresentados são, segundo a nossa análise, a melhor solução encontrada, contudo, estamos cientes da evolução constante das técnologias e surgimento de novas soluções, tanto a nível de software como de hardware, que poderão proporcionar melhores performances.

Page 10: Específicações Técnicas Arquitectura de sistemastorage.campus.ua.sapo.pt/files/be9f751efa39235e... · equipa está estratégicamente dividida e focada pelas diferentes camadas

Específicações Técnicas

Fluxograma das principais funçõesintrodução

Os fluxogramas são técnicas de representações gráficas, nas quais que se utilizam símbolos previamente convencionados, permitindo a descrição clara e precisa do fluxo, ou sequência de um processo, bem como sua análise e redesenho.

Apresentaremos os f luxogramas das principais funcionalidades do portal

Os fluxogramas apresentados servem de representação à forma como são executadas algumas das principais funcionalidades do portal FestockNestas representações estão visíveis os fluxos do lado do cliente e do lado do servidor, quando aplicado. - convidar júri - criar evento - criar festival - submeter filme numa competição - upload de filme - converter filme

Específicações Técnicas > Fluxogramas

Page 11: Específicações Técnicas Arquitectura de sistemastorage.campus.ua.sapo.pt/files/be9f751efa39235e... · equipa está estratégicamente dividida e focada pelas diferentes camadas

Específicações Técnicas

Arquitectura de sistemaconvidar Júri

Específicações Técnicas > Fluxogramas

Client-side Server-side

I nicioPede nom e ou em a il do

júr i

A j a xE nv ia nom e ou em a il

pa ra o s erv idor

P H PR ecebe nom e ou

em a il do júr i

PHPE x is tem utiliza dores

com o nom e ou em a il fornecido?

J S O NS em

utiliza dor

J S O NDa dos dos

utiliza dores encontra dos

J a v a S c r i p tApres enta

“m ens a gem ”

Quer procura r com outro nom e ou

em a il?

Fim

s im

s im

nã o

nã o

J a v a S c r i p tC ria ja nela s com os

utiliza dores encontra dos

E s colha de um dos

utiliza dores

A j a xE nv ia da dos do júr i

P H PR ecebe da dos do júr i e a cres centa a lis ta

de júr is do fes tiv a l na ba s e de da dos

PHPO júr i foi ins er ido na

ba s e de da dos ?

J S O Nerros

J S O Ns uces s o

s im

nã o

J a v a S c r i p tApres enta “E rros ”

J a v a S c r i p tApres enta m ens a gem de

s uces s o

O júr i a pa rece na cons ulta ?

s im

nã o

Page 12: Específicações Técnicas Arquitectura de sistemastorage.campus.ua.sapo.pt/files/be9f751efa39235e... · equipa está estratégicamente dividida e focada pelas diferentes camadas

Específicações Técnicas

Fluxograma das principais funçõescriar evento

Específicações Técnicas > Fluxogramas

C lient- s ide S erv er- s ide

J a v a S c r i p tApres enta

“E rro”

I nicioPede

da dos do E v ento

A j a xE nv ia da dos pa ra

o s erv idor

J a v a S c r i p tV er ifica s e os ca m pos

es tã o todos preenchidos correcta m ente

s im

nã o

P H PR ecebe da dos do

fes tiv a l e env ia pa ra a ba s e de

da dos

P H POs da dos fora m recebidos pela

ba s e de da dos ?

J S O Nerros

J S O Ns uces s o

s im

nã o

J a v a S c r i p tC ria ca m pos de

a diçã o de com petições

Pede da dos da s

com petiçoes

A j a xE nv ia da dos pa ra

o s erv idor

P H PG ra v a a s

ca tegor ia s do ev ento na ba s e de

da dos

P H POs da dos fora m

gua rda dos na ba s e de da dos ?

J S O Nerros

J S O Ns uces s o

s im

nã o

J a v a S c r i p tMens a gem de

s uces s oFim

J a v a S c r i p tV er ifica s e os da dos

es tã o todos preenchidos correcta m ente

Page 13: Específicações Técnicas Arquitectura de sistemastorage.campus.ua.sapo.pt/files/be9f751efa39235e... · equipa está estratégicamente dividida e focada pelas diferentes camadas

Específicações Técnicas

Fluxograma das principais funçõescriar festival

Específicações Técnicas > Fluxogramas

C lient- s ide S erv er- s ide

J a v a S c r i p tApres enta “E rro”

I nicio Pede da dos do fes tiv a l

A j a xE nv ia da dos pa ra o

s erv idor

J a v a S c r i p tV er ifica s e os ca m pos es tã o

todos preenchidos correcta m ente

s im

nã o

P H PR ecebe da dos do

fes tiv a l e env ia pa ra a ba s e de da dos

P H POs da dos fora m

recebidos pela ba s e de da dos ?

J S O Nerros

J S O Ns uces s o

s im

nã o

J a v a S c r i p tC ria ca m pos de

pa ga m ento

Pede da dos do pa ga m ento

A j a xE nv ia da dos pa ra o

s erv idor

P H PProces s a o

pa ga m ento e gra v a da dos na ba s e de

da dos

P H POs da dos fora m

proces s a dos e gua rda dos na ba s e de da dos ?

J S O Nerros

J S O Ns uces s o

s im

nã o

J a v a S c r i p tMens a gem de

s uces s oFim

Page 14: Específicações Técnicas Arquitectura de sistemastorage.campus.ua.sapo.pt/files/be9f751efa39235e... · equipa está estratégicamente dividida e focada pelas diferentes camadas

Específicações Técnicas

Fluxograma das principais funçõessubmeter video em festival

Específicações Técnicas > Fluxogramas

Client-side Server-side

I nicio

Utiliza dor s elecciona film e pa ra s ubm eter

Utiliza dor s elecciona

fes tiv a l pa ra concorrer

Utiliza dor s elecciona

com petições pa ra concorrer

A j a xE nv ia da dos

pa ra s erv idor

P H PR ecebe da dos

P H PO film e pode concorrer

em toda s a s com petições

s eleciona da s ?

J S O Nerros

nã o

P H PE nv ia pa ra a ba s e de da dos os da dos da s

ins cr ições

s im

P H POs da dos fora m

recebidos correcta m ente pela

ba s e de da dos ?

J S O Nerros

J S O Ns uces s o

s im

nã o

J a v a S c r i p tApres enta “E rro”

J a v a S c r i p tApres enta “E rro”

J a v a S c r i p tMens a gem de

s uces s oFim

Page 15: Específicações Técnicas Arquitectura de sistemastorage.campus.ua.sapo.pt/files/be9f751efa39235e... · equipa está estratégicamente dividida e focada pelas diferentes camadas

Específicações Técnicas

Fluxograma das principais funçõesconvidar Júri

Específicações Técnicas > Fluxogramas

S erv er- s ide

C r o nDe 1 5 em 1 5 m in ex ecuta

o ficheiro conv ers a o de film es php

F i c h e i r o p h pV er ifica s e ex is te a lgum

film e que a inda nã o tenha s ido conv ertido

Fim

I nicio I nicia conv ers ã o

C r o nQua ndo term ina r a

conv ers ã o Actua liza os da dos do film e na

B D

nã o

s im

Page 16: Específicações Técnicas Arquitectura de sistemastorage.campus.ua.sapo.pt/files/be9f751efa39235e... · equipa está estratégicamente dividida e focada pelas diferentes camadas

Específicações Técnicas

Fluxograma das principais funçõesUpload de filme

Específicações Técnicas > Fluxogramas

C lient- s ide S erv er- s ide

I nicio I ns ere film eJ a v a S c r i p t

Form a to do film e é v á lido?

nã o

J a v a S c r i p tApres enta “E rro”

A j a xE nv io o ficheiro do

film e pa ra o s erv idor

s im P H PG ua rda o ficheiro do

film e no s erv idor

P H PO ficheiro foi

gua rda do?

J S O Nerros

nã o

P H PI ns ere ca m inho do film e na ba s e de

da dos

s im

P H POs da dos fora m

gua rda dos na B D?

J S O Nerros

J S O NDa dos do

ficheiro de film e

nã o

s im

J a v a S c r i p tC ons trói div pa ra pedir os da dos do

film e e m os tra ja nela

A j a xE nv ia link pa ra o

s erv idor

P H PR ecebe link do im db

PHPO link é v a lido?

J S O NerrosJ a v a S c r i p t

Apres enta “E rro”

P H PLê a pá gina do I m db e retira os da dos do

film e

P H PR etorna os da dos

encontra dos

J S O NDa dos do film e

no I m db

J a v a S c r i p tPreenche os ca m pos

de tex to com os da dos recebidos

nã o

s im

preenchim ento m a nua l de todos

os da dos

A j a xE nv ia da dos pa ra o

s erv idor

P H PR ecebe da dos

P H PActua liza da dos do film e na ba s e de

da dos

P H POs da dos fora m

gua rda dos na B D?

J S O Nerros

J S O Ns uces s o

J a v a S c r i p tMos tra m ens a gem de

s uces s oFim

nã o

s im

Preencheu o link do I MDB ?

nã o

s im

Page 17: Específicações Técnicas Arquitectura de sistemastorage.campus.ua.sapo.pt/files/be9f751efa39235e... · equipa está estratégicamente dividida e focada pelas diferentes camadas

Específicações Técnicas

Base de dadosintrodução

Específicações Técnicas > Base de dados

É possível dizer de uma forma genérica que qualquer conjunto de dados é uma base de dados (BD) – exemplo: bloco de notas.Embora sendo possível usar a definição genérica dada acima, o termo base de dados é aplicado hoje em dia princi-palmente para fazer referência a bases de dados informáticas, isto é, conjuntos de dados estruturados, manipula-dos usando um Sistema de Gestão de Bases de Dados (SGBD) ou Database Management System (DBMS).

Page 18: Específicações Técnicas Arquitectura de sistemastorage.campus.ua.sapo.pt/files/be9f751efa39235e... · equipa está estratégicamente dividida e focada pelas diferentes camadas

Específicações Técnicas

Base de dadosNarrativa

Específicações Técnicas > Base de dados

O mundo cinematográfico” é cada vez mais exigente no que respeita aos recursos utilizados para fomentar o seu progressivo cresci-mento no mercado global.Para fazer face às exigências dos festivais de cinema, a empresa ‘Festock’ criou um serviço on-line que permite a comunicação entre festivais e utilizadores/cineastas.Na plataforma “Festock” qualquer utilizador tem acesso ao registo, sem que tenha qualquer custo (€) para o efeito. Refira-se, ainda, que qualquer utilizador (registado ou não registado) tem a possibilidade de conhecer a realidade de toda a dinâmica da plataforma, serviços disponíveis e potencialidades existentes. Veja-se alguns exemplos: aceder aos contactos dos administradores do site; visualizar o histo-rial e o manual de identidade da empresa “Festock”; aceder a informações relativas a festivais ou eventos dos mesmos e seus detalhes; assistir a alguns filmes e seus detalhes; assistir a notícias e seus detalhes; consultar a ajuda; fazer registo e login.Após registo no site o utilizador, além das funcionalidades referidas anteriormente, passa a usufrui de novas funcionalidades, tais como: a inserção de filmes e respectiva inscrição em festivais; a visualização de filmes (biblioteca); a possibilidade de enviar, receber e visualizar mensagens; a opção de utilizar um sistema de pesquisa com filtragem (notícia, autor, festival, evento, filme); a hipótese de criar um festival. Ao criar um festival, e após este ser aceite pela administração da plataforma, o utilizador passa a poder administra-lo a partir de novas funcionalidades que são disponibilizadas (publicar, editar e apagar notícias; convidar júris e formar guest list, selecionar filmes para concurso; criar e editar eventos; gerir estatísticas; gerir as participações dos utilizadores no festival). Existe ainda outra categoria de utilizador - júri, esta permite ao utilizador ver e avaliar os filmes concorrentes.Refira-se, ainda, que os utilizadores têm total mobilidade na plataforma.

Page 19: Específicações Técnicas Arquitectura de sistemastorage.campus.ua.sapo.pt/files/be9f751efa39235e... · equipa está estratégicamente dividida e focada pelas diferentes camadas

Específicações Técnicas

Base de dados

Específicações Técnicas > Base de dados

Page 20: Específicações Técnicas Arquitectura de sistemastorage.campus.ua.sapo.pt/files/be9f751efa39235e... · equipa está estratégicamente dividida e focada pelas diferentes camadas

Específicações Técnicas

Base de dadosDescriçao das principais tabelas

Específicações Técnicas > Base de dados

filmes – esta tabela possibilita: - a agregação de todos os dados dos filmes, tais como: titulo, sinopse, URL do filme, autor, duração, etc.;

utilizadores – esta tabela possibilita: - a agregação de todos os dados dos utilizadores, tais como: nome, password, email;

mensagens – esta tabela possibilita: -a agregação de todos os dados das mensagens, tais como: corpo da mensagem, autor da mensagem, data de publicação;

juris – esta tabela possibilita: - a distinção dos festivais e respectivos filmes para posterior avaliação;

avaliacoes – esta tabela possibilita: - a agregação de todos os dados das avaliações efectuadas;

administradoresFestivais – esta tabela possibilita: - a agregação de todos os criadores/administradores de festivais;

festivais – esta tabela possibilita: - a agregação de todos os dados dos festivais, tais como: nome do festival, morada do festival, telefone do festival, email do festival URL do festiva;

noticias – esta tabela possibilita: - a agregação de todos os dados as notícias, tais como: data de publicação, corpo da notícia;

planosFestivais – esta tabela possibilita: - a agregação de todos os planos/pacotes que podem ser adquiridos pelos utilizadores, aquando da “elaboração” de festivais;

pagamentos – esta tabela possibilita: - a agregação de todos os dados dos pagamentos efectuados, tais como: data de pagamento, quantia paga, plano/pacote adquirido, validade da subscrição, festival associado ao pagamento;

edições – esta tabela possibilita: -a agregação de todos os dados relativos às edições dos festivais, tais como: nome do festival, ano da edição do festival, número da edição do festival, referência ao início e ao fim das inscrições no festival;

competicoesEdicao – esta tabela possibilita: -a agregação das competições utilizadas numas determinada edição/festival, tais como: melhor filme internacional, melhor filme de animação, melhores efeitos especiais, etc.;

generos – esta tabela possibilita: - a agregação de todos os géneros dos filmes, tais como: animação, drama, terror, etc.;

submissoes – esta tabela possibilita: - a agregação de todos os dados relativos às submissões dos filmes, tais como: data de submissão, id do filme, id do utilizador;

linguas – esta tabela possibilita: - a agregação de todos os idiomas disponíveis para as linguas dos filmes;

Page 21: Específicações Técnicas Arquitectura de sistemastorage.campus.ua.sapo.pt/files/be9f751efa39235e... · equipa está estratégicamente dividida e focada pelas diferentes camadas

Específicações Técnicas

Mapa do site

Detalhes do evento

Evento

LoginApresentação do siteRegistoFestivaisFilmesNotíciasSobre nósFactos

Landing page

Listagem dos filmes

Filmes

Mapa de navegaçãoLinks

Mapa do site

FAQFuncionalidadesAjuda online

Ajuda

MoradaMapa de localizaçãoEmailTelefone

Contactos

HistorialManual de identidade

Sobre nós

Inserir filmeOs meus filmesInscrição em festivaisVer filme

Filmes

PublicarEditarApagar

Notícias

Convidar júrisComprar pacotesCriar guest listGerir participaçõesSelecionar vídeosEstatísticas

Administrar

RecomendaçõesLista de eventosPesquisarAs minhas inscrições

Eventos

CriarEditar

Eventos

Enviar mensagemVer recebidasVer enviadas

Mensagens

Def. de privacidadeEditar dadosO meu historial

Perfil

Formulário de registoPagar subscrição

Criar festival

Procurar por:- notícia- autor- festival- evento- filme

Pesquisar

NotíciasAdministrarEventosMensagensPesquisar

Perfil administrador(festival)

Ver filmes Avaliar filmes (rating)

Perfil júri(festival)

FilmesEventosMensagensPesquisarPerfilAjudaCriar festival

Home page(utilizador)

Listagem das notícias

Notícias

Detalhes do filmeVer filme (utilizadoresregistados)

Página do filme

Corpo da notíciaDetalhes da notícia

Página da notícia

Listagem dos festivais

Festivais

DetalhesContactosInscriçõesCompetiçõesEventos

Página do festival

Login

Logout

Se o for utilizador registado - administrador

Se o for utilizador registado - júri

Se for utilizador registado (logado)

Páginas acedidas pelo administrador

Página acedida pelo júri

Páginas acedidas por todos osutilizadores registados

Páginas acedidas por todos os utilizadores (registados e não registados)

Login/Logout

Referênciashttp://www.ibm.com/developerworks/ibm/library/i-osource2/

Específicações Técnicas > Mapa do site

Page 22: Específicações Técnicas Arquitectura de sistemastorage.campus.ua.sapo.pt/files/be9f751efa39235e... · equipa está estratégicamente dividida e focada pelas diferentes camadas

Específicações Técnicas

Mapa do siteDescriçao das principais tabelas

Específicações Técnicas > Base de dados

A localização é um dos pontos-chave do século XXI. Quando levamos a mesma consideração de localização e acessibilidade aos nossos sites, devemos sempre colocar-nos nas posições dos nossos utilizadores e nada melhor do que uma "bússola" virtual para orientá-los. Nas "páginas inicias" esse instrumento é conhecido como - Mapa do Site.

Mapa do site (disposição detalhada)

Utilizadores não registados

Landing page – Esta página estará presente sempre que qualquer utilizador (registado ou não registado) aceda ao nosso site.

Funcionalidades:-Login-Apresentação do site-Registo-Festivas-Filmes-Notícias-Factos (estatísticas do site)

Notícia – Nesta página, todos os utilizadores podem:-Aceder a todas as notícias publicadas até à data;

Página da notícia – Nesta página, todos os utilizadores podem:-aceder ao corpo da notícia;-consultar os detalhes da notícia (autor, data de publicação, etc.);

Filmes – Nesta página, todos os utilizadores podem:-consultar todos os filmes presentes no site;

Página do filme – Nesta página, todos os utilizadores podem:-Detalhes – consultar os detalhes de um filme em específico;-Ver filme(utilizado ver um filme em específico;

Festivais – Nesta página, todos os utilizadores podem:-consultar todos os festivais que estão ou já estiveram vinculados ao site;

Página do festival – Nesta página, todos os utilizadores podem:-consultar os detalhes de um festival em específico;-aceder aos contactos do festival (telefone, website do festival, etc.);-concorrer, com os seus filmes, nos festivais que pretenderem;-verificar/analisar/filtrar as competições, nas quais podem concorrer com os seus filmes;-consultar os eventos de um determinado festival

Evento – Nesta página, todos os utilizadores podem:-consultar todos os detalhes relativos a um determinado evento

Mapa do site – Nesta página, todos os utilizadores podem:-visualizar a “estrutura” que suporta todo o site; -aceder aos links presentes no ‘Mapa do site’, de modo a se direccionarem para a página pretendida. Realce-se, ainda, que quanto maior for o grau de incremento que o utilizador tiver na plataforma (ex.: júri), maior são as possibilidades de interacção com o ‘Mapa do site’;

Ajuda – Nesta página, todos os utilizadores podem aceder às seguintes ajudas:-FAQ – esta ‘ajuda’ é composta por ‘perguntas frequentes’ (pré-definidas) pelos administradores do site;-Funcionalidade – esta ‘ajuda’ visa informar os utilizadores dos fins/funcionalidades presentes em todo o site;-Ajuda online – esta ‘ajuda’ permite criar uma interacção entre os utilizadores e os administradores do site, ou seja, permite ao utilizador colocar questões/dúvidas na utilização do site aos administradores, sendo que obtêm uma resposta adequada às questões individualmente;

Contactos – Nesta página, todos os utilizadores podem aceder aos seguintes contactos da empresa responsável pelo site:-Morada – disponibilização da morada da sede da empresa detentora do site ou sua administração;-Mapa de localização – disponibilização da sede da empresa detentora do site ou sua administração através de um sistema de localização - Google Maps;-Email – disponibilização do email da administração do site;-Telefone – Disponibilização do contacto telefónico da administração do site;

Sobre nós – Nesta página, os utilizadores registados podem:-ver todo o percurso efectuado pela empresa através do site www.festock.comaté à data;-consultar o ‘Manual de identidade’, este que dá a conhecer a forma como o site foi construído, bem como toda a sua dinâmica a nível gráfico;

Utilizadores registados

Home page – A esta página só têm acesso os utilizadores que estão registados no site. Saliente-se que os utilizadores registados têm, também, acesso a todas as funcionalidades presentes na ‘Landing page’.

Funcionalidades:-Filmes-Eventos-Mensagens-Pesquisar-Perfil-Ajuda-Criar festival

Filmes – Nesta página, os utilizadores registados podem:-inserir filmes no site para que, numa fase posterior, possam inscrevê-los nos festivais pretendidos;-a qualquer momento ver a sua compilação de filmes;-concorrer a um ou mais festivais;-visualizar os seus filmes a qualquer momento;

Eventos – Nesta página, os utilizadores registados podem:-receber recomendações para participação em eventos;-aceder aos eventos dos festivais que estão disponíveis no site;-pesquisar eventos que estejam a decorrer;-consultar as inscrições em eventos;

Mensagens – Nesta página, todos os utilizadores registados podem:-enviar mensagens direccionadas a um utilizador em específico que esteja associado;-consultar as mensagens recebidas;-consultar as mensagens enviadas;

Pesquisar – Nesta página, todos os utilizadores registados podem recorrer a filtros para pesquisar de uma forma mais eficiente, veja-se as possibilidade de filtragem:-notícia;-autor;-festival;-evento;-filme;

Perfil – Nesta página, todos os utilizadores registados podem:-consultar e alterar as definições de privacidade no que respeita à publicação dos filmes por parte do site; -editar os seus dados pessoais;-consultar o seu histórico de participações em festivais;

Criar festival – Nesta página, todos os utilizadores registados podem:-preencher o formulário para formalizar a pretensão em criar um festival;-efectuar pagamento após preenchimento do formulário. Este será a confirmação da existência ‘real’ do festival;

Utilizadores registados – administradores

Perfil administrador – Nesta página, todos os utilizadores registados (administradores) podem:-publicar notícias;-administrar todo o festival;-gerir os diversos eventos do festival;-enviar mensagens;

Notícias – Nesta página, todos os utilizadores registados (administradores)podem:-publicar notícias sobre os festivais a que estão vinculados;-editar as notícias publicadas;-apagar as notícias publicadas;

Administrar – Nesta página, todos os utilizadores registados(administradores) podem:-elaborar e enviar convites, por forma a forma um júri;-aceder à comprar de pacotes/subscrições no site www.festock.com;-gerir as participações dos utilizadores concorrentes;-convidar membros para fazerem parte da organização (ex.: júri);-gerir as estatísticas relativas à adesão de participantes no evento;-selecionar os vídeos após consulta e nota do júri;

Eventos – Nesta página, todos os utilizadores registados (administradores)podem:-criar eventos (ex.: criar/inscrever novos festivais);-editar os eventos criados;

Utilizadores registados – Júris

Perfil júri – Nesta página, todos os utilizadores registados (júris) podem:-avaliar filmes através de um sistema de rating, o que permite uma “filtragem” dos filmes concorrentes;-ver os filmes de forma a poderem avalia-los;

Login – Este permite aos utilizadores registados se conectarem ao site de modo a usufruírem de todas as funcionalidades disponíveis.

Logout – Este permite aos utilizadores, que estão conectados ao site, desconectarem-se do mesmo.