State of GeoServer 2013 (FOSS4G)

Post on 11-May-2015

4.656 views 7 download

Tags:

description

Presentation from FOSS4G 2013 in Nottingham

Transcript of State of GeoServer 2013 (FOSS4G)

geoserver.org

State of GeoServer

Andrea Aime, GeoSolutions Jody Garnett, Boundless

Justin Deoliveira, Boundless

geoserver.org

Presentation Guide

•  It has been two years since FOSS4G 2011 o GeoServer is a very active project o We do not have time to cover everything

• For each new feature in this presentation o Sponsor or organisation funding the work is on the left o Version number the feature is available is on the right

2.4.x 2.3.x 2.2.x

Community

Extension

Release

geoserver.org

Presentation Guide

• GeoServer – project updates and news • Web Map Service • Web Feature Service • Web Coverage Service • Tile Services • Web Process Service • Catalogue Service Web – new! • Extensions • Community

geoserver.org

GeoServer Project Updates and News

geoserver.org

OSGeo Incubation

+ 2.2.x

geoserver.org

Time Boxed Release Model

• A long gap before 2.2 was released o Something had to change for our customers

• One bug fix release every month o Bug fixes o Some minor new features backported from the

development branch, selected by the PSC

• One major release every six months o  new features

• Q: GeoServer 3.x? o When we’ll break backwards compatibility J

2.2.x

geoserver.org

2012 2013

Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec

Dev

elop

men

t St

able

Time Boxed Release Model

2.2.5

2.2.4

2.2.3

2.2.2

2.2.1

2.2

2.3.5

2.3.4

2.3.3

2.3.2

2.3.1

2.3

2.4-RC2

2.4-RC1

2.4-beta

2.1.4

2.3-RC2

2.3-RC1

2.3-beta

2.4

geoserver.org

Security Framework

• See geoserver.org for Christian's Master Thesis o  Flexible authentication for stateless web services

• Why use GeoServer Security? o Don't list layers in GetCapabilities that cannot be used o  Layer name/description may be sensitive information

• Core Feature of GeoServer Web Services o Deep Integration with Web Services o  Fine grain control of Services and REST API access

2.2.x

geoserver.org

Security – Authentication

• Plugins Provide Many Integration Options

2.2.x

geoserver.org

Security – Password Storage / Policy

2.2.x

geoserver.org

Security – Authorisation

• User / Group / Role • Define "Service Chains" for Services and REST

2.2.x

geoserver.org

Security –LDAP Authorisation

2.2.x

Say something about Active Directory too

here

geoserver.org

REST Configuration • Continues to be Wildly Popular • REST Configuration Improvements

o Manage Web Services o Check Installation Information

§  Installed version of GeoServer and GeoTools § List available Extensions and community modules

• Create and manage image mosaics o Describe internal structure (attributes) o Harvest new granules o Remove existing ones

2.3.0

geoserver.org

Virtual Service per Workspace

2.2.x

GeoServer WMS WFS WCS

nurc

configuration

web services

tiger sf cite

cite WMS WFS WCS

WMS http://localhost:8080/geoserver/wms?request=GetCapabilities WMS CITE http://localhost:8080/geoserver/cite/wms?request=GetCapabilities

geoserver.org

Enable Services per Workspace

2.2.x

geoserver.org

Custom Settings per Workspace

2.2.x

geoserver.org

Styles and Groups per Workspace

2.2.x

geoserver.org

Translations

• Thanks to Frank Gasdorf – and Friends! o  https://www.transifex.com/projects/p/geoserver_stable

2.4.0

geoserver.org

• New KML o Now for WFS too! o New Implementation o  Faster o KML Schema Compliant o High fidelity output for Marks

(icon service)

• New Shapefile o WFS SortBy support o Code clean up o Share significant portion

of code with database backends

New Implementations

2.4.0

geoserver.org

WMS Web Map Service

geoserver.org

Time and Elevation

• support for both raster and vector • custom dimensions

2.2.x

geoserver.org

Time and Elevation ...&request=GetMap &time=2001-08-01/2001-09-01

...&request=GetMap &time=2003-08-01/2003-09-01

2.2.x

geoserver.org

Custom Dimensions

2.3.x

