quarta-feira, 2 de outubro de 2013

Atualizando DataTables dinamicamente (I)

Nesta nova série de posts vou mostrar como utilizar JSF, JPA, Spring e Primefaces para criar um mecanismo que atualiza os dados de DataTables de uma mesma aplicação automaticamente, mesmo que estejam executando em máquinas diferentes (ou seja, em sessões de navegadores diferentes). Confira a série toda aqui: Primefaces

Como pré-requisito, toda a estrutura em camadas que foi mostrada na série anterior (vejam neste link: Spring + JPA).

Começaremos com a lista de bibliotecas que eu usei no projeto:

antlr-2.7.7.jar
aopalliance-1.0.jar
asm-attrs.jar
asm.jar
cglib-2.1.3.jar
commons-beanutils-1.8.2.jar
commons-collections-3.2.1.jar
commons-digester-1.7.jar
commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-javaflow-20060411.jar
commons-lang-2.6.jar
commons-lang3-3.1.jar
commons-logging-1.1.jar
commons-logging.jar
dom4j-1.6.1.jar
groovy-all-2.0.1.jar
hibernate-commons-annotations-4.0.1.Final.jar
hibernate-core-4.1.8.Final.jar
hibernate-entitymanager-4.1.8.Final.jar
hibernate-jpa-2.0-api-1.0.1.Final.jar
iText-2.1.7.jar
jasperreports-4.5.1.jar
javassist-3.15.0-GA.jar
javax.faces-2.1.4.jar
jaxb-api-2.1.jar
jaxb-impl-2.1.3.jar
jboss-logging-3.1.0.GA.jar
jboss-transaction-api_1.1_spec-1.0.0.Final.jar
joda-time-2.1.jar
jstl.jar
jxl-2.6.10.jar
log4j-1.2.16.jar
mysql-connector-java-5.1.6-bin.jar
org.springframework.aop-3.1.2.RELEASE.jar
org.springframework.asm-3.1.2.RELEASE.jar
org.springframework.aspects-3.1.2.RELEASE.jar
org.springframework.beans-3.1.2.RELEASE.jar
org.springframework.context-3.1.2.RELEASE.jar
org.springframework.context.support-3.1.2.RELEASE.jar
org.springframework.core-3.1.2.RELEASE.jar
org.springframework.expression-3.1.2.RELEASE.jar
org.springframework.instrument-3.1.2.RELEASE.jar
org.springframework.instrument.tomcat-3.1.2.RELEASE.jar
org.springframework.jdbc-3.1.2.RELEASE.jar
org.springframework.jms-3.1.2.RELEASE.jar
org.springframework.orm-3.1.2.RELEASE.jar
org.springframework.oxm-3.1.2.RELEASE.jar
org.springframework.test-3.1.2.RELEASE.jar
org.springframework.transaction-3.1.2.RELEASE.jar
org.springframework.web-3.1.2.RELEASE.jar
org.springframework.web.portlet-3.1.2.RELEASE.jar
org.springframework.web.servlet-3.1.2.RELEASE.jar
org.springframework.web.struts-3.1.2.RELEASE.jar
poi-3.7-20101029.jar
postgresql-9.2-1000.jdbc4.jar
primefaces-3.6-20130315.085445-6.jar
primefaces-extensions-0.7.0.jar
redmond-1.0.10.jar
spring-ldap-1.3.1.RELEASE-all.jar
spring-security-3.0.0.RELEASE.zip
spring-security-acl-3.1.2.RELEASE.jar
spring-security-aspects-3.1.2.RELEASE.jar
spring-security-cas-3.1.2.RELEASE.jar
spring-security-config-3.1.2.RELEASE.jar
spring-security-core-3.1.2.RELEASE.jar
spring-security-crypto-3.1.2.RELEASE.jar
spring-security-ldap-3.1.2.RELEASE.jar
spring-security-openid-3.1.2.RELEASE.jar
spring-security-remoting-3.1.2.RELEASE.jar
spring-security-taglibs-3.1.2.RELEASE.jar
spring-security-web-3.1.2.RELEASE.jar
standard.jar
xstream-1.3.1.jar

É claro que nem todas serão necessárias no momento, mas é o que eu uso com mais frequência e vou deixar a lista assim, porque com todos esses arquivos o funcionamento é garantido. Algumas versões já são um pouco antigas, e provavelmente uma migração exija alguns ajustes.

O ambiente é o JBoss as 7.1.1, NetBeans 7.3.1, Java 7, Hibernate 4, JPA 2, MySQL ou PostgreSQL, Primefaces 3.6 ou superior.

Devemos começar configurando o JBoss:
  1. Para instalar a versão 7.1.1, basta fazer o download, descompactar, e copiar os arquivos jar do MySQL e/ou do PostgreSQL para a pasta <pasta_do_JBoss>/standalone/deployments e o próprio servidor se encarregará de instalar os módulos.
  2. Há um script na pasta bin do JBoss chamado add-user.sh (ou add-user.bat, para Windows). É necessário executar esse script e seguir as indicações para cadastrar um usuário e senha de administrador.
  3. Em seguida, instalar o JBoss no NetBeans (a versão 7.1.1 do JBoss só é suportada a partir da versão 7.3.1 do NetBeans).
  4. Depois de iniciar o JBoss pelo NetBeans, é preciso acessar o Console Admin (em serviços - botão direito do mouse sobre o JBoss, escolher Visualizar Console Admin ou entrando pelo endereço localhost:9990, geralmente).
  5. Já na tela de administração,é preciso configurar um datasource:
  • No canto direito superior escolher Profile, em seguida no menu à esquerda escolher Datasources, e na tela central escolher add.
  • Preencher Name e JNDI Name, lembrando que o JNDI Name deve coincidir com o jndi-name usado no jboss-web.xml (no meu caso, java:/fonteDeDados).
  • Na tela seguinte escolher o banco de dados (MySQL, PostgreSQL).
  • Na tela seguinte preencher com os dados da conexão (jdbc:postgresql://meuServidor:5432/meuBancoDeDados, usuário e senha do banco).
  • Quando a configuração voltar para a lista de Datasources, é preciso selecionar o Datasource que acabou de ser instalado e clicar em enable para habilitar. Se acontecer algum erro, é só remover e fazer tudo novamente.
Depois do JBoss configurado, a estrutura mostrada na série de posts anterior vai se conectar ao datasource fonteDeDados, e qualquer alteração de servidor ou tecnologia de banco de dados será feita diretamente no console admin do JBoss. Ou seja: para a aplicação, a configuração da conexão com um banco de dados é totalmente delegada ao datasource.


Neste ponto, já é possível executar o aplicativo, fazer a autenticação e visualizar a página index.xhtml padrão criada pelo NetBeans. É claro que todos os passos da configuração do Spring e Spring Security mostradas anteriormente devem ser seguidos.

No próximo post, a configuração do Primefaces e a criação da primeira página do projeto.

Nenhum comentário:

Postar um comentário