swtリッチクライアント

久々に早く寝たので、夜中の二時に目が覚めてしまった…。JUGEMが復旧してるみたいなので、今回の仕事のまとめを。これからこういう仕事増えると面白い。

今回のお題

  • JavaでWidnowsGUIのようなアプリを実現する
  • 再配布が楽なリッチクライアント技術を試みる
  • 懸念事項

  • クライアントマシンに Oracle Client が入って無くても動作するか
  • :→他は試してないが、ojdbc14.jarは接続できる。
  • Oracle だけでなく、その他パッケージソフトで動作するサービスに接続できるか
  • :→結果、できる。
  • バッチファイルで起動するのは何か嫌。
  • →:実は Project Amateras で Boot Java というツールが公開されてます。Javaアプリをexeから起動できる。iniファイルにメイン関数を持ったクラスとか、起動時に必要なパラメータ、クラスパスとかを記述できる。

    提案事項

  • Appletは見栄えが悪いので、swtを提案
  • クライアント配布用に Java Web Start を提案
  • 主な予想外の自体

  • 避けては通れないと思っていたが、スレッドを勉強するきっかけになった
  • war ファイルを作成するのに手間取った。自己署名証明書の作成など。あと、jarファイル作成時、プロパティファイルの "Duprication Entry" 圧縮時の例外でかなり時間を食ってしまった。Eclipse でデバック実行時にはclassesの下にプロパティファイルが無いと MissingResourceException が発生するのだが、圧縮する際は Classes フォルダの下のプロパティファイルは削除して圧縮。それでも、リソースとかはちゃんと表示される。不思議。というか、これらの処理をAnt 記述で行ったのだが、Ant 自体を良く理解できてない。
  • Eclipseのデバック起動時には何事も無く動作しても、デプロイして Java Web Start から動かしてみると、スレッド処理時の例外とかがポコポコでてくる。難しい。
  • 「何か動かんなぁ?」と思ったら、データベースサーバーの名前が解決できてなかったりした。本番環境で動かしてみるときは、DNS とか、サーバーのプロキシ設定とかをセットアップ手順に加えたほうが良い。