Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Ajudando Pedro Alvares Cabral com       geoprocessamento.Carlos Alberto Junior Spohr Poletto http://carlos4web.wordpress.c...
   Centro Internacional de Hidroinformática;   Aplicações de informações geográficas;   Tecnologias;   Aplicação de es...
   Apresentação sobre o trabalho do CIH;Entendimento sobre           aplicações    voltadas   ageoprocessamento;   Funç...
Centro UNESCO - Categoria 2 (*)(*) Rede mundial de 20 Centros Especializados,credenciados pela UNESCO/PHI para trabalhar t...
• Dar Suporte aos Programas UNESCO-PHI: HELP,FRIEND, ISI, ISARM, GRAPHIC e ao PHI-LAC,COBRAPHI e CONAPHI – PY;• Divulgar d...
 Acrônimo de GIS - Geographic Information System; Manipulação e visualização de informaçõesgeográficas como polígonos, l...
   Mapeamento de casos de dengue;   Mapeamento de crimes ocorridos (WikiCrimes); Viabilidade de      implantação   de  ...
   Já desenvolveu e/ou desenvolve para WEB ?   Java EE ? Servidores de aplicação, Inversão de Controle einjeção de depe...
Apresentação e definição de todas as      tecnologias utilizadas.
OpenLayers                 jQuery                       AJAX                             XHTML                           V...
 Framework WEB focado em produtividade; Encapsula a complexidade da API javax.servlet; Pouca ou nenhuma dependência ent...
 Separação de lógicas em forma de componentesreutilizáveis; Redirecionamentos e encaminhamentos de maneiraprogramática;...
   Paranamer;            jQuery UI;   Guava;                jQuery.plugins;   Apache Commons;       TinyMCE;   Shap...
Desenvolvimento de uma aplicação deestudo de caso para consolidar oentendimento sobre aplicações degeoprocessamento.
 Definição da regra de    Dependências;negócio;                   Configurações         do Diagramação da regra    pro...
   Cadastro de propriedades;   Cadastro de glebas;Consulta das propriedades através de uma áreadesenhada no mapa;   Up...
   CRUD de propriedades, a qual contém os campos:       Id – Long;       Nome da propriedade – String;       Ponto de ...
   Persistência e acesso a dados:     JPA 2 (hibernate-jpa-2.0-api-1.0.0.Final.jar);     Hibernate (hibernate3.jar);   ...
 Uma classe que será acessível no contexto WEBdeve estar anotada com @Resource; Somente métodos públicos são acessíveis;...
WEB-INF/jsp/ClienteController• formulario();• listarInativos();                    cliente                      formulario...
   Cada método público, pode ser anotado com:       @Get : acessível somente por requisições GET;       @Post : somente...
Inclusão CSS, scripts                  Definição do idioma da    comuns, etc.                        página <fmt:locale>  ...
 Usar de preferência somente o JPA para operaçõesCRUD; Em consultas usar a Criteria API do seuframework de persistência,...
<context-param>    <param-name>br.com.caelum.vraptor.packages</param-name>    <param-value>br.com.caelum.vraptor.util.jpa<...
   Necessita da commons-fileupload;   Formulários HTML com o enctype definidos;Abstração da lógica de upload através da...
Browser           Aplicação VRaptorUploadedFile             ShapeFileReader                  JPA
   Comunidade gvSIG;   GUJ;   Grupo de usuários VRaptor (Google groups);   Spring framework;   JPA 2 com outros frame...
Cícero J. Bley Jr.              Coordenador doCentro Internacional de Hidroinformática - ME             cbley@itaipu.gov.b...
Carlos Alberto Junior Spohr Poletto           Analista de Sistemas        carlosjrcabello@gmail.com             carlos@pti...
VRaptor 3, JPA, Hibernate, Geotools e OpenLayers, ajudando Pedro Alvares Cabral com geoprocessamento
VRaptor 3, JPA, Hibernate, Geotools e OpenLayers, ajudando Pedro Alvares Cabral com geoprocessamento
Upcoming SlideShare
Loading in …5
×

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

2,733 views

Published on

Slides da apresentação sobre aplicações de geoprocessamento utilizando VRaptor 3, JPA com Hibernate, Geotools, OpenLayers e jQuery.

