Macintosh Developer Online (MDOnline)


2002年1月11日発行号 - パッケージの解説



MACLIFEの150号記念特集をながめていたら、なつかしい誌面が出てきていました。特に、50号の漢字Talk7お試し版がありますが、そのガイドブックの半分ほどは私が原稿を書いたものです。ある暑い日にお呼びがかかって「絶対内緒」と言われて未公開の日本語版をもらい、必死になって書いた記憶が蘇ります。それから、OpenDocの記事も何度も書きましたけど、ネタはあえるけど、どう書くのか〜みたいなことを議論しながら執筆していたりもしました。今月売りの号についてはもうほとんど編集は終わっているみたいなのですが、会社というのは終わるときにはあっけないものでもあります。結果的に雑誌として残ったのはアスキーと毎コミだけということになりましたが、アスキーも経営権が移動してどうなるのかというところはみんな注目しているでしょう。これが適正規模だという話もなくもないのですが、かといって、オンライン出版にシフトしているわけではなく、数年前にあった「雑誌を買う」ということに使われていたお金(つまり市場)ってまったくどこかに霧散したとしか思えない状況です。メディアにかかわっていると、紙とかオンラインとかとかく形にこだわりがあるものですけど、もっと読者という市場を見ないといけないのかもしれません。
いずれにしても、MACLIFE誌とは、日経BPをやめてローカスに入ったころからの付き合いですし、その頃から編集部にいる人ともいまだに仕事をたまにしていたりもします。それに、私が執筆した最初の書籍(ペンネームですけど…)は、実は日経BPにいるころに内緒で出版した(まあ、時効ってことで〜笑)ものですけど、BNNが版元でした。ちなみに「入門Lightspeed C」って本です。その後、あまりに紆余曲折はありましたけど、いまでもMACLIFE誌には原稿はたまに書いていましたし、最近までBNNでも書籍を出していたりしていました(ただ、書籍の場合は直接はやりとりしていないことが多いのですが…)。正直言って寂しいものはありますね。

