Mapping with asynchronous AJAX and SVG A framework for GIS RIA Dirk Frigne CEO DFC Software...

Post on 26-Dec-2015

219 views 0 download

Tags:

Transcript of Mapping with asynchronous AJAX and SVG A framework for GIS RIA Dirk Frigne CEO DFC Software...

Mapping with asynchronous AJAX and SVG

A framework for GIS RIA

Dirk FrigneCEO DFC Software Engineering

Jan De Moerloose Sr. Architect DFC Software Engineering

MAPPING with AJAX and SVG p. 2

DFC Software Engineering

More info: http://www.dfc.be

MAPPING with AJAX and SVG

Overall Presentation Goal

• What is MAJAS (pronounce ‘mayas’)

• Revealing the inside architecture

• Demonstrating the use of the framework (demo)

• Call for participation

MAPPING with AJAX and SVG

What is MAJAS?

• Open source web mapping framework

• End-to-end GIS solution

• server-side: seamless integration with existing J2EE world

• client-side: stretching WEB 2.0 to the limit: desktop GIS in the browser?

MAPPING with AJAX and SVG

MAJAS Server-side Architecture

• Java/J2EE

• Provides the basic concepts GIS people want:

• Feature: just a GIS way to look at a domain object

• Layer: a bunch of objects with a presentation touch (style)

• Map: a bunch of layers

• Application: a bunch of maps and some logic

MAPPING with AJAX and SVG p. 6

MAJAS Server-side Architecture

JSONServlet

ApplicationController

JSON-RPC

ApplicationApplication Command

Application

MapMap

Map

Custom LayerModel

GEOTOOLS

Datastore LayerModel

Hibernate Spatial

Hibernate LayerModel

MAPPING with AJAX and SVG

MAJAS Server-side Architecture

• Extending the core:

• add new commands that talk to your domain logic

• hibernate-spatial

• create your own domain-model <hibernate-mapping>…… <property name="geom" type="com.cadrie.hibernate.spatial.GeometryUserType"> <column name="geom"/> </property></hibernate-mapping>

MAPPING with AJAX and SVG

MAJAS Server-side Architecture

<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping> <class name="com.cadrie.majas.feature.Incident" table="wev_incidenten"> <id name="id" type="long"> <column name="fid" precision="65535" scale="65531" /> <generator class="increment"/> </id> <property name="subject" type="string"> <column name="subject" length="255"/> </property> <property name="reporter" type="string"> <column name="reporter" length="255"/> </property> <property name="geom" type="com.cadrie.hibernate.spatial.GeometryUserType"> <column name="geom"/> </property> </class></hibernate-mapping>

MAPPING with AJAX and SVG

MAJAS client-side Architecture

• JavaScript/HTML

• Using AJAX and SVG

• Based on the dojo toolkit

• custom widgets/layout

• nice OO programming model

• strong I/O package

MAPPING with AJAX and SVG

MAJAS client-side Architecture

• Design highlights:

• Model/view separation

• Workflow/activity framework for editing

• Support for rich features with JTS-like geometries (validation and stuff)

• Performance/caching

MAPPING with AJAX and SVG

MAJAS client-side Architecture

• Extensibility:

• Pluggable actions/tools

• Plug-in interface

• Communicating with the outer world: dojo-topics

MAPPING with AJAX and SVG p. 12

model updates

MAJAS Client-side Architecture

MapWidget

Layer

Tree

Widget

ToolbarWidget

User event

VectorLayer

Raster Layer

CachingRemoteStore

Zoom

Contro

ller

Pan

Contro

ller

Sele

ctcontro

olle

r

MapModel

RenderEdit

Select

JSON…

Demo !!!

MAPPING with AJAX and SVG

Case: geGIS

Name of the project:geGIS - generic GIS for e-governementName project owner: CORVE (Coordination Cell e-Gov,Flemish Government)Project Roles DFC: PM, Architecture, Implementation, TransitionThird parties: R&D Division SADL / K.U.Leuven Goals of the project:Generic application generator for GIS e-services.

MAPPING with AJAX and SVG

Case: geGIS

Generic application generator for GIS e-services.

Out-of-the-box rich internet GIS applications

Vector layer/raster layer support, including WFS/WMS

Full editing capabilities

Fully customizable user interface

Easy configuration, 15’ setup

MAJAS technology

.

MAPPING with AJAX and SVG

Invitation to participate

Ways to contribute:Hibernate spatial

Graphics: unify VML/Canvas/Flex ???

Dynamic configuration

Reprojection

Layer models for WMS/WFS

MAPPING with AJAX and SVG

contactinformation

Website: http://majas.dfc.be

Mailing lists:dev@www.cadrie.comusers@www.cadrie.com

Bug tracking - jira: http://majas.dfc.be/jira/Version control: (svn click on build_majas)E-mail:

dirk.frigne@dfc.be jan.demoerloose@dfc.be

MAPPING with AJAX and SVG

Call for participationCall for participation: (3 levels)

-Majas users

-Majas core developers

-geGIS users (total end-user solution – combination of different OSS projects)

Friday code sprint session

-Discussion about setting up collaboration MAJAS-Q&A MAJAS-Roadmap MAJAS 1.1 (planned for november 2007-Roadmap MAJAS 1.2 (planned for januari 2008-Some technical issus like OSGI server integration

Q&A