2008年 6月 09日 月曜日 |
JavaOne 2008 報告会 English Translation: (Yahoo!) / (Google) 少し前の話ですが、5月31日(土)にJJUGとSun主催のJavaOne 2008 報告会が行われました。場所は、弊社神宮前オフィスです。
セミナー形式に部屋をセットします。この地下会議室は3つの部屋がつながります。なんだか残像が見えますが気のせいでしょう。
司会は増月さん。
丸山JJUG会長による開会のあいさつ。JavaOneは日本に居ながらにして、資料も手に入るし、Webキャストで見ることもできる。それでも、行くことの価値があるということを説明されていました。
続いて増月さんによるJavaOne 2008オーバービューです。と、その前に先日来日していたJohn Gageからのビデオメッセージの紹介です。
土曜にも関わらず、会場いっぱいの参加者の皆様。
野村総合研究所の野上さん。Java EEなどエンタープライズ系の動向について。あと、GlassFishについても多めに取り上げていただきました (^^ゞ
続いて櫻庭さん。あいかわらず演出が凝っています。個人的にはNeil Young: 傾向と対策がかなり良かったです。音楽ほとんど聞かないので、JavaOneニュースで出てきてもピンとこなかったので (^^ゞ (怒られそう) 肝心のジャバ話ではJava SEとJavaFXの動向について。
続いて、エスエムジーの谷本心さん。ブログにリンクをはろうとしてお名前で検索したらちょっと印象の違う感じの姿が・・。トラブルシューティングに使えそうなネタとして、Visual VMとか、Dtraceなどをご紹介いただきました。DTraceのデモは残念ながらOpenSolarisとプロジェクタの相性が悪かったようでした・・・。残念。
大渕さんからはハンズオンラボやパビリオンについて。あと、JavaOneに行ったときに気軽にコミュニケーションできるコミュニケーション術を教えていただきました。小物ガジェットをみせびらかせ!とか。 この後は去年のJavaOne報告会でも好評だったライトニングトークです。UStreamの配信とタイムキーパーをしていたので正直なところあんまり内容覚えていません・・・。
カスタムBinding Componentを作って、Open ESBに載せてみる English Translation: (Yahoo!) / (Google) Mash up Award 4thがはじまったそうですで書きましたが、Mash upをOpen ESBでやってみようと企んでいる訳ですが、利用可能なWebサービスはたくさんありますので、すべてがすべてスムーズにOpen ESB標準のBinding Component (接続のプロトコルを仲介してくれるコンポーネントのJBI - JSR 208 - 標準の呼び名です)では足りないかもしれません。そういった場合にもスムーズに連携できるようにカスタムのBinding Componentを作る練習をしておきましょう。
カスタムのBinding Componentを作る際に参考になるのがOpen ESBの開発者用ドキュメントDeveloping JBI Componentsです。サンプルとしてNetBeans用のプロジェクト(とはいってもantプロジェクトですが)、がありますのでそれをまず実行してみることにしましょう。まず、サンプルをダウンロードします。展開して入っているMyBindingがBinding Component、MyEngineがService Engineです。以下NetBeans 6.1をフル(GlassFish+OpenESBが入っている)で入っている前提で進めていきます。
プロジェクトMyBindingを開くと、jbiのライブラリが足らないなどなどとエラーが出ますのでまずパスの設定をします。build.propertiesのglassfish.homeを適切なパスに設定してやればokです。Macの場合は/Applications/NetBeans/glassfish-v2ur2とかですね。できたらGlassFishをNetBeansの「サービス」のタブから起動して、プロジェクトを実行してみましょう。プロジェクトを実行するとBCのコンパイル&パッケージングとGlassFishへのデプロイまでをやってくれるスクリプトになっています。
ご覧の通りMyComponentというのが入りました。もう少し進んだカスタマイズはまた今度。 Mash up Award 4thがはじまったそうです English Translation: (Yahoo!) / (Google) ちょっと話題的には出遅れましたが、1年ぶりにMash up Award 4thが始まったようです。最優秀賞の賞金は100万円!マッシュアップ対象のAPIも今回はさらにパワーアップしています。期間は9月16日11時59分までですので、夏休みのチャレンジとして参加されてはいかがでしょうか。その他詳細は、Mash up Award 4th公式ページか、nabejunさんのブログをご参照ください。
今回も個人的には参加したいのはやまやまですが、主催企業社員ですので参加できません (参照: 参加規約)。1回目と、2回目あたりは参加だけならokだったと思いますが、まあしょうがないですね。というわけで、今回もブログで個人的に細々とMash upアプリを作ろうと思います。最近の流れなら、JRubyとかJython、JavaScriptなどLL系の言語でパパっと作るのがイキなんでしょうけれど、今回はあえて焦点が当たりにくい、重量級の実装で望もうと思います(笑)。
今回の個人的なテーマはOpen ESBでMash upです。ESBにつなげてしまえば、Mash upするのも簡単なはず!(でもその道のりは簡単じゃないかもね)という意気込みでがんばります。 NetBeans 6.1日本語版リリース English Translation: (Yahoo!) / (Google) すでにたくさんの方がブログに書かれていますが、NetBeans 6.1日本語版が正式リリースとなりました。詳細は片貝さんのブログを参照していただくとして、Mac用ニーモニック表示なしの日本語版NetBeans 6.1を紹介しておきます。片貝さんのブログでも紹介されていますが、NetBeans 6.1の日本語ファイルにはニーモニック表示ありと、なしがあります。ニーモニックキー表示とはショートカットキーをわかりやすく表示するために、メニューの一部に下線が引かれていたり括弧書きで (F)とかつけられている表示のことです。Mac以外のプラットホームの場合、ニーモニックキー表示が問題を引き起こすことは無いのですが、MacではMacメニューバーのクセから、ちょっと困ったことになります。
こちらはニーモニックキー表示をした場合のNetBeans 6.1を起動した場合の画面です。これはMacBookの画面で解像度は1280x800ですが、ニーモニックキー表示のためにメニューが画面に入りきらずいくつかのメニューは「リファクタリ...」のように省略されてしまっている上、時計等システムトレーに入っているアイコンも見えなくなってしまっています。
一方こちらはニーモニックキー表示をしないリソースファイルを適用して起動した場合のNetBeans 6.1。メニュー項目表示はどれも省略されていませんし、システムトレーのアイコンもすべてではありませんが、最低限の部分は残っています。すばらしい! さて、インストールの仕方ですが、NetBeansを終了しておいてから、nb61ja_mac.zipというファイルをダウンロードしてきて、/Applications/NetBeans/NetBeans 6.1.app/Contents/Resources/NetBeans 以下に上書きして展開して、NetBeansを起動すればokです。簡単です。 Sun SPOTが1名様に、アイデアコンテスト。 English Translation: (Yahoo!) / (Google) 大渕さんのブログで告知されていますが、大渕さんの個人的な催しとしてSun SPOT アイデアコンテストをやっているようです。応募締め切りは6月30日(木)正午まで。我こそは!というかたはじゃんじゃん応募してみてください。
さすがにSun社員は参加NGとのことなので、皆様のアイデアの参考になるかどうかわかりませんが、個人的なアイデアをいくつか。ちなみに、手元には借り物のSun SPOTがあるにもかかわらず時間不足でまだどれも実験できていません orz Sun SPOT単品で勝負Sun SPOT自身の持っている機能を使ってもいろいろなアイデアが実現できると思います。Sun SPOTには幾つかセンサーが最初から備わっていて、それらのデータを簡単に扱うことができるJava APIも備わっています。Sun SPOTに標準搭載されている汎用センサーボードには、Sun SPOTの製品ページによれば、
Web de スイカ割り加速度センサーがあって、ネットワークにつながるのでWeb経由(あるいはローカルネットワークで)のスイカ割りをしてはどうでしょう。プレーヤーは最低2人で、一人はSun SPOTを一つ手に持って、PCやSun SPOTに取り付けたスピーカーなどから指示を受け、スイカを割る役です。スイカは仮想的な空間のどこかに置かれているので、プレーヤは目隠しをしなくてもプレーできます。もう一人は、PC等でスイカ割り役の人の位置と、仮想的なスイカの位置を確認して右だ左だ、と指示を出します。ネットワーク上で仮想空間を共有するのでこの二人のプレーヤーは必ずしも近くに要る必要はありません。インターネット経由にすれば、海外の友人とも共同してスイカ割りできることでしょうし、現実のスイカ割りと違って複数人がスイカを割る役になっても安全に遊べます。
ちょっと面白そうだとおもっていたんですが、このアイデアには問題があります。 このアイデアの一番の問題は、Sun SPOTの加速度センサーだけではプレーヤーの絶対位置を把握することが難しいところです。プレーヤーが素早く動いているのであれば、ある程度位置を特定できますが、ゆっくり移動すると加速度のノイズと移動の信号が見極められず動いていないような扱いにせざるを得なくなるかもしれません。他の手段としてはWebカメラとARToolkitあたりを組み合わせればできそうな気もします。 もう一つの問題はSun SPOTの加速度センサーと通信機能しか使っていないので、必ずしもSun SPOTでなくても実装できてしまう点です。プレーヤーの位置さえ何とかなるのであれば、Wiiリモコンでも実装できてしまいます。これでは面白くありません。うーむ。 Sun Java Systemソフトウエア製品と仮想化技術サポートの関係 English Translation: (Yahoo!) / (Google) Virtualization Support for GlassFish Server, and more.... (The Aquarium)より。全然知らなかったのですが、Sun Java System各ソフトウエア製品についてのVMWareやVirtualBox、Solaris Container、LDom等の仮想か技術に対するサポートのポリシーを示したホワイトペーパーが出ていたようです。
以下、便宜的にこれらのソフトウエアを「Sun Java Systemソフトウエア製品」と呼ぶことにします。 概要基本的に、Sun Java Systemソフトウエア製品は、OSが仮想環境にあるのか、物理的なマシンで直接動作しているのかを意識していません(注)。このため、Sun Java Systemソフトウエア製品それぞれのリリースノートやサポート情報でサポートの対象となっているOSやプロセッサのタイプにマッチしていれば仮想環境上にデプロイすることが可能です。注意点は、基本的にサポート範囲はSun Java Systemソフトウエア製品に対する部分に限定されるということです。サポートサービスは問題解決のためにお客様に非仮想化環境での再現を求める場合があります。特にテストされている仮想化技術上記の通り、OSタイプやプロセッサのタイプがSun Java Systemソフトウエア製品によってサポートされているのであれば、Sun Java Systemソフトウエア製品に対してのサポートは提供されますが、特に下記の仮想化技術はSunによってテストされ、サポートされています。Sun Logical Domains (LDom)UltraSPARC T1やT2/T2+などのアーキテクチャ(sun4v)で利用可能な仮想化技術。なお、LDomを利用するにはSolaris 10 11/06以降が必要となります。Solaris 10 コンテナSolaris 10コンテナ(あるいはゾーンと呼ばれている)と呼ばれるSolaris 10標準搭載の仮想化技術。ゾーンには大域ゾーン、ローカルゾーン(完全ルートゾーン・疎ルートゾーン)のようなタイプがあり、製品によっては利用上の制約がある場合があります(疎ルートゾーンにインストールする場合には、大域ゾーン側で幾つかパッケージをアンインストールしておかなければならない等)。それらの制約についてはご使用になられる各Sun Java Systemソフトウエア側のマニュアルを参照してください。Solaris 8 コンテナSolaris 8 Migration Assistant、あるいはProject Etudeと呼ばれていた仮想化技術です。使用される各Sun Java SystemソフトウエアがSolaris 8をサポートしている場合、サポート対象となります。Sun xVM Server for x64システムまだプレビューリリースの段階ですので、正式にサポートしていませんが、少なくともゲストOSがサポート対象環境であれば、動作環境としてサポートされます。 2008年中には出てくるとのことですが、xVM Serverが正式リリースとなれば、こちらは正式サポートプラットホームとなるようです。VMware ESX Server 3VMware ESX Server 3とSolaris 10を組み合わせた環境では、SunはSun Java Systemソフトウエア製品の組み合わせをテストしています。Solaris 10以外を利用することもできますが、Sunとしては特にそれらの環境をテストしている訳ではない点にご注意ください。サイジングに関する考慮点仮想化技術を利用することによって利用のオーバーヘッドや、仮想化環境によるリソースの制限がSun Java Systemソフトウエア製品に影響する場合があります。仮想化を利用される場合には、その点に十分考慮いただき、サイジングを行っていただく必要があります。仮想化技術による高度な機能を使う場合仮想化技術のなかには、サービスを止めずに別の環境に移動させたり、動的にクローンのインスタンスを生成する、といった高度な機能をサポートしているものがあります。しかしながら、基本的にSunとしては仮想環境の動的な機能が動作している状況でのテストまでは行っていません。それらの機能を利用した特定のシナリオをSunがテストした場合にはサポートリストにそれが更新されるとのことです。John Gageにきいてみよう English Translation: (Yahoo!) / (Google) 既に大渕さん、寺田さん、増月さん、Jimさんによってレポートされていますが、JavaOneの決まり文句「Don't Be Shy」でおなじみのJohn Gageのお話を聞くチャンスに恵まれました。先週のSimon Phippsとのミーティングといい、Sunの主要なビジョナリーに直接話を聞ける機会とあってうきうきしていました・・。が、起きたらややぎりぎりの時間で、しかもPASMOのチャージ不足とかでぐずぐずしていたら少し遅刻・・・orz。
大渕さんのブログにある デスクトップ PC とサーバについて、重さと原材料消費量の比を考えると、デスクトップ PC は 100 倍だけど、サーバだと 2 倍におさえられるんですよ、とかの小ネタもおもしろかったです。を説明するスライド。
ワンセグ携帯に驚いたことをうれしそうに説明するJohn Gage。単なるガジェット好き、という感じではなくて、テクノロジーに対する尊敬と愛情が満ちあふれていました。
最後は予想通りというか、撮影大会です。ストロボ(SB-600)が鞄に入らなくて持っていけなかったのが個人的には悔やまれるところです。 OpenOffice.orgのODFDOM v0.6.1を試す English Translation: (Yahoo!) / (Google) 自分のブログでどういった話題が人気なのかを調べてみたところ、今月はダントツでMac OS X版のOpenOffice.org 3.0ベータを試すという3月に書いた記事でした。この頃のビルドがいくつだったかは覚えていませんが、5月7日にはベータテストが開始されたこともあって一気に注目が高まったのかもしれません。さて、個人的にはこの辺りのネタも気になるところですが、個人的には5月8日のブログOUT NOW!! - The first public version of ODFDOM.. (GullFOSS)が断然気になっていました。このODFDOMはOpenDocument Formatの文書を扱うためのJava APIです。OpenOffice.orgがなくとも単体で動作するのが魅力的です。早速ダウンロードして試そうと思ったら、Java 5 implementationと書いてあるのに、中身を見たら思いっきりJava SE 6でコンパイルされていて読み込めないし、ソースをダウンロードしてJDK 5.0でコンパイルしようとおもったらJava SE 6のAPI使っててコンパイルできないし・・・。おいおい・・・。ということで、Java SE 6が使えない自宅PCではあきらめて、別の環境で。
まずはテストデータを作っておきます。一番いじりたそうなスプレッドシートのドキュメントを作って、適当にいくつかデータを入れておきます。
次にこの手のドキュメントもRubyから扱えたら素敵なので、jirbからインタラクティブに試します。CLASSPATHにはこのodfdom-v0_6_1.jarと、xercesImpl.jarを別途ダウンロードして入れておきましょう。
include Java
import org.openoffice.odf.doc.OdfDocument
d = OdfDocument.load('./test.odf')
c = d.get_content
という感じでインタラクティブにうちこむとその結果が取得できます。はい、結果は見るからにDOMですね。このOdfDocumentで読み込んで、getContentで得られるDOMをXPath等で取り出したりして、いじっていけばコンテンツをいろいろいじることができます。OdfDocumentクラスを通してDOMをファイルに保存することもできますし、画像ファイルの追加なんかもできます。まだバージョンもv0.6.1と早熟な感じなのでしょうがないところですが、ドキュメント自体をもう少しODFに特化した形のJavaクラスを用意しておいてほしいところですね。
まだほとんどDOMをそのまま生で触っているのと感覚が同じです。とはいえ、ようやくODFを扱うためのまともなAPIが出てき始めているのはとても楽しみです。今後の発展に期待しましょう。 HudsonをMacのデスクトップに, その2 English Translation: (Yahoo!) / (Google) この間Macアプリ化してみた継続インテグレーションツールのHudsonですが、ようやく実行中の三角マークが出るようにできました。やり方はとっても簡単でした。
HudsonにはJava Web Start版のHudsonがあるのですが、Java Web Start版ではグラフィカルなコンソールが立ち上がってそこにログが出力されます。このコンソールのメインクラスを読んであげるようにすればいいだけです。コマンドライン版のメインクラスがパッケージなしのMainだったのに対し、こちらはJNLPMainという名前のクラスです。
あとせっかくなので、最新の1.218をベースにdmg形式のパッケージも作ってみました。
欲しい方はこちらからダウンロードしてみてください。 Java CAPS 6とOpen ESBの違い English Translation: (Yahoo!) / (Google) Differences between Java CAPS 6 and OpenESB (Jason Baragry's Blog)より。アクエリアムでも既に取り上げられていますが、良くご質問をいただく内容が含まれていますので改めて、こちらのエントリの内容をベースにOpen ESBやJava CAPSの位置づけを確認しておきます。
One of the most common questions I get asked is, "Will Sun support OpenESB?" or "Is Java CAPS a supported version of OpenESB?" Developers want to get started now with functionality in Open ESB and feel confident that it will be supported by Sun with a Java CAPS license.ここにもあるように、頻繁にいただく質問に「SunはOpen ESBをサポートするの?」とか「Java CAPSはOpen ESBのサポートがつく版なの?」あるいは「SunはOpen ESBに本気で取り組んでいるの?」といった質問があります。 We do already have some JavaCAPS customers who are entering the development phase of their projects with Open ESB in the knowledge that the infrastructure will be a supported part of Java CAPS by the time they go to production. Unfortunately, the answer to the original questions is a little more detailed than simply "yes" or "no". Let me explain...伝え聞くところでは日本でもいくつかのプロジェクトでOpen ESBの評価をしていただいているとのことですが、ここで取り上げられているようによりSunが密接にサポートさせていただいている海外のお客様では既にOpen ESBをベースとしたプロジェクトが開発フェーズにあるとのことです。もちろん、ESBを導入するようなケースで、サポートが不要であるということはまれで、Open ESBがJava CAPSによってサポートされるはずだろうということで、本番環境のサポートを得ようとお考えです。この考えはほとんどの場合正しいのですが、残念ながらシンプルにYesともNoとも言えません。
Java CAPS 6 is, to grossly oversimplify it, Java CAPS 5 + some OpenESB technology. However the first release of Java CAPS 6 will not include all OpenESB components. This is for a couple of reasons:Java CAPS 6はとても大雑把に言えば、Java CAPS 5.1.x + Open ESBのいくつかのテクノロジを取り入れたものと言えます。ところが残念ながら最初のJava CAPS 6リリースではすべてのOpen ESBコンポーネントはJava CAPS 6に含まれません。それには次のような理由があります。
When Java CAPS 6 is released, it will consist of some openesb components. For instance:Java CAPS 6が最初にリリースされる段階で含まれるOpen ESBのコンポーネントには上記の通り、JBIランタイム、BPEL 2.0準拠のBPELサービスエンジン、HTTPバインディングコンポーネント、それにEJB等Java EEコンポーネントをサービスエンジンとして利用可能にするJava EEサービスエンジンがあります。
During the rest of 2008, Sun will continue to make other openesb components production ready and make them supported parts of Java CAPS. The exact content and timeline of these "Component Packs" or is still to be released, but you can probably expect them to include:製品担当マネージャではないので、との前置きがありますので上記リストは、参考程度にご覧ください。公式にサポートされるコンポーネントのリストは正式リリース時にリリースノート等で参照できるようになるはずです。Sunは2008年の残りの時間を使って、最初に挙げた基本的な4つのコンポーネント以外のコンポーネントについても本番環境に耐えうる品質で、Sunからサポートされるコンポーネントを"コンポーネントパック"としてリリースするつもりです。まだそれらがいつ頃でて、どのコンポーネントがパックに入るのかはわかりませんが、有力な候補は次のようなコンポーネントです。
Additionally, Sun may enter agreements with the companies who are developing other openesb components and make them "supported" parts of Java CAPS. So it is possible that OpenESB components that are not developed by Sun will also be supported by a Java CAPS license.また、Sunが開発した以外のコンポーネントについても、それらを開発されている企業にたいして、Java CAPSのサポートされるコンポーネントの一部として取り入れられるように合意をいただいている最中です。このあたりがうまく整理がつけば、多くのOpen ESBに貢献されているコンポーネントがJava CAPSライセンスをご購入いただくことでSunからサポートを得ることができるようになります。 To give you an example. I currently have two Java CAPS 6 "customers", even though it has not yet been released.. They have looked at their requirements and see that they need only components which will be available in the initial release of Java CAPS 6 or will most likely be available in Component Packs in 2008. They have started development work now and plan to be in production in 2009. By 2009, all OpenESB components they need will be supported parts of Java CAPS.元記事のJasonさんはすでにJava CAPS 6 を(ベータ段階より) 2社のお客様にご利用いただいているそうです。それらのお客様の場合には、Java CAPS 6が最初にリリースされる段階で含まれるコンポーネントと、2008年中にリリースされるであろうコンポーネントパックに含まれる予定だとのことです。それらのお客様では2009年より本格稼働を開始されるとのことです。
さて、最初の質問に戻りましょう。
Java CAPS 6がコードフリーズ段階に English Translation: (Yahoo!) / (Google) CAPS6 code freeze is today (Fred Aabedi)より。SunのSOA基盤ソフトウエアであるSun Java CAPSの次期バージョン Release 6が今日、コードフリーズ段階に到達したそうです。これでいよいよ後はリリースに向けた最終調整を残すのみとなります。
To name a few: support for Netbean 6.1 for CAPS tooling with the ability to create/build and deploy repository based (5.1.x) applications in addition to the new JBI and Java EE5 based applications with Interoperability features for a mixture of these.Java CAPS 6ではJava CAPS 5.1.xで作成されたプロジェクト(これをレポジトリベースアプリケーションと言います)と加えて、JBI (JSR 208)に準拠したOpen ESBエンジンも搭載しています。開発環境は最新のNetBeans 6.1をベースとしています。実はJava CAPS 5.1.x以前もSeeBeyond ICAN Suiteの時代からNetBeansが開発環境のベースとして使われていましたが、今回はよりNetBeans自体の持っているSOA機能をフル活用するように仕上がっています。 Many eWay adapters are available as standard JCA adapters for use in JavaEE/ejb applications. Upgraded features for many adapters like V3 support for HL7, Security (SNC) support for SAP, EJB 3 support for Weblogic and SunOne,... Runtime, uses the standard GlassFish 9.1 Application Server.対外システムとの接続をサポートするeWayアダプタも、Java EE標準のJCAを通してEJB等から利用することができるようになりました。ESBのような基盤を導入しようと考えた場合、外部システムに対してEJB等から直接やりとりをするのはやや例外的なことで、通常はバスを通して外部システムにアクセスするようにします。とはいえ、すべてのケースに対してバス経由のアクセスが必須とされると、パフォーマンス上の問題を解決できなかったり、特殊なごく一部の要件を満たすために大きな労力が必要となってしまいます。Java CAPS 6では、EJBからも直接eWayアダプタを利用できるようにしたことで、要件に応じた柔軟な設計を選択できるようにしています。 そして、Java CAPS 6の実行環境はGlassFish v2です。 Application Configuration, allows for building the application once and deploy to multiple runtime environments without change by externalizing the connectivity configurations. The installer is much friendlier and faster and support additional platforms. Lot's of cool features in Management and Monitoring framework including API callable from all JSR-223 Scripting languages.通常、ミッションクリティカルシステムを開発、運用するためには、開発環境/テスト環境/本番環境のように複数の環境が存在します。Java CAPS 6ではこれらの環境固有の設定が分離して管理されるため、環境を変えるごとにアプリケーションを改変する必要はありません。また、インストーラがずいぶんわかりやすく、使いやすくなりました。これは評価のためにちょっと試してみようという時に、ずいぶん役に立ちます。あと、管理・監視機能がJMXによってアクセス可能になったので、たとえばJSR 223準拠のスクリプティング言語、たとえばJRubyやJythonからこれらの監視・管理機能を呼び出すことができます。JRubyでやりたい!なんてお考えの方は、以前書いたJRubyでJMXが参考になるかもしれません。 JBI/Open ESBをベースとした本格的なSOA製品の登場ということもあって、今後の動向がとても楽しみです。 ねこび〜ん特集 English Translation: (Yahoo!) / (Google) 片貝さんのブログでこの間のSun Business .Nextの資料を案内されていますが、見事にねこびーん特集になっていますね。こちらも負けずにねこびーん特集です。
デスクトップにねこび〜ん。
これは宗形さんが作成されたねこび〜んです。手のりサイズ。すばらしい! そして初公開アイテム。
ねこび〜んシルバーアクセサリー。
しっぽもかわいいです。
なかよし。
どの角度からみてもほれぼれします。
大きさはこれぐらい。 HudsonをMacのデスクトップに English Translation: (Yahoo!) / (Google) 継続的インテグレーションツールでDuke's Choice Awardにも選ばれたHudsonを久しぶりに使っています。使い方は川口さんによる特集記事が技術評論社のページで読めますので、そちらを参考にしていただくこととして、今回はHudsonにちょっと工夫のお話です。
最近、原稿を書くのに8年ぶりにpLaTeXを使っています。といっても、原稿自体は普通のプレーンテキストなんですが、図表の確認のためにpLaTeXを使ってプレビューしています。プレーンテキストをRubyのスクリプトでTeXのソースにして、TeXでコンパイルして、dvipdfmxでPDFにするという作業。まあ、シェルスクリプトにしてあるので、それらの呼び出しが面倒くさいということもないのですが、原稿のバージョン管理をRCSからSubversionにすることにしたので、ついでにこれらのコンパイルもHudson化してやろうとの魂胆です。 さて、HudsonからはSubversionの更新をポーリングしてもらってシェルスクリプトを起動してもらうだけの設定ですから、とても簡単なんですが、コンパイルが自動化されたことによってターミナルを開く必要がなくなりました。そうすると、わざわざHudsonを起動するがためにターミナルを開くのもおっくうだ、という思考になぜかたどり着きMac用の単独アプリとしてラッピングすることにしました。Mac OS Xには開発ツール(Xcode)を入れると、/Developer/Applications/Java Tools/Jar Bundler.appというJarをラッピングしてMacアプリとしてパッケージングしてくれるツールがありますのでそれを使います。
その前にアイコンを作ります。hudson.warを展開するとimages/hudson.xcfというGIMP用のイメージファイルが出てきますので、オーバーレイレイヤを取り除いて、あとは背景を透明にしたpngファイルなんかを適当に作ります。次に、Mac用のアイコンを作るのですが、同じく開発ツール(Xcode)に/Developer/Applications/Utilities/Icon Composer.appというのがついてきます。これに画像ファイルをドラッグ&ドロップしてやればアイコンが出来上がります。アイコンの使われ方でいくつかサイズが違うのがありますのでそれぞれに同じ画像をドラッグ&ドロップ。48x48、32x32、16x16の所は元画像に透明属性があれば自動的にマスクを作ってくれます。
次にJar Bundlerでパッケージングします。Jar Bundlerはhudson.warをそのままではjarファイルだと認識してくれないので、hudson.warをhudson.jarに改名しておいてクラスパスに入れてやります。 ![]() あとはメインのクラス「Main」を設定したり、作ったアイコンを選択したりしてCreate Applicationとやればオッケーです。
できました。
Dockに入ったHudson。起動してみるといつものようにアイコンがぴょんぴょんはねながら起動してくれます。ところが、起動が完了しても起動中を示す三角マークが出ません orz ログをみる限り、起動しているし、8080ポートにつなぐと正常に稼働しています。
どうやら応答がないと判断されてしまったようです。GUIをたてないとだめなのかなあ。まあ、個人的に実用上困らないのでこのままでいいような気も・・・。強制終了をするときちんとハンドラが動いて、HTTPサーバが停止しているのがコンソールのログで確認できます。 ということで、デスクトップにHudsonさんをおいてみましたが、ちょっと微妙な感じで終わりました。ちゃんと三角マークがでたりするように暇ができたら改造してみます。 プロジェクトFuji、すごそうですよこれは。 English Translation: (Yahoo!) / (Google) mediacast.sun.comをうろうろしていたら、Project Fujiのスクリーンキャストを発見しました。まだざっとしか見てませんが、どうやらProject Fujiは結構クールな感じですね。
デモのシナリオです。(1) CNNのRSSを、インスタントメッセージングの標準プロトコルXMPPを使って配信、(2) もう少し進んで、JRubyを使ってRSSをフィルタリング、(3) 配信先をXMPPだけではなくてファイルにもアーカイブとして配信。といったシンプルな内容です。
これがIFL(Integration Flow Language)という記述言語でぱぱっとかけてしまうようです。JBIが出た当時(2005年)に、いろいろXMLを書きまくったあげくにようやく動いたのがこれか〜、とため息をついたのとは大違いです。ずいぶん簡単、シンプル。しかもスクリーンキャストを見る限りすでにこのIFLはNetBeansが構文サポートしているようです(左下のNavigatorペインや、右のエディタで構文ハイライトされています)。プロジェクト自体はMavenで管理されていて、Mavenからアプリケーションの構築から実行まで全部できるようです。ESBのようにやたらと依存関係が複雑になりそうなアプリケーションだとずいぶん楽になりそうですね。NetBeans 6.1のMavenサポートはよくできているそうですし、ちょっとしたことならMavenを意識すること無く開発ができるようになるのかも。 Open ESB v3とプロジェクトFuji、GlassFish ESB English Translation: (Yahoo!) / (Google)
JavaOne 2008および、プレイベントであるCommunity Oneもまだ始まっていませんが、フライングしているのか、もともとスケジュール通りなのかよくわかりませんが(笑)、なんだかいろいろと情報が出てきています。Open ESBはそろそろv2がリリース間近だったので、JavaOne/CommunityOneではてっきりv2の正式リリースが大きな節目だろうとおもっていましたが、ここにきてv3のアナウンスです。 さて、微妙にここでいくつか新出単語が出てきますので、キーワードまとめておきましょう。
Open ESBページのアナウンスより。 With Open ESB v2 core runtime winding down in terms of functionality, Open ESB team is proud to announce to v3 effort. Version 3 of Open ESB leverages OSGi and JBI to come up with a powerful service oriented integration platform that's agile and modular platform. The core framework for Open ESB v3 is implemented at Project Fuji. Check it out at http://fuji.dev.java.net. Open ESB v3 will be supporting various application server containers, like GlassFish, JBoss, WebSphere, WebLogic, etc, but also runs standalone on Java SE. In the Java SE case, all you need is an OSGi container like Apache Felix. Open ESB v3 on GlassFish is offered as GlassFishESB (http://GlassFishESB.org) which offers powerful integration with GlassFish v3 technology leveraging its modular implementation.また、Open ESB v3はGlassFish以外のアプリケーションにも組み込んで使えるようにするようで、JBossやWebSphere、Weblogicでも動作し、さらにはスタンドアロンのJava SE (+ OSGi)でも動作するようにするつもりのようです。つまり、Open ESB v3がリリースされると、GlassFish上でもOpen ESB v3が使えるし、JBossやWeblogic上でもOpen ESBが使えるようになります。そして特に、GlassFish上で使う場合にはGlassFish ESBを使うことになるのでしょう(おそらく管理機能などがGlassFishと連携するなどして強化されると思う)。今のところはこれ以上のことはわかりませんが、たぶん、ここ2〜3日のうちにどんどん情報が出てくることでしょう。(それにしてもなぜプロジェクト名がFujiになったのかが気になりますねぇ) 追記:Open ESBのWikiに載っていました。この書き方が一番わかりやすいですね。 Open ESB v3 = Project Fuji + Project Open JBI Components |
Today's Page Hits: 831 |