Boas práticas de programação com Object Calisthenics
Arquitetura de referência pra plataforma de Crowdsensing em Smart Cities
1. Uma Arquitetura de Referência para
Plataforma de Crowdsensing em Smart Cities
Herbertt B. M. Diniz
hbmd@cin.ufpe.br
Emanoel C. Gomes
ecgfs@cin.ufpe.br
Kiev S. Gama
kiev@cin.ufpe.br
14. Problemas e Desafios
• Padronização da Arquitetura
• Interoperabilidade
• Alto custo financeiro de soluções
• Big Data
14
15. FLOSS e COTS
FLOSS
(Freely Licensed Open Source Software)
COTS
(Commercial-off-the-shelf)
Código aberto e sem custo de uso e
distribuição.
Termo utilizado para os sistemas que são
fabricados comercialmente e depois
adaptados para usos específicos.
A liberdade para criar e distribuir
derivados.
Existência de uma organização de apoio
comercial e responsável por Suporte e
manutenção.
A liberdade de comercializar o original
ou derivado.
Criação, industrialização, manutenção e
evolução do software de maneira
compartilhada com usuários.
15
16. Trabalhos Relacionados
1. SOFIA - plataforma de interoperabilidade semântica. [Filipponi et al. 2010]
2. Plataforma baseada em barramento de serviços para integrar
diferentes fontes de dados. [Borja e Gama. 2014]
3. TrafficInfo - aplicativo de Crowdsensors, que visualiza em tempo real
informações de transporte público pelo Google maps. [Farkas et al. 2014]
4. CrowdOut - serviço de crowdsensing para cidades inteligentes, que
permite aos usuários relatar problemas. [Aubry et al. 2014]
5. Plataforma em HTML5, com serviço baseado em localização, para achar
pontos de interesse nas proximidades. [Choi & Kang. 2014]
16
17. Visão Geral
• Front End Module:
– Crowdsensing
• Back End Module:
– API de serviços restful
17
20. Case Desenvolvido
• Bike Cidadão:
– Achar pontos de interesse nas proximidades.
– Visualizar em tempo real informações.
– Relatar problemas e visualizar pelo sistema de Mapas.
– Integrar diferentes fontes de dados.
20
24. Testes (Ambiente de testes)
• T1 - Requisições onde os usuários não passavam por pontos de acidentes.
• T2 - Requisições onde usuários estavam em rota de perigo e estavam em zona de
colisão com outro usuário.
• Utilização da Ferramenta JMeter com os seguintes parâmetros: Threads = 1000,
Ramp-up = 2 e LoopCount = forever.
• Em cada teste mediu-se o desempenho de requisições simultâneas dos 1000
usuários virtuais durante 15 minutos.
24
27. Conclusão
• Criação de plataforma de middleware:
– Rápido desenvolvimento.
– Escalabilidade horizontal.
– Baixo acoplamento e alta coesão.
– Eventos complexos
– Parametrizável
• Atendeu as demandas do Case.
27
28. Trabalhos Futuros
• Ambiente real de produção
• Ampliar Integração de Dados
• Visualização de dados Estatísticos
28