Lançado MyContainer - Agilidade e produtividade no desenvolvimento JavaEE  XML
Índice dos Fóruns » Notícias
Autor Mensagem
Ferryman
JavaGuru
[Avatar]

Membro desde: 26/10/2006 16:30:23
Mensagens: 220
Offline

O MyContainer nasceu com o objetivo de tornar o desenvolvimento JEE mais simples e mais produtivo. Com ele, seu projeto tem condições de possuir testes unitários para toda a camada de negócio, incluindo controle transacional, persistência, envio de email, etc.

Este container foi implementado baseado na especificação JEE5, provendo implementações leves para a camada de persistência (JPA), controle transacional (JTA) e para Session Beans (EJB3), por isso é extremamente rápido, não impactando no processo de build do projeto.

Pode ser utilizado de forma Embeddable ou Standalone e possui plugin para execução integrada com o Maven2 e repositório remoto para fácil utilização de nossas bibliotecas.
Integrado com Jetty para subir aplicações rapidamente, aumentando a produtividade no ambiente de desenvolvimento.

Veja mais vantagens e como usar em http://code.google.com/p/mycontainer

Vale a pena conferir!

This message was edited 2 times. Last update was at 28/08/2008 01:36:27


Rafael Farias Silva (@rafaferry)

Jsigner - Engenharia reversa automática através do maven. Acesse http://code.google.com/p/jsigner
[Email] [WWW]
palmadias
JavaTeenager

Membro desde: 08/07/2008 07:41:08
Mensagens: 192
Localização: São Paulo/SP
Offline

legal... mas nao tem uma linha de documentação.

http://palmadias.blogspot.com/
[WWW] [MSN]
Ferryman
JavaGuru
[Avatar]

Membro desde: 26/10/2006 16:30:23
Mensagens: 220
Offline


O que vc quer dizer com linha de documentação? Javadoc? A documentação de como usá-lo para testes com junit e no jetty está aqui:
http://code.google.com/p/mycontainer/w/list

[]s

Rafael Farias Silva (@rafaferry)

Jsigner - Engenharia reversa automática através do maven. Acesse http://code.google.com/p/jsigner
[Email] [WWW]
chun
GUJ Master
[Avatar]
Membro desde: 08/11/2004 15:43:41
Mensagens: 1699
Localização: Curitiba/PR
Offline

ráááá , pegadinha do malandro !

Ps: Este post é uma opinião pessoal e NÃO DEVE SER ENCARADO COMO VERDADE ABSOLUTA... então... caso você não concorde... não precisa cortar os pulsos...

------
Controverso Eu ? http://www.go-java.com/blog
[WWW] [ICQ]
victorwss
JWizard
[Avatar]

Membro desde: 18/12/2007 14:46:00
Mensagens: 2409
Localização: São Paulo - SP
Offline

chun wrote:ráááá , pegadinha do malandro !


????

Cara, "pegadinha do malandro" porque? Não vi nada de errado com ele.

Victor Williams Stafusa da Silva

Bacharel em Ciência da Computação - UFMT // Especialista em Desenvolvimento Java - CEFET/MT // Doutorando em Ciência da Computação - IME-USP
SCJP 6.0 - 19/12/2007 - PASS - 88% // SCWCD 5 - 17/05/2008 - PASS - 79% // SCJA - 09/09/2008 - PASS - 96% // SCSNI - 30/06/2009 - PASS - 68% // SCBCD 5 - 31/05/2010 - PASS - 95%
Próximos: SCJD (encalhado com o projeto), SCEA parte I (estudando). Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.

Computação: uma ciência holística e esotérica!
E então veio Deus a terra e disse aos homens: Não dividireis por zero.
XML is a giant step in no direction at all. (Erik Naggum)
Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
Diga não as drogas: Não use java.util.Vector.
Cuidado: Este usuário pode ter temperamento agressivo.

Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
I am the maniac serial killer that knows where you live who will maintain your code.


É impossível falar de CMMI (Capability Maturity Model Integration) sem saber o que é CIMM (Capability Im-Maturity Model).


Se você escreve "concerteza", "concerteza" você andou matando aulas de português.
[MSN]
chun
GUJ Master
[Avatar]
Membro desde: 08/11/2004 15:43:41
Mensagens: 1699
Localização: Curitiba/PR
Offline

Pegadinha no sentido da documentação
Realmente o site está bem confuso... mas achei ela...

Ps: Este post é uma opinião pessoal e NÃO DEVE SER ENCARADO COMO VERDADE ABSOLUTA... então... caso você não concorde... não precisa cortar os pulsos...

------
Controverso Eu ? http://www.go-java.com/blog
[WWW] [ICQ]
thiagoabb
What is classpath?

Membro desde: 07/01/2005 19:38:18
Mensagens: 5
Offline

Fala moçada!

