GIS mit Ruby on Rails



Ähnliche Dokumente
Rails Ruby on Rails Ajax on Rails. Clemens H. Cap

Ruby on Rails. Florian Ferrano Ralf Heller Markus Nagel

ALKIS- und Dienst-Nutzung mit Mapbender

Ruby on Rails. Thomas Baustert Ralf Wirdemann Alternative zur Web-Entwicklung mit Java?

Open Source GIS - das alternative geogovernment

Grundlagen der Web-Entwicklung

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap

Mapbender3 Workshop. Christian Wygoda. FOSSGIS Dessau 2012

AWE12. Carsten Bormann

SpatiaLite, das Shapefile der Zukunft?

CSGIS Gbr Canalejo & Schönbuchner GIS. Der VfS Viewer: Ein auf Open Source basiertes Web GIS zur Information von Waldbesitzern in Bayern

Geoportallösungen mit Mapbender

MapProxy. Eine praktische Einführung FOSSGIS Heidelberg. Dominik Helle Oliver Tonnhofer

Neues in ArcGIS Server 9.3 Matthias Schenker ESRI Geoinformatik AG

Eine Typisierung: OpenLayers, Mapbender und MapFish. Arnulf Christl Christoph Baudson FOSSGIS Osnabrück 2010

Groovy on Grails. Informatik-Seminar WS06/07. Alexander Treptow. Groovy on Grails Alexander Treptow (minf2622) 1

Ruby on Rails. Geschichte Ruby Rails Live Demo

Software Engineering Software Frameworks. am Beispiel Ruby on Rails Hendrik Volkmer WWI2010G

Kartographie und raumbezogene Informationssysteme

Silverstripe CMS und das Sapphire Framework

