Demoiselle: framework oficial do governo federal

Na verdade já resolveu vários problemas, referentes aos projetos que estão utilizando o framework, que são mais de uma dezena contando as versões não estáveis.
Como diria Guilherme Schneider, em TI, potência não é nada sem controle.
Já tive oportunidade de verificar pessoalmente problemas que ocorrem quando o governo terceiriza serviços. Inclusive já enquadrei consultores picaretas, que querem ganhar dinheiro fácil com o governo, e por consequinte lesar todos os contribuintes.
Entendo que há a impressão de que algo poderia ser adotado em vez de criado. Mas na verdade, o Demoiselle nasceu da evolução de outro framework, e constitui-se em um direcionamento.

As tecnologias citadas são usadas pelo mercado. Toda decisão de adoção de tecnologia é acompanhada da assunção do risco de que ela fique defasada. Não há garantia que nada não fique defasado. Mas se ficar, as tecnologias citadas serão substituídas por outras, porque o ponto central do Demoiselle é o Framework Arquitetural ou Framework Integrador. A idéia é permitir que as camadas inferiores possam ser substituídas sem que isso afete a aplicação, porque a interface é a mesma. Não há nenhuma novidade nisso. A questão é estabelecer um padrão que seja seguido, para que os envolvidos falem a mesma língua e para que a manutenção seja facilitada. Para que A seja contratado para fazer uma aplicação X para H e que B possa dar manutenção, ou que o próprio H possa fazê-la, se quiser.

Agradeço pelos questionamentos.

Você poderia nos mostrar onde está a análise de riscos e quem a fez? E “as tecnologias citadas são usadas no mercado” não diz nada, todas as tecnologias são usadas no mercado, mesmo as tidas como legado, como Cobol e Clipper.

Essa história de que “as tecnologias serão substituídas” é pura conversa fiada. A evolução tecnológica funciona através da quebra de padrões, no início tudo era Struts, uma ferramenta “integradora” que usava o Struts como base dificilmente consegue hoje gerar código pra outros frameworks como JSF ou WIcket, porque o ponto de partida é completamente diferente. Dizer que é simplesmente questão de “atualizar o framework integrador” é um absurdo sem tamanho, a não ser que as mentes do SERPRO tenham conseguido ver o que nenhuma outra empresa do mercado conseguiu ver.

Esse framework é tão picareta quanto as empresas e consultores picaretas que mamam nas tetas do governo, porque ele vai servir pra fazer exatamente a mesma coisa.

Na verdade já resolveu vários problemas, referentes aos projetos que estão utilizando o framework, que são mais de uma dezena contando as versões não estáveis.
Como diria Guilherme Schneider, em TI, potência não é nada sem controle.
Já tive oportunidade de verificar pessoalmente problemas que ocorrem quando o governo terceiriza serviços. Inclusive já enquadrei consultores picaretas, que querem ganhar dinheiro fácil com o governo, e por consequinte lesar todos os contribuintes.
Entendo que há a impressão de que algo poderia ser adotado em vez de criado. Mas na verdade, o Demoiselle nasceu da evolução de outro framework, e constitui-se em um direcionamento. [/quote]

Na verdade acho que o Serpro deve sim criar suas proprias solucoes internamente quando for possivel, nao vejo problema nisso. Mas nao espere utilizar os mesmos argumentos de vendedor para divulgar sua nova ferramenta aqui e achar que ninguem vai questiona-lo, principalmente quando afirma ser a solucao para problemas como falta de controle, baixa produtividade, custo alto no desenvolvimento, pq sabemos que tais problemas nao passam por uma solucao tecnica, mas principalmente por uma atitude a nivel de processo, por exemplo, nao entendi de que forma um framework vai inibir a atuacao de picaretas na prestacao do servico!