geoserver.org

Rendering Transforms - Contour

<FeatureTypeStyle> <Transformation> <Function name="contour"> <Function name="parameter"> <Literal>levels</Literals> <Literal>1000</Literal> <Literal>1250</Literal> <Literal>1500</Literal> ...

2.2.x

geoserver.org

Rendering Transforms – Heat Maps

2.2.x

geoserver.org

Rendering Transforms Surface interpolation

2.2.x

geoserver.org

Rendering Transforms Point clustering

2.2.x

geoserver.org

CSS – Compact Styling for Humans

2.4.x

geoserver.org

CSS – SLD Generation

2.4.x

geoserver.org

CSS

2.4.x

geoserver.org

CSS – Reference, Tutorial, Cookbook

http://docs.geoserver.org/latest/en/user/extensions/css/index.html 2.4.x

geoserver.org

WMS Layer Group Publishing (Finally!)

Nesting

Capabilities tree

2.3.x

geoserver.org

WMS - Advertised Layers

2.3.x

geoserver.org

WMS – TurboJPEG encoder

• Faster JPEG encoder • Supported also on Win 64

Com

geoserver.org

WFS Web Feature Service

geoserver.org

WFS 2.0 - Paging

...&request=GetFeature&startIndex=5&count=6

2.2.x

geoserver.org

WFS 2.0 – Stored Queries <wfs:CreateStoredQuery> <wfs:StoredQueryDefinition id='bbox'> <wfs:Parameter name='AreaOfInterest' type='gml:Polygon'/> <wfs:QueryExpressionText returnFeatureTypes='topp:states'> <wfs:Query typeNames='topp:states'> <fes:Filter> <fes:BBOX> <fes:ValueReference>the_geom</fes:ValueReference> <gml:Envelope> <gml:lowerCorner>${x1} ${y1}</gml:lowerCorner> <gml:upperCorner>${x2} ${y2}</gml:upperCorner> </gml:Envelope> </fes:BBOX> </fes:Within> </fes:Filter> </wfs:Query> </wfs:QueryExpressionText> </wfs:StoredQueryDefinition> </wfs:CreateStoredQuery>

...&request=GetFeature&storedQueryId=bbox

&x1=-180&y1=-90&x2=180&y2=90

2.2.x

geoserver.org

WFS 2.0 - Joining <wfs:GetFeature xmlns:wfs='http://www.opengis.net/wfs/2.0'

xmlns:fes='http://www.opengis.net/fes/2.0' xmlns:gs='http://geoserver.org'

version='2.0.0'>

<wfs:Query typeNames='gs:Forests gs:Roads' aliases='a b'>

<fes:Filter>

<fes:Intersects>

<fes:ValueReference>a/the_geom</fes:ValueReference>

<fes:ValueReference>b/the_geom</fes:ValueReference>

</fes:Intersects>

</fes:Filter>

</wfs:Query>

</wfs:GetFeature>

2.2.x

geoserver.org

App schema • What is it? publish a specific data product

o  Data is "mapped" to fit your application schema § GeoSciML 3.1 GeoSciML 3.2 §  Complex INSPIRE services

•  Improved Functionality o  SortBy o  GML 3.2 "Complex" Features o  WMS

• Faster o  Makes use of "Joining" (for supported DataStores) o  Large non denormalised views/tables • New and Experimental

§  time series encoding § WFS 2.0 support (except paging)

2.2.x

2.3.x

2.4.x

geoserver.org

XSLT output format generator

• Alternative for generating specific data product o Approach "only" transforms output o Query is against original dataset

XSLT Engine

Custom XSL Transform

GML 2.X/3.X

Plain text

Custom XML

HTML

KML

2.3.x

geoserver.org

WCS Web Coverage Service

geoserver.org

WCS 2.0

• Congrats OGC o Core protocol has been simplified o Additional Functionality Supplied by Profiles o  Finally a version of WCS users will love

• GeoServer Web Coverage Service o WCS 2.0 Implementation

• Community Modules o NetCDF Support o Earth Observation Profile o REST extension to manage mosaic

Com

geoserver.org

NetCDF support

• NetCDF-CF support • Both input (WMS/WCS) • And output! (WCS)

