jump to navigation

Workshop: Modelagem Ágil + Domain Driven Design 17/05/2008

Por: Bruno Mentges de Carvalho , 1 comentario

Tivemos hoje em São Paulo o segundo dia do workshop Modelagem Ágil e Domain Driven Design da Fratech. No primeiro dia, palestrado pelo Manoel Pimentel, foi abordado modelagem ágil e scrum. Foram feitas atividades para demonstrar o que é e o que não é ágil e treinar dois conceitos apresentados durante a palestra: Mind Map Modeling (M3) e UML em Cores.

Particularmente ainda não vejo necessidade de usar UML em Cores. Num mundo cada vez mais ágil, quanto mais detalhes e regras pra uma documentação que deve ser simples e objetiva, menos isso será usado. Em contrapartida, eles apresentaram também a nova buzzword do mercado: Agile Draw, que nada mais é que nossos rascunhos, usando um subset da UML, num whiteboard. Nisso eu acredito :P

O segundo dia foi bem interessante. DDD é um assunto que eu gosto muito, até já li duas vezes o Domain Driven Design do Eric Evans. O palestrante do dia foi Felipe Rodrigues, que também palestrou na QCon 2008 sobre o mesmo assunto. A palestra dele foi muito boa, exemplificando e tentando trazer de maneira mais simples os conceitos não-tão-simples do Domain Driven Design. Tivemos também atividades práticas pra exemplificar o que foi dito.

No mais, o evento foi muito bom. Tive a oportunidade de ver amigos de outros eventos, e trocar experiencias do dia a dia com eles. Amanhã estarei no Falando em Java, que promete.

Começando um projeto web com Maven 29/07/2006

Por: Bruno Mentges de Carvalho , 1 comentario

Neste artigo irei abordar como começar um projeto web usando o Apache Maven. Iremos utilizar também o ambiente de desenvolvimento sugerido em meu artigo anterior: Como montar um ambiente de desenvolvimento Java, com Eclipse + WTP.

(Continue lendo…)

Como montar um ambiente de desenvolvimento Java (Windows) 7/07/2006

Por: Bruno Mentges de Carvalho , 2 comentarios

Esta pergunta frequentemente chega a mim. Todo mundo que quer programar em Java esbarra com essa questão no início e ao ir descobrindo a quantidade de coisas que deve baixar e configurar, acaba desistindo por achar muito complexo.

Mas a verdade é que é bem simples montar um ambiente de desenvolvimento Java, tanto para estudar Java como para produzir software. E, claro, é tudo grátis. (Continue lendo…)

Faltam Programadores Java no Mercado ! 5/06/2006

Por: Bruno Mentges de Carvalho , Comentar

Provavelmente quem lê esse blog já é programador ou está em vias de ser um.

Esta notícia para nós, profissionais, é boa: Faltam programadores no mercado. Porém, será que é tão boa assim para o avanço da nossa tecnologia e para as empresas ? Se eu fosse dono de uma empresa, e precisasse escolher uma tecnologia para desenvolver as soluções internas e externas, qual tecnologia eu escolheria ?

Um dos critérios com certeza seria disponibilidade de profissionais. Não adianta nada eu querer que tudo seja Assembly, se eu não vejo ninguém programando nessa linguagem no mercado de trabalho, desempregado. E quando vejo, ele me pede 75% das receitas anuais da empresa MENSALMENTE, para ir 1 vez por semana.

O mais complicado que vejo é que quem acaba ganhando com isso é o mundo .NET, que puxa cada vez mais os antigos programadores Visual Basic e Asp para sua plataforma, mão de obra relativamente mais barata que a mão de obra Java hoje.

Como tudo tem seu lado bom e ruim, fica aqui minha mensagem para quem quer ser programador: Aprenda Java. O mercado tá ótimo para esta linguagem. Leiam meu post sobre como começar a programar Java, frequente as comunidades. Vamos mudar este cenário e ajudar as empresas a escolherem Java porque além de boa tecnologia, tem gente para trabalhar nela :)

Começando sua carreira: Programador Java. 26/05/2006

Por: Bruno Mentges de Carvalho , 4 comentarios

Primeiramente, o objetivo deste artigo não é ensinar a programar exclusivamente em Java, mas falar sobre como iniciar sua carreira como programador. Em suma: O que estudar, como estudar e como entrar no mercado de trabalho.

(Continue lendo…)

Eclipse plugins ! 20/05/2006

Por: Bruno Mentges de Carvalho , Comentar

Bom, olhando o sourceforge atrás de projetos do Eclipse, achei um monte de projetos de plugins interessantes ! Tem um tal de Bioclipse (plugin para funcoes de biologia, atomos, proteinas, muito legal). Veja a lista no link abaixo:

https://sourceforge.net/softwaremap/trove_list.php?form_cat=583

AppFuse - Agilizando o desenvolvimento web.

Por: Bruno Mentges de Carvalho , 2 comentarios

Se você é que nem eu que gosta de fazer projetos web para os mais diversos fins, você provavelmente gostará deste framework, AppFuse. Não, o AppFuse não é um framework web. O AppFuse cria toda a infra-estrutura necessária para você iniciar e manter o desenvolvimento web, criando:

Meu amigo, ele cria TUDO. Depois é só voce começar a programar. Voce não perde tempo criando a estrutura de diretórios, ajeitando o web.xml, configurando o framework, etc.

Depois dele criar tudo, é só seguir uns passos para continuar o desenvolvimento, já criando os testes unitários e desenvolvendo suas classes de negócio. Rodando alguns comandos ant todo o seu sistema é compilado, testado, compactado para web (gera o .war), feito o deploy no tomcat local para teste, etc !

