MAPPING with AJAX and SVG - Dfc.be

streakconvertingSoftware and s/w Development

Dec 13, 2013 (3 years and 7 months ago)

83 views

geGIS/MAJAS

A framework for GIS RIA



Dirk Frigne

CEO DFC Software Engineering

MAPPING with AJAX and SVG

What is geGIS?


Easy to use webmap application generator


Software Stack of open source projects


server side


WMS
-
server

(GeoServer)


WFS
-
server

(GeoServer)


Geo Database (PostgreSql + Postgis)


Data persistence abstraction (Hibernate
-
spatial)


Integration_Logic (MAJAS)


command framework (MAJAS)

MAPPING with AJAX and SVG

What is geGIS? 2/2


client side

JavaScriptApplicationFramework

(Dojo)

Thin client GIS Engine (MAJAS
-
Webapp)

Open standards



WMS



WFS



W3C



SOA

Open Architecture



Command pattern based



MVC pattern based



observer pattern

MAPPING with AJAX and SVG

Data

Analysis

Desktop tools

Web publishing

Spatial enabling enterprise applications

1970

present

The GIS market

1993

1998

Fat

client

Thin

client

MAPPING with AJAX and SVG

What is MAJAS?


Open source web mapping framework


Simple to integrate GIS


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.
7

MAJAS Server
-
side Architecture

JSONServlet

ApplicationController

JSON
-
RPC

Application

Application Command

Application

Map

Map

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 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

Vector

Layer

Raster
Layer

CachingRemoteStore

ZoomController

PanController

Selectcontrooller

MapModel

Render

Edit

Select

JSON





MAPPING with AJAX and SVG

Creating a GDI infrastructure










SOA

Domain 2

Service 2.1

Service 2.2

Domain 4

App 4.1

Service 4.2

Service 4.3

Domain 3

App3.1

App3.2

Service 3.3

Domain 1

App1.1

App1.2

MAPPING with AJAX and SVG

Releases

geGIS

MAJAS

datum

Comment

1.2.6

0.95

1/9/2006

“geGIS
project”

1.3.Beta

1.0

1/9/2007

Stable


1.1.0

1.2.0

1/12/2007

15/2/2008

Beta

stable

geGIS 2.0

1.

1/9/2008

MAPPING with AJAX and SVG

Projects

geGIS

RWO (ROP, WUG,…) , Westtoer
(fietsennetwerk), Agiv (RVV), local governments
(Nl, België)

Active community: 4 service providers, 11
administrations, utility companies

MAJAS

Administration of Agriculture

Military school
-

Brussels

Demo !!!

MAPPING with AJAX and SVG

Our Mission

The local ‘one stop shop’



for OSS GIS


MAPPING with AJAX and SVG

Services

Projects based on open source GIS

Support contracts (SLA’s)

Hosting solutions

Configuration support

Training

Consultancy

MAPPING with AJAX and SVG

Invitation to participate

Ways to contribute:

Testing

Documentation

Website

Bugreporting

development

Hibernate spatial

Dynamic configuration

Layer models for WMS/WFS


MAPPING with AJAX and SVG

Contact information

Website: http://majas.dfc.be


Mailing lists

Current versions (majas 1.0)

dev@www.cadrie.com


users@www.cadrie.com

Majas 1.1.0

dev@majas.dfc.be

users@majas.dfc.be


Bug tracking
-

jira:
http://majas.dfc.be/jira/

Wiki:
http://majas.dfc.be/confluence/

(+ majas 1.1 website)


Version control: (svn click on build_majas)

E
-
mail:

dirk.frigne@dfc.be

Q&A