OpenLDAP
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/11/24 02:34 UTC 版)
プロジェクトの歴史と中核チーム
OpenLDAP Project[3] は1998年、Kurt Zeilenga[4] が創始した。LDAPプロトコルの開発と改良を長期プロジェクトとして行ってきたミシガン大学のLDAPリファレンス実装のクローンを出発点としてプロジェクトが始まった。
2015年5月時点で、OpenLDAP Project の中核チームは Howard Chu(チーフアーキテクト)[5]、Quanah Gibson-Mount、Hallvard Furuseth、Kurt Zeilenga の4人で構成されている。他にも活発に活動している重要なコントリビュータとして、Luke Howard、Ryan Tandy、Gavin Henry らがいる。過去の中核チームメンバーには、Pierangelo Masarati[6] らがいた。
コンポーネント
OpenLDAPは次の3つのコンポーネントから成る。
- slapd (Standalone LDAP Daemon) - スタンドアロン型のLDAPデーモンと対応するオーバーレイやツール
- LDAPプロトコルを実装しているライブラリ群
- クライアントソフトウェア(ldapsearch、ldapadd、ldapdelete、その他)
さらに OpenLDAP Project ではいくつかのサブプロジェクトも運営している。
- JLDAP - Java用のLDAPクラスライブラリ
- JDBC-LDAP - Java JDBC - LDAP ブリッジドライバ
- ldapc++ - C++用のLDAPクラスライブラリ
- Fortress - Java 用のロールベースのIDアクセス管理
- LMDB - メモリマップドデータベースライブラリ
バックエンド
概要
OpenLDAPサーバ (slapd) は歴史的経緯から、ネットワーク処理とプロトコル処理を受け持つフロントエンドと、データストレージを扱うバックエンドに分かれている。この設計は、1996年に書かれたオリジナルのミシガン大学のコードの特徴であり、その後のすべてのOpenLDAPリリースで引き継がれている。 モジュラー構造になっており、バックエンドとしては通常のデータベースだけでなく様々なテクノロジーとのインタフェースを提供する多様なものが存在する。
なお、古いリリース (1.x) では、「バックエンド」と「データベース」はほぼ同義に使われていた。正確には、「バックエンド」はストレージインタフェースのクラスであり、「データベース」はバックエンドのインスタンスの1つである。slapdサーバは同時に複数のバックエンドを使うことができ、同種のバックエンドの複数のインスタンス(例えば多数のデータベース)を同時に扱うこともできる。
利用可能なバックエンド
OpenLDAPディストリビューションには17種類のバックエンドが含まれており、他にもサードパーティーが独自のバックエンドを開発している。標準バックエンドは大まかに以下の3種類に分類できる。
- データストレージ型バックエンド - 実際にデータを格納する。
- back-bdb: OpenLDAP用の最初のトランザクション型バックエンド。Berkeley DB をベースにしている。
- back-hdb: back-bdb からの派生。完全な階層型データモデルで、サブツリーの改名をサポートしている。
- back-ldif: プレーンテキストファイルである LDIF (LDAP Data Interchange Format) をベースにしている。
- back-mdb: メモリマップドデータベース(LMDB) 上に構築したトランザクション型バックエンド。
- back-ndb: MySQLのNDBクラスタエンジン上に構築したトランザクション型バックエンド。
- プロキシ型バックエンド - 他のデータストレージシステムとのゲートウェイとして機能する。
- ダイナミック型バックエンド - 要求された時にデータを生成する。
古いバージョンのOpenLDAPには今は使われていないバックエンドもあった。例えば、back-ldbm は元になったミシガン大学のコードを受け継いだバックエンドである。また、back-tcl は back-perl や back-shell と同様にTclスクリプトを呼び出すバックエンドである。
他のバックエンドのサポートも間もなく廃止される予定。 back-ndb は、廃止された。Oracle が MySQL を買収した後、Oracle によって MySQL とのパートナーシップが解消されたためである。 back-bdb と back-hdb は、間も無く廃止される。back-mdb の方がパフォーマンス、信頼性、および管理性の面で優れているためである。
実際、back-perl、back-shell、back-sock といったバックエンドは任意のプログラミング言語へのインタフェースとすることが可能で、拡張やカスタマイズが自由に行える。これを利用して、コンパクトでうまく定義されたAPIを持つRPCエンジンとしてslapdを使うことも可能である。
- ^ “OpenLDAP, 2.6.6 Feature Release Changes”. 2023年9月1日閲覧。
- ^ The OpenLDAP Public License OpenLDAP Project
- ^ The OpenLDAP Project Overview OpenLDAP Project
- ^ Kurt D. Zeilenga OpenLDAP Project
- ^ Howard's Miscellaneous Page
- ^ Pierangelo Masarati's Home Page
- ^ Writing SLAPI plugins
- ^ a b OpenLDAP 2.4 Announcement
- ^ “draft-chu-ldap-logschema-00 - A Schema for Logging the LDAP Protocol”. Tools.ietf.org. 2014年2月17日閲覧。
- 1 OpenLDAPとは
- 2 OpenLDAPの概要
- 3 プロジェクトの歴史と中核チーム
- 4 オーバーレイ
- 5 その他のモジュール
- 6 リリース履歴
- 7 外部リンク
固有名詞の分類
- OpenLDAPのページへのリンク