Macintosh Developer Online (MDOnline)


2001年11月21日発行号 - JavaOneでコンテスト



MDOnlineの2001/11/9に配信した『KBase》Windowsで開発したWebObjectsアプリケーションの改行問題』で、文中、CRとLFを入れ違えて記載していました。お詫びの上訂正いたします。Webサイト上の記事は修正をかけておきました。記事では流しませんが、よろしくお願いします。(分かる方にはすぐお気付きだと思いますが、念のため…)
それから、やっとのことで、購読料支払いでBitCashに対応しました。ちょっと難航しました。BitCashのシステムは、CGIがCGIを呼び出す形式なんですが、実はサーバの移動が中途半端な状態になってしまっていて、そこからさらにCGIを呼び出すというとんでもないことをやろうとしたら、エラーが取りきれない状態で苦労しました。なんとか動くようにはなったみたいですが、もし、ご利用されてエラーが出たら、遠慮なくクレームください。その場合、できれば、ご利用された時刻をおっしゃっていただけると助かります。ログのチェックが素早くできますから。なお、BitCashでの購読料の更新は、5000円ないしは8000円となります。

さて、JavaOneのチケットですが、応募された方々、全員が当選ということにします。ただし、先着順に郵送しますが、11人目の方からは、おそらく明日の22日に発送となります。21日分の方へはすでに発送しました。「はがき」での送付となり、そのはがきが入場チケットとなりますので、よろしくお願いします。もし、メールをしたのに以下のリストにない方はすぐに連絡下さい。

11/21送付分:ken604、Yearning、nein、kudzilla、立花茂則、ツチヤカツヒコ、中瀬秀司、玉山友美、村上幸雄、岩城次郎

11/22発送予定分:chobi、高山和夫、RATS、小倉孝志、m.y.

