| Autor |
Mensagem |
|
|
(com alterações)
pcalcado,
Todos os componentes do Atena são POJOs, desde actions, classes de visão, EJBs, etc.
Para a criação de testes unitários com a aplicação em execução dentro de um container web, nenhum código adicional é requerido: basta o JUnit.
No entanto, para simular a execução da aplicação em um container, sem utilizar um, uma certa infraestrutura é necessária.
Não sei se deu para entender. Parte dos testes são realizados com o JUnit, outra parte com a estrutura criada.
|
 |
|
|
pcalcado wrote:E qual o problema do JUnit? O framework não se baseia em POJOs?
Sim, mas para simular a execução dos aplicativos fora de um container web é preciso de classes auxiliares. Por isso, usamos classes de TestCases e Mocks.
|
 |
|
|
(com alterações)
pcalcado wrote:
jonatas@pgr.mpf.gov.br wrote:
O atena está pronto. Os testes unitários é que estão em homologação.
Os testes estão sendo homologados?
Vamos lá: Foi criado recentemente um projeto para facilitar a criação de testes de sistemas desenvolvidos com o Atena, e incentivar o TDD. Algo como classes helpers, que podem ou não ser estendidas para isso. Isso para permitir testes de execução dos aplicativos fora de um container web. Essa estrutura é que está em homologação. Em breve, estará disponível.
|
 |
|
|
(com alterações)
nbluis wrote:
jonatas@pgr.mpf.gov.br wrote:O objetivo é TDD! Como disse, o projeto está em fase de homologação.
[]s
Godoi
TDD, mas o framework não está pronto ??
O Atena está pronto! O projeto para facilitar os testes unitários dos aplicativos desenvolvidos com o Atena é que está em fase de homologação.
[]s
Godoi
|
 |
|
|
(com alterações) O objetivo é TDD em todos os projetos a desenvolver! O Atena, infelizmente, não foi desenvolvido com essa prática.
[]s
Godoi
|
 |
|
|
Duran, obrigado pelas considerações.
ddduran wrote:Você vão disponibilizar e ampliar a documentação?
Sim, a idéia é evoluir sempre a documentação. Estamos inclusive desenvolvendo um livro sobre o Atena.
ddduran wrote:quantas pessoas estão atualmente envolvidas no projeto?
Hoje a equipe de arquitetura da Procuradoria Geral da República possui 6 pessoas. Mas entre contribuidores e desenvolvedores são muito mais.
ddduran wrote:só você do MPF é membro do GUJ? (para ajuda com duvidas  )
Atualmente, acho que sim! Mas estamos criando um email (não sei se já ficou pronto!) que divulgaremos para facilitar a comunicação com a equipe.
[]s
Godoi
|
 |
|
|
fre_d wrote:
Baixei o arquivo atena4.zip duas vezes. Parece que está corrompido pois não consigo extrair os arquivos e ele só tem 2MB.
Vamos verificar e se for o caso copiá-lo novamente. Valeu pela dica!
[]s
Godoi
|
 |
|
|
(com alterações)
cv wrote:Pra quem ja teve um tempinho pra olhar o codigo, como estao os testes unitarios/funcionais?
Temos um projeto em fase de homologação para os facilitar a criação de testes unitários para as aplicações desenvolvidas com o Atena. Em breve será disponibilizado.
[]s
Godoi
|
 |
|
|
O CVS em breve estará disponibilizado. Note no SourceForge os projetos com extensão ZIP: eles contém os fontes já com as dependëncias (libs).
Estamos estudando a utilização do Maven para controlar as bibliotecas.
Vamos olhar o JDepend! Obrigado pela dica!
[]s
Godoi
|
 |
|
|
Frederico, vamos lá:
fre_d wrote:
1 - Qual o objetivo de criar componentes dinamicamente (Pagina, TabelaPaginada, etc) se poderiam ter sido utilizadas tags dos Struts ou componentes do JSF ?
O Atena possui uma camada de visão baseada no Velocity de tal forma que o desenvolvedor não precisa programar em HTML ou JavaScript. Assim, os códigos do Atena são puramente Java! Isso é interessante para evitar que se tenha que dominar diversas tecnologias, para uma maior padronização dos sistemas, para garantir a acessibilidade dos mesmos, para compatibilização dos códigos entre navegadores, etc.
Mas, existe uma razão maior: como você utiliza conceitos de orientação a objeto em páginas JSP ? Alguma vez você já estendeu uma página JSP ? Pois é, com o Atena, esses conceitos ganham sentido! É possível estender interfaces visuais, criar componentes de diversas granularidades, e se utilizar de abstrações como, por exemplo, de "Casos de Uso" (um componente que encapsula um conjunto de páginas e seus fluxos).
Por fim, a criação de novos componentes é muito simplificada, sem a necessidade de criação de tags nem descritores.
fre_d wrote:
2 - O Atena já esta sendo utilizado pelo MPF ?
Sim, já o utilizamos em diversos projetos. Com a versão atual, dois projetos estão em processo de homologação e um em fase de desenvolvimento
fre_d wrote:
3 - Qual a vantagem de se utilizar Ajax sem API's externas ? API'S internas podem evoluir menos que as externas !!!
A vantagem é que se pode tratar chamadas síncronas e assíncronas exatamente da mesma maneira! Além disso, a complexidade do Ajax é encapsulada pelos componentes visuais do Atena.
Com relação a evolução, a questão para nós não é a quantidade de recursos dessas API´s externas, mas como elas fazem o trabalho básico que precisamos. Além do mais, se uma determinada API for considerada essencial ao nosso processo de desenvolvimento, integramos ela!
[]s
Godoi
|
 |
|
|
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
|
 |
|
|
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
|
 |
|
|
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
|
 |
|
|
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
|
 |
|
|
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.
|
 |
|
|