As tecnologias citadas são usadas pelo mercado. Toda decisão de adoção de tecnologia é acompanhada da assunção do risco de que ela fique defasada. Não há garantia que nada não fique defasado. Mas se ficar, as tecnologias citadas serão substituídas por outras, porque o ponto central do Demoiselle é o Framework Arquitetural ou Framework Integrador. A idéia é permitir que as camadas inferiores possam ser substituídas sem que isso afete a aplicação, porque a interface é a mesma. Não há nenhuma novidade nisso. A questão é estabelecer um padrão que seja seguido, para que os envolvidos falem a mesma língua e para que a manutenção seja facilitada. Para que A seja contratado para fazer uma aplicação X para H e que B possa dar manutenção, ou que o próprio H possa fazê-la, se quiser.

Agradeço pelos questionamentos.[/quote]

Nao ha novidade mesmo em separacao por camadas. Ha sim uma ideia equivocada de usar camadas sem abstracao, apenas camadas de indirecao para outros frameworks que fazem o trabalho de verdade. Considerando que havera mais codigo a ser mantido nao entendo como a manutencao seria facilitada.

http://www.serpro.gov.br/imprensa/publicacoes/Tema/tema/materias/framework/?searchterm=elizier

Reabrindo o tópico com algumas dúvidas e esclarecimentos:

Você poderia me informar quanto do seu dinheiro foi investido no Framework? Saiba que existem mecanismos para isso. Mas desconfio, apenas desconfio, que não seja o Guj.

Gostaria de saber o custo ou gostaria de aparecer aqui dizendo que gostaria de saber? Se não se importar, poderia nos mostrar o e-mail que você mandou para a ouvidoria do Serpro solicitando esclarecimentos quanto ao custo de desenvolvimento do Framework? A ouvidoria, e não o Guj, é o canal certo para tal informação.

Quando te explicarem como o seu imposto foi parar no Serpro, posta aqui para a gente saber.

A Missão do Serpro foi definida pela Diretoria em 2004 e se traduz em “Promover e integrar soluções em Tecnologia da Informação e Comunicações para o êxito da gestão das finanças públicas e da governança do Estado, em benefício da sociedade”. Não é por falta de missão.

Mas estou curioso para saber o que o governo deveria fazer. Apenas Justiça e Forças Armadas? Viva o neo-liberalismo? Até quando? Até os bancos quebrarem? Aí é papel do governo socorrer os pobres banqueiros? Vou convidar o Barack para vir ao Guj. Se daqui saem soluções de governo para o Brasil, que diremos para os EUA!

Outra dúvida: o que faríamos com o banco de dados do IRP(F|J)? Vamos confiar em alguma consultoria? Meu cadastro de bens e rendas à disposição de uma Mindjob ou n-Letrinhas? Hum, sei não. Não sei mesmo. E as informações estratégicas de comércio exterior? Alguém tem detector de raposa para afastar do meu galinheiro?

Não entendam que eu esteja defendendo a solução que, assim como vocês, não conheço. Mas criticá-las com falácias é irresponsabilidade.

Assim:

http://www.portaltransparencia.gov.br/PortalComprasDiretasFavorecidosED.asp?TipoPesquisa=1&Ano=2008&ValorTipoPesquisa=2418903469993.0000&Valor=93112214467370&textoPesquisa=&CpfCnpjNis=33683111000107&NomeFavorecido=SERVICO+FEDERAL+DE+PROCESSAMENTO+DE+DADOS+(SERPRO)+[SERPRO+SEDE]&valorFavorecido=73591692506

Na sua citação eu não vejo criar tecnologia, que foi o que falei. O SERPRO é um prestador de serviço de tecnologia e como qualquer outro -público ou privado- deve se manter focado. Quando estamos falando de como a empresa XYZ gastou dinheiro a toa reinventando a roda eu não ligo mas neste caso o dinheiro gasto é o meu.

Não entendi o que isso tem a ver com o tema do tópico. Mesmo se você preferir um governo não-liberal ele deveria colocar este dinheiro em órgãos -públicos ou privados ou o que for- que trabalham com inovação, como os que citei acima.

Você pode por favor me dizer que parte do problema em gerenciar uma base de dados como as que você citou se relaciona com a crítica sobre o governo criar seu próprio framework e reinventar a roda? Independente da minha opinião sobre quem deve desenvolver a base de CNPJ isso é completamente dentro do escopo de uma organização como o SERPRO, ao contrário do que este post trata: a invenção de mais um framework.

