% Template GRASS newsletter - Article
% Language: Latex
%

% Head

\title{deegree --  Building Blocks for Spatial Data Infrastructures}

\author{by Markus M\"uller}

\maketitle

\section{Introduction}

deegree\footnote{degree website: \url{http://www.deegree.org}} is a Java-based Open Source / Free Software framework for the implementation of Spatial Data Infrastructures (SDI). It contains the services needed for SDI (deegree Web Services) as well as portal components (deegree iGeoPortal), mechanisms for handling security and access control issues (deegree iGeoSecurity) and storage / visualization of 3D geodata (deegree iGeo3D). deegree is conceptually and interface-wise based on the standards of the Open Geospatial Consortium (OGC) and ISO / TC 211. At the time of writing it is the most comprehensive implementation of those standards in one Open Source framework. The framework is component-based to a high degree, allowing the flexible creation of solutions for a wide variety of use cases. deegree is the official reference implementation of the OGC for the Web Map Service and Web Coverage Service standards. It is published under the GNU Lesser General Public License (LGPL).

\section{Historical background}

deegree is managed in a cooperation between the private company lat/lon and the GIS working group of the University of Bonn. The roots of deegree go back to a project of the University of Bonn named EXSE (GIS EXperimental SErver) running from 1997 through 2003. The aim of the project was an experiment-based analysis of merging GIS functionality and internet technology. Several tools and software modules had been developed including a first implementation of the OGC Simple Feature for CORBA specification as an Open Source Java API (called sf4j - Simple Features for Java).

In spring 2001, the sf4j project, the existing tools and software modules were re-arranged into a new project called JaGo (Java Framework for Geospatial Solutions) aiming to realize an Open Source implementation of the OGC Web Service specifications. The first service implemented was the OGC WMS 1.0.0 specification in summer 2001. Until the end of that year WFS 1.0.0 and WCS 0.7 followed. As the important web domains (.de, .org, .net) for JaGo were not available it was decided at the end of 2001 to rename the project to deegree.

The next important step was the release of deegree 1.0 in late summer 2002. Some changes in the architecture offered a better handling of the available OWS (OGC Web Services). An implementation of a multi-threading service engine and interfaces to remote OWS enabling high scalability of applications were added. The following minor versions featured new functions like a transactional WFS, a Gazetteer (WFS-G) and support of additional data sources. From this time on, deegree WMS supported Styled Layer Descriptor (SLD) and a Catalogue Service. Security mechanisms were added to the framework. An important step for increasing the publicity of the project was moving it to sourceforge as its distribution platform. Several developers started reviewing the deegree code base and adding code to the project.

An additional working thread in the development of the framework has been started in 2003. It aims at offering components to enable developers to create web clients based on deegree. This new client framework is named iGeoPortal supports the OGC standard Web Map Context 1.0.0.

One of the most important steps in deegree development was participation in the OGC CITE1 project in summer 2003, that resulted in deegree becoming the official OGC reference implementation for the WMS 1.1.1 specification. The participation of lat/lon and deegree in CITE was so successful that lat/lon has been selected by the OGC later on to develop WCS 1.0.0 and WMS 1.3 reference implementations with deegree in context of OGC's OWS-2 and OWS-4 initiatives.

In 2005, deegree2 was launched, representing again a great step forward in the development of the framework. The keystones of deegree2 are a model-based mechanism for deegree WFS, allowing flexible implementation of different data models using GML application schemas. Additionally, the development of a portlet-based client framework called deegree iGeoPortal - portlet edition, support for 3D data structures and a Web Processing Service (WPS) implementation are included in deegree2.

\section{Components}

deegree comprises five groups of components that are briefly described in the following:

\subsection{deegree Web Services}

These are the base components of any SDI. They can for example be used to display maps and 3D data, access vector and raster data, metadata management and retrieval, and processing of geodata. The list of implemented OGC Web Services includes WMS, WFS, WCS, CS-W, Gazetteer, SOS, WPS and WTS/WPVS. Besides, two security services (WAS/WSS), a printing service (WMPS) and a service monitor (owsWatch) are available.

\subsection{deegree iGeoPortal}

This is the portal framework of the deegree project. iGeoPortal has a modular structure and is able to display maps, support searches using geographic identifiers, search for datasets using metadata, allow for controlled access to OGC Web Services and display 3D geodata.

Different kinds of SDI portals are created using deegree iGeoPortal standard and portlet edition and the corresponding geo web services. While deegree standard edition is using DHTML technology, the portlet edition is based on JSR-168, the portlet standard. Both editions use AJAX technology for some specific modules. These portals include standard WebGIS and specialized applications as used by municipalities, environmental, surveying and other agencies.

deegree iGeoPortal itself consists of different modules for separate, but combinable, functionalities. The list of modules includes: map, download, gazetteer, catalogue, security and 3D.

\setkeys{Gin}{width=1\textwidth}
\begin{figure}[htbp]
 \centering
  %name of your graphic, without the path AND in PNG (screnshots etc)/PDF (drawings) format:
  \includegraphics[scale=0.8]{project_spotlight/mueller/deegree-iGeoPortal}
  %caption of the figure
  \caption{deegree iGeoPortal standard edition.}
  %label of the figure, which has to correspond to \ref{}:
  \label{fig:iGeoPortal}
\end{figure}

\subsection{deegree iGeoSecurity}

Access control for geodata and services is an important issue for a wide variety of applications. deegree iGeoSecurity can be used to define access mechanisms using authentication and authorization mechanisms, secure connections and filtering of geodata. A database for managing users, user groups, roles and rights called deegree U3R is the core component of the security components.

\subsection{deegree iGeo3D}

deegree can be used to store 3D geodata such as digital terrain and building models in file-based systems and relational databases. Using different deegree web services, this data can be queried and displayed. These systems are often used by surveying agencies and municipalities to store their 3D data for commercial purposes or to fulfil EU regulations such as the European noise guidelines. deegree iGeo3D uses the OGC standards WFS, WCS, WTS and CityGML.

\setkeys{Gin}{width=1\textwidth}
\begin{figure}[htbp]
 \centering
  %name of your graphic, without the path AND in PNG (screnshots etc)/PDF (drawings) format:
  \includegraphics[scale=0.8]{project_spotlight/mueller/deegree-igeo3d}
  %caption of the figure
  \caption{deegree iGeo3D.}
  %label of the figure, which has to correspond to \ref{}:
  \label{fig:iGeo3D}
\end{figure}

\subsection{deeJUMP}

An additional application area of deegree is the classical desktop GIS. Using deegree components, the Open Source desktop GIS JUMP (Java Unified Mapping Platform) was enhanced to support WMS and WFS. A number of additional modifications and extensions were also developed.

\section{Overall architecture}

The different deegree components can be combined with each other or with other standard-compliant software. An exemplar architecture of a deegree-based system is displayed in figure \ref{fig:archi}.

iGeoPortal with its different modules acts as a web-based client to the different Web Services. Alternatively, deeJUMP can be used to access WMS or WFS services. If needed, security management can be implemented using iGeoSecurity. deegree can access different data sources, e.g. PostgreSQL/PostGIS or Oracle databases, shapefiles, all kinds of relational databases using a deegree-specific spatial extension and different kinds of image formats such as PNG, GIF, JPEG or (Geo)TIFF.

\setkeys{Gin}{width=1\textwidth}
\begin{figure}[htbp]
 \centering
  %name of your graphic, without the path AND in PNG (screnshots etc)/PDF (drawings) format:
  \includegraphics[scale=0.8]{project_spotlight/mueller/deegree-architecture}
  %caption of the figure
  \caption{deegree architecture.}
  %label of the figure, which has to correspond to \ref{}:
  \label{fig:archi}
\end{figure}

\section{Current status}

In June 2007 deegree day will take place in Bonn Germany. Until then, the 2.1 releases of deegree will be published. The corresponding demo releases will be extremely easy to install as they come as WAR-archives and can be deployed within seconds if a Tomcat Servlet engine is available. The demo releases include a Web Map Service, a Web Feature Services (with gazetteer), a Web Coverage Service, a Catalogue Service-Web (for ISO metadata), a Web Terrain Service (Web Perspective View Service), iGeoPortal and deeJUMP. All demo releases come with preconfigured data sources and detailed documentation. The 2.1 releases are a major step forward in deegree's development. Feel free to visit \url{http://www.deegree.org} for news regarding deegree day 2007 and the upcoming releases.
 
 \address{Dr. Markus M\"uller\\
 lat/lon GmbH\\
 Aennchenstr 19\\
 53177 Bonn\\
 Germany\\
\email{mueller AT lat-lon.de}\\
\url{http://www.lat-lon.de}}


%%% Local Variables: 
%%% mode: latex
%%% TeX-master: main_document.tex
%%% End: 