Martin Marinschek- Wolfgang Radinger. Ruby on Rails. Einstieg in die effiziente Webentwicklung. [Tu dpunkt.verlag

Interaktive Karten als Rich Internet Applications. Ruben Schempp Anwendungen

Created by Angelo Maron

Bekannte Tools in einem agilen Ansatz. Frank Schwichtenberg SourceTalkTage 2013 Göttingen,

Testgetriebene Web-Entwicklung mit Ruby on Rails

FreeGIS: an example of a Free Software Reference System

Server-centric vs. Client-centric Web Applications. BITKOM Software Summit 2014, Frankfurt

gvsig, PostgreSQL und Mapbender

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de (c) Michael Behrendt -

Ruby on Rails Einführung & Überblick

Anleitung zur Einbindung von WMS, WFS und WCS in ArcGIS

Programmieren im Web 2.x

Cesium. Virtueller 3D Globus im Web. Elisabeth Leu, Camptocamp SA Emmanuel Belo, Camptocamp SA

Contentmanagement Übung

Content Management System für die Webpräsenzen der Freien Universität Berlin

EOxServer & MapServer. Open Source Lösungen für Erdbeobachtungsdaten

Aqcuisition Processing Distribution Exploit/View

GeoPackage, das Shapefile der Zukunft

DCCS Lotusphere Nachlese 2012 Was sind XPages? Mobile Features für XPages

Inhaltsverzeichnis. Hinweise zum Gebrauch des Buches... XIII. Teil I Grundlagen der Web-Programmierung

Inhaltliche und technische Verknüpfung eines Katasters mit einem (evtl. vorhandenem) GIS

Datenbankapplikationen mit Ruby on Rails. Datenbanksysteme 2011 Universität Osnabrück Gastvorlesung von Nicolas Neubauer

Inhaltsverzeichnis. Hinweise zum Gebrauch des Buches... XIII. Teil I Grundlagen der Web-Programmierung

Webapplikation aus dem MISTRA Bereich

Die technischen Aspekte von Mapping-Lösungen

Einbindung des Web Map Service für Gemeinden Anleitung

Einführung in Ruby on Rails

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

Django - ein Python Web-Framework

Open Source. Hendrik Ebbers 2015

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

Innovative Mainframe-Integration

AJAX und Ruby on Rails

INSPIRE Geoportale mit OpenSource Software. Dipl.-Geogr. David Arndt

Cross Platform Development mit SharePoint

GIS Anwendung in der Kommune. WebMapping-Technologien in der kommunalen und planerischen Praxis

Scala & Lift. Ferenc Lajko

Architektur des agimatec-validation Frameworks

AJAX Implementierung mit Joomla!

Nutzung und Bereitstellung von OGC-Diensten in ArcGIS 9.3

Erfahrungsbericht. Sven Koschnicke Christian Wulf Florian Fittkau Universeller Aufgabenclient

5. Programmierschnittstellen für XML

Sonnenfinsternis in der Technischen Redaktion

Eine Anwendung mit InstantRails 1.7

Web-Anwendungsentwicklung mit dem Delivery Server

5. Programmierschnittstellen für XML

Aufbau einer Web 2.0 Community mit Grails. DOAG Konferenz + Ausstellung 2010 Nicole Hoock, esentri consulting GmbH

Performance und Verfügbarkeit von WMS-Servern

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Leichtgewichtige Web 2.0-Architektur für komplexe Business-Anwendungen Nicolas Moser PRODYNA AG

FOSSGIS 2012, Dessau. GeoExt Mobile (GXM) GIS WebApps mit nativem Look and Feel für unterwegs. Marc Jansen, terrestris GmbH & Co.

App Entwicklung mit Hilfe von Phonegap. Web Advanced II - SS 2012 Jennifer Beckmann

Internetanbindung von Datenbanken

Web-Services - die GIS-Zukunft?

Wiederholung: Beginn

Webseiten und Web-Apps grafisch gestalten mit HTML5 Canvas ohne Flash und sonstige Tools

Neues aus dem 52 North WPS Projekt. Benjamin Proß, FOSSGIS,

Virtuelle Globen und web-basierte Kartendienste

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Webmapping 2.0 mit freier Software und freien Daten

Oliver Zeigermann, Stefan Toth embarc GmbH. Flux Facebooks Beitrag zur UI- Architektur der Zukunft

Schnell performante Web-Applikationen entwickeln. Markus Zapke-Gründemann LinuxTag 2012

Ruby on Rails. Im Rahmen des Seminares Programmiersprachen SS09 Steffen Schildknecht

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen

MapServer MapCache - der neue WMTS Tile Cache

Das Virtuelle Kartenforum 2.0

AJAX und Ruby on Rails

ActiveRecord-Iterator

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller

janussuite Geodatenmanagement auf der Basis von Open Source Komponenten

Wir bringen Ihre Notes/Domino Anwendungen sicher ins Web , Bilster Berg Drive Resort Michael Steinhoff, agentbase AG.

Business Applika-onen schnell entwickeln JVx Framework - Live!

LIVE/11 - WEBSPECIAL. Andreas Förthner - Clemens Kalb

Umwelt-BW 3.0. Systemarchitektur eines intelligenten Umweltportals. Institut für Angewandte Informatik

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II SS 2015 PHP MVC. Dr. Christian Senger. PHP MVC 1 von 21

mtc mapping technology & consulting

Einführung in Maven und GWT

SDI-Architektur mit verteilter Datenhaltung

ICINGA Open Source Monitoring in Web 2.0 Style

Transkript:

FOSSGIS 2010 Pirmin Kalberer Sourcepole AG, Bad Ragaz www.sourcepole.ch

./configure && make && make install

apt-get install postgis

XML, SOAP

Http, REST

CVS

git

Linux?

Linux!

RUP

Agile Software- Entwicklung

PHP Web-GIS

Web-Framework, Mashup

Sourceforge

github

OSS GIS 2000

OSS GIS 2010?

Ruby on Rails Ruby Interpretierte, objektorientierte & dynamisch typisierte Skriptsprache Rails Fullstack MVC Web-Applikations Framework

Ruby - Philosophie eine dynamische, freie Programmiersprache, die sich einfach anwenden und produktiv einsetzen lässt. Sie hat eine elegante Syntax, die man leicht lesen und schreiben kann.

Ruby - Programmiersprache > Japan 1995, Yukihiro Matsumoto > Open Source > Mischung aus Perl, Smalltalk, Eiffel, Ada und Lisp > Hohe Qualität der Bibliotheken

Ruby - Syntax 5.times do end puts "ruby ist cool!".upcase RUBY IST COOL! RUBY IST COOL! RUBY IST COOL! RUBY IST COOL! RUBY IST COOL!

Rails Framework > Dänemark 2004, David Heinemeier Hansson > Open Source MIT Lizenz > Fullstack MVC Web-Framework > Wurde aus bestehender Anwendung extrahiert > 20 Konferenzen 1. Halbjahr 2010 > Bücher: >100

Rails Features > Don t repeat yourself (DRY) > Convention over Configuration > MVC, REST,... > AJAX > Test-Framework > Generatoren, Scaffolding > Plugins

Rails - MVC Das Model bildet die zugrundeliegende Datenstruktur Die View ist die Darstellung der Datenstruktur Der Controller enthält die eigentliche Programmlogik

Rails Architektur Browser Controller View Model Database

Rails MVC - Model ActiveRecord > ORM: Objektrelationales Mapping > Enthält Business-Logik > Beziehungen zwischen Modellen > Validierung

Rails MVC - View ActionView > Repräsentiert die Sicht auf die Daten > HTML, XML, EMail Inhalte oder Javascript > kann Ruby Code enthalten > Helfer Klassen enthalten View Logik

Rails MVC - Controller > steuert den Kontrollfluss der Anwendung > redirected zu anderen Kontroller Aktionen > stellt der View Daten und Methoden zur Verfügung > wählt die View ActionController > sendet View zurück an den Client

Rails MVC - Code Model class Customer < ActiveRecord::Base has_many :projects validates_presence_of :name, :minimum => 50, :message => "zu kurz!" end Controller def list @customers = Customer.all(:aktiv => true) end

Rails MVC - Code View <ul> <% for customer in @customers %> <li><%= link_to customer.name, customer %> ( <%= link_to "ändern", edit_customer_path(customer) %>) </li> <% end %> </ul>

GIS-Bibliotheken für RoR > GeoKit, Graticule und acts_as_geocodable: Geokodierung und Distanzberechnungen > GeoRuby: Spatial DB Adapter > Ruby bindings: OGR/GDAL, Mapserver > MapLayers: Integration von OpenLayers und OGC Service-Publikation von Geodaten > MapFish: Web Mapping Framwork mit REST-Protokoll als Client-Server Schnittstelle

MapLayers > Integration von OpenLayers in RoR > Publizierung von Rails-Models als WFS, KML und GeoRSS Karte einbinden (Controller): @map = MapLayers::Map.new("map") do map, page page << map.add_layer(maplayers::google) page << map.zoom_to_max_extent end

MapLayers View: <html> <head> <%= map_layers_includes :google => "ABQIAAAA..." %> </head> <body> <div id="map"/> <%= @map.to_html %> </body> </html>

MapLayers Web-Service publizieren (Controller): class WeatherStationsController < ApplicationController map_layer :weather_stations, :geometry => :geom end > WFS-Service > KML-Service > GeoRSS-Service

Web 2.0 GIS-Architektur Clients Browser Javacript viewer Javascript-API Web server Application server Geo module (WFS/ GeoJSON) Mapserver (WMS) google yahoo etc. Raster files (TIFF) PostgreSQL/PostGI S

UMN Mapserver WMS/WFS Server: require "mapscript" class Mapserver include Mapscript def initialize(app, mapfile) @wms = MapObj.new(mapfile) end def call(env) req = OWSRequest.new #... retval = @wms.owsdispatch(req) #... end end

Mapfish Generator: script/generate mapfish_resource Summit Generierte Controller-Code: def index @summits = Summit.find_by_mapfish_filter(params) render :json => @summits.to_geojson end

Mapfish

Mapfish Unterschiede Pylon > Client kompatibel / REST-Schnittstelle > Riesige Auswahl an Rails-Plugins > Literatur, Schulungen, etc. > Automatisches OR-Mapping > Migrations > Integriertes Test-Framework

Links > http://rubyonrails.org/ > http://wiki.github.com/pka/map_layers > http://mapfish.org/doc/implementations/rails.h tml

OSS GIS 2010? Ruby on Rails!

FOSSGIS 2010 Danke! Pirmin Kalberer <pka at sourcepole.ch>