Câmara Municipal nos Trilhos

965 views

Published on

Trajetória do desenvolvimento de software da área de TI da Câmara Municipal de Porto Alegre (CMPA) e sua busca por tecnologias e metodologias mais produtivas e adequadas para uma pequena equipe com recursos limitados. A CMPA conta com mais de duas dezenas de aplicações desenvolvidas in-house e recebe visitas de inúmeros legislativos brasileiros interessados em seus sistemas.

por Marcia Almeida e Henrique Testa no 1° RS on Rails

Published in: Technology, Travel
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
965
On SlideShare
0
From Embeds
0
Number of Embeds
118
Actions
Shares
0
Downloads
19
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Câmara Municipal nos Trilhos

  1. 1. Câmara Municipal de Porto Alegre nos Trilhos Marcia Almeida e Henrique G. Testa Sunday, August 30, 2009
  2. 2. Quem somos? Marcia Almeida Coordenadora do Setor de TI da CMPA Henrique G. Testa Consultor e Colaborador da CMPA Sunday, August 30, 2009
  3. 3. Conhecendo a Câmara Sunday, August 30, 2009
  4. 4. 36 vereadores 830 funcionários 120 setores, entre gabinetes, bancadas, comissões e áreas administrativas Sunday, August 30, 2009
  5. 5. A área de TI - o Início • Criada em 1985 com o objetivo de desenvolver sistema de Folha de Pagamento Cobra C - 210 64k RAM Disquete de 8” sem HD Sunday, August 30, 2009
  6. 6. Número de Computadores Sunday, August 30, 2009
  7. 7. Número de Computadores 500 480 400 300 200 100 1985 1987 1989 1991 1993 1995 0 1997 1999 2001 2003 2005 2007 2009 Sunday, August 30, 2009
  8. 8. Sistemas desenvolvidos por ano Sunday, August 30, 2009
  9. 9. Sistemas desenvolvidos por ano 12 12 9 8 5 4 1 2 1 1111 2 2 1985 1987 1 1989 1991 1993 1995 0 1997 1999 2001 2003 2005 2007 2009 Sunday, August 30, 2009
  10. 10. Por que será que desenvolvemos nos últimos 3 anos o dobro de sistemas dos 20 anos anteriores? Sunday, August 30, 2009
  11. 11. ... ... 1985 1993 2001 2002 2004 2006 2008 2009 Sunday, August 30, 2009
  12. 12. Mumps ... ... 1985 1993 2001 2002 2004 2006 2008 2009 Sunday, August 30, 2009
  13. 13. Mumps Fox ... ... 1985 1993 2001 2002 2004 2006 2008 2009 Sunday, August 30, 2009
  14. 14. Mumps Fox PHP ... ... 1985 1993 2001 2002 2004 2006 2008 2009 Sunday, August 30, 2009
  15. 15. Mumps Fox PHP Delphi ... ... 1985 1993 2001 2002 2004 2006 2008 2009 Sunday, August 30, 2009
  16. 16. Mumps Fox PHP Delphi Ruby on Rails ... ... 1985 1993 2001 2002 2004 2006 2008 2009 Sunday, August 30, 2009
  17. 17. Mumps Fox PHP Delphi Rails Sunday, August 30, 2009
  18. 18. Mumps Fox PHP Delphi Rails 12 8 4 1985 1987 1989 1991 1993 1995 0 1997 1999 2001 2003 2005 2007 2009 Sunday, August 30, 2009
  19. 19. Sistemas em Ruby on Rails Sunday, August 30, 2009
  20. 20. Sistemas em Ruby on Rails • Sisprot Web • SMS • Controle de Acessos • Banco de Imagens • PDF Converter • RH • Processo Eletrônico • Telefonia • Controle de Visitantes • Efetividade • Movimentação de Pessoal • Helpdesk • Portal Transparência • Inscrições • Gerenciamento de Impressoras • Pesquisas • Central de Transportes • Agenda • Ouvidoria • Legislativo • Normas • Controle Patrimonial • Solicitações de Serviços • Gerenciamento de Setores • Notícias • Convênios e Estágios • Newsletter Sunday, August 30, 2009
  21. 21. Sunday, August 30, 2009
  22. 22. Sunday, August 30, 2009
  23. 23. Sunday, August 30, 2009
  24. 24. Sunday, August 30, 2009
  25. 25. Mas quantas pessoas integram a equipe de desenvolvimento? Sunday, August 30, 2009
  26. 26. Equipe de Desenvolvimento • 1 + ½ + ½ Funcionários • 3 Estagiários Sunday, August 30, 2009
  27. 27. Nosso Projeto Atual Sunday, August 30, 2009
  28. 28. Sunday, August 30, 2009
  29. 29. Novo Site da Câmara Sunday, August 30, 2009
  30. 30. Novo Site da Câmara Sunday, August 30, 2009
  31. 31. Primeira Lei do Novo Site Sunday, August 30, 2009
  32. 32. 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
  33. 33. Sunday, August 30, 2009
  34. 34. Segunda Lei do Novo Site Sunday, August 30, 2009
  35. 35. Todo conteúdo deve ser facilmente encontrado no menor tempo possível. Sunday, August 30, 2009
  36. 36. Sunday, August 30, 2009
  37. 37. Sunday, August 30, 2009
  38. 38. • Google • CouchDB Sunday, August 30, 2009
  39. 39. Terceira Lei do Novo Site Sunday, August 30, 2009
  40. 40. A navegação deve ser uma experiência prazerosa e confortável para os visitantes. Sunday, August 30, 2009
  41. 41. Design e Usabilidade Sunday, August 30, 2009
  42. 42. Design? Que Design? Sunday, August 30, 2009
  43. 43. Sunday, August 30, 2009
  44. 44. Sunday, August 30, 2009
  45. 45. Sunday, August 30, 2009
  46. 46. Sunday, August 30, 2009
  47. 47. 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
  48. 48. Ambiente de Desenvolvimento Sunday, August 30, 2009
  49. 49. Windows Ah, Windows... Botões e Janelas... tudo o que você quiser com o clicar de um botão Sunday, August 30, 2009
  50. 50. Nós já sabíamos ... Sunday, August 30, 2009
  51. 51. Sunday, August 30, 2009
  52. 52. Windows Dificuldades para Desenvolvimento • Shell deficiente • Lento • Seguidamente ocorrem problemas com extensões nativas de gems Sunday, August 30, 2009
  53. 53. e-texteditor Sunday, August 30, 2009
  54. 54. e-texteditor • Lightweight [Textmate] • Block Selection [Textmate] • Bundles [Textmate] • Personal Revision Control • Selective Undo Sunday, August 30, 2009
  55. 55. 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
  56. 56. Ruby on Rails Sunday, August 30, 2009
  57. 57. Arquitetura Antiga Portal Intranet Classes Comuns Controllers Normas::Pessoa Pessoa Normas::Setor Setor Acessos::Pessoa Processo Acessos::Setor Banco de Dados Único Acessos::Lotacao Lotacao Helpdesk::Pessoa Helpdesk::Setor Helpdesk::Chamado Sunday, August 30, 2009
  58. 58. Problema Como reutilizar classes comuns entre diversos sistemas diferentes? Sunday, August 30, 2009
  59. 59. Arquitetura Nova Portal Intranet Pessoa Engine Acesso Normas Pessoa Setor Engine Acesso Banco de Dados Único Helpdesk Pessoa Setor Chamado Engine Acesso Sunday, August 30, 2009
  60. 60. 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
  61. 61. Outro Problema Como compartilhar acessos? Sunday, August 30, 2009
  62. 62. Compartilhamento de sessão • Mesmo session id • Mesmo secret • Mesmo domínio Sunday, August 30, 2009
  63. 63. Plugins • Delocalize Formatted Date & • JQuery • Will Paginate • Paperclip • Searchlogic • Haml Sunday, August 30, 2009
  64. 64. Sunday, August 30, 2009
  65. 65. # do que não abrimos mão Sunday, August 30, 2009
  66. 66. Sunday, August 30, 2009
  67. 67. Refactoring Sunday, August 30, 2009
  68. 68. Sunday, August 30, 2009
  69. 69. Controle de Versões Sunday, August 30, 2009
  70. 70. 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
  71. 71. class NoticiasController < ApplicationController def index... def show... def new... def edit... def create... def destroy... def associate... def disassociate... Code Smell def publish... Sunday, August 30, 2009
  72. 72. class NoticiasController < ApplicationController def index... def show... def new... REST def edit... def create... def destroy... NEEDED def associate... def disassociate... Code Smell def publish... Sunday, August 30, 2009
  73. 73. Deployment Sunday, August 30, 2009
  74. 74. Banco de Dados SQL Server • Parte Boa • Ferramentas • Parte Ruim • ~$~ • Pouca documentação • Problemas com datas • Problemas com adapter Sunday, August 30, 2009
  75. 75. 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
  76. 76. 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
  77. 77. Desempenho - Request / Second Windows Linux Sunday, August 30, 2009
  78. 78. Desempenho - Request / Second Windows Linux 60.00 60.00 45.00 30.00 7.50 15.00 0 Sunday, August 30, 2009
  79. 79. Conclusão: Sunday, August 30, 2009
  80. 80. Use Linux. Sunday, August 30, 2009
  81. 81. Faça o que puder para usar Linux ! Sunday, August 30, 2009
  82. 82. Convença o Papa se for preciso ! Sunday, August 30, 2009
  83. 83. Mas se não for possível... Sunday, August 30, 2009
  84. 84. Luis Lavena pode te ajudar! Luis Lavena Sunday, August 30, 2009
  85. 85. rubyinstaller.org Sunday, August 30, 2009
  86. 86. Referência Recomendada Capítulo 8 Deploying on Windows Sunday, August 30, 2009
  87. 87. Infraestrutura Sunday, August 30, 2009
  88. 88. Sunday, August 30, 2009
  89. 89. Windows Linux • mod_rails • PostgreSQL • Capistrano Benefícios • Desempenho • Monitoramento • SSH Sunday, August 30, 2009
  90. 90. 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
  91. 91. 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
  92. 92. Sunday, August 30, 2009
  93. 93. Sunday, August 30, 2009
  94. 94. Sunday, August 30, 2009
  95. 95. Sunday, August 30, 2009
  96. 96. 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
  97. 97. Sunday, August 30, 2009
  98. 98. Sunday, August 30, 2009
  99. 99. Referências Recomendadas • Advanced Rails Recipes • The Rails Way • Agile Web Development with Rails • Railscasts Sunday, August 30, 2009
  100. 100. Uma mensagem dos vereadores... Sunday, August 30, 2009
  101. 101. Sunday, August 30, 2009
  102. 102. Ruby ondeRails na Câmara Municipal Porto Alegre Perguntas? Sunday, August 30, 2009
  103. 103. Contato Sunday, August 30, 2009
  104. 104. Contato Marcia Almeida http://chuvi.org chuvisco@camarapoa.rs.gov.br twitter.com/chuvisco Henrique G. Testa http://hiquepedia.com hgtesta@gmail.com twitter.com/hiquepedia Sunday, August 30, 2009

×