11 maio 2012

Conexão Java 2012


Eu vou... e você?
Essa é uma ótima oportunidade para aprendermos mais sobre as tendências do mercado de tecnologia e dessa plataforma tão poderosa: o Java. Segue abaixo o link para o site oficial.
http://www.conexaojava.com.br/
Eu fui no evento de 2010 e achei muito bom. De quebra esse ano tem Android, JPA, etc.

14 junho 2011

Direcional Software. Empresa de desenvolvimento de sistemas

Empresa de desenvolvimento de sistemas para automação comercial. Criação de software para gerenciamento de empresas. A pioneira no segmento de sistemas para controle de pesqueiros (ADM Fishing). Se você procura um sistema completo para gerenciamento de seu negócio vale a pena conferir o novo site da Direcional Software. http://www.direcionalsoftware.com.br

22 dezembro 2010

Felipe VS Maven... Maven wins

Gostaria de repassar aos colegas desenvolvedores uma das minhas últimas conquistas, conseguir entender e domar o maven para o gerenciamento do build (e algunas cositas más) em meus projetos Java.

Vou relatar um pouco das minhas opiniões (e de alguns colegas) sobre o uso do maven:
- Muito complexo e cheio de configurações;
- O que ele faz eu faço na mão, de maneira muito mais simples e ágil, fugindo de possíveis entraves da ferramenta;
- É preciso refazer as configurações de tempos em tempos e isso toma muito tempo nos projetos;

 Bom, após muito sofrimento, horas de configurações, leitura de tutoriais, acesso a blogs, etc. e do grande auxilio e paciência de dois profissionais feras - Edgard Leite da Image e Luiz Eduardo Rodrigues do Tribunal de Contas do Paraná - consegui ver a luz no fim do túneo e o melhor, ver o quanto esta ferramenta é poderosa e útil. Quero ressaltar que qualquer um que for usar o maven deve antes entender de forma clara suas funcionalidades, as formas corretas de configuração (e para que elas servem), pois isso vai reduzir e muito retrabalhos futuros e problemas com compilação ou execução em seus projetos.

O maven se propõe a ser uma ferramenta de build de projetos, mas afinal o que é isso? É simples e vou tentar explicar de forma prática e casual.

Para o correto funcionamento de nossos projetos precisamos sempre ter em mente suas fases de construção ou criação, o desenrolar de seu desenvolvimento (adição ou atualização de módulos ou bibliotecas e/ou refactoring) e por fim como o mesmo será disponibilizado para o cliente (será uma biblioteca .jar, um projeto web .war, um módulo ou projeto de um ambiente maior contido em um conjunto de projetos .ear). Este último é um passo bem importante e relevante, pois irá definir como nosso projeto vai se relacionar com outros projetos ou outras bibliotecas (ou seja, suas dependências). Talvez o que tenha me atrapalhado no uso com o maven se deva ao fato de eu ter pego um projeto já configurado, com diversas dependências e particularidades que são bem difíceis de entender quando não se tem experiência com esta ferramenta.

O build do projeto acontece então desde o princípio para validar os relacionamentos e dependências que constituem o core de nosso projeto - neste ponto é necessário saber o que realmente deverá seguir com o projeto e o que será disponibilizado pelo ambiente onde o mesmo será executado. Dessa forma se evita problemas básicos de ausência de bibliotecas ou excesso delas. Aqui vale ressaltar que o uso do IDE Eclipse com o plugin do maven muda e muito a forma do funcionamento do build dos projetos e de acordo com a configuração do ambiente de desenvolvimento pode gerar uma série de facilidades, mas também pode confundir bem a cabeça dos profissionais que sempre usaram o eclipse com ANT ou com os wizards da IDE. Sofri bastante até entender o grau de integração do Eclipse com o maven e o quanto isso poderia impactar na forma como a IDE trata os projetos controlados pela ferramenta. Aliás, configurar o Eclipse com o plugin do maven é um ponto que deve ser visto com muita atenção. Passei por algumas situações complicadas como por exemplo o plugin pegar a configuração a partir do usuário que eu usei para abrir o IDE e não o que estava definido em suas configurações nas preferencias do plugin ou de o mesmo não conseguir executar alguns comandos em um momento e depois sem motivo ele executar (mistérios da tecnologia). Porém, fora isso, ele é muito parrudo e um grande facilitador. Além disso a IDE permite configurar o xml de configuração do projeto (pom.xml) de forma visual e muito intuitiva e isso é de grande valia(apesar de algumas vezes eu preferir o modo texto).

