6.851,1k - Governo de Pernambuco
Transcrição
6.851,1k - Governo de Pernambuco
Produtividade com Padronização em Comunidade Como patrocinar o Demoiselle Framework e lucrar com reuso de software 01/09/2011 Agenda ►O que é, de onde veio e quais os objetivos do projeto ►Breve histórico ►Características técnicas ►Números do Serpro ►Estrutura e ações da Comunidade ►Por que patrocinar? O que é O que é o Demoiselle Framework? Framework livre e aberto que reutiliza frameworks livres como Mojarra e Hibernate e absorve experiências de frameworks utilizados pela empresa. Foram implementados 2 mil pontos de função em nove meses para gerar a versão 1.0 do framework. Ele reúne a experiência e o conhecimento do Serpro em desenvolvimento Java. A origem Como nasceu o Demoiselle Framework? 2007 A inspiração surgiu de uma iniciativa da CELEPAR, o framework PINHÃO, baseado em Struts. Como nasceu o Demoiselle Framework? 2007 O núcleo da arquitetura nasceu da identificação no SIEF (Sistema Integrado de Informações Econômico-Fiscais) de aspectos genéricos que poderiam ser reutilizados em outros projetos. Como nasceu o Demoiselle Framework? 2007 A estratégia adotada para o Demoiselle foi criar um padrão baseado em especificações Java (JSRs) e não em produtos específicos. O objetivo Quais os objetivos do Demoiselle Framework Padronizar o desenvolvimento de sistemas Justificativa Padronização: ►Facilita o ►Permite reuso ►Facilita suporte de e absorção conceitos e de práticas sistemas maduras a integração e disponibilização de serviços para os novos sistemas Quais os objetivos do Demoiselle Framework Ter independência de fornecedores Justificativa Independência de fornecedor significa: ►Possibilidade de trocar de produtos; ►Possibilidade de negociar contratos; ►Possibilidade de resolver o problema por conta própria. Breve histórico Breve histórico 2009 2010 2011 2.1.0 2.1.1 JEE6 2.0.0 2.0.1 2.0.2 CRUD 1.2.0 1.2.1 1.2.2 1.2.3 JPA 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 LGPL 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 20 releases em 2 anos e meio Evolução Diminuição da implementação do Serpro, com consequente diminuição de código a ser mantido. Demoiselle 1 (JEE 5) Implementação Serpro Frameworks especialistas (Reuso) Demoiselle 2 (JEE 6) Implementação Serpro Frameworks especialistas (Reuso) Características Técnicas Núcleo da ideia Framework Padrão de Projeto Padrão de Projeto Padrão de Projeto Padrão de Projeto Padrão de Projeto Padrão de Projeto Padrão de Projeto Padrão de Projeto Padrão de Projeto Padrão de Projeto Padrão de Projeto Padrão de Projeto Núcleo da ideia programas simples podem modelar fenômenos complexos Stephen Wolfram Arquitetura de Referência O framework guia o arquiteto em suas decisões ● View & Controller Contexto de Mensagem Contexto de Transação Injeção de dependência Contexto de Segurança Business Contexto de Transação Injeção de dependencia Contexto de Mensagem Persistence Contexto de Segurança Evolução Demoiselle 2 Demoiselle 1 Pré-requisitos ● Apesar de o Demoiselle Framework 2.0 ser simples de usar, o desenvolvimento de aplicações não triviais requer o conhecimento das diversas tecnologias envolvidas na especificação Java EE, incluindo: – Linguagem Java – Servlets, JSP e Tag Libraries – JavaBeans – HTML e XML – Contêineres e Servidores Web Dependências Software Versão Site (Download) Java Development Kit (JDK) 6.0 openjdk.org Apache Maven 2.2 maven.apache.org Eclipse IDE 3.6 www.eclipse.org m2eclipse plugin JBoss Application Server 0.10 m2eclipse.sonatype.org 6.0 www.jboss.org Dependências Tenho de usar tudo Só uso se precisar Core Componentes Arquétipos ●Segurança ●Validação ● Extensões JPA JSF Vaadin Shiro JUnit JTA Tenho que usar algo SE Extensões ● JPA JPA 2.0 JSR 317 – Fábrica de EntityManager – Mecanismo de transação para JPA – Template para DAO Extensões ● JSF – Disponibiliza automaticamente as configurações necessárias para o JSF – Disponibiliza templates de CRUD JSF 2.0 JSR 314 Extensões ● JUnit – Habilita testes unitários com JUnit utilizando as injeções de dependência do framework. Kent Beck Extensões ● SE – Permite a criação de aplicações desktop. Extensões ● Vaadin – Usa o framework Vaadin para criar uma aplicação Web. Extensões ● Vaadin Extensões ● Shiro – Provê funcionalidades para utilização do Apache Shiro como solução para autenticação e autorização de usuários. Extensões ● Shiro Extensões ● JTA – Destinada à aplicações Código da Aplicação que usem transações. Monitor de Transações JTA Servidor de Aplicações Monitor de Transações Componentes Não estenda , plugue! Instalação ● ● Hoje – Manual (nããããããããoooooo) – Pacote Debian (super fácil) – Instalador Windows (super fácil) Em breve – Instalador unificado multiplataforma Software Livre e Aberto Software Livre como instrumento de inovação Inovação Abre a possibilidade para captação de inovações tecnológicas para o desenvolvimento de soluções de forma não burocrática. Inovação Reduz custos de manutenção dos sistemas ao padronizar a implementação. Inovação A estrutura de comunidade permite dividir o custo da manutenção e evolução do framework Números do Serpro Novos Projetos com Demoiselle No Serpro, entre dezembro de 2009 e dezembro de 2010, 42 projetos de software do tipo “novo sistema”, utilizaram Demoiselle Framework em sua construção. Isso representa 21,88% do total de novos projetos. Apenas 7 projetos JEE não usaram o framework. Eles representam 4% do total de novos projetos. O total de pontos de função implementados por esses projetos foi de 14072,69. Fonte:Divisão de Medição e Análise da Superintendência de Desenvolvimento do Serpro Estrutura e ações da Comunidade Ambiente de desenvolvimento Todo o ambiente de desenvolvimento do framework está hospedado no Sourceforge, sem custo algum para a empresa. O Sourceforge provê repositório de dados, controle de versão, fóruns e listas de discussão, bugtracker, blogs, wiki e análise de tráfego. Ambiente de desenvolvimento Grandes projetos de software livre estão no Sourceforge: Filezilla Firebird SQL Modelo de Governança Estatutos publicados na Wiki do Demoiselle Components Sample Process Conselho da Comunidade Demoiselle Decisões Estratégicas Conselho Técnico do Demoiselle Decisões Técnicas Decisões Operacionais Infra Framework Tools Documentation Modelo de Governança 49 Subprojetos: ▶25 em Demoiselle Component ▶2 em Demoiselle Documentation ▶14 em Demoiselle Infra ▶2 em Demoiselle Process ▶2 em Demoiselle Tools ▶4 em Demoiselle Sample Comunicação com a Comunidade As discussões gerais ocorrem na lista de usuários. Discussões técnicas ocorrem nos fóruns. Todas as notícias sobre o Demoiselle são publicadas em um portal que integra todos os canais de comunicação do projeto. Além disso, as informações são replicadas no Twitter. Comunicação com a Comunidade Portal Comunicação com a Comunidade Blog Comunicação com a Comunidade Bugtracker Comunicação com a Comunidade Fórum Ensino a Distância Em 2010 foi desenvolvido em conjunto com a Uniserpro o curso a distância Demoiselle Framework versão 1.2. Em 2011 já foram realizadas 2 turmas externas pela Escola Virtual Serpro e 1 interna pela Escola Uniserpro. Foram capacitados 76 desenvolvedores. Está em andamento 1 nova turma interna, com 17 alunos. Ensino a Distância O EAD Demoiselle foi desenvolvido com a plataforma livre Moodle. O curso a deslocamento distância evita custos com de alunos e instrutores. Ensino a Distância O governo do Paraguai está interessado no curso a distância do Demoiselle Framework, já montou turmas, e se comprometeu a traduzir o conteúdo para espanhol. Publicações Artigos na revista Mundo Java Artigos acadêmicos Livro 'Introdução ao Demoiselle Framework' com 391 páginas Citação internacional Ed Burns Ampla Divulgação 2009 Ampla Divulgação Yara Senger Ampla Divulgação 2010 Ampla Divulgação 2011 Ampla Divulgação 2011 Seminário para alunos do professor Marcos Didonet Del Fabro, do Departamento de Informática, contribuidor do projeto Eclipse, um dos componentes do Demoiselle Framework. Ampla Divulgação Visitantes 8230 visitas em 2009 (2034 de outros países) 6190 visitas em 2010 (769 de outros países) 2810 visitas em 2011 (526 de outros países) Dados de 26/07/2011 9000 8000 7000 6000 5000 Totais 4000 3000 2000 1000 0 2009 2010 2011 Visitantes O espelho do Demoiselle Infra na UFPR permite que a comunidade baixe o instalador do Demoiselle para Debian. Acessos externos, ~3759 (2010) e ~20942 (2011) Dados de 26/07/2011 25000 20000 15000 10000 5000 0 2010 2011 Demoiselle Infra O Demoiselle Infra disponibiliza pacotes de instalação para Debian e Windows, atualmente. O Demoiselle Infra atualmente está criando um DVD-Live, para distribuição e instalação do Demoiselle off-line. I Encontro da Comunidade (2010) Casos de Sucesso Agência Estadual de Tecnologia da Informação de Pernambuco I Encontro da Comunidade (2010) Casos de Sucesso Termo de Referência do Processo Licitatório 024/2010 Contratações de desenvolvimento de software para o Estado de Pernambuco começam a determinar a utilização do Demoiselle. I Encontro da Comunidade (2010) Casos de Sucesso Ata de registro de preços 005/10 Ponto de Função Demoiselle R$ 205,00 I Encontro da Comunidade (2010) Casos de Sucesso Sistemas desenvolvidos com Demoiselle WebRegularidade Controle de certidões fiscais de Órgãos/Entidades Sistema de Controle de Acesso Sistema de Controle de Acesso Corporativo Sistema de Controle de Testes Ferramenta de registro dos testes de aplicações CVI Sistema de Controle de Viagens I Encontro da Comunidade (2010) Casos de Sucesso Coordenação de Sistemas da Secretaria do Tesouro Nacional I Encontro da Comunidade (2010) Casos de Sucesso Coordenação de Sistemas da Secretaria do Tesouro Nacional Sistemas desenvolvidos com Demoiselle Fale com a CODIN – Ouvidoria Interna 19 casos de uso; 208 pontos de função; 15 (sistema) / 700 (serviço) usuários; 5 simultâneos; Strategía – Planejamento Estratégico 33 casos de uso; 650 pontos de função; 700 usuários; 30 simultâneos; I Encontro da Comunidade (2010) Casos de Sucesso Universidade do Oeste de Santa Catarina Sistema Bibliotecário desenvolvido em Demoiselle Pesquisa de Usuários Realizada com a ferramenta LimeSurvey, foi direcionada para a comunidade, para saber quem estava utilizando o framework e como. Casos de Sucesso Pesquisa Demoiselle “O framework já foi utilizado com sucesso em 3 sistemas que foram reescritos utilizando o Demoiselle, e existe a expectativa de o mesmo ser utilizado em alguns outros projetos também.” Usuários identificados Contribuições De 2009 a 2011: ▶152 bugs corrigidos ▶130 melhorias implementadas ▶52 novas funcionalidades implementadas ▶12 tarefas pontuais executadas Contribuições Com o desenvolvimento do Sistema de Controle de Acesso, o componente Demoiselle Security ganhou várias melhorias. Workshop de Reuso Realizado em todos os polos de desenvolvimento do Serpro, durante o ano de 2010. O Workshop identificou componentes reutilizáveis nos projetos que utilizaram o Demoiselle Framework e incorporou tudo o que era genérico ao framework. Exemplo: componente SUPDE/DERCE, foi Demoiselle-CRUD de CRUD incorporado desenvolvido pela como componente O Workshop provocou o compartilhamento de soluções reutilizáveis, evitando retrabalho e gerando economia. Prêmios Prêmios Finalista do IX Prêmio Excelência em Governo Eletrônico Participação em Eventos Internacionais Três vezes (2009, 2010 e 2011) selecionado para a Conferência Iberoamericana em Sistemas, Cibernética e Informática, promovida pelo International Institute of Informatics and Systemics, que ocorre na cidade de Orlando, Flórida, nos Estados Unidos. Portal do Software Público 2º software do Serpro lançado no Portal SPB 664 membros desde 7 de junho de 2011 O que está em andamento ►Certificação Profissional ►EAD Demoiselle 2 ►EAD de tecnologias relacionadas a Demoiselle ►Internacionalização do projeto ►Proposta de reunião com universidades ►II Encontro da Comunidade Demoiselle Por que patrocinar? Vantagens de um projeto de software livre Processo de desenvolvimento: ►Pode agregar milhares de desenvolvedores. ►É adequado para software de infraestrutura (como um framework). Vantagens de um projeto de software livre Licenciamento: ►O software livre tem licenciamento com menor custo. Vantagens de um projeto de software livre Principal característica: ►Maior portabilidade, por estar baseado em padrões abertos. Vantagens de um projeto de software livre Ritmo de inovação: ►Gera versões estáveis em curto espaço de tempo. Cinco motivos para adotar um software livre ►Custo ►Estabilidade ►Confiabilidade ►Performance ►Acesso ao código-fonte Vantagens Sua empresa terá melhorias implementadas nos códigos que tornar disponíveis apenas também contribuir na melhoria do código que os demais membros desenvolvem. Assim estabelece-se uma relação de auxílio mútuo, baseada em troca de trabalho de desenvolvimento. Vantagens específicas para governo O que o distingue de outros frameworks Java Demoiselle é um framework criado por uma empresa de governo e tem preocupações sobre sua arquitetura e componentes que as empresas privadas não possuem. Frameworks “comerciais” tendem a considerar o público geral, cujas necessidades não são específicas para o setor público. Como tornar-se patrocinador? Disponibilizando desenvolvedores. O que o desenvolvedor precisa fazer? Uma destas coisas: ►Corrigir bugs ►Implementar feature requests ►Implementar improvements ►Manter um componente específico ►Criar um componente específico ►Criar uma camada de integração entre o ►Demoiselle Framework e uma IDE específica ►Criar um instalador ►Criar e manter um subprojeto O que o desenvolvedor precisa fazer? Uma destas coisas: ►Redigir e editar em formato digital um livro sobre um subprojeto ou componente ►Realizar testes de performance e entregar o relatórios com os resultados ►Redigir artigo técnico ►Traduzir documentação para outros idiomas ►Organizar e oferecer treinamentos ►Redigir tutoriais ►Redigir manuais Mais informações www.frameworkdemoiselle.gov.br Responsável pelo relacionamento com a comunidade no Serpro: Antonio Carlos Tiboni [email protected]
Documentos relacionados
Guia do Usuário
Para maiores informações sobre a configuração e o modo de utilização dos pacotes de software do projeto Demoiselle Infra para Linux, acesse o site http://demoiselle.sourceforge.net/infra/
Leia mais