Couchbase Syncpoint, GeoCouch und

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

Mapbender3 Workshop. Christian Wygoda. FOSSGIS Dessau 2012

Albert Dengg. Graz,

XINDICE. The Apache XML Project Name: J acqueline Langhorst blackyuriko@hotmail.de

EPO Consulting GmbH. Ihr Partner für HTML5 und SAP UI5 Apps. Stand 2015/04. EPO Consulting GmbH - 1 -

Präsentation Von Laura Baake und Janina Schwemer

DataSpace 2.0 Die sichere Kommunikations-Plattform für Unternehmen und Organisationen. Your Data. Your Control

Appery.io Mobile Apps schnell und einfach entwickeln

Apps entwickeln mit HTML und Javascript

Internet online Update (Mozilla Firefox)

Webfauna Android. Erhältliche Versionen Android Version und neuer. Herunterladen Erhältlich im Play Sotre für Android.

Destructive AJAX. Stefan Proksch Christoph Kirchmayr

APEX und Phonegap? Das kann APEX doch mit HTML5! APEX connect Düsseldorf, 10. Juni 2015 Daniel Horwedel. APEX und Phonegap?

Plunet BusinessManager. Technische Anforderungen

ANALYTICS, RISK MANAGEMENT & FINANCE ARCHITECTURE. NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik

Überblick und Vergleich von NoSQL. Datenbanksystemen

Weboberflächen testen

Mobile Analytics mit Oracle BI

MOBILE ON POWER MACHEN SIE IHRE ANWENDUNGEN MOBIL?!

FOSSGIS 2010, Osnabrück

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

Informationen als Leistung

Good Practice: Entwicklung einer Smartphone App mit Unterstützung von Open Text WSM. OpenText Websolutions Usergroup,

Technologie ist Handwerk, Software was man draus macht.

Mobile Kartenanwendungen im Web oder als App?

ArcGIS Online Werkstatt II Wege zur eignen Webanwendung

Ihr IT-Dienstleister aus Bonn

Basis (=100%) zusätzlichen Schulabschluss an. Befragungszeitraum:

Relution Enterprise Appstore. Enable Enterprise Mobility. 2.5 Release Note

Lessons Learned: Mobile CRM Integration

Code-Organisation in JavaScript

Einführung in das Web Content Management System (CMS) Typo3

Preisliste - Dienstleistungen

EXCHANGE Neuerungen und Praxis

ALKIS- und Dienst-Nutzung mit Mapbender

Reiseplanung Tür-zu-Tür in der Postauto App

Mobile Apps mit DSLs. und entfernter Codegenerierung. Codierst Du noch oder generierst Du schon? Powered by

Das Internet ist mobil. John Riordan Bern, 17. Jan 2013

Online-Umfrage zur Erfassung der technischen Infrastruktur in Citizen-Science- bzw. ehrenamtlich getragenen Projekten

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

Browsereinstellungen für moneycheck24 in Explorer unter Windows

Raum, Zeit, Daten und Nutzer.

- Google-Maps-API - Intel App Framework - Cordova / Phonegap. Server. - Debian - Apache - Node.js. - Subversion (SVN) - Ajax - MVC.

Apache HBase. A BigTable Column Store on top of Hadoop

Software Engineering in der Praxis

Wie funktioniert das WWW? Sicher im WWW

Die Bürgermeister App. Mein Bürgermeister hört mich per App.

FIREBIRD BETRIEB DER SAFESCAN TA UND TA+ SOFTWARE AUF MEHR ALS EINEM COMPUTER

doubleslash Net-Business GmbH

Social Media as Sensors. Nikolai Bock FOSSGIS 2014

Content-Management- Systeme (CMS) Inhaltsverwaltungssystem, Redaktionssystem

Aspekte der Weiterentwicklung

Hochschul-App Uni Hohhenheim Case Study

Synchronisation zwischen OpenAddresses und OpenStreetMap

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

Mobiles SAP für Entscheider. Permanente Verfügbarkeit der aktuellen Unternehmenskennzahlen durch den mobilen Zugriff auf SAP ERP.

Moderne Benutzeroberflächen für SAP Anwendungen

Vaadin TouchKit. W3L AG

1.3. Installation und Konfiguration von Filr Desktop

