Hospedagem Profissional

Hospedagem Profissional
Clique aqui e ganhe US$ 10,00 para testar durante 1 mês a melhor hospedagem: Digital Ocean!

quarta-feira, 22 de outubro de 2008

Você já ouviu falar do Framework Mentawai ?

O Mentawai é um projeto brasileiro, usando a tecnologia Java, visando unificar as funcionalidades básicas necessárias para o desenvolvimento de uma aplicação (login, controle de acesso, upload, email, pool de conexões, etc), e a abolição do uso de XML.

O site oficial do projeto é extremamente completo, com muito material didático sobre suas funcionalidades e com um fórum onde os participantes são extremamente ativos e prestativos.

Abaixo texto retirado do site oficial do projeto : http://www.mentaframework.org

O Mentawai foi o primeiro framework web MVC em Java a adotar, implementar, documentar eincentivar todo e qualquer tipo de configuração (actions, filtros, validação, listas, connection pooling, ioc, di, etc.) única e exclusivamente através de configuração programática (100% Java),abolindo por completo o uso de XML e Annotations para as configurações. 

O framework nasceu em 08/Jun/2005 e logo depois em 18/Jul/2005 publicamos um artigo no site JavaWorld enfatizando o uso de configuração programática para o controlador MVC (actions/resultados/conseqüências) assim como para validação. Nascia aí o ApplicationManager: configuração em código Java independente do restante da sua aplicação e centralizada numa única classe. Apesar de termos recebidos muitas críticas pela aversão ao XML, as vantagens da configuração programática foram ficando cada vez mais claras para a equipe do Mentawai:

  • Mais prazerosa e natural, afinal estamos falando de código Java e não de uma especificação em XML.

  • Menos propensa a erros e typos, já que uma configuração em Java pode ser compilada antes de ser carregada pela aplicação web.

  • Ótima integração com IDEs, permitindo usar recursos como auto-complete, auto-compile(build automático), refactoring, etc.

  • Flexibilidade total que apenas uma linguagem de programação pode oferecer, o que te permite criar seus próprios métodos de configuração, loops, ifs, comentários, ou seja, você possui aliberdade para fazer a configuração se adaptar a você e não você se adaptar ao XML.

  • Utilizar linguagens de script como JRuby, Groovy, BeanShell, etc. para configurar sua aplicação, possibilitando uma configuração dinâmica que pode ser recarregada automaticamente pelo container a cada modificação.

  • O bom e velho JavaDoc, documentando todos os métodos que podem ser utilizados para configuração.

Isso não significa que o Mentawai não possui Convention over Configuration (CoC). O Mentawai possui CoC e padrões para tudo, diminuindo bastante a necessidade de configuração. Entretanto, seja por uma questão de preferência por explicitamente controlar as configurações ou seja por uma questão denecessidade, o que inevitavelmente acontece em qualquer projeto, quando houver configurações essas serão feitas através de configuração programática e não através de XML, Annotations ou arquivos properties.

Outro pilar em que o Mentawai se apoiou desde o início foi o comprometimento em abstrair e simplificar as principais tarefas recorrentes de todo projeto web. Ao invés de direcionar o usuário para qualquer outro framework que já faz isso, o Mentawai oferece soluções ou abstrações para as funcionalidades básicas de toda aplicação web: 

- pool de conexões com o banco de dados, 
autenticação, 
autorização, 
IoC (Inversão de Controle), 
DI (Injeção de Dependência), 
Envio de Email, 
Upload de Arquivo, 
Paginação, 
Tags, etc. 

O Mentawai é totalmente contra a política do "Já existe um framework pra isso! Procure na Internet e se vire!".

Hoje o Mentawai é utilizado por diversas empresas e pessoas no Brasil e no exterior, possui umacomunidade ativa que já trocou perto de 10 mil mensagens no seu fórum de discussão, e continua evoluindo, sempre fiel aos princípios da produtividade, simplicidade, abstração e configuração programática. 

Fique a vontade para conhecer o framework e veja como é fácil fazer a sua aplicação web utilizando o Mentawai.

Arquitetura

Mentawai usa o paradigma das Actions (org.mentawai.core.Action). As principais características de uma action do Mentawai são:

  • Uma action possui um input (org.mentawai.core.Input) por onde ela recebe os dados de uma requisição web e um output (org.mentawai.core.Output) por onde os resultados da execução de uma action podem ser acessados.

  • Uma action gera um resultado (java.lang.String) depois de executada. O resultado é normalmentesuccess ou error, mas você pode criar outros.

  • Para cada resultado existe uma consequência (org.mentawai.core.Consequence). As consequências para uma aplicação web normalmente são forward ou redirect, mas você pode criar outras.

  • Uma action tem acesso a contextos (org.mentawai.core.Context). Os contextos de uma aplicação web normalmente são SessionContext ou ApplicationContext, mas você pode criar outros.

A maioria das funcionalidades do framework é implementada através de Filtros(org.mentawai.core.Filter). Um filtro intercepta uma action e pode modificar seu input e output, antes e depois da execução da action. Utilizando filtros, você deixará suas actions o mais simples e desacopladas possíveis, resultando em código que é mais simples de manter e testar.

Mais informações :

http://www.mentaframework.org/
http://forum.mentaframework.org/forums/list.page