Atena Framework: Nova plataforma de desenvolvimento de sistemas do Ministério Público Federal  XML
Índice dos Fóruns » Notícias
Autor Mensagem
jonatas@pgr.mpf.gov.br
Thread.start()

Membro desde: 12/10/2007 13:05:11
Mensagens: 30
Offline

Atena é um framework para o desenvolvimento de sistemas web que integra produtos 'opensource' como Struts 2, Velocity, Ajax e Hibernate, facilitando seu uso e ampliando suas potencialidades. Entre seus recursos encontram-se:

* Prototipação em Java com reutilização de código
* Desenvolvimento por Página ou por "Caso de Uso"
* Ajax integrado (sem APIs externas)
* Repositórios de comandos EJB QL
* EJB QL Estendida
* E muito mais...

As distribuições do Atena estão disponíveis para download 'free' sob a licença Apache 2.0. Maiores informações podem ser obtidas pelo site http://atena.mpf.gov.br e http://sourceforge.net/projects/atena-framework

Obs: fiz algumas alterações nos posts para melhorar a compreensão de todos.

This message was edited 1 time. Last update was at 17/10/2007 07:30:58

Luca
Moderador
[Avatar]

Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline

Olá

É interessante desde que ninguém por aí tenha a "brilhante" (*) idéia de engessar isto como aquela velha e tola ideía de "framework de referência" (**) como muitas consultorias de 3 letrinhas tentam fazer por aí.

Espero sinceramente que isto NÃO seja um "framework de referência" para ser usado em todos os projetos..

(*) é ironia mesmo

(**) eu concordo plenamente com o que foi dito na palestra do Paulo Silveira e Phillip Calçado no último JustJava sobre como é horrível a ideía de "framework de referência" (slide 50 do Bozo com a bomba na mão). No caso de empresas de Governo isto chega a ser até perigoso.

[]s
Luca

This message was edited 1 time. Last update was at 12/10/2007 16:17:45


Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."


CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/
[Email] [WWW]
leomc
JavaGuru
[Avatar]

Membro desde: 16/02/2004 21:39:45
Mensagens: 216
Localização: Brasília - DF
Offline

Luca wrote: como é horrível a ideía de "framework de referência" . No caso de empresas de Governo isto chega a ser até perigoso.



Você não faz idéia o quanto isso está se tornando rotina.
Só o que tem hoje são esses frameworks de referência e pra você conseguir montar a arquitetura que atende sua solução sem usá-los é sempre um parto. Eles são tidos como algo sagrado. E são empurrados como A SOLUÇÃO.

Pior que em geral eles se baseiam em struts, ejb, tiles, muito xml, às vezes uma pitada de VOBO...


[]'s Léo

Melhores Destinos - passagens aereas profissionais
http://www.leonardomarques.net
[WWW]
balancin
Thread.start()
[Avatar]

Membro desde: 06/05/2006 20:37:25
Mensagens: 36
Offline

Eu não participei da justjava... mas fiquei curioso, entendi mais ou menos mas vou fazer a pergunta completa: O que são frameworks de referência e porque são ruins?

Valeu!
[MSN]
Luca
Moderador
[Avatar]

Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline

Olá

balancin wrote:O que são frameworks de referência e porque são ruins?


1) Frameworks de referência são aqueles pacotes de tecnologias que mal ou bem deram certo em um projeto com determinadas características que o gerente quer seja adotado como padrão para todos os futuros projetos.

O gerente neste caso pensa igualzinho àquele prefeito de uma cidade da Virgínia/USA, que em 1800 e pouco, mandou fechar o departamento de patentes porque julgava que tudo que era necessário já tinha sido inventado.

2) É ruim por 2 motivos:

a) Não existem 2 projetos iguais com as mesmas características, mesmo considerando os mesmos ramos de negócios. Exemplo: um sistema de controle de estoque e faturamento tem características diferentes de um sistema de CRM que acompanhará as vendas e o faturamento.

b) Mesmo que existissem 2 projetos iguais, o que há de novidade no mundo pode significar grandes melhorias no modo como uma mesma coisa foi feita no passado. É tolice engessar o modo de fazer as coisas.


O engessamento é ruim porque até mesmo uma nova versão do que já era usado às vezes é proíbida para não quebrar o tal framework de referência. Comparem as versões do Spring ou do Hibernate e vejam quantas novidades mudaram o jeito de fazer antigo.

Sempre que conhecerem uma empresa que adota o tal "framework de referência", lembrem-se do prefeito da cidadezinha da Virgínia.

Acho que não deve ser o caso de quem postou a mensagem inicial mas no caso de empresas de Governo, adotar um "framework de referência" é perigoso porque pode atrelar futuras compras a um determinado grupo capaz de fornecer coisas com determinado perfil.

[]s
Luca


Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."


CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/
[Email] [WWW]
balancin
Thread.start()
[Avatar]

Membro desde: 06/05/2006 20:37:25
Mensagens: 36
Offline

Oi Luca, valeu!

