ANDRÉ FURQUIM XOTTA. ESTÁGIO CURRICULAR I e II DESENVOLVIMENTO DE UM BACK OFFICE COM RUBY ON RAILS E. MANUTENÇÃO DE APLICAÇÕES PARA ios e ANDROID



Documentos relacionados
Manual SAGe Versão 1.2 (a partir da versão )

Boletim Técnico. Empresa. Vagas. Central de Estágio. Desenvolvimento/Procedimento. Acesse Atividades Acadêmicas Estágio Empresa

Considerando que as Faculdades Integradas Sévigné estão em plena reforma acadêmica que será implementada a partir de 2009 e;

As partes acima qualificadas celebram entre si o presente convênio de estágio para estudantes, mediante as seguintes condições:

FAI CENTRO DE ENSINO SUPERIOR EM GESTÃO, TECNOLOGIA E EDUCAÇÃO CURSO DE SISTEMAS DE INFORMAÇÃO. Manual do Estágio Supervisionado

COORDENAÇÃO DE ESTÁGIO KIT ALUNO ESTÁGIO PASSO A PASSO

CAPÍTULO I DA NATUREZA E DOS OBJETIVOS

Está apto a utilizar o sistema, o usuário que tenha conhecimentos básicos de informática e navegação na internet.

OneDrive: saiba como usar a nuvem da Microsoft

NORMATIZAÇÃO DE ESTÁGIO PARA OS CURSOS TÉCNICOS E SUPERIORES DO IFSULDEMINAS

Plano de Carreira Sistema de Apoio à Gestão de Planos de Carreira

Sumário INTRODUÇÃO Acesso ao Ambiente do Aluno Ferramentas e Configurações Ver Perfil Modificar Perfil...

Manual do Visualizador NF e KEY BEST

Manual de Utilização do Zimbra

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

Manual Sistema MLBC. Manual do Sistema do Módulo Administrativo

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão Atualização 26/01/2009 Depto de TI - FASUL Página 1

MANUAL DO SISTEMA. Versão 1.00

Regulamento de Estágios ORIENTAÇÕES GERAIS

MINISTÉRIO DA EDUCAÇÃO ESCOLA DE FARMÁCIA E ODONTOLOGIA DE ALFENAS CENTRO UNIVERSITÁRIO FEDERAL

QUALIDATA Soluções em Informática. Módulo CIEE com convênio empresas

Assim que o usuário entrar nesta ferramenta do sistema a seguinte tela será exibida:

VIAÇÃO SÃO BENTO LTDA.

TRANSMISSOR ECF. Sistema de transmissão de arquivos Nota Fiscal Paulista. Manual de Utilização

MANUAL DE UTILIZAÇÃO

Sistema de Controle de Solicitação de Desenvolvimento

Escola SENAI Anchieta

Manual do Ambiente Moodle para Alunos

Follow-Up Acompanhamento Eletrônico de Processos (versão 3.0) Manual do Sistema. 1. Como acessar o sistema Requisitos mínimos e compatibilidade

Manual do Utilizador. Portal dos Jurisdicionados Cadastro

"Manual de Acesso ao Moodle - Discente" 2014

CENTRO UNIVERSITÁRIO UNIVATES

Manual UNICURITIBA VIRTUAL para Professores

Manual do Google agenda. criação e compartilhamento de agendas

Procedimentos para Reinstalação do Sisloc

CENTRO UNIVERSITÁRIO UNIVATES

Está apto a utilizar o sistema, o usuário que tenha conhecimentos básicos de informática e navegação na internet.

A NOVA LEI DE ESTÁGIO DE ESTUDANTES

Inicialização Rápida do Novell Vibe Mobile

Manual Q-Acadêmico 2.0 Módulo Web - Aluno

Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania

PORTAL DO ALUNO - MANUAL

1ª PARTE DIÁRIOS ELETRÔNICOS

INSTRUMENTO NORMATIVO 004 IN004

Cadastramento de Computadores. Manual do Usuário

MANUAL DE SISTEMA. SisFies FIES Pós-graduação. Página1. Manual de Adesão

MANUAL PASSO-A-PASSO DO SISTEMA ONLINE

Para que o Educa Mobile seja disponibilizado para os alunos, responsáveis por alunos e/ou professores os passos abaixo devem ser seguidos:

UNIVERSIDADE FEDERAL DE MINAS GERAIS PRÓ-REITORIA DE GRADUAÇÃO

Programando em PHP. Conceitos Básicos

MANUAL DO ESTÁGIO SUPERVISIONADO EM PUBLICIDADE E PROPAGANDA

DocuWare Mobile ProductInfo. Gerenciamento móvel de documentos. Benefícios

Moodle - CEAD Manual do Estudante

Google Drive. Passos. Configurando o Google Drive

e-ouv Passo-a-passo Sistema de Ouvidorias do Poder Executivo Federal Junho, 2015 Controladoria-Geral da União

Índice. Manual Backup Online. 03 Capítulo 1: Visão Geral

Guia Prático de Acesso

TUTORIAL DO ALUNO. Olá, bem vindo à plataforma de cursos a distância da Uniapae!!!

1. Tela de Acesso pg Cadastro pg Abas de navegação pg Abas dados cadastrais pg Aba grupo de usuários pg.

Channel. Visão Geral e Navegação. Tutorial. Atualizado com a versão 3.9

MANUAL DO GERENCIADOR ESCOLAR WEB

Manual de utilização do STA Web

