Real Business Solutions
X.500 Schema Editor
An X.500 directory system is organized, logically, as a hierarchical collection of objects known as the Directory Information Tree (or DIT). The directory system applies rules, known collectively as the schema, that define the structure and content of the DIT. The schema includes a list of all available object types, the attributes and possible values associated with those object types, and the structure and naming rules that define how objects may be organized into hierarchies.
The complete ASN.1 definition of the schema for a given DIT typically involves multiple ASN.1 modules which are stored as text files. The modules must be compiled together to create a machine-readable version of the schema that can be loaded into the directory system. Schema development involves editing one or more of the modules with a text Editor, running the compiler, and debugging the ASN.1 code until it is syntactically and functionally correct.
The purpose of the X.500 Schema Editor is to provide a tool that simplifies the creation and editing of X.500 schemas. It represents the X.500 schema visually, allowing easy navigation and point-and-click editing, and that automatically generates correct ASN.1 and/or LDIF code. Users benefit from reduced effort required to implement changes, while schema modifications to meet business requirements are accomplished safely.
Design Considerations
In order for the directory system to become part of the enterprise data architecture, it must adapt to an environment of constant change. One aspect of that change involves frequent modification of the schema to meet business needs arising in diverse corners of the enterprise. Such modifications are not necessarily executed by experts in directory systems architecture. To support operation in this environment, Park Street provides tools for schema management that:
- Are easy to understand and use--presenting data in a visual paradigm, using the look and feel of standard desktop applications
- Offer version management features--providing for the simultaneous existence of multiple versions of class namespaces and schemas
- Provide control over the deployment process--allowing reliable schema management in a distributed environment
The schema management solution provides for the protection of core transaction-processing elements of the schema, while allowing the seamless incorporation of peripheral or unrelated data. This suggests a more advanced, less monolithic approach to schema construction. The schema management tool provides for the creation of schemas through the combination of multiple, independent namespaces. This allows an open content model for the directory system, permitting data for multiple, unrelated purposes to be managed effectively in a single directory tree.
Concept of namespace and schema
A key feature of the Schema Editor is that it supports the definition of independent class libraries. Each class library contains its own classes, types, and structure rules. A schema, or deployment unit, consists of a collection of class libraries, along with additional structure rules and property relationships that define the connections among elements of different class libraries.
The creation of schemas through the assembly of independent class libraries offers several important benefits, including:
- Separate working groups can develop independent class, attribute, and structure information for particular applications.
- Users can deploy a subset of the application suite to any given directory.
- Users can separately develop class libraries defining their own data structures and incorporate them into an overall deployment unit without impact on core transaction processing definitions.
- Manageable versioning capabilities can be provided, both at the class library and schema level.
Visual environment for class definition
Classes and attributes (or "types") are displayed as trees, using the familiar Windows Explorer user interface paradigm. The user has the ability to switch between tree views based upon inheritance rules and structure rules. A simple point-and-click approach allows the editing of aspects of classes and types, while the tree structure (and implied parent-child relationship between left- and right-hand panels of the display) provides a convenient context for managing the connection between elements.
Because the underlying database representation is actually a network, or graph, an advanced view is also provided that allows the user to directly navigate the connections among the elements of a namespace or schema.
Attributes and types
Attributes in the X.500 schema are associated with types--which can be either simple or complex.
Simple types in Schema Editor can be any ASN simple type. Schema Editor supports all ASN simple types. X.500 also provides for a robust collection of rules for the processing of simple types, including matching and comparison rules. Schema Editor also supports the direct association of types with processing rules.
In ASN, complex types are defined as trees, where the leaf nodes are simple types--which lends itself neatly to the visual editing paradigm. Schema Editor presents complex types as trees. It provides the ability to easily associate types with either simple or complex child types, to build data structures of any level of complexity. Standard ASN semantics for expressing the relationship of parent to child types (SEQUENCE, SEQUENCE OF, SET, SET OF, and CHOICE) is provided.