segunda-feira, 24 de fevereiro de 2014

Motivação para uma nova arquitetura de aplicações corporativas


Realmente, o meu artigo "É hora de balançar a árvore", rendeu muita polêmica. E a ideia era essa mesmo. Porém, alguns comentários que recebi me fizeram refletir muito, e, depois de tanto pensar e pesquisar, vi que eu estou certo, e que, ao adotar esse "emaranhado" de frameworks do ecossistema corporativo Java, estamos criando um passivo técnico gigantesco para o futuro.


domingo, 23 de fevereiro de 2014

Ajuda para resolver problemas detetados no código fonte


Recebi um email furioso / desesperado de um leitor do Blog, o qual, com razão, solicita ajuda para resolver problemas detetados em uma recente análise de código, feita depois do nosso artigo "Análise de código fonte em Java com ferramentas livres". Apesar de ser um Domingo, e eu ter acabado de acordar, acho que vale um post sobre o assunto, pois tenho responsabilidade com aquilo que publico para vocês. Vamos ver rapidamente em que posso ajudar.

sexta-feira, 21 de fevereiro de 2014

Sonar vai deixar de calcular a métrica LCOM4

Conforme a entrada no JIRA do SONAR número 4853, cujo título é: "Remove support of LCOM4", o SONAR (agora quer ser chamado de "SonarQube") vai deixar de calcular e reportar a métrica LCOM4, a única de coesão de classe que ele calculava. E, ainda por cima, não dá suporte às outras métricas LCOM, como LCOM3 e LCOM5. O motivo alegado é: "this metric generates too many false-positives to be really usable" .

quarta-feira, 19 de fevereiro de 2014

É hora de balançar a árvore!


Como estarão suas aplicações Java daqui a 5 anos? Será que o seu lindo framework Java (TM) estará atualizado? Será que vai acomodar bem as inovações? Será que sua arquitetura é flexível o suficiente para encarar a crescente ubiquidade de informações? Como Arquiteto de Software e autor de vários livros sobre Java, acho que chegou a hora de fazer um "mea culpa" e repensar, com vocês, a arquitetura do que estamos criando agora, de modo a evitarmos "legados" no futuro.


segunda-feira, 17 de fevereiro de 2014

Infrastructure As Code (IAC)

Continuando nossa série de artigos sobre Entrega Contínua (Continuous Delivery) e DevOps, vamos falar sobre uma técnica muito importante e necessária para atingir esses dois objetivos: Infrastructure As Code, uma abordagem diferente de encarar a infraestrutura de TI, que é a base para outras técnicas, como: PaaS e SaaS.


sexta-feira, 14 de fevereiro de 2014

Análise de Código e Qualidade de Software


Sem dúvida, a maior causa de problemas de baixa qualidade de software é A PEÇA! Mais especificamente, a peça que fica entre a cadeira e o teclado, seja ela Gerente ou Desenvolvedor. Soluções idiotas, como a da Foto, são frequentemente encontradas e justificadas pelos seus criadores. Ontem, ministrei a palestra Análise de Código Fonte com Ferramentas Open Source, pelo CISL, muita gente fez perguntas sobre assuntos que já foram discutidos aqui, no nosso Blog, então, fiz uma "Set List" com os mais importantes e que respondem a maior parte das dúvidas.


quinta-feira, 13 de fevereiro de 2014

Síndrome da má gestão em TI


Um amigo meu, que é gerente de uma área de TI, reclamou que eu bato muito na gestão e pouco nos técnicos. Bem, na verdade, eu acredito que o maior mal das áreas de TI no Brasil é o despreparo dos gerentes. E, devo pedir desculpas aos gerentes, mas vou dar mais três socos na cara (usando um soco inglês): Verticalização, Micro gerenciamento e Gestão "por Espasmos".


quarta-feira, 12 de fevereiro de 2014

Não perca minha palestra de amanhã


Análise de código com ferramentas open source, pelo CISL - Comitê de Implantação de Software Livre do Governo Federal. Será as 10:00, com transmissão ao vivo.

