This document is the API specification of the deegree 2.3 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.3 framework is using the following third-party libraries (the list is by far not complete):

Optional:

deegree 2.3 requires the following platform: Java 2 SDK, Enterprise Edition (J2EE) 1.5 with Java 2 Platform, Standard Edition (J2SE) 1.5

[ ^ ]


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.sos SOS} - The basic function of the Sensor Observation Service (SOS) 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.

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 $Revision$, $Date$ @see deegree test suite JavaDoc