state of geoserver 2015

Post on 21-Jan-2017

3.595 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

State ofGeoServer 2015

FOSS4G Seoul

WelcomeJody GarnettSenior Software Engineer ajgarnett@boundlessgeo.com@jodygarnett

Open Source ProjectsGeoToolsGeoServeruDig

OSGeo FoundationOSGeo Incubation ChairGeoTools Project Officer

Eclipse FoundationLocationTech Steering CommitteeLocationTech Technology Project

BoundlessProvides geospatial tools and services for managing data and building applications.

WelcomeAndrea AmieTechnical Leadandrea.aime@geo-solutions.it@geowolf

Open Source ProjectsGeoToolsGeoServerImageIO-ExtJAI-ExtJAI Tools

OSGeo FoundationGeoServer Project OfficerCharter Member

GeoSolutionsInnovative, robust and cost-effective solutions leveraging best-of-breed Open Source products.

GeoServer 2015

Java Web Application to share and edit geospatial data.

Publish data from any major spatial data source using open standards.

Core Protocols• WMS – maps• WFS – vector • WFS-T – editing • WCS – coverage• WPS – processTile Protocols• WMTS – tiles• TileService – tiles• WMS-C – tiles

GeoServer at a Glance

GeoServer: Health Checkup● 28 members of team geoserver

o 624 members on geoserver-develo New contributors being addedo Wider base of active contributors this year

● How about team user-list?o 1983 geoserver-userso 171 geoserver-italiao Also espanol and opengeo.cn mailing lists

Active Well Managed Codebase● Over 500 pull requests this year

Current PSC members:• Alessio Fabiani• Andrea Aime• Ben Caradoc-Davies• Christian Mueller• Jody Garnett• Jukka Rahkonen• Phil Scadden• Simone Giannecchini

Prior PSC members:• Chris Holmes• Brent Owens• Gabriel Roldan• Justin Deoliveira

Project Steering Committee Update

Welcome New Committers Part I

Welcome New Committers Part II

Revised Release Schedule

Overview of Releases● GeoServer 2.6: released September 2014

o Java 7 requiredo Year of stable / maintenance releaseso Final GeoServer 2.6.4 release made .. this week!

● GeoServer 2.7: released March 2015o Just entering maintenance nowo Expect an additional release for GeoNode

● GeoServer 2.8: expected September 2015o A little response to the beta .. please helpo Working with GeoMesa for accumulo accesso Community helping to test security issueso Release Candidate issued on Monday!

SourceForge July InfocalypseGeoServer has used Source Forge from 2003• host mailing lists, download artifactsWhat went wrong this year:• A number of poor policy changes• Extended period of down time in JulyWe have an exit strategy if required.

CodeHaus Shutdown

Jira moved to osgeo-org.atlassian.netOSGeo boardhired consultantto quickly graba backup.

Result nowavailable onatlassian cloudhosting.

Great: All issues and attachments savedEeek: No release notes (versions/components missing)

Harrison Grundy OSGeo

Open Source Geospatial Foundation● Strong relationship with OSGeo Foundation

o Incubation to 2009 to 2013o Transfer copyright in 2014o Vendor Neutral custodian

● Assistance in 2015o OSGeo helped mount the “rescue” of issue tracker

contents after CodeHaus shutdown

Security Vulnerabilities

Please keep in Mind

YOUare not a

CUSTOMER

Please keep in Mind

YOUare part of a

TEAM

Responsible DisclosureDo:• Keep exploit details out of issue report• Be prepared to work with PSC on solution• Keep in mind PSC members are volunteers

(fix may require fundraising / resources)

XEE VulnerabilityOGC protocols parsing XML tricked into returning the contents of any file on the server.

Resulted in the release of:• GeoSever 2.7.1.1 (patch release)• GeoServer 2.6.4

Additional support provided a patch release of:• GeoServer 2.5.5.1

REST API Remote ExecutionAdministrator could be tricked into running executable when editing configuration.

Resulted in the release of:• GeoSever 2.8-RC• GeoServer 2.6.5

And will be available in• GeoServer 2.7.3

Features and FixesKeeping up with the GeoServer Community

