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] [Documentation] [Platform] [Architecture] [Design Aspects] [Extended JavaDoc tags] [Project Reports]


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