[quote=TheMask]
Não entendam que eu esteja defendendo a solução que, assim como vocês, não conheço. Mas criticá-las com falácias é irresponsabilidade.[/quote]

Desculpe mas reabrir um post apenas adicionando ruído e querendo transformar em uma discussão sobre capitalismo, liberalismo ou sejá lá o que for é lamentável.

O Serpro é uma empresa pública e desde 2003 não está no OGU. É uma empresa lucrativa que paga dividendos ao governo. Mostrar apenas as despesas é, no mínimo, ingênuo.

Concordo contigo. Você já entrou com um processo no TCU para questionar esse desperdício?

Discordo. Sem uma definição precisa do que é inovação fica muito complicado. Mas lato sensu, ter o maior sistema de informações de rendas do mundo é inovar. Apoiar tecnicamente a evolução do DOSVox é inovar. E baratear o custo Brasil com o uso de tecnologia? Pode dizer que não é inovar. Então o governo não deveria gastar dinheiro com isso? Gastar dinheiro com controle também é importante. Esse é o ponto.

Rigorosamente nada. Não estou defendendo o framework como já dito no meu post. É que eu havia entendido a sua frase que dizia que o governo deveria deixar a criação de tecnologia para outras instituições era um repúdio à existência do Serpro. Desculpe-me pelo engano. Relendo, vi que você inclusive citou “empresas”. O Serpro é uma empresa. E, sem entrar no mérito do Demoiselle especificamente, construir um framework se encaixa em sua missão.

Não estou querendo transformar em discussão ideológica. É só que quando você diz que o governo deve cuidar “disso” e não “daquilo”, já está carregado de ideologia. Aliás, fora inovação seu post não mencionou onde seu dinheiro seria melhor aplicado.

Eu trouxe à este tópico a missão do Serpro, a informação de que o Serpro não participa do OGU, que é uma empresa superavitária, que a ouvidoria do Serpro é o canal certo para informações, que o TCU é o meio para você questionar o investimento dos seus impostos. Ruídos, como você pode ver, apenas ruídos. :roll:

[quote=TheMask][quote=pcalcado]
http://www.portaltransparencia.gov.br/PortalComprasDiretasFavorecidosED.asp?TipoPesquisa=1&Ano=2008&ValorTipoPesquisa=2418903469993.0000&Valor=93112214467370&textoPesquisa=&CpfCnpjNis=33683111000107&NomeFavorecido=SERVICO+FEDERAL+DE+PROCESSAMENTO+DE+DADOS+(SERPRO)+[SERPRO+SEDE]&valorFavorecido=73591692506
[/quote]
O Serpro é uma empresa pública e desde 2003 não está no OGU. É uma empresa lucrativa que paga dividendos ao governo. Mostrar apenas as despesas é, no mínimo, ingênuo.
[/quote]

Não mesmo, eu estou mostrando -a seu pedido- como impostos vão parar lá. Ou você acha que este dinheiro aparece de algum outro lugar?

Não, logo… ?

Você pode me dizer o que o framework em questão melhora nestes aspectos? Se não for pedir demais seria ótimo ter uma resposta baseada nos pontos levantados neste tópico e em similares sobre como arquiteturas de referência deste tipo são, na melhor das hipóteses, inócuas.

Você entra num tópico sobre um framework, lê respostas sobre o framework, critica estas mas tenta tirar o dito cujo de escopo. Muito difícil, não?

E, independente das nossas visões sobre se o SERPRO é uma empresa de verdade ou não, não faz bem para empresa alguma gastar dinheiro reinventando a roda. Eu como stakeholder desta empresa em específico fico extremamente desapontado vendo meu investimento (não voluntário) nela sendo jogado fora desta maneira.

Estes argumentos enlatados do tipo “se você não entrar com um processo não reclama” ou “não fale do problema, sugira soluções” são extremamente tediosos. Faça uma busca pelo meu login no GUJ e veja minhas respostas sobre “frameworks de referência”, não especificamente sobre este ou sobre desenvolvidos por empresas públicas. Eu não tenho que repetir a mesma coisa em todos os tópicos.

