Reuso Efetivo de Software

26/11/2009

Reúso pode ser difícil, especialmente em grandes empresas. Vijay Narayanan oferece 10 dicas práticas para assegurar o reúso efetivo de componentes de software. O propósito deste artigo é apresentar algumas dicas de como ter sucesso com o reúso sistemático baseado na minha experiência em vários projetos. A intenção é que artigo não seja cansativo e sim que desenvolvedores e líderes de equipe apreciem a variedade de estratégias – técnicas e não-técnicas – de que é preciso aplicar para ter sucesso com reúso sistemático.” Segue as dicas:

  1. Focar nos recursos específicos de domínio do software.
  2. Nomeie seus componentes de software apropriadamente.
  3. Não tem certeza se é algo reutilizável? Atrase o comprometimento.
  4. Evolua Componentes Reutilizáveis Iterativamente.
  5. Ser Consistente é mais importante do que seguir um padrão de indústria.
  6. Conduza revisões de código.
  7. Nunca lance um componente de software reutilizável sem uma suíte de testes de regressão automatizado.
  8. Entenda as necessidades do negócio antes de tentar persuadir.
  9. Crie componentes de software reutilizável sempre que possível.
  10. Busque requisitos do suporte a produção para seus componentes reutilizáveis.

“Toda arma forjada contra ti não prosperará; toda língua que ousar contra ti em juízo, tu a condenarás; esta é a herança dos servos do SENHOR e o seu direito que de mim procede, diz o SENHOR.” Isaías 54:17

Componentes JSF EasyFaces

25/11/2009

Segue neste post mais um kit de componentes baseado na especificação JSF chamado de EasyFaces. O grande diferencial deste kit é que ele é completamente Brazuca e atende as necessidades relacionados ao nosso contexto comercial. Os componentes se dividem em 4 grupos:

1. Input:
Input CEP
Input CNPJ
Input CPF
Input Currency
Input Email
Input Mask
Input Phone

2. Output:
Output Calendar
Output CEP
Output CNPJ
Output CPF
Output Currency
Output Mask
Output Phone

3. Security:
Password Strength
Virtual Keyboard

4. Miscellaneuos:
Image Gallery
Mp3 Player
Select One Menu
Video Player

“O SENHOR é a minha luz e a minha salvação; de quem terei medo? O SENHOR é a fortaleza da minha vida; a quem temerei ?” Salmos 27:1

Web Como Plataforma ?

20/11/2009

A evolução natural da tecnologia aponta para a web como o engine fundamental de sua existência. Para aqueles que ainda não estão convencidos disso,…. que respondam as seguintes perguntas básicas:

  1. Quais são atividades que você tem feito em um computador ? Pare para pensar ?
  2. Você usaria um computador hoje sem conexão web ?

A resposta é não. Claro que não !!!  Sem conexão web não faz nem sentido ligar um computador. Relacionado com o setor de desenvolvimento, vemos há algum tempo a sigla RIA que aponta para a evolução do paradigma de construir e usar aplicativos via web. Outra grande prova disso é o lançamento oficial do sistema operacional da Google chamado de Open Source Chromium OS. Ele é completamente construído como se fosse  um grande navegador de internet, executando apenas aplicações web, sem qualquer ligação com as paradigmas atuais. Vejam o vídeo muito bem elaborado que apresenta toda a motivação da questão:

“Nos muitos cuidados que dentro de mim se multiplicam, as tuas consolações me alegram a alma.” Salmos 94:19

Java Garbage Collection, Monitoring and Tuning

19/11/2009

Veja o artigo com o PDF, comentários e referências sobre ferramentas que podem ser usadas no monitoramento e tunning de memoria em aplicativos java.

“Assim, pois, seguimos as coisas da paz e também as da edificação de uns para com os outros.” Romanos 14:19

PRG Pattern com JSF 2.0

17/11/2009

Michael Jouravlev escreveu um influente artigo em agosto de 2004 chamado de Redirect After Post que descreveu o problema que muitas aplicações web possuem. O problema foi descrito como:

A interação de uma aplicação deve providenciar 2 funções básicas: obter dados do usuário e apresentar resultados. Aplicativos web implementam esse comportamento usando métodos do protocolo HTTP GET e POST. O problema acontece quando uma pagina é retornada na resposta de um HTTP POST. Peculiaridades do HTTP POST combinado com a idiossincrasias dos diferentes navegadores levaram os usuários a ter algumas péssimas experiencias, produzindo incorreto estado no servidor relacionado com as paginas nos navegadores.

Para solucionar esse problema, Jouravlev described descreveu a técnica chamada de POST-REDIRECT-GET ou PRG pattern. Resumidamente o padrão afirma:

  • Nunca apresente paginas na resposta de um POST.
  • Sempre carrege uma pagina usando GET.
  • Navegações de POST para GET devem ser feitos com REDIRECT.

As versões anteriores do JavaServer Faces (JSF) violava a primeira regra usando POST para cada navegação de pagina. O fato ocorre porque a navegação de uma pagina para outra, dentro dos aplicativos JSF, são feitos através da API base do servlet:  RequestDispatcher.forward( ), fazendo com depois de um POST uma nova pagina fosse enviada para o navegador.

