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

19
Mapping with asynchronous AJAX and SVG A framework for GIS RIA Dirk Frigne CEO DFC Software Engineering Jan De Moerloose Sr. Architect DFC Software Engineering

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

Page 1: Mapping with asynchronous AJAX and SVG A framework for GIS RIA Dirk Frigne CEO DFC Software Engineering Jan De Moerloose Sr. Architect DFC Software Engineering.

Mapping with asynchronous AJAX and SVG

A framework for GIS RIA

Dirk FrigneCEO DFC Software Engineering

Jan De Moerloose Sr. Architect DFC Software Engineering

Page 2: Mapping with asynchronous AJAX and SVG A framework for GIS RIA Dirk Frigne CEO 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

Page 3: Mapping with asynchronous AJAX and SVG A framework for GIS RIA Dirk Frigne CEO DFC Software Engineering Jan De Moerloose Sr. Architect DFC Software Engineering.

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

Page 4: Mapping with asynchronous AJAX and SVG A framework for GIS RIA Dirk Frigne CEO DFC Software Engineering Jan De Moerloose Sr. Architect DFC Software Engineering.

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?

Page 5: Mapping with asynchronous AJAX and SVG A framework for GIS RIA Dirk Frigne CEO DFC Software Engineering Jan De Moerloose Sr. Architect DFC Software Engineering.

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

Page 6: Mapping with asynchronous AJAX and SVG A framework for GIS RIA Dirk Frigne CEO DFC Software Engineering Jan De Moerloose Sr. Architect DFC Software Engineering.

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

Page 7: Mapping with asynchronous AJAX and SVG A framework for GIS RIA Dirk Frigne CEO DFC Software Engineering Jan De Moerloose Sr. Architect DFC Software Engineering.

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>

Page 8: Mapping with asynchronous AJAX and SVG A framework for GIS RIA Dirk Frigne CEO DFC Software Engineering Jan De Moerloose Sr. Architect DFC Software Engineering.

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>

Page 9: Mapping with asynchronous AJAX and SVG A framework for GIS RIA Dirk Frigne CEO DFC Software Engineering Jan De Moerloose Sr. Architect DFC Software Engineering.

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

Page 10: Mapping with asynchronous AJAX and SVG A framework for GIS RIA Dirk Frigne CEO DFC Software Engineering Jan De Moerloose Sr. Architect DFC Software Engineering.

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

Page 11: Mapping with asynchronous AJAX and SVG A framework for GIS RIA Dirk Frigne CEO DFC Software Engineering Jan De Moerloose Sr. Architect DFC Software Engineering.

MAPPING with AJAX and SVG

MAJAS client-side Architecture

• Extensibility:

• Pluggable actions/tools

• Plug-in interface

• Communicating with the outer world: dojo-topics

Page 12: Mapping with asynchronous AJAX and SVG A framework for GIS RIA Dirk Frigne CEO DFC Software Engineering Jan De Moerloose Sr. Architect DFC Software Engineering.

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…

Page 13: Mapping with asynchronous AJAX and SVG A framework for GIS RIA Dirk Frigne CEO DFC Software Engineering Jan De Moerloose Sr. Architect DFC Software Engineering.

Demo !!!

Page 14: Mapping with asynchronous AJAX and SVG A framework for GIS RIA Dirk Frigne CEO DFC Software Engineering Jan De Moerloose Sr. Architect DFC Software Engineering.

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.

Page 15: Mapping with asynchronous AJAX and SVG A framework for GIS RIA Dirk Frigne CEO DFC Software Engineering Jan De Moerloose Sr. Architect DFC Software Engineering.

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

.

Page 16: Mapping with asynchronous AJAX and SVG A framework for GIS RIA Dirk Frigne CEO DFC Software Engineering Jan De Moerloose Sr. Architect DFC Software Engineering.

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

Page 17: Mapping with asynchronous AJAX and SVG A framework for GIS RIA Dirk Frigne CEO DFC Software Engineering Jan De Moerloose Sr. Architect DFC Software Engineering.

MAPPING with AJAX and SVG

contactinformation

Website: http://majas.dfc.be

Mailing lists:[email protected]@www.cadrie.com

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

[email protected] [email protected]

Page 18: Mapping with asynchronous AJAX and SVG A framework for GIS RIA Dirk Frigne CEO DFC Software Engineering Jan De Moerloose Sr. Architect DFC Software Engineering.

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

Page 19: Mapping with asynchronous AJAX and SVG A framework for GIS RIA Dirk Frigne CEO DFC Software Engineering Jan De Moerloose Sr. Architect DFC Software Engineering.

Q&A