Posts

Perdendo o medo de mudar código

Image
Hoje em dia, cada vez mais e difícil fazer um sistema do zero, sempre é necessário realizar integrações com outros sistemas da empresa, sistemas de fornecedores, sistemas do governo e principalmente sistemas legados. Hoje em dia ainda que pareça absurdo a maioria dos projetos não trabalham com testes unitários, concordo que nem sempre será possível trabalhar com testes unitários por que as vezes você não tem o que testar, ou a lógica esta em outra aplicação/camada/tecnologia ou o tempo para realizar versus o beneficio não se paga. Qualquer linguagem OO moderna tem bons frameworks de testes unitários, falando de Java e .NET existem vários, mas mesmo assim existem muito e muitos sistemas feitos sem testes unitários, não usar este nível de testes além da perda da regressão(Falando de unidade) existem outros problemas. O Medo de mudar o código Medo de Mudar código? Acredito que o ponto seja este mesmo. No final das contas os desenvolvedores ficam com medo, literalmente, logo ac...

Extensão do Curso de Spring Framework

Pessoal, é com orgulho que venho publicar o primeiro anexo de atualização e novos recursos ao curso de Spring Framework . O curso que disponibilizei era focado em Spring 2.X sendo que todos os recursos eram válidos para o Spring 2.5, agora neste anexo vou mostrar as novas facilidades de anotações do Spring 2.5 e bem como novos recursos como JMX, JSF e testes com o TestNG, vários destes recursos já existiam no spring 2.0 mas não estavam presentes no curso, agora você pode utilizar estes recursos nesta nova apostila que é incremental a apostila do curso. Confira o conteúdo detalhado deste anexo: Anotações @Required @Autowired @Qualifier @PostConstruct @PreDestroy @Service @Repository @Component @Resource Testes com anotações e TestNG AbstractTestNGSpringContextTests @Test Integração com JSF e Jboss RichFaces Configuração de toda aplicação e utilização Expondo Beans com JMX MBean Exporter Para este anexo que chamei de Anotações e Web você tem a disposição os sli...

Seja Inteligente e não use Agile

Image
Você não precisa ser agile, você pode fazer um projeto e ter sucesso sem usar agile. Mais softwares foram feitos sem agile ou qualquer metodologia, leia-se AD-HOC, do que com métodos agéis. Neste posto gostaria de esclarecer o diversos enganos que os ditos "agilistas" erram quando falamos de processos tradicionais e desenvolvimento de software. Em outro post depois falar dos pontos positivos, ou seja, do que é bom mesmo. Mas neste post vou focar neste equívocos que o pessoal comente ou omitem de propósito. Vou falar de algumas falácias também... Hoje em dia muitos colocam como os métodos ágeis sendo a única solução que funciona para o desenvolvimento de software, será que isso é verdade, será que não existem outras opções? Será que esta é a única solução e será que isso funciona sempre e não tem defeitos. Primeiro Passo: Escolhendo as palavras mágicas Palavras Mágicas Não posso negar o marketing dos caras é bom. Qual metodologia você gostaria de usar, para facilitar a sua esc...

Interoperabilidade na prática JEE 5(JBoss) com .NET (C# framework 3.5) parte 2

Image
No post anterior mostrei como criar um Webservice em Java EE5 usando EJB3 e rodando a aplicação no JBoss AS 5.1, o webservice foi consumido em uma aplicação C#. Tudo isso foi possível por que as duas implementações(java e .net) implementam WS-I Basic Profile. Neste post vou mostrar como criar um Webservice em Aspx usando C# como linguagem de implementação e vamos consumir este Webservice com uma aplicação Java usando o Jax-WS. Antes de começar vamos as dependências para execução destas aplicações. Dependências das Aplicações Java JDK 6_16 Jax-WS 2.1.x eclipse 3.4.x Visual Studio 2008 SoapUI Aplicação .net Agora vamos criar a aplicação .net que disponibiliza um Webservice. Abra o visual studio 2008 e crie uma aplicação do tipo ASP.NET Web Service, o visual studio vai criar um código de exemplo com um olá mundo, nos vamos modificar este código. Atenção : O Visual Studio se perde quando mudamos o namespace e o nome da classe do Webservice, você precisa abrir o arquivo a...

Interoperabilidade na prática JEE 5(JBoss) com .NET (C# framework 3.5) parte 1

Image
O desenvolvimento de software corporativo de hoje tem que suportar a interoperabilidade de serviços entre diversas plataformas, neste post vou mostrar como podemos fazer serviços/aplicações escritas em Java com JEE 5 no Jboss 5.1 conversar com uma aplicação C# com .net Framework 3.5 . Vou realizar esta conversa usando Webservice, tanto a solução do lado do Java como a solução do lado do .Net precisam implementar WS-I Basic Profile 1.1 , quando criamos um Webservice com C# no .net Framework 3.5 ele já implementa WS-I Basic profile 1.1 o mesmo acontece ao utilizarmos do lado do Java o Jax-WS 2.x . Como vou rodar a solução Java no JBoss AS 5.01GA vamos estar utilizando o JBoss WS . Interoperabilidade de Webservices Na prática webservices não são 100% interoperaveis, ainda existem diversos gaps para realizar a comunicação, mas existe uma organização que é a WS-I que define os padrões de comunicação para padronização de interoperabilidade de webservices. No total existem mais de 50 e...

PaaS, Cloud Computing, Virtualização e o Futuro parte 2

Image
No post anterior PaaS, Cloud Computing, Virtualização e o Futuro parte 1 comentei sobre algumas deficiências que existem hoje em dia no desenvolvimento de software. Dentre elas foquei nas dificuldades de criar um software que se escalável e no descolamento que existe do desenvolvimento para produção/operação. Na continuação do assunto, gostaria de salientar o obvio, ou seja, não existe bala de prata, PaaS, Cloud Computing e Virtualização não são soluções para todos os problemas e para todos os tipos de aplicações e cenários. Então vou começar falando um pouco mais do que se trata estas tecnologias, focando em conceito. Depois irei falar sobre o que anda acontecendo no mercado e o que pode vir a ser o futuro, acredito que muita inovação vai surgir nos próximos 2 anos e pode ser o novo paradigma de desenvolvimento de software. Virtualização Em poucas palavras estamos falando de abstração. Pode ser abstrair/deixar transparente o hardware, mas você tem acesso a este hardware mas como se ...

PaaS, Cloud Computing, Virtualização e o Futuro parte 1

Image
Nestes últimos anos a tecnologia evoluiu muito, principalmente pela necessidade cada vez maior de termos sistemas escaláveis e com um menor custo de operação. Quando estamos desenvolvendo software em média estamos falando só de 20% do tempo de vida da aplicação, ou seja, a maior fatia da aplicação ela vai estar em produção. Com a tecnologia atual ainda é muito forte a necessidade de se ter uma boa arquitetura e pensar muito em como desenvolver aplicações, isto envolve pessoas + ferramentas e Processo acredito que isso não vai mudar, mas podemos ter facilidades que hoje não se utilizadas ou não estão acessíveis a todos. Teoricamente plataformas como a da Sun(Java) e a da Microsoft(.net) já nos provem diversas facilidades as mesmas que não existiam quando se programava em C ou até mesmo Clipper. Ja foi um grande salto de paradigma da programação estruturada para a OO e para as plataformas de Java e .net porem ainda falta muito. Cada vez mais as aplicações ficam mais complexas, mais usuá...