Agora uma dúvida, um framework o qual você está em todo projeto tendo a possibilidade de melhora-lo, mudar uma coisa ou outra, mas que vc usou ele apenas da idéia da concepção para não refazer a roda por exemplo na hora de abrir conexões, formulários, etc. vc usou ele como uma referência e mudou para aplicar a sua necessidade, é considerado um framework de referência ou apenas um que vc usou na concepção para não reinventar rodas?

Abs!
[MSN]
Luca
Moderador
[Avatar]

Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline

Olá

O erro não é definir um grupo de tecnologias para desenvolver um determinado projeto. Isto todo mundo deve fazer. O errado é fixar este grupo de tecnologias como algo que sirva para tudo no futuro.

[]s
Luca

Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."


CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/
[Email] [WWW]
jonatas@pgr.mpf.gov.br
Thread.start()

Membro desde: 12/10/2007 13:05:11
Mensagens: 30
Offline

Minhas considerações sobre o tema (com alterações):

O Atena Framework foi resultado do processo natural de desenvolvimento de sistemas do Ministério Público Federal, e de preocupações com reúso. Ele foi gerado para facilitar a criação de sistemas com as tecnologias utilizadas pelo MPF, incorporando funcionalidades que resolvem questões recorrentes em nosso processo de desenvolvimento (como disse o balancin, para não reinventar a roda).

Considero que ter um framework de referência (ou frameworks) é positivo em vários sentidos:

a) O framework oferece uma solução já amplamente testada
b) Os sistemas desenvolvidos terão códigos parecidos
c) Manutenção e documentação facilitada
d) Melhor aproveitamento de recursos para capacitação e treinamentos
e) Maior produtividade da equipe
f) Menor cursto de produção
e muitos outros...

No entanto, compreendo a preocupação do Luca de não engessar o processo de desenvolvimento nem a criatividade dos programadores. A intenção não é essa! Se o Atena não atender aos requisitos dos usuários, outra solução deverá ser pesquisada. Mas se atender, é melhor que seja desenvolvido com ele!

Além do mais, o Atena é um framework em constante evolução (já são 4 versões em 3 anos). Os feedbacks dos desenvolvedores são insumos para as novas versões. Assim, não existem amarras contra mudanças. Só nos preocupamos com mudanças muito radicais em curtos espaços de tempo.

E mais uma vez: O Atena não impõe qualquer limite às tecnologias adotadas, Struts 2, Velocity, EJB 3 e JPA. Ele apenas expande suas possibilidades!

[]s
Godoi

This message was edited 1 time. Last update was at 17/10/2007 07:13:31

bzanchet
Java Ninja

Membro desde: 18/05/2006 20:04:34
Mensagens: 256
Offline

jonatas wrote:O Atena Framework foi concebido para servir de padrão de tecnologia para os sistemas corporativos do Ministério Público Federal

Poutz, só essa pretensão já deveria ser motivo suficiente pra abortar o projeto.

Veja, eu não costumo ter posturas muito radicais, mas quando se trata de fixar padrões a coisa é um pouco diferente. Eu acho que vocês simplesmente ignoraram a existência de qualquer desvantagem. E veja os pontos positivos: "maior", "melhor", "facilitada". Deixe-me por isto em termos que qualquer leigo entenderia: chute.

Ao meu ver, o que está acontecendo é a clássica situação em que se tem um problema, gerado pelas pessoas: código pouco organizado, mal documentado, repetitivo. E se tenta usar um software (no caso, o framework) como solução. O resultado dessa mistura é bastante óbvio: dois problemas.

Se o código já é mal documentado, difícil de manter, se a produtividade é baixa ou os sistemas são pouco testados, a adição de mais um framework não vai ajudar, ainda mais um desenvolvido internamente. Simples assim.

Vale a pena a leitura (onde o Joel escreve "methodology", podem ler "framework desenvolvido internamente" que o efeito é o mesmo).
joelonsofware wrote:...so Youthful Programmer starts creating rules and procedures that are meant to make more consistent results. Over the years, the rule book grows and grows. Soon it's a six-volume manual called The Methodology.

After a few dozen years, Youthful Programmer is now a Huge Incompetent IT Consultant with a capital-M-methodology and a lot of people who blindly obey the Methodology, even when it doesn't seem to be working, because they have no bloody idea whatsoever what else to do, and they're not really talented programmers -- they're just well-meaning Poli Sci majors who attended the six-week course.

http://www.joelonsoftware.com/articles/fog0000000024.html


[]s
-bruno

http://conceitua-se.blogspot.com/
[WWW] [MSN]
fre_d
Java Ninja

Membro desde: 13/06/2007 17:42:02
Mensagens: 259
Localização: Lages - SC
Offline


Jonatas

Em breve farei parte do quadro de servidores do MPU (Técnico em Informática - SC). Tenho algumas dúvidas quanto ao Atena.