Resumo:
Diante das mudanças que as ferramentas de análise de código estão passando, é melhor nos garantirmos usando apenas ferramentas realmente Open Source. E isso tem algumas razões:
- Maior transparências, através do uso de padrões consagrados de mercado e de código realmente aberto;
- Uma única codebase, sem "versão enterprise", ou suporte "premium";
- Comunidade ativa e engajada.

terça-feira, 11 de fevereiro de 2014

Java ainda em segundo lugar


De acordo com a lista TIOBE, de popularidade das linguagens de programação, em Fevereiro de 2014 as três mais populares são, nesta ordem: "C", Java (TM) e Objective-C. O que isto significa para nós, desenvolvedores? Qual é a mensagem que o Mercado está nos passando?


segunda-feira, 10 de fevereiro de 2014

Application Lifecycle Management e Automação do desenvolvimento


Como pensar em Entrega Contínua e DevOps, sem pensar em automação do ALM (Application Lifecycle Management)? Como podemos pensar em "Push button deploy" sem termos certeza do que estamos liberando e quando?

Neste artigo, que segue nossa série sobre Continuous Delivery e DevOps, vamos falar um pouco sobre ALM e sua automação, revendo conceitos e apresentando os desafios e soluções existentes.


sábado, 8 de fevereiro de 2014

Novo livro: Entrega contínua e DevOps


É, meus amigos, ano novo, livro novo! Acabei de lançar meu novo livro, Qualidade de Software na Prática, e já estou entregando outro à editora, com o título provisório de Entrega Contínua e DevOps. Na verdade, são dois métodos derivados das boas práticas de qualidade de software, sendo uma evolução natural de tudo o que venho pregando, ao longo desses anos. Este novo livro, é o complemento ideal para a sequência das minhas publicações. Espero continuar contando com o seu apoio! Ah, e não deixe de usar nossa ferramenta de qualidade de código Java: jQana!

sexta-feira, 7 de fevereiro de 2014

X-tudo As A Service

Vamos iniciar hoje uma série de artigos sobre "Continuous Delivery" (Entrega contínua) e DevOps. Dois conceitos que estão transformando o mercado de desenvolvimento de software e você, como "Bom Programador", tem que conhecer bem. Começaremos falando sobre os conceitos que motivaram o surgimento desses dois métodos de desenvolvimento e entrega de software: Tudo As A Service, ou seja: Software As A Service, Platform As A Service e Infrastructure As A Service.


quinta-feira, 6 de fevereiro de 2014

Vem aí nosso novo projeto: jQana Control


O projeto jQana , nossa ferramenta livre de análise de código fonte Java, está fazendo sucesso, porém, ainda falta uma funcionalidade bem interessante: Um painel de controle, com visão de múltiplas amostragens, o que permite tirar conclusões rapidamente sobre o estado e a evolução da qualidade do software. Veja aqui nosso novo projeto de ferramenta Livre: o jQana Control.

quarta-feira, 5 de fevereiro de 2014

Dependência entre pacotes

Muito se pode dizer sobre a Arquitetura de um software, apenas estudando os relacionamentos de dependência entre seus Pacotes. Continuando nosso "papo" sobre Arquitetura, vamos estudar um pouco os tipos de dependências entre Pacotes e seu reflexo na qualidade de um software.


terça-feira, 4 de fevereiro de 2014

Nova versão do jQana disponível


Concluímos o "milestone" para melhorar o código e lançamos a versão Beta 2 (0.0.4), que já está pronta para uso em nosso repositório Maven. Confira em nossa página da ferramenta, na qual você poderá ter acesso ao código fonte atualizado. Não há mudanças funcionais, apenas investimos na melhoria de qualidade do código fonte do jQana, alcançando resultados muito positivos (89% de cobertura de testes), e também disponibilizamos o JavaDoc do jQana.


segunda-feira, 3 de fevereiro de 2014

Camadas x Pacotes



"Dividir para conquistar", esta é a maneira pela qual os desenvolvedores modernos lidam com a complexidade. Os softwares são divididos em diversas partes, seguindo várias tendências e metodologias (design patterns, 3-tier etc), e estas partes são interconectadas para formar o todo.

Recentemente, recebi um questionamento muito interessante, vindo de um ex-aluno meu: Camadas e Pacotes são sinônimos? Então, resolvi "fuçar" um pouco o assunto e tentar dar minha contribuição para esclarecer as coisas.