それから、毎号の末尾に書いてある解説が、半年ほどに渡ってちょっとわかりにくい表現であったことをお詫びします。示しているアドレスがこれだと分かりにくかったかと思います。すでに改めてありますので、よろしくお願いします。
(新居雅行 msyk@mdonline.jp


WebObjects 5.1の販売をアップルコンピュータがアナウンス

WebObjects 5.1のリリースが、アップルコンピュータより正式に告知された。販売の開始は2002年1月15日からで、価格は従来とおり72,800 円(アカデミック版11,800 円)となっている。WebObjects 5.0ユーザ向けには、2002年3月31日までの期間限定で、アップグレードキットを2,500円で販売する。アップグレードキットには、WebObjects 5.1のソフトウエアに加えて、Mac OS X Developer Tools v10.1 December 2001 CD-ROMが含まれる。アップグレードはAppleStoreでも行えるが、トップページのWebObjectsの写真のところではなく、SoftwareのApple Softwareの文字のリンクをクリックした先にある。
WebObjectsは独自のデータベースアクセスの機能(EOF)を提供し、データベースの内容をオブジェクトとして扱える機能をベースに、WebブラウザからアクセスするWebアプリケーションを構築するための強力な開発ツールを組み合わせて、Webアプリケーションを効率的に開発し、運用する一貫した仕組みを提供するものだ。開発に要する時間が短縮でき、またプログラミングもJavaで行えることなども含めて高度な機能を組み込むことにも対応する。Ver.5.1では、Webアプリケーションサーバの世界で標準となっているEJB(Enterprise JavaBeans)やServlet、JSP(Java Server Pages)にも対応し、TomcatやWebLogicといったアプリケーションサーバ上での運用も可能とするなど、標準仕様の取り組みを実現している。単なるJava 2 EE対応アプリケーションサーバということではなく、開発ツールと一体化しており、EOFなどのデータベース利用機能などが使える点で、Webアプリケーションの世界にどこまで訴求できるのかが注目されるところである。

関連リンク:WebObjects
カテゴリ:WebObjects


Java Watch on the X》4 - アプリケーションをパッケージとしてビルドする(1)パッケージの構成

Mac OS XでPure Javaプログラムを作ることをテーマにお届けしているJava Watch on the Xは、しばらくは、Project Builderを中心にして、Mac OS X向けのアプリケーションのパッケージを作るといった話題を説明する。まずは、Javaに限らないMac OS Xのアプリケーションの話だ。
従来のMac環境を御存じの方は、アプリケーションにはリソースというものが必ずくっついていた。また、必要なファイル情報の設定などもあって、それらの関連を良く知っていないと、思った通りにならないというのは常に経験していたことだろう。しかしながら、それは、アプリケーションは1つのバイナリファイルで構成されるという前提があった時代のものだ。Mac OS X、そしてMac OS 9でもすでに存在していたのだが、アプリケーションは「パッケージ」というフォルダにまとめたものとして作成することができるようになった。「パッケージ」によるアプリケーションでは、リソースは使う必要はなく、特にJavaやnibファイルベースのアプリケーションでは一切使う必要がなくなっていると言える。ただし、Mac OS Xでは過去のOSとの互換性を確保するために、リソースを含む単一のアプリケーションファイルの実行をサポートしているが、現状で新たにビルドするアプリケーションではそうした手段はまず使うことはないだろう。とにかく「パッケージ」を作るというのが基本だ。

まず、Mac OS XのアプリケーションはたとえばTextEditなどは1つのアイコンとしてファイルのように見えているが、実体はフォルダである。フォルダの拡張子が.appの場合、それはアプリケーションの1つのアイコンとして表示され、ダブルクリックしてもそのフォルダは開かない。ダブルクリックするとアプリケーションを起動するのである。この.appのフォルダ内部を「パッケージ」と呼んでいる。パッケージの中をFinderで参照することも可能で、アプリケーションのアイコンをcontrolキーを押しながら表示されるメニューで、「パッケージの内容を表示」を選択することで新たなウインドウにパッケージの中身を表示する。解析するときには中身を見る必要も出てくるかもしれない。なお、SNAXではパッケージの中身も通常のフォルダのように表示してしまうオプションもあるので、中身を見たいときには便利だ。

Javaで作ったプログラム、すなわち.javaファイルは、コンパイルすると.classファイルになる。しかしながら、一般にはそのままではなくて、アーカイブした1つの.jarファイルにまとめられる。複数のjarファイルにわける方法などは追って説明をするが、いずれにしても、Project BuilderでJavaのプログラムを組むと、そのコンパイル結果は1つの.jarファイルに保存されることになる。その.jarファイルは、パッケージの中のContents/Resources/Javaといフォルダに組み込まれる。ファイル名は指定可能だが、デフォルトではプロジェクト名と同じになっている。この名前は特には気にすることはないだろう。
なお、Pure Javaのアプリケーションの場合、Contents/MacOSフォルダに、プロジェクト名と同じ名前で、全員の実行権限がついたバイナリも作成される。これは、プロジェクト側には特にソースは用意していないものである。名前は異なるものの、Pure Javaだと同じサイズでそのファイルが作成される。おそらく、このMacOSフォルダにある実行ファイルがダブルクリックによって起動され、そこからJava VMがセットアップされて、Javaのプログラムより生成した.jarファイルのプログラムの実行が行われているものと思われる。おそらく、スタータープログラム的なものがMacOSフォルダにあるのだろう。

パッケージに必要なファイルとしては、Contents/PkgInfoとContents/Info.plistがある。これらはPure Javaに限らず、CocoaやCarbonでも作成されるファイルだ。PkgInfoは必ず8バイトのサイズのファイルで、最初の4バイトがアプリケーションのファイルタイプ(つまりAPPLで固定)となり、最後の4バイトがクリエイタとなる。テキストファイルで開くと、たとえばクリエイタがome4なら、PkgInfoの中身は「APPLome4」となっているはずだ。なお、クリエイタは、Project Builderで設定することができ、その設定値をもとに自動的にPkgInfoファイルは作成される。
Info.plistは、Mac OS Xのアプリケーションとしてのさまざまな情報がXML形式(プロパティリスト形式)で保存されている。たとえば、アプリケーションのアイコンはどのファイルかなどを記録するものである。これも、Project Builderでの設定がそのままコンパイル時にファイルとして作成されるものである。なお、plist形式のファイルは、Developer Toolsをインストールしてあれば、ダブルクリックすると、PropertyListEditorというアプリケーションが起動してそこでは階層的な表示やあるいは項目単位での編集がしやすくなっている。後から修正したい場合には、PropertyListEditorを使うと手軽だが、テキストエディタで編集してもかまわない。
Project Builderの設定としてどのようなものがあるのかは、改めて説明をしよう。

さらに、Contents/Resources/MRJApp.propertiesというファイルもあるが、これは、Javaのアプリケーションとしての動作を規定するファイルである。たとえば、メインクラスはどれで、起動して与えるシステムプロパティなどを指定することができる。中身は、キーとデータをイコールで結ぶ、Javaでのプロパティリスト形式である。
なお、Contents/Resourcesには、アプリケーションのアイコンファイルを入れるなど、さまざまな使い方がなされている。Contentsフォルダにはpbdevelopment.plistというファイルも作成されるが、これは作成したときのProject Builderに関する情報でプログラムのソースパスがあるだけなので、これは実行には特には関係しないと思われる。

以上、Pure Javaアプリケーションに必要なファイルについては以下のようになる。ここでは、MyApplicationというプロジェクトを作り、デフォルトの状態でファイルを作って行った場合にする。

MyApplication.app
 └Contents
   ├Info.plist (Mac OS Xアプリとして必要な情報)
   ├PkgInfo (パッケージのファイルタイプとクリエイタ)
   ├MacOS
   │ └MyApplication (Javaを起動する小さなスタータ)
   └Resources
     └Java
       ├MyApplication.jar (作成したJavaプログラム)
       └MRJApp.properties (Java実行に必要な情報)

以上のことは、Inside Mac OS X: System Overviewにも記載されているが、ここではそこからPure Javaに関することだけを抽出した。
(この項、続く)

カテゴリ:ProjectBuilder/Interface Builder, Java, Java Watch on the X


KBase》Mac OS X 10.1.2へのアップデート手順

Mac OS X 10.1から、10.1.1や10.1.2へのアップデートに関する手順がKnowledge Baseに掲載された。まず、Security Update 10-19-01をインストールしてからリスタートする。そして、Installer Update 1.0をインストールしてリスタートする。そして、Mac OS X 10.1.2 Combo Updateを適用することで、10.1.2へと問題なくアップデートできる。

関連リンク:Mac OS X 10.1: Cannot Install Mac OS X 10.1.X Update
カテゴリ:Knowledge Base(旧TIL), Mac OS X


KBase》Mac OS X ServerはConsoleで起動した場合に使えない機能も出てくる

Mac OS X ServerのServer Adminに関する問題についての文書が掲載された。Mac OS X ServerのマシンにConsoleでログインした状態(ログインパネルで、ユーザ名にconsoleと入力して全画面をコンソールにして使う状態と思われる)だと、Server Adminからの接続がエラーとなってできない場合がある。Ver.10.1ではその問題は解消はしているものの、Consoleでログインした状態で使うのはよくないということが記載されている。ConsoleでのログインだとWindow Serverが起動しないが、Window Serverを利用するプロセスもあるので、Mac OS X Serverは、Consoleでのログイン状態にはしない方がよさそうだ。

関連リンク:Mac OS X Server: Server Admin Agent Stops When in the Console
カテゴリ:Knowledge Base(旧TIL), ネットワーク管理, Mac OS X Server