CouchDB & CouchApps. Strukturlose Speicherung von Daten und Anwendungen. B1 Systems GmbH. March 18,

Ein mobiler Electronic Program Guide

Allgemeines zu Datenbanken

Open Source - Was ist das eigentlich?

Location based Content Delivery oder was das ibeacon-rudel im Zoo zu suchen hat

Web-Technologien / Anwendungen CMS Vorlesung 1

Volker Krell. Patrick Lobacher. 100 Tipps. für TYP03 CMS. Typische Fehler erkennen und vermeiden. 2. Auflage. Source Press. Open

Aqcuisition Processing Distribution Exploit/View

Internetanbindung von Datenbanken

HTML5- Apps. für iphone und Android. HTML5, CSS3 und jquery Mobile: Design, Programmierung und Veröffentlichung plattformübergreifender Apps

Herzlich willkommen im Modul Web-Engineering

AJAX Implementierung mit Joomla!

egovernment für das Open Source CMS Contao

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

React.js flottes Front-End für Domino. Knut Herrmann

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Publikationsliste Patrick Lobacher (geb. Schuster)

sicherer Datenaustausch made & hosted in germany filezafe ist ein Produkt der SynVation GmbH info@synvation.de

LovelyBooks Autorenprogramm

TeamViewer App für Outlook Dokumentation

OSGi-basierte Webapplikationen Ein Erfahrungsbericht

Website-Verwaltung mit Content Management Systemen

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

VuFind Session 26./ in Leipzig

Systemvoraussetzungen:

Apps in ArcGIS: Neuerungen. 18. Juni 2015

ANLEITUNG GERÄTEREGISTRATION KRZ.SMK IOS MIT IBM VERSE APP

HTTPS Checkliste. Version 1.0 ( ) Copyright Hahn und Herden Netzdenke GbR

Enterprise Application Integration Erfahrungen aus der Praxis

Weaving the Web, Tim Berners-Lee

Der schnelle Weg zu Ihrer eigenen App

Synchronisations- Assistent

Transkript:

Couchbase Syncpoint, GeoCouch und MapQuery Volker Mische Couchbase Freie und Open Source Software für Geoinformationssysteme Konferenz 20. 22. März Dessau Volker Mische (@vmische) FOSSGIS 2012 Dessau 1 / 33

Über mich Volker Mische(vmx), volker@couchbase.com,@vmische GeoCouch Erfinder Open Source-Entwickler, Erlang and JavaScript Fan Open Source-Befürworter in allen Lebenslagen Volker Mische (@vmische) FOSSGIS 2012 Dessau 2 / 33

Replikation Volker Mische (@vmische) FOSSGIS 2012 Dessau 3 / 33

Kein Empfang Volker Mische (@vmische) FOSSGIS 2012 Dessau 4 / 33

Esgab mal Empfang Bild: Naval Air Crewman 1st Class Jay Okonek Volker Mische (@vmische) FOSSGIS 2012 Dessau 5 / 33

Replikation Volker Mische (@vmische) FOSSGIS 2012 Dessau 6 / 33

Replikation Volker Mische (@vmische) FOSSGIS 2012 Dessau 6 / 33

Replikation Volker Mische (@vmische) FOSSGIS 2012 Dessau 6 / 33

Replikation Volker Mische (@vmische) FOSSGIS 2012 Dessau 6 / 33

Replikation Volker Mische (@vmische) FOSSGIS 2012 Dessau 6 / 33

Replikation Volker Mische (@vmische) FOSSGIS 2012 Dessau 6 / 33

Replikation Volker Mische (@vmische) FOSSGIS 2012 Dessau 6 / 33

Replikation Volker Mische (@vmische) FOSSGIS 2012 Dessau 6 / 33

Replikation Volker Mische (@vmische) FOSSGIS 2012 Dessau 6 / 33

Replikation Volker Mische (@vmische) FOSSGIS 2012 Dessau 6 / 33

Replikation Volker Mische (@vmische) FOSSGIS 2012 Dessau 6 / 33

Couchbase ist nicht Apache CouchDB! Bilder: Couchbase, Apache Foundation Volker Mische (@vmische) FOSSGIS 2012 Dessau 7 / 33

Bild: Couchbase Volker Mische (@vmische) FOSSGIS 2012 Dessau 8 / 33