Veja neste artigo escrito por Ed Burns apresentando como fazer para que a regras PRG possa ser 100% implementadas usando a ultima versão do JSF 2.0.

“O SENHOR, teu Deus, está no meio de ti, poderoso para salvar-te; ele se deleitará em ti com alegria; renovar-te-á no seu amor, regozijar-se-á em ti com júbilo.” Sofonias 3:17

Cartão de Referência – GlassFish Application Server v3

16/11/2009

14321Foi disponibilizado para donwload o cartão de referência do Glassfish versão 3 apresentando uma introdução daquilo que ele pode fazer. O cartão mostra dicas relacionados aos pontos principais como: daily administration tasks, security, monitoring e outras funcionalidades.

Regozijai-vos sempre. Orai sem cessar. Em tudo, dai graças, porque esta é a vontade de Deus em Cristo Jesus para convosco. 1 Tessalonicenses 5:16-18

Tutorial Básico de Swing

10/11/2009

111-almost_portlets“O tutorial apresenta um sistema simples de cadastro com o objetivo de explicar como funciona os componentes básicos do framework swing (JTextField, JTextArea, JRadioButton, ButtonGroup, JCheckBox, JComboBox, etc), para isso utilizaremos a IDE NetBeans 5.5.1 para construir nossa interface, aprenderemos como manipular os métodos mais importantes para se trabalhar com estes componentes, e como manipular suas propriedades.” Ótimo material para quem esta começando ;)

Porque o meu jugo é suave, e o meu fardo é leve.” Mateus 11:30

Campanha Voucher Retake

09/11/2009

pic_01

 

 

 

 

Comprando seu voucher pela web de 03 de Novembro à 11 de Dezembro de 2009, você terá direito à segunda chance gratuitamente, caso não obtenha êxito na primeira tentativa !

Para adquirir é simples:

  1. Acesse http://www.sun.com.br/edu, no tópico “Procurar por tipo de Produto” clique em “Certificações”;
  2. Identifique a certificação que você deseja obter com base em seus objetivos profissionais e de desenvolvimento pessoais;
  3. Preencha corretamente o formulário e assegure que todos os campos estejam corretos;
  4. Clique em “Confirmar e enviar pedido”;
  5. Aguarde o recebimento do boleto bancário, em até 15 dias úteis, no endereço de e-mail cadastrado no formulário de compra;
  6. Após a confirmação do pagamento, os vouchers serão enviados fisicamente para o endereço cadastrado no formulário de compra.

Dê os próximos passos, aprimore suas habilidades e avance em sua carreira!
Se tiver alguma dúvida ou desejar fornecer feedback, envie uma mensagem para sun.education@sun.com.

Atenciosamente,
Serviços Educacionais Sun
sun.education@sun.com
www.sun.com.br/edu

Relatórios com JMEReport

09/11/2009

images“A maioria dos sistemas comerciais, seja móvel ou não, necessita de relatórios para mostrar de forma resumida a entrada e processamento dos dados. Através do blog Mobilidade é tudo descobrimos o MEReport, responsável por realizar essa tarefa de forma bastante simples.
A API ainda está sendo construída e precisando de desenvolvedores para contribuir no andamento do projeto.” Acesse o artigo para todas informações.

“Honra ao SENHOR com os teus bens e com as primícias de toda a tua renda.” Provérbios 3:9

Dependency Injection com JSF 2.0

06/11/2009

l2_jsf2.0_tipVeja o artigo que cobre algumas das novas funcionalidades do JEE 6: JSR 299: Contexts and Dependency Injection, JSR 330: Dependency Injection For Java e JSR 314: JavaServer Faces 2.0. em uma aplicação JSF 2.0 completa.

JSR 299: Contexts and Dependency Injection (CDI) define um conjunto de serviços para o ambiente JEE que facilita o desenvolvimento da aplicações. CDI providencia uma arquitetura que permite que componentes JEE como servlets, ejb e simples pojos possam ser manipulados dentro do ciclo de vida da aplicação com escopos bem definidos.  CDI também permite que componentes JEE, ejb e jsf managed beans serem injetados com baixo acoplamento, unificando e simplificando o modelo de programação entre estas duas tecnologias. Dentro dos muitos serviços, CDI traz suporte a transação dentro do web container, facilitando a utilização de recursos relacionados as fontes de dados e mecanismos de persistência. Por exemplo, com CDI fica muito fácil construir uma aplicação web que acesse um banco de dados usando como persistência  a especificação do JPA.

JSR 330: Dependency Injection For Java defini um padrão para um conjunto de anotações que pode ser usado com injeção de dependência. Ioc é uma técnica bem popular atualmente no desenvolvimento de aplicações java.

JSR 314: JavaServer Faces 2.0 providencia um framework de componentes que roda no servidor projetado para simplificar o desenvolvimento de aplicações com interfaces gráficas com aplicativos web JEE. A ultima versão é a 2.0 que faz o desenvolvimento de componentes UI bem mais fácil suportando as anotações e agora com o suporte native a Facelets.

java_ee_cdi

Para todas as informações acesse o artigo.

“Assim, afirmemos confiantemente: O Senhor é o meu auxílio, não temerei; que me poderá fazer o homem ?” Hebreus 13:6