• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
CC-4010, Bringing Spatial Love to your Java Application, by Steven Citron-Pousty
 

CC-4010, Bringing Spatial Love to your Java Application, by Steven Citron-Pousty

on

  • 439 views

Presentation CC-4010, Bringing Spatial Love to your Java Application, by Steven Citron-Pousty at the AMD Developer Summit (APU13) November 11-13, 2013

Presentation CC-4010, Bringing Spatial Love to your Java Application, by Steven Citron-Pousty at the AMD Developer Summit (APU13) November 11-13, 2013

Statistics

Views

Total Views
439
Views on SlideShare
439
Embed Views
0

Actions

Likes
0
Downloads
4
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    CC-4010, Bringing Spatial Love to your Java Application, by Steven Citron-Pousty CC-4010, Bringing Spatial Love to your Java Application, by Steven Citron-Pousty Presentation Transcript

    • APU13 - Bringing Spatial Love to your Java Application http:/ /talks.thesteve0.com Presented by: Steven Pousty @TheSteve0 on Twitter, IRC, and Github http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • Agenda 1. A little about MongoDB Spatial 2. Some JEE 3. Learn a bit about PaaS 4. See some demos http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • Assumptions 1. You write Java code 2. You will ask questions http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • Types of NoSQL datas tores TYPE Document Key-Value Graph D P EXAMPLE MongoDB, Redis, Neo4J Couchbase Riak, Memcahe H C V USE-CASE Document Caching Relationships L storage or Object between p and search Store "things" http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • On to Mongo http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • A bit about MongoDB A document is just a bunch of attributes and values - think of it like HashMap Can be nested - helps avoid joins Schemaless Really good at fast writes - but you give up immediate consistency Easy to horizontally scale http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • Now some spatial The spatial functionality Mongo currently has is 1. Near ($near) 2. Containment ($geoWithin) 3. Intersection ($geoIntersects ) It is all laid out here: Geospatial Indexes and Queries and here: Geospatial Index Internals http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • Two types of indices: 1. 2D - for flat surfaces 2. 2dsphere - helps with coords on an earth like sphere http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • Good to Know Assumes coords. are between [-180 and 180) Can handle any 2D coordinates Has methods to handle curvature of the earth (spherical) Formula to convert to human readable units http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • How do you make it work 1. Put coordinates into an array { { { { loc loc loc loc : : : : [ { { { 50 , 30 ] } x : 50 , y : 30 } } foo : 50 , y : 30 } } lon : 40.739037, lat: 73.992964 } } If you use lattitude and longitude with a defaul 2. Make a 2D index db.places.ensureIndex( { loc : "2d" } ) http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • JEE - CDI and JAX-RS Context Dependency Injection - allows you to make classes availble whenever you need them and let the calling class decide which class it wan JAX-RS - the antiSOAP (three cheers). Makes it super easy to write REST like architectures http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • Let's look at some cod Build a spatial checkin service for national parks in US and Canada Java - JEE using CDI and JAX-RS The full map front end app can be found here http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • Let's spin up a JEE (JBoss EAP) and MongoDB server http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • One Source to Bind Them All http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • But wait - there's more 1. Free! No time limit 2. 3 gears (like servers) - each 512 Mb RAM, 1 Gb disk 3. Simple pricing http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • Let's wrap it up 1. Openshift makes life great for you 2. Spatial is easy and fun with MongoDB 3. Free! Come hang out with us: #openshift on freenode irc OR users@lists.openshift.redhat.com http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf
    • http://presentations-thesteve0.rhcloud.com/amdjavamongo/index.html?print-pdf