• Tested on a number of sources o Polyphemus/Ascat/Gome/IASI/MSG2

Com

geoserver.org

Tile Service WMTS, WMS-C, etc…

geoserver.org

GeoWebCache Integration

2.2.x

Improved integration/UI

geoserver.org

GeoWebCache Integration

2.2.x

Improved integration/UI

geoserver.org

GeoWebCache

• Disk Quota and Disk Quota Clustering

2.3.x

GWC 1 GWC N

Quota DB

Tile storage

Load balancer

geoserver.org

WPS Web Processing Service

geoserver.org

Asynchronous WPS

2.2.x

geoserver.org

Process Filtering

By group

Individual

2.3.x

geoserver.org

Scripting (processes and more)

Python Groovy

JavaScript Ruby

JSR-223

Com

geoserver.org

CSW Catalog Service Web

geoserver.org

CSW Architecture

2.4.x

CSW MODULE

GetCapabilities

DescribeRecord

GetDomain

GetRecord

CatalogStore (Pluggable)

Internal GeoServer layers

Read records from file system

Legacy catalog

Write your own!

geoserver.org

Simple Store

• Dublin Core XML Files

2.4.x

Simple store Dublin core XML files with Dublin core records

geoserver.org

Internal CatalogStore

• Configure Layers with minimal metadata

2.4.x

Configured layer: name, title, abstract, minimal metadata

Configured layer

Configured layer

GeoServerInternal CatalogStore

ISO 19115 ISO 19119 ISO 19139

Dublin core

geoserver.org

CSW Metadata Mapping

2.4.x

@fileIdentifier.CharacterString=id identificationInfo.AbstractMD_Identification.citation.CI_Citation.title.CharacterString=title identificationInfo.AbstractMD_Identification.descriptiveKeywords.MD_Keywords.keyword .CharacterString=keywords identificationInfo.AbstractMD_Identification.abstract.CharacterString=abstract

$dateStamp.Date= if_then_else ( isNull("metadata.date") , 'Unknown', "metadata.date") hierarchyLevel.MD_ScopeCode.@codeListValue='http://purl.org/dc/dcmitype/Dataset' $contact.CI_ResponsibleParty.individualName.CharacterString='GeoServer'

@identifier.value=id title.value=title creator.value='GeoServer Catalog' subject.value=keywords subject.scheme='http://www.digest.org/2.1'

abstract.value=abstract description.value=strConcat('description about ' , title) date.value="metadata.date" type.value='http://purl.org/dc/dcmitype/Dataset' publisher.value='GeoServer'

Configurable property mapping

ISO

Dublin Core

geoserver.org

CSW

2.4.x

Sample DC record

geoserver.org

2.4.x

Sample CSW record

geoserver.org

Assorted Extensions

More Optional GeoServer functionality

geoserver.org

Importer – Easy GeoServer Setup

2.4.x

geoserver.org

Importer – Select Files

2.4.x

geoserver.org

Importer – Publish

• Style is Generated for Each Layer

• Optional Actions for Common Tasks

2.4.x

geoserver.org

INSPIRE

• WMS and WFS Extension

2.3.x

geoserver.org

Monitor

• Collect Status on GeoServer use • Monitor Query API

o REST API producing Excel, CSV, ZIP

2.3.x

GeoServer

WMS WFS WCS

Monitor Core

Monitor Hibernate

Database

clients

web services

Monitor Query API

geoserver.org

Community Ideas and Experiments

geoserver.org

Earth Observation

• Web Coverage Service 2.0 Profile o Coverage datasets

group coverages, avoid large caps documents o DescribeEOCoverageSet

drill into contents o DescribeCoverage

Earth Observation metadata, time support, sensor description

• Web Map Service EO profile

Com

geoserver.org

Earth Observation Wizard

• Quickly build WMS EO compliant groups o Browse/Footprints/Parameters/Flags

Com

geoserver.org

GeoTools Improvements

• GeoTools raster API overhaul o  Improved Access to Rich Raster Content o NetCDF

• GeoTools Feature Collection / Bounds o Support 3D Coordinate Reference Systems via WMS o Straight Quality Assurance Run

• Native Geometry for SQL Server

2.4.x

geoserver.org

Thanks! Questions?