SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
Ajudando Pedro Alvares Cabral com
       geoprocessamento.


Carlos Alberto Junior Spohr Poletto
 http://carlos4web.wordpress.com
          @carlosjrcabello
 https://github.com/carlosjrcabello
   Centro Internacional de Hidroinformática;

   Aplicações de informações geográficas;

   Tecnologias;

   Aplicação de estudo de caso;
   Apresentação sobre o trabalho do CIH;

Entendimento sobre           aplicações    voltadas   a
geoprocessamento;

   Função e papel das tecnologias utilizadas;

   Aplicação para estudo de caso;

Clareamento das possibilidades com os recursos da
WEB atual;
Centro UNESCO - Categoria 2 (*)

(*) Rede mundial de 20 Centros Especializados,
credenciados pela UNESCO/PHI para trabalhar temas
relacionados com a gestão das águas.

CIH - Promover a HIDROINFORMÁTICA (*) aplicada em
gestão das águas.
(*) Ramo da Ciência da Computação dedicado a
gestão das águas.
• Dar Suporte aos Programas UNESCO-PHI: HELP,
FRIEND, ISI, ISARM, GRAPHIC e ao PHI-LAC,
COBRAPHI e CONAPHI – PY;
• Divulgar das boas práticas dos Governos Brasil e
Paraguai e da ITAIPU;
• Incentivar    as   relações   e   negócios    de
desenvolvimento e inovação tecnológica no âmbito
do Parque Tecnológico Itaipu;
• Desenvolver ferramentas em Software Livre de
Código Aberto para garantir o acesso universal à
Hidroinformática e intensificar a difusão dessas
ferramentas.
 Acrônimo de GIS - Geographic Information System;
 Manipulação e visualização de informações
geográficas como polígonos, linhas , pontos, etc.;
 Análise e projeção destas informações;
 Consultas espaciais ao invés do modelo relacional
tradicional;
 Padrões definidos pela Open Geospatial Consortium,
exemplos: OGC, WMS, WFS, WCS, WPS, KML, KMZ,
OWC, etc.;
   Mapeamento de casos de dengue;

   Mapeamento de crimes ocorridos (WikiCrimes);

 Viabilidade de      implantação   de   biodigestores
(SigBiogás - CIH);

   Sistemas de rotas e tráfego;

   Georreferenciamento de áreas produtivas (glebas);
   Já desenvolveu e/ou desenvolve para WEB ?

   Java EE ?

 Servidores de aplicação, Inversão de Controle e
injeção de dependências ?

   Conhece e/ou já utilizou PostgreSQL e/ou Postgis?

Conhecimentos em dados espaciais,               como
geometrias, servidores de mapas, etc.?
Apresentação e definição de todas as
      tecnologias utilizadas.
OpenLayers                 jQuery                       AJAX

                             XHTML



                           VRaptor 3.4

    Spring framework 3.0                          JPA 2

Outras APIs      Geotools             Hibernate       Hibernate Spatial




                       Banco de dados
                  (relacional + geográfico)
 Framework WEB focado em produtividade;
 Encapsula a complexidade da API javax.servlet;
 Pouca ou nenhuma dependência entre os seus
componentes nativos (core);
 Boas práticas adotadas:
     Convenção sobre configuração;
     Injeção de dependências;
     Forte orientação a objetos;
 Framework Brasileiro, mantido pela Caelum e a
comunidade;
 Separação de lógicas em forma de componentes
reutilizáveis;
 Redirecionamentos e encaminhamentos de maneira
programática;
 Mapeamento de URL’s amigáveis através de um
modelo REST;
 Suporte aos contêiners Spring, Pico e Guice;
 Serializadores e deserializadores para JSON, XML,
etc.;
   Paranamer;            jQuery UI;
   Guava;                jQuery.plugins;
   Apache Commons;       TinyMCE;
   Shapefilereader;      jQuery Validator;
   Primefaces;
   Jetty library

          Java                 Javascript
