2007年12月26日水曜日

ロゴの作成

実は今、会社のロゴを刷新しようと考えていて、電車などに乗ってて何も出来ない時間は「あーでもない、こーでもない」と頭をひねっています。
そんな中、ジラッファさんが「giraffa labs」でロゴ製作の流れをとても丁寧な内容で公開されているのを見つけました。
http://giraffa.heteml.jp/wordpress/2007/11/28/design/92

こういう「過程」が公開されるのは非常に有益ですね。
参考にしてみよう。

2007年12月22日土曜日

エンタープライズ・マッシュアップ

「マッシュアップ」というキーワード、ボクはこのキーワードが大好き。
でも、無理はしないでほしい。

マッシュアップが「システムの断絶」を解消する

エンタープライズ・マッシュアップ。なんだそりゃ。
言葉としては随分と以前から存在していることは、ググると明らか。
しっかし、SOAやらSaaSやらと、何が違うんだろう。結局、言いたいこと、やりたいことは方向性として全部同じなんだろうけど。
それが内部サービスの組み合わせなのか、外部のサービスも含めた組み合わせなのか、というとことが違うだけで。

で、ボクが「無理はしないでほしい」というのは、「エンタープライズ」という言葉がつくとセキュリティやシステムトラブルの際、必ず「責任分解点はどこか?」という問題が出てくるから。
AというサービスとBというサービスをCというエンタープライズマッシュアップのフレームワーク(?)で構築してそれを利用している際、セキュリティ上の問題やトラブルが発生した際に「何が悪いのか」を簡単には特定しにくくなる。
Aが悪いのか、Bが悪いのか、Cが悪いのか、AとCの組み合わせが悪いのか、BとCの・・・
最初にきちんと想定されるリスクとその責任分解点を把握し、それをサービス提供者、利用者などのステークホルダーが互いにグリップできていなければ、こんな話になるのが目に見えている。

ボク個人の感覚としては、マッシュアップはもっと気軽に扱われるべきで、「エンタープライズ」なんて言葉はつけなくていいと思っている。
「あれとあれ、組み合わせたらちょっと便利そう」ぐらいの語感を保った言葉であり続けてほしい。
#ここで、サラっと「こんな感じ」ってサンプルをJavaWebStartとかで見せれると、このエントリーにも説得力が出るんだけどなぁ…(:_;)
作りたいと思いつつ、企画がFixせず放置しっぱなし。


さてこのマッシュアップ、技術的な観点から見ると「サーバ側で組み合わせてクライアントへ提供する」というのが常識のようだけど、クライアント上で組み合わせてもいいと思う。
というか、利用しているサービスがクライアントで動いていようがサーバで動いていようが、それがどこで組み合わさっていようが関係ない(気にしない)環境が良い。
そしてこれをやろうと思うと、前述のように「エンタープライズ」という冠は重過ぎる。

最初に紹介した記事で、「電子メールを中心に」というのは大いに納得した内容だが、そこからさらにユーザが繋ぎたい基幹システムを選んで利用できるかというと、そこはまだクリアすべき課題が山積み。
いずれ技術的に、あるいはビジネスの仕組み的に解決されるときは来るだろうけど。

最近気になっているニュース等

最近気になっているAdobeさんのニュースを付箋代わりにペタっと。

"Enterprise RIA"を推進するアドビのオープンソース戦略

やっぱり新しい技術や概念の裾野を広げるには、オープンソース戦略というのが効果的なんだろう。
「まずは無料で気軽に触ってみることができる」というのは、今や常識。
そろそろウチも真剣に取り組まねば。

伝統的なソフトよりも、SaaSの方が優れている

SaaSのUI部分として普通にAIRなどのRIAを取り上げているところ(Webブラウザに拘るわけではなく、という意味)が非常に共感できる。
なんでもかんでもWebブラウザで、ってなると、最終形は「Webブラウザの中でOSが動いている」という状態までいくんじゃないかと。そうすると、OSの役割はなんだ?とかブラウザOSの中でMDI的にWebブラウザが動いたりするのか?とか本末転倒な混乱をしそうでオモシロイ(笑)。