Published in: Technology
  • Be the first to comment

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

  1. 1. Ajudando Pedro Alvares Cabral com geoprocessamento.Carlos Alberto Junior Spohr Poletto http://carlos4web.wordpress.com @carlosjrcabello https://github.com/carlosjrcabello
  2. 2.  Centro Internacional de Hidroinformática; Aplicações de informações geográficas; Tecnologias; Aplicação de estudo de caso;
  3. 3.  Apresentação sobre o trabalho do CIH;Entendimento sobre aplicações voltadas ageoprocessamento; Função e papel das tecnologias utilizadas; Aplicação para estudo de caso;Clareamento das possibilidades com os recursos daWEB atual;
  4. 4. Centro UNESCO - Categoria 2 (*)(*) Rede mundial de 20 Centros Especializados,credenciados pela UNESCO/PHI para trabalhar temasrelacionados com a gestão das águas.CIH - Promover a HIDROINFORMÁTICA (*) aplicada emgestão das águas.(*) Ramo da Ciência da Computação dedicado agestão das águas.
  5. 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 eParaguai e da ITAIPU;• Incentivar as relações e negócios dedesenvolvimento e inovação tecnológica no âmbitodo Parque Tecnológico Itaipu;• Desenvolver ferramentas em Software Livre deCódigo Aberto para garantir o acesso universal àHidroinformática e intensificar a difusão dessasferramentas.
  6. 6.  Acrônimo de GIS - Geographic Information System; Manipulação e visualização de informaçõesgeográficas como polígonos, linhas , pontos, etc.; Análise e projeção destas informações; Consultas espaciais ao invés do modelo relacionaltradicional; Padrões definidos pela Open Geospatial Consortium,exemplos: OGC, WMS, WFS, WCS, WPS, KML, KMZ,OWC, etc.;
  7. 7.  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);
  8. 8.  Já desenvolveu e/ou desenvolve para WEB ? Java EE ? Servidores de aplicação, Inversão de Controle einjeção de dependências ? Conhece e/ou já utilizou PostgreSQL e/ou Postgis?Conhecimentos em dados espaciais, comogeometrias, servidores de mapas, etc.?
  9. 9. Apresentação e definição de todas as tecnologias utilizadas.
  10. 10. OpenLayers jQuery AJAX XHTML VRaptor 3.4 Spring framework 3.0 JPA 2Outras APIs Geotools Hibernate Hibernate Spatial Banco de dados (relacional + geográfico)
  11. 11.  Framework WEB focado em produtividade; Encapsula a complexidade da API javax.servlet; Pouca ou nenhuma dependência entre os seuscomponentes 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 acomunidade;
  12. 12.  Separação de lógicas em forma de componentesreutilizáveis; Redirecionamentos e encaminhamentos de maneiraprogramática; Mapeamento de URL’s amigáveis através de ummodelo REST; Suporte aos contêiners Spring, Pico e Guice; Serializadores e deserializadores para JSON, XML,etc.;
  13. 13.  Paranamer;  jQuery UI; Guava;  jQuery.plugins; Apache Commons;  TinyMCE; Shapefilereader;  jQuery Validator; Primefaces; Jetty library Java Javascript
  14. 14. Desenvolvimento de uma aplicação deestudo de caso para consolidar oentendimento sobre aplicações degeoprocessamento.
  15. 15.  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 
  16. 16.  Cadastro de propriedades; Cadastro de glebas;Consulta das propriedades através de uma áreadesenhada no mapa; Upload de um shapefile;
  17. 17.  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);
  18. 18.  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
  19. 19.  Uma classe que será acessível no contexto WEBdeve estar anotada com @Resource; Somente métodos públicos são acessíveis; A partir do VRaptor 3.4 é possível injetardependências via parâmetros diretamente; Carregamento automático por meio da anotação@Load (Caelum – Lucas) ou @LoadObject (CarlosA. Junior); Se usar um redirectTo ou forwardTo não énecessário um arquivo .jsp de saída;
  20. 20. WEB-INF/jsp/ClienteController• formulario();• listarInativos(); cliente formulario.jsp listaInativos.jsp
  21. 21.  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ópriaclasse com @Path;
  22. 22. 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.
  23. 23.  Usar de preferência somente o JPA para operaçõesCRUD; Em consultas usar a Criteria API do seuframework de persistência, ou então ser cabra-machoe usar a CriteriaBuilder do JPA para manter aaplicação independente da camada de persistência; Deixar o controle de transações para o próprioVRaptor , sim, isso é possível, mas como ?
  24. 24. <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); }
  25. 25.  Necessita da commons-fileupload; Formulários HTML com o enctype definidos;Abstração da lógica de upload através da interfaceUploadedFile; Configuração da leitura do shapefile com ocomponente ShapefileReader;
  26. 26. Browser Aplicação VRaptorUploadedFile ShapeFileReader JPA
  27. 27.  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;
  28. 28. Cícero J. Bley Jr. Coordenador doCentro Internacional de Hidroinformática - ME cbley@itaipu.gov.br Ana Carolina Gossen Coordenadora doCentro Internacional de Hidroinformática - MD gossen@itaipu.gov.py
  29. 29. Carlos Alberto Junior Spohr Poletto Analista de Sistemas carlosjrcabello@gmail.com carlos@pti.org.br @carlosjrcabello carlos4web.wordpress.com

×