検索に移動この記事は更新が必要とされています。この記事には古い情報が掲載されています。編集の際に新しい情報を記事に反映させてください。反映後、このタグは除去してください。Xの開発環境に含まれていた、JavaによるWebアプリケーションサーバである。アップルが開発していた。Webアプリケーション・Webサービスを開発・運用するための開発ツール・フレームワークを持ち、徹底したオブジェクト指向、強力なデータベース接続機能、ラピッドプロトタイピングが可能なツールが特徴である。WebObjectsでは、ウェブブラウザから使用できるウェブアプリケーション、Webサービスを提供するアプリケーションを開発することができる。Serverを購入して運用ライセンスを得ることが必要)。EEアプリケーションサーバでも運用できる。Storeをはじめとした自社オンラインサービスをWebObjectsで構築している。Storeは最も利用者の多いWebObjectsアプリケーションであった。Xの開発環境に付属するので、Mac以外のコストはかからない。強力なフレームワークWebアプリケーションの開発・運用に必要な機能を提供する各種フレームワークを持つ。SEベースのWebアプリケーションサーバとしてスタンドアロンで動作する。アプリケーションの管理にはJavaMonitorというアプリケーションを使い、Webブラウザから操作する。EEサーバで運用することも可能。データベースアクセス関係データベースのテーブルをクラスにマッピングするデータベースフレームワークにより、SQL文を記述することなくデータベースにアクセスすることができる。明確に分離し、再利用可能なWebページを構成する。ステート管理セッションを用いてあらゆるオブジェクトを長期間保持することができる。スケーラビリティとパフォーマンス複数のアプリケーションインスタンス、複数のアプリケーションサーバを管理できる。負荷分散のアルゴリズムは3種類用意されている。ルールベースの高速アプリケーション開発プロジェクト作成時にデータモデルを与えるだけで、カスタマイズが可能なWebアプリケーションを生成することができる。Inc.から世界初のWebアプリケーションサーバとしてリリースされた。大企業でも使われるようになった。その後NeXTはアップルコンピュータに買収され、アップルコンピュータはWebObjectsを手に入れてからソフトウェアをハードウェアの販売につなげる戦略を展開している。2000年には無制限の運用ライセンスを含めたWebObjectsの価格を、5万ドルから699ドルに大幅に値下げした(当時の日本円で約692万円の値下げ)。Serverの販売を開始した。ServerにはWebObjectsの無制限の運用ライセンスも含まれているので、WebObjectsは実質的に無料である。現在もアップルはバージョン5.2の販売を継続している。Professional用の開発ツールが付属している。Xの一部として移行した。699ドルで販売されていた開発ツールとフレームワークはXcodeに付属するようになり、WindowsやSolarisなど他プラットフォームのサポートを打ち切った。一部の開発ツールのインタフェースが一新されたが、主な機能にほとんど変更はなかった。アップルはこのままWebObjectsをXcodeに統合する方針だったが、この方針はすぐに変更されることとなった。2006年8月、アップルはWWDCでCocoa-Javaブリッジの廃止を告げた。WebObjectsの開発ツールはすべてCocoa-Javaブリッジを利用して実装されていたが、アップルは再実装を行わないことに決めた。これにより、WebObjectsの開発ツールもすべて廃止されることとなった。アップルはWebObjectsのランタイムのみ開発を継続することにし、開発ツールの開発をオープンソースコミュニティに任せることにした。オープンソースのツールの中でも代替可能なものは、EclipseのプラグインであるWOLipsである。WOLipsは、すでに何年も重要な更新のないアップルのツールに匹敵する機能を持っていた。EOModelerに相当する機能だけ欠けていたが、アップルの方針が定まったことで、急ピッチで開発が進められた。5.4がリリースされた。ライセンスキーが不要になり、プラットフォームと開発・運用の区分に関係なく使えるようになった。Leopardの開発ツールからWebObjectsの開発ツールが廃止され、XcodeでもWebObjectsプロジェクトを開発できなくなり、事実上WOLipsが唯一の開発ツールとなった。フレームワーク[編集]WebObjectsで使われる主なフレームワークは次の3つに分けられる。(WOF)[編集]WebObjects(ウェブオブジェクツ)フレームワークは、Webインタフェースとステート管理の機能を提供する。Webページを「テンプレート(HTMLファイル)、ロジック(Javaクラス)、両者間の設定ファイル(バインディングと呼ぶ)」の3つの要素で構成し、コンポーネントと呼ばれる単位で管理する。Webページ表示時には、テンプレート内の<WEBOBJECT>タグが設定に応じてHTMLに変換される。このフレームワークはハイパーリンクやフォームコントロールも管理する。フォームの入力値は適切なオブジェクトに変換され、コンポーネントオブジェクトに代入される。ハイパーリンクや送信ボタンをクリックすると、コンポーネントオブジェクトのメソッドが呼び出されるようになっている。ステート管理によりコンポーネントオブジェクトはHTTPトランザクションを越えて保持される。そのためオブジェクトの状態をHTMLとして表示したものがWebページとなる。WebObjectsアプリケーションでは、ユーザはブラウザを通してオブジェクトを操作していると言える。Object、エンタープライズオブジェクト、略してEOと呼ばれることが多い)をマッピングする。必要に応じてSQL文を生成するため、データベースの問い合わせから保存までオブジェクトを通して操作することができる。)を備えている点にある。(EOEditingContext)が中心となり、多くのデータベース操作はこのオブジェクトを通して行われる。データベース操作後はオブジェクトとデータベースが同期され、SQL文も随時生成されるので、データベースを特別に意識しなくてもプログラミングすることができる。フレームワーク[編集]Foundation(ファウンデーション)フレームワークは、基本的なデータ構造やWebObjectsに必要な機能を提供する。前述したフレームワークはこのフレームワークに依存している。このフレームワークは配列や辞書などの基本的なコレクションクラスも持ち、一部機能がJava標準ライブラリと重複する。OPENSTEPの同名フレームワークに大きく依存していた。そのためJavaに移行する際に同名フレームワークがほぼそのまま移植された。多くのクラスでJava標準ライブラリと同じインタフェースが実装されている。)を行うアプリケーションを作成する機能があり、プロトタイプを素早く作成することができる。このアプリケーションは起動時に設定ファイルからデータベースの情報を取得し、動的にWebインタフェースを生成する。アプリケーションをカスタマイズするには主にルールを用い、ルールの変更は再コンパイルをしなくともアプリケーションに反映される。ルールベースのアプリケーションは次の3種類。(D2W)HTMLベースのWebアプリケーション。ServicesWebサービスアプリケーション。Javaとの互換性[編集]WebObjectsはJavaで実装されている。1.3以降をインストールしたOSで動作する。サポート外ではあるが、Windowsや各Linuxディストリビューションでの動作が確認されている。EEサーバでも運用することができる。EEサーブレットとして運用できる。JDBCWebObjectsはJDBCドライバを使ってデータベースと通信する。1996年5月28日デビューリリース。Builderのプレリリース。APIの一部をサポート。1997年12月Javaのサポートを強化。1.1.3で動作するようになった。静的なURLから特定のメソッドを呼び出せる、ダイレクトアクションと呼ばれる機能が追加された。Webアプリケーションが開発できるようになった。WebObjectsとEOFがスレッドセーフになり、マルチスレッドで動作するアプリケーションを開発できるようになった。Serverは「Rhapsody」のコードネームで開発されていたもの。2000年5月Objective-Cで開発できる最後のバージョン。2001年5月Objective-CからJavaに全面的に書き直された。JavaBeansをサポート。アプリケーションをサーブレットとして運用できるようになった。2002年11月Webサービスをサポート。開発ツールがXcodeに統合された。Xのみのサポートになった。Xcodeから開発環境が外された。以降の開発はWOLipsを使う必要がある。オープンソースの代替ソフトウェア[編集]OPENSTEPと同様、WebObjectsが周囲に与えた影響は小さくない。WebObjectsがObjective-CからJavaに書き直されてから、オープンソースの代替ソフトウェアが数多く作られてきた。Objective-CやJavaを含め、様々な言語で影響を受けたフレームワークが開発されている。(日時は個人設定で未設定ならばUTC)。表示-継承ライセンスの下で利用可能です。追加の条件が適用される場合があります。詳細は利用規約を参照してください。Cookieに関する声明モバイルビュ。