木曜日 6 12, 2008

セミナー資料: IT サービス設計の新しい方法論

本日行いましたセミナーの資料を公開します。IT サービス設計の新しい方法論で使用した資料です。 買ったばっかりのICレコーダーで録音しておりましたので、Podcastのようにして後ほど公開したいと思います。

火曜日 6 10, 2008

JavaOne 2009へ行こう!

JavaOne 2008報告会大渕さんのセッションや、ライトニングトークではJavaOneに行ってうまくコミュニケーションをとる方法、とか、JavaOneへの行き方、上司の説得方法等いろいろ興味深い話題がありました。特にライトニングトークでいろんな方が話されていましたが、下準備が大事なようです。
R0012758.JPG
では大渕さんが紹介されていた、スピーカーになる!方法をまず確認しておきましょう。JavaOneのスピーカーになるにはまずCall for Paper (テクニカルプレゼンテーションの募集)に応募して、書類審査を突破しなければなりません。このCall for Paperの時期は意外と早いので、うっかりしていると出しそびれた!となりがちです。では、時期を確認しておきましょう。JavaOne 2008のCall for PaperからKey Datesを見てみると次のような日程が示されています。
  • 2007年10月26日(金) - Call for Paper募集開始
  • 2007年11月16日(金) - Call for Paper募集終了
  • 2008年1月下旬 - テクニカルセッションおよびBOFのCall for Paper応募者への結果通知完了
  • 2008年3月中旬 - プレゼンテーション資料提出期限
  • 2008年5月6日〜9日 - JavaOne 2008