Customer ReleaseImplementor

Java 7● We have updated build boxes for Java 7

o Linux (boundless): Oracle JDK, OpenJDKo Windows (geosolutions): o OSX (travis): new experiment

● Recommended?o The build boxes build and test each commit,

why take on the extra testing effort yourself?o Boundless and GeoSolutions each run build servers

to support the community

Community PSC 2.6.0

WFS Cascade: New implementation!● GeoServer uses new wfs-ng to “cascade”

from remote (or internal) WFS Servers● Performing 2.6 preflight testing wfs-ng was a

marked improvement over the originalo We have cut over “cold turkey”o We asked the geoserver-users list for help testing all

those tricky INSPIRE services● wfs-ng includes configuration overrides

o You can account for several common mistakes(such as servers that get confused about axis order)

Boundless Niels Charlier 2.7.x

WFS Cascade: Stored Queries

Volunteer Sampo 2.7.x

Use ENV variables in TemplatesAccess system properties, environment variables and context parameters:

request${request.LAYERS}${request.ENV.PROPERTY}

environment${environment.GEOSERVER_DATA_DIR}${environment.WEB_SITE_URL}

GeoSolutions Mauro 2.7.x

GML Performance• GML 3 encoding speed is improved

GeoSolutions Justin/Andrea 2.8.x

ReferencingSpatial Reference Systems and Reprojection

Customer ReleaseImplementor

Chilling beauty of polar stereographics

Before After

GeoSolutions Andrea Aime 2.6

Crossing the dateline with rasters

GeoSolutions Andrea Aime 2.6

General “Referencing” ImprovementsNew Projections:• sinusoidal, gnomonic, meteosat second

generation, general oblique• “AUTO” codes for gnomic and sterographic

Deep Internal Changes• New matrix math EJML implementation

Community Team Effort 2.7

Vector ImprovementsDrawing the world a vertex at time

● Circular arc by 3 points, CircularString, CompoundString and Polygons

● When rendering, linearize according to the rendering resolution

Smart Linearization

Vienna Andrea Aime 2.7.0

Oracle Input GML Output

Initial Implementation Oracle

Vienna Andrea Aime 2.7.0

Reading Curves from PostGIS

Helsinki Andrea Aime 2.8.0

Rasterpushing pixels further and faster

Coverage Views / Band SelectionRestructure your rasters in GeoServer

GeoSolutions Daniele Romagnoli 2.6.0

● Drill down in the various dimensions● Interact with slices, list, filter, add, update,

delete (GranuleSource/GranuleStore)● Harvest entire new files into the sources

(mosaic only)

Structured Raster Data

DLR/Eumetsat Daniele Romagnoli 2.6.0

● Many coverages per reader● read and advertise metadata

for multiple coverages

Structured NetCDF/Grib Formats

DLR/Eumetsat Daniele Romagnoli 2.6.0

● Publish NetCDF/Grib as any other format● Configure WMS-T dimensions● Return a multidimensional array via WCS

2.0 NetCDF output format

Structured WCS Support

http://localhost:8080/geoserver/wcs?request=GetCoverage&service=WCS&version=2.0.1&coverageId=geosolutions__NO2&Format=NetCDF&subset=http://www.opengis.net/def/axis/OGC/0/Long(5,20)&subset=http://www.opengis.net/def/axis/OGC/0/Lat(40,50)&subset=http://www.opengis.net/def/axis/OGC/0/elevation(300,1250)&subset=http://www.opengis.net/def/axis/OGC/0/time ("2013-03-01T10:00:00.000Z","2013-03-01T22:00:00.000Z")

DLR/Eumetsat Daniele Romagnoli 2.6.0

Raster NODATA with JAI-Ext LibraryJAI-EXT library now directly supports raster NODATA and footprints.

This is available in 2.8 (but is off by default).

Rewrite of oracle image processing operations• Support region of interest (ROI)• Support for No Data

GeoSolution Team Effort 2.8.0

Styling and RenderingPresentation counts!

Well-known Text Symbols● Create symbols using WKT <WellKnownName> wkt://LINESTRING(0.0 0.25, 0.25 0.25, 0.5 0.75, 0.75 0.25, 1.00 0.25)</WellKnownName>