Firmenname Bild: Couchbase Volker Mische (@vmische) FOSSGIS 2012 Dessau 8 / 33

Firmenname und Produkt Bild: Couchbase Volker Mische (@vmische) FOSSGIS 2012 Dessau 8 / 33

Couchbase Server Datenbank Volker Mische (@vmische) FOSSGIS 2012 Dessau 9 / 33

Couchbase Server Datenbank Nicht relational Volker Mische (@vmische) FOSSGIS 2012 Dessau 9 / 33

Couchbase Server Datenbank Nicht relational Dokumentbasiert (JSON) {} Volker Mische (@vmische) FOSSGIS 2012 Dessau 9 / 33

Ziele von Couchbase Server Daten verteilen Volker Mische (@vmische) FOSSGIS 2012 Dessau 10/ 33

Ziele von Couchbase Server Daten verteilen Hoher Durchsatz max Volker Mische (@vmische) FOSSGIS 2012 Dessau 10/ 33

Ziele von Couchbase Server Daten verteilen Hoher Durchsatz Geringe Latenzzeit min max Volker Mische (@vmische) FOSSGIS 2012 Dessau 10/ 33

GeoCouch Volker Mische (@vmische) FOSSGIS 2012 Dessau 11/ 33

Was ist GeoCouch? Bilder: Greg Habermann, NASA Volker Mische (@vmische) FOSSGIS 2012 Dessau 12/ 33

GeoCouch Bilder: NASA, Couchbase, Apache Foundation Volker Mische (@vmische) FOSSGIS 2012 Dessau 13/ 33

GeoCouch für Couchbase Bilder: NASA, Couchbase, Apache Foundation Volker Mische (@vmische) FOSSGIS 2012 Dessau 13/ 33

GeoCouch für Couchbase und CouchDB Bilder: NASA, Couchbase, Apache Foundation Volker Mische (@vmische) FOSSGIS 2012 Dessau 13/ 33

Wie alles begann Volker Mische (@vmische) FOSSGIS 2012 Dessau 14/ 33

Funktionalität Alle Geometriearten(nicht nur Punkte) HTTP API (OpenSearch) JSON Rechtecksabfrage, Geometrysuche Volker Mische (@vmische) FOSSGIS 2012 Dessau 15/ 33

GeoCouch(CouchDB) Nutzer Tile-Cache: MapProxy Volker Mische (@vmische) FOSSGIS 2012 Dessau 16/ 33

GeoCouch(CouchDB) Nutzer Tile-Cache: MapProxy Vektordaten: GeoCouch + MapQuery Volker Mische (@vmische) FOSSGIS 2012 Dessau 16/ 33

GeoCouch(CouchDB) Nutzer Tile-Cache: MapProxy Vektordaten: GeoCouch + MapQuery Backend: GDAL, GeoTools, Deegree Volker Mische (@vmische) FOSSGIS 2012 Dessau 16/ 33

Zukunft Erweiterung der Abfragemöglichkeiten Nächste Nachbarn(Prototyp von Tobias Sauerwein) Radius Volker Mische (@vmische) FOSSGIS 2012 Dessau 17/ 33

Zukunft Erweiterung der Abfragemöglichkeiten Nächste Nachbarn(Prototyp von Tobias Sauerwein) Radius Multidimensionale Abfragen Wer eine geeignete Datenstrucktur kennt, bitte bei mir melden Volker Mische (@vmische) FOSSGIS 2012 Dessau 17/ 33

Couchbase Server Couchbase Server GeoCouch Volker Mische (@vmische) FOSSGIS 2012 Dessau 18/ 33

Couchbase Syncpoint Volker Mische (@vmische) FOSSGIS 2012 Dessau 19/ 33

TouchDB Datenbank auf mobilen Geräten (Android und ios) Resourcenschonend Schnelles Starten Replikation über CouchDB Protokoll Volker Mische (@vmische) FOSSGIS 2012 Dessau 20/ 33

TouchDB Couchbase Server GeoCouch TouchDB Volker Mische (@vmische) FOSSGIS 2012 Dessau 20/ 33

TouchDB Serverseitig Couchbase Server GeoCouch TouchDB Volker Mische (@vmische) FOSSGIS 2012 Dessau 20/ 33