このように、Call for Paperの募集は本番の半年以上前です。また応募期間も3週間ほどしかありません。応募の際に必要になる項目は大まかには、テクニカルセッション/BOFともにセッションタイトル、概要(アブストラクト)、内容の概要、前提として必要となる知識、カテゴリ、スピーカーの紹介などを記入することになります。セッション概要は4000時まで書けます(もちろん英語で)。ばっちり3週間このCall for Paperのために時間を割ければ良いのですがたいていそんな時間が取れないので、夏のうちにはネタを仕込んでおいて、9月あたりには下書きを始めておくと安心です。
R0012731.JPG
Call for Paper締め切りから、プレゼンテーション資料提出までは4ヶ月ほどあります。その辺りのスケジュール感を考えながら、作業することになりますから、たとえば4ヶ月後に自分の話そうとしているネタがどのぐらい進んでいるか、いろいろ整理する必要がありそうです。発表できそうな内容をベースに堅実路線でアブストラクトを書くか、採用されやすいようにややチャレンジングに書くかは迷うところですね。あれこれ考えているとやっぱり3週間ではとても書けないので、JavaOne 2009に参加されたい方は今から準備をはじめてみる!というのでも遅くないと思います。
R0013287.JPG
続いて、普通に参加者として参加する場合のTIPSです。ジェネラルセッションやテクニカルセッション、ハンズオンラボについてはストリーミング配信があって後から確認できたり、資料を確認することができるのですが、BOFだけはまとまって資料が公開されることはありません。なぜか。BOFはいろんな仕様のスペックリードと、実際のユーザや開発者、関連するスペックリードの間で激しい議論が巻き起こったりする場で、単にJCPで公開されている仕様を読むだけでは読み取れない背景のコンテキストが聞ける場としてとても貴重です。上の写真は去年のJavaOne 2007でJBI 2についてのBOFに参加したときの写真です。プレゼン資料は3〜5枚で自己紹介+JBI 2の概要ぐらいで、残りの時間は全部Q&AというBOFでした。資料が無いので、誰かが質問していること、回答していること、それがすべてのコンテンツです。でも、朝早くから夜遅くまで毎日やっているので、英語が堪能ではない僕なんかは、わからない単語が気になって調べたりしているうちに話が変わっていたり、うっかり一瞬記憶がとんでいいところを聞き逃した、なんていうこともざらです。
R0013326.JPG
そこで強力な味方となるのがICレコーダーです。音声でとっておいて、帰りの飛行機の中などでもう一回確認することができます。実はJavaOne 2007のときはパソコンの内蔵マイクで録音しながら聞いていたんですが、間違ってファイルを消してしまい、結局JBI 2のBOFなど貴重なネタが消えてしまいました・・・ orz
さて、パソコンのマイクでも十分と言えば十分なのですが、やっぱり専用のICレコーダーがあった方がいいです。特にステレオで録音できる機種をオススメします。講師から一方的に喋られるようなセッションであればモノラルでもいいですが、参加者からの質問はどのへんのおっちゃんがこういう質問していた、とかそういう記憶と結びつけられると、記憶もよみがえりやすいからです。というわけで、実はこのあいだJavaOneには行ってませんが、ICレコーダーを買ってしまいました。OlympusのDS-40という機種です。内蔵メモリは512Mバイトで、最高音質で8時間ほど録音できます。電池は単四電池 x 2。まあ、選んで選んでこれ、というのではなくて、Olympus提供の英語Podcastを聞いていたときの宣伝のウケウリでそのまま買ってしまってますが・・・ (\^\^ゞ
R0013730.JPG
来年のJavaOne 2009は6月2日〜5日とのことなのでちょうど一年後ですね。Seasar2の方々、JRubyやJythonをやっておられる方々、来年あたりは日本のコミュニティーパワーをJavaOneで発揮してみませんか? (\^\^

JavaOne 2008 報告会, 発表資料とストリーミング

JavaOne 2008報告会の資料とストリーミング配信置き場のご紹介です。資料については、JJUGのページにあります。 ストリーミングについてはJJUGのUStream.tvにアップしてあります。タイトルとか、タグとか録画中につけたままなのでちょっと適当です・・。すいません。
その1 - 丸山会長 / 増月さん

その2 - 野上さん(Java EE)

その3 - 櫻庭さん(Java SE & JavaFX)

その4 - 谷本さん(VisualVMなど)

その5 - 大渕さん(ハンズオンラボ、パビリオン)

その6 - ライトニングトーク

Open ESBプロジェクトがGlassFishプロジェクト傘下に

Open ESB joins the GlassFish community! (Andi Egloff's Weblog)より。
Open ESBプロジェクトおよびそのサブプロジェクトがGlassFishコミュニティーの一員になったそうです。これによってガバナンスモデルもGlassFishのGovernance Policyになるようです。

月曜日 6 09, 2008

ODFDOMをベースとしたODFXSLTRunner

ODFXSLTRunner - a new tool in the ODF Toolkit project (GullFOSS)より。この間紹介したODFDOMをベースとした新しいOpenDocument Format向けのツールODFXSLTRunnerが登場したようです。
自宅MacではJava SE 6がないので、ODFDOM/ODFXSLTRunnerとも動かないので試せていませんが、構造は簡単に想像がつきます。OpenOffice.orgなどで使われているOpenDocument Formatは大雑把にはcontent.xmlというXML記述の主ファイルと、画像データ(jpg等)などデータをひとまとめにzipで固めた書式です(確認されたい方は odpファイルやodsファイルをunzipしてみると簡単に確認できます)。メインのファイルはXMLなのでXSLTを適用することは雑作もない訳ですが、zip圧縮されているためにワンクッション置かなければ行けません。バッチ処理にするにしても、unzipして、xsltprocなどでXSLを適用し、もういっかいzipで固めて、作業用展開ファイルを削除、のように4ステップも書かないと行けない!まあ、書けばいいんですが、これがもっとスマートに一行でシェルスクリプトに組み込める訳です。
これでどんなことができそうかと言えば、たとえば、フォントの設定を一括でMS Pゴシックから、HG Pゴシックに変えてみたりとか、「Sun Java System Application Server」から「Sun GlassFish Enterprise Server」みたいに何か名称が変わったところを一括変換してみるとか。いろいろ想像は膨らみます。

Java CAPS 6とMDM Suiteリリース(米国)

待ちに待ったJava CAPS 6とMDM Suiteが米国で正式リリースとなりました。日本での発表/発売はもう少し先になると思いますが、2005年に発表されたJava Business Integration (JSR 208)を正式にサポートする製品がSunからもそろいました。ちょうど、今週木曜日(6月12日)にIT サービス設計の新しい方法論という弊社用賀オフィスでこのできたてほやほやのJava CAPS 6についてもご紹介させていただこうと思っています。

Ruby/JRuby関連イベント

今月はRuby会議 2008がある、ということもあってRuby/JRuby関連のイベントが盛りだくさんです。
Web
いっぱいあるのでカレンダーにまとめてみました。無駄にイラレで描いてみたんですが、flickrに載せるとjpgになってしまうこともあって色とかぐだぐだです。結局カレンダーにしてもわかりやすくなかったので、ちゃんと文字で載せておきます (\^\^ゞ

今月の2時間で学ぶJava Hot Topicセミナー 6月号

いつもの通り、Sun用賀本社にて18:30よりスタートします。今回 JRubyでは高井さん、もう一つのトピックはSIPサーブレットとProject SailFinについて寺田さんより。暮しの手帖シリーズと並んで、〜〜パワーアップがシリーズ化されるかも密かに期待です。参加は無料ですが登録制となっておりますので、イベントページよりご登録ください。

JRuby が俺にもっと輝けと囁いている —— JRuby と DSL で Java をパワーアップ!

伊藤忠テクノソリューション株式会社 高井 直人 (たかい なおと)
JRuby に興味はあるけど、なかなか手が出せないという方も多いのではないでしょうか。JRuby は Web アプリケーションばかりではなく、開発のさまざまな場面で役に立つツールとして活用できます。今回は、開発ターゲットに合わせた DSL (ドメイン固有言語)を JRuby を使って作成し、Java による開発に役立てる手法を紹介します。

GlassFish の新星 SailFin —— Java で通信系のサービスもパワーアップ!

Java エバンジェリスト 寺田 佳央(てらだ よしお)
IP 電話やインスタントメッセージなどの通信系のアプリケーションを作ってみませんか。HTTP プロトコルに類似した SIP を使うと、Web アプリケーションのアナロジーで通信系のアプリケーションが開発できます。このときに重要な働きをするのが SIP サーブレットのコンテナ。このセッションでは GlassFish のサブプロジェクトで人気急上昇中のコンテナ SailFin についてデモを交えながら熱く語ります。

JRuby の最新動向と NetBeans, GlassFish, Solaris on Sun サーバ

こちらは、JRubyの最新動向はもちろん、その周辺ツール、アプリケーションサーバ、SolarisとSunサーバと、実行スタックの上からしたまでずずいと紹介しようと言う欲張りなセミナーです。こちらも参加は無料ですが、登録制となっていますので下記イベントページよりご登録のうえご参加ください。ちなみにこのセミナーでは岡崎もGlassFishとRubyの関係についてご紹介しますが、資料はこれから作りますので (\^\^ゞ
リクエストをこのブログエントリのコメント欄なんかに書いていただければ最大限取り入れるようにしようと思います。なにかGlassFish + Rubyでのトピックで気になるところがあれば。

NetBeans 6.1 で加速する Ruby on Rails 開発

JRuby エバンジェリスト 野澤 智(のざわ とも)
Java の開発環境としてだけではなく、(J)Ruby の開発環境としても有効な NetBeans 6.1。Ruby on Rails の開発での gem やプラグインの管理、rake タスクの実行、デバッグ、スニペットなど、NetBeans6.1 の特徴をご紹介いたします。NetBeans 6.1 を使うことでよりアジャイルに開発を加速します。

GlassFish で安心、エンタープライズ Ruby

Java エバンジェリスト 岡崎 隆之(おかざき たかゆき)
GlassFish は Java EE だけのアプリケーションサーバだと思っていませんか?実は GlassFish では JRuby を使って Ruby on Rails 実行環境を構築できるだけでなく、クラスタ環境などへの配備もサポートしています。ミッションクリティカル環境で使われている GlassFish の安心感をエンタープライズ Ruby でもご堪能ください。

JRuby 最新動向

米国サン・マイクロシステムズ社 Charles Nutter, Thomas Enebo

(J)Ruby on Rails Tuning Tips

Solaris エバンジェリスト 河原 一哉(かわはら かずや)
(J)Ruby on Rails でアプリケーションを構築する際の Tuning Tips をご紹介いたします。Web サーバの設定、データベースサーバの設定、OS のチューニング、アプリケーションのボトルネック解析など、さまざまな角度からチューニングを行うノウハウをご紹介いたします。

JavaOne 2008 報告会

少し前の話ですが、5月31日(土)にJJUGとSun主催のJavaOne 2008 報告会が行われました。場所は、弊社神宮前オフィスです。
_DSC7332
セミナー形式に部屋をセットします。この地下会議室は3つの部屋がつながります。なんだか残像が見えますが気のせいでしょう。
_DSC7340
司会は増月さん
_DSC7343
丸山JJUG会長による開会のあいさつ。JavaOneは日本に居ながらにして、資料も手に入るし、Webキャストで見ることもできる。それでも、行くことの価値があるということを説明されていました。
_DSC7345
続いて増月さんによるJavaOne 2008オーバービューです。と、その前に先日来日していたJohn Gageからのビデオメッセージの紹介です。
_DSC7346
土曜にも関わらず、会場いっぱいの参加者の皆様。
_DSC7348
野村総合研究所の野上さん。Java EEなどエンタープライズ系の動向について。あと、GlassFishについても多めに取り上げていただきました (\^\^ゞ
_DSC7350
続いて櫻庭さん。あいかわらず演出が凝っています。個人的にはNeil Young: 傾向と対策がかなり良かったです。音楽ほとんど聞かないので、JavaOneニュースで出てきてもピンとこなかったので (\^\^ゞ (怒られそう)
肝心のジャバ話ではJava SEとJavaFXの動向について。
_DSC7354
続いて、エスエムジーの谷本心さん。ブログにリンクをはろうとしてお名前で検索したらちょっと印象の違う感じの姿が・・。トラブルシューティングに使えそうなネタとして、Visual VMとか、Dtraceなどをご紹介いただきました。DTraceのデモは残念ながらOpenSolarisとプロジェクタの相性が悪かったようでした・・・。残念。
_DSC7359
大渕さんからはハンズオンラボやパビリオンについて。あと、JavaOneに行ったときに気軽にコミュニケーションできるコミュニケーション術を教えていただきました。小物ガジェットをみせびらかせ!とか。
この後は去年のJavaOne報告会でも好評だったライトニングトークです。UStreamの配信とタイムキーパーをしていたので正直なところあんまり内容覚えていません・・・。
_DSC7363
_DSC7365
_DSC7367
_DSC7368
_DSC7369
_DSC7371
_DSC7372
_DSC7373
_DSC7375
_DSC7376
_DSC7378

木曜日 6 05, 2008

カスタムBinding Componentを作って、Open ESBに載せてみる

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が入っている)で入っている前提で進めていきます。
NetBeans and Custom JBI Binding Component
プロジェクトMyBindingを開くと、jbiのライブラリが足らないなどなどとエラーが出ますのでまずパスの設定をします。build.propertiesのglassfish.homeを適切なパスに設定してやればokです。Macの場合は/Applications/NetBeans/glassfish-v2ur2とかですね。できたらGlassFishをNetBeansの「サービス」のタブから起動して、プロジェクトを実行してみましょう。プロジェクトを実行するとBCのコンパイル&パッケージングとGlassFishへのデプロイまでをやってくれるスクリプトになっています。
GlassFish and Custom JBI Binding Component
ご覧の通りMyComponentというのが入りました。もう少し進んだカスタマイズはまた今度。

Mash up Award 4thがはじまったそうです

ちょっと話題的には出遅れましたが、1年ぶりにMash up Award 4thが始まったようです。最優秀賞の賞金は100万円!マッシュアップ対象のAPIも今回はさらにパワーアップしています。期間は9月16日11時59分までですので、夏休みのチャレンジとして参加されてはいかがでしょうか。その他詳細は、Mash up Award 4th公式ページか、nabejunさんのブログをご参照ください。
R0017285.JPG
今回も個人的には参加したいのはやまやまですが、主催企業社員ですので参加できません (参照: 参加規約)。1回目と、2回目あたりは参加だけならokだったと思いますが、まあしょうがないですね。というわけで、今回もブログで個人的に細々とMash upアプリを作ろうと思います。最近の流れなら、JRubyとかJython、JavaScriptなどLL系の言語でパパっと作るのがイキなんでしょうけれど、今回はあえて焦点が当たりにくい、重量級の実装で望もうと思います(笑)。
R0017273.JPG
今回の個人的なテーマはOpen ESBでMash upです。ESBにつなげてしまえば、Mash upするのも簡単なはず!(でもその道のりは簡単じゃないかもね)という意気込みでがんばります。

月曜日 6 02, 2008

Sun SPOTが1名様に、アイデアコンテスト。

大渕さんのブログで告知されていますが、大渕さんの個人的な催しとしてSun SPOT アイデアコンテストをやっているようです。応募締め切りは6月30日(木)正午まで。我こそは!というかたはじゃんじゃん応募してみてください。
さすがにSun社員は参加NGとのことなので、皆様のアイデアの参考になるかどうかわかりませんが、個人的なアイデアをいくつか。ちなみに、手元には借り物のSun SPOTがあるにもかかわらず時間不足でまだどれも実験できていません orz

Sun SPOT単品で勝負

Sun SPOT自身の持っている機能を使ってもいろいろなアイデアが実現できると思います。Sun SPOTには幾つかセンサーが最初から備わっていて、それらのデータを簡単に扱うことができるJava APIも備わっています。Sun SPOTに標準搭載されている汎用センサーボードには、Sun SPOTの製品ページによれば、
  • 2G/6G 3軸加速度センサー
  • 温度センサー
  • 照度センサー
  • モメンタリスイッチ x 2
  • 3色LED x 8
  • アナログ入力ピン x 6, 汎用入出力ピン x 5, 高出力ピン x 4
が搭載されています。アナログ入力ピンなど外部機器との連携を行うあたりは個人的にはまだリサーチも始めていないので、町田さんのブログを参照していただくとして、標準のセンサーだけをつかったアイデアをまず考えてみましょう。

Web de スイカ割り

加速度センサーがあって、ネットワークにつながるのでWeb経由(あるいはローカルネットワークで)のスイカ割りをしてはどうでしょう。プレーヤーは最低2人で、一人はSun SPOTを一つ手に持って、PCやSun SPOTに取り付けたスピーカーなどから指示を受け、スイカを割る役です。スイカは仮想的な空間のどこかに置かれているので、プレーヤは目隠しをしなくてもプレーできます。もう一人は、PC等でスイカ割り役の人の位置と、仮想的なスイカの位置を確認して右だ左だ、と指示を出します。ネットワーク上で仮想空間を共有するのでこの二人のプレーヤーは必ずしも近くに要る必要はありません。インターネット経由にすれば、海外の友人とも共同してスイカ割りできることでしょうし、現実のスイカ割りと違って複数人がスイカを割る役になっても安全に遊べます。
Arari - 16
ちょっと面白そうだとおもっていたんですが、このアイデアには問題があります。 このアイデアの一番の問題は、Sun SPOTの加速度センサーだけではプレーヤーの絶対位置を把握することが難しいところです。プレーヤーが素早く動いているのであれば、ある程度位置を特定できますが、ゆっくり移動すると加速度のノイズと移動の信号が見極められず動いていないような扱いにせざるを得なくなるかもしれません。他の手段としてはWebカメラとARToolkitあたりを組み合わせればできそうな気もします。
もう一つの問題はSun SPOTの加速度センサーと通信機能しか使っていないので、必ずしもSun SPOTでなくても実装できてしまう点です。プレーヤーの位置さえ何とかなるのであれば、Wiiリモコンでも実装できてしまいます。これでは面白くありません。うーむ。

Sun Java Systemソフトウエア製品と仮想化技術サポートの関係

Virtualization Support for GlassFish Server, and more.... (The Aquarium)より。全然知らなかったのですが、Sun Java System各ソフトウエア製品についてのVMWareやVirtualBox、Solaris Container、LDom等の仮想か技術に対するサポートのポリシーを示したホワイトペーパーが出ていたようです。 頻繁に問い合わせをいただくところなので、ざっくり要約してみましょう。まずこのホワイトペーパーの対象製品ですが、以下のスイートに含まれる各製品です。なお、下記に紹介する情報は岡崎が個人的にまとめた情報になります。公式なサポート情報として情報を必要とされる場合は念のため営業担当にお問い合わせいただくか、上記の英語のホワイトペーパーをご確認ください。 どのスイートにどの製品が含まれるかはSun Java System Suites 各Suitesに含まれる製品一覧表か、Sun Java CAPS系は次の表をご覧ください。
Sun Java CAPS and Components
以下、便宜的にこれらのソフトウエアを「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 3
VMware ESX Server 3とSolaris 10を組み合わせた環境では、SunはSun Java Systemソフトウエア製品の組み合わせをテストしています。Solaris 10以外を利用することもできますが、Sunとしては特にそれらの環境をテストしている訳ではない点にご注意ください。

サイジングに関する考慮点

仮想化技術を利用することによって利用のオーバーヘッドや、仮想化環境によるリソースの制限がSun Java Systemソフトウエア製品に影響する場合があります。仮想化を利用される場合には、その点に十分考慮いただき、サイジングを行っていただく必要があります。

仮想化技術による高度な機能を使う場合

仮想化技術のなかには、サービスを止めずに別の環境に移動させたり、動的にクローンのインスタンスを生成する、といった高度な機能をサポートしているものがあります。しかしながら、基本的にSunとしては仮想環境の動的な機能が動作している状況でのテストまでは行っていません。それらの機能を利用した特定のシナリオをSunがテストした場合にはサポートリストにそれが更新されるとのことです。

月曜日 5 26, 2008

OpenOffice.orgのODFDOM v0.6.1を試す

自分のブログでどういった話題が人気なのかを調べてみたところ、今月はダントツで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ではあきらめて、別の環境で。
OpenOffice.org and ODFDOM with JRuby
まずはテストデータを作っておきます。一番いじりたそうなスプレッドシートのドキュメントを作って、適当にいくつかデータを入れておきます。
OpenOffice.org and ODFDOM with JRuby
次にこの手のドキュメントも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が出てき始めているのはとても楽しみです。今後の発展に期待しましょう。

木曜日 5 22, 2008

HudsonをMacのデスクトップに, その2

この間Macアプリ化してみた継続インテグレーションツールのHudsonですが、ようやく実行中の三角マークが出るようにできました。やり方はとっても簡単でした。
running hudson
HudsonにはJava Web Start版のHudsonがあるのですが、Java Web Start版ではグラフィカルなコンソールが立ち上がってそこにログが出力されます。このコンソールのメインクラスを読んであげるようにすればいいだけです。コマンドライン版のメインクラスがパッケージなしのMainだったのに対し、こちらはJNLPMainという名前のクラスです。
hudson gui
あとせっかくなので、最新の1.218をベースにdmg形式のパッケージも作ってみました。
Disk image for Hudson.app
欲しい方はこちらからダウンロードしてみてください。

Java CAPS 6とOpen ESBの違い

Differences between Java CAPS 6 and OpenESB (Jason Baragry's Blog)より。アクエリアムでも既に取り上げられていますが、良くご質問をいただく内容が含まれていますので改めて、こちらのエントリの内容をベースにOpen ESBやJava CAPSの位置づけを確認しておきます。
img098
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とも言えません。
img127
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:
  • Not all openesb components have been through the necessary QA to make them ready for production yet.
  • Not all openesb components are developed by Sun, so it is impossible for Sun to support them.
Java CAPS 6はとても大雑把に言えば、Java CAPS 5.1.x + Open ESBのいくつかのテクノロジを取り入れたものと言えます。ところが残念ながら最初のJava CAPS 6リリースではすべてのOpen ESBコンポーネントはJava CAPS 6に含まれません。それには次のような理由があります。
  • まだOpen ESBのすべてのコンポーネントが本番環境で利用するのに耐える品質保証作業が行われていないこと。
  • すべてのOpen ESBのコンポーネントがSunによって開発されたわけではないこと。このため、Sun以外の方々によってOpen ESBに寄贈されたり開発されたコンポーネントをSunがサポートすることができないこと。
When Java CAPS 6 is released, it will consist of some openesb components. For instance:
  • JBI runtime.
  • BPEL SE
  • HTTP BC
  • JavaEE SE
Java CAPS 6が最初にリリースされる段階で含まれるOpen ESBのコンポーネントには上記の通り、JBIランタイム、BPEL 2.0準拠のBPELサービスエンジン、HTTPバインディングコンポーネント、それにEJB等Java EEコンポーネントをサービスエンジンとして利用可能にするJava EEサービスエンジンがあります。
img124
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:
  • IEP SE
  • JBI BC & SQL SE
  • JMS BC
  • XSLT SE
  • File BC
  • others.
(note: I'm not in product management so this isn't an official list, just an indication)
製品担当マネージャではないので、との前置きがありますので上記リストは、参考程度にご覧ください。公式にサポートされるコンポーネントのリストは正式リリース時にリリースノート等で参照できるようになるはずです。Sunは2008年の残りの時間を使って、最初に挙げた基本的な4つのコンポーネント以外のコンポーネントについても本番環境に耐えうる品質で、Sunからサポートされるコンポーネントを"コンポーネントパック"としてリリースするつもりです。まだそれらがいつ頃でて、どのコンポーネントがパックに入るのかはわかりませんが、有力な候補は次のようなコンポーネントです。
  • IEP SE ... インテリジェント・イベント・プロセッサ SE。
  • JBI BC ... JBIに対するバインディングコンポーネント
  • SQL SE ... SQLのサービスエンジン
  • JMS BC ... JMSに対するバインディングコンポーネント。いわゆるMQとつなぐためのコンポーネントですね。
  • XSLT SE ... XSLTをサポートするサービスエンジン。XMLの書式を変更する場合等に使うエンジン。
  • ファイル BC ... ファイルアクセスのためのバインディングコンポーネント
  • その他

img119
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年より本格稼働を開始されるとのことです。
img113
さて、最初の質問に戻りましょう。
  • SunはOpen ESBをサポートするの?
  • Java CAPSはOpen ESBのサポートがつく版なの?
  • SunはOpen ESBに本気で取り組んでいるの?
最後の質問はシンプルにYesと答えられますね。あと残りの二つですが、以上すこし長くなりましたが、Java CAPS 6はOpen ESBの主要な部分をサポートし、残りの部分については準備が整い次第サポートするといった回答になります。すこし歯切れの悪い答えになってしまいましたが、シンプルにYes!と答えられるような方向に努力している最中だとお考えください。
About

okazaki

Search

Archives
« 4月 2014
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
今日