WebObjectsとは
WebObjectsは、かつて
Appleが提供していた
Java製のWeb
アプリケーションサーバです。Mac OS Xの開発環境に統合され、Webアプリケーションや
Webサービスの開発・運用を支援する様々なツールとフレームワークを提供していました。徹底した
オブジェクト指向設計、強力なデータベース接続機能、そして迅速なプロトタイピングを可能にするツール群が特徴でした。
特徴
WebObjectsは、以下のような特徴を備えていました。
コスト効率: Mac OS Xの開発環境に付属していたため、追加コストを抑えることができました。
強力なフレームワーク: Webアプリケーションの開発に必要な機能を提供する各種フレームワークが用意されていました。
Webアプリケーションサーバ: Java SEベースでスタンドアロンに動作し、JavaMonitorで管理が可能でした。Java EEサーバでの運用もサポートされていました。
データベースアクセス:
[オブジェクト関係マッピング]により、SQL文を記述することなくデータベースにアクセスできました。
プレゼンテーション、ロジック、データの分離: HTML、Java、SQLを明確に分離し、再利用可能なWebページを構築できました。
ステート管理: セッションを利用して、オブジェクトを長期間保持することができました。
スケーラビリティとパフォーマンス: 複数のアプリケーションインスタンスやサーバを管理し、負荷分散を実現できました。
ルールベースの高速開発: データモ
デルに基づいて、カスタマイズ可能なWebアプリケーションを自動生成できました。
歴史
WebObjectsは、
1996年にNeXT Software Inc.からリリースされました。その後、
Apple ComputerによるNeXTの買収を経て、
Appleの製品ラインナップに組み込まれました。
Apple StoreやiTunes Storeといった自社のオンラインサービス基盤として活用されました。
2000年には、運用ライセンスを含む価格が大幅に引き下げられ、より手軽に利用できるようになりました。
2005年には、開発ツールが
Xcodeに統合されましたが、その後、開発ツールの開発はオープンソースコミュニティに委ねられることになりました。
フレームワーク
WebObjectsは、以下の3つの主要なフレームワークで構成されています。
1.
WebObjects Framework (WOF): Webインターフェースとステート管理を提供します。テンプレート、ロジック、設定ファイルを組み合わせてWebページを構築します。
2.
Enterprise Objects Framework (EOF):
関係データベースとオブジェクトのマッピングを行います。データベースの操作をオブジェクトを通して行えるようにします。
3.
Foundation Framework: 基本的なデータ構造やWebObjectsに必要な機能を提供します。他のフレームワークの基盤となります。
WebObjectsの影響を受け、様々なオープンソースの代替
ソフトウェアが開発されました。
Objective-C: SOPE, GNUstepWeb
Java: Tapestry, Cayenne, wotonomy
Ruby: IOWA, Borges, SWS, SDS, CGIKit, TapKit
Python: Modeling Framework
Smalltalk: Seaside
PHP: PHOCOA
現在、WebObjectsは
Appleによって積極的に開発されていませんが、その概念や技術は、後のWebアプリケーションフレームワークに大きな影響を与えました。