This document is the API specification of the deegree 2.2 framework -
a Java framework for geospatial solutions.
Attention! All types and names are subject of change!
Specification
The basic idea about deegree is to provide a framework, allowing flexible
implementations of geospatial solutions ranging from standalone applications to
highly distributed and service-based infrastructures. Deegree
is reusable, platform independend, component-based, and
interoperable. To meet the interoperability requirement deegree is based on
OGC's WMS, WFS and GridCoverage Specifications and on the ISO 19107 datamodel.
ISO 19107:2003 specifies conceptual schemas for describing the spatial
characteristics of geographic features, and a set of spatial operations
consistent with these schemas.
[ ^ ]
Related Documentation
For overviews, tutorials, examples, guides, and tool documentation, please see:
[ ^ ]
Used Platform, Tools and Frameworks
The deegree 2.0 framework is using the following third-party libaries:
Optional:
deegree 2.0 requires the following platform:
Java 2 SDK, Enterprise Edition (J2EE) 1.4
with Java 2 Platform, Standard Edition (J2SE) 1.4
[ ^ ]
Architecture
- Service-oriented Architecture (SOA)
- A service is a distinct part of the functionality that is provided by an entity through interfaces [ISO/IEC TR 14252]
{@link org.deegree.ogcwebservices.wms WMS} - Web Map Service: Provides four protocols (GetCapabilities, GetMap, GetFeatureInfo and DescribeLayer) in support of the creation and display of registered and superimposed map-like views of information that come simultaneously from multiple sources that are both remote and heterogeneous.
{@link org.deegree.ogcwebservices.wfs WFS} - Web Feature Service: The purpose of the Web Feature Server Interface Specification (WFS) is to describe data manipulation operations on OpenGIS� Simple Features (feature instances) such that servers and clients can communicate at the feature level.
{@link org.deegree.ogcwebservices.csw CSW} - Catalog Service for Web: Defines a common interface that enables diverse but conformant applications to perform discovery, browse and query operations against distributed and potentially heterogeneous catalog servers.
{@link org.deegree.ogcwebservices.wcs WCS} - Web Coverage Service: Extends the Web Map Server (WMS) interface to allow access to geospatial "coverages" that represent values or properties of geographic locations, rather than WMS generated maps (pictures).
{@link org.deegree.ogcwebservices.scs SCS} - The basic function of the Sensor Collection Service (SCS) is to provide a web-enabled interface to a sensor, collection of sensors or sensor proxy. Sensors are defined as devices that measure physical quantities.
{@link org.deegree.ogcwebservices.gazetteer Gazetteer/WFS-G/GAZ} - The Gazetteer Service is a network-accessible service that retrieves one or more features (after the ISO feature model), given a query (filter) request.
- Patterns
- ...
Patterns library
Fundamental Design Patterns
Java Software Patterns
Java Enterprise Design Patterns
J2EE patterns
[ ^ ]
Design Aspects
- Exception handling
- {@link org.deegree.enterprise.ServiceException Exception}, TODO: Central Error handling, support for multi language/internationalization missings
- Logging
- {@link org.deegree.framework.log Logging}
- Profiling
- Profiling of resource usage (memory, CPU, threads)
{@link org.deegree.framework.util.ProfilerInterceptor Profiling}
- Security
- TODO
[ ^ ]
Extended JavaDoc tags
Some of these tags were presented in the article
"AmbySoft Inc. Java Coding Standards", by Scott W. Ambler.
- @bug - describes a known bug
- Describes a known bug related to the class, method or routine.
- @todo - marks that the item isn't finished yet
- This is info for the coders (only) of the class, method or routine.
A @todo is something which is meant to be fixed before the next release. It
is not the same as @bug, because a bug may be too expensive to fix, or
otherwise does not warrant it being fixed. A @todo is often "stronger"
than @bug, but not necessarily so. Use one tag per "todo".
Can be used everywhere.
- @precondition - documents a precondition
- Documents a precondition. Applies to methods and routines, and sometimes to
properties. A precondition is a statement which is assumed true when the method
gets called. It is part of the contract between the caller and callee, with the
"burden" on the caller. A good practice is to assert the preconditions
of a method.
- @postcondition - documents a postcondition
- Documents a postcondition. Applies to methods and routines, and sometimes to
properties. A postcondition is a statement which you as a caller can assume to be
true when the method (etc) returns. It is part of the contract between the caller
and callee, with the "burden" on the callee.
[ ^ ]
Project Reports
[ ^ ]
@author Torsten Friebe, $Author$
@version 2.0, $Revision$, $Date$
@see deegree test suite JavaDoc