No meu caso haviam diversos módulos separados em projetos diferentes, com cada um deles tendo suas particularidades na construção do projeto final. Alguns eram projetos que deveriam ser disponibilizados como bibliotecas, outros como projetos web e outros eram apenas módulos de componentes dos outros projetos. Cada qual possuia suas configurações, o que no início me parecia muito confuso e gerador de conflitos, mas depois se mostrou versátil e dava aos projetos uma independência totalmente necessária. Com as configurações que estes projetos tinham era possível em um build atualizar as bibliotecas a partir de um repositório web ou local, testar todos (junit), exportar 4 deles como bibliotecas (.jar) independentes, montar os projetos web (.war) com seus módulos de core e view sendo agregados e atualizados dinamicamente e por fim gerar o .ear que continha todos os projetos web e suas depedências.

Agora que tenho a clara visão do funcionamento do maven, o porquê de sua estrutura, a forma como o plugin se relaciona com a IDE e a forma como os módulos de projeto se relacionam vejo o quanto esta ferramenta auxilia no trabalho dos desenvolvedores e o quanto a mesma é uma revolução na forma de se construir e manter projetos Java. Deixo claro que só é possível usar maven de forma satisfatória mudando a visão de como se trabalha no desenvolvimento de projetos - é preciso quebrar este paradigma. Não disponibilizei nenhum material ou tutorial sobre o assunto, pois já existe uma imensidão de conteúdo para isso (links no final da postagem), mas este relato é para aqueles que estão na dúvida se devem ou não usar esta ferramenta ou que já usaram e passaram por maus bocados. Eu penei com a mesma por ter ido por um caminho errado. O correto é aprender bem e não ficar tentando fazer remendos ou entender mais ou menos. Eu recomendo e afirmo que bem usada ela aumentará a produtividade de forma significativa.

Sites para referência e estudos:
maven.apache.org
Tutorial Maven
Better Builds With Maven

23 outubro 2010

Apoio a campanha verde

Neste tempo de eleições é muito importante lembrarmos que nossas vidas, tanto no âmbito pessoal como no profissional, estão sendo regidas e controladas de forma direta por um governo, uma administração maior. É fato que muitas vezes pensamos que somos os únicos responsáveis pelo nosso crescimento ou regresso, mas se prestarmos atenção ao cenário nacional ou mesmo mundial, estamos acompanhando uma maré política que permite a nós certas regalias ou prejuízos.
Um outro fato importante são as questões ambientais, que tiveram muito enfoque nos últimos anos e não era pra menos, afinal, estamos sofrendo cada dia mais com os problemas causados pelo desmatamento, poluição dos rios, dos ares etc. Tudo isso implica em como devemos tocar nossas vidas, portanto, não podemos ser indiferentes. Cada um de nós é determinante para que as coisas possam mudar. Nosso comportamente diário deve refletir nossos pensamentos e a nossa posição como cidadãos do mundo deve ser cada dia mais cuidadosa.
Tudo isso está ligado através de uma teia (web, em inglês) - política, meio ambiente e nossas ações - na qual devemos tecer nossas próprias ligações e assim nos tornarmos parte importante e não sermos as moscas que estão grudadas nela esperando ser devoradas.
Enfim, quando chegar o segundo turno das eleições, não esqueça que você será um dos autores das estórias que verá estampada nos jornais dos próximos 4 anos. Será que o tema será corrupção, assassinatos, impostos absurdos, aumento dos problemas ambientais ou será que você consegue escrever algo diferente? Será que você, eu, nós realmente nos importamos?

Vamos fazer nossa pequena parte para acabar com o incêndio na floresta.

