WebObjects/TANK Web Server Application
TANK Webサーバーアプリケーションは動的に動作するサイトを構築するためのPhoenix DesktopにおけるWebサーバーアプリケーションである。これはWeb Capsule上で運用される。通常は専用のCOMブラウザに対してサイトを提供するためのものだが、Objective-Jを使うことなどによりWeb標準のブラウザで読み込むサイトを生成することも可能である。
単純に言ってTANK WebサーバーアプリケーションはLinkTableで抽象的にサイトを構築してそれをバックエンドで透過的に実行する設計思想といえる。
GUIのマップ機能であるLink Tableを使ったデータベース構築によりサイトを抽象的に構築可能、バックエンドで動作するそれぞれのモジュールは透過的にそれらのLink Tableから割り当てられて呼び出される、クラスは継承も可能
サイトの構成はKsvn【これはLinuxのKsvnとは異なる】によってバージョン管理可能、必要に応じて派生させたり復元したりできる
ページのインターフェイスはそれぞれのデータ構造体にスポットライトを当てることにより自動生成される
プロトタイプをテンプレートにして改造してサイトを構築
Visualizer開発環境と連携してプログラムをサイトに組み込み可能
全てObjectiveに動作可能なためバインディングされてライブ反映される
サイトを設定して構築してコミットしてサービスのポートを開けばサイトは公開される
ログインサービスを組むことも容易に可能、クッキーも利用可能
SSLなどの暗号化のモジュールを装備、ストリームは全て暗号化(これはルーターをパケットが通った時の攻撃者に依る改ざんを検出できるようにするためウイルスに感染しにくい)
拡張機能をインストールして利用することに依る拡張性、拡張機能の例:MediaWiki、WordPress
大体HTML・正規表現・Perl・XML-XSLT-HTML・CSS・LaTeX・XUL・DTD・PHP・MySQL・Apache・CoreData・Firebird・SSL・Java・JavaScript・Plasmoid・Objective-J・SVG・Animation PNG・milKTouch・Animation SVGなどのようなプログラムを組み合わせて作られている
サーバーはAjaxを使うことにより閲覧者にPush通知を送ってPullによる更新をライブで可能、ページは常に最新である、よってリロードが不要
Web標準のブラウザで読み込む場合ブラウザを判定して最適なページを送ることが可能
GUIでサーバープログラムを設定可能、Psvnを使って設定をバージョン管理可能
サイトごとに管理者用のインターフェイスを利用可能、これを使ってデータを入力してデータベースを構築したり、専用のインターフェイスでアクセス解析したりできる
サイト設定の一環としてDNSアドレスを取得するためのツールを備える
Playgroundでローカルでテスト実行可能であり、Instance Viewを備えるためリソースの状態を監視しながらデバッグ可能である
OutlineEditでスタイル化された文章を書いて、それをデータベースのレコードに割り振って入力することに依ってページのテキスト要素を指定可能である
テーマ機能を備えているためサイト全体のテーマをテーママネージャで切り替えることに依って一括して切り替え可能である、テーマをカスタマイズして新しいテーマを作成・改造することも可能、CSSのみでなく装飾のための画像やレイアウト構成もテーマの中の要素として一括して切り替えて扱われる
GUIのツールを主体とし豊富に備える、CUIのインターフェイスとEdgeソースコードエディタも付加的に装備する
サイトのプロトタイプの共有機能を備え、プロトタイプマネージャやCOMブラウザからサイトのプロトタイプをダウンロード・共有できる
動的ページとして生成されるのは機能のインターフェイスとしての一時ページであり、リファレンスのような文書としてページとして扱われやすいものはXMLのキャッシュで構造を把握して必要なところのみを動的に組み替えた上で静的なページとして書き出す
テキストエディタでページを記述してサイトを構築するのは煩雑過ぎてしかもインタラクティブ性に欠ける。確かにZ上でTANK相当のASIMOVなアーキテクチャを組んでC上でHTMLなどに落としこむことは可能だが、上記の理由から使いやすくなく実用的でない。

















