LogoGNUstep Database Library 2

The GNUstep Database Library 2 (GDL2) is a set of libraries to map Objective-C objects to rows of relational database management systems (RDBMS). It aims to be compatible with Enterprise Objects Framework (EOF) as released with WebObjects 4.5 from Apple Inc. It requires:

  • the GNUstep Make Package
  • the Base Library
  • the GUI Package
  • the Back Package
  • the GORM Package
  • the Renaissance Package


[ Introduction | State | Documentation | Download GDL2 | Related links ]


GDL2 consists of the following components:

The fundamental abstraction library which includes many non RDBMS related extensions such as KeyValueCoding extensions and other categories. Most importantly it contains the classes which handle the coordination of object graphs namely EOEditingContext.
This library implements the underlying mechanism to retrieve and store data in RDBMS. It defines the abstract classes like EOAdaptor which are subclassed to interface with concrete RDBMS implementations.
This library implements classes used to synchronize UI components such as NSTextFields, NSButtons and NSTableViews with the state of objects which an EOEditingContext contains.
This is a collection of concrete EOAdaptor projects needed to connect to specific databases. GDL2 currently supplies Adaptors for the PostgreSQL and SQLite databases.
  • PostgreSQL: we aim to support PostgreSQL 8.1 and higher API
  • SQLite: Compatible with SQLite version 3.x
GDL2 offers an alpha version of DBModeler to create and maintain .eomodel(d) files.
This framework is used by DBModeler and can used to write bundles for DBModeler to interface with the application.
Both Gorm and InterfaceBuilder can be used to create nib files which contain display groups an EOEditingContext. The palette provides those applications with the necessary code to hook up UI components with the model objects.
The Trading framework, provides an example model, and some routines to create a database from the model, and populate the database with data, while not an example itself it is indented for use by example applications using GDL2 alone, EOInterface or GSWeb, and for higher level tests.


Currently GDL2 is meant for developers who can help test and contribute to the current code or are willing to test the interface. It is not ready for general purpose production code. Having said that, it should be mentioned that GDL2 is being used in production environments and has been much tested in those contexts.

Expect the current interface to change especially with respect to functions and methods not documented in EOF 4.5. Even the library names themselves may change.

If you identify something that you need, please let us know at or even better get copyright assignment for the FSF and post a patch.


For installation help, please refer to the INSTALL file included in the GDL2 package

How to get GDL2

The last offically released version is 0.12.0 (February 2009), which you can download here.

Related links

GNUstepWeb (WebObjects 4.5 clone)