12 maio 2010

Ágiles - Ferramenta de BPM

A partir de agora vou publicar alguns artigos neste blog sobre a principal ferramenta de trabalho utilizada na consultoria que estou atualmente (KFBC), o Ágiles.
O Ágiles é um software da empresa Image web-based construído usando tecnologia J2EE tem como princípio a automatização, integração e documentação de processos de negócios, utilizado hoje em grandes empresas brasileiras, públicas e privadas, tais como: Milenia, Bunge, AstraZeneca, FIEP, TCE-PR, etc. Nesta ferramenta os processos são modelados através de um desenhador gráfico que visa definir a partir da notação do BPM as etapas e tarefas do processo de forma lógica e estruturada. Segue exemplo abaixo:
 O sistema possui toda a infraestrutura e tecnologia para dar escalabilidade, alta disponibilidade, robustez, portabilidade e manutenibilidade, requisitos obrigatórios para aplicações das grandes corporações. Até o momento da criação deste artigo o Ágiles está em sua versão 2.0.6, a qual trouxe diversas melhorias em desempenho e usabilidade para o sistema.

A idéia dos artigos deste blog não são a de promover de forma comercial o sistema Ágiles e sim fornecer informações para usuários e desenvolvedores que usem este software como ferramenta em seu ambiente de trabalho. No próximo artigo discutirei a parte administrativa da ferramenta.

P.S. Uma observação importante ao pessoal do Java que está acostumado em baixar sempre tudo da web, essa ferramenta é paga e vocês não vão achar aqui nenhum link para download da mesma, portanto, estes artigos servirão apenas para os profissionais que tem nas empresas que atuam esta ferramenta instalada.

Sucesso a todos!

Rally Open Source JavaEE





Olá pessoal, àqueles que desejam testar suas habilidades em diversos pontos no desenvolvimento de software e que não tenham apego ao fonte vale muito a pena participar desta iniciativa que a PowerLogic está promovendo. Um desafio para os desenvolvedores Java nos diversos níveis de conhecimento e além do mais os prêmios são bem bacanas. Participem, eu já to dentro!

http://www.rallyjavaeeopensource.com.br/

09 abril 2010

Evento - JBossInBossa 2010 (07 e 08 de maio)



Notícia quase em cima da hora, mas para aqueles que ainda não estão sabendo vai rolar um evento muito importante pro pessoal do Java. Eu estou falando  do JBossInBossa 2010. Um evento oficial da Red Hat sobre JBoss e muitas tecnologias do mundo Java (JPA, JSF 2.0, Virtualização, Drools, etc). Muita coisa boa, discutida e ensinada (vai haver workshops) por caras que sabem o que estão falando... nossa tem até os gods da Caelum, vale muito a pena conferir. O evento acontecerá entre os dias 07 e 08 de maio de 2010 e será pago... acho que vale cada centavo investido, e olha que eu nem sou da organização ;) Para maiores informações acesse http://www.jbossinbossa.com.br/
Evento Até 18/04 19/04 à 08/05
Palestras R$ 230,00 R$ 280,00
Palestras + Workshop R$ 270,00 R$ 310,00

01 fevereiro 2010

Java Servlet Filter (Adaptação para português) - Filtros de Requisição no Java

Estive pesquisando sobre o que são Filters (Filtros) de requisição e encontrei um artigo da autoria de ViralPatel.net, post: Java Servlet Filter tutorial example using Eclipse & Tomcat bem interessante em inglês. Resolvi traduzir o artigo e adicionar algumas considerações e dicas que achei pertinentes (ágeis):

Servlet Filters são os últimos componentes adicionados às especificações Servlet 2.3. Estes filtros são utilizados basicamente para interceptar e modificar pedidos e resposta do servidor (entenda interceptar por: entrar no meio do caminho e poder executar algum código). Considere um cenário em que você deseja validar a sessão a cada solicitação dos usuários e somente se for valida você quer deixar o usuário acesse a página. Você pode conseguir isso verificando sessões em todas as páginas do servlet (ou páginas JSP) que os usuários consultem ou acessem ou você pode fazer isso usando filtros (filters).
Vamos criar um filtro servlet que apenas imprime o endereço IP de Clientes e a data, apenas para registrar os usuários que estão acessando a aplicação.
Usaremos o IDE Eclipse para o desenvolvimento de nossa aplicação e Apache Tomcat (servlet container) para implementar e executar nossa aplicação.

