c CÂMARA MUNICIPAL Câmara Municipal da Estância Turística ...
Câmara Municipal nos Trilhos
-
Upload
juan-maiz -
Category
Technology
-
view
808 -
download
0
description
Transcript of Câmara Municipal nos Trilhos
Câmara Municipal de Porto Alegrenos Trilhos
Marcia Almeida e Henrique G. Testa
Sunday, August 30, 2009
Quem somos?
Marcia AlmeidaCoordenadora do Setor de TI da CMPA
Henrique G. TestaConsultor e Colaborador da CMPA
Sunday, August 30, 2009
Conhecendo a Câmara
Sunday, August 30, 2009
36 vereadores
830 funcionários
120 setores, entre gabinetes, bancadas, comissões e áreas administrativas
Sunday, August 30, 2009
A área de TI - o Início
• Criada em 1985 com o objetivo de desenvolver sistema de Folha de Pagamento
Cobra C - 21064k RAMDisquete de 8” sem HD
Sunday, August 30, 2009
Número de Computadores
Sunday, August 30, 2009
0
100
200
300
400
500
198519871989 1991 1993 1995 1997 1999 2001 2003 2005 2007 2009
Número de Computadores
480
Sunday, August 30, 2009
Sistemas desenvolvidos por ano
Sunday, August 30, 2009
0
4
8
12
1 1 1 1 1 12
12 2
5
9
12
198519871989 1991 1993 1995 1997 1999 2001 2003 2005 2007 2009
Sistemas desenvolvidos por ano
Sunday, August 30, 2009
Por que será que desenvolvemos nos últimos 3 anos o dobro de
sistemas dos 20 anos anteriores?
Sunday, August 30, 2009
1985 1993 2001 2002 2004 2006 2008 2009
... ...
Sunday, August 30, 2009
1985 1993 2001 2002
Mumps
2004 2006 2008 2009
... ...
Sunday, August 30, 2009
1985 1993 2001 2002
Mumps
2004 2006 2008
Fox
2009
... ...
Sunday, August 30, 2009
1985 1993 2001 2002
Mumps PHP
2004 2006 2008
Fox
2009
... ...
Sunday, August 30, 2009
1985 1993 2001 2002
Mumps PHP
2004 2006 2008
Fox
2009
Delphi
... ...
Sunday, August 30, 2009
1985 1993 2001 2002
Mumps Ruby on RailsPHP
2004 2006 2008
Fox
2009
Delphi
... ...
Sunday, August 30, 2009
Mumps Fox PHP Delphi Rails
Sunday, August 30, 2009
0
4
8
12
198519871989 1991 1993 1995 1997 1999 2001 2003 2005 2007 2009
Mumps Fox PHP Delphi Rails
Sunday, August 30, 2009
Sistemas em Ruby on Rails
Sunday, August 30, 2009
Sistemas em Ruby on Rails
• Sisprot Web
• Controle de Acessos
• PDF Converter
• Processo Eletrônico
• Controle de Visitantes
• Movimentação de Pessoal
• Portal Transparência
• Gerenciamento de Impressoras
• Central de Transportes
• Ouvidoria
• Normas
• Solicitações de Serviços
• Notícias
• Newsletter
• SMS
• Banco de Imagens
• RH
• Telefonia
• Efetividade
• Helpdesk
• Inscrições
• Pesquisas
• Agenda
• Legislativo
• Controle Patrimonial
• Gerenciamento de Setores
• Convênios e Estágios
Sunday, August 30, 2009
Sunday, August 30, 2009
Sunday, August 30, 2009
Sunday, August 30, 2009
Sunday, August 30, 2009
Mas quantas pessoas integram a equipe de desenvolvimento?
Sunday, August 30, 2009
Equipe de Desenvolvimento
• 1 + ½ + ½ Funcionários
• 3 Estagiários
Sunday, August 30, 2009
Nosso Projeto Atual
Sunday, August 30, 2009
Sunday, August 30, 2009
Novo Site da Câmara
Sunday, August 30, 2009
Novo Site da Câmara
?Sunday, August 30, 2009
Primeira Lei do Novo Site
Sunday, August 30, 2009
Ninguém deve se preocupar em atualizar o site.
Seu conteúdo deve ser reflexo das atividades desenvolvidas por cada setor da Casa.
Sunday, August 30, 2009
Sunday, August 30, 2009
Segunda Lei do Novo Site
Sunday, August 30, 2009
Todo conteúdo deve ser facilmente encontrado no menor tempo possível.
Sunday, August 30, 2009
Sunday, August 30, 2009
Sunday, August 30, 2009
• CouchDB
Sunday, August 30, 2009
Terceira Lei do Novo Site
Sunday, August 30, 2009
A navegação deve ser uma experiência prazerosa e confortável para os visitantes.
Sunday, August 30, 2009
Design e Usabilidade
Sunday, August 30, 2009
Design? Que Design?
Sunday, August 30, 2009
Sunday, August 30, 2009
Sunday, August 30, 2009
Sunday, August 30, 2009
Sunday, August 30, 2009
Design - Problemas Recorrentes
• Design é subestimado
• Ausência de designer
• Ausência de especialista em usabilidade
• Inércia de outros sites de legislativos
• Falta de liberdade para inovar
Sunday, August 30, 2009
Ambiente de Desenvolvimento
Sunday, August 30, 2009
Windows
Ah, Windows... Botões e Janelas... tudo o que você quiser com o clicar de um botão
Sunday, August 30, 2009
Nós já sabíamos ...
Sunday, August 30, 2009
Sunday, August 30, 2009
Windows
Dificuldades para Desenvolvimento
• Shell deficiente
• Lento
• Seguidamente ocorrem problemas com extensões nativas de gems
Sunday, August 30, 2009
e-texteditor
Sunday, August 30, 2009
• Lightweight [Textmate]
• Block Selection [Textmate]
• Bundles [Textmate]
• Personal Revision Control
• Selective Undo
e-texteditor
Sunday, August 30, 2009
Git
• Menos intuitivo do que Subversion
• Curva de aprendizado mais acentuada
• Mais rápido
• Mais seguro
• Grande adoção na comunidade Rails
Sunday, August 30, 2009
Ruby on Rails
Sunday, August 30, 2009
Arquitetura Antiga
Portal Intranet
Pessoa
Setor
Processo
Lotacao
Classes Comuns Controllers
Normas::Pessoa
Normas::Setor
Acessos::Pessoa
Acessos::Setor
Acessos::Lotacao
Helpdesk::Pessoa
Helpdesk::Setor
Helpdesk::Chamado
Banco de Dados Único
Sunday, August 30, 2009
Problema
Como reutilizar classes comuns entre diversos sistemas diferentes?
Sunday, August 30, 2009
Arquitetura Nova
Banco de Dados Único
Normas
Helpdesk
Portal IntranetPessoa
Engine Acesso
Engine Acesso
Pessoa Setor
Engine Acesso
Pessoa Setor Chamado
Sunday, August 30, 2009
Engines
• São plugins que contêm uma aplicação Rails
• Arquivos nas pastas models, controllers, views são tratadas como uma aplicação Rails normal
Sunday, August 30, 2009
Outro Problema
Como compartilhar acessos?
Sunday, August 30, 2009
Compartilhamento de sessão
• Mesmo session id
• Mesmo secret
• Mesmo domínio
Sunday, August 30, 2009
Plugins
• Delocalize & Formatted Date
• JQuery
• Will Paginate
• Paperclip
• Searchlogic
• Haml
Sunday, August 30, 2009
Sunday, August 30, 2009
# do que não abrimos mão
Sunday, August 30, 2009
Sunday, August 30, 2009
Refactoring
Sunday, August 30, 2009
Sunday, August 30, 2009
Controle de Versões
Sunday, August 30, 2009
class NoticiasController < ApplicationController
def index...
def show...
def new...
def edit...
def create...
def destroy...
def associate...
def disassociate...
def publish...
Sunday, August 30, 2009
class NoticiasController < ApplicationController
def index...
def show...
def new...
def edit...
def create...
def destroy...
def associate...
def disassociate...
def publish...
Code Smell
Sunday, August 30, 2009
class NoticiasController < ApplicationController
def index...
def show...
def new...
def edit...
def create...
def destroy...
def associate...
def disassociate...
def publish...
Code Smell
RESTNEEDED
Sunday, August 30, 2009
Deployment
Sunday, August 30, 2009
Banco de Dados
SQL Server
• Parte Boa
• Ferramentas
• Parte Ruim
• ~$~
• Pouca documentação
• Problemas com datas
• Problemas com adapter
Sunday, August 30, 2009
Windows
Dificuldades no Servidor
• Sem mod_rails (Passenger)(solução: utilizar Mongrel Services)
• Gerenciamento remoto via SSH deficiente
• Pouca documentação (erros, gems, bds...)
• Sem Capistrano, God, Monit, etc.
Sunday, August 30, 2009
Mongrel Windows Service
• Necessita configuração de novo serviço para cada aplicação
• Lento
• Pouca Documentação
• Não há o mongrel_cluster
Sunday, August 30, 2009
Windows Linux
Desempenho - Request / Second
Sunday, August 30, 2009
0
15.00
30.00
45.00
60.00
7.50
60.00Windows Linux
Desempenho - Request / Second
Sunday, August 30, 2009
Conclusão:
Sunday, August 30, 2009
Use Linux.
Sunday, August 30, 2009
Faça o que puder para usar Linux !
Sunday, August 30, 2009
Convença o Papa se for preciso !
Sunday, August 30, 2009
Mas se não for possível...
Sunday, August 30, 2009
Luis Lavena pode te ajudar!
Luis Lavena
Sunday, August 30, 2009
rubyinstaller.org
Sunday, August 30, 2009
Referência Recomendada
Capítulo 8
Deploying on Windows
Sunday, August 30, 2009
Infraestrutura
Sunday, August 30, 2009
Sunday, August 30, 2009
Benefícios• Desempenho • Monitoramento• SSH
Windows Linux• mod_rails• PostgreSQL• Capistrano
Sunday, August 30, 2009
Consequências da adoção do Rails
• Usuários satisfeitos & exigentes
• Área de TI como setor chave da instituição
• Reconhecimento por outros órgãos públicos
• Seminário de Inovação
• Visitas e convites de órgãos diversos
• Solicitações de abertura de código
Sunday, August 30, 2009
Consequências da adoção do Rails
• Usuários satisfeitos & exigentes
• Área de TI como setor chave da instituição
• Reconhecimento por outros órgãos públicos
• Seminário de Inovação
• Visitas e convites de órgãos diversos
• Solicitações de abertura de código
• Felicidade :)
Sunday, August 30, 2009
Sunday, August 30, 2009
Sunday, August 30, 2009
Sunday, August 30, 2009
Sunday, August 30, 2009
Conselhos
• Não se atenha a tecnologias e linguagens, mas sim a princípios
• Ouça conselhos de pessoas de confiança, com as quais você se identifique
• Dê preferência a plugins ou extensões que possuam uma boa adoção
Sunday, August 30, 2009
Sunday, August 30, 2009
Sunday, August 30, 2009
Referências Recomendadas
• Advanced Rails Recipes
• The Rails Way
• Agile Web Development with Rails
• Railscasts
Sunday, August 30, 2009
Uma mensagem dos vereadores...
Sunday, August 30, 2009
Sunday, August 30, 2009
Ruby on Rails
Perguntas?
na Câmara Municipal de Porto Alegre
Sunday, August 30, 2009
Contato
Sunday, August 30, 2009
Contato
Henrique G. Testa
http://[email protected]/hiquepedia
Marcia Almeida
http://[email protected]/chuvisco
Sunday, August 30, 2009