Mapping with asynchronous AJAX and SVG A framework

  • Slides: 19
Download presentation
Mapping with asynchronous AJAX and SVG A framework for GIS RIA Dirk Frigne CEO

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

DFC Software Engineering More info: http: //www. dfc. be 2

DFC Software Engineering More info: http: //www. dfc. be 2

Overall Presentation Goal • What is MAJAS (pronounce ‘mayas’) • Revealing the inside architecture

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 •

What is MAJAS? • Open source web mapping framework • End-to-end GIS solution • server-side: seamless integration with existing J 2 EE 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/J 2 EE • Provides the basic concepts GIS people

MAJAS Server-side Architecture • Java/J 2 EE • 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

MAJAS Server-side Architecture JSON-RPC JSONServlet Application Command Application. Controller Map Map Datastore Layer. Model

MAJAS Server-side Architecture JSON-RPC JSONServlet Application Command Application. Controller Map Map Datastore Layer. Model Hibernate Layer. Model GEOTOOLS Hibernate Spatial Custom Layer. Model 6

MAJAS Server-side Architecture • Extending the core: • add new commands that talk to

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. Geometry. User. Type"> <column name="geom"/> </property> </hibernate-mapping> MAPPING with AJAX and SVG

MAJAS Server-side Architecture <? xml version="1. 0"? > <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate Mapping DTD

MAJAS Server-side Architecture <? xml version="1. 0"? > <!DOCTYPE hibernate-mapping PUBLIC "-//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. Geometry. User. Type"> <column name="geom"/> </property> </class> </hibernate-mapping> MAPPING with AJAX and SVG

MAJAS client-side Architecture • Java. Script/HTML • Using AJAX and SVG • Based on

MAJAS client-side Architecture • Java. Script/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

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

MAJAS client-side Architecture • Extensibility: • Pluggable actions/tools • Plug-in interface • Communicating with the outer world: dojo-topics MAPPING with AJAX and SVG

MAJAS Client-side Architecture … Selectcontrooller Pan. Controller Zoom. Controller User event model updates Select

MAJAS Client-side Architecture … Selectcontrooller Pan. Controller Zoom. Controller User event model updates Select Render Edit Toolbar. Widget Map. Model Map. Widget … Layer Tree Widget Vector Layer Raster Layer JSON Caching. Remote. Store 12

Demo !!!

Demo !!!

Case: ge. GIS Name of the project: Name project owner: Project Roles DFC: Third

Case: ge. GIS Name of the project: Name project owner: Project Roles DFC: Third parties: Goals of the project: ge. GIS - generic GIS for e-governement CORVE (Coordination Cell e-Gov, Flemish Government) PM, Architecture, Implementation, Transition R&D Division SADL / K. U. Leuven Generic application generator for GIS e-services. MAPPING with AJAX and SVG

Case: ge. GIS Generic application generator for GIS e-services. Out-of-the-box rich internet GIS applications

Case: ge. GIS 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 ? ? ?

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. com users@www. cadrie. com

contactinformation Website: http: //majas. dfc. be Mailing lists: dev@www. cadrie. com users@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 participation: (3 levels) -Majas users -Majas core developers -ge. GIS users (total

Call for participation: (3 levels) -Majas users -Majas core developers -ge. GIS 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 MAPPING with AJAX and SVG

Q&A

Q&A