TouchDB Serverseitig Clientseitig Couchbase Server GeoCouch TouchDB Volker Mische (@vmische) FOSSGIS 2012 Dessau 20/ 33

Couchbase Syncpoint Erweiterung für Couchbase Server und TouchDB Erstellen von Datenbanken Authentisierung Channels Volker Mische (@vmische) FOSSGIS 2012 Dessau 21/ 33

Couchbase Syncpoint Couchbase Server GeoCouch Serverseitig Syncpoint Clientseitig Syncpoint TouchDB Volker Mische (@vmische) FOSSGIS 2012 Dessau 21/ 33

Couchbase Syncpoint Serverseitig Clientseitig Couchbase Server Syncpoint Channels Syncpoint GeoCouch TouchDB Volker Mische (@vmische) FOSSGIS 2012 Dessau 21/ 33

HTML5 Apps auf mobilen Geräten HTML5 Keine mittlere Schicht Daten lokal gespeichert Offline verfügbar Bild: W3C Volker Mische (@vmische) FOSSGIS 2012 Dessau 22/ 33

MapQuery Volker Mische (@vmische) FOSSGIS 2012 Dessau 23/ 33

Was ist MapQuery? OpenLayers mit jquery Geschwister von GeoExt Volker Mische (@vmische) FOSSGIS 2012 Dessau 24/ 33

Warum MapQuery? Native jquery-events Einfachere API Mit API experimentieren Trotzdem direkter Zugriff auf OpenLayers möglich Volker Mische (@vmische) FOSSGIS 2012 Dessau 25/ 33

Ziele von MapQuery Übliche Dinge einfach machen Oberflächenvielfalt Alle Entwickler die jquery zusammen OpenLayers verwenden an einen Tisch bringen Volker Mische (@vmische) FOSSGIS 2012 Dessau 26/ 33