MANUAL DE UTILIZAÇÃO DO SISTEMA GLPI

02 - Usando o SiteMaster - Informações importantes

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

INTRODUÇÃO AO AMBIENTE MOODLE DA UFPA. Guia rápido

RELATÓRIO FINAL DE PROJETO DE INICIAÇÃO CIENTÍFICA (PIBIC/CNPq/INPE)

Guia do usuário do PrintMe Mobile 3.0

MANUAL 2ª CAMADA DE SEGURANÇA E NOVAS REGRAS DE CADASTRAMENTO

Sistema de Prestação de Contas Siprec

O Novo Portal Etilux também foi criado para ser um facilitador para nossa Força de Vendas, abrangendo as seguintes características:

Curso de atualização Educação Integral e Integrada. Tutorial Moodle. Belo Horizonte, 2013.

Eventos Anulação e Retificação

1. Plataforma Sage Primeiro Acesso Configurações Relacionamento Folha de Pagamento esocial...

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

Registro e Acompanhamento de Chamados

MANUAL DE NAVEGAÇÃO UNICURITIBA VIRTUAL

Desenvolvendo Websites com PHP

Sistema de de Bilhetagem Eletrônica MANUAL MÓDULO PDV

Noções de. Microsoft SQL Server. Microsoft SQL Server

Manual de utilização do Zimbra

Moodle - Tutorial para Professores

BH PARK Software de Estacionamento

SCIM 1.0. Guia Rápido. Instalando, Parametrizando e Utilizando o Sistema de Controle Interno Municipal. Introdução

CENTRO UNIVERSITÁRIO CATÓLICA DE SANTA CATARINA PRÓ-REITORIA ACADÊMICA NÚCLEO DE EDUCAÇÃO EM AMBIENTES DIGITAIS NEAD

Manual do Participante do Curso de Gestão da Assistência Farmacêutica - EaD

EMPRESAS RANDON MANUAL DE ACESSO PORTAL DE FORNECEDOR QUALIDADE

Mobilidade no Atendimento aos Clientes do SAAE Guarulhos

UM NOVO CONCEITO EM HOSPEDAGEM DE DOMÍNIO

CENTRO UNIVERSITÁRIO UNIVATES

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

GUIA BÁSICO DA SALA VIRTUAL

Operador de Computador. Informática Básica

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

Transcrição:

ANDRÉ FURQUIM XOTTA ESTÁGIO CURRICULAR I e II DESENVOLVIMENTO DE UM BACK OFFICE COM RUBY ON RAILS E MANUTENÇÃO DE APLICAÇÕES PARA ios e ANDROID EMPRESA: BRAVA INFORMÁTICA LTDA SETOR: SISTEMAS SUPERVISOR: ANDERSON NIELSON ORIENTADOR: ALEXANDRE GONÇALVES SILVA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE CIÊNCIAS TECNOLÓGIAS - CCT UNIVERSIDADE DO ESTADO DE SANTA CATARINA UDESC JOINVILLE SANTA CATARINA BRASIL JUNHO/2011

ii APROVADO EM.../.../... Professor Alexandre Gonçalves Silva Doutor em Engenharia Elétrica Professor Orientador Professor Adriano Fioresi Mestre em Ciências da Computação Professor Rogério Eduardo Silva Mestre em Ciência da Computação Anderson Nielson Supervisor da CONCEDENTE

iii Carimbo da Empresa UNIDADE CONCEDENTE Razão Social: Brava Informática LTDA. CNPJ: 09.276.382/0001-55 Endereço: Rua Santos Dumont, 935 Bairro: Bom Retiro CEP: 89222-901 Cidade: Joinville UF: SC Fone: (47) 3802-8300 Supervisor: Anderson Nielson Cargo: Gerente de Desenvolvimento ESTAGIÁRIO Nome : André Furquim Xotta Matrícula: 211020507 Endereço: Paulo Malschitzki, 90, apt. 504 Bairro: Bom Retiro CEP: 89219-710 Cidade: Joinville UF: SC Fone: (47) 3435-8041 Curso: Bacharelado em Ciências da Computação Título do Estágio: Desenvolvimento de um Back Office em Ruby On Rails e Manutenção de Aplicações ios e Android Período: 10/01/11 à 10/07/11 Carga horária: 360 AVALIAÇÃO FINAL DO ESTÁGIO PELO CENTRO DE CIÊNCIAS TECNOLÓGICAS Representada pelo professor da disciplina ETG: Carlos N Vetorazzi Jr. CONCEITO FINAL NOTA Rubrica do professor da disciplina ETG Excelente (9,1 a 10) Muito Bom (8,1 a 9,0) Bom (7,1 a 8,0) Regular (5,0 a 7,0) Reprovado (0,0 a 4,9) Joinville / / Nome do Estagiário : André Furquim Xotta

