jump to navigation

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. (more…)

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.

(more…)

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.

(more…)

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

Apresentando: UnicariocaJUG ! 10/05/2006

Por: Bruno Mentges de Carvalho , Comentar

Boas notícias na Unicarioca. Fundamos o UnicariocaJUG, voltado para o estudo da linguagem Java. Muito bacana, dentre os fundadores estão: Prof. Leonardo Chaves, Prof. Hamilton Athanazio, Heitor Peralles e Eu !

Bom, para se cadastrar basta entrar no link: http://br.groups.yahoo.com/group/unicariocajug/, e começar a compartilhar seus conhecimentos com o pessoal da Unicarioca.