Hackers of the World - PowerPoint PPT Presentation

1 / 49
About This Presentation
Title:

Hackers of the World

Description:

Known For: WMS, Silly, Strange Music. JUG 2006. uDig Demo. Okay lets ... Pretty Colours (Themes) JUG 2006. Java Image I/O. Java 1.5. Java Topology Suite (JTS) ... – PowerPoint PPT presentation

Number of Views:38
Avg rating:3.0/5.0
Slides: 50
Provided by: jodyga
Category:
Tags: hackers | world

less

Transcript and Presenter's Notes

Title: Hackers of the World


1
  • Hackers of the World!
  • JUG Presentation

Jody Garnett
2
Jody Garnett
  • uDig Development Team Leader
  • GeoTools Project Management Committee (PMC)
    Member
  • GeoServer contributor
  • OSGEO Member
  • OGC Member
  • Hobbies
  • Swordsmanship
  • Swing dancing

3
Refractions Research
  • Victoria, BC, Canada
  • Spatial Systems Consulting
  • Open Source Software
  • PostGISuDig / GeoTools

4
What is Geospatial?
  • Something you can draw on a Map
  • It lets us play with BIG DATA
  • This means we can do some real computer science
  • It is also visual
  • When I have a bug the map is upside down (or
    sideways or missing)
  • My mom can understand what I do

5
Why Open Source Geospatial
  • Geospatial is hard
  • Open source makes it possible (for me)
  • Access to .. standards, experts and data
  • It is a calling card
  • Did you hear of me (or Refractions) because of
    uDig and PostGIS?
  • And the rest
  • Shared code, ability to hack, free, ability to
    accept patches,

6
Java GeoSpatial
  • There are lots of players
  • GeoTools
  • GeoServer
  • uDig
  • GeoNetwork
  • But what can you do with them?

7
Geospatial Architecture
  • Spatial Database
  • Concurrency
  • Transactions
  • Seamlessness
  • Internet Publishing
  • Feature Access
  • Map Access
  • Data Manipulation
  • Direct Access
  • Editing
  • Cartography

8
ESRI Architecture
ArcSDE
9
Open Source Architecture
?
PostGIS
10
GeoTools ( GeoAPI)
  • Where useful code lives
  • GeoTools- Implements Standards
  • http//docs.codehaus.org/display/GEOTOOLS
  • GeoAPI Interfaces for Standards
  • http//docs.codehaus.org/display/GEOAPI

11
GeoTools Details
  • Part of the OSGEO (woot!)
  • Project Management Committee
  • Module Maintainers for
  • Oracle, DB2, Rendering, Shapefile
  • A number of organizations
  • but responsibility is always to the individual

12
GeoTools James MacGill
  • Hobby
  • Baby (Rebbeca)
  • Working
  • Google (now)
  • Contact
  • geotools-gt2-users_at_lists.sourceforge.net
  • geotools-devel_at_lists.sourceforge.net

13
GeoServer
  • The Open Planning Project
  • A J2EE project implementing some of the open
    standards
  • Web Map Server
  • for drawing maps
  • Web Feature Server
  • get the real data
  • and change it

14
GeoServer Dave Blasby
  • History 10 GIS
  • PostGIS
  • Contact
  • dblasby_at_openplans.org
  • geoserver-devel_at_lists.sourceforge.net
  • http//geoserver.sourceforge.net/
  • What he is Doing
  • GeoServer Lead
  • GeoServer 1.3
  • GeoWiki
  • Demo site
  • What he wants to do
  • Feature Versioning
  • Community Planning
  • Hobbies
  • Scuba, Travel

15
GeoServer Chris Holmes
  • History
  • GeoServer in 2002
  • z39.50 support
  • Released GeoServer 1.0.0
  • What he is Doing
  • Just visited Africa
  • New York Now
  • What he wants to do
  • Set up Open Spatial Infrastructure using
    Open-Source (see EOGEO on web)
  • Hobbies Travel
  • Contact cholmes_at_openplans.org

16
Justin Deoliver
  • Contact
  • jdeoliver_at_refractions.net
  • History
  • JUMP Developer
  • uDig Devleoper
  • Known for
  • Mad Plans
  • What he wants to do
  • OpenGL Rendering System
  • GeoServer Framework

17
GeoServer Demo
  • I could talk more but lets see something work
  • You are going to see
  • GeoServer
  • MapBuilder

18
Eclipse
  • Eclipse - a universal tool platform
  • Extensible IDE
  • Java based
  • Open Source
  • The Eclipse Platform
  • Provides building blocks and a foundation for
    creating tools (plug-ins).
  • Plug-ins are independent subsystems that
    contribute functionality to your application.

19
Eclipse RCP
  • RCP - Rich Client Platform
  • Eclipse RCP is based on a plug-in architecture.
  • Group of plug-ins work together within your
    Eclipse environment.
  • RCP Runtime provides a Platform that acts a
    mediator and helps plug-ins get along.