iv QUADRO I a) AVALIAÇÃO NOS ASPECTOS PROFISSIONAIS Pontos 1 - QUALIDADE DO TRABALHO - Considerando o possível 2 - ENGENHOSIDADE - Capacidade de sugerir, projetar, executar modificações ou inovações. 3 - CONHECIMENTO - Demonstrado no desenvolvimento das atividades programadas. 4 - CUMPRIMENTO DAS TAREFAS - Considerar o volume de atividades dentro do padrão razoável 5 - ESPÍRITO INQUISITIVO - Disposição demonstrada para aprender 6 - INICIATIVA - No desenvolvimento das atividades SOMA Pontuação para o Quadro I e II Sofrível - 1 ponto, Regular - 2 pontos, Bom - 3 pontos, Muito Bom - 4 pontos, Excelente - 5 pontos. QUADRO II b) AVALIAÇÃO DOS ASPECTOS HUMANOS Pontos 1 - ASSIDUIDADE - Cumprimento do horário e ausência de faltas 2 - DISCIPLINA - Observância das normas internas da Empresa. 3 - SOCIABILIDADE - Facilidade de se integrar com os outros no ambiente de trabalho. 4 - COOPERAÇÃO - Disposição para cooperar com os demais para atender as atividades. 5 -SENSO DE RESPONSABILIDADE - Zelo pelo material, equipamentos e bens da empresa. SOMA c) AVALIAÇÃO FINAL Pontos LIMITES PARA CONCEITUAÇÃO SOMA do Quadro I multiplicada por 7 De 57 a 101 - SOFRÍVEL SOMA do Quadro II multiplicada por 3 De 102 a 146 - REGULAR SOMA TOTAL De 148 a 194 - BOM Nome da Empresa: Brava Informática Ltda. Representada pelo Supervisor: Anderson Nielson De 195 a 240 - MUITO BOM De 241 a 285 - EXCELENTE CONCEITO CONFORME SOMA TOTAL Rubrica do Supervisor da Empresa Local: Data : Carimbo da Empresa

TERMO DE COMPROMISSO DE ESTÁGIO CURRICULAR OBRIGATÓRIO Este Termo de Compromisso tem por objetivo a realização do estágio curricular obrigatório dos acadêmicos da UDESC, não gerando vínculo empregatício, nos termos da Lei nº 11.788/2008. ESTAGIÁRIO: Nome: André Furquim Xotta CPF: 358.956.128-90 Data Nasc.: 07/10/1986 Endereço: Rua Paulo Malschitzki, 90 apt. 504 CEP: 89219-710 Telefone: (47) 3435-8041 E-mail: andreccomputacao@gmail.com Curso: Ciencias da Computação Integral CCT UDESC Fase: 7 Ano/Semestre: 2011/1 Matrícula: 211020507 O estagiário acima qualificado está segurado pela apólice nº 1791128065. INSTITUIÇÃO DE ENSINO: FUNDAÇÃO UNIVERSIDADE DO ESTADO DE SANTA CATARINA, fundação pública instituída e mantida pelo Estado de Santa Catarina, com base no artigo 39, do Ato das Disposições Constitucionais Transitórias da Constituição Estadual de 1989, e, na Lei nº. 8.092, de 01 de Outubro de 1990, inscrita no CNPJ sob o nº. 83.891.283/0001-36, com sede e foro na cidade de Florianópolis, e jurisdição em todo o território catarinense, situada à Avenida Madre Benvenuta, 2007, Itacorubi, neste ato representada pelo Diretor Geral do Centro de Ciências Tecnológicas, Professor Dieter Neermann, RG nº 184895, CPF 08.527.845/0001-41, doravante denominada UDESC. CONCEDENTE: Concedente: Brava Informática LTDA Endereço: Rua Santos Dumont, 935 CNPJ/CPF: 09.276.382/0001-55 Representada por: Gilmar Valério Hansen Local de Estágio: Brava - Jlle Supervisor/Responsável: Anderson Nielson Cargo: Gerente de Desenvolvimento Cidade: Joinville Cargo: Diretor

vi Cláusula 1ª DO OBJETO DO TERMO DE COMPROMISSO Este termo de compromisso tem por objetivo estabelecer e regulamentar a admissão de alunos da UDESC, através da concessão de estágios curriculares obrigatórios, (remunerados ou não), nos termos da Lei nº. 11.788. Cláusula 2ª DA VIGÊNCIA O vínculo de estágio, objeto do presente Termo de Compromisso de Estágio, terá início da data de sua assinatura, até 24/08/2011, e desde que mantido o vínculo do estagiário com a Instituição de Ensino, nos termos do artigo 11, da Lei nº 11.788/2008. Cláusula 3ª DA DESCRIÇÃO DAS ATIVIDADES A SEREM EXECUTADAS PELO ESTAGIÁRIO As atividades a serem exercidas pelo estagiário compreendem as tarefas oriundas do plano de estágio e elaborado em consonância com o projeto pedagógico do curso. Parágrafo único A carga horária total do estágio curricular obrigatório é estabelecida no projeto pedagógico de cada curso, observada a cláusula quarta. Cláusula 4ª DO HORÁRIO DE JORNADA A jornada do estagiário será de até 6 (seis) horas diárias e 30 (trinta) horas semanais, garantida a compatibilidade com as atividades escolares. Parágrafo 1º - O estágio relativo a cursos que alternam teoria e prática, nos períodos em que não estão programadas aulas presenciais, poderá ter jornada de até 40 (quarenta) horas semanais, desde que isso esteja previsto no projeto pedagógico do curso e da instituição de ensino. Parágrafo 2º - Se a instituição de ensino adotar verificações de aprendizagem periódicas ou finais, nos períodos de avaliação, o estagiário terá direito a reduzir pelo menos à metade sua carga horária, para garantir o bom desempenho do estudante. Cláusula 5ª - DO DIREITO AO RECESSO É assegurado ao estagiário, sempre que o estágio tenha duração igual ou superior a 1 (um) ano, período de recesso remunerado, quando for o caso, de 30 (trinta) dias, a ser gozado preferencialmente durante suas férias escolares, de acordo com o disposto na Lei nº 11.788/2008, artigo 13. Parágrafo 1º Os dias de recesso previstos neste artigo serão concedidos de maneira proporcional, nos casos de o estágio ter duração inferior a 1 (um) ano;

