Mac mini が届いた。が、気づいたらキーボードがPS2 だった。
翌日Apple keyboard を購入してやっと起動。ムービーが流れて、
ユーザー登録から始まる。まだTiger だ。
Leopard の DVD? を入れてアップグレード。難なく終わった。
Spaces はデフォルトでオフなので、オンにしたが F8 がきかない。
Apple keyboard では F1-F12 まではほかの機能に割り当てられていて
ファンクションキーとして動かすには fn と同時に押す必要が
あるようだ。でも、それでは面倒なので起動は F13 にふってみたが、
動作がどうも見覚えのあるのと違う。4つの小窓が出てきて、矢印も
出てきてびゅんびゅんと切り替わるというイメージだったが、どうも
地味だ。後でわかったが ctrl+矢印でそのような動作になる。
築かなかったらフリーソフト探しまくってたかも...
Mail で IMAP 接続できるか試してみるが、これには SSL 機能は
見当たらない。あきらめかけたところで、Thunderbird を試して
みる。なんか、うまくいった。ただ、パスワードを覚えさせて
しまって、それがどこに行ったか気になった。OS X のキーチェーン
を調べても Thunderbird のエントリはないし... どうやら Thunderbird
自身が保持しているようだが、詳細は今日のところはあきらめた。
Boot camp で既存ボリュームのリサイズができるか気になっていた
ので試してみたが、問題ないようだ。
Parallels も購入しておいたので入れてみる。最初の起動でプロダクト
キーを入れたら、アップデート版の通知がでる。アップデートすると
もう一度プロダクトキーを要求された。
マニュアルが厚めだったので、かまわず直感でやってみる。
ゲストOS に見せるメモリサイズや、ディスクサイズなどの設定は
一番詳しい(一番下)のモードを選ぶ必要がありそう。
Solaris 10 を入れてみた。やはり I/O がホストOS 経由のせいか
直接ディスク入れるときより遅い気がする。はたと気づくと Parallels
のウィンドウがない。ただ、プロセスとしては存在しているようだ。
このとき、ほとんど操作ミスで画面のスクリーンショットをとった
のだが、そこにはコンソールモードでの問い合わせメッセージが
でている。NFS のドメインがなんたらというやつだ。
よくわからなかったので、強制終了して Lepard も再起動。Solaris 10
は起動中にいわゆるシングルユーザーモードで止まってしまった。
インストールが完了していないということだろう。
いったん消して、再度インストールしてみる。右側のタブに全画面表示
があったので、今度はそのモードでインストール。alt-enter で全画面と
通常を行き来できる。VMWare などと同じでいったんゲストの画面に
マウスポインタが移ると ctrl-alt しないと OS X にもどらない。
インストール完了、GUI ログインも出てくる。が、画面がでかい。
xwininfo -root でみると 1600x1200 になっている。Parallels の
編集/仮想マシン、、、で画面サイズを変更しても反映されない。
これは xorgcfg でディスプレイのサイズを低い解像度にすることで
解決できた。
次はネットワークだが、どうも Solaris からは見えていない。SMC
などで DHCP の設定などないか探してみるが見当たらない。Solaris との
ファイル共有はできないので、ファイル転送はネットワークしかないのだが...
Google をサーチすると手順が見つかった。/Library/Parallels/Tools/vmtools.iso
をCD/DVD デバイスにして Solaris を立ち上げると、このイメージがマウント
されているので、その中にある solaris 用の network.sh を実行して、
DHCP のクライアントになるかに yes と答えるだけだ。どうやら、ここの
部分は Parallels 側から提供されていて、インストール時点では
ネットワークは全くないことになっているようだ。
あがってしまえば ssh, scp で操作はできる。
ちょっとじたばたしたが、結構いい感じ。
2007年11月20日火曜日
Ant notes
Ant の覚え書き
ファイルからプロパティをロードするには次の要素を設定しておく。
build.properties には key = value を書いておく。
build.xml からは ${key} で参照可能。
あまり真剣に書いたことがなかったが、Java プログラムの起動に引数が
たくさんつくケースのために java タスクを使ってみる。結果、次のような
物に落ち着いた。
fork="true" をしてしているのは jvmarg は fork="true" でのみ有効だから。
-Dkey=value は <sysproperty key="..." value="..."/> を羅列すれば
良いらしい。<syspropertyset .../> は使っていた版で java task ない
ではサポートされていないと出たので今回は見送る。
ファイルからプロパティをロードするには次の要素を設定しておく。
<property file="build.properties"/>
build.properties には key = value を書いておく。
build.xml からは ${key} で参照可能。
あまり真剣に書いたことがなかったが、Java プログラムの起動に引数が
たくさんつくケースのために java タスクを使ってみる。結果、次のような
物に落ち着いた。
<target name="run_pja" depends="compile" description="run">
<java classname="test" fork="true">
<classpath>
<pathelement location="${jcaptcha.jar_path}"/>
<pathelement path="."/>
</classpath>
<jvmarg value="-Xbootclasspath/a:${pjajar}"/>
<jvmarg value="-showversion"/>
<sysproperty key="awt.toolkit" value="com.eteks.awt.PJAToolkit"/>
<sysproperty key="java.awt.graphicsenv"
value="com.eteks.java2d.PJAGraphicsEnvironment"/>
<sysproperty key="java2d.font.usePlatformFont" value="false"/>
<sysproperty key="java.awt.fonts" value="${jh}/jre/lib/fonts"/>
<sysproperty key="user.home" value="${pja_home}/lib"/>
</java>
</target>
fork="true" をしてしているのは jvmarg は fork="true" でのみ有効だから。
-Dkey=value は <sysproperty key="..." value="..."/> を羅列すれば
良いらしい。<syspropertyset .../> は使っていた版で java task ない
ではサポートされていないと出たので今回は見送る。
2007年11月16日金曜日
Technologies for SOA
SOA!!!
Sun Tech Days で SOA 関連のセッションで紹介されていた BPEL など SOA
関連の技術が思っていたよりわかりやすかった。また、NetBeans 6 ではその
開発を補助する機能がそろっているという事でチュートリアルをみながら
試してみた。
以前、Axis を活用しようと思ったときに、XML Schema や WSDL の手書きに
ウンザリしたので、少し敬遠していたけれど、NB6 ではこれらのファイルも
IDE の管理下で作れるらしい。
チュートリアル概要
HelloWorld は単純すぎるので Loan のサンプルの概要を書いておく。
BPEL モジュールの作成
New Project > SOA > BPEL Module で作成できる。
- XML Schema の作成
サービス呼び出しの際に簡単な文字列をひとつ渡すだけであれば、これは
おそらく必要がない。実際には何らかのデータ構造を渡すことになるであろうし、
それには、それなりの型を持たすことがわかりやすい。そうするためには XML
Schema で complex type を定義することになる。
実際の操作は画面右側のパレットから Complex Type を Editor の Complex Types
のところにドロップすることで型が作れる。さらにそれぞれの型に Element icon
をドロップして要素を作っていく。
もうひとつ行うことは Complex Type を決めてから、それらをグローバルエレメントに
登録すること。やり方は Element icon を Editor の Elements のところにドロップ
して名前をつけて、Definition で Complex Types に作った型の名前をセットする。 - WSDL の作成
Process Files の下に WSDL document を作成する。独自の XML Schema を使う場合には
Import XML Schema File(s) チェックボックスをチェックして先に定義したものや、
ネームスペースを利用して、インポートできる。
次は Editor の Partner タブでメッセージの名前や、型を決める。In/Out の最低2つは
あるので、リクエストの名前をわかりやすいものに変え、型を決める。型はダイアログの
中から選ぶだけなので簡単。XML Schema をインポートしておけばその中で決めた型を
引数の型に使える。この際の型の名前は complex type の名前ではなく Elements に
登録した名前になる。IDE が選択肢を示してくれるので簡単だが、うろ覚えで手書きだと
とてもはまるかも知れない...
オプショナルで LoanProcessor EJB モジュールを作る。ユーザー情報をもとに Loan の
可否を判定する。必然的に Web Service のインターフェイスを持つことになる。
Web Service のフォルダを右クリックして Web Service を作れる。そのあと、その
Web Service を右クリックして Add Operation で操作を追加する。その際にパラメータも
定義する。結果として @WebService アノテーションを使った java ソースができる。
作成時に Session Bean にデリゲートすることもできるようだ。
本当に EJB じゃないといけないのかと疑問に思った。なぜなら EJB Container が
前提といわれると困るから。結果として、これは杞憂。できたのは本当にクラスを
まとめただけの jar ファイルだった。wsdl もこの時点では存在しない。 - BPEL process の作成
Process Files に BPEL Process を作るとフローチャートのような画面が現れる。
まずはここに入力として request の wsdl, Loan のチェックを行う web service
を登録する。後者に関しては wsdl は自動生成されるようだ。このステップは
モジュールのドラッグでできる。
この次のステップとして、receive, invoke, reply をパレットからドラッグして、
サービスと関係付けていく。プロセスの最初は、receive で始まる。リクエスト待ちの
先頭というわけだ。
Assign 要素で変数を作る。関連づけは BPEL Mapper でソースとデスティネーションを
つなぐだけだ。 - Composite Application の作成
別プロジェクトとして Composite Application を作る。この定義ファイルは *.casa.
この JBI モジュールとして、作成した BPEL module をドラッグ&ドロップで登録。
これに consumer としての SOAP アダプターを登録する。 - テストの作成、登録
composite application の Test folder にテストを作れる。リクエストのパラメータを
埋めるだけでテストになる。1回目の実行結果が正しい実行結果とされ、以後のテストと
比較される。結果を消す、クリアしてしまえば正しいテスト結果を変えられるということか? - JBI とは
NB6 の Composite Application が JBI の実装ということかなと思う。JSR 208 という
事だが、これには IBM, BEA は賛同していないらしい。BPEL まではいいが、その上は
まだ議論の余地があるということか....ということはこれらのベンダのBusiness Process
Integration は propretary ???
登録:
投稿 (Atom)