190 likes | 299 Views
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. Overall Presentation Goal. What is MAJAS (pronounce ‘mayas’)
E N D
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
Overall Presentation Goal • What is MAJAS (pronounce ‘mayas’) • Revealing the inside architecture • Demonstrating the use of the framework (demo) • Call for participation
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?
MAJAS Server-side Architecture majas-core • 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
MAJAS Server-side Architecture Application JSON-RPC JSONServlet Application Application Command ApplicationController Map Map Map Custom LayerModel Datastore LayerModel Hibernate LayerModel Hibernate Spatial GEOTOOLS
MAJAS Server-side Architecture • Extending the core: • addnew 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>
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>
MAJAS client-side Architecture majas-webapp • JavaScript/HTML • Using AJAX and SVG • Based on the dojo toolkit • custom widgets/layout • nice OO programming model • strong I/O package
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
MAJAS client-side Architecture • Extensibility: • Pluggable actions/tools • Plug-in interface • Communicating with the outer world: dojo-topics
MAJAS Client-side Architecture model updates User event … ZoomController PanController Selectcontrooller Select Render Edit ToolbarWidget MapModel JSON MapWidget Layer Tree Widget … VectorLayer Raster Layer CachingRemoteStore
Case: geGIS • Name of the project: geGIS - generic GIS for e-governement • Name project owner: CORVE (Coordination Cell e-Gov,Flemish Government) • Project Roles DFC: PM, Architecture, Implementation, Transition • Third parties: R&D Division SADL / K.U.Leuven • Goals of the project: Generic application generator for GIS e-services.
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 .
Invitation to participate • Ways to contribute: • Hibernate spatial • Graphics: unify VML/Canvas/Flex ??? • Dynamic configuration • Reprojection • Layer models for WMS/WFS
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
Call for participation • Call 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