Oi Phillip,
O framework de integração do jCompany, até sua versão 2.7 (criada em 2004), suportava os “J2EE Blue Prints”, porém substituindo os EJBs por POJOs usando Design Patterns Façade + Business Object + Value Object, gerenciando transações locais via Hibernate/JDBC na fachada e procurando garantir o MVC sem o conteiner EJB - esta era realmente a premissa desta versão. Creio que é a partir dela que vc emitiu sua opinião naquela thread (ou alguma anterior)
A partir da versão 3.x em diante, evoluímos o produto para possuir IoC, DI e transação via AOP/Anotação, reforçando o DP DAO (Abstract Factory) e também fomentando outras organizações de arquitetura, promovendo um modelo de domínio mais robusto (Entidades de Domínio em lugar de VOs clássicos). Nesta versão, somente não reutilizamos Spring porque tive a oportunidade de estar com o Gavin King durante a especificação EJB 3.0, e soubemos que ela iria ‘hachurar’ o Spring em grande parte - o que nos fez optar por reusar o JBoss Seam, a partir do Java EE 5.
Na versão 5.0, lançada em julho/2007, compatibilizamos o produto com JPA 1.0. JSF 1.2 (Apache Trinidad), EJB 3.0 (opcional) e reforçamos as práticas de DDD de Eric Evans, que se popularizaram de 2004 para cá. É hoje possível se conceber um Modelo de Domínio rico no jCompany.
Você pode ler sobre a arquitetura do jCompany atualmente na versão 5.1 em:
http://www.powerlogic.com.br/livro/4/capitulo4.htm
Se quiser ler uma discussão sobre os “Casos de Uso Padrões” (Generalizações MVC2 completas, de alto nível, implementadas no framework de integração) identificados pelo jCompany e como eles se relacionam com Design Patterns de mercado atuais você pode ler em:
http://www.powerlogic.com.br/livro/5/capitulo5.htm
http://www.powerlogic.com.br/livro/a11/apendice1.htm
Finalmente, há uma cópia DEMO e material explicativo atualizado (incluindo ROI) em
http://www.powerlogic.com.br/powerportal/ecp/comunidade.do?app=comunidade_jcompany
Apesar da grande confusão que vemos nos foruns, conheço o nível de qualidade de seus POSTs - e creio que você deve entender bem o que fazemos: Temos:
- o framework de integração como uma solução OO extensiva - de integração sobre insumos Open-Source, que provê uma Arquitetura de Software de base, para reuso em alto nível;
- integrações e especializações em ferramentas (ECLIPSE + WTP+ JBoss Tools);
- framework para Testes de Unidade (JUnit e Easymock);
- Padrões & Métodos (GUI, DDD, Casos de Usos Padrões);
- Gerência de Configuração sobre tudo isso (instalável como um único produto)
===> Isso não é nada revolucionário e mágico, nem um pouco parecido com soluções milagrosas ou RAD - é apenas uma solução abrangente que encontramos resolvida de foram redundante (e parcial) na maior parte das empresas… costumamos catalisar e, através de customizações, prover uma solução completa de produtividade através de reuso - mantendo a liberdade e realizando adaptações para cada negócio… (sem uma solução Open-Source gerenciada assim, teriamos muito mais Rational, Oracle e Borland por aí - com quem habitualmente concorremos). É isso.
Abraços!
Paulo Alvim