Highlights of deegree 3
Under construction. The following list is already implemented and available. The outlook of what is to come can be found in our deegree3/Roadmap.
1. General
- Complete rewrite from scratch, but based on over nine years of experience.
- Encompasses state-of-the art supplementary technologies and paradigms.
- Easier and more robust configuration.
- Major performance and scalability improvements by the consistent application of streaming paradigms. Streaming XML technology enables the efficient processing of huge XML/GML datasets with minimal memory footprint. Streaming/lazy loading in the persistence layer guarantees excellent scalability when working with huge datasets stored in backends such as SQL databases.
- New architecture separates internal subsystems, which makes the code more robust, easier to maintain and allows for various performance improvements.
- New architecture makes the development of custom applications easier, faster and allows for customized performance improvements.
- Based on a complete ISO 19107 geometry model implementation. This enables deegree 3 to easily cope with all kinds of complex geometries, such as non-linear curve segments (Arcs, Splines,...) and even 3D geometries.
Usage of proven and reliable standard solutions whenever applicable, e.g. state-of-the art database connection pooling based on Apache DBCP.
2. Services
- Configuration files are not based on service capabilities anymore, but custom-tailored XML configuration formats with schema validation.
- Separation of concerns. Data sources are configured independently from the services that use the data -- this allows for easy reuse and less redundancy. One notable example is that the data access for WMS and WFS can be configured in one central location.
2.1. CSW features
Implementation of the CSW 2.0.2 specification
- Fully transactional
- High performance and excellent scalability due to document-oriented storage and streaming architecture
- Currently supported Application Profiles / Backends
- ISO Metadata Application Profile 1.0.0 / PostGIS
- ISO19115 metadata standard
- Pluggable and modular dataacess layer allows to add support for new APs and backends
Status of the catalogueService configurable to read-only-CSW or read-write-CSW
- Modular inspector architecture allows to validate records to be inserted against various criteria (e.g. schema validity, identifier integrity, INSPIRE requirements, ...)
- Supports KVP, XML and SOAP (1.1 and 1.2) requests
- Handles all queryable properties (for Dublin Core as well as ISO profile)
2.2. SOS features
- Implementation of the SOS 1.0.0 specification
Officially certified to be OGC compliant
Supports the core profile operations (GetCapabilities, DescribeSensor, GetObservation) plus GetFeatureOfInterest
- In addition to the official XML request specification, it contains the not-yet-released KVP spec
- Supports both SQL and binary data backends
- The database backend is comprised by either simple and continuous observation storages. The latter applies for regularly frequent observation times.
2.3. WCS features
- Implementation of the WCS 1.0.0 specification
- Passes the full OGC CITE test suite, certification planned
- Major performance enhancements: General architecture, improved coverage/raster API and caching of optimized raster representations.
Support for RangeSets.
2.4. WFS features
Implements the WFS 1.0.0, 1.1.0 and 2.0.0 specifications
- Passes the full OGC CITE test suites for 1.0.0 and 1.1.0 (including all optional tests), certification planned
- Fully transactional WFS-T (for WFS 1.0.0 and 1.1.0)
Complete support for GetGmlObject requests and XLinks
- High performance and excellent scalability due to streaming architecture
- Supports GML 2/3.0/3.1/3.2 output formats
- On-the fly coordinate transformation
Underlying feature model has been designed to cope with even the most complex GML application schemas. Examples of successfully implemented schemas are XPlanung 2.0/3.0, INSPIRE Data Themes and GeoSciML 2.0
- Underlying ISO 19107-compliant geometry model allows the WFS to support complex geometries such as non-linear curves
- Queries may use complex filter expressions that take advantage of the full power of XPath 1.0. Conditions are mapped to the backend whenever possible (post-filtering performed in memory if this is not possible).
- Can be set up to work on a variety of data sources, such as PostGIS, Oracle Spatial, shapefiles or GML instance documents. The pluggable and modular dataacess layer allows to add support for new backends with ease.
2.5. WMS features
Implementation of the WMS 1.1.1 and 1.3.0 specifications
- Passes the OGC CITE test suites for 1.1.1 and 1.3.0, certification planned
- High performance through code layering, streamlined data access, streamlined and optimized rendering, improved style handling and multi-resolution data access.
- Extensive support for SLD / SE versions 1.0.0 and 1.1.0.
- High-quality rendering: improved support for vector based line decorations, support for mm and meter UOMs in styles allowing for continuous scale dependent styling.
- Scale dependent styling and improved SLD/SE parsing allows for dramatically decreased effort to define styles, support for SE also removes the need for a lot of proprietary extensions.
Templating for GetFeatureInfo-responses: easier configuration of HTML and other output formats.
- Rendering process makes use of underlying streaming based data access, which decreases the memory footprint significantly and improves scalability.
- Nearly complete support for raster symbolizing as defined in SE (with some extensions).
- Complete support for TIME/ELEVATION and other dimensions for both feature and raster data, supports both 1.1.1 and 1.3.0.
- Support for dynamic layers and styles, which enables adding/removing styles and layers at runtime, without the need for a context/web container restart.
2.6. WPVS features
- TBD
2.7. WPS features
Complete implementation of the WPS 1.0.0 specification
- Easy-to-use API for implementing processes that abstracts the WPS protocol details
Pluggable process provider layer enables the integration of popular geoprocessing frameworks, such as Sextante (work in progress), FME (planned), GRASS (planned) and others
- Supports KVP, XML and SOAP (1.1 and 1.2) requests
- Supports all variants of input / output parameters: literal, bbox, complex (binary and xml)
- Streaming access for complex input / output parameters (allows the processing of huge amounts of data with minimal memory footprint)
- Supports storing of response documents / output parameters
- Supports input parameters given inline and by reference
Supports RawDataOutput / ResponseDocument responses
- Supports asynchronous execution (with polling of process status)
3. API
- Strict separation of API and implementation code, which makes writing stable code based on deegree a lot easier
- Clearly defined subsystems make the implementation of custom applications easier.