MapQuery Beispiel: Initialisierung 1 var map = $( #map ) Volker Mische (@vmische) FOSSGIS 2012 Dessau 27/ 33

MapQuery Beispiel: Initialisierung 1 var map = $( #map ).mapquery({ 2 3 4 5 6 7 }); Volker Mische (@vmische) FOSSGIS 2012 Dessau 27/ 33

MapQuery Beispiel: Initialisierung 1 var map = $( #map ).mapquery({ 2 layers:[{type: osm }] 3 4 5 6 7 }); Volker Mische (@vmische) FOSSGIS 2012 Dessau 27/ 33

MapQuery Beispiel: Initialisierung 1 var map = $( #map ).mapquery({ 2 layers:[{type: osm }] 3 center: { 4 5 6 } 7 }); Volker Mische (@vmische) FOSSGIS 2012 Dessau 27/ 33

MapQuery Beispiel: Initialisierung 1 var map = $( #map ).mapquery({ 2 layers:[{type: osm }] 3 center: { 4 position: [12.25, 51.83], 5 6 } 7 }); Volker Mische (@vmische) FOSSGIS 2012 Dessau 27/ 33

MapQuery Beispiel: Initialisierung 1 var map = $( #map ).mapquery({ 2 layers:[{type: osm }] 3 center: { 4 position: [12.25, 51.83], 5 zoom: 12 6 } 7 }); Volker Mische (@vmische) FOSSGIS 2012 Dessau 27/ 33

MapQuery Beispiel: Events 1 var mq = map.data( mapquery ); Volker Mische (@vmische) FOSSGIS 2012 Dessau 28/ 33

MapQuery Beispiel: Events 1 var mq = map.data( mapquery ); 2 mq.bind( 3 4 }); Volker Mische (@vmische) FOSSGIS 2012 Dessau 28/ 33

MapQuery Beispiel: Events 1 var mq = map.data( mapquery ); 2 mq.bind( addlayer 3 4 }); Volker Mische (@vmische) FOSSGIS 2012 Dessau 28/ 33

MapQuery Beispiel: Events 1 var mq = map.data( mapquery ); 2 mq.bind( addlayer, function(evt, layer) { 3 4 }); Volker Mische (@vmische) FOSSGIS 2012 Dessau 28/ 33

MapQuery Beispiel: Events 1 var mq = map.data( mapquery ); 2 mq.bind( addlayer, function(evt, layer) { 3 layer.opacity(0.5); 4 }); Volker Mische (@vmische) FOSSGIS 2012 Dessau 28/ 33

MapQuery Beispiel: Setzen/Auslesen 1 var mq = map.data( mapquery ); Volker Mische (@vmische) FOSSGIS 2012 Dessau 29/ 33

MapQuery Beispiel: Setzen/Auslesen 1 var mq = map.data( mapquery ); 2 var layers = mq.layers(); Volker Mische (@vmische) FOSSGIS 2012 Dessau 29/ 33

MapQuery Beispiel: Setzen/Auslesen 1 var mq = map.data( mapquery ); 2 var layers = mq.layers(); 3 mq.layers( Volker Mische (@vmische) FOSSGIS 2012 Dessau 29/ 33

MapQuery Beispiel: Setzen/Auslesen 1 var mq = map.data( mapquery ); 2 var layers = mq.layers(); 3 mq.layers({ 4 5 6 }); Volker Mische (@vmische) FOSSGIS 2012 Dessau 29/ 33

MapQuery Beispiel: Setzen/Auslesen 1 var mq = map.data( mapquery ); 2 var layers = mq.layers(); 3 mq.layers({ 4 type: GeoJSON, 5 url: data/dessau.json 6 }); Volker Mische (@vmische) FOSSGIS 2012 Dessau 29/ 33

MapQuery Beispiel: Widgets 1 $(.zoom ); Volker Mische (@vmische) FOSSGIS 2012 Dessau 30/ 33

MapQuery Beispiel: Widgets 1 $(.zoom ).mqzoombuttons(); Volker Mische (@vmische) FOSSGIS 2012 Dessau 30/ 33

MapQuery Beispiel: Widgets 1 $(.zoom ).mqzoombuttons({map: map}); Volker Mische (@vmische) FOSSGIS 2012 Dessau 30/ 33

MapQuery Beispiel: Widgets 1 $(.zoom ).mqzoombuttons({map: map}); 2 $( #featureinfo ) Volker Mische (@vmische) FOSSGIS 2012 Dessau 30/ 33

MapQuery Beispiel: Widgets 1 $(.zoom ).mqzoombuttons({map: map}); 2 $( #featureinfo ).mqfeatureinfo({ 3 4 5 6 7 }); Volker Mische (@vmische) FOSSGIS 2012 Dessau 30/ 33

MapQuery Beispiel: Widgets 1 $(.zoom ).mqzoombuttons({map: map}); 2 $( #featureinfo ).mqfeatureinfo({ 3 map: $( #map ), 4 5 6 7 }); Volker Mische (@vmische) FOSSGIS 2012 Dessau 30/ 33

MapQuery Beispiel: Widgets 1 $(.zoom ).mqzoombuttons({map: map}); 2 $( #featureinfo ).mqfeatureinfo({ 3 map: $( #map ), 4 contents: 5 6 7 }); Volker Mische (@vmische) FOSSGIS 2012 Dessau 30/ 33

MapQuery Beispiel: Widgets 1 $(.zoom ).mqzoombuttons({map: map}); 2 $( #featureinfo ).mqfeatureinfo({ 3 map: $( #map ), 4 contents: function(feature) { 5 6 } 7 }); Volker Mische (@vmische) FOSSGIS 2012 Dessau 30/ 33

MapQuery Beispiel: Widgets 1 $(.zoom ).mqzoombuttons({map: map}); 2 $( #featureinfo ).mqfeatureinfo({ 3 map: $( #map ), 4 contents: function(feature) { 5 return <p> +feature.properties.name+ </p> ; 6 } 7 }); Volker Mische (@vmische) FOSSGIS 2012 Dessau 30/ 33

Projekte und Lizenzen Apache Lizenz, Version 2.0: Couchbase/TouchDB: http://www.couchbase.com/ GeoCouch: https://github.com/couchbase/geocouch/ MIT MapQuery: http://mapquery.org/ Volker Mische (@vmische) FOSSGIS 2012 Dessau 31/ 33

Vielen Dank! Volker Mische (@vmische) FOSSGIS 2012 Dessau 32/ 33

Kontaktdaten Website: http://vmx.cx/ Github: https://github.com/vmx/ IRC: vmx @ freenode Email: volker@couchbase.com Jabber: volker@vmx.cx Twitter: @vmische Volker Mische (@vmische) FOSSGIS 2012 Dessau 33/ 33