20
Eclipse RCP
Eclipse RCP is more than an application framework
system, it is an platform that not only allows
extension via plug-ins, but also organizes the
plug-ins into a rational structure.
vs
21
Application Framework
  • You may be familiar with working an Application
    Frameworks
  • Customize through sub-classing and tweaking
  • Your own contributions are always second rate,
    not include in the documentation etc
  • It took me three months to learn MFC
  • Pros
  • Very easy to set up a workingapplication
  • Cons
  • Until you want to do somethingthe outside the
    intended use

22
Application Platform
  • Eclipse RCP is a platform lets look at the
    differences
  • Customize through extentions
  • Advertise how you can be customized through
    extention points
  • Your own contributions are on equal termswith
    everything else.
  • It took me an a couple of days to learnEclipse
    RCP.
  • Pros
  • Wow is this great
  • Cons
  • Need to take a fair bit ofresponsibility when
    letting othersextend your work.

23
Eclipse RCP
Text
Help
Update
Compare
Debug
Search
Team/ CVS
IDE Text
Primary Application
(optional)
(optional)
(optional)
IDE
UI (Generic Workbench)
Resources
Eclipse RCP
JFace
(optional)
SWT
Runtime (OSGi)
24
Everything is a Plug-in
  • Everything is a plug-in even applications

Plug-ins
. . .
25
Eclipse Plug-ins
  • Plug-in
  • An independent tool that provides a service
    within your application environment.
  • Represented by an instance of a plug-in class.

26
Plugin.xml
  • Plugin.xml and Manifest file
  • Defines your plug-in and contains settings needed
    to activate it at runtime.
  • Must include the name, id, version, and vendor
    name of the plug-in.
  • Optional definitions also include elements such
    as a plug-in class name and extension points.

27
Plugin.xml
Your Eclipse workbench
plugin.xml
28
Plugin.xml
Code Sample
ltplugin name "Readme File Editing Tool" id
"org.eclipse.ui.examples.readmetool" version
"0.9" provider-name Object Technology
International, Inc. class"org.eclipse.ui.example
s.readmetool.ReadmePlugin"gt ...
29
Plugin.xml
Code Sample
ltrequiresgt ltimport plugin"org.eclipse
.ui /gt lt/requiresgt ...
30
Plugin.xml
Code Sample
ltextension point"org.eclipse.ui.views"gt ltview
id"org.eclipse.examples.readmetool.
readmeplugin " namereadme class
"org.eclipse.ui.examples.readmetool.ReadmePlugin
"/gt lt/extensiongt
31
Extensions
ToolExtentions
Eclipse Runtime
32
Eclipse EMF
  • Eclipse Modelling Framework (EMF)
  • complex API
  • Modeling people will try and talk to you
  • Why bother?
  • Integrates modelling into programming environment
  • Allows rapid changes in application model
  • Weeks versus Hours
  • Drag-n-drop, events, persistence all built-in

33
Eclipse EMF
Compile
Edit
Debug
34
Questions
  • Is everything clear?
  • Still awake?
  • Additional details after demo

35
uDig
  • User Friendly Desktop Internet GIS
  • Eclipse RCP Based
  • Great for Customization
  • Great Platform for your own App
  • We have some cool toys
  • Java 5, Adaptive rendering, happy community

36
Jesse Eichar
  • Known For
  • Lead Developer
  • RCP
  • EMF
  • Rendering
  • Contact
  • jeichar_at_refractions.net or freenodeudig

37
Richard Gould
  • Known For WMS, Silly, Strange Music

38
uDig Demo
  • Okay lets see this work
  • You will see
  • Local Data
  • Remote Data
  • Use of Standards
  • Pretty Colours (Themes)

39
uDig Architecture
Application
uDig
Eclipse RCP
Platform
EMF
GEF
GeoTools
PostGIS
WMS
WFS
GML
Shape
Libraries
Java Topology Suite (JTS)
Java 1.5
Language
Java Image I/O
JAI
40
Where is the Data
  • The Catalog contains a list of Services, which
    each contain resources.

41
A bit of abstraction
  • Service - Resource

42
Extensible Interface Pattern
  • The IResolve class acts as an extensible
    interface within the GIS Platform.

Super Class
extends
43
IResolve
  • same design as Eclipse IResource class.
  • IResolve works as a service handle a proxy for
    remote content.
  • It can be resolved into real objects, such as
    services.

44
IResolve
  • The following are the core responsibilities of
    IResolve
  • IResolve.getIdentifier() is a unique URL used to
    identify this resource
  • IResolve.canResolve( Class type ) is a non
    blocking check to see if a type of resource is
    available
  • IResolve.resolve( Class type, IProgressMonitor
    monitor ) will aquire the request resource

45
Questions?
46
GeoTools
47
GeoTools WMS Client
  • We wrote generic WMS client
  • WMS has 4 versions!

Web Map Server
Specification
1.0.0
1.1.0
1.1.1
1.3.0
48
GeoTools WFS Client
  • We wrote generic WFS client
  • GML handling is hard!

Code Generator
Parser
XML Schema
Source Code
Compile
Classic XML Schema Processing System
JVM
49
GeoTools WFS Client
  • We wrote generic WFS client
  • GML handling is hard!

Parser
Schema
XML Data Objects(XDO)
Our XML Schema Processing System
JVM
Write a Comment
User Comments (0)
About PowerShow.com