Etapa 1: Criar um projeto web dinâmico (dynamic web project) no Eclipse.

Inicie o eclipse e crie um novo projeto web dinâmico com o nome ServletFilterProject. Selecione o ambiente Target Runtime. Selecionei o Apache Tomcat v6.0, mas você pode escolher qualquer versão do Tomcat que tenha instalado em sua máquina. Clique em Concluir.

Etapa 2: Criar pacote e classe Servlet Filter.

Crie um pacote para Servlet Filters na sua pasta de origem do projeto. Eu criei o pacote net.viralpatel.servlet.filters. Dentro do pacote, crie uma classe Java chamada LogFilter.java. * Neste ponto gostaria de adicionar algo mais prático: o eclipse padrão que baixamos no site oficial vem com alguns puglins interessantes e um deles permite criar Servlet Filter de forma mais fácil e rápida. Na perpectiva Java EE temos a opção de adicionar filtros ao projeto e ao criá-lo, o mesmo já cria a classe filter, que daremos o nome de LogFilter, e ainda faz o mapeamento da mesma no nosso arquivo web.xml

 

Next > Next > Finish e abaixo segue o código gerado pelo Eclipse (sem a documentação):
package net.viralpatel.servlet.filters;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class LogFilter implements Filter {

    public LogFilter() {
    }

    public void destroy() {
    }

    public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain) throws IOException, ServletException {
       
        chain.doFilter(request, response);
    }
   
    public void init(FilterConfig fConfig) throws ServletException {
       
    }

}

Etapa 3: Escrevendo o código da nossa classe Servlet Filter.

Vamos modificar o método doFilter e o método init para que possamos executar nossa lógica:

     public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain) throws IOException, ServletException {

         HttpServletRequest req = (HttpServletRequest) 
request;        
         //Pega o endereço IP da máquina do cliente.         String ipAddress = req.getRemoteAddr();        
         //Loga o endereço  IP e o horário atual.         System.out.println("IP "+ipAddress + ", Time " + new Date().toString());

         chain.doFilter(request, response);
    }
   
    public void init(FilterConfig fConfig) throws ServletException {

        //Pega os parametros iniciais
        String testParam = config.getInitParameter("test-param");
     
        //Imprime os parametros iniciais        System.out.println("Test Param: " + testParam);
 
    }

}

Neste exemplo de filtro, implementamos a interface javax.servlet.Filter e substituimos os métodos init, doFilter e destroy.
O método init () é usado para inicializar qualquer código que é usado pelo filtro. Observe também que, o método init () irá receber um objeto de filterConfig que contém informações de diferentes níveis de filtro, bem como parâmetros de inicialização que são passadas ao web.xml (deployment descriptor).
O método doFilter () é quem realmente fará o registro das informações. Você pode modificar esse método e adicionar o seu código, que pode modificar request / sessão / resposta, adicione algum atributo no pedido, etc.
O método destroy () é chamado pelo container quando quer recolher lixo do filtro. Isso geralmente é feito quando o filtro não for usada por muito tempo e servidor quer alocar memória para outras aplicações. Hehehehe, aqui não fizemos nada.

Etapa 4: Criar o mapenamento do Servlet Filter no web.xml (não é necessário)

Como o Eclipse já fez esse favor pra nós vou apenas exibir o conteúdo gerado:
  <filter>
    <display-name>LogFilter<
/display-name>
    <filter-name>LogFilter<
/filter-name>
    <filter-class>net.viralpatel.servlet.filters.LogFilter<
/filter-class>
  </filter>
  <filter-mapping>
    <filter-name>LogFilter<
/filter-name>
    <url-pattern>/LogFilter<