[quote=TheMask]
Eu trouxe à este tópico a missão do Serpro, a informação de que o Serpro não participa do OGU, que é uma empresa superavitária, que a ouvidoria do Serpro é o canal certo para informações, que o TCU é o meio para você questionar o investimento dos seus impostos. Ruídos, como você pode ver, apenas ruídos. :roll: [/quote]

Informações cuja necessidade de você criou em primeiro lugar. Que tal começar a explicar por que o framework em questão é uma boa idéia?

http://demoiselle.sourceforge.net/

Sim, aparece. Toda vez que você solicita um passaporte e/ou importa um produto, há um sistema do Serpro sendo usado. Parte da taxa por esse serviço é usada para pagar ao Serpro.

Logo você reclamou no lugar errado. Seu dinheiro continuará sendo “desperdiçado” (de acordo com a sua opinião). Tudo bem quanto à isso?

Já disse que não conheço o Framework, logo não faço parte do time de desenvolvimento dele. E também sou um crítico de “arquiteturas de referência”. Mas não sou fundamentalista. Entendo que algum nível de padronização é importante. A questão é: o quanto e como padronizar. Mas uma coisa é criticar a solução apresentada (que suponho que você também não conhece), outra é questionar se criar um framework (vamos chamar assim por simplificação) faz ou não parte da missão do Serpro e constitui ou não desperdício de dinheiro público.

Explicado na última linha do parágrafo acima.

Concordo que você deve se preocupar. Meu ponto é que podemos canalizar essa preocupação para obtermos efeitos práticos. Senão, soa como chororô ao meu ouvido.

Mais enlatado que bater no governo é difícil. Obrigado pelo reconhecimento. Mas meus argumentos não foram esses. Não estou sugerindo que você se cale. Gostaria mesmo que você usasse sua preocupação para ajudar a melhorar os serviços públicos. Desse jeito, ganhamos todos nós brasileiros. E neste tópico, sugeri duas formas de fazer isso.

[quote=TheMask]
Eu trouxe à este tópico a missão do Serpro, a informação de que o Serpro não participa do OGU, que é uma empresa superavitária, que a ouvidoria do Serpro é o canal certo para informações, que o TCU é o meio para você questionar o investimento dos seus impostos. Ruídos, como você pode ver, apenas ruídos. :roll: [/quote]

Ok. Considere as informações como ruído, portanto. Vamos deixá-las assim. Talvez sirvam para outra pessoa. E quanto ao framework, pode destacar exatamente em que parte eu disse que o DEMOISELLE é uma boa idéia? Até que eu o conheça, não vai ouvir críticas.

Mas vou citar uma idéia de sucesso no próprio Serpro: http://www.serpro.gov.br/imprensa/publicacoes/tematec/2006/ttec86/

'nuff said

Sim, aparece. Toda vez que você solicita um passaporte e/ou importa um produto, há um sistema do Serpro sendo usado. Parte da taxa por esse serviço é usada para pagar ao Serpro.
[/quote]

E quem paga a taxa deste serviço se não o contribuinte? Só porque não existe um imposto ou taxa específico do SERPRO não quer dizer que o que vai parar lá não saia do meu bolso.

[/quote]

Logo eu deveria ou reclamar usando meios formais ou calar a boca? Meios de comunicação não servem para fazer reclamações? É melhor avisar isso aos jornais.

Novamente: você entra em um tópico sobre o framework mas não quer falar dele. Que tal abrir outro falando sobre o que você quiser?

No caso da criação de tecnologia o SERPRO apenas está fazendo a mesma besteiraque muitas empresas. Ao invés de utilizar o que já existe cria seu próprio. Ou você não conhece algumas dezenas de alternativas que provenham:

Para tentar fazer você entender melhor vamos pegar duas empresas: SpringSource e Consultoria ABC. Fazer o tipo de coisa acima é core business da Spring Source, está diretamente relacionada a como eles fazem dinheiro. A consultoria ABC faz software para o mercado financeiro. Criar um framework com as funcionalidades acima é jogar dinheiro fora.

