Think: Guia de Desenvolvimento Mobile em Equipes Reduzidas
Aluno: Rafael Rabelo Itajubá
Orientador: Prof. Dr. Eduardo Martins Morgado
Co-Orientador: Lais Munhoz Mastelari
Sumário
1........... Ambientes1.1 ....... Ambiente de Produção1.2 ....... Ambiente de Palco1.3 ....... Ambiente de Desenvolvimento2 .......... Frameworks3 .......... Modelos e Arquitetura4 .......... Resultados e Conclusões Parciais
1 - Ambientes
Três tipos básicos de Ambientes:
• Development (Desenvolvimento)• Staging (ou ‘Encenação’)• Production (Produção)
1.1 – Ambiente de Produção
Constituído basicamente do Servidor, dos softwares essenciais para o funcionamento do webservice e dos aparelhos mobile dos usuários finais.
• Dominio: thinkapp.me• 1 Servidor Kameda KS 2G (PROC: 1.6 GHz, RAM: 2GB, HD: 1TB, Link: 100 Mbps);
• Arch Linux, distribuição ovh;• Tomcat 7; • MariaDB 5.5;• Apache 2.2;• IPTables 1.4;
• Aparelhos Android 4.0, Windows 8+;
1.2 – Ambiente de Encenação
Como trata da encenação literal do ambiente de produção, a configuração dos software é a mesma, variando o que for relacionado à software.
• Domínio: stg.thinkapp.me• 1 VM (VMWare) (PROC: 1.6 GHz, RAM: 2GB, HD: 60GB);
• Arch Linux, distribuição ovh;• Tomcat 7; MariaDB 5.5;• Apache 2.2;• IPTables 1.4;
• Galaxy Note 10.1; Nexus X; Windows 8;
1.1 – Ambiente de Desenvolvimento
Mais complexo dos ambientes, composto por tudo o que é necessário ao desenvolvimento.
• Domínio: dev.thinkapp.me• Eclipse Juno, com plug-ins para Maven, Mercurial e Hibernate
Tools;• Visual Studio 2012, com plug-ins para NuGet e Mercurial;• Tomcat 7;• MySQL 5.5;• Apache 2.2;• Vários Emuladores de Android 4.0+;
1.1 – Ambiente de Desenvolvimento
Alguns serviços rodam no servidor de Produção por comodidade, porém o correto é a separação em dois servidores, um somente para serviços de desenvolvimento e outro para produção.
• Domínio neptune.li• Bugzilla;• Rhodecode & Mercurial;• Icescrum;
2 - Frameworks
Uma variedade enorme de frameworks foram utilizados na construção do Web Service, porém são abaixo são citados os mais importantes:
Web Service• VRaptor: framework generalista brasileiro, REST e ótima
integração com Spring;• Spring Security: Autenticação (do usuário e das aplicações)
e Autorização;• Hibernate: ORM e gerenciamento do acesso aos dados;
2 - Frameworks
Todos os frameworks utilizados nas aplicações mobile estão citados abaixo:
Android• Android Annotations: framework generalista com o
proposito de facilitar a manutenabilidade do código;• Spring Simple REST Template: Autenticação e consumo de
dados REST;
Windows 8• sqlite3: para persistência dos dados localmente utilizando
sqlite;
3 – Modelos e Arquitetura
3 – Modelos e Arquitetura
• Visão do Desenvolvedor
Java C#
think-core
think-web
think-rest
think-android
think-core
think-win8
think-winphone7
4 – Resultados e Conclusões Parciais
Projeto de Software
Experiência de Usuário
Manutenabilidade
Desempenho
Segurança
4 – Resultados e Conclusões Parciais
Android 4.0
4 – Resultados e Conclusões Parciais
Android 4.0
4 – Resultados e Conclusões Parciais
Windows 8
4 – Resultados e Conclusões Parciais
Staging
Production