● Bulk symbols using properties file <WellKnownName> wktlib://symbol.properties#wiggle</WellKnownName>

geotools-users Group Effort! 2.6

symbol.properties

wiggle=LINESTRING(0.0 0.25, 0.25 0.25, 0.5 0.75, 0.75 0.25, 1.00 0.25)block=POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))

New mark factory for windbarbs● Use WMO compliant wind barbs● Well known name template:

windbarbs://$(value)[m/s]?emisphere=(n/s)

● E.g.: windbarbs://25[m/s]?emisphere=n

GeoSolutions Simone 2.6

SLD Alpha Composition

Cleveland Metroparks Andrea Aimie 2.7

SLD Color Blending

Cleveland Metroparks Andrea Aimie 2.7

Composite Base

Cleveland Metroparks Andrea Aimie 2.7

Single layer z-order controlUse sortBy to control the order in which features are retrieved (and thus drawn) within a single layer.

<FeatureTypeStyle> … <VendorOption name=”sortBy”> attribute1 A,attribute2 D </VendorOption></FeatureTypeStyle>

DLR Andrea Aime 2.8.0

Cross layer z-order controlGroup layers together, draw with consistent z-order.

<FeatureTypeStyle> … <VendorOption name=”sortBy”> attribute1 A,attribute2 D </VendorOption> <VendorOption name=”sortByGroup”>linesGroup</VendorOption></FeatureTypeStyle>

DLR Andrea Aime 2.8.0

Dynamic Arrow Generation• <WellKnownName>

extshape://arrow?hr=[hr]&t=[t]&ab=[ab]</WellKnownName>

• hr: height over width ratio (0 to 1)

• t: thickness

• ab: area head base ratio

GeoSolutions Andrea Aime 2.8.0

New Contrast EnhancementsChoice of• ClipToMinimumMaximum• StretchToMinimumMaximum• ClipToZero <ContrastEnhancement> <Normalize> <VendorOption name="algorithm"> StretchToMinimumMaximum </VendorOption> <VendorOption name=”minValue”>50</VendorOption>` <VendorOption name=”maxValue”>800</VendorOption>` </Normalize>` </ContrastEnhancement>`

GeoSolutions Team Effort 2.8.0

New Contrast Enhancements

GeoSolutions Team Effort 2.8.0

New Hill Shade

GeoSolutions Team Effort 2.8.0

raster-channels: auto;raster-color-map:  color-map-entry(darkBlue, 0)  color-map-entry(darkGreen, 1)  color-map-entry(green, 300)  color-map-entry(yellow, 1800)  color-map-entry(maroon, 4000)  color-map-entry(white, 5000);raster-relief-factor: 20;raster-relief-brightness-only: false;

ClusteringEfficient cluster deployment

GeoSolutions Andrea Aime 2.7.0

Clustering GeoServer configuration● Instantly propagate config changes● two community modules available

GeoSolutionsBoundless 2.7.xGeoSolutions

Boundless

GS1 GS2 GS3

Load balancer

Message passing bus

Web Processing ServiceGeoServer WPS is now Production Ready

WPS Process Security

GeoSolutions Andrea Aime 2.7.0

WPS Execution Limits

GeoSolutions Andrea Aime 2.7.0

WPS Process List and Dismiss

GeoSolutions Andrea Aime 2.7.0

WPS Clustering (Asynchronous)● The only OGC operation maintaining state● Improve GS so that the state gets shared

across cluster nodes

GeoSolutions 2.7.xGeoSolutions

WPS1 WPS2 WPS3

Shared async state

Load balancer

WPS Hazelcast Clustering

GeoSolutions 2.7.xGeoSolutions

CSS ExtensionGeoServer styling for Humans

CSS Rewrite● Port of the GeoScript Scala

version to Java allowingmore people to contribute

● Faster translation to SLD● Adding LessCSS

features down the road