1 - Qual o objetivo de criar componentes dinamicamente (Pagina, TabelaPaginada, etc) se poderiam ter sido utilizadas tags dos Struts ou componentes do JSF ?
2 - O Atena já esta sendo utilizado pelo MPF ?
3 - Qual a vantagem de se utilizar Ajax sem API's externas ? API'S internas podem evoluir menos que as externas !!!

Abraço,

Frederico
fpavao
JavaTeenager
[Avatar]

Membro desde: 11/05/2007 16:43:51
Mensagens: 155
Localização: São Paulo - SP
Offline

Jonatas,

O Framework será aberto para contribuições da comunidade ?

Fernando Pavão
IBM Certified SOA Associate
IBM Certified Solution Designer - IBM Rational Unified Process V7.0
Sun Certified Java Programmer - SCJP 5
Sun Certified Business Component Developer - SCBCD 5
Sun Certified Enterprise Architect (I) - SCEA 5 (Part 1)
SAP Certified Development Consultant - SAP NetWeaver
Microsoft Certified Professional - MCP
https://www.ibm.com/developerworks/mydeveloperworks/blogs/fpavao/?lang=en
jonatas@pgr.mpf.gov.br
Thread.start()

Membro desde: 12/10/2007 13:05:11
Mensagens: 30
Offline

Primeiro o mais fácil: O Atena está disponível no sourceforge e encontra-se aberto à contribuições. Aliás, por favor, contribuam!

Consulte http://atena.mpf.gov.br e http://sourceforge.net/projects/atena-framework
fre_d
Java Ninja

Membro desde: 13/06/2007 17:42:02
Mensagens: 259
Localização: Lages - SC
Offline

Jonatas,

Os projetos Atena MPF e Atena SourceForge serão integrados ou serão desenvolvidos paralelamente ?

Atualmente as tarefas estão no Jira do MPF elas serão migradas para o SF ?

Os fontes estão disponíveis através de cvs ou svn ?

[]'s

Fred

This message was edited 1 time. Last update was at 15/10/2007 17:15:12

jonatas@pgr.mpf.gov.br
Thread.start()

Membro desde: 12/10/2007 13:05:11
Mensagens: 30
Offline

Fre_d,

O projeto de ambos os sites é o mesmo. No site Atena MPF encontra-se a documentação e o controle de mudanças. No site Atena SourceForge, as distribuições.

Estamos preparando o ambiente para disponibilizar o CVS. Ele será hospedado no site Atena MPF por questões de velocidade de acesso e conveniência para o MPF.

Até lá, pode-se obter os fontes compactados no SourceForge.

[]s
Godoi

This message was edited 1 time. Last update was at 15/10/2007 20:03:25

jonatas@pgr.mpf.gov.br
Thread.start()

Membro desde: 12/10/2007 13:05:11
Mensagens: 30
Offline

Caro bzanchet,

Veja bem: ter um framework de referência e estar limitado a ele são coisas bem diferentes!

Antes de mais nada, é preciso entender que o Atena foi concebido para resolver o problema do desenvolvimento de sistemas corporativos do Ministério Público Federal, ou seja, para uma situação bem específica. O projeto foi publicado porque acreditamos que os nossos problemas possam ser semelhantes aos de outras empresas e órgãos.

Mas isso não quer dizer que ele resolva a todos os problemas nem que seja aplicável a todas as empresas. Por exemplo, uma "software house" provavelmente teria que utilizar as mais recentes tecnologias do mercado ou aquelas solicitadas por clientes. Esse não é o caso do MPF!

No MPF, os sistemas corporativos possuem quase todos os mesmos requisitos não funcionais (podendo variar em escalabilidade). O desenvolvimento de sistemas não é a atividade-fim do órgão para justificar um alto investimento em produção. O corpo técnico não é grande o suficiente para manter equipes especialistas em nichos de tecnologia. Um desenvolvedor deve ser capaz de manter códigos criados por outros. Cada vez que se adota uma nova tecnologia, deve haver um processo nacional de capacitação das áreas de informática de todo o país. Etc.

Nossa meta nunca foi criar os mais modernos e tecnológicos sistemas de informação, mas criar sistemas eficientes de maneira produtiva. Por isso, o Atena é importante: ele aumenta a produtividade da equipe, reduz custos de capacitação, integra as equipes de informática, promove manutenibilidade, padroniza o código, etc.

Volto a dizer: isso não quer dizer que ele tenha que ser utilizado sempre! Depende do caso!

Longe de mim tentar te convencer, mas melhor que falar de teoria é falar de prática: nós já passamos por modelos de desenvolvimento "fuzzy", onde cada sistema tem a cara (e as tecnologias) de quem o desenvolveu, sem documentação ou padronização, e sem que ninguém consiga dar suporte. Hoje, temos processos, tecnologias e ferramentas padronizadas, e posso garantir que estamos bem melhor!

Como diz o ditado: "a melhor solução é aquela que resolve"!

[]s
Godoi
 
Índice dos Fóruns » Notícias
Ir para:   
Powered by JForum 2.1.8 © JForum Team