/url-pattern>
  <
/filter-mapping
Para ver o arquivo web.xml gerado acesse em seu projeto a pasta WebContent/WEB-INF

Etapa 5: Executando a aplicação Web

Finalizamos a parte da codificação do exemplo de Servlet Filter. Agora execute o projeto no Eclipse:
Acesse no menu Run -> Run As -> Run on server (atalho Alt + Shift + X, R).Verifique o console e você verá na saída a impressão gerada pelo System.out. Altere o código da maneira que você quiser e veja o trabalho que seu filtro realiza. O filtro é muito interessante para executarmos tarefas de verificação de usuário, carregar listas com dados eliminando assim o uso de scriptlet nas nossas JSPs, etc.

* Neste exemplo eliminamos a escrita básica do Filter, bem como seu mapeamento no web.xml, tudo isso graças ao puglin do Eclipse. Também é possível executar muitas outras tarefas corriqueiras como essa através desses atalhos de puglins do Eclipse tornando nosso trabalho muito mais ágil e focado na lógica de negócios, que é o que mais importa em nossas aplicações.

Espero que tenham gostado deste artigo assim como eu gostei e que ele venha a ser útil para aqueles que estão iniciando seu aprendizado nas requisições dos aplicativos web em Java.


 

26 janeiro 2010

Java Hoje

Atualmente, o Java vem ganhando mais e mais espaço no mercado de trabalho e no mundo dos negócios e penso que isso se deve ao esforço incansável de uma comunidade forte que se destaca na propagação das informações chaves para que qualquer pessoa possa vir a ser um grande profissional desta plataforma. Acho até que mesmo os incentivos do governo e das diversas instituições privadas ou públicas (sabe se lá Deus quantas e quais) não foram tão eficientes em difundir o Java quanto os sites, fóruns, tutoriais, blogs, videos no Youtube, etc.
Vejo que a web vem se tornando cada dia mais um celeiro de autodidatas capazes de elaborar seus próprios roteiros de estudos e isso é facilitado pela infinita gama de materiais sobre Java presente na Grande Rede. Conheço algumas pessoas que antes desempenhavam outras tantas carreiras que nada tem a ver com tecnologia, hoje se dedicam a aprender de alguma forma Java ou qualquer outra linguagem para que possam crescer profissionalmente, psicológicamente e monetariamente, é claro!
É importante lembrar que nem todo o conteúdo disponível na web é totalmente seguro e confiável, porém, vale lembrar também que com um pouco de dedicação e perspicácia os usuários podem verificar se as informações são corretas ou não. Muitas vezes até os materiais apresentam informações ultrapassadas e não são de grande valia para o cenário atual, com uso de ferramentas, terminologias ou padrões de trabalho que já encontram-se depreciados. Mesmo os sites (locais) mais indicados pela comunidade muitas vezes apresentam informações em seu banco de dados que já estão bem velhinhas... vale sempre olhar a data dos posts, videos ou da publicação dos tutoriais. Eu mesmo uso algumas coisas que o mercado mais moderno chama de contraprodutiva como DAO, criação de funções javascript para controle de componentes de tela, etc, porém, pra mim ainda esta servindo, até que eu aprenda as novas e boas maneiras, é claro.
Para aqueles que querem saber mais sobre Java é importante frisar que grande parte dos materiais de alto nível ainda se encontra em inglês, falo isso por que não achei nada de EJB 3 bacana em português ou algumas outras coisas mais específicas. Meu inglês é intermediário, ou seja leio notícias ou assisto a filmes em inglês tranquilamente, mas ler documentos técnicos muito extensos e cheios de termos específicos fica bem mais complicado e demorado, além disso tenho colegas que não sabem inglês e isso se torna um empecilho muito maior para eles.
Gostaria de agradecer neste artigo ao GUJ, DFJUG, JavaFree, e tantos outros que neste momento não me lembro pelas informações importantes que me fizeram chegar a ser um programador certificado Java e atualmente estar trabalhando como Analista Java Pleno. É uma carreira bem interessante, mas vale lembrar que o aprendizado nunca para.

