think: guia de desenvolvimento mobile em equipes reduzidas aluno: rafael rabelo itajubá orientador:...

16
Think: Guia de Desenvolvimento Mobile em Equipes Reduzidas Aluno: Rafael Rabelo Itajubá Orientador: Prof. Dr. Eduardo Martins Morgado Co-Orientador: Lais Munhoz Mastelari

Upload: internet

Post on 21-Apr-2015

102 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Think: Guia de Desenvolvimento Mobile em Equipes Reduzidas Aluno: Rafael Rabelo Itajubá Orientador: Prof. Dr. Eduardo Martins Morgado Co-Orientador: Lais

Think: Guia de Desenvolvimento Mobile em Equipes Reduzidas

Aluno: Rafael Rabelo Itajubá

Orientador: Prof. Dr. Eduardo Martins Morgado

Co-Orientador: Lais Munhoz Mastelari

Page 2: Think: Guia de Desenvolvimento Mobile em Equipes Reduzidas Aluno: Rafael Rabelo Itajubá Orientador: Prof. Dr. Eduardo Martins Morgado Co-Orientador: Lais

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

Page 3: Think: Guia de Desenvolvimento Mobile em Equipes Reduzidas Aluno: Rafael Rabelo Itajubá Orientador: Prof. Dr. Eduardo Martins Morgado Co-Orientador: Lais

1 - Ambientes

Três tipos básicos de Ambientes:

• Development (Desenvolvimento)• Staging (ou ‘Encenação’)• Production (Produção)

Page 4: Think: Guia de Desenvolvimento Mobile em Equipes Reduzidas Aluno: Rafael Rabelo Itajubá Orientador: Prof. Dr. Eduardo Martins Morgado Co-Orientador: Lais

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+;

Page 5: Think: Guia de Desenvolvimento Mobile em Equipes Reduzidas Aluno: Rafael Rabelo Itajubá Orientador: Prof. Dr. Eduardo Martins Morgado Co-Orientador: Lais

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;

Page 6: Think: Guia de Desenvolvimento Mobile em Equipes Reduzidas Aluno: Rafael Rabelo Itajubá Orientador: Prof. Dr. Eduardo Martins Morgado Co-Orientador: Lais

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+;

Page 7: Think: Guia de Desenvolvimento Mobile em Equipes Reduzidas Aluno: Rafael Rabelo Itajubá Orientador: Prof. Dr. Eduardo Martins Morgado Co-Orientador: Lais

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;

Page 8: Think: Guia de Desenvolvimento Mobile em Equipes Reduzidas Aluno: Rafael Rabelo Itajubá Orientador: Prof. Dr. Eduardo Martins Morgado Co-Orientador: Lais

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;

Page 9: Think: Guia de Desenvolvimento Mobile em Equipes Reduzidas Aluno: Rafael Rabelo Itajubá Orientador: Prof. Dr. Eduardo Martins Morgado Co-Orientador: Lais

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;

Page 10: Think: Guia de Desenvolvimento Mobile em Equipes Reduzidas Aluno: Rafael Rabelo Itajubá Orientador: Prof. Dr. Eduardo Martins Morgado Co-Orientador: Lais

3 – Modelos e Arquitetura

Page 11: Think: Guia de Desenvolvimento Mobile em Equipes Reduzidas Aluno: Rafael Rabelo Itajubá Orientador: Prof. Dr. Eduardo Martins Morgado Co-Orientador: Lais

3 – Modelos e Arquitetura

• Visão do Desenvolvedor

Java C#

think-core

think-web

think-rest

think-android

think-core

think-win8

think-winphone7

Page 12: Think: Guia de Desenvolvimento Mobile em Equipes Reduzidas Aluno: Rafael Rabelo Itajubá Orientador: Prof. Dr. Eduardo Martins Morgado Co-Orientador: Lais

4 – Resultados e Conclusões Parciais

Projeto de Software

Experiência de Usuário

Manutenabilidade

Desempenho

Segurança

Page 13: Think: Guia de Desenvolvimento Mobile em Equipes Reduzidas Aluno: Rafael Rabelo Itajubá Orientador: Prof. Dr. Eduardo Martins Morgado Co-Orientador: Lais

4 – Resultados e Conclusões Parciais

Android 4.0

Page 14: Think: Guia de Desenvolvimento Mobile em Equipes Reduzidas Aluno: Rafael Rabelo Itajubá Orientador: Prof. Dr. Eduardo Martins Morgado Co-Orientador: Lais

4 – Resultados e Conclusões Parciais

Android 4.0

Page 15: Think: Guia de Desenvolvimento Mobile em Equipes Reduzidas Aluno: Rafael Rabelo Itajubá Orientador: Prof. Dr. Eduardo Martins Morgado Co-Orientador: Lais

4 – Resultados e Conclusões Parciais

Windows 8

Page 16: Think: Guia de Desenvolvimento Mobile em Equipes Reduzidas Aluno: Rafael Rabelo Itajubá Orientador: Prof. Dr. Eduardo Martins Morgado Co-Orientador: Lais

4 – Resultados e Conclusões Parciais

Staging

Production