あ。「AIR」って「RIA」の逆さ読みなのか・・・今気付いた(--;

それにしてもWebブラウザ上で利用できるPhotoshop(Photoshop Express:開発中)ってスゴイ。完成したら是非とも触ってみたい。

2007年12月17日月曜日

オープンソース周辺ビジネスに一つの答え?

このブログでも物議を醸した(ウケは良かったけど削除に追い込まれた)ワイズノット社が、民事再生手続を開始しました。

http://itpro.nikkeibp.co.jp/article/NEWS/20071214/289568/

思ったよりは長持ちしましたが、とりあえず一区切り付きましたね。

さて、このニュースは世間にどう映るのでしょうか。
ちなみにここで言う「世間」とは、ワイズノットの他多くの企業が活動を行う企業社会とでも言いましょうか。大雑把に括ってIT業界、およびITを活用する企業の集合である産業界というのをイメージしています。

ワイズノットは、HPによると「オープンソースに専門特化し、先駆者となってきた」というのが売りだそうですが、IT業界には当然そう映っていないことは置いておいて、いわゆるITを活用しようとしているユーザ企業からすると、コストメリットが高く機能的にもビジネスに耐えうるようになってきた流行の「オープンソース企業」と映っているのではないかと思います。

そしてこのニュースを受け、その「オープンソース専門特化企業」が民事再生手続開始しちゃったんだから、見え方としては「オープンソースってビジネスとしてはダメじゃん、オープンソースはやっぱり安心できない」という判断を生んでしまうのではないかと思います。

上記のようなユーザ企業の方がいらっしゃったら、まずはここでその誤解を解かなければいけません。

まず、「オープンソース企業」と一口に言っても、開発している立場なのか、使っている立場なのかで大きく異なります。

ワイズノットは典型的な後者、つまり世にリリースされているOSSという英知を利用して、システム開発をする会社です。

前者の企業は、例えば先日このブログでも出しましたが「SugarCRM」をリリースしているケアブレインズ社。ここは、米国のOSS「SugarCRM」の日本のリセラーという立場ではありますが、社長がSugarCRMプロジェクトのボードメンバーとして参加しており中心にいること、さらにコミュニティを運営しつつ、開発も進めていることから、OSSを開発・リリースしている企業と言えます。

通常、オープンソース企業というと(ボクの感覚では)このケアブレイズ社のような前者を指しており、「あるOSSプロジェクトへのコミッタあるいはボードメンバーが中心にいて、そのOSSを中心にビジネスモデルを描いている企業」と言えます。(ここはボクの持論につき異論も出そうなので、是非コメントをお願いします)

この定義でいくとすると、ワイズノットさんはいわゆる普通の受託開発会社さんなんですが、商材としてオープンソースを使っていたので「オープンソース企業」と名乗ってる(た)んですね。(同社でOSSとして有名な人というと、masuidriveさんぐらいじゃないでしょうか。)

この両社にはビジネス面でも技術面でも大きな違いがあるんですが、それをごちゃ混ぜにして「オープンソースは不安だ」と一般企業の方々に勘違いされてしまうのではないかと、ボクは非常に危惧しているわけです。

特にビジネス面の違いを挙げるとすると、例として挙げているケアブレインズ社の場合は、元々コンサルティング会社なので「SugarCRMそのもの」をライセンシングして利益を出すというよりは、SugarCRMをベースに付加価値としてコンサルティングサービスを提供することをビジネスモデルとしています。

これに対してワイズノットは、(これ以降かなりの推論です)いろいろなOSSを担ぎ出してきてサービスメニュー化してはいますが、結局システム開発を受託してその内容に合うOSSを使って開発している形となるので、ビジネスモデルはあくまで「受託開発」。
そして、OSSオンリーの受託開発、特に技術力のない企業がやろうとするとサポートメニュー等をよほどしっかり立てない限りは利が出ない分野ですので、どちらかと言うと利益が手堅い派遣業にシフトしていき(ワイズノットの社長さんはもともとリクルートHRの方なんで、最初からそれを狙っていたのかもしれませんが)、とにかく大量に人を雇って派遣する、というスタイルになっていったわけです。で、大量に人を雇うのはいいけど、採用コストはそれだけかかるし、しかも専門職なので教育コストもかかります。そうこうしているうちに、今回の事態となってしまった。

つまり、今回のニュースの受け止め方としては「オープンソースビジネスで失敗した」のではなくて、「受託&人材派遣業で失敗した」と見るのが正しいわけです。


とりあえず、今回のニュースは業界全体にとっては(個人的に)とても良いことだと思います。

2007年12月16日日曜日

JavaFXでHello GUI

JavaFXの続き。
Hello Worldは書けたので、次のステップへ。
とりあえずCodeZineで初心者に優しそうなページを見つけたので、そのまんまトライ。
http://codezine.jp/a/article/aid/1448.aspx?p=1

おぉ、図形描画も簡単だ。


画像ファイルの描画もすげー簡単だ。



やっぱり、Swingよりも全然ラク。
文法に慣れるのに時間がかかりそうだけど、
慣れてしまえば断然コッチの方が良さそう。

あと、バインドはやっぱり便利!
モデルクラスの属性をイジったら、バインドしている部品に自動的に反映されるんで、想像するまでもなく画面系の開発が相当ラクになりそうです。

さて、次はJavaFXサイトで紹介されているデモのようなものを…。

さて、何か面白くて実用的なものでも作ってみようかな。

2007年12月13日木曜日

ubuntu 7.10 desktopをVMWareで

このところ大人気のubuntuをisoイメージで落としてきてCDに焼いたので、VMwareにインストールしてみようとトライ。
以前からもっていたVMware 4.0.5に入れようとしたところ、インストーラでKernel Panic。
実は以前からSUSEやCentやTurboをVMwareに入れようとトライしているが、毎度インストーラでKernel panicになって全然インストールできない。
【追記】調べたところ、Kernel 2.6のサポートはVMware 4.5 laterだった…。

そこで、ubuntuのHP記載内容に素直に従って、最新のVMware Playerをインストールすることに。
ubuntuの最新7.10は、HTTPではtorrentファイルしか配布していない。

torrent。恥ずかしながら、今回初めて知りました。いかんせん、P2Pソフト等は一切利用しない主義なもので。
しかし背に腹はかえられぬ。BitTorrentをダウンロード、インストールして、BitTorrentでzipをゲット。


めでたくzipをゲット完了。


以下は、ubuntuのHPに書いてある情報に、ボクが実際にやった時のキャプチャをつけただけなんであんまり役には立たないと思いますが、こんな感じなんだ、とイメージしたい方向けに。

zipを解凍。さすがに解凍には結構な時間がかかる。
解凍が終わったら、VMware用の「vmx」ファイルがあるのを確認。


VMware Playerを起動!


「開く」で、先ほどのvmxを指定。


VMwareの起動ロゴが表示され、しばらくするとubuntuの起動画面が表示される。


まずはセットアップ画面が表示される。キーボードやタイムゾーンなど、通常のLinuxインストールとほとんど同じ。ユーザー情報を入力した後、やたら長いこと待たされるが、あせらずじっくり待つ。


仕切りなおしたように画面が再表示され、ubuntuのログイン画面が表示される。


先ほど作成したユーザでログイン。ネットワーク設定も済んでおり、FireFoxでいきなりネットサーフィンできちゃいました。そして、意外とサクサク動きます。



とりあえず、ようやくLinux Desktop環境が出来たので、これでいろいろとまた試す土壌ができた。
ふぅ、長かった…。

【追記】
画像が見事に切れて表示されてますね…。
とりあえず雰囲気はわかっていただけると思うので、そのままにしておきます。

2007年12月12日水曜日

SI企業の研究開発部門がやるべきことは?

昨日、Linuxコンソーシアム サービス部会のセミナーが終わった後、同部会のリーダーである日立システムアンドサービスの吉田さん、およびコンソーシアム事務局長の3人で飲んだ。

吉田さんは、ボクが今身近にいる諸先輩の中で(勝手に)一番注目している方。
そんな吉田さんから非常に興味深い話を伺った。

「プロダクトを持っている企業の研究開発部門がやるべきことは当然わかりきっている。では、SI企業の研究開発部門は、どんな姿勢で何をやるべきか?」

そういったことを習いに、会社のメンバーを連れて他の企業に勉強しにいったりしている。
結論的には、ソフトウェア工学だとか、いかに効率よく開発するか(開発生産性をあげるか)といったことになるとのこと。簡単にしか聞けなかったけど、もう少し掘り下げて聞いてみたい内容だと思った。

そして、このテーマの設定の仕方が、すごく感覚が優れているな、と感嘆した。

他にも、たくさんの有意義な情報に触れさせてもらえた。
あらためて、情報を発信する人のところに情報が集まる、ということを実感できた非常に良い飲み会だった。

2007年12月11日火曜日

今さらながらLinuxコンソーシアムDay発表内容

今さらですが、先月22日に開催されたLinuxコンソーシアムDayで、ボクがリッチクライアント部会プレゼンで使用した資料を公開します(一部手直し)。

ほんと今さらですいません。
発表用資料(PDF)

2007年12月8日土曜日

JavaRebel

ZDNetのニュースで「JavaRebel」というツールが紹介されている。
Javaで動的なローディングを実現する「JavaRebel 1.0」:記念アニメも公開

記事によると、
「JavaRabelを利用すると、新しいメソッドやフィールドを含めたJavaクラスへの変更を、再デプロイ、再起動することなく、リアルタイムにリロード可能である。また、スタンドアロンのJavaアプリケーションを再起動することなく、クラスへの変更を反映することが可能だ。」
とのこと。

ムム。これは「IdbA」の特徴的機能とモロにかぶるのでは…?

と思いましたが、デモンストレーションのムービーを見ていると、Tomcatを使ったWebアプリでの使用例が紹介されていて、Javaコードの編集内容が即座に実行環境に反映されるってことで、やっぱり「IdbA」とは明確に異なるようです。
IdbAは、アイコン化された機能をユーザが選択できて、手元でインスタンス化できるので、レイヤーが違うようです。そもそも、製品コンセプトが違うんだろうけど。
記念公開されたクールなアニメを見ていても、やはりWebアプリ実行環境での利用シーン(Deploy時間の短縮)がターゲットなのかな?


試用版があるみたいなので、ちょっと試してみよう。
(時間があれば・・・!)

2007年12月7日金曜日

JavaFX で Hello World!

ようやく、JavaFXを触る時間を作ることができました。
というか、いつまでたっても触れないから、仕事そっちのけです。


とりあえず、実行するためにJavaFXをダウンロード。
[OpenJFX]
https://openjfx.dev.java.net/ja/

上記ページで「ダウンロード」>「tar.gz or zip」と進み、
お目当てのzipをゲット。

展開した中の「trunk」フォルダを学習用のソース置き場として
HelloWorld作成開始。

[HelloWorld.fx]--------------------------------------

import javafx.ui.Frame;
import javafx.ui.Label;

import java.lang.System;

Frame{
title: "Hello, World!"
width: 160
height: 80

onClose: operation(){
System.exit(0);
}

content: Label{
text: "<html><h2>Hello, World!</h2></html>"
}

visible: true
}
----------------------------------------------------


HelloWorld.fx というファイル名で保存したら、
コマンドプロンプトで「trunk」へ移動して、実行。

java -cp lib\*; net.java.javafx.FXShell HelloWorld

おぉ、なんか出てきた!
RIAとはとても呼べないシロモノが!(笑)

まぁ、HelloWorldでRIAっぷりをいきなり表現するのも
大変ですが。


とりあえず、既に公開されているNetBeans等IDEのプラグインは
使わずに作ってみました。
(いきなりIDEとか使うと、根本の仕組みが理解できなくて
 逆にハマる、という信念のため)

NetBeansやEclipseのプラグインが出ていますが、
調べると「JFX Builder」という、そのものズバリなものも
ありそうです。

[JFX Builder]
http://www.reportmill.com/jfx/


とりあえず今日はここまで。
IdbAのUI構築用にもっていくまでは、まだ時間がかかるか…。

雑感としては、Appolo(現AIR)で「こんにちは世界」した時の方が
簡単だったような印象。
あくまで、印象。
Apolloでどんなことをやったか、すっかり忘れてしまったので…(--;

2007年11月27日火曜日

今さらWeb 2.0 Expoのメモ

ちょっと遅くなりましたが、15日、16日に開催された
Web 2.0 Expoで気になった技術をメモ。

といっても、ボクは自社のブースにほとんど磔の刑だったので
HOWSさんのところしか行けませんでした。

が、行った価値はあったな、と。

「ISSEI」。
「データベースみたいなもの」と紹介されたんですが、
この技術(というか、発想)には正直度肝を抜かれました。

あ~…。あぁ~…なるほど…。

これが説明を受けたときのボクのリアクションの全て(笑)。

概要。
大量のデータ検索に際して、データをOracle等のDatabaseに
格納するのではなく、OSのファイルとして作成してしまう。
しかも、データの内容をファイル名にして。
こうすることによって、非常に高速なデータ検索を行うことが出来る。
なぜか。

OSのファイル検索機能を使うから。

OSは自身が持つ全ファイル名をキャッシュしているため検索が速い。
しかもオーバーヘッドが発生しない。
さらにDatabaseソフトとは異なり、フラグメンテーションも発生しにくい。

なるほど。OSの機能をそのまま使うとは、反則というか、頭いいというか、
なんせ度肝抜かれました。

ツールとしては、データをファイル展開するツールや、検索するための
フレームワーク(?)を用意していて、それをまとめて「ISSEI」と
呼ぶそう。

場面によっては、大いに広まる技術なんじゃないか、と思います。

2007年11月13日火曜日

久々に技術系の本を買った

いや、技術系の「本」ではなくて「雑誌」か。
技術評論社さんの「Java Expert #02」を
突発的に購入。


最近、営業色が強くなり過ぎていて技術からの
離れ方がヒドイ。
本当は現時点でマーケをやりたいけど、
結局営業色ばかり強くなって困ってしまう。

どうにかしようにも、組織的なところもあるので
こればかりはすぐにどうにかなるものでもない。

で、あせらずじっくりマーケへの道筋を考えている
わけだけど、技術系の設計技法だとか思想的な
ところを言い表すバズワードをこねくりまわして
表面だけで勢い作るようなマーケッターには
なりたくないので(別に特定の人を指したりは
してませんよ。念のため)、やはりベースに技術に
通じる部分というのは持っておきたい思いがある。

その結果、衝動的にJava Expertを購入してました。

突発的、衝動的といっても、実は
・IdbAに絡ませたいJava陣営のRIA技術「Java FX」の
 特集が組まれていたこと。
・Java SE7等、最新のトレンドの特集が組まれていたこと。
 (今後のIdbA製品企画と大きく関わってくるから)
など、それなりに理由もあったりします。

まだ時間がなくてあまり目を通せてないけど、
気になる記事があればここでも展開していこうと
思います。


前回のエントリー、あまりにカッコワルイ内容だし…。

2007年10月13日土曜日

あま~いクリームのセミナー

昨日、品川コンファレンスセンターで開催されたSugar CRMのサミットに行ってみた。
米国からボードメンバーが来て講演するとのことなので、本当は開始時間の13:00から聞きに行きたかったんだけど、どうしても仕事が午前中で片付かずに結局15:30の第二部開始時間を少し過ぎた頃に到着。

コンファレンスセンターに到着すると、コンシェルジュの女性が声をかけてきてくれました。
「お客様、どちらへ行かれますか?」
「あ、Sugar・・・」
「はい、Sugar Creamのセミナーですね、でしたらエスカレータをあがっていただいて云々」

シュガークリームって!
あれ?俺、スーツ着てRIMOWAのアタッシュケースもって、ケーキ作りセミナーに来たのか!?


で、結局17:00前に緊急の用事で事務所に戻らないといけなくって、セミナーはほとんど聞けませんでした・・・。

ざんねん!

2007年9月14日金曜日

雄ネコ飼育アプリ

http://journal.mycom.co.jp/news/2006/01/27/348.html

会社の同僚に教えてもらったんだけど、これすごいっす。
記事の一番最後にデモへのリンクがあって、いろいろ実際に
触れるんだけど、本当によく出来てる。

っつうか、最近のこういったツールはUIまでちゃんとデザインが凝ってて、エライ。
あるツールを使うかどうか(好きになるかどうか)ってUIの影響は大きいと思う。

と、なんだかデザイン方面の話にそれそうになりましたが、これはWeb開発やってるプロジェクトであれば使ってみるといいんじゃないでしょうか。
かなり開発(の最後の性能測定フェーズとか)、運用が楽になると思われます。

しかし、これでオープンソース(GPLv2)っていうんだからなぁ。

2007年8月26日日曜日

変換

Webページ用の各種“ブログパーツ”をサイドバーガジェットに変換できる

やっぱり、こういうのがないと。
手っ取り早く効果を知るには、こういう変換モノがいいですよね。
元のが壊れたりして失われる心配もないし、気軽に出来るし。

既存のJavaクラスをIdbA用コンポーネントに変換するコンバータが欲しい。
せめて、コンポーネントの作成をもう少し簡単に、とっつきやすくしたい。
まぁR2.0で用意したツールを使えば、営業のボクでもデモアプリを作れるぐらいだから、簡単っちゃ簡単なんだろうけど。

でも、VBコンバータなんか作って、猫も杓子もとりあえず既存システムを新技術用コンバータに突っ込んじゃえ、みたいなのは方向として間違ってると思う。
あるシステムを違う技術で作り直す時は、作り直さなきゃいけない理由があるんだから、単純にソースレベルで一致する機能に置き換えっていうわけにはいかない。新技術の特長を理解した人が、既存システムのウィークポイントをその特長で改善できるような設計が間に入る必要がある。
果たしてコンバータに、そんな意思が入ったコンバートができるのか?結局、コンバートされた結果を、目で追いかけて分析して意思を反映させる作業、手直しが必要になるんじゃないか?結局コンバータって、だから流行ってないんだと思う。

まぁ、現場レベルではその新技術に対する取っ掛かりとしていいかもしれないけど。

2007年8月24日金曜日

JavaでExcel操作2

XLsoftさんというところが、JavaでExcelを操作できる製品を出しているんだけど、いったい何がどうすごいのか全然わからない。。。
Impress Enterprise Watch記事

以前のエントリーで書いたPOIとかJExcelAPIとかのOSSで十分要件を果たせるのでは…。
やっぱりGUIデザイナの部分とかが「製品」ならでは、なのか?

でも、開発をするときにこういった(=JavaでExcelを操作する)業務と関係のない、システムのエンジンに近い部分を開発するのって、頭も使うし自分の技術や知識や知恵を一番発揮できるところだし、ここを取られてしまうと本当にあとは「仕様書に書かれた業務要件を満たすだけ」といった人海戦術的な仕事になってしまうような気が。プログラマーの仕事って、そんなつまんない仕事ではないはずだ。

だけどもだっけっど(小島義雄風)。

この時代、短期間開発がもはや常識だから、やっぱりこういうツールで手っ取り早く作るのが一番なのだろうか?短期スパンで考えればそれがいいんだろうけど、長期で考えればちょっと違う気がする。プロジェクトの初期段階では期間も予算も十分に確保できない、という現実はわかるけれども。

早くこの業界を3Kから脱却させたいもんです。
技術を知らない人間が、現場を知らない人間が、思い入れのない人間が、自分のことしか考えていない人間が、上に立ったり業界で大きな顔をしていたりしてはいけないんです。

2007年7月25日水曜日

富士フィルム2.0

富士フィルムさんが、実験サイトをオープンしたそうです。
Yahoo!ニュース

第1弾は、画像検索エンジン「TRIPIT(トリピット)」とのこと。今後3ヶ月程度のペースで新しい技術を公開していくそうです。素晴らしい。
同社の担当の部長さんの言葉。
「当社が開発した技術の中には、これまで社内では使い道が思いつかなかった技術もあるのではないか」
「実験サイトではユーザーの知恵を借りながら、こうした技術を次のフェイズに進められるようなことができればと考えている」
「Google MapsのAPIを活用したサービスが多数出ているように、APIを公開することでWin-Winの関係を築いていけるようにしたい」
まさしく2.0ですね。

自身の考えとして紹介されている「技術は使われなければ意味がなく、今回の実験サイトのようにポジティブな環境がなければ、将来的にインターネットのスピードに追いつけなくなる可能性がある」という言葉はグサリときました。


さて、ボクは営業のくせして先日(営業のために)JDIC使ってゴリゴリとプログラム書いたりしちゃって、せっかくIdbA上で動くブラウザコンポーネントを作ったので、富士フィルムさんのAPIも活用して何か作ってみようかなーとか思っています。まだアイデアないけど。

ところでJDICに関する日本語情報があまりに少なくて、基礎の基礎がわかってない人、手っ取り早く試したい人はツラそうなので、以下に入手方法とデモの実行方法をメモしておきます。

[入手方法]
以下から最新版をダウンロード。
https://jdic.dev.java.net/
にアクセスして、ページ内の「download」をクリックすると、バージョンごとに分けられたフォルダが表示されるので、最新版(現時点で0.9.3)をクリック。
右側にOS別にzipファイルへのリンクが表示されるので、自分の環境にあったものをクリックしてダウンロード。
とりあえずコレで入手は完了。

[デモの実行方法]
ダウンロードしたzipを解凍(eo等使ってる人は、「徹底解凍」はしないように!)。
解凍してできたフォルダの中に「demo」というフォルダがあり、ここにJDICの一連のコンポーネント用デモが入っています。
例えばブラウザのデモを実行したい場合は、Windowsならコマンドプロンプトで「demo」の下の「Browser」フォルダへ移動し、次のコマンドをたたくとブラウザコンポーネントが起動します。

java -classpath ..\..\jdic.jar;. -Djava.library.path=..\..\ Browser


以上、知ってる人が見たらバカにされてる気分になるようなメモでした。READMEに書いてる内容だから。
まぁそんなことはどうでもよくて、これが誰かの何かのお役に立てば幸い。

2007年7月18日水曜日

匿名さんへのお詫び

2ヶ月ほど前、5月30日のエントリーでLinuxコンソーシアムのパネルディスカッションについて、個人的意見をふんだんに盛り込んだレポートを書いていましたが、昨日コンソーシアム副会長から「運営委員のくせに何考えてんだ」とお叱りを受けまして(お叱りを受けてごもっともですが)、該当エントリーは削除することにしました。

同エントリーには、せっかくW社の元関係者の方から「匿名」ということでコメントをいただいていたのですが、エントリーを丸ごと削除したため、いただいたコメントも合わせて削除させていただきました。
匿名さんには、せっかくコメントを寄せていただいたのに、大変申し訳なく思っております。引き続き、ご意見ご感想等コメントいただければ幸いです。

というわけで、今後はきちんと「公の場」を意識したエントリーにしていきたいと思います。

ちなみに、このブログのPVが一気に通常時の50倍にまで跳ね上がりました…。げに恐ろしい。

2007年7月11日水曜日

JavaでDLL連携

先々週ぐらいの金曜日、Windowsネイティブなアプリケーション(DLL)を呼び出すIdbAのデモコンポーネントを作る必要があり、開発のプレイングマネージャー(PM)にお願いして作ってもらった。
IdbAから呼び出す、と言っても、このレベルの話だと即ち「Javaから呼び出す」ということになるので、Javaとネイティブアプリケーションを繋ぐためのJava標準ライブラリ「JNI」を使用して作成してもらった。
デモなのでお客さんに見せるわけだが、一番手っ取り早くDLLと連携していることをわかってもらうには何がいいだろう?と話し合ったところ、「Windowsのデスクトップ背景画像を変えるのが一番わかりやすいんじゃないか?」ってことで、Windows側で公開されている壁紙変更APIを呼び出すためのDLLをVCで作成し、それをJavaからJNIで呼び出すことにした。
このDLL作成自体は、ms2氏の協力のもあってサックリ出来た。
作成後、自分のPCで動作確認し、満を持してお客さん先へ行き、PCに入れて実際の動作検証。

動かない。

起動したコマンドプロンプトを見てみると、ワシャっと例外が発生している。
「このアプリケーションの構成が正しくないため、アプリケーションを開始できませんでした。アプリケーションを再度インストールすることにより問題が解決する場合があります」

どうやらVCで作成した自前DLLがこのメッセージを出しているらしい。
なぜだ。他のPCではまず間違いなく動くのに、なぜ肝心のお客さん先のPCで動かないのだ。
違いといえば、お客さん先PCはWindows XPのServicePack 1を使っている、ということ。

とりあえず持ち帰り、PMにも伝え、調査開始。こんな調査をするのはプログラムを書いていた時以来。
先のDLLが出したメッセージ「このアプリケーションを~」というメッセージそのものでググってみると、かなり沢山ヒットして、どうやら多くの人々が悩むポイントらしきことはわかった。
で、その人たちの出してくれた情報(大抵は質問掲示板のやり取り)を丹念に読んでいくと、どうやらコンパイルオプションがネックらしい。Visual Stadioで作成したコードをバイナリにする際、どういった形式でバイナリにするかっていうのをオプションで指定できて、「/MDd(マルチスレッドデバッグ)」ではなく「/MD(マルチスレッド)」、つまりデバッグモードではなくリリースモードでDLLを作成しないと、作成した以外のPC環境では動かないようだ。
ところがそれをPMに伝えたところ、「確かにリリースモードで作成した」とのこと。

もはや悩んでいても仕方ない、実際のお客さんのPCと同じ環境を作って試してみよう、ということに。ただしWindows XP ServicePack 1の環境を作るのは、なかなか難しい。空いてるPCを探し、素のWindows XPを探し、ServicePack1のCDを探し。
各所を駆けずり回り、すべてゲットしてOSインストールから開始。
時刻は既に21時。でも、これを解決しないまま土日を過ごすのはイヤなので、根気よく環境の作成を続ける。途中でPMが、「どうやらServicePack1だと、/MDでもダメで、/MTじゃないとダメっていう情報を見つけた」と。それでDLLを作り直してもらい、ようやく環境が出来上がったところで、まずは以前までのDLLを動かしてみる。
バッチリお客さん先の環境と同じ内容でオチた。
DLLを、新バージョンに差し替えて再度実行。

動いたっ!
動いたー!!
動いたぞーーー!!!

思わずPMと熱く固い握手。
そして、心底みなぎり、湧き上がる充実感。

マイクロソフトの罠のせいで、久々にアツい夜を過ごせました。

参考リンク:VCのコンパイルオプションのわかりにくい説明

http://msdn2.microsoft.com/ja-jp/library/2kzt1wy3(VS.80).aspx

2007年6月27日水曜日

Linuxコンソーシアム:サービス部会

たまにはコンソーシアムの別の部会にも参加してみよう、と思い、今日はじめてサービス部会に参加させてもらった。
http://www.linuxcons.gr.jp/service/service_index.html

サービス部会のスタンスとしては、参加者(社)のメリットを出すために「各社のサービス発表の場」としましょう、というビジネス面を強く出し、そうやって参加者(社)の情報を同じテーブルにのせた上で、サービスレベルの基準作りやマップの作成、というアウトプットに繋げていく、というもの。
ビジネス面を強く出す、といっても、そこはオープンソースに関わる著名な方々が参加している会なので、技術面や業界動向に関しても鋭い方ばかりですが。

部会での問題点は、やはり「情報共有」の手段で、リッチクライアント部会でも情報共有のためのインフラはあるけど、発信者が限られてしまって活用できていないのが現状。サービス部会でも、そこが悩みの種のようです。

いろいろと興味深い話を聞けて、参加して良かった!と鼻息が荒くなりました。
とりあえず、印象に残ったセンテンスを。

SugarCRMのリセラー、ケアブレインズさん:「自分たちの最大の競合は、無償版」
これを受けて、小田切さん:「Red Hatの最大の敵はFedora」
→無償版と有償版のデュアルライセンスの難しさを語る、最も短いセンテンスですよねぇ。

シリコンバレーでは、OSSビジネスのベンチャーに金を突っ込むのがVCのトレンド。
で、5年間でIPOまで行かなければ、ビジネスとして成り立たない、というのが常識のようです。
風土として、「価値があるものはビジネスする」。
日本だと、「儲けるものはビジネスする」。
どえらい違いですね。

MicrosoftとジョイントしてOSSをビジネスしているところが結構多い。
→スキームとしてはありだけど、「特許侵害については訴えません」みたいなセコいのはやめようよ。と小田切さん。確かに。

株式会社アシストの方とご挨拶。OpenOfficeを担いでビジネスを開始したそうです。挨拶ついでにお話させてもらったところ、MS-Officeからの乗り換えでビッグユーザーからの問い合わせが結構きてるとのこと。具体的な数字を聞かせてもらいましたが、開始してからの期間からするとビックリするぐらい多い数でした。デスクトップ分野でも、来るかOSS。

ソースが海の向こうにある商用ソフトを担ぐより、ソースの在り処がはっきりしているOSSを担ぐ方が良い。→確かに、その方が売る方も売りやすいし、買う方も安心。本国にもソースがないソフトってのはかなり多いらしいし。


残念だったのは、懇親会があることを知らなかったこと。事前に言ってくれてたら調整してたのに(涙)。

2007年6月14日木曜日

ナルトさん

今日、SODECのリッチクライアントブースに出展されていた
株式会社ジラッファの成戸社長を訪ねました。
上京してきて、初の国分寺!意外(とか言ったら怒られるけど)と栄えてるんですねぇ。

って、そんなとこに感心してる場合じゃない。

ジラッファさんは、Flashを得意とする会社。以前はAdobeのRIAコンソーシアムにも
入っておられたそうですが、とある事情でやめたそうで、その「とある事情」が
とても共感できて、一発で好きになりました。

あと、誰もが知ってる大きなところで大きな仕事をしたけれど、
それは間に挟まっているモノの都合上、表に出しては言えない。
「某大手~」とかいうのはイヤだから、一切出してない。
そんな姿勢も、技術者上がりの誠実さが滲み出てて、
「やっぱこうでなくっちゃ」と思ったり。

何かと大変な時期もあったそうですが、今こうして笑顔で仕事をされてるのは
成戸さんの人柄によるところが大きいんだろうなぁ、と思います。

今後、リッチクライアント部会にお誘いして、何か一緒に出来ればいいなぁ、
と思います。

あ。技術と全然関係ないエントリーになっちゃった。

だって、Interop行ったけど、全然オモシロそうなのないし~。

2007年6月7日木曜日

Java旧バージョンを手に入れる

今携わっている案件で、JREのバージョンが1.4.0_01固定!というのがある。今やJava 6(1.6)の時代に、まさかの1.4.0シリーズかよ!と思うが、こういうのは業務系では比較的よくあること。
既に業務でメインに使っているアプリケーションがそのバージョンに縛られているため、下手にアップデートできないってやつですね。

で、これまたよくあるのが、過去のバージョンの資産を手に入れるのが極めて難しいってこと。以前も、IE4系の特定のリビジョン番号をもったやつを手に入れるのに相当手こずった記憶がある。

今回も、Javaの1.4.0なんてどこで手に入れるんだよ~とか思いながら、バカ正直にSunのサイトに行ってみたら、見事に過去のバージョンがアーカイブされていて、選択してダウンロードすることができました。
素晴らしい、さすがサンマイクロシステムズ!
http://java.sun.com/products/archive/

こんなの以前からありましたっけ?もっと早く知ってりゃ仕事も早く終えることができたシーンを、いくつか思い出してしまいました・・・。

2007年5月21日月曜日

良さをわかってもらうには

やっぱり、モノの良さをわかってもらうには「サンプルを使ってもらう」っていうのが一番なんだろうなぁ。食べ物だって化粧品だって、まずは無料サンプルだもんね。

Ajaxで名を馳せるHOWSさんが、Ajaxを駆使したWebメーラーのベータ版を公開してますね。
https://ml.hows-ajax.jp/
従来のWebメールの1/3の表示速度で「最速Webメール」だそうです。
そう言われると触ってみたくなる…。
 →なかなか使いやすいかも…
  →これってAjaxで作ってんのか、使えるなぁ…
   →Ajaxっていいなぁ

おぉ!サンプルアプリの力は偉大なり!

早速登録してみましたが、使おうと思ったらいきなり「システムエラー」のダイアログが出てしまって、まだ使えてません…。
(ちなみに決してフリーメールではなく「メーラー」なので、既に使用しているメールサーバへ接続に行くものです)
また時間をおいて試してみようと思います。

やっぱり良さをわかってもらうには、実際に触ってもらうのが一番。
IdbAもせっかくJava Web Startで配信できるんだから、何かいいサンプルを考えてみよう。

2007年5月17日木曜日

SODEC初日

今日から東京ビッグサイトで開催されているソフトウェア開発環境展。今回、初めてリッチクライアントゾーンが新設されたので、リッチクライアント部会リーダーとしては、営業(勧誘)に行かねば!ということで初日から張り切って行ってきました(決してコンパニオンのオネーサン目当てではない)。

以下、雑感。

[アクシスソフトBiz/Browser] http://www.axissoft.co.jp/
リッチクライアントゾーンで、まず目に飛び込んでくる巨大ブース。ゾーン内で最大の18小間。向かいの富士通さんと対等に渡り合ってます。
以前、永井社長とお話させていただいた時は「リッチクライアントってキーワードも、ウチが作りましたけどどうですかねぇ。ちょっと違うかな、と思い始めてますけど」的なことをおっしゃっていたけど、ここへきてドカンですね。取締役の宮武さんにご挨拶させていただき、かなりブースもお金かけてますねぇ、なんてぶっきらぼうに尋ねたら「社運かかってますよ」なんておっしゃっていましたけど、秋にも大型の導入事例が出て来るそうで、自信に満ちておられました。
Biz/Browserは、数あるリッチクライアント製品の中でもとにかく「業務」に拘っていて、そのコンセプトのわかりやすさと実際の製品(部品)の業務アプリ開発における「気遣い」が、ここまでこの会社を成長させたんでしょうね(上から目線)。あと、ウィルコムと手を組んで早々にスマートフォンに対応して、業務の「現場」にリッチクライアントを持ち込んだこと、ハンディターミナルにさっさと対応してHTメーカーと手を組んで市場を獲得したことも大きい。
オフレコで、宮武さんからこれまたインパクトのでかいお話を聞かせていただき、「すごいですねぇ!」なんて言いつつ、ウカウカしてられん…と思ったり。でもリッチクライアント自体の認知度が上がって普及されていくのは大歓迎だし…と思ったり。

肝心の技術的なところで言うと、リッチクライアント部会でいろいろと最新情報を聞いているのでボク的に特に目新しいものはなかったかな。

[カール] http://www.curlap.com/
リッチクライアント部会のもう一人のリーダー、梅村さんに会いに行く(梅村さんが来てるのかどうかも知らず)。ブースへ行くと、運良くすぐ発見!ちょうど経営分析ツールのセッションをやっているところだったので、参加(梅村さんから「セッションに参加してアンケートに答えると、抽選で松坂のユニフォームが貰えますよ!」なんて言われてしまったら、セッションを聞かないわけにはいかないw)。
セッションのデモで見た経営分析ツールは、さすがカール!という得意分野が全面に出たものでした。基本的に画面は4分割されていて、綺麗な画面の仕上がりと、再配置可能な自由度の高いインターフェース、マウスの動きにあわせて反応するメニューなど。4分割されたそれぞれの画面の情報は、相互に連携できるのかな?といった疑問が湧きつつ、質問するのを忘れて抽選券をもらうために梅村さんに案内されるまま引換券と、おやつのカールをゲット。数あるノベルティの中で、やっぱりカールが一番エッジ効いてます(w)。

[セカンドファクトリー] http://www.2ndfactory.com/
インパクト大。Silverlight(Windows VISTAに標準搭載の「.Net Framework 3.0」の一部としてプレゼンテーション層全体を担う基盤テクノロジ。以前はWPFと呼ばれてました)を使ったデモを見せてもらいましたが、グリグリとした3Dがサクサク動く。やっぱりOSネイティブだと速いな。
この会社さんは、FlashとかSilverlightを使ってRIA(Rich Internet Application)のコンサルから構築までをやっているそうで、デザインと開発技術の融合がテーマのようです。「お互いのマインドを理解することが大事」とは確かにその通り。プレゼンは最初の掴み~前半10分ぐらいまでは良かったけど、途中から期待していた内容からそれてしまったので途中で抜け出してしまいましたが、UIに対して強烈な拘りのある会社さんだということはヒシヒシと感じました。

[ガジェットプラス] http://www.gadget-plus.co.jp/
アプリケーションのフロントエンドをExcelにしちゃおうっていう割り切りと思い切りの良さは「買い」です。Webアプリケーションの、ブラウザ部分がそのままExcelに取って代わっちゃうという。一応ブラウザ内部で動くみたいで、ブラウザに専用プラグインを入れると、JavaScriptでExcelオブジェクトを触れるようになって、画面にはExcelそのものが表示されるけど、データとかのやり取りはWebサーバと出来ちゃうそうです。
「印刷プレビューが出来ない」という欠点はありますが、それ以外はExcelの機能をそのまま使えるので、ハマる場所ではハマるんじゃないかな?
表示したExcelをクライアントに保存できるのか?とか、クライアントのリソースも参照できるのか?とか、画像系はどうなるのか?等、後から疑問が湧いてきたので、また今度行って質問してみようと思います。

[ジラッファ]
FlashとFlexが得意な会社さんだそうです。代表の成戸さんに説明していただきました。偉そうな言い方をすると、ものすごく良いキャラの方で、見習わなければいけない腰の低さとキャラクターでした。
Macで動いているデモを見させていただきました。2週間ぐらいでデモ用に作ったそうなのですが、普通に業務パッケージにしたら当たるんじゃないかと思いました。ウチがやってるところに追加でくっつけてくれないかな~なんて無理なお願いをしておきました。
今後、注目してみたいと思います。
(ブースにいたモデルみたいなお姉さんが、コンパニオンなのか社員なのか…確認できず終い…)


後は、IdbAと仲良くしてくれそうな会社さん探しに終始。ウィングアークも見ましたけど、ウィングアークさんはいくら声をかけても全然反応してくれないのでもういいです、スネましたボク(w)。

そうそう、カール梅村さんのご紹介でNexawebの方ともやっと繋がりました。これからいろいろ勉強したいと思います。


とりあえず、初日はそんなところでしょうか。一応最終日も行こうと思ってますが、とりあえず今日はカールでもらったカールわさび味を食べて寝ます。おやすみなさい。

2007年5月6日日曜日

RSS配信環境整備の続き

エンコードについては、前回ms2さんから教えてもらった通り「Shift_JIS」でエンコード指定してやったらうまくいきました。これで無駄なエンコード処理はカット。
で、運用してみるとやっぱりアップロードが面倒。どうせなら作ったXMLを自動でサーバにアップしたい。
というわけで、懐かしの「BASP21」をインストールして、XMLファイル作成後にFTPでサーバにアップする処理を追加。

'引数で指定したローカルのファイルをFTPでアップするぜ
Public Sub DeployRSS(strFileName As String)
Dim FTP As Object
Dim rc As Long

If Dir(strFileName) = "" Then
MsgBox "送信するファイル[" & strFileName & "]が見つかりませんでした。"
Exit Sub
End If

Set FTP = CreateObject("basp21.FTP")
'接続(SERVERNAME等には適切な値をセット)
rc = FTP.Connect(SERVERNAME, USERNAME, PASSWORD)
If rc <> 0 Then
MsgBox "接続できませんでした。", vbCritical
FTP.Close
Exit Sub
End If

'送信。第二引数にはアップ先のディレクトリを指定。基本、上書き。
rc = FTP.PutFile(strFileName, "/" & USERNAME & "/")
If rc <> 1 Then
MsgBox "送信できませんでした。", vbCritical
FTP.Close
Exit Sub
End If
MsgBox "送信しました。", vbInformation
FTP.Close
Set FTP = Nothing
End Sub



あー、なんて簡単。
BASP21様様です。

あとは、リストした先にping送信する機能をつければ一通り完成。
というかここまでやれば、何気に使えるモノになりそうな気がしてきた。

2007年5月3日木曜日

むりやりRSS配信環境を整備

本流サイト(ぼや記)は、Blogが登場する前のいわゆる「テキストサイト」という呼び方が一般的だった頃からやっているので、RSS配信なんてとてもじゃないけど出来ない。
これは不親切だ!というわけで、RSS配信できるように考えてみました。考えてみたところで、結局は自分のサイトの情報をXMLにするしかないので、とりあえず手っ取り早くExcel VBAで日記ファイルを読み込んでサマライズしてXMLに吐き出すことに。
RSS2.0の仕様を調べ、実際にgooブログで配信されているXMLのフォーマットを確認。自身の日記ファイル(HTML)は、フリーのツール(日々日記)を使って作っているので、日付やタイトルの抜き出しは簡単。あとは整形して出力すれば終わり・・・かと思いきゃ。
文字コード。Excel VBAで出力したファイルはShift_JISで作成されるけど、XMLはUTF-8にしなきゃいけない。
でもとりあえずこれも引数で文字コード指定すりゃいいんだろう?と思いきゃ、これが単純にはいかなかった…。
結局、参照設定を追加(Microsoft ActiveX Data Objects 2.5以降ならOK)してADODB.Streamオブジェクトを使うことにしました。
既に書いたコードを直すのは面倒なので、Shift_JISで出力したファイルを読み込んで文字列変数にすべて突っ込み、それをADODB.Streamオブジェクトでコード変換して書き出すことに。ただの個人ツールなんでリソースのことなんて考えません。

Dim stm as ADODB.Stream

Set stm = new ADODB.Stream
With stm
.Open
.Type = adTypeText
.CharSet = "UTF-8"
.WriteText strBuff 'ファイル内容をすべて突っ込んだ文字列変数
.SaveToFile "index.xml"
.Close
End With

Set stm = Nothing

こんな感じで簡単にUTF-8に変換できました。
まぁおかげでながーーーい一行のXMLになっちゃいましたが・・・(^^;)

とりあえず、日記を書いたらこのExcel VBAを走らせて、FTPでまとめてアップ。という運用。
あー、めんどくさい。

2007年5月2日水曜日

Web 2.0のインターフェース

Web2.0というのは、「インターネットをインフラとして捉え、その上に皆で何を構築していくか、そのフィードバックをいかに限られたリソース(時間・場所)で効率よく活用するか、そのサイクルの仕組み」ということだとボクは理解しています。
ということは、インターネットという目に見えないインフラを視覚的に捕まえることができないといけないんですが、それはブラウザおよびAjax等に代表されるブラウザエンジンが提供するUIだけで提供できるのでしょうか?

確かにGoogleが目指すように、すべてがインターネットの「あちら側」にあったら、どこでも利用できる可能性は高まりますが、だからといってすべてを解決しているわけではありません。

視覚的にインターネット上に流れるコンテンツを捉えるには、ブラウザおよびその周辺技術(Ajax等)だけでは不可能とは言わないまでも、かなり無理があると思います。

具体的には・・・Web 2.0 Expoまでに内容がまとまれば、会場でお話します。
まとまらなければ・・・コラムとしてどこかで執筆したいと思います。


という、ぼや~っとした問題提起だけで終わるという、なんともチュウブラリンなエントリー。
申し訳ありません、まだしっかりと頭の中の整理、およびそれを言葉にすることができていないもので…。

2007年4月25日水曜日

名作ソフトの作者さん

ちょっと技術そのものからは離れてしまうけど、今日仕事で「ファイナンシャルプランナーが作った家計簿」というソフトの作者さんと会うことが出来た。 ボクはこのFP家計簿、もう5年ほど前から愛用している。
(と言っても結婚してからは家計簿をつけるのが奥さんの仕事になったので使ってないけど・・・)
とにかく、かなり有名なソフトなので使ってる方も多いと思う。

この作者さん、もともとは田町にでかい本社ビルがある、誰でも知ってる超ビッグベンダーのハード系技術者だったそうで、途中でマーケティングに興味をもち、転向して壮大なコンセプトを実現するために作ったのがそもそものきっかけだそうです。

自分が愛用していたソフトの作者に会えるっていうのは、思いの他興奮するもんですね。作者さんはいたって冷静(シャイな感じ?)でしたけど、とても感じの良い方で、でもさすが勘所が良いってのとポリシーがしっかりしているところは、素直に素晴らしいと感じました。

これから、仕事で良い関係を築いていけたら嬉しい。

2007年4月24日火曜日

JavaでExcel操作

もう3年~4年ほど前に、Javaで構築したWebアプリケーション(フレームワークはStrutsを手軽に使えるように改造したものを使った)で、お客さんから「帳票はExcelで開きたい」とのリクエストがあったので、Jakarta の POIを使った。

で、現在リリースしているアプリケーションで「帳票機能の強化」というミッションがあるので、そのとき使った「Excelで雛形を作って、値を動的に差し込んで帳票として完成させる」ってのが使えるんじゃないかってことで提案してみたら、POIとは別にJExcelApiというのがあるってことを教えてもらった。

Excel操作に特化したAPIだけあって、POIよりも使いやすいとの話。で、さらにJooConverterってのを使えば(OpenOffice.orgの機能を使って)PDFにも変換できちゃうとか。すげぇ。昔はPDF変換といえば「Hobbit'sPDF Library」ってのがあった(今もあると思うが)。俺が使ったことあるわけじゃなくて、同僚が使ってたのを見て「へぇ~」って言ってただけだけど。

これらが全部オープンソースだっていうんだからスゴイ。フレームワークやIDEもいまやフリーが当たり前の時代、恩恵を受けることもとても多いけど、パッケージ販売を生業とするベンダーは複雑な心境でもあり・・・。

2007年4月23日月曜日

Apolloさわってみた

AdobeのリッチクライアントApolloのパブリックアルファ版を落としてみました。
HTMLからアプリっぽいものを作れるってのは確かに楽だ。
しかもOSに依存しないし、配布や自動更新も簡単ときた。
ローカルリソースへのアクセスだって出来るらしいし、
インストーラやアンインストーラだって簡単に作れる。

Flexを触ったことがないから、何をどこまで出来るのかわからないけど、
簡単に作るっていう意味では魅力的だ。

ウィンドウ有り、無し、透明な背景なんかも設定ファイルで出来るみたい。
Yahoo!ウィジェット(コンファブレーター)が簡単に作れるよ
ってことか?

最終的には、UI側を設定でいじくれるようにして、各ウィンドウ
(コンポーネント)間のデータやイベントのやり取りを
名前に依らずに連携できるようなコーディングが簡単に
出来ればいいんだけど。
IdbAがエンジンとして連携部分を担当して、画面部分は
それこそHTMLを書けば出来ちゃう、みたいな。

これについてはまた今度深く掘り下げてみよう。

2007年4月22日日曜日

SOAP over HTTPS

SOAP over HTTPは既に開発・運用したことがある人も多いと思うけど、
意外とHTTPSに乗せてSOAPった人って少ないんじゃない?
と思う事件が発生。

JavaでSOAPっちゃおうと思うと、とりあえずApache Axisが一般的だと思います。
で、実際にAxisを使ってHTTPSに乗っけてSOAP通信しようとしたんだけど、
なぜかうまくいかない。

よくよく調べてみると、Axisの通信ロジック部分が、
Sunのライブラリが提供するネットワーク実装を使わず
自前でSocketを作っているためと判明。

というわけで、通信部分をブリッジするように修正して何とか
SOAP over HTTPSを動作確認完了。

ライブラリは便利だけど意外なところで落とし穴があるので、
やっぱり基本はしっかり押さえておかないといけない、という
教訓がピッタリと当てはまる事件でした。

ちなみにこれも先のエントリーで書いた開発メンバー
(というか開発マネージャー)が発見、解決してくれたものです。

2007年3月30日金曜日

Javaの証明書の管理

Java Web Startは、なかなか素晴らしい機能だと思う。
最初リリースされた頃は、いったい何なのかさっぱりわからなかったけど。

今日は、以前Java Web StartでJavaアプリケーションを配布した際に
発生したトラブルと、その原因を書き綴っておこう。

WebサーバからJWSを使ってSSLでJavaアプリケーションを配信する際の話。
「安いから」という理由でベリサイン等の大手ではなく某社のサーバ証明書を
使用したところ、JWSでの配布時に「信頼できないサイト」との警告が表示されてしまった。
「そんなバカな!きちんと金を払ったのに!」
と思ったが、とりあえずテストを進めることを優先し、表示されたセキュリティ警告の
ダイアログで「常に信頼する」にチェックを入れる。
その後、アプリがダウンロードされて、アプリがそのWebサーバとSSL通信を
しようとするが、ハンドシェイクで蹴られる。
「常に信頼してるのに、なぜだ!」

原因は、Java Web StartとJava Runtime が管理している証明書の
ストア先が異なるらしく。
Java Web Startで信頼したからといって、それはJava Runtimeには
反映されないから、Javaアプリが通信しようとしたときは、また
「信頼ならねぇ!」となるようだ。

これを回避するには結局keytoolコマンドでその証明書をインポートして
やらなければいけない。

keytool -import -keystore (JAVA_HOME\lib\security\cacerts) -file (サーバー証明書のパス)


ちなみに、ここまで全部さも自分が発見して解決したかのように
書いてますが、開発メンバーが発見してくれた内容を
営業のボクが書いただけです。ほんとすいません。

2007年3月23日金曜日

技術者としての5年間を惜しんで…

今は東京の会社で営業・マーケティングという、いわゆる
アウトバウンドな職種に就いていますが、その前の5年間は
ずっとプログラマー/SEつまりインバウンドとして生きてきたわけで。

しかも大阪の会社にいた時は、自分で言うのもなんだけど
社内営業がうまくて、技術者としてそこそこデキる方に
ポジショニングしていたわけで。

だから、完全にアウトバウンドな職種というよりは、
技術も理解できるアウトバウンドな人間になりたくて。

そもそも、営業と開発のギャップによって生じる
全ステークホルダーを巻き込んだ負のスパイラル
何とかしたくてアウトバウンドにいったわけで、
勝手に「開発者代表!」という感覚で営業を行ってたり
します。

だからやっぱり開発者として技術には常に触れていたい
気持ちもあるんだけど、仕事の中で純粋に技術に
触れる機会なんてそうそうないので、こういった形で
ブログをもち、自分の知ってる、あるいは知りえた
技術情報を発表する場を設けることによって、5年間の
キャリアが無駄にならないように、そして最新技術に
ついていけるようにしようと思い立ったわけです。

やっぱり、新しい技術が出てきたりするとワクワク
したいじゃないですか。
純粋に職業プログラマーだと、逆にそうはいかないのかも
しれないけれど。

というわけで、「技術への名残り」、本日よりスタート!