Sou um dos owners do projeto e estamos abertos para críticas, sugestões, esclarecimentos de dúvidas, etc.

O projeto está caminhando bem, com bastante funcionalidades, e já está sendo utilizado em alguns projetos corporativos. De acordo com os usuários, tem dado um resultado bastante satisfatório em relação ao aumento da produtividade da equipe de desenvolvimento.

Conto com a colaboração de vocês!
saoj
JWizard
[Avatar]

Membro desde: 09/03/2004 23:34:46
Mensagens: 2657
Localização: Chicago, EUA
Offline

Vc poderia resumir objetivamente a que ele se propõe, isto é, qual problema ele resolve ou facilita?

"Mycontainer is a Java EE embeddable light weight implementation without some common features like pools, clusters and others."

Talvez por falta de conhecimento meu essa frase e nada pra mim deu no mesmo.

This message was edited 1 time. Last update was at 28/08/2008 10:33:32


Sergio A Oliveira Jr. - saoj

ExperiMENTA:

Mentawai = http://www.mentaframework.org - Full-stack Java Web Framework com Configuracão Programática
MentaQueue = http://mentaqueue.soliveirajr.com - Queue de alta-performance.
MentaLog = http://mentalog.soliveirajr.com - Non-intrusive, fast, garbage-less, colored and straightforward logging
MentaBean = http://mentabean.soliveirajr.com - Tiny ORM with SQL Builder
MentaRegex = http://mentaregex.soliveirajr.com - Perl-style regex for Java.
MentaContainer = http://mentacontainer.soliveirajr.com - Straightforward IoC, DI e Auto-Wiring
Space4J = http://www.space4j.org - Banco-de-dados de Objetos em Memória
Options-Lib = https://github.com/saoj/options-lib - Ruby classes para ter acesso as opcoes do Yahoo Finance
Selleto = http://www.selleto.com.br
Flipinion = http://www.flipinion.com
Kawai = http://www.kawaiwiki.org


[Email] [WWW]
chun
GUJ Master
[Avatar]
Membro desde: 08/11/2004 15:43:41
Mensagens: 1699
Localização: Curitiba/PR
Offline

A unica coisa que achei uma verdadeira "pena" eh ele não implementar pools... mas nem pool jdbc ?

Ps: Este post é uma opinião pessoal e NÃO DEVE SER ENCARADO COMO VERDADE ABSOLUTA... então... caso você não concorde... não precisa cortar os pulsos...

------
Controverso Eu ? http://www.go-java.com/blog
[WWW] [ICQ]
palmadias
JavaTeenager

Membro desde: 08/07/2008 07:41:08
Mensagens: 192
Localização: São Paulo/SP
Offline

seria legal ter um quick start... um exemplo pratico...

abraços.

http://palmadias.blogspot.com/
[WWW] [MSN]
hwarang
Smalltalk

Membro desde: 28/08/2008 13:09:51
Mensagens: 2
Offline

Creio que para os objetivos que o MyContainer se propõe, não seria necessário a implementação de pool. Mesmo porque isso aumentaria seu overhead, tirando sua agilidade.
O MyContainer não tem a pretensão de substituir servidores parrudos, como o JBoss. A idéia é simplesmente dar agilidade ao desenvolvimento, portanto, quanto menos overhead melhor.

Quanto a ter exemplos práticos, no wiki do projeto tem referências para as classes, poms e configurações. Acho que está bem prático, sem enrolação e direto ao que interessa.
saoj
JWizard
[Avatar]

Membro desde: 09/03/2004 23:34:46
Mensagens: 2657
Localização: Chicago, EUA
Offline

hwarang wrote:Creio que para os objetivos que o MyContainer se propõe, não seria necessário a implementação de pool. Mesmo porque isso aumentaria seu overhead, tirando sua agilidade.
O MyContainer não tem a pretensão de substituir servidores parrudos, como o JBoss. A idéia é simplesmente dar agilidade ao desenvolvimento, portanto, quanto menos overhead melhor.

Quanto a ter exemplos práticos, no wiki do projeto tem referências para as classes, poms e configurações. Acho que está bem prático, sem enrolação e direto ao que interessa.


O que é um Java EE implementation? Um servlet container? Um EJB container? O que eu posso fazer e para resolver quais problemas?

This message was edited 1 time. Last update was at 28/08/2008 13:29:04


Sergio A Oliveira Jr. - saoj

ExperiMENTA:

Mentawai = http://www.mentaframework.org - Full-stack Java Web Framework com Configuracão Programática
MentaQueue = http://mentaqueue.soliveirajr.com - Queue de alta-performance.
MentaLog = http://mentalog.soliveirajr.com - Non-intrusive, fast, garbage-less, colored and straightforward logging
MentaBean = http://mentabean.soliveirajr.com - Tiny ORM with SQL Builder
MentaRegex = http://mentaregex.soliveirajr.com - Perl-style regex for Java.
MentaContainer = http://mentacontainer.soliveirajr.com - Straightforward IoC, DI e Auto-Wiring
Space4J = http://www.space4j.org - Banco-de-dados de Objetos em Memória
Options-Lib = https://github.com/saoj/options-lib - Ruby classes para ter acesso as opcoes do Yahoo Finance
Selleto = http://www.selleto.com.br
Flipinion = http://www.flipinion.com
Kawai = http://www.kawaiwiki.org


[Email] [WWW]
chun
GUJ Master
[Avatar]
Membro desde: 08/11/2004 15:43:41
Mensagens: 1699
Localização: Curitiba/PR
Offline

mas poxa... pool de conexao é basico em qualquer app


Ps: Este post é uma opinião pessoal e NÃO DEVE SER ENCARADO COMO VERDADE ABSOLUTA... então... caso você não concorde... não precisa cortar os pulsos...

------
Controverso Eu ? http://www.go-java.com/blog
[WWW] [ICQ]
thiagoabb
What is classpath?

Membro desde: 07/01/2005 19:38:18
Mensagens: 5
Offline

saoj,

O JBoss, por exemplo, é um container JavaEE. Possui Servlet Container, EJB Container, etc.

O MyContainer provê recursos similares aos que o JBoss, por exemplo, oferece. Mas de forma mais leve, sem a robustez que o JBoss possui, pois, o foco do MyContainer é para ser utilizado em ambiente de desenvolvimento e não de produção.

O MyContainer não se propõe em momento algum ser um servidor de aplicações do porte do JBoss, Glassfish, etc.

Tentando exemplificar com situações reais quais as dificuldades que o MyContainer se propõe a resolver :

Pergunta: Para que ter um container JEE voltado para desenvolvimento e testes?
Resposta: Para não ter que subir containers JEE durante o desenvolvimento para verificar se o EJB que foi implementado está funcionando ou para verificar se a página que eu desenvolvi em JSF está alinhada e com o estilo correto.

Fato: Mas eu não preciso subir um servidor de aplicações para testar minha aplicação. Para testar meu serviço, basta eu escrever um teste unitário (com JUnit, por exemplo), e para testar se minha página está do jeito que eu queria, basta eu subir um Servlet Container (Jetty, por exemplo) com meu war instalado.

Pergunta: Como implementar e executar testes de serviços que dependem de recursos externos, por exemplo, um outro EJB ou fazer uma busca em um banco de dados? E de onde vem os dados para serem apresentados na minha página JSF?
Resposta: Você pode mockar os serviços dos quais o serviço que você está querendo testar depende e pode mockar os resultados de sua busca no banco de dados. Na parte Web, os dados também podem ser mockados.

Fato: Escrever e manter mocks é trabalhoso. E mockar o resultado de sua busca no banco de dados implica em você não testar a busca. E como você é um bom desenvolvedor, você vai implementar esse teste separadamente, fazendo com que a busca seja realmente executada no banco de dados.

Mais um fato: Para testar a busca real no banco de dados, você vai criar um arquivo SQL contendo seus adorados dados de teste. Que também é de difícil manutenção, e não possui um refactoring amigável.


Com o MyContainer:
* Você pode escrever testes unitários para o seu serviço provendo os recursos dos quais ele depende de forma rápida e eficiente;
* Você pode subir sua aplicação web disponibilizando acesso aos serviços reais sem perda de desempenho, com isso, você não precisa mais mockar seus dados;
* Você não precisa mais escrever arquivos SQL contendo seus dados de teste. Você inserir seus dados de teste através de código Java, utilizando seus objetos de domínio. Assim, os problemas de manutenção praticamente não existem.

Tudo isso, com fácil configuração e sem deixar o seu processo de build extremamente lento.

Um abraço!
hwarang
Smalltalk

Membro desde: 28/08/2008 13:09:51
Mensagens: 2
Offline

chun wrote:mas poxa... pool de conexao é basico em qualquer app


Chun,

Concordo plenamente com você que pool de conexões é básico para as apps....
Creio que você também concorde comigo que a responsabilidade de manter este pool, em aplicações JEE, é do container e não da aplicação.
Em ambiente de homologação e de produção, isso é vital para a escalabilidade desta aplicação. Porém, em ambiente de desenvolvimento esta escalabilidade não é importante. Neste momento é preciso que os testes sejam executados com agilidade para que possamos desenvolver de forma mais ágil e eficiente. E é este o objetivo do MyContainer (como citou o thiagoabb).

Mesmo assim, se o pool de conexões for mesmo crucial para que os seus testes rodem com sucesso, o Hibernate provê um pool (C3P0) que pode ser configurado dentro do MyContainer (http://www.hibernate.org/214.html).

This message was edited 1 time. Last update was at 28/08/2008 14:37:04

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