29 novembro 2009

Marina Bambina - Bonecas Reborns - Cotia


Olá,
venho divulgar mais um de meus trabalhos como webdesigner o site www.marinabambina.com.br.
O site apresenta o trabalho de uma artesã, Marina Leite, que faz reborns - bonecos e bonecas que aparentam ser bebês de verdade. Muitas mães gostam de criar bonecas semelhantes aos filhos e por isso solicitam este trabalho tão especial. Vale a pena conferir.

21 julho 2009

Construtora em Ibiúna

Quem vai construir em Ibiúna tem que conhecer a empresa Constructora Verde que presta serviços para a construção de casas, sítios, chácaras, piscinas, churrasqueiras, edículas, etc. Além disso a empresa presta serviços de reformas em geral em toda a região de Ibiúna, Vargem Grande e proximidades. Saiba mais acessando o site www.constructoraverde.com.br

Site de Engenharia e Materiais de Construção

www.comercial74.com.br meu mais novo site em php sobre construção e engenharia. O site contém muitas dicas para quem vai construir, reformar, regularizar plantas e projetos de construção, reformas, alvarás, etc. O site pertence a uma empresa de Ibiúna que presta serviços de engenharia, além de vender materiais para construção. Vale a pena conferir

09 julho 2009

Relatórios no IReport: Prós e Contras

IReport. Muito se usa e se fala desta ferramenta de software livre, utilizada na criação de relatórios para aplicações contruidas em Java. Mas porque usá-la ou até porque não usá-la?

Bem, por experiência própria afirmo que da mesma forma que ela pode ser muito produtiva para alguns ela pode vir a ser contraprodutiva para outros.

Uma tarefa que exige muito esforço dos profissionais de programação e que geralmente não é tão valorizada quanto deveria ser, é a criação de relatórios. O profissional que tem o domínio neste ponto, encontra destaque dentro de um mercado atual, tão preocupado com frameworks de MVC (diga-se: Struts, JSF, etc.) ou tantos outros como mapeamento Objeto-Relacional (Hibernate), RIA (ZK).

Vejo que minhas experiências com o mercado de design me serviram e muito para a construção de relatórios muito mais atraentes e com características avançadas dos gráficos contidos neles.

É importante ressaltar que as terminologias nas classes utilizadas para criação de relatórios são mais facilmente entendidas se o profissional conhece a área de comunicação editorial (não que isso seja um pré-requisito).

Destaco esta ferramenta pois não encontrei nenhuma outra tão madura (me corrijam se eu estiver errado) na construção de relatórios de forma visual para o Java, tal como é o Crystal Reports para o .NET. O site oficial da mesma é http://jasperforge.org/projects/ireport. O fórum tem algumas dicas interessantes.

Existem alguns tutoriais básicos espalhados por alguns sites conhecidos, mas nada muito profundo em relação á subrelatórios, passagem de parametros, recebimento de objetos não nativos, configuração de classpath. Deve-se ter uma boa visão do que o software é capaz de fazer para aproveitar ao máximo dele, pois senão ficasse perdido num monte de menus e ferramentas que mais atrapalham num primeiro momento. Por exemplo: o JFreeChart é um framework para a criação de gráficos (pizza, barras, linhas, etc) tanto em 2D como em 3D. Ele está contido no IReport e permite criar gráficos visualmente muito interessantes para inserir em seus relatórios.

O recebimento de dados pode ser feito através de conexão com o banco de dados, através de coleções de objetos enviados da aplicação, ou mesmo pela passagem por parametros. Isso tudo deve ser estudado com calma para que não fique confuso o entendimento e para que os relatórios não deem mais dor de cabeça do que deveriam.

O interessante de usar esta ferramenta é que ela permite gerar alguns relatórios simples de forma muito rápida, quase que num next, next, finish. Porém, se o relatório tiver muitos agrupamentos de dados ou condições particulares para a exibição ou não de trechos do mesmo é bom tomar bastante cuidado com os flags presentes no software, pois com certeza eles vão confundir o usuário iniciante.