/* @title Population < 2M */[PERSONS < 2000000] { fill: #4DFF4D; fill-opacity: 0.7;}/* @title 2M < Population < 4M */[PERSONS > 2000000] [PERSONS < 4000000] { fill: #FF4D4D; fill-opacity: 0.7;}/* @title Population > 4M */[PERSONS > 4000000] { fill: #4D4DFF; fill-opacity: 0.7;}

Andrea Aime 2.7.xVolunteer

CSS Editor has Improved workflow

Andrea Aime 2.7.xVolunteer

Improved Documentation

Jody Garnett 2.7.xBoundless

REST APIRemote configuration of GeoServer

/security/acl/layers.<format>/security/acl/services.<format>/security/acl/rest.<format>

REST API for Access Control

DLR Christian Mueller 2.8.0

CREATE…/coveragestores/temperature/file.imagemosaic

GET …/coveragestores/polyphemus/coverages/NO2/index.xml…coveragestores/polyphemus/coverages/NO2/index/granules.xml? limit=1&filter=time='2013-03-03T00:00:00Z

REST API for Image Moasic Granule

DLR Andrea Aime 2.8.0

{"dataStore” {"name":"st… { "dataStore": { "name": "states_shp", "description": "Polygons.. "type": "Directory of .. "enabled": true, "workspace": { "name": "usa", "href": "http:\/\/localh…

Pretty Print!

Boundless Torben 2.8.0

GeoFence ExtensionAdvanced Security for GeoServer

2.8.0

GeoFence Internal Server● Advanced security rules in GeoServer● GS plugin to drive security● Donated by GeoSolutions● Fully open source:

https://github.com/geoserver/geofence

GeoServer GeoFence Embded

GeoSolutionsBoundless Team Effort 2.8.0

GeoFence Configuration● Integrated Wicket GUI● REST API

/rest/usergroup/[service/<serviceName>/]users/

{"username": "..", "password": "..", enabled: true/false}

Boundless Niels 2.8.0

Importer ExtensionData driven configuration and setup

Process raster data during importVector import has supported data processing during import for some time.

The same functionality is now available for raster data.• Warp to a new spatial reference system• Transform to a new data format• Create “overviews” for better performance

GeoSolutions Anrea Aime 2.8.0

Raster Prep GdalWarpTransform{ "type": "GdalWarpTransform", "options": [ "-t_srs", "EPSG:4326” ]}

GeoSolutions Anrea Aime 2.8.0

Raster Prep GdalTranslateTransform{ “type”: “GdalTranslateTransform”, “options”: [ “-co”, “TILED=YES”, “-co”, “BLOCKXSIZE=512”, “-co”, “BLOCKYSIZE=512” ]}

GeoSolutions Anrea Aime 2.8.0

Raster Prep GdalAddoTransform{ "type": "GdalAddoTransform", "options": [ "-r", "average"], "levels" : [2, 4, 8, 16]}

GeoSolutions Anrea Aime 2.8.0

RoadmapFeatures and Ideas for 2016

Java 8● Planned for GeoServer 2.9

o No more “PermGen” space errors

● Java 7 support ended in May

Community PSC 2.9.0

Update CITE Tests● CITE Tests are the OGC conformance tests● Pass them and you get a cool sticker for

your websiteo Well only if you payo Idea: Ask OSGeo Board to talk to OGC?

● Tests keep us all safe!o We would like some time to upgrade / fixo Help out at the Code Sprint this weekend

Volunteer Andrea Aime 2.9.0

JDBC ResourceStore● Store resources in JDBC Database

o In addition to “Catalog” configuration …o Store styles, icons, and fontso GetFeatureInfo templates

● Approach usedo Direct access to database BLOBo Great for clustered configurations

Boundless Niels Charlier 2.9.x

Layer Group OptionsWhen including layers in a group:- CQL_FILTER- INTERPOLATION- SCALE_RANGE- Etc…

Boundless Kevin Smith 2.9.0

Custom Legend Graphics● Use your own icon as legend graphic

Boundless Boundless 2.9.x

Vector Tiles• New community module for publishing vector tiles • Great solution for modern High Definition Screens• Use for GeoWebCache for “MapBox without MapBox”

Boundless Gabriel 2.9.x

See lower resolutiontile in the procesingof loading

Questions?Thank you - for another amazing year!

top related