vii Parágrafo 2º Não há direito ao adicional de 1/3 previsto na Constituição Federal, salvo disposição legislativa em contrário; Parágrafo 3º Compete a entidade concedente estipular o dia de concessão do recesso, que será preferencialmente durante as férias escolares. Cláusula 6ª DOS DEVERES DAS PARTES Além de outros previstos neste termo e no plano de atividades do estagiário, são os seguintes os deveres das partes: Parágrafo 1º- Da Instituição de Ensino: I - avaliar as instalações da parte concedente do estágio e sua adequação à formação cultural e profissional do acadêmico; II - indicar professor orientador, da área a ser desenvolvida no estágio, como responsável pelo acompanhamento e avaliação das atividades do estagiário; III - exigir do acadêmico a apresentação periódica, em prazo não superior a 6 (seis) meses, de relatório das atividades; IV - zelar pelo cumprimento do termo de compromisso, reorientando o estagiário para outro local em caso de descumprimento de suas normas; V - elaborar normas complementares e instrumentos de avaliação dos estágios e de seus acadêmicos; VI - comunicar à parte concedente do estágio, no início do período letivo, as datas de realização das avaliações; Parágrafo 2º - Da Entidade Concedente I ofertar instalações que tenham condições de proporcionar ao acadêmico atividades de aprendizagem relacionadas ao seu curso de formação; II indicar funcionário de seu quadro de pessoal, com formação ou experiência profissional na área de conhecimento desenvolvida no curso do estagiário, para orientar e supervisionar, sendo este supervisor responsável por no máximo 10 (dez) estagiários simultaneamente; III por ocasião do desligamento do estagiário, entregar termo de realização do estágio com indicação resumida das atividades desenvolvidas, dos períodos e da avaliação de desempenho; IV manter à disposição da fiscalização documentos que comprovem a relação de estágio; V enviar à instituição de ensino, com periodicidade mínima de 6 (seis) meses, relatório de atividades, com vista obrigatória ao estagiário; VI zelar pela aprendizagem do estagiário, em conformidade com o currículo de seu curso de formação; VII - pagar pontualmente a bolsa auxílio e benefícios diretamente ao estagiário ou realizar pontualmente o repasse, quando assim acordado; VIII - fornecer à instituição de ensino todas as informações necessárias à avaliação e acompanhamento do estágio quando solicitada. IX - sinalizar à Instituição os casos de descumprimento ao estabelecido neste termo.

viii Parágrafo 3º - Do estagiário I cumprir com zelo e responsabilidade as tarefas que lhe forem submetidas; II cumprir integralmente as horas previstas para o seu estágio, conforme especificado em cláusula própria; III manter regularmente preenchido o relatório de atividades exercidas, a ser devidamente conferido pelo supervisor indicado pela entidade concedente, e, após visto de ambos, em período não superior à seis meses, providenciar a entrega do relatório ao professor orientador indicado pela instituição de ensino; IV no mesmo prazo descrito no item anterior, ou seja, seis meses, deverá o estagiário trazer declaração atualizada da instituição de ensino atestando a sua matrícula e regular freqüência; V acatar as normas internas da Concedente, bem como orientações e recomendações efetuadas por seu supervisor. VI - responder, durante a execução do estágio, por quaisquer faltas ou danos ocasionados, dolosa ou culposamente, ao patrimônio da Concedente e seus clientes e manter sigilo em relação a informações e dados aos quais tiver acesso em razão da realização do estágio. VII - assinar, ao término do estágio, o Termo de Desligamento do Estágio, a ser fornecido pela Concedente. Cláusula 7ª - DO PAGAMENTO DO SEGURO CONTRA ACIDENTES PESSOAIS Nos estágios curriculares obrigatórios não remunerados dos cursos de graduação da UDESC, a responsabilidade pelo pagamento do seguro contra acidentes pessoais em favor do estudante de estágio poderá ficar a cargo tanto da UDESC quanto da entidade concedente da oportunidade do estágio, de acordo com a Resolução nº 200/2006 CONSUNI. Cláusula 8ª DA BOLSA AUXÍLIO No caso do estagiário receber da Concedente bolsa, o seu valor será de R$ 450 mensal. Cláusula 8ª DA RESCISÃO Este estágio poderá ser rescindido nos seguintes casos: a) Não cumprimento dos termos de compromisso. b) Conclusão, trancamento, desligamento e abandono do curso. c) Pedido de qualquer uma das partes, a qualquer tempo. d) Automaticamente, ao término do estágio. e) Após decorrida a terça parte do tempo previsto para a duração do estágio, se comprovada a insuficiência na avaliação de desempenho na concedente ou na instituição de ensino. f) Pelo não comparecimento, sem motivo justificado, por mais de cinco dias, consecutivos ou não, no período de um mês, ou por trinta dias durante o período de estágio. E por estarem de inteiro acordo com a forma deste instrumento, as partes assinam o presente termo de compromisso em 03 vias de igual teor e forma.

ix Joinville(SC), 20 de Junho de 2011. ----------------------------------------- ------------------------------------------- Diretor Geral do Centro Concedente --------------------------------------- Testemunhas; Estagiário