Desenvolvimento de uma aplicação de
estudo de caso para consolidar o
entendimento sobre aplicações de
geoprocessamento.
 Definição da regra de    Dependências;
negócio;                   Configurações         do
 Diagramação da regra    projeto;
de negócio (DER);          Classes beans/pojo;
                           Estrutura do template,
                          CSS      e     bibliotecas
                          Javascript;
                           Codificação e mão na
                          massa 
   Cadastro de propriedades;

   Cadastro de glebas;

Consulta das propriedades através de uma área
desenhada no mapa;

   Upload de um shapefile;
   CRUD de propriedades, a qual contém os campos:
       Id – Long;
       Nome da propriedade – String;
       Ponto de localização – Geometry (Point);
       Glebas – List das glebas da propriedade;
   CRUD de glebas, a qual contém os campos:
       Id – Long;
       Descrição – String;
       Propriedade – Referência da propriedade pertencente;
       Área da gleba – Polígono (Geometry - Polygon);
   Persistência e acesso a dados:
     JPA 2 (hibernate-jpa-2.0-api-1.0.0.Final.jar);
     Hibernate (hibernate3.jar);
     Hibernate Spatial (hibernate-spatial-1.1.jar e hibernate-spatial-
      postgis-1.1.jar);
     hibernate-validator-4.0.2.GA.jar
   Geo
     Geotools geotools 2.7.1 (http://goo.gl/ffaKf);
   Contêiner:
     Spring framework (aop, asm, aspects, beans, context, core,
      expression, web) na versão 3.0;
   VRaptor 3.4
 Uma classe que será acessível no contexto WEB
deve estar anotada com @Resource;
 Somente métodos públicos são acessíveis;
 A partir do VRaptor 3.4 é possível injetar
dependências via parâmetros diretamente;
 Carregamento automático por meio da anotação
@Load (Caelum – Lucas) ou @LoadObject (Carlos
A. Junior);
 Se usar um redirectTo ou forwardTo não é
necessário um arquivo .jsp de saída;
WEB-INF/jsp/


ClienteController
• formulario();
• listarInativos();                    cliente




                      formulario.jsp         listaInativos.jsp
   Cada método público, pode ser anotado com:
       @Get : acessível somente por requisições GET;
       @Post : somente acessível por requisições POST;
       @Path: acessível por GET e/ou POST (duplica a URL);
       @Delete, @Put: devem utilizar o parâmetro _method em
        uma requisição POST;
 É possível colocar um caminho relativo na própria
classe com @Path;
Inclusão CSS, scripts                  Definição do idioma da
    comuns, etc.                        página <fmt:locale>


      Template HEADER – Código de abertura da página.


  <cih:template path=“template” part=“header”/>
  Trecho de código HTML/JSTL/JS da lógica do controlador.
  <cih:template path=“template” part=“footer”/>



    Template FOOTER – Código de fechamento da página.



   Scripts comuns,                      Lógicas JS/JSTL de
  importação, etc.                        fim de página.
 Usar de preferência somente o JPA para operações
CRUD;
 Em consultas usar a Criteria API do seu
framework de persistência, ou então ser cabra-macho
e usar a CriteriaBuilder do JPA para manter a
aplicação independente da camada de persistência;
 Deixar o controle de transações para o próprio
VRaptor , sim, isso é possível, mas como ?
<context-param>
    <param-name>br.com.caelum.vraptor.packages</param-name>
    <param-value>br.com.caelum.vraptor.util.jpa</param-value>
</context-param>

Ou na versão programática registrando um componente.


 @Override
 protected void registerCustomComponents(ComponentRegistry registry) {
   registry.register(EntityManagerCreator.class, EntityManagerCreator.class);
   registry.register(EntityManagerFactoryCreator.class, EntityManagerFactoryCreator.class);
   registry.register(JPATransactionInterceptor.class, JPATransactionInterceptor.class);

     // ou uma factory minha, que esteja anotada com @Component.
     registry.register(MinhaFactory.class, MinhaFactory.class);
 }
   Necessita da commons-fileupload;

   Formulários HTML com o enctype definidos;

Abstração da lógica de upload através da interface
UploadedFile;

 Configuração da leitura do shapefile com o
componente ShapefileReader;
Browser




           Aplicação VRaptor




UploadedFile             ShapeFileReader




                  JPA
   Comunidade gvSIG;
   GUJ;
   Grupo de usuários VRaptor (Google groups);
   Spring framework;
   JPA 2 com outros frameworks de persistência;
   OpenLayers;
   jQuery e plugins;
    HTML 5;
   Servidores de mapas;
Cícero J. Bley Jr.
              Coordenador do
Centro Internacional de Hidroinformática - ME
             cbley@itaipu.gov.br


      Ana Carolina Gossen
              Coordenadora do
Centro Internacional de Hidroinformática - MD
            gossen@itaipu.gov.py
Carlos Alberto Junior Spohr Poletto
           Analista de Sistemas
        carlosjrcabello@gmail.com
             carlos@pti.org.br
             @carlosjrcabello
        carlos4web.wordpress.com

Más contenido relacionado

Destacado

Aula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPRAula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPRAndré Luiz Forchesatto
 
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVAVRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVAYelken Heckman Ferreira Gonzales
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3André Luiz Forchesatto
 
Geospatial for Java
Geospatial for JavaGeospatial for Java
Geospatial for JavaJody Garnett
 
VRaptor - Ciclo CASIN 2011
VRaptor - Ciclo CASIN 2011VRaptor - Ciclo CASIN 2011
VRaptor - Ciclo CASIN 2011Daniel Kist
 

Destacado (7)

Java Web Fácil com VRaptor
Java Web Fácil com VRaptorJava Web Fácil com VRaptor
Java Web Fácil com VRaptor
 
Introdução ao vraptor
Introdução ao vraptorIntrodução ao vraptor
Introdução ao vraptor
 
Aula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPRAula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPR
 
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVAVRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
 
Geospatial for Java
Geospatial for JavaGeospatial for Java
Geospatial for Java
 
VRaptor - Ciclo CASIN 2011
VRaptor - Ciclo CASIN 2011VRaptor - Ciclo CASIN 2011
VRaptor - Ciclo CASIN 2011
 

Similar a VRaptor 3, JPA, Hibernate, Geotools e OpenLayers, ajudando Pedro Alvares Cabral com geoprocessamento

JavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computingJavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computingEder Magalhães
 
Spring 3: Uma Plataforma além do Framework
Spring 3: Uma Plataforma além do FrameworkSpring 3: Uma Plataforma além do Framework
Spring 3: Uma Plataforma além do FrameworkDr. Spock
 
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfacesJSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfacesEder Magalhães
 
JSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.javaJSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.javaEduardo Bregaida
 
Richfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoRichfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoEder Magalhães
 
Desenvolvimento de um protótipo de um sistema de informaçãO web para cadastro...
Desenvolvimento de um protótipo de um sistema de informaçãO web para cadastro...Desenvolvimento de um protótipo de um sistema de informaçãO web para cadastro...
Desenvolvimento de um protótipo de um sistema de informaçãO web para cadastro...Filipe Aguilar Santana
 
JSF 2 Components JustJava2011
JSF 2 Components JustJava2011JSF 2 Components JustJava2011
JSF 2 Components JustJava2011Eder Magalhães
 
Pyjamas: Uma Ferramenta Pythônica para Web
Pyjamas: Uma Ferramenta Pythônica para WebPyjamas: Uma Ferramenta Pythônica para Web
Pyjamas: Uma Ferramenta Pythônica para WebNielson Santana
 
Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Anderson Araújo
 
As geotecnologias mais populares do mercado
As geotecnologias mais populares do mercadoAs geotecnologias mais populares do mercado
As geotecnologias mais populares do mercadoGeoLivre Conference
 
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDAOficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDAnitaibezerra
 
QCon 2015 - Combinando AngularJS com Java EE
QCon 2015 - Combinando AngularJS com Java EEQCon 2015 - Combinando AngularJS com Java EE
QCon 2015 - Combinando AngularJS com Java EERodrigo Cândido da Silva
 
JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010Eder Magalhães
 
WebSiviu - Sistema de Informação sobre Violência Urbana.
WebSiviu - Sistema de Informação sobre Violência Urbana.WebSiviu - Sistema de Informação sobre Violência Urbana.
WebSiviu - Sistema de Informação sobre Violência Urbana.Gabriel Mariano
 

Similar a VRaptor 3, JPA, Hibernate, Geotools e OpenLayers, ajudando Pedro Alvares Cabral com geoprocessamento (20)

JavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computingJavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computing
 
Spring 3: Uma Plataforma além do Framework
Spring 3: Uma Plataforma além do FrameworkSpring 3: Uma Plataforma além do Framework
Spring 3: Uma Plataforma além do Framework
 
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfacesJSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
 
JSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.javaJSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.java
 
Richfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoRichfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais rico
 
Desenvolvimento de um protótipo de um sistema de informaçãO web para cadastro...
Desenvolvimento de um protótipo de um sistema de informaçãO web para cadastro...Desenvolvimento de um protótipo de um sistema de informaçãO web para cadastro...
Desenvolvimento de um protótipo de um sistema de informaçãO web para cadastro...
 
JSF 2 Components JustJava2011
JSF 2 Components JustJava2011JSF 2 Components JustJava2011
JSF 2 Components JustJava2011
 
Pyjamas: Uma Ferramenta Pythônica para Web
Pyjamas: Uma Ferramenta Pythônica para WebPyjamas: Uma Ferramenta Pythônica para Web
Pyjamas: Uma Ferramenta Pythônica para Web
 
Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Como escolher o Framework Java para web?
Como escolher o Framework Java para web?
 
As geotecnologias mais populares do mercado
As geotecnologias mais populares do mercadoAs geotecnologias mais populares do mercado
As geotecnologias mais populares do mercado
 
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDAOficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
 
QCon 2015 - Combinando AngularJS com Java EE
QCon 2015 - Combinando AngularJS com Java EEQCon 2015 - Combinando AngularJS com Java EE
QCon 2015 - Combinando AngularJS com Java EE
 
GUJavaSC - Combinando AngularJS com Java EE
GUJavaSC - Combinando AngularJS com Java EEGUJavaSC - Combinando AngularJS com Java EE
GUJavaSC - Combinando AngularJS com Java EE
 
Apresentação
ApresentaçãoApresentação
Apresentação
 
JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010
 
Palestra Sobre REST
Palestra Sobre RESTPalestra Sobre REST
Palestra Sobre REST
 
Led Lua Workshop
Led Lua WorkshopLed Lua Workshop
Led Lua Workshop
 
Curriculo_Anderson_Bezerra
Curriculo_Anderson_BezerraCurriculo_Anderson_Bezerra
Curriculo_Anderson_Bezerra
 
WebSiviu - Sistema de Informação sobre Violência Urbana.
WebSiviu - Sistema de Informação sobre Violência Urbana.WebSiviu - Sistema de Informação sobre Violência Urbana.
WebSiviu - Sistema de Informação sobre Violência Urbana.
 
Gwt parte 01
Gwt   parte 01Gwt   parte 01
Gwt parte 01
 

VRaptor 3, JPA, Hibernate, Geotools e OpenLayers, ajudando Pedro Alvares Cabral com geoprocessamento

  • 1. Ajudando Pedro Alvares Cabral com geoprocessamento. Carlos Alberto Junior Spohr Poletto http://carlos4web.wordpress.com @carlosjrcabello https://github.com/carlosjrcabello
  • 2. Centro Internacional de Hidroinformática;  Aplicações de informações geográficas;  Tecnologias;  Aplicação de estudo de caso;
  • 3. Apresentação sobre o trabalho do CIH; Entendimento sobre aplicações voltadas a geoprocessamento;  Função e papel das tecnologias utilizadas;  Aplicação para estudo de caso; Clareamento das possibilidades com os recursos da WEB atual;
  • 4. Centro UNESCO - Categoria 2 (*) (*) Rede mundial de 20 Centros Especializados, credenciados pela UNESCO/PHI para trabalhar temas relacionados com a gestão das águas. CIH - Promover a HIDROINFORMÁTICA (*) aplicada em gestão das águas. (*) Ramo da Ciência da Computação dedicado a gestão das águas.
  • 5. • Dar Suporte aos Programas UNESCO-PHI: HELP, FRIEND, ISI, ISARM, GRAPHIC e ao PHI-LAC, COBRAPHI e CONAPHI – PY; • Divulgar das boas práticas dos Governos Brasil e Paraguai e da ITAIPU; • Incentivar as relações e negócios de desenvolvimento e inovação tecnológica no âmbito do Parque Tecnológico Itaipu; • Desenvolver ferramentas em Software Livre de Código Aberto para garantir o acesso universal à Hidroinformática e intensificar a difusão dessas ferramentas.
  • 6.
  • 7.  Acrônimo de GIS - Geographic Information System;  Manipulação e visualização de informações geográficas como polígonos, linhas , pontos, etc.;  Análise e projeção destas informações;  Consultas espaciais ao invés do modelo relacional tradicional;  Padrões definidos pela Open Geospatial Consortium, exemplos: OGC, WMS, WFS, WCS, WPS, KML, KMZ, OWC, etc.;
  • 8. Mapeamento de casos de dengue;  Mapeamento de crimes ocorridos (WikiCrimes);  Viabilidade de implantação de biodigestores (SigBiogás - CIH);  Sistemas de rotas e tráfego;  Georreferenciamento de áreas produtivas (glebas);
  • 9. Já desenvolveu e/ou desenvolve para WEB ?  Java EE ?  Servidores de aplicação, Inversão de Controle e injeção de dependências ?  Conhece e/ou já utilizou PostgreSQL e/ou Postgis? Conhecimentos em dados espaciais, como geometrias, servidores de mapas, etc.?
  • 10. Apresentação e definição de todas as tecnologias utilizadas.
  • 11. OpenLayers jQuery AJAX XHTML VRaptor 3.4 Spring framework 3.0 JPA 2 Outras APIs Geotools Hibernate Hibernate Spatial Banco de dados (relacional + geográfico)
  • 12.  Framework WEB focado em produtividade;  Encapsula a complexidade da API javax.servlet;  Pouca ou nenhuma dependência entre os seus componentes nativos (core);  Boas práticas adotadas:  Convenção sobre configuração;  Injeção de dependências;  Forte orientação a objetos;  Framework Brasileiro, mantido pela Caelum e a comunidade;
  • 13.  Separação de lógicas em forma de componentes reutilizáveis;  Redirecionamentos e encaminhamentos de maneira programática;  Mapeamento de URL’s amigáveis através de um modelo REST;  Suporte aos contêiners Spring, Pico e Guice;  Serializadores e deserializadores para JSON, XML, etc.;
  • 14. Paranamer;  jQuery UI;  Guava;  jQuery.plugins;  Apache Commons;  TinyMCE;  Shapefilereader;  jQuery Validator;  Primefaces;  Jetty library Java Javascript
  • 15. Desenvolvimento de uma aplicação de estudo de caso para consolidar o entendimento sobre aplicações de geoprocessamento.
  • 16.  Definição da regra de  Dependências; negócio;  Configurações do  Diagramação da regra projeto; de negócio (DER);  Classes beans/pojo;  Estrutura do template, CSS e bibliotecas Javascript;  Codificação e mão na massa 
  • 17. Cadastro de propriedades;  Cadastro de glebas; Consulta das propriedades através de uma área desenhada no mapa;  Upload de um shapefile;
  • 18. CRUD de propriedades, a qual contém os campos:  Id – Long;  Nome da propriedade – String;  Ponto de localização – Geometry (Point);  Glebas – List das glebas da propriedade;  CRUD de glebas, a qual contém os campos:  Id – Long;  Descrição – String;  Propriedade – Referência da propriedade pertencente;  Área da gleba – Polígono (Geometry - Polygon);
  • 19.
  • 20. Persistência e acesso a dados:  JPA 2 (hibernate-jpa-2.0-api-1.0.0.Final.jar);  Hibernate (hibernate3.jar);  Hibernate Spatial (hibernate-spatial-1.1.jar e hibernate-spatial- postgis-1.1.jar);  hibernate-validator-4.0.2.GA.jar  Geo  Geotools geotools 2.7.1 (http://goo.gl/ffaKf);  Contêiner:  Spring framework (aop, asm, aspects, beans, context, core, expression, web) na versão 3.0;  VRaptor 3.4
  • 21.  Uma classe que será acessível no contexto WEB deve estar anotada com @Resource;  Somente métodos públicos são acessíveis;  A partir do VRaptor 3.4 é possível injetar dependências via parâmetros diretamente;  Carregamento automático por meio da anotação @Load (Caelum – Lucas) ou @LoadObject (Carlos A. Junior);  Se usar um redirectTo ou forwardTo não é necessário um arquivo .jsp de saída;
  • 23. Cada método público, pode ser anotado com:  @Get : acessível somente por requisições GET;  @Post : somente acessível por requisições POST;  @Path: acessível por GET e/ou POST (duplica a URL);  @Delete, @Put: devem utilizar o parâmetro _method em uma requisição POST;  É possível colocar um caminho relativo na própria classe com @Path;
  • 24. Inclusão CSS, scripts Definição do idioma da comuns, etc. página <fmt:locale> Template HEADER – Código de abertura da página. <cih:template path=“template” part=“header”/> Trecho de código HTML/JSTL/JS da lógica do controlador. <cih:template path=“template” part=“footer”/> Template FOOTER – Código de fechamento da página. Scripts comuns, Lógicas JS/JSTL de importação, etc. fim de página.
  • 25.  Usar de preferência somente o JPA para operações CRUD;  Em consultas usar a Criteria API do seu framework de persistência, ou então ser cabra-macho e usar a CriteriaBuilder do JPA para manter a aplicação independente da camada de persistência;  Deixar o controle de transações para o próprio VRaptor , sim, isso é possível, mas como ?
  • 26. <context-param> <param-name>br.com.caelum.vraptor.packages</param-name> <param-value>br.com.caelum.vraptor.util.jpa</param-value> </context-param> Ou na versão programática registrando um componente. @Override protected void registerCustomComponents(ComponentRegistry registry) { registry.register(EntityManagerCreator.class, EntityManagerCreator.class); registry.register(EntityManagerFactoryCreator.class, EntityManagerFactoryCreator.class); registry.register(JPATransactionInterceptor.class, JPATransactionInterceptor.class); // ou uma factory minha, que esteja anotada com @Component. registry.register(MinhaFactory.class, MinhaFactory.class); }
  • 27. Necessita da commons-fileupload;  Formulários HTML com o enctype definidos; Abstração da lógica de upload através da interface UploadedFile;  Configuração da leitura do shapefile com o componente ShapefileReader;
  • 28. Browser Aplicação VRaptor UploadedFile ShapeFileReader JPA
  • 29. Comunidade gvSIG;  GUJ;  Grupo de usuários VRaptor (Google groups);  Spring framework;  JPA 2 com outros frameworks de persistência;  OpenLayers;  jQuery e plugins;  HTML 5;  Servidores de mapas;
  • 30. Cícero J. Bley Jr. Coordenador do Centro Internacional de Hidroinformática - ME cbley@itaipu.gov.br Ana Carolina Gossen Coordenadora do Centro Internacional de Hidroinformática - MD gossen@itaipu.gov.py
  • 31. Carlos Alberto Junior Spohr Poletto Analista de Sistemas carlosjrcabello@gmail.com carlos@pti.org.br @carlosjrcabello carlos4web.wordpress.com