O sistema de bandas (áreas do relatório que separam geralmente blocos que tem características semelhantes) ajuda bastante na hora de criar capa, contra-capa, cabeçalho, rodapé, etc. - coisas que aliás são essênciais em documentos deste tipo (outro ponto bem positivo de usar esta ferramenta).

O sistema de objetos, tais como: caixas de texto, formas geométricas, imagens, etc, ainda tem muito o que melhorar, mas possuem um entendimento bem simples (neste caso, cabe um pouco de entendimento de design ou um pouco de criatividade mesmo).

Bem, esse texto foi mais para ajudar a esclarecer um pouco como funciona a ferramenta e não para mostrar um passo-a-passo, uma vez que isso se encontra bem fácil por ai... digita no google que vc acha ;)

abraços

19 junho 2008

Estude mais Java

O mercado continua com uma grande demanda para programadores Java com um nível entre Senior e Pleno. Isso porque a quantidade de conhecimentos que um programador Java tem que saber para chegar a esse nível requer bastante tempo e dedicação para ser absorvido.
A linguagem Java é "um grande filé" do mercado da tecnologia, devido ao fato de ser direcionada especialmente para o desenvolvimento de sistemas robustos e para grandes corporações. Além disso, Java possui uma série de recursos melhorados a cada dia pela sua atitude open source. A comunidade Java cresce a cada dia mas precisa se empenhar cada vez mais, pois este mercado esta cada dia mais exigente.
Não adianta aprender Hello World e sair falando que sabe Java. Nem mesmo saber apenas o pacote da Sun (Java 5, ou 6). Tem que conhecer bem Design Patterns (Padrões de Desenvolvimento), UML(Modelagem), Hibernate(Relacionamento com Banco de Dados), Struts, Servidores de Aplicação (JBoss de preferência), um pouco de SQL sempre ajuda e acima de tudo ser bem aberto a aprender sobre domínios (ramos de negócios) diversos, desde supermercados à telecomunicações.
O importante mesmo é nunca parar de estudar. Sempre vão haver coisas novas para se aprender.

12 junho 2008

Amor, Liebe, Love, Lamour...


À minha Cris, minha esposa, namorada, mulher... que este dia possa servir para mais e mais renovar nossos laços e fortalecer a chama do Amor, que muitas vezes se enfraquece no cotidiano da vida de casado.

Desejo que nossa união tenha forças para perdurar, mas ao mesmo tempo suavidade para se reformular... TE AMO MAIS E MAIS A CADA DIA... SÓ PRECISO DE MAIS EMPENHO PRA PODER DEMONSTRAR!

BJUS

21 abril 2008

MDA: prós e contras

Atualmente estou envolvido em um projeto Java que como base de seu desenvolvimento utiliza o processo MDA para gerar os códigos padrões, bem como as especificações. Vou discutir neste tópico o que vem a ser MDA, seus prós e contras.
O MDA (Model-Driven Architecture) é um processo pelo qual são utilizados os modelos em UML juntamente com instruções gerais de projeto para a geração dos componentes base do sistema (classes, interfaces, entre outros elementos); Essa tecnologia tem como principal objetivo eliminar procedimentos repetitivos que os programadores tem que fazer ao iniciar um projeto. Muitas vezes os desenvolvedores ao começar um novo projeto percebem que muito do que será feito poderia ser reaproveitado de sistemas anteriores, código padrões como CRUDs, os processos de persistência dos objetos, fluxos de servlets, etc. O MDA vem justamente evitar um retrabalho neste ponto e se destaca atualmente por apresentar uma solução viável para isso. É como se o programador colocasse todos os modelos UML e especificações de um lado de uma máquina e no outro lado saísse os sistema pronto. Bem, não é exatamente assim, mas essa é a idéia.
Diversas ferramentas estão surgindo para realizar esse processo, tanto para a geração de modelos que viabilizem essa "transformação" (ArgoUML, Magic Draw, BoUML, etc), quanto ferramentas que façam essa transformação (AndroMDA, Celero, etc).
Um ponto negativo que se apresenta em alguns casos é o fato de se criar um engessamento no processo da geração dos códigos dos esteriótipos, onde muitas vezes não podemos intervir ou se isso for feito haverá alguns complicadores caso se necessite de uma reconstrução.
Bem, essa tecnologia, ou metodologia de programação está em processo inicial de inserção no mundo comercial e aparentemente já disperta interesses de grandes corporações. Acredito que de uma forma ou de outra venha a contribuir e muito para a eliminação dos processos repetitivos e desgastantes da programação. Como não sou nenhum especialista nesse assunto sugiro que cada um aprenda a utilizar o MDA com bastante afinco antes de querer criticá-lo sem embasamento concreto sobre o assunto.