x AGRADECIMENTOS Gostaria de agradecer as seguintes pessoas que ajudaram-me e fizeram com que este trabalho pudesse ter sido realizado: André F. Destro (pelo apoio e disponibilidade nas dúvidas sobre programação mobile), Felipe Andrade Gallois (pela ajuda em dúvidas sobre o framework Rails, proxy reverso e pelas conversas), Anderson Nielson (pela oportunidade à mim confiada), Gabriel Speckhahn (pela ajuda com os web services) e Alexandre Gonçalves Silva (pela orientação). Por último, e mais importamte, gostaria de agradecer minha família, Tatiana Kaufmann e DEUS pela força e ajuda nos momentos bons e ruins.

xi SUMÁRIO LISTA DE FIGURAS... XII LISTA DE SIGLAS... XIII RESUMO... XIV 1. INTRODUÇÃO... 1 1.1. OBJETIVOS... 1 1.1.1. GERAL... 1 1.1.2. ESPECÍFICOS... 1 1.2. ORGANIZAÇÃO DO TRABALHO... 2 2. A EMPRESA... 3 2.1. A EMPRESA... 3 2.2. PRODUTOS DESENVOLVIDOS... 3 2.2.1. PRODUTOS MOBILE... 4 2.2.1.1. ECM2Go... 4 2.2.1.2. TRAVEL CASH... 5 2.2.1.3. CRABBOY... 6 2.2.1.4. HANDBREAK... 6 2.3. PRINCIPAIS CLIENTES... 7 3. DESENVOLVIMENTO... 8 3.1. FERRAMENTAS E TECNOLOGIAS... 8 3.1.1. RUBY... 8 3.1.2. RAILS... 9 3.1.3. CSS... 11 3.1.4. LIVE HTTP HEADERS... 12 3.1.5. OBJECTIVE-C E COCOA... 13 3.1.6. GRAND CENTRAL DISPATCH... 14 3.1.7. FIREBUG... 15 3.1.8. PHUSION PASSENGER... 16 3.1.9. XCODE... 16 3.1.10. ANDROID SDK... 17 3.2. ECM2GO PRO... 24 3.3. FUNÇÃO DE PESQUISA DE DOCUMENTOS NO ECM2GO ANDROID... 28 4. CONSIDERAÇÕES FINAIS... 30 4.1. EXPERIÊNCIAS E DESAFIOS... 31 5. BIBLIOGRAFIA... 32

xii LISTA DE FIGURAS Figura 1- Tela de Login do ECM2Go no iphone... 4 Figura 2 - Tela de Login no Emulador do Android... 5 Figura 3 - Tela Inicial do tcash e de Viagens (Disponível Apenas Para ios)... 5 Figura 4 - Tela Inicial do Crabboy... 6 Figura 5 - Handbreak... 7 Figura 6 - Arquitetura MVC... 10 Figura 7 - Funcionamento da requisição no Rails... 11 Figura 8 - Teste do Back Office com o HTTP Live Headers... 13 Figura 9 - Firebug... 15 Figura 10 - Xcode... 16 Figura 11 - Emulador Android... 19 Figura 12 - Tela Inicial do Back Office... 20 Figura 13 - Tela de Clientes... 21 Figura 14 - Tela de Cadastro de Chaves... 22 Figura 15 - Tela de Aplicação... 22 Figura 16 - Tela de Log... 23 Figura 17 - Tela de Confirmação da Criação de Um Parâmetro de Serviço... 24 Figura 18 - ECM BY YOU... 25 Figura 19 - Parâmetros XML... 25 Figura 20 - Visualização de Formulário... 26 Figura 21 - Visualização de Fluxo... 26 Figura 22 - Habilitando ECM2Go Pro... 27 Figura 23 - Habilitando Versão Pro para ipad... 27 Figura 24 - Tabs para formulário e fluxo no ECM2Go Pro para ipad... 28 Figura 25 - QuickSearch Box... 29

xiii LISTA DE SIGLAS BAM - Buniness Activity Monitoring BPM - Business Process Management CSS - Cascade Style Sheet ECM - Enterprise Content Management GED - Gerenciamento Eletrônico de Documentos HD - High Definition HTML - Hypertext Markup Language JSON - JavaScript Object Notation QSB - Quick Search Box RoR - Ruby on Rails XML - Extensible Markup Language

xiv RESUMO Este trabalho apresenta as atividades realizadas na empresa Brava Informática LTDA, as quais totalizam a carga horária de 360h e fazem parte das disciplinas de Estágio Curricular I e II do curso de bacharelado em Ciência da Computação pela Universidade do Estado de Santa Catarina. As atividades se deram, principalmente, na área de programação de aplicações para tablets e celulares, as quais possuem os sistemas operacionais ios da Apple (encontrado em dispositivos como iphones, ipads e ipods) e Android do Google. Para que fosse possível a extensão do aplicativo para celular, chamado de ECM2Go, foi implementado um aplicativo web cuja principal função é fornecer parâmetros de conexão e dados para este aplicativo e para futuras aplicações mobile.

