Pesquisar

quarta-feira, 29 de julho de 2009

Aprenda o TInés para se dar bem

"Com a governança dos processos de negocios facilitada pelo uso de SOA, o alinhamento dos negocios com a T.I. se tornou mais ágil. Nossa empresa também está pensando em levar para as nuvens nossa infra-estrutura de armazenamento."

Escutei, exatamente, isso numa palestra que um CIO apresentava e acredito que ele sabia exatamente o que estava falando. O fato não é se ele sabia ou não o que dizia e sim que todos prestavam com atenção e respeito pelas palavras do homem bem vestido.

Não quero, de jeito algum, diminuir os substantivos (e seus livros, teorias...) mas apenas alertar que usar palavras "corretas" numa entrevista pode te dar vantagens em relação aos outros entrevistados.
Deixe pra discutir se essas buzzwords são modas ou vieram pra ficar com seus amigos ou no seu blog.

sexta-feira, 17 de julho de 2009

Arquitetura e Design de Software Uma visão sobre a plataforma Java drafts....

No mês de maio de 2009, postei aqui sobre um investimento que você iria fazer que era certeza de ROI!
( pra quem não se lembra clique aqui)

O livro (ainda WIP - Work In Progress) Arquitetura e Design de Software Uma visão sobre a plataforma Java já mostra um pouco da sua cara, o pessoal liberou alguns PDFs iniciais com um pouco do conteúdo do livro (que mais uma vez sai em Novembro desse ano (2009), se tudo correr bem claro!)!

Pra quem deseja fazer o download desses rascunhos iniciais do livro Arquitetura e Design de Software Uma visão sobre a plataforma Java clique aqui.

fonte original: http://blog.caelum.com.br/2009/07/17/livro-arquitetura-e-design-de-software-4-topicos-do-draft-liberados/

quarta-feira, 1 de julho de 2009

JSF 2.0 na prática - Navegação implicíta

Novas características do JSF 2.0 na prática - Navegação implicíta

Depois do primeiro exemplo (primeiro exemplo), vamos tentar explorar as novas características. A primeira delas, a anotação @ManagedBean, já foi usada no primeiro exemplo.

Navegação padrão...

Cansado ou triste por ter que escrever navigation-rules pra coisas muito obvias... O padrão JSF 2 trouxe dos já-bem-conhecidos frameworks a idéia de só ter que criar uma regra de navegação na exceção, nos casos comuns prevalece o "bom senso"...
Bem o seu bom senso pode ser diferente do meu que pode ser diferente do Super Mario que por sua vez também pode ser diferente do Senhor Abravanel. Leia sobre essa regra em http://blog.gilliard.eti.br/2009/05/implicit-navigation-jsf-2/

De volta ao exemplo

Para demonstrar como essa característica funciona na prática, adicione o seguinte componente a nossa página index.xhtml.

[br /][h:commandButton value="Navegação implícita!" action="login"/]

Além disso crie uma página com nome login.xhtml
[?xml version="1.0" encoding="ISO-8859-1" ?]
[!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"]
[html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"]
[head]
[title]ArchSoftyJSF2[/title]
[/head]
[body]
[h:form]
[h:outputText value="Login!"/]
[/h:form]
[/body]
[/html]

Pronto agora quando clicar no botão [Navegação implícita!] a página que será mostrada será a login.xhtml.

Ainda sem o faces-config.xml!

Exemplo simples usando JavaServer Faces 2.0 (BETA1) JSF 2 + Eclipse Galileo + Tomcat 6x

O que necessito?
  1. 1. Tomcat: http://tomcat.apache.org/download-60.cgi (ou algo que "rode" a espec. JSP2.5)
  2. 2. JSF 2.0 BETA1: https://javaserverfaces.dev.java.net/files/documents/1866/135560/mojarra-2.0.0-Beta1-binary.zip
  3. 3. Eclispe Galileo: http://www.eclipse.org/downloads/ (ou Netbeans 6.7, gnome-editor, vi, notepad...)
  4. 4. JDK 6.0: http://java.sun.com/javase/downloads/index.jsp


Primeiro passo.

Crie um projeto java web. No caso especifico do Eclipse essa categoria se chama: "Dynamic Web Project", nomei o projeto como desejar, eu usarei o nome "ArchSoftyJSF2"; ainda no Eclipse escolhi como "Target runtime" o Apache Tomcat v6.0 e já cliquei em Finish.

Segundo passo.

Coloque os dois jars - jsf-api.jar e jsf-impl.jar - no classpath da aplicação.

Terceiro passo.

Modifique o arquivo web.xml, adicionando um Servlet.
[servlet]
[servlet-name]Faces Servlet[/servlet-name]
[servlet-class]javax.faces.webapp.FacesServlet[/servlet-class]
[/servlet]

[servlet-mapping]
[servlet-name]Faces Servlet[/servlet-name]
[url-pattern]*.jsf[/url-pattern]
[/servlet-mapping]

Quarto passo.

Crie um arquivo (index.xhtml) com o seguinte conteúdo.

[?xml version="1.0" encoding="ISO-8859-1" ?]
[!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"]
[html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"]
[head]
[title]ArchSoftyJSF2[/title]
[/head]
[body]
[h:form]
[h:outputText value="Alô, Mundão!"/]
[/h:form]
[/body]
[/html]

Quinto passo.

Rode e verá sua primeira aplicação usando Jsf 2.0 funcionando. Claro que se trata de um exemplo bem simples, pra deixar mais interessante vamos adicionar um botão e usar o novo modelo de managed bean (digo modelo no sentido de criação por meio de annotations).


Sexto passo.

Crie uma classe Java:

package presentation;

import javax.faces.bean.ManagedBean;

@ManagedBean(name="primeiroBean")
public class PrimeiroBeanMB {
private String texto;

public String getTexto() {
return texto;
}

public void setTexto(String texto) {
this.texto = texto;
}

public void mudeOTexto(){
texto = "Texto modificado!";
System.out.println(texto);
}
}


Sétimo passo.

Altere o index.xhtml mais precisamente mude o interior de ...

[h:form]
[h:outputText value="Alô, Mundão!"/]
[h:commandButton value="Mudar o texto" action="#{primeiroBean.mudeOTexto}"/]
[h:outputText value="#{primeiroBean.texto}"/]
[/h:form]

Agora é só rodar... Sentiu a ausência do faces-config.xml?

ps: desculpe a preguiça de apenas mudar <<>> por ]