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 (pjrfigueiredo@ua.pt)
2011 http://www.festock.com
Específicações Técnicas
Arquitectura de sistema
smarter, faster, better deliver
0 ‘
0 ‘
‘
0 ‘ 0 ‘
‘
‘
‘
(2011)
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 ‘
‘
‘
‘
0 ‘ 0 ‘ 0 ‘
0
‘
‘
‘
‘
‘
0
‘
0
‘
‘
0
‘
‘
‘
0
‘
0 ‘
0
‘
‘
‘
0
‘
‘
0
‘
‘
0 ‘
0 ‘
‘
0
‘
‘
(2012)
Pensada para lidar com o sucesso.
Específicações Técnicas > Arquitectura
Específicações Técnicas
Arquitectura de sistema
smarter, faster, better deliver
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.
Específicações Técnicas > Arquitectura
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.
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.
Específicações Técnicas
Arquitectura de sistema
vista geral da solução
APIs externas
Específicações Técnicas > Arquitectura
Específicações Técnicas
Arquitectura de sistema
principais fluxos dos pedidos e da informação e explicação simples dos blocos
Específicações Técnicas > Arquitectura
Específicações Técnicas
Arquitectura de sistema
solução decomposta em módulos
0
‘
0 ‘
0 ‘
‘
‘
0 ‘
‘
0 ‘ 0 ‘
‘
‘
0 ‘
‘
0 ‘
‘
‘
‘
0 ‘
0 ‘
‘
‘
0 ‘
0 ‘ 0 ‘ 0 ‘
‘
0
‘
‘
0
‘
‘
‘
‘
Firewall
Específicações Técnicas > Arquitectura
Backups
Específicações Técnicas
Arquitectura de sistema
principal funcionamento
Resposta
Específicações Técnicas
Arquitectura de sistema
justificaçã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 perante os 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 com grandes 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 portais web 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 processamento no servidor dos scripts em PHP.
memcached é um sistema geral de caching. Será usado principalmente para aumentar os resultados às queries à base de dados, uma vez que ao criar cache dos resultados e coloca-los na memória RAM torna o seu acesso muito mais rápido. É usado pelo Facebook, YouTube, Twitter entre outros.
ffmpeg é conjunto de bibliotecas e software open-source que grava, converte e cria streaming de audio e video. As suas bibliotecas são usadas por, 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 num datacenter 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
Específicações Técnicas
Arquitectura de sistema
solução decomposta em módulos - considerações
Tarefas diferentes, hardware diferente
Módulos extras
Sistema mutável
|
Os três servidores terão configurações de |
O |
servidor de compressão dos vídeos e |
O |
sistema foi concebido com a |
|
hardware diferentes uma ves que |
o |
servidor de streaming de vídeos |
capacidade de ser escalável, além disso, a nossa análise, a melhor solução |
|
|
desempenharão tarefas diferentes. |
estarão também dotados de PHP e de MySQL, uma vez que estarão |
os módulos apresentados são, segundo |
||
|
Servidor da aplicação Processador Memória RAM |
implementadas soluções de monitorização de sistema web-based, entre outras, que requerem estas funcionalidades. |
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, |
||
Servidor de compressão de vídeos Processador* Memória RAM Armazenamento
Servidor de compressão de vídeos Armazenamento*
* Vital ou de grande importância
Específicações Técnicas > Arquitectura
que poderão proporcionar melhores performances.
Específicações Técnicas
Fluxograma das principais funções
introduçã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 fluxogramas das principais funcionalidades do portal
Os fluxogramas apresentados servem de representação à forma como são executadas algumas das principais funcionalidades do portal Festock Nestas 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
Específicações Técnicas
Arquitectura de sistema
convidar Júri
Específicações Técnicas > Fluxogramas
Específicações Técnicas
Fluxograma das principais funções
criar evento
Client- side
sim
A j a x
E nvia dados para o servidor
S erver- side
Específicações Técnicas > Fluxogramas
Específicações Técnicas
Fluxograma das principais funções
criar festival
Client- side
S erver- side
Específicações Técnicas > Fluxogramas
Específicações Técnicas
Fluxograma das principais funções
submeter video em festival
Client -side
Ser ver -side
sim
Específicações Técnicas > Fluxogramas
Específicações Técnicas
Fluxograma das principais funções
convidar Júri
S erver- side
Específicações Técnicas > Fluxogramas
Específicações Técnicas
Fluxograma das principais funções
Upload de filme
N
ros
O
S erver- side
sim
não
P H P
Os dados foram guardados na B D?
sim
Específicações Técnicas > Fluxogramas
Específicações Técnicas
Base de dados
introdução
É 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).
Específicações Técnicas > Base de dados
Específicações Técnicas
Base de dados
Narrativa
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.
Específicações Técnicas > Base de dados
Específicações Técnicas
Base de dados
Específicações Técnicas > Base de dados
Específicações Técnicas
Base de dados
Descriçao das principais tabelas
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;
Específicações Técnicas > Base de dados
Específicações Técnicas
Mapa do site
Referências
http://www.ibm.com/developerworks/ibm/library/i-osource2/
Específicações Técnicas > Mapa do site
Páginas acedidas por todos os utilizadores (registados e não registados)
Páginas acedidas por todos osutilizadores registados
Página acedida pelo júri
Páginas acedidas pelo administrador
Login/Logout
Se o for utilizador registado - júri
Se o for utilizador registado - administrador
Se for utilizador registado (logado)
Específicações Técnicas
Mapa do site
Descriçao das principais tabelas
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.
Específicações Técnicas > Base de dados
Bien plus que des documents.
Découvrez tout ce que Scribd a à offrir, dont les livres et les livres audio des principaux éditeurs.
Annulez à tout moment.