1. INTRODUÇÃO Neste trabalho são descritas as atividades realizadas na empresa Brava Informática LTDA, mais especificamente, dentro da equipe mobile. O escopo do estágio se deu no desenvolvimento de aplicações para ios e Android, as quais foram parcialmente atingidas. Devido a tarefa de implementação da versão Pro do ECM2Go para Android, a qual não estava no cronograma. De qualquer maneira será descrito aqui como o mesmo poderá ser implementado futuramente. Para que fosse possível a implementação dessas novas funcionalidades foi necessário a implementação de um back office, que será descrito adiante neste documento. 1.1. OBJETIVOS 1.1.1. GERAL O principal objetivo do trabalho é a manutenção do aplicativo ECM2Go: aplicativo disponível para ios e Android que funciona como um cliente para o produto de ECM (Enterprise Content Management) da TOTVS. Neste contexto foi implementado a funcionalidade de visualização dos processos iniciados pela versão Web do ECM utilizando-se dos Web Services existentes. Foi adicionada, também, a funcionalidade de visualização do fluxo de um processo. Para que fosse possível a implementação dessas funcionalidades foi necessário implementar um back office, que será explicado mais adiante nesse documento na seção 3.2. 1.1.2. ESPECÍFICOS Familiarizar-se com a linguagem Ruby; Estudar a arquitetura de aplicações que usam o framework Rails;

2 Revisão de tags HTML; Estudar tipos de seletores em CSS; Estudar principais propriedades CSS; Entender o funcionamento da cascata no CSS; Estudar margens, preenchimento e bordas; Pesquisar sobre layout de páginas em CSS; Implementar layout básico do back office; Implementar CRUD s do back office; Implementar a funcionalidade para geração de logs de acesso; Implantar o back office em ambiente de produção. Implementar ECM2Go pro e ECM2Go pro HD para ios ; Implementar a funcionalidade de pesquisa do ECM2Go para Android. 1.2. ORGANIZAÇÃO DO TRABALHO A organização deste trabalho segue, a partir do próximo capítulo, com uma introdução sobre a empresa onde este trabalho foi desenvolvido. Assim, serão explorados os produtos da empresa e seus principais clientes. No capítulo 3 serão apresentados ao leitor as principais tecnologias que deram suporte para o desenvolvimento das atividades do estágio e serão apresentadas as atividades realizadas, ou seja, é onde o leitor poderá ver o fruto de toda pesquisa e trabalho em cima das tecnologias. Para finalizar são apresentadas as considerações finais sobre a empresa e do trabalho nela desenvolvido.

3 2. A EMPRESA Este capítulo tem como objetivo apresentar a concedente. Aqui serão descritos os principais produtos da Brava Informática LTDA, bem como seus clientes. 2.1. A EMPRESA A BRAVA é uma empresa provedora de soluções que possui mais de 10 anos de atuação no mercado, mais de 900 projetos entregues e mais de 100.000 horas aplicadas em projetos com uma equipe altamente certificada para atendimento especializado em toda América Latina [BRAVA ECM, 2009a]. A BRAVA possui a credibilidade e experiência que a possibilitou ser uma empresa com o selo TOTVS BUSINESS PARTNER [BRAVA ECM, 2009c]. A linha de atuação da BRAVA é diversificada, ou seja, ela atende a necessidades nas linhas de negócio de ECM, Integração ESB, Coleta de Dados, TV Digital e Mobile Smartphones. 2.2. PRODUTOS DESENVOLVIDOS Segundo [BRAVA ECM, 2009b], com a finalidade de atender as empresas nas mais variadas tecnologias, ferramentas e plataformas, a BRAVA tem em seu portfolio o desenvolvimento de soluções especializadas em Portais, GED (Gerenciamento Eletrônico de Documentos), qualidade, integração e automação de processos que agregam valores ao negócio de seus clientes. Informações sobre a linha de atuação pode ser encontrada em [BRAVA ECM, 2009c]. O trabalho se focou na BRAVA Mobile cujo foco é o desenvolvimento de aplicações para ios e Android, de forma a aproveitar todo o petencial da mobilidade. [BRAVA MOBILE, 2011] Como o foco deste trabalho se dá justamente nos produtos mobile, serão vistas algumas aplicações existentes e suas funções à seguir.

4 2.2.1. PRODUTOS MOBILE Nesta parte, serão vistas algumas aplicações desenvolvidas pela BRAVA mobile segundo [BRAVA MOBILE, 2011]. 2.2.1.1. ECM2Go O ECM2Go é uma aplicação disponível para ios, sistema operacional da Apple que roda em iphone/ ipad/ ipod Touch, cuja aplicabilidade é servir como um cliente do ECM TOTVS e através disso, permitir a colaboração de documentos, imagens, contratos e processos. É muito interessante a utilização deste tipo de aplicativo, por exemplo, para fazer com que uma planta baixa (em formato digital) vá até o canteiro de obras de uma construção, ou ainda que um técnico possa acessar do cliente algum manual. Um executivo poderia utilizar o aplicativo, por exemplo, para aprovar algum documento em qualquer lugar que estivesse. Na Figura 1 é apresentado a tela de login do ECM2Go para ios. Figura 1- Tela de Login do ECM2Go no iphone Há disponível, também, uma verão para Android, cuja interface de entrada é mostrada na Figura 2.

5 Figura 2 - Tela de Login no Emulador do Android 2.2.1.2. TRAVEL CASH O Travel Cash Plus, ou tcash Plus é um aplicativo disponível apenas para ios que tem como finalidade o gerenciamento de despesas de uma viagem. Com este aplicativo o usuário pode manter todos os dados do planejamento de sua viagem no telefone, registrar todas as despesas que tiver com a viagem, tirar fotos dos recibos, ajustar a localização de sua despesa e exportá-las para uma planilha. A Figura 3 mostra a tela inicial do tcash,. e a tela de cadastro para uma viagem para NY cujo custo é de $14.40. Figura 3 - Tela Inicial do tcash e de Viagens (Disponível Apenas Para ios)

