このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

Marionet

発言者:田中求之
( Date Monday, February 12, 1996 02:54:40 )


Allegiant Technologies, Inc. の発売した、TCP スクリプト・エンジンで
ある Marionet を購入し使いはじめましたので、簡単に紹介しておきます。

Marionet は、その名(= 操り人形)のとおり、Marionet アプリケーションを
仲介役としてコントロールすることで、スクリプトからインターネットへアク
セスすることを可能にするツールです。

=========
製品名: Marionet

発売元:Allegiant Technologies, Inc.
    9740 Scranton Road, Suite 300
    San Diego, CA 92121
    U.S.A.

    Phone: 619-587-0500  Fax: 619-587-1314

価格: $99  ( + Air Mail Shipping $22)

購入方法: Allegiant に直接 Fax で発注。発注から8日で届きました。

情報源: http://www.allegiant.com/marionet/
    ** お試し版( Trial version )があります

動作条件: Thread Manger がインストールされている68020 以上の CPU

パッケージ: Installer Disk が2枚 + 140ページのマニュアル

=========
バックグランドで動く Faceless アプリケーションである Marionet を 
AppleEvent でコントロールすることで、インターネットへアクセスします。
HyperCard, SuperCard などからも利用できるように、Marionet コントロール
用の XCMD が付属していますので、この XCMD を利用すれば、XCMD 対応のソフ
ト、たとえば Director からもアクセスが可能になります。

Apple の TCP XCMD、あるいは Mango software の TCP/IP Scripting 
Addition を使うことで、これまでも HyperCard や AppleScript によるイン
ターネットへのアクセスのコントロールは可能だったわけですが、これらの 
TCP を直接スクリプトでコントロールするものとは違って、Marionet はメー
ル、ニュース、FTP、HTTP (WWW)、Gopher の各サービス毎にコマンドが用意さ
れており、そのコマンドを使ってアクセスを行うことになります。つまり、
TCP レベルでの泥臭い (^_^;; スクリプティングは不要になるわけです。私は
WWW サーバーを運用していますので、その管理や CGI のために AppleScript 
でネットワーク (TCP) の処理を行うスクリプトをこれまでに沢山書いてきまし
たが、それらのスクリプトを書くことに比べたら、はるかに Marionet でスク
リプトを書く方が楽です。

たとえば、メールを送る場合は、

  Sendmail, sessionID, <mailServer>, <From>, <TO>, <Body>

というようなコマンドを使います。このコマンドを Marionet に送れば、
Marionet が SMTP サーバーにアクセスしてメールを送り出してくれるように
なっているわけです。

スタックなどのスクリプティング・ソフトと Marionet の間のやり取りのこと
をセッションと呼ぶのですが、このセッションには2種類のものがあります。
同期セッションと非同期セッションです。同期セッションの場合は、Marionet
にコマンドを送ったら、そのコマンドの実行結果が返ってくるまでスクリプト
の実行が止まるものです。一方の非同期の方は、コマンドを送ったら即座に続
きのスクリプトが実行されます。この場合、Marionet がネットにアクセスした
結果は、別の AppleEvent で送られてくるようになります。

また、同時に複数のセッションが処理できるようになっている( Thread 
Manager を利用した Multi-thread 処理が可能)ので、一つのスクリプトの中
で非同期セッションを複数動かしたり、複数のアプリから Marionet を利用す
ることも可能になっています。

スクリプトは比較的簡単にかけます。ただし、非同期セッションの場合は、実
行結果が別の AppleEvent で送られてきますので、その処理が HyperTalk など
ではやや面倒なことになります。非同期で複数のセッションを同時に動かすと
なると、セッションの管理が大変なことになります。同期セッションであれば
楽勝です。

なお、ご存知のように Allegiant は SuperCard の会社ですから、付属のマ
ニュアルは SuperCard での利用を例にとって書かれています。HyperTalk につ
いても折に触れて説明が入りますが、AppleScript, Frontier については、マ
ニュアルには説明が無く、付属のサンプルファイルや辞書情報を見て利用する
ことになります。v1.0 では XCMD での利用に重点が置かれた製品になっていま
す。

注意すべき事として、当然ではありますが、日本のネットワーク環境には全く
対応していません。つまり、メールやニュースを送信する際に、漢字コードを
JIS に変換し、適切なヘッダーを付けるといったことを Marionet は行いませ
んので、スクリプトの側で責任を持って行う必要があります。また、MIMEヘッ
ダーにも対応していませんので、名前や Subject に日本語を用いたものは利用
できません。ですから、日本で使う場合は、最低でも漢字コードの変換用ツー
ル( XFCN or OSAX )が必要となるでしょうし、できれば MIME 処理用のツー
ルも欲しいところでしょう。

また、サービス毎のコマンドが用意されているとはいえ、やはり各サービスに関
するある程度の知識が必要だと思います(製品には最低限の RFC が付属してい
ます)。

なお、Marionet ユーザーのメーリングリストがあり、製品がリリースされてか
らはやり取りさせる情報も増えてきています。


以上、何かの参考になれば幸いです。

桝田至且 さんからのコメント
( Friday, August 23, 1996 17:42:37 )

 いつも、CGI KIT にはお世話になっております。

 RFCプロトコルについて、日本語で書かれた資料はどのようなところにいけば、
手に入れられるでしょうか?
 初歩的な質問ですいません。

田中求之 さんからのコメント
( Friday, August 23, 1996 18:27:15 )

RFC の日本語による解説というのは、残念ながら私は知りません。

RFCは、けっこう読みにくい英文ですので苦労しますが、しかたないですね。

Marionet の場合は、Marionet に最低限のものは付属していますが、日本語の
MIME ヘッダーに関するものは自分で取ってきて読むしかないです。