Se existem aspectos que a empresa ABC sente falta nos frameworks existentes ela pode simplesmente alocar um grupo de pessoas para adaptar um framework existente para suas necessidades. Se houver algum sigilo comercial envolvido nestas mudanças ela os mantêm para si, se não ela manda os patches para a comunidade.

A menos que o framework traga algo de novo que dê uma vantagem competitiva (o que não é o caso. ao contrário do que você diz eu ao menos li a documentação -o fonte não está disponível até agora) se ABC lançar um framework como o do SERPRO temos apenas um clássico caso de síndrome de NIH, que cuta no bolso dos acionistas. No caso do SEPRO acho que todos sabemos que paga a conta.

Se eles realmente querem algo diferente poderiam pelo menos conversar com o pessoal do TRE de algum estado (RS?) que criou um framework que faz a mesma coisa (mais um exemplo de NIH) e tivemos uma longa thread aqui no GUJ sobre.

Novamente: não quer falar do framework? Saia do tópico do framework e abra um para seu tema.

Novamente: este é parte do papel de meios de comunicação em uma sociedade e o GUJ é m meio de comunicação.

Não entendi este trecho. Eu falei uma coisa você respondeu sobre outra completamente diferente.

De qualquer forma, qual é a outra forma sugerida?

[quote=TheMask]

A documentação -algo que custo algumas horas dos múltiplos funcionários, peo que parece- está disponível online.

Legal, seu exemplo é um caso de uso publicado pelo SERPRO mostrando coo a ferramenta criada no SERPRO teve sucesso. Qual o próximo passo, um paper da IBM dizendo como o WebSphere é fácil de usar e escalável ou um sobre como o Oracle IAS é estável vindo da própria Oracle?

Phillip, também não gosto de fashion week frameworks nem de imposição de frameworks padrão. Eu só acho que a sua revolta é desproporcional à quantidade de dinheiro público jogado fora com MUITAS outras coisas.

Mas um erro justifica o outro?

No mais, eu não tenho competência para julgar se uma decisão em, digamos, comércio exterior é boa ou ruim mas estamos falando de uma área que eu -nós- tenho conhecimento. E lembre-se que não é s’um framework criado por uma organização desta, aqui no GUJ já vimos pelo menos uns três casos de empresas púlicas ou departamentos criando seu pr’prio framework.

Pcalcado: Me permita dizer, sou um fã de carteirinha do seu Blog, adoro seus posts, são extremamente informativos e úteis, são adendos muito bons à comunidade!

Bem, por algum momento, achei que você estava exagerando, pois acompanho seus posts sobre “frameworks caseiras” falando que elas são “desperdício” e coisa e tal. Discordei de você até o último momento. Foi quando vi o código em questão. Colega, realmente, você NÃO estava exagerando. Se isso não mudar nas outras versões…

Amarrar um contexto de desenvolvimento à alguma coisa, seja ela integradora ou não, mesmo assim significa dependência direta: de pacotes, de chamadas de métodos, e de várias configurações e coisa e tal. Enfim.

A intrusão de código puro, seja ele proveniente de uma jcp (como JSF ou WebBeans) ou seja proveniente de tecnologias “padrão” do mercado (Seam, Guice, etc), dependendo de como ela é estruturada; houve, vai haver, ou (comumente) há problemas. Hoje, frameworks muito desenvolvidas, como o Seam, Spring, já provêem da melhor forma que a tecnologia pode oferecer tudo o que um cidadão como você e eu necessita para sobreviver BEM nesta selva de letrinhas. Falta, realmente, algumas coisas, como utilização de um sistema de segurança de uma maneira adequada (utilizando o que a empresa possui, como ldap), e algumas coisinhas.

Mas não creio que seja de uma forma intrusiva, colocando código dentro de Classes, heranças, etc. seja a melhor saída para resolver todos os problemas.