22 janeiro 2008

Inkscape ... o Corel Draw do Linux (desenhos/projetos vetoriais)


Além do aplicativo do OpenOffice.org Draw, o Linux tem uma outra excelente carta na manga para brigar com os softwares proprietários de criação de imagens vetoriais (logos, cartazes, etc) e ele se chama Inkscape.
Não é nenhuma novidade, mas pretendo dar algumas dicas para quem nunca usou ou nunca ouviu falar deste aplicativo free.
Primeiramente, se você quer realmente aprender sobre a mesma vai ter que ler os tutoriais no site oficial www.inkscape.org que são muito intuitivos e estão disponíveis em nossa língua (Português brasileiro). Porém, quero ressaltar que aqueles que já estão habituados com outras ferramentas como Corel Drae, Illustrator, etc. vão ter que se acostumar com algumas particularidades como a forma de criar e editar gradientes. Esta aplicação ainda possue um suporte maravilhoso para caligrafia que pode ser utilizado com mesa digitalizadora, entre muitos outros recursos fantásticos. Vale a pena entender a forma como ela produz e trabalha com xml, gerado automaticamente na criação das imagens. O formato padrão é o SVG , que aliás será o formato que dominará em breve as aplicações de imagens vetoriais por ser muito versátil e poderoso.

O interessante é que se você, por um azar do destino, ainda usa o Windows também terá a chance de usar este programa. Aliás, hoje mesmo vi um tutorial no Imasters do Fabio Pereira que é excelente para mostrar esta aplicação. Parabéns ao pessoal do Imasters, vocês continuam na ponta. Segue o link: http://imasters.uol.com.br/artigo/7858/linux/software_livre_para_web_desenho_vetorial_com_inkscape/

Vale a pena conferir... eu já criei algumas coisas aqui para a empresa e ninguém percebeu que não usei o Corel Draw... ops, agora eles já sabem.

Boa sorte neste maravilhoso mundo novo!

13 novembro 2007

Java, Java... FX

Para aqueles que não conhecem ou acham bobagem conhecer a Sun está fermentando mais uma bomba... o JavaFX... (atenção, não é plagio do Black Kamen Rider). O javaFX é a tecnologia que a Sun está trabalhando para concorrer no mercado RIA (Rich Interface Applications), que são as interfaces "bonitinhas e cheias de frescuras da web"; brincadeiras a parte esta tecnologia, ou melhor, esta coleção de tecnologias empregadas para produzir a sensação de desktop para os aplicativos web é a grande onda promovida e provedora da Web 2.0. Pelo que pude observar na palestra sobre o JavaFX de Sérgio Lopes, instrutor da Caelum a tecnologia ainda é pouco evoluida, em fase quase embrionária (apesar de estar lançada desde maio deste ano), mas a idéia já está com um foco tremendo. Não conheço nenhum profissional que trabalhe com isso na atualidade (opa, nicho a vista);

O JavaFX parece bastante com o ActionScript, talvez o 2, mas tem suas particularidades. É Orientado a Objetos, respeitando a grande tendência das programações atuais. Pra quem pensa que eu vou postar o Hello World se engana, pois, você pode muito bem ver isso no próprio site da Sun e aprender muito mais lá.

Qualquer dúvida ou pergunta estou a disposição.

Abraços e que Deus proteja a todos!
Google

Avast! Home

avast! Professional

Xara Extreme

Xara Extreme