JavaOneの展示会チケットは、アップルさんからプラス10枚いただいています。まだ、残っていますので、欲しい方は私まで送り先を明記してメールを下さい。とりあえず、残り5枚ですが、先着順とします。
(新居雅行 msyk@mdonline.jp


JavaOneのアップル出展ブースでJavaプログラムのコンテストを開催

2001年11月28〜30日にかけてパシフィコ横浜で開催されるJavaOneでは、アップルコンピュータがGoldスポンサーとして参加し、パビリオンでの展示やMac OS Xについてのセッションが行われることは、MDOnlineでは2001/11/16配信号で『日本で初めて開催されるJavaOneではMac OS Xのセッションも』という記事でお届けした通りだ。パビリオンのアップルの展示ブースでは、Mac OS XやWebObjectsといって同社のJavaテクノロジーや、Java開発環境、Javaソリューションが展示される。また、来場者を対象にした「Java On Mac OS X コンテスト」が実施される。アップルの展示ブースに持ち込んだJavaアプリケーションをMac OS Xで実行するのであるが、優秀な作品についてはアップルから副賞がもらえる。Mac OS X向けに開発されたものならもちろんエントリー可能だが、JARファイルにまとまっていて、マニフェストファイルがその中に入っている形式のものであれば、JARファイルそのものがMac OS Xでも稼働するから、Pure Javaなアプリケーションであれば基本的には動作可能だ。開発したアプリケーションなどをアピールできる機会になるかもしれない。
なお、セッションとして、11月29日の15:00〜16:00に行われる「Java Technology on Mac OS X」では、Apple ComputerのJavaテクノロジーマネジャーであるアラン・サミュエル氏、Javaプラットフォームクラスシニアエンジニアのスティーブ・ロウォレン氏が講師をつとめる。JavaOneのカンファレンス参加は有償であるが、展示会場についてはカンファレンス参加者ないしは出展者からの招待がないと入場はできない。つまり、展示会だけの入場チケットとしては販売されないということなので、その点は注意しておいていただきたい。

関連リンク:JavaOne
カテゴリ:Java, イベント


Browsing Mac OS X》Mac OS Xでのキーチェーンの使い勝手(1)

Mac OS時代から「キーチェーン」として存在する機能は、ネットワークでファイルサーバを使っているユーザを中心に使い勝手がいいことでずっと評価されてきた。古くは、PowerTalkから機能が組み込まれていて、PowerTalk自体が開発の困難さがあったためにほとんど普及はしなかったものの、デフォルトで使える「鍵束」の機能はけっこう便利に使えていた(この「鍵束」という翻訳にはブーイングがあったけど)。そして、PowerTalkが事実上システムから消えたものの、その後にMac OSで復活したのである。
キーチェーンはパスワードといった隠匿しておきたい情報を保持するための機能というのが一般的な説明になるが、たとえば、パスワードをテキストファイルに保存するといったシンプルな手法だと、そのテキストファイルをエディタで開いたらすぐにパスワードがバレてしまう。そこで、キーチェーンを使うことで、パスワードは保護される。つまり、暗合化されてシステムのどこかに保存されるため、単にファイルの中身を見てもパスワードはばれなくなる。そして、利用者がキーチェーンの解除をパスワードを入力して行うことで、キーチェーンにある複数のパスワード情報を、アプリケーションは取得できるようになる。そのためのAPIを呼び出す必要があるが、そうした処理に対応していれば、必要なパスワードなどの情報をアプリケーションが得て、サーバにアクセスできるわけだ。キーチェーンには複数のパスワード情報を保存できるが、それを1つのパスワードで解除できる。だから、複数のサーバを使っているようなときには、最初にキーチェーンのパスワードを入力するだけで、あとはパスワード指定は必要なく、とても便利になる。
一方で、キーチェーンの機能を使うには、アプリケーションが対応していないといけない。さすがに、Finderを始め、Mac OSのシステムに組み込まれているアプリケーションはいずれも対応している。その一方で、電子メールソフトやWebブラウザはキーチェーンには対応しておらず、独自にパスワードを保管しているのが一般的だろう(Mailは対応しているようだ)。もちろん、それでも基本的に支障はないことが多い。一方、アプリケーションを開発する側としては、キーチェーンを使うのが、パスワードを保護して保存したいときにもっとも手軽な方法を提供する。APIとして利用できるだけでなく、AppleScriptからも利用できるので、適用範囲は広いだろう。Mac OS Xとなると、UNIXベースのさまざまなライブラリも利用できるかもしれないが、やはりキーチェーンは、ユーザにとっては「1つで全部のキーを解除」という便利さにつながる。その意味では、OS機能との統合という意味でも無視できない機能であるだろう。

Mac OS Xのキーチェーンの機能は、Mac OSのときと若干違っている。まず、アカウントを作成すると、デフォルトでキーチェーンがすでに作成されている。場所は、ホームフォルダのLibraryにあるKeychainsフォルダに、アカウント名と同じ名前で作られている。このキーチェーンを解除するキー(パスワード)は、アカウントのパスワードと同一である。Mac OS時代は、まずキーチェーンを作るというところからしなければいけなかったが、Mac OS Xは準備OKということだ。それに、キーチェーンをたくさん作るということはあまりしないと思われるので、1つを使うことが多いと思われる。その意味でも、Mac OS Xはお膳立てされた状態で使えるのだ。
今のところは、キーチェーンに対応しているのは、Appleファイルサービスによるファイルサーバへの利用と、Mac OS X ServerのServer Adminを使うときということになる。また、Mailでのアカウント管理でも使われている。iDiskへのアクセスも基本的には保存されるようであるが、こちらはあらかじめシステム環境設定で設定することもあるので、キーチェーンだけがパスワードを記録するというわけではない。SMBサーバ接続もキーチェーン対応してくれればいいのだが、Mac OS X 10.1.1ではそれは実現していない。
AppleShareファイルサーバに接続するときは、たとえばFinderで「移動」メニューの「サーバへ接続」(Command+K)を選択し、接続先を指定する。そして、アカウントとパスワードを入力するところで「オプション」のボタンがある。このボタンをクリックすると新たにダイアログボックスが表示されるが、そこにある「パスワードをキーチェーンに追加する」のチェックボックスをオンにしておけば、接続が成功すると自動的にアカウントとパスワードをキーチェーンに登録する。このチェックボックスを常にオンにするのであれば、「環境設定を保存」のボタンをクリックしておけばよい。

◇AppleShareサーバに接続時にキーチェーンに覚えさせる
 

Mac OS X Serverの管理ツールであるServer Adminの場合は、サーバに接続するダイアログボックスで、「キーチェーンに追加」のチェックボックスを入れておく。すると、接続が成功すると、そのときの情報がキーチェーンに追加される。ちなみに、こうしてログインして、「よく使う項目」に追加しておけば、次回からはキーボードショートカットのCommand+1だけでMac OS X Serverに接続できるので、ログインは極めて手軽になる。

◇Server Adminで接続時にキーチェーンに覚えさせる
 

こうしてキーチェーンにパスワードを覚えさせておけば、あとは自動的に…と言いたいところだが、しばらくMac OS X 10.1.xを使ってみて、その動作が一定しないような気がしてきたのだが、なるべく説明できるようにいろいろ調べてみた。どうやら次のような動きになるようだが、もし、違っているようなら指摘をいただきたい。稼働させているのはMac OS X 10.1をフォーマットしたパーティションにインストールして、その後に10.1.1までアップデートしたシステムである。
まず、Mac OS Xを起動した直後は、キーチェーンはロックされた状態になっている。たとえば、AppleShareサーバのボリュームのエイリアスを、よく使う項目に登録しているとして、そのアイコンをダブルクリックすると、まずはキーチェーンのロックを解除する必要がある。そのためのダイアログボックスが出てくるが、どのアプリケーションからの解除要求なのかもダイアログボックスに示されている。もちろん、ここではキーチェーンのパスワードを入力するが、特に変更をしていないのなら、自分のアカウントのパスワードをキータイプする。

◇キーチェーンのロックを解除するダイアログボックス
 

もちろん、ここで解除すれば、後は自動的に登録されているパスワードが使われて、ログインでいちいちアカウントやパスワードを入力する必要はない。
ところが、この状態で、いったんログアウトをしたとしよう。その場合は、自分のアカウントでも、別のアカウントでも、ログアウト後にログインをしたときには、キーチェーンのロックは解除されているのである。したがって、AppleShareサーバのエイリアスをダブルクリックすると、即座に接続できる。もちろん、ログインはアカウントとパスワードを入力するので、セキュリティ的には問題はないと考えられるが、ならば通常とおり起動したときにも、自動的にデフォルトのキーチェーンのロックを解除するという動作があっていいような気もする。そうしたオプションは見当たらないのである。もっとも、そうしたオプションは、セキュリティ的には弱くなるので、避けているのかもしれない。

カテゴリ:ユーザインタフェース, Browsing Mac OS X


Browsing Mac OS X》Mac OS Xでのキーチェーンの使い勝手(2)

以上のことを知っていれば、基本的にはキーチェーンは使いこなせるが、キーチェーンの管理ツールがあることも知っておいて損はないだろう。UtilitiesフォルダにKeychain Accessというアプリケーションがある。これを起動すると、現在使えるキーチェーンが1つのウィンドウに表示され、その中には登録されている情報が一覧されている。

◇キーチェーンを管理するKeychain Access
 

もし、キーチェーンがロックされていれば、このウインドウが出る前にキーチェーンの解除のダイアログボックスが出てくる。キーチェーンをロックしたいときには、もちろん、右上のボタンをクリックすればいい。ロックすると、再度パスワードを入力しない限り、キーチェーンに記録されたパスワード情報は利用できなくなる。
このKeychain Accessで、登録されている項目の削除や追加、あるいは情報を見ることができる。さらには、キーチェーンを追加したり、削除したりということもできる。キーチェーンのパスワードの変更もできる。これらはボタンやメニューがあるので、詳細は説明する必要はないだろう。もっとも、登録方法は重要という考え方もあるかもしれないが、おそらく、多くのキーチェーン対応アプリケーションは、そのアプリケーションが自動的に項目を登録したり更新したりし、必要な情報を取り出すので、一般にはKeychain Accessを利用する場面はまずないという気がする。

キーチェーンのウインドウにある項目を選択して「情報を見る」ボタンをクリックすると、情報を見ることができる。ここではポップアップメニューで2つのページが参照できる。

◇キーチェーンの項目に関する情報を参照した
 
 

まず、「アクセス制御」のページでは、設定を見ればわかるように、アプリケーションごとに、この登録情報を利用するときに警告をするのかどうかを指定できる。AppleShareサーバの場合には、既定値ではFinderはアクセスを許可されているが、他のアプリケーションからの場合は、警告が出てくるということになる。もちろん、これは必要に応じて設定を行えばいいが、普通はこのままで問題はないだろう。警告が出てきて不便だと思ったら、その項目については、「任意のアプリケーションによるアクセスを許可」を選んでおけばいい。
ちなみに、警告というのは次のようなダイアログボックスとして表示される。常に許可するのか、それとも1度だけ許可するのかと言ったことが記載されているが、「常に許可をする」をクリックすると、「アクセス制御」の許可アプリケーションリストに、呼び出したアプリケーションが追加される。

◇キーチェーンの情報を利用しようとしたときの警告
 

具体的なシナリオを示そう。FinderでAppleShareサーバにログインしたときに作られる項目は通常はFinderだけが警告されずにパスワード情報が取り出されるという設定になっている。つまり、キーチェーンの項目を作ったアプリケーションは警告されないというふうに考えていいようだ。ここで、キーチェーンの情報にある「パスワードを見る」ボタンをクリックしたとしよう。つまり、Keychain Accessアプリケーションが、キーチェーンの項目をアクセスしようしたので、ここで警告が出されるのである。ここで「常に許可をする」ボタンをクリックすると、Finder以外にKeychain Accessも許可アプリケーションとしてリストに追加されるといった具合だ。

ここで、ちょっとはまったのは、ならば、AppleShareサーバのエイリアスを、DockやSNAXなどの別のファイルブラウザから呼び出したら、やっぱり警告されるのじゃないかと思ったら、そうではなかった。警告は出ないのである。筆者は、FavoritesフォルダをDockに登録しているので、フォルダのアイコンをプッシュするとよく使う項目がメニューに出てくるからそこでサーバのボリューム名を選ぶといった使い方をしている。いずれにしても、DockやSNAXがエイリアスを手がかりにアクセスしているのかと考えたのだが、実際にエイリアスの解決をするのは、それを利用するアプリケーションではなくFinderではないかと考えれば、どのアプリケーションでもAppleShareサーバのエイリアスでは警告は出ないのは一応説明できると思う。

なお、Keychain Accessの「編集」メニューに、キーチェーンの設定の項目がある。これを選択すると、キーチェーンを一定時間利用しないと自動的にロックがかかったり、スリープ時に自動的にロックされるといった設定があるので、人通りの多い場所で使っている方はこうした設定をうまく活用しよう。また、キーチェーンのパスワード変更も、同じメニューの選択から行えるようになっている。
キーチェーンはいずれにしても、あまり深く考えないでも使えるようになっているのは事実であり、これまでのキーチェーンの機能をふまえて非常に洗練させていると言えるだろう。理想を言えば、すべてのアプリケーションが対応してくれれば、たとえばシステムを入れ替えたときのパスワードの保存と移動も楽になると思うのだが、どうだろうか。

カテゴリ:ユーザインタフェース, Browsing Mac OS X


自分でカスタマイズできるサービスメニュー利用のテキスト処理ユーティリティ

Tinnef Softwareは、Mac OS X 10.1以降で使えるサービスメニューに対応したアプリケーション「Text Wielder」をリリースした。サービスメニューから利用するさまざまなテキスト処理のスクリプトが用意されているが、さらにサービスメニューから利用できるプログラムをスクリプトとして自分で作成することもできる。SFRL(Simple Find and Replace Language)として開発された技術を利用しており、サービスメニューで呼び出したときに渡されたテキストを分解して必要な情報を取り出し、それらを置き換えるなどして結果としてのテキストを得るといったスクリプトを記述できるようになっている。Java Server Pagesで使われている修正された正規表現をサポートしている。さらにJavaやCocoaのAPIをスクリプトから直接呼び出すことができりう。また、URLを開いたり、UNIXコマンドとして実行するなど、120を超えるスクリプトが最初から用意されているので、それを利用するということもできるだろう。β版が公開されている。単にサービスメニューで固定された処理を行うということだけでなく、テキスト処理をユーザがカスタマイズして記述できるという点は利便性の高いユーティリティだと言える。

関連リンク:Text Wielder
カテゴリ:ユーティリティ


KBase》Mac OS X Server 10.1.1へのアップデータが公開

Mac OS X ServerのVer.10.1.1へのアップデータが公開されている。ソフトウエア・アップデートを使ってのアップデートも可能だ。Appleファイルサービスや、ApacheによるWebサーバ、Mailサービスでの高負荷時のパフォーマンスが改善された。サーバ管理機能、SMBプリンタ共有、WINSレジストレーション、システムクロック精度なども改善されるとしている。また、コアOSについてはMac OS X 10.1.1と共通な所も多いことから、Mac OS X 10.1.1についての修正点についても変更点についての参考にはなると思われる。

関連リンク:Mac OS X Server 10.1.1: Information and Download
カテゴリ:OS関連ソフトウエア, Mac OS X Server


4DからOpenBaseに接続するシステム開発を紹介するセミナーを開催

ヘリオグラフは、データベースソフトの4th Dimension(4D)の開発社向けに、Mac OS Xをベースにした開発についての解説を行う「4Dデベロッパー向けMac OS Xソリューション開発セミナー」を開催する。4DをOpenBase SQLに接続するためのプラグイン「4D Connect for OpenBase SQL」(9,800円)を、同社は販売を開始する。Mac OS Xで稼働するデータベースエンジンであるOpenBase SQLを核にして、4Dでのシステム開発を行うといったシナリオを紹介する。4Dでのシステム開発などを行っている開発者が受講対象者となる。期日は2001年12月6日(木)で、13:00〜14:30と、15:00〜16:30の2回、同一の内容で行われ、各回の定員は6名となっている。場所は、フォーディー・ジャパンのトレーニングルームだ。講師は、OpenBase Internationalのスコット・キース氏と、ケイディケイの山田敏氏である。参加費は消費税込みで10,000円となっているが、参加者には「4D Connect for OpenBase SQL」が1ライセンス分贈呈される。

関連リンク:4Dデベロッパー向けMac OS Xソリューション開発セミナー
カテゴリ:データベース, イベント


KBase》Mac OS X/Serverのシステムに組み込まれたRAID機能についての解説

Knowledge Baseに、Mac OS X/Server 10.1以降での、システム付属のRAIDソフトウエアの利用方法についての文書が掲載された。Mac OS X 10.1には、ストリッピングのRAID 0、ミラーリングのRAID 1をサポートしている。(RAIDは複数台のハードディスクを1台のディスクとして利用できるようにして、容量の増大やハードディスクの信頼性を高めること、ディスクアクセスの高速化などを実現する技術である。)ただし、RAIDディスクはデータディスクのみで、起動ディスクにはならない。実際の設定は、Disk Utilityアプリケーションで行うが、基本的なセットアップ方法や、ミラーリングを行っている場合の復旧の方法などが手順で示されている。また、RAIDのlevel 0およびlevel 1についての基本的なこともまとめられている。

関連リンク:Mac OS X 10.1, Mac OS X Server 10.1: How to Use Apple-Supplied RAID Software
カテゴリ:Knowledge Base(旧TIL), 周辺機器利用, 周辺機器


各種のワープロの文書フォーマットの読み書きをサポートするライブラリ

Recosoftは50種類を超えるワープロの文書ファイルフォーマットに対応した、読み込みや書き込み、あるいはコンバートをサポートする「VEM」をリリースした。ソフトウエア開発者向けにOEM供給をする。同社が発売しているドキュメントビューアソフトのVINCの技術を使ったものである。日本語の文書ファイルにも対応しており、AppleWorksやEGWord、RTF、MacWrite II、Microsoft Word等に対応している。テキスト部分はもちろん、ヘッダやフッタ、表などドキュメントのレイアウトに関してもサポートされている。フォーマット対応はプラグイン形式となっている。最新の部署フォーマットにも追って対応する予定となっている。Macintoshだけでなく、WindowsやLinuxにも対応している。特定のファイルフォーマットに対応するためのプラグインやシステム機能については、クラリスのXTNDやMacintosh Easy Open(Translation Manager)などがMac OS時代には存在した。しかしながら、特定のフォーマットに対応する素材が豊富にあるわけではないため、Mac OSの中でもあまり使われない機能となっていた。さらにMac OS Xではそうした明確なシステムサポートがないため、各種のフォーマットのファイルを読み込む機能をアプリケーションに含めたい場合には、VEMのようなライブラリにニーズはあるだろう。

関連リンク:VEM
カテゴリ:ライブラリ


KBase》Mac OS XでモデムにATコマンドを直接送出する方法

Mac OS Xで、モデムにATコマンドを直接送り込む方法がKnowledge Baseで紹介されている。内蔵モデムの接続ポートについて、PPPオプションにある「ターミナルウィンドウ(コマンドライン)を使って接続する」のチェックボックスをオンにしておく。そして、モデムの種類としてはNull Modemを選択しておく。こうして接続の処理を行うと、モデムには何もコマンドは送られずにターミナルウインドウが出てくる。そこでATコマンドを入力することで、モデムに対して手動で任意にコマンドを送出することができる。手順が詳しく記載されている。

関連リンク:Mac OS X: How to Use Modem AT Commands
カテゴリ:Knowledge Base(旧TIL), インターネット全般, 周辺機器


KBase》AirMacのポートがen1などと記載されることもあるが…

Mac OS Xの中では、AirMac(AirPort)のことを、「Ethernet (slot 1)」や「en1」と表示されていることがある点についての解説がKnowledge Baseで解説されている。これらは、たとえばコマンドを使っている場合などで見られる。もし、ネットワークに詳しくないのであれば、システム環境設定の「ネットワーク」のパネルでの操作だけで概ねの作業はできるであろうと記載されている。システムレベルでは複数のネットワークポートを管理することもあって、こうした記述がなされているが、いずれもAirMacによるネットワークポートである。ユーザインタフェースのレベルではそれは吸収されて、AirMac(ないしはAirPort)と表示されると考えて良いようだ。

関連リンク:Mac OS X: AirPort May Be Called "Ethernet (slot 1)" or "en1"
カテゴリ:Knowledge Base(旧TIL), ネットワーク