レベル: 初級 Martin Brown, Freelance Writer
2009年 9月 29日 今日のような経済状況では、誰もが費用を削減する方法を求めています。IT 分野の場合、費用を削減するための 1 つの方法は、ライセンスされる高価な製品の代わりにオープンソースの製品に切り換えることです。このシリーズ最終回の今回は、Exchange グループウェア・サーバーとして使われることを前提に設計された OpenChange について説明します。E メールはおそらく皆さんにとって、ビジネスを支える重要な要素であるはずです。E メール・サーバーがダウンすると、すべてが即座に停止してしまいます。この記事では、OpenChange E メール・サーバーについて、そして OpenChange が実用に耐えるものかどうかについて学びます。
はじめに
ライセンスされる高価な製品の代わりにオープンソースの製品を使うことで、大幅に費用を削減することができます。この「オープンソースを使って費用を節約する」シリーズでは、オペレーティング・システム、オフィス・アプリケーション・スイート、そしてグループウェア・サーバーという 3 つに対するオープンソースの選択肢について学びます。
- 第 1 回では Ubuntu について説明しています。Ubuntu は非常に高機能で使いやすいオープンソースのオペレーティング・システムであり、容易にデスクトップ・コンピューターやサーバー・インフラのベースとなります。
- 第 2 回では、ビジネスをサポートするアプリケーションの大部分 (ワープロ、スプレッドシート、プレゼンテーション・ツール) を占める OpenOffice アプリケーション・スイートの特徴と機能について説明しています。
- そして今回の記事では OpenChange を分析します。OpenChange は、Microsoft® Exchange Server と Exchange プロトコルを移植可能な形式でオープンソース実装したものです。Exchange は Microsoft Outlook® と組み合わせて動作するように設計されたグループウェア・サーバーであり、メッセージング・サーバー、共有カレンダー、連絡先データベース、公開フォルダー、メモ帳、タスクなどの機能を持っています。
ほとんどの企業では、最適なパフォーマンスを実現するために、E メールの送信や情報の共有のための E メール・ツールやコラボレーション・ツールを必要とします。E メール・サービスに利用できる選択肢は数多くあります。しかしここでは、ほとんどの企業にとって本当に必要な機能は何かを考えてみましょう。
E メール・サービスと、それ以外のサービス
利用可能な E メール・サービスは数多くあり、その多くはオープンソース・コミュニティーによって提供されています。オープンソース・コミュニティーは、IMAP (Internet Message Access Protocol)、POP (Post Office Protocol)、SMTP (Simple Mail Transfer Protocol) など、オープンなプロトコルをベースとするソリューションを開発しています。これらのプロトコルの多くと、開発されたオープンソースのソリューションは何十年も前のものですが、オープンソースのソリューションと商用のソリューションのどちらも使用する組織にとっては、共通のソリューションとなっています。
多くの組織はメール用のプロトコルを必要としますが、それは問題の一部にすぎません。多くの組織はそれ以外にも以下の手段を必要としています。
- E メール・アドレスや住所などの詳細情報を共有するためのグローバルなアドレス帳
- 企業内の他の人が何をしているのかを知るためのカレンダー情報
- ToDo リスト、メモ帳、その他のツール
E メール・ソリューションを効果的なものにするためには、単なる E メールにとどまらず、コラボレーション環境をサポートするすべてのソリューションを含む必要があります。
Exchange プロトコル
E メールによる通信に使用できるオープンなプロトコルは数多くありますが、多くの組織で最もよく使われているプロトコルは、Microsoft Windows® Exchange の E メール・サーバーで使用され、サポートされているプロトコルです。
Microsoft Exchange は、プロトコルとして IMAP、SMTP、POP をサポートしています。しかしほとんどのシステム管理者は、これらのプロトコルのサポートを有効にせず、あるいはこれらのプロトコルを明示的に無効にし、Exchange プロトコルと Microsoft Outlook® クライアントを強制的に使わせています。
Exchange プロトコルを使う理由はたくさんあります。システム管理の観点から見ると、Microsoft Outlook を使う主な理由は、グループ・ポリシーと Active Directory サービスを使って Outlook の環境を制限したり制御したりできるためです。ユーザーの観点から見ると、Active Directory によってコンピューターにシングル・サインオンすることができ、例えばユーザーやプロファイルを使って Outlook から直接 E メールの設定を行うこともできます。ユーザーは組織内の任意のコンピューターにログインして、そのユーザーの E メールに自動的にアクセスすることができます。
この手法による欠点として、Exchange プロトコルを使用する E メール・クライアントの選択肢は (Windows の場合でさえ) 非常に限定されており、Windows 以外の場合にはさらに限定されています。
Exchange プロトコルは独自のプロトコルです。このプロトコルでは、クライアントが MAPI (Messaging Application Programming Interface) に対して呼び出しを行うと、MAPI は RPC (Remote Procedure Call) などのプロトコルを使ってバックエンドのサーバーと通信します。メインのプロトコルには下記の 2 つのレベルがあります。
- 基本プロトコル — メインのメッセージング・インターフェース、メッセージの送受信機能、リモート・サーバー上のフォルダー管理機能を提供します。
- 基本インターフェース — 基本的な E メール・クライアントに対して通常想定される、すべての機能を提供します。
Extended MAPI サービスを利用すると、リモート・サーバー上の情報を完全に制御することができ、さらに複雑な情報や構造を操作することもできます。Extended MAPI は拡張されたプロトコルであり、アドレス帳、カレンダー、メモ帳、その他の情報を作成、使用できるなど、コラボレーション環境のための豊富な機能を提供します。要するに Extended MAPI サービスは、共同で作業を行うためのツールと機能の完全なセットであり、さまざまな企業が求めるものなのです。
しかし、Microsoft Windows も Exchange も、Per Seat、つまり同時接続クライアント数ベースのライセンス・モデルを採用しています。そのため Exchange ベースのソリューションは、組織が必要とする機能をすべて提供するソリューションであることは確かですが、高価な選択肢です。
OpenOffice の場合と同様、オープンソースの選択肢を検討する場合には互換性が重要な要件となります。既存の Exchange サーバーと接続するためのクライアント・レベルの互換性を求める場合であれ、あるいは既存の Outlook クライアントを使用して別のサーバーに接続できるようにサーバー・レベルの互換性を求める場合であれ、互換性に関する要件を十分に確認する必要があります。
Exchange 対応のクライアント
当然のことですが、Exchange をベースとする環境の大部分は、Exchange のサービスにアクセスするクライアントが Microsoft Outlook (Microsoft Office の E メール/PIM コンポーネント) を使用しているものと想定しています。
Exchange を使用するすべてのオープンソース・ソリューションにとって重要な要素は、呼び出しを行うための MAPI インターフェースを実装することと、サーバーと情報を交換するための MAPI/RPC プロトコルを実装することです。
こうした要素を満たすソリューションには、OpenMapi プロジェクトや libmapi プロジェクトなど、いくつかのものがあります。libmapi プロジェクトは、さらに大きな OpenChange プロジェクトの一部であり、クライアント・レベルとサーバー・レベルで Exchange に対応するために、Microsoft Exchange プロトコルによる通信と動作を行おうとしています。
Evolution プロジェクトは、Gnome デスクトップ環境 (Linux® や UNIX® による多くのデスクトップ環境のなかの標準的な環境) を作成している Gnome プロジェクトの一部です。このプロジェクトでは、多くのユーティリティー API の他に、ウィンドウ、アイコン、その他のコンポーネントを作成することができる API と環境を構築しています。
Evolution は Gnome 環境の上に構築され、典型的な PIM の E メール機能やアドレス帳機能、カレンダー機能などをサポートします。Evolution クライアントのバックエンドはいくつかのコネクターをサポートしており、これらのコネクターによって Evolution の主要な機能である E メール機能と、この機能で利用する E メール・サーバーとのインターフェースが提供されます。そうしたコネクターの中に MAPI コンポーネントがあり、Evolution はこの MAPI コンポーネントを使って Exchange メール・サーバーと通信し、E メールの送受信を行い、アドレス帳やその他の機能の処理を行います。
もう 1 つの E メール・クライアントである KDE Akonadi プロジェクトも、OpenChange MAPI ライブラリーを使って Exchange 機能を提供します。KDE も、Linux 環境で使われるデスクトップ・ユーザー・インターフェースのための、Gnome と並ぶ主要プロジェクトです。Akonadi が提供する機能は Evolution で提供される機能と似ていますが、Akonadi の場合、KDE スタック内にある他のコンポーネント (KDE Office スイートなど) と通信するための機能が追加されています
この OpenChange MAPI ライブラリーの使い方はシームレスであり、互換性の問題はほとんどありません。KDE プロジェクトと OpenChange プロジェクトで作業を行っている Brad Hards によれば、困難な部分は主に、カレンダーやアドレス、タスクの情報に関する部分であるということです。E メールの送受信や処理に使われるプロトコルの中核部分は問題ありません。ほとんどの人達は、自分達が Exchange サーバーと通信していることや、オープンソース製品の 1 つ (例えば IMAP プロトコルをサポートする Cyrus など) と通信しているのではないことをまったく意識しないでしょう。
この種のプロジェクトにとって非常に重要な点として、Exchange サーバーは、通信している相手がオープンソースの Exchange 対応クライアントであることをまったく認識しません。Windows 以外のプラットフォームを利用しているユーザーは、管理者が IMAP や他のプロトコルを有効にしなくても、これらのプロジェクトを利用することで、Exchange プロトコルが提供する機能を完全に制御し、使用することができるため、Exchange サーバーに接続して、Exchange サーバーのさまざまな機能をすべて利用することができます。互換性の観点から見ると、これは非常に重要です。Windows 環境内で作業する必要のある Linux ユーザーや、あるいは Windows 環境内で作業したいと望む Linux ユーザーが、E メールやアドレス帳、カレンダーの情報の交換機能を完全に利用することができるのです。
Samba 接続
OpenChange プロジェクトは、元々は Samba プロジェクトの一部として開発されたコードとライブラリーを使用しています。Samba は SMB (Server Message Block) を実装したものですが、最近では、Windows でファイルやディレクトリー、プリンターの共有に使用されている CIFS (Common Internet File System) も実装しています。
Samba も十分に確立されたプロジェクトであり、UNIX/Linux の領域では 1990年代の初めから利用されています。現在の安定リリース (Samba V3.x) は、Windows でユーザー・プロファイルとユーザー認証のサポートを共有および提供するために使われている Active Directory システムとの互換性があります。
OpenChange は、Samba V3.0 コードのリライトである Samba V4.0 で提供される機能を使用する予定になっています。その Samba V4.0 では、SMB、CIFS、プリンター共有をサポートすることに加え、Active Directory のサーバーおよびクライアントとしての機能も提供される予定です。
Samba コンポーネントは、OpenChange のサーバー・コンポーネントが成功するための鍵となっています。現在進められている Samba 最新版の開発プロセスは 2006年1月に始まりました。この記事の執筆時点で、このプロジェクトはまだリリースされておらず、OpenChange サーバーの実装を展開する上での制約となっています。
OpenChange サーバー
OpenChange プロジェクトの第 2 の部分は、Microsoft Exchange Server を直接置き換えられるようにすることです。OpenChange チームは、libmapi クライアント・プロジェクトでのプロトコルに関する作業の経験を生かし、プロトコルの互換性を実現しようとしています。OpenChange サーバー・ソリューションは、メインの Samba サーバー (SMBD) と組み合わせることでバックエンド・サーバーとして機能し、コアとなる機能を提供します。
OpenChange サーバーの出発点は、MAPIProxy という別のプロジェクトです。MAPIProxy は典型的なプロキシー・プロセスと同じように設計されており、MAPI 対応のクライアントと Exchange サーバーとの間で交換されるメッセージを中継します。MAPIProxy プロジェクトの元々の目的は、クライアントとサーバーとの間でやりとりされる MAPI プロトコルを監視したりデバッグしたりするための手段を提供することですが、MAPI プロトコルを理解し、交換される情報をインターセプトできるプロキシーが用意できれば、MAPI/RPC プロトコル上でクライアントと通信するサービスを容易に提供できるようになります。
OpenChange サーバーでは最終的に、Exchange サーバーと同じ機能を提供し (つまりすべてのメール、アドレス帳、その他のコンポーネントを処理し)、データをローカルの別のファイル・ストアに保存できるようになる予定です。
OpenChange サーバーのプロジェクトでは、下記の 2 種類の Exchange ユーザーをサポートできる見込みです。
- デスクトップ Windows ユーザー。オープンソース技術をベースにサーバーと通信できるという、長年求められていた互換性を OpenChange サーバーによって実現することができ、ライセンスが必要な Microsoft 独自の Exchange サーバーと同等の機能を利用できるようになります。
- Linux ユーザー。OpenChange サーバーと Evolution クライアントまたは Akonadi クライアントとを組み合わせることで、これまでオープンソースの領域ではあまり見られなかった機能を (1 つのアプリケーション環境の中で) 利用できるようになります。
オープンソースのソリューションにはさまざまなものがありますが、大抵のソリューションは、異なるコンポーネント同士、場合によると非常に大きく異なるコンポーネント同士が連動することで実現されています。その結果として、オープンソース領域での真のニーズが満たされるはずであり、既存の Windows ユーザーと通信しながら共同作業を行う上で必要な互換性がもたらされることになります。
管理者の観点から見ると、OpenChange のサーバーとクライアントを構成したり使用したりするための作業は、Windows 環境で同様の作業をする場合やグループ・ポリシーで提供される機能を使う場合と比べると簡単ではありません。
Windows の Active Directory に保存されるプロファイル、ユーザー、その他の情報は、当然ながら Samba4 の Active Directory サポートでもサポートされる予定です。
まとめ
クライアントの観点から見ると、Exchange プロトコルを使用するメール・クライアント・ソリューション (Evolution や Akonadi など) への移行は単純であり、複雑なプロセスではありません。大量のインストールや移行が必要な場合でも、移行のプロセスは比較的単純なはずです。既に一部の企業では、Linux ユーザーが他の Exchange ユーザーにアクセスしたり、他の Exchange ユーザーと通信したりするためのソリューションとして Evolution を使用しています。
現状では、OpenChange サーバーのプロジェクトで提供されるインターフェースや安定性、機能は、クライアント環境で提供されているものと同じレベルには達していません。このプロジェクトはまだ開発中であるため、このプロジェクトが十分に成熟して利用可能なものかどうか、他のソリューションと比較検討する必要があります。全体的に見ると、この OpenChange サーバーのプロジェクトは、Outlook クライアントや他の Exchange クライアントをサポートするソリューションとしても、またさまざまなコンポーネントを別途セットアップしなくても E メール・ツールやコラボレーション・ツールを管理したり、扱ったりすることができる多用途のソリューションとしても大いに有望です。
最終的には、OpenChange サーバーと、OpenChange サーバーの基礎となる Samba プロジェクトは完全なものになるはずですが、現状では、このプロジェクトを推奨することは困難です。
参考文献 学ぶために
製品や技術を入手するために
議論するために
著者について  | |  | Martin Brown は過去 8 年以上プロのライターとして活躍してきました。彼はさまざまな話題に関して数多くの本や記事を執筆しています。専門領域は広く、無数の開発言語やプラットフォーム (Perl、Python、Java、JavaScript、Basic、Pascal、Modula-2、C、C++、Rebol、Gawk、Shellscript、Windows、Solaris、Linux、BeOS、Mac OS X その他) から、Web プログラミング、システム管理やシステム統合にまでわたります。彼は ServerWatch.com と LinuxToday.com、そして IBM developerWorks に頻繁に寄稿しており、また Computerworld や The Apple Blog などのサイトの他、Microsoftの SME (Subject Matter Expert) にもブロガーとして頻繁に寄稿しています。 |
記事の評価
|