Talvez, repito: TALVEZ resolvendo o problema de intrusão, o código a ser utilizado no demoiselle fique solto. Não ficar preso a nada pode ser uma estratégia de solução em algumas pontas: como hoje o Spring resolve os problemas de má utilização de código, o demoiselle poderia preencher lacunas não existentes. Assim seria uma brecha para começar a fazer a diferença e aí fazer algo no sentido.

Mas… Sei lá. Mesmo assim é estranho. Será que o pessoal do serpro nunca ouviu falar em JPATemplate? Ou mesmo JdbcTemplate? No aspecto de persistência e web parece um chiuaua com 10 dias de parvovirose querendo morder um pitbull treinado… Porque fazer um JDBCGenericDAO do zero? Se for pra integrar mesmo… Esse JDBCGenericDAO poderia usar um template do Spring em conjunto com dbcp, como um outro colega falou no início. Eles vão girar a manivela umas 10.000x (com muito suor) até chegar à conclusão que a manivela do spring foi girada 10.000.000 de vezes, jogar essa parte fora e adotar o spring?

Talvez isso mereça uma reflexão…

Não entendi toda a discussao sobre o serpro, pra mim a discussão aqui tem que ser sobre o framework. E está claro que este framework é uma tremenda furada, intrusivo e redundante.

A velha idéia do governo de criar um framework para “padronizar” o desenvolvimento continua enchendo o bolso de um monte de gente.

"

Já que reviveram o tópico

[quote=fgsl]Em breve a documentação estará disponível, assim que a Coordenação de Software Livre do SERPRO liberar o conteúdo para publicação.

Quanto a oportunidade de negócio, é isso mesmo.

Como diria o andróide Data de Star Trek (ou o Guia do Mochileiro das Galáxias): “Resistir é inútil” [/quote]

Faltou o ESI aqui né campeão?

O mais engraçado é o número de randoms se cadastrando pra defender o framework ehuiaoheuaiae

esqueçam SAP, Oracle, SOA etc. O negócio do momento é o framework petista

Pois então. Foi isso que achei esquisito. Primeiro: dá pra ter produtividade fazendo algumas assetivas no projeto e não prendendo o desenvolvedor a um framework. De qualquer forma não sou contra quem faz isso, digo que pode funcionar, mas do jeito que o demoiselle foi projetado ele É intrusivo e, como citado anteriormente, apesar de não ter que aprender muuuitos tópicos para aprendê-lo, talvez ele precise um pouco mais de amadurecimento quanto aos objetivos e áreas de novos frameworks; já extensamente citados neste e em outros tópicos. Acredito que um novo framework tem que nascer sim. Mas não de qualquer forma, pois do jeito que o demoiselle é, já existem mais 10 idênticos, com documentação extensa, exaustivamente testados e com casos de sucesso no mundo todo.

Não sou contra novos frameworks, mas ele tem que ter um “tchans” a mais que os outros… Do jeito que o demoiselle está, o spring dá de 1000. Se fossem fazer um framework de integração: utilizem o spring, ou qq outro que corresponda. Não dá pra construir um carro fazendo as rodas, as portas, o câmbio… Temos que terceirizar. No modelo de negócio atual essa atitude é muito cara pro desenvolvimento do projeto. Tudo bem que é só um desenvolvimento que vai ser reutilizado n vezes, mas voltamos ao círculo vicioso: por que não pegar um pronto, fazer uma frame de integração e institucionalizar uma (várias) arquiteturas neste ambiente? Hum? Hum? Não seria melhor, mais fácil, mais rápido, mais barato…

"

Pô cara, mas, sinto muito, o contexto de transaction dele é fraco (faz um connection manager na mão), utiliza jdbc purão de uma forma que 1000 outros já fizeram. Como te falei: a idéia é boa, não sou contra ela. Mas já olhei o código. Nada foi feito nele além do que outros já fizeram, comprovadamente, melhor. Isso é um desperdício de tempo. Críticas construtivas da comunidade são boas pra mudar o rumo do projeto. Quando todos falam a mesma coisa, é bom pensar que estamos fazendo algo de errado…