Para quem ficou interessado, dê uma olhada em:

http://www.appfuse.org

ou assista ao vídeo de demonstração:

http://demo.appfuse.org/setup.html

Detalhe: Ele tem documentação e tutoriais em português também.

2EJB || !2EJB 17/05/2006

Por: Bruno Mentges de Carvalho , Comentar

Uma empresa gringa prestou serviço para a empresa onde trabalho para fazer o front-end de uma grande aplicação, onde os usuários iriam fazer diversas configurações de maneira "amigável". Era mais um projeto web, e iria conectar-se ao sistemão para prover serviços de maneira rápida e simplificada.

Essa empresa terceirizada tinha desenvolvido um software que gerava código (EJBs) dinamicamente, o que proporcionaria rapidez no desenvolvimento. Então eles projetaram o sistema (será que projetaram?) para utilizar EJBs em uma arquitetura que lembra SOA (Service Oriented Architecture), porém sem o Service Locator, uma bagunça.

Hoje, acredito que 2 anos depois, estamos reestruturando a aplicação que além de ser totalmente buguenta e muito instável ainda tem mais de 250 EJBs sem necessidade. Eu não sou do tipo que odeia EJB, eles têm as suas funções, mas com certeza não é o martelo de ouro, e nem todos os problemas são pregos ! Ah, e nao tem nenhum teste automatizado ! NENHUM ! Como esse software sobreviveu ?

Apelidamos a aplicação carinhosamente de NullPointerException Hell, já que em TODAS as classes geradas automaticamente tem NPEs a vontade. Nenhum input é validado !

Ex, só pra ilustrar como estão as coisas:

public bla.bla.Output execute (bla.bla.Input input, bla.bla.Output output)
{
    Collection col = input.getSomeCollection();
    Iterator it = col.iterator();
    while(it.hasNext())
    {
        Object someObject = it.next();
        if (someObject.lenght() > 3)
        {
            …
        }
    …
    }
}

Quantos NPEs voces podem achar aí ? É isso que dá gerar código "automaticamente" …

Começamos por tirar todos os entity beans e transformá-los em DAOs + Hibernate. E os session beans serão aos poucos trocados por, acreditem, POJOs !

Há luz no fim do túnel !

Projetos Web em Java… 13/05/2006

Por: Bruno Mentges de Carvalho , 1 comentario

Mais uma decisão difícil. Desenvolvi uma solução web sem o uso de nenhum framework, com um prazo curto e escopo bem definido que não mudou muito (ainda bem!). Ficou horrível, mas funcionava. O problema começou quando mais coisas iriam ser acrescentadas ao software.

Bom, com algum tempo até a data da entrega das modificações, resolvi ir refazendo aos poucos o sistema (que estava bem pequeno) utilizando algum framework WEB que provesse facilidades diversas para os problemas que enfrentava, como por exemplo:

1. Controlar os dados dos formulários: Validar, Mostrar mensagens de erro amigáveis, etc. Não estava no escopo utilizar Javascript. (e não utilizei :D )
2. Integração com o Hibernate: Cá entre nós, quem que programa Java que não gosta do Hibernate ? Qualquer framework que oferecesse uma facilidade para lidar com ele estaria dentro da minha lista de possíveis escolhas.
3. IoC, DI, AoP…: Esses conceitos são muito bons, e queria pôr em prática. Ao remodelar o sistema, descobri que algumas coisas eu queria poder “injetar” para facilitar os testes automatizados e possíveis modificações futuras sem muitos problemas. Ah, claro, teste automatizado era pré-requisito para meu refactoring do sistema, e tinha pensado também em utilizar AoP para manter estado entre os formulários wizard (aqueles formulários, de cadastro por exemplo, com várias páginas até a conclusão).
4. Configuração fácil: Quem não quer isto em um framework ? Toda a configuração de um framework deve ter uma sintaxe clara em seus arquivos.
5. Integração com Velocity, Tiles, etc: Ingenuamente eu queria utilizar um framework que me facilitasse a construção do View (.JSPs), layout, etc. Então um dos fatores para minha escolha era ter fácil integração com Velocity, Tiles ou qualquer outro do tipo. (Acabei não utilizando nenhum, mas na hora da análise, era uma probabilidade).
6. Boa documentação: É muito ruim querer fazer algo e não ter onde procurar a não ser no código fonte do framework. Se um framework não for bem documentado (o que não necessariamente significa ter muitos exemplos de código), te complica, atrasa e atrapalha.

(Continue lendo…)

Hospedagem Java !! 12/05/2006

Por: Bruno Mentges de Carvalho , Comentar

Bom,

Hoje foi um dia interessante. Precisei encontrar uma solução para hospedar aplicações WEB Java, e projetos JEE também. Após procurar, minerar e conversar com alguns amigos da área, cheguei ao site http://www.eapps.com.

Bom, o eApps é um serviço de hospedagem como todos os outros, com uma diferença: Todos os clientes possuem um ambiente virtual com acesso root, JVM própria, Tomcat e JBoss próprios (Se for só o Tomcat sai por $20, c/ JBoss $30 p/ mes) e muitas outras coisas. Achei muito interessante.

Ah, e porque eu to fazendo essa propaganda toda ? Bom porque cansei de me dar mal com essas hospedagens Java bundas (godaddy.com por ex.), onde os técnicos do helpdesk não sabem nem responder qual a versão do Java na máquina, dias pra reiniciar o contexto do tomcat e proibem você de ver os logs !

Ufa! Ainda bem que achei a eApps (Obrigado Phillip!)…

Espero que minha experiência com o eApps seja boa. :D