6 2.2.1.3. CRABBOY O Crabboy consiste em um quadrinho criado por Chicolam e toda semana um novo quadrinho é disponível para o usuário do aplicativo. Para saber mais sobre o projeto e sobre a história mais informações podem ser encontradas em [MENINO CARANGUEJO, 2011]. Na Figura 4 é mostrado a tela inicial do Menino Caranguejo. O aplicativo apresenta as histórias conforme a configuração do dispositivo em inglês, português ou espanhol. Figura 4 - Tela Inicial do Crabboy 2.2.1.4. HANDBREAK O Handbreak tem como finalidade controlar os gastos pessoais. Com ele é possível determinar o limite dos gastos para determinados eventos como, por exemplo, uma ida ao shopping no final de semana ou até mesmo as compras no final do mês. É possível ver como está o limite que você determinou à cada compra registrada, fotografar os itens comprados para facilitar o reconhecimento, bem como registrar o local da compra para facilitar o processo de troca ou devolução. A Figura 5 mostra uma tela do Handbreak.

7 Figura 5 - Handbreak 2.3. PRINCIPAIS CLIENTES A Brava possui clientes que estão espalhados basicamente segundo [BRAVA ECM, 2009d] em: Manufatura Metal, Mecânica e Plásticos Manufatura Bens de Consumo Manufatura Química Serviços Construção e Projetos Extrativista e Beneficiamento Saúde Capital Agroindústria Jurídico Manufatura Bens duráveis Educacional Distribuição e Logística Tecnologia Software

8 3. DESENVOLVIMENTO Para o desenvolvimento das atividades do estágio foram usadas diversas tecnologias, as quais foram de suma importância para atingir o resultado. Neste capítulo serão vistas as tecnologias que deram suporte para o desenvolvimento das atividades e logo depois será explicada a problemática do estágio e mostrado os resultados atingidos. O desenvolvimento do estágio teve como atividades a implementação de um back office usando o framework Rails e a implementação da versão plus do ECM2Go, cliente do ECM da TOTVS, disponível para ios. Houve a necessidade de adaptação do código implementado para a versão disponível para ipad, já que as mesmas são mantidas separadamente. A implementação da funcionalidade de pesquisa do ECM2Go para Android não pode ser concluída a tempo, mas foi explicada como a mesma poderá ser implementada futuramente. 3.1. FERRAMENTAS E TECNOLOGIAS Nesta parte serão apresentadas algumas das tecnologias utilizadas para o desenvolvimento do trabalho. Serão vistas as seguinte tecnologias: Ruby, Ruby On Rails, CSS, Grand Central Dispacher, Firebug, Live HTTP Headers, XCode, Objective- C/Cocoa, Phusion Passenger e ANDROID SDK. 3.1.1. RUBY O Rails, utilizado para implementação do back office, é um grande framework para o desenvolvimento de aplicações Web. Uma de suas grandes vantagens segundo [HARDY e.junior, 2007] em relação a outros frameworks para desenvolvimento de aplicações web é que ele foi escrito em Ruby: uma linguagem de programação orientada a objetos muito consistente e elegante. Para alcançar os resultados esperados foi

9 necessário fazer um estudo da linguagem, pois a produtividade como um desenvolvedor Rails apenas é adquirida com um conhecimento profundo da linguagem. A linguagem Ruby é originada do Japão e foi, primeiramente, implementada e idealizada por Yukihiro Matz Matsumoto. Ela teve forte influência de linguagens como Perl, Smalltalk, Eiffel e Lisp e, além disso, é multiparadigma: pode-se programar em Ruby usando o paradigma funcional, orientado a objetos, imperativo e reflexivo. [WIKIPEDIA, 2010] Para o uso do framework Rails é necessário instalar uma versão do Ruby que seja compatível: as versões 1.8.7 ou 1.9.2 são recomendadas. Não deve-se usar as versão 1.8.6 (ou anterior) e 1.9.1. Mais informações podem ser encontradas em [RUBY ON RAILS, 2011a]. Como o sistema foi implementado no sistema operacional Mac OS X 10.6.7 (Snow Leopard), que já vem com o Ruby 1.8.7, não foi preciso fazer a instalação do Ruby. 3.1.2. RAILS Ruby On Rails é um framework para o desenvolvimento de aplicações web criado em 2003 por David Heinemeier Hansson, um sócio da empresa 36signals, e então expandido pelo time central do Rails, o qual conta com mais de 1.400 contribuidores. [RUBY ON RAILS, 2010b] A linguagem utilizada para produzir aplicações Rails é o Ruby. Conforme descrito em [RUBY et al., 2011], um dos aspectos do framework são algumas restrições de como sua aplicação web é estruturada. Essas restrições, contudo, visam facilitar o processor de construção da aplicação. Toda aplicação em Rails é composta de três componentes: modelos (models), visões (views) e controladores (controllers). Esses componentes formam uma arquitetura para desenvolvimento de aplicações interativas chamada MVC e terão seu funcionamento explicado conforme [RUBY et al., 2011]. O modelo (model) é responsável por manter o estado da aplicação, o qual pode durar apenas por algumas interações ou também ser armazenado em uma base de dados. Ele reforça as regras de negócio que se aplicam aos dados. Se um determinado

