O documento discute a aplicação de geoprocessamento para um estudo de caso, incluindo tecnologias como VRaptor, Spring, JPA, Hibernate e OpenLayers. Ele também fornece detalhes sobre o Centro Internacional de Hidroinformática e seu trabalho com a UNESCO.
DWR is a Java library that enables Java on the server and JavaScript in a browser to interact and call each other as simply as possible.
source: http://directwebremoting.org/dwr/index.html
DWR is a Java library that enables Java on the server and JavaScript in a browser to interact and call each other as simply as possible.
source: http://directwebremoting.org/dwr/index.html
Palestra apresentada no II BootCamp OescLivre e Unoesc São Miguel com o tema: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3, onde apresentamos uma alternativa de divisão de tarefas utilizadas na Camtwo com os frameworks citados.
See http://docs.geotools.org/latest/tutorials/ for workbooks associated with this presentation.
Are you new to GeoSpatial? Does scientific mumbo-jumbo make your head hurt? Are you (gasp!) just out to get the job done? Come to this work shop and go home happy.
This GeoTools session is back by popular demand in a new long format workshop. Offering a visual introduction for Java developers we will exploring how you can integrate GIS services into your next project. For those new to the GeoSpatial scene we provide an introduction to current concepts and projects, and how to avoid common pitfalls.
We start off with something nice, fun and visual - displaying local files using the development environment of your choice. Covering both the concepts and the science of map making the workbooks serve as an excellent reference, but the focus is always on you and the code you need to get the job done.
We explore the concept of a Feature (literally something you can draw on a map), Geometry (what to actually draw) and details like coordinate reference systems, units and projections. The good news is all this stuff is captured at the Java level as nice normal objects by the GeoTools and Java Topology Suite projects. There are utility classes around so we can avoid going down into crazy scientific detail.
The workshop offers a steady series of workbooks introducing:
Feature creation
Geometry, Coordinate Reference Systems and Re-projection
Spatial Queries
Handling large format rasters
Working with Style
We will work with a couple of common GeoSpatial data formats, the use of PostGIS, Web Map Servers (such as GeoServer and MapServer) and Web Feature Servers.
Attend this workshop and be well-versed for the Java presentations at this years conference. Attend this workshop and receive one million randomly generated points free of charge. Just show up - it will be fun.
Spring 3: Uma Plataforma além do FrameworkDr. Spock
Apresentação realizada no dia 06/Nov/2010 no evento The Developers Conference (TDC2010) na trilha Java (16:40 às 17:30) promovido pela Globalcode e VOffice em Florianópolis/SC/Brasil.
A apresentação falar sobre Ajax e seus benefícios; Abordar o Google web Toolkit e aplicações desenvolvidas com gwt e com o uso massivo de ajax;Em seguida abordar o porque do surgimento do pyjamas, que no caso vem a ser a reescrita gwt em python; No final dar alguns exemplos da construção de aplicações com o uso do pyjamas.
Apresentação minsitrada por Luigi Castro (OpenGEO), Engenheiro Cartógrafo, no Geolivre Conference 2009 sobre as tecnologias livre e opensource mais utilizadas no mercado.
O AngularJS tem atraído muita atenção dos desenvolvedores, e a maioria das aplicações utilizando esse framework open source necessitam se comunicar por meio de APIs web. A plataforma Java EE, com sua robustez e suporte avançado a REST, é uma das melhoras soluções atuais para suportar todos os requisitos de uma API REST de backend para aplicações baseadas em HTML5 e AngularJS.
Esta palestra abordará como construir uma aplicação em AngularJS utilizando tecnologias backend Java EE, incluindo JAX-RS, WebSockets, JSON-P e CDI. Ao final você vai entender os benefícios do uso destas tecnologias, bem como padrões e boas práticas aplicadas nesse modelo de desenvolvimento. Os tópicos abordados incluem JavaScript, HTML5, AngularJS e várias APIs do Java EE.
O AngularJS tem atraído muita atenção dos desenvolvedores, e a maioria das aplicações utilizando esse framework open source necessitam se comunicar por meio de APIs web. A plataforma Java EE, com sua robustez e suporte avançado a REST, é uma das melhoras soluções atuais para suportar todos os requisitos de uma API REST de backend para aplicações baseadas em HTML5 e AngularJS.
Esta palestra abordará como construir uma aplicação em AngularJS utilizando tecnologias backend Java EE, incluindo JAX-RS, WebSockets, JSON-P e CDI. Ao final você vai entender os benefícios do uso destas tecnologias, bem como padrões e boas práticas aplicadas nesse modelo de desenvolvimento. Os tópicos abordados incluem JavaScript, HTML5, AngularJS e várias APIs do Java EE.
Palestra apresentada no II BootCamp OescLivre e Unoesc São Miguel com o tema: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3, onde apresentamos uma alternativa de divisão de tarefas utilizadas na Camtwo com os frameworks citados.
See http://docs.geotools.org/latest/tutorials/ for workbooks associated with this presentation.
Are you new to GeoSpatial? Does scientific mumbo-jumbo make your head hurt? Are you (gasp!) just out to get the job done? Come to this work shop and go home happy.
This GeoTools session is back by popular demand in a new long format workshop. Offering a visual introduction for Java developers we will exploring how you can integrate GIS services into your next project. For those new to the GeoSpatial scene we provide an introduction to current concepts and projects, and how to avoid common pitfalls.
We start off with something nice, fun and visual - displaying local files using the development environment of your choice. Covering both the concepts and the science of map making the workbooks serve as an excellent reference, but the focus is always on you and the code you need to get the job done.
We explore the concept of a Feature (literally something you can draw on a map), Geometry (what to actually draw) and details like coordinate reference systems, units and projections. The good news is all this stuff is captured at the Java level as nice normal objects by the GeoTools and Java Topology Suite projects. There are utility classes around so we can avoid going down into crazy scientific detail.
The workshop offers a steady series of workbooks introducing:
Feature creation
Geometry, Coordinate Reference Systems and Re-projection
Spatial Queries
Handling large format rasters
Working with Style
We will work with a couple of common GeoSpatial data formats, the use of PostGIS, Web Map Servers (such as GeoServer and MapServer) and Web Feature Servers.
Attend this workshop and be well-versed for the Java presentations at this years conference. Attend this workshop and receive one million randomly generated points free of charge. Just show up - it will be fun.
Spring 3: Uma Plataforma além do FrameworkDr. Spock
Apresentação realizada no dia 06/Nov/2010 no evento The Developers Conference (TDC2010) na trilha Java (16:40 às 17:30) promovido pela Globalcode e VOffice em Florianópolis/SC/Brasil.
A apresentação falar sobre Ajax e seus benefícios; Abordar o Google web Toolkit e aplicações desenvolvidas com gwt e com o uso massivo de ajax;Em seguida abordar o porque do surgimento do pyjamas, que no caso vem a ser a reescrita gwt em python; No final dar alguns exemplos da construção de aplicações com o uso do pyjamas.
Apresentação minsitrada por Luigi Castro (OpenGEO), Engenheiro Cartógrafo, no Geolivre Conference 2009 sobre as tecnologias livre e opensource mais utilizadas no mercado.
O AngularJS tem atraído muita atenção dos desenvolvedores, e a maioria das aplicações utilizando esse framework open source necessitam se comunicar por meio de APIs web. A plataforma Java EE, com sua robustez e suporte avançado a REST, é uma das melhoras soluções atuais para suportar todos os requisitos de uma API REST de backend para aplicações baseadas em HTML5 e AngularJS.
Esta palestra abordará como construir uma aplicação em AngularJS utilizando tecnologias backend Java EE, incluindo JAX-RS, WebSockets, JSON-P e CDI. Ao final você vai entender os benefícios do uso destas tecnologias, bem como padrões e boas práticas aplicadas nesse modelo de desenvolvimento. Os tópicos abordados incluem JavaScript, HTML5, AngularJS e várias APIs do Java EE.
O AngularJS tem atraído muita atenção dos desenvolvedores, e a maioria das aplicações utilizando esse framework open source necessitam se comunicar por meio de APIs web. A plataforma Java EE, com sua robustez e suporte avançado a REST, é uma das melhoras soluções atuais para suportar todos os requisitos de uma API REST de backend para aplicações baseadas em HTML5 e AngularJS.
Esta palestra abordará como construir uma aplicação em AngularJS utilizando tecnologias backend Java EE, incluindo JAX-RS, WebSockets, JSON-P e CDI. Ao final você vai entender os benefícios do uso destas tecnologias, bem como padrões e boas práticas aplicadas nesse modelo de desenvolvimento. Os tópicos abordados incluem JavaScript, HTML5, AngularJS e várias APIs do Java EE.
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.?
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.;
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;
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