The Pcd GL serves as a directory infrastructure for SAP J2EE applications.
Applications typically expose Java objects that model domain semantics and which are seen through one or more Java interfaces. If the object provider decides so, these objects can be stored in the Pcd GL.
Example: For the domain of the portal's own object model, a page object is offered by a semantic application for pages.
The Pcd GL in turn uses a relational database as low-level persistency infrastructure, but this is completely hidden to the applications.
There are a couple of auxiliary portal services that are used by the Pcd GL, but need not be accessed by semantic applications.

The data in the Pcd GL is organized hierarchically. A JNDI-based API allows to read, modify, create, and delete objects.
The API is based on the packages
javax.naming
and
javax.naming.directory,
which are part of the
JNDI standard. In
JNDI, the hierarchy is made up of nodes that each implement
Context,
an interface that allows to organize the stored data in a hierarchical way as a tree of
contexts and objects. Pcd GL specific extensions to the standard interfaces provide access to
functionality that goes beyond the standard of JNDI.
In the Pcd GL, all contexts
also implement
DirContext (an extension of Context), and thus provide
the capability to store a set of attributes. Attributes are basically name-value-pairs, where for each name one single value or a list of
values can be stored.
The Pcd GL uses a unified low-level data model for plain hierarchical contexts and for semantic objects. That means, internally every semantic object is stored as a context with a set of attributes. Plain contexts and all types of semantic nodes are differentiated by the value of a special attribute that denotes the object class of the node.
All available object classes are listed in the Pcd GL's schema. Every schema entry describes an object class (or a filter class) and needs a set of mandatory attributes to be effective. The schema entries are the "glue" between the persisted hierarchical data and the semantic applications that are responsible for various nodes.
The central interface of the API is com.sapportals.portal.pcd.gl.IPcdContext, which extends
DirContext
(which is in turn an extension of
Context).
The Pcd GL extends the functionality of the standard JNDI API with the following features:
Additionally it supports the following features in an JNDI-conformant manner:
LinkRef