10 desconto, por exemplo, não deve ser dado para um produto cujo custo é menor que 20 Reais, o modelo será o responsável por garantir essa restrição. Nada pode tornar os dados inválidos no aplicativo quando implementam-se as regras de negócio no modelo. Pode-se pensar no modelo como sendo um porteiro e um armazenador de dados. Os controladores são responsáveis por orquestrar o aplicativo: eles recebem eventos do mundo externo, interagem com o modelo e exibem uma visão apropriada para o usuário. A visão gera as telas para o usuário, e que geralmente são baseadas no modelo. Uma loja virtual, por exemplo, teria uma lista de produtos dentro de um modelo, que seria acessada pelo modelo e apresentada ao usuário final. O papel do programador Rails é escrever essas partes, ou seja, modelos, visões e controladores e, a medida que a aplicação executa, o próprio Rails é responsável pela unificação das mesmas. Todo trabalho de baixo nível é feito pelo Rails. Figura 6 - Arquitetura MVC A Figura 6 mostra o funcionamento abstrato da arquitetura MVC. Observa-se o envio de uma requisição de um browser, que é capturado por um controlador. O controlador interage com o modelo e invoca uma visão, a qual será mostrada na tela do browser. Na Figura 7 é mostrado como o Rails trata uma requisição. No exemplo o usuário acaba de clicar no botão adicionar ao carrinho para um produto. A requisição é enviada para um roteador, que determinará qual parte do aplicativo ela deverá ser enviada e como ela deve ser analisada. Um método particular, chamado de ação, em um controlador será invocado. Neste caso o controlador será store e a action (ação) add_to_cart. O número 123 é apenas um identificador para o produto selecionado. Essa

11 chamada indica, em suma, que o roteador chamará o método add_to_cart da classe controladora StoreController. Logo depois tem-se a interação do controlador com o modelo: seria como se o controlador estivesse encontrando o carrinho do usuário e estivesse atualizando-o para conter o novo produto. Depois disso o controlador invocará a visão que conterá a nova situação do carrinho, e que consequentemente será atualizada e mostrada para o usuário final. Figura 7 - Funcionamento da requisição no Rails Para construção do back office foi utilizado a versão 3 do Rails. Uma das grandes vantagens do Ruby é que ele possui uma diversidade de plugins que podem ser incorporados a aplicação. O back office, por exemplo, usou um plugin chamado Devise, para o processo de autenticação. 3.1.3. CSS Para construir o back office em Rails foi necessário um estudo do CSS. Segundo [CHANNEL, 2007] CSS (Cascading Style Sheet) é um padrão W3C para definição da apresentação visual para páginas web. O HTML foi projetado para ser uma linguagem de marcação estrutural, ou seja, apenas para definir a estrutura do documento. Aos poucos browsers foram incorporando tags que tinham papel de apresentação devido a demanda de usuários e designers. Com essas tags, por exemplo, podia-se deixar o texto de uma cor azul ou mudar a fonte da página. Aos poucos as páginas web começaram cada vez mais a ficar poluídas com a mistura de elementos que definiam a estrutura e a

12 apresentação do documento. A ideia do CSS é simples: remover a apresentação e separar o design do conteúdo do documento. Com o CSS tem-se um arquivo para lidar com CSS (design) e outro para lidar com a estrutura (HTML ou XHML). Em [McFARLAND, 2009] são apontadas as vantagens do uso de CSS. A primeira delas é que o CSS, ou seja, com o uso de folhas de estilo, oferece mais opções de estilo que o HTML. Pode-se formatar um documento exatamente como ele apareceria em uma revista ou um jornal: controlando espaço entre linhas ou definindo a primeira linha recuada. Com o uso do CSS pode-se adicionar uma imagem de fundo em uma página e decidir se e como ela ficará disposta de lado a lado (se repetir). Outra grande vantagem é que o uso de CSS deixa as páginas muito menores e consequentemente levam menos tempo para serem carregadas. Um dos maiores problemas enfrentados por desenvolvedores web é a questão de compatibilidade. O IE6 da Microsoft apresenta muitos problemas na questão de suporte para algumas propriedades CSS, porém para desenvolvimento do backoffice o foco se deu apenas no funcionamento nos seguintes browsers: IE8, Chrome, Safari e Mozilla Firefox. Como o sistema será utilizado por um número restrito de pessoas preferiu-se optar por não incluir browsers como o IE6, que estão fadados a serem eliminados em breve. Pode-se verificar uma contagem regressiva para extinção do IE em [MICROSOFT, 2011]. Em [KIMBLIM, 2010] é possível visualizar a compatibilidade das propriedades do CSS 1, 2 e 3 para os principais navegadores. 3.1.4. LIVE HTTP HEADERS Live HTTP Header é um plugin para o navegador Firefox que se apresentou muito útil para a tarefa de debug durante o desenvolvimento do back office. Para saber se o back office estava se comunicando corretamente e retornando os parâmetros XML corretamente foi necessário utilizá-lo. A comunicação desta aplicação com o back office se deu utilizando o protocolo HTTP com o método POST, já que foi necessário a passagem de parâmetros. Os parâmetros eram enviados em JSON (JavaScript Object Notation), os quais eram capturados por um controler (controlador) do Rails e retornados em XML(Extensible Markup Language) para aplicação iphone ECM2Go. A Figura 8 mostra um exemplo de como se deu o teste da comunicação com o back office.