セミナーで使用したSailFinのサンプルアプリケーションの公開(クリック2ダイアル)



先日のホットトピックセミナーで発表した際に

使用したSailFinのデモアプリケーションを、

当日参加して頂いた皆様からのご要望にお応えして

ソースコード付きで公開することにしました。



アプリケーションとソースコードを下記のURLに置きました。

アプリケーションの動作方法も以降で紹介しますので、

御興味のある方は是非入手頂き遊んでみてください。



●ソースコード付きサンプル(NetBeans 6.1プロジェクト)


Click2Dial-Source.jar:ソースコード付きアーカイブ

Click2Dial.zip: ZIP版ソースコード付きアーカイブ



●発表資料


発表資料の入手はこちらから





実行前の事前準備(必要なファイルの取得):



●SIP Servletコンテナ : SailFin



SailFinの最新ビルドであるMileStone 4を下記のより

入手して、インストールしてください。

https://sailfin.dev.java.net/downloads/v1-MS4.html



●ソースコード付きサンプル(NetBeans 6.1プロジェクト)

Click2Dial-Source.jar



●SIP Client (SIP対応のソフトウェアフォン)



サンプルアプリケーションを動作させる為には

SIP Clientが必要になります。

フリーのSIP Clientとして下記のようなソフトウェアが

ありますので、それぞれ事前に入手しインストールしておいてください。



1. X-Lite(お勧め)

2. SIP Communicator





SailFinのインストールとJavaDB,SailFinの起動方法の紹介


SailFinのインストール方法





# java -Xmx256m -jar sailfin-installer-v1-b24d-darwin.jar -console
…. (中略)
….. (ライセンスの同意確認)
or based on this library.? If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so.? If you do not wish to do so, delete this
exception statement from your version.
Accept or Decline? [A,D,a,d] A
…. (中略)
sailfin/updatecenter/LICENSE.txt
sailfin/updatecenter/README
sailfin/updatecenter/registry/SYSTEM/local.xml
installation complete
# chmod 755 sailfin/lib/ant/bin/*
# cd sailfin
# ./lib/ant/bin/ant -f setup.xml
…. (中略)
[exec] Admin login information for host [localhost] and port
[4848] is being overwritten with credentials provided. This is
because the –savelogin option was used during create-domain
command.
[exec] Login information relevant to admin user name [admin]
for this domain [domain1] stored at [/SAILFIN-INSTALL/.asadminpass]
successfully.
[exec] Make sure that this file remains protected. Information
stored in this file will be used by asadmin commands to manage
this domain.
[delete] Deleting: /Applications/NetBeans/sailfin/passfile
BUILD SUCCESSFUL
Total time: 26 seconds





SailFinに付属するJavaDBの起動





# asadmin start-database
Database started in Network Server mode on host 0.0.0.0 and port 1527.
…. (中略)
Starting database in the background.
Log redirected to /Applications/NetBeans/sailfin/databases/derby.log.
Command start-database executed successfully.





SailFinの起動




# asadmin start-domain domain1
Starting Domain domain1, please wait.
…. (中略)
Domain listens on at least following ports for connections:
[8080 8181 4848 3700 3820 3920 8686 ].
Domain does not support application server clusters and other
standalone instances.









アプリケーションの動作



1. ソースコード付きサンプルの展開

  入手したClick2Dial-Source.jarを展開します。

  展開するとNetBeansのプロジェクトのディレクトリが

  作成されます。





# jar xvf Click2Dial-Source.jar
0 Thu Jun 19 19:49:02 JST 2008 META-INF/
60 Thu Jun 19 19:49:02 JST 2008 META-INF/MANIFEST.MF
0 Thu Jun 12 12:29:06 JST 2008 Click2Dial/
0 Thu Jun 12 12:29:04 JST 2008 Click2Dial/build/
0 Thu Jun 19 18:28:52 JST 2008 Click2Dial/build/web/
2106 Thu Jun 19 18:28:52 JST 2008 Click2Dial/build/web/Login.jsp
0 Thu Jun 12 12:29:04 JST 2008 Click2Dial/build/web/manage/
…….(中略)
0 Thu Jun 12 12:29:06 JST 2008 Click2Dial/dist/
7097035 Thu Jun 19 18:28:54 JST 2008 Click2Dial/dist/Click2Dial.war
…….(後略)





2. アプリケーションの配備



まず、アプリケーションを配備する前に、

アプリケーションサーバ上にJDBCのリソースを作成します。


※注意: JDBCのリソースを事前に作成しないと正常に動作しません。





# asadmin create-jdbc-resource –connectionpoolid DerbyPool jdbc/APP_ApacheDerby
Command create-jdbc-resource executed successfully.





次に、Click2Dial-Source.jarを展開すると展開したディレクトリ配下に、

distディレクトリが存在し、この中にClick2Dial.warファイルが存在しますので

確認してください。





# pwd
/NetBeansProjects/Click2Dial/dist
# ls
Click2Dial.war





このファイルをコピーしてアプリケーションを配備します。

ドメインディレクトリ配下の「autodeploy」ディレクトリの下に

ファイルをコピーしてください。



※ ご安心ください。アプリケーション配備時にデータベースの

  テーブルを自動的に作成するようにしていますので、これだけで

  動くようになります。


アプリケーションの配備




# cp Click2Dial.war /SAILFIN_INSTALL/sailfin/domains/domain1/autodeploy/



ファイルをコピーした時のサーバログ(ファイルコピーによる自動配備機能)




[#|2008-06-19T21:58:52.212+0900|INFO|sun-comms-appserver1.0|
javax.enterprise.system.container.web|_ThreadID=19;_ThreadName=
Timer-5;|contextConfig.available /Click2Dial|#]
[#|2008-06-19T21:58:52.635+0900|INFO|sun-comms-appserver1.0|
javax.enterprise.resource.webcontainer.jsf.config|_ThreadID=19;_Thread
Name=Timer-5;/Click2Dial;|Initializing Sun’s JavaServer Faces implemen
tation (1.2_04-b20-p03) for context ‘/Click2Dial’|#]
[#|2008-06-19T21:58:54.053+0900|INFO|sun-comms-appserver1.0|
javax.enterprise.system.container.sip|_ThreadID=19;_ThreadName=
Timer-5;|Enabling the application Click to Dial application|#]
[#|2008-06-19T21:58:54.093+0900|INFO|sun-comms-appserver1.0|
javax.enterprise.system.tools.deployment|_ThreadID=19;_ThreadName
=Timer-5;|[AutoDeploy] Successfully autodeployed : SAILFIN_INSTALL
/sailfin/domains/domain1/autodeploy/Click2Dial.war.|#]





3. Webアプリケーションの実行とユーザ作成



ブラウザよりSailFinが稼働するサーバに対して接続してください。

http://sailfin.japan.sun.com:8080/Click2Dial/

すると下記のような画面が表示されます。







ここで「新規ユーザ」のハイパーリンクを押下し、

すくなくとも2人のユーザを作成してください。










4. SIP Clientの実行(X-Liteの場合)



X-Liteをインストールした後起動してください。

まず始めにSIP Accountsの設定を行います。

「Add…」ボタンを押下してSIPの

アカウントの設定を行ってください。







アカウントの設定では下記のように情報を登録してください。

注意点としては「Domain Proxy」では「proxy」を選択し、

「Address」欄にSailFinが稼働するサーバ名

(もしくはIPアドレス)を入力します。







設定後「OK」ボタンを押下すると下記の画面が表示されます。







最後に「Close」ボタンを押下します。

ボタンを押下すると下記のように表示されれば

正常にFOOさんでREGISTERに成功しています。







5. クリックしてダイアルの実行



再度Webのアプリケーションに移動して

「社員名選択画面」にて電話を掛ける人

(X-Liteで設定したアカウント)でログイン


してください。

今回は「BAR」さんでログインします。

「BAR」さん=電話を掛ける人







ログインユーザ以外の人が登録をしている場合、

「接続可能ユーザ一覧」に名前と「接続先SIPアドレス」が

表示されます。



ここでは「FOO」さんが接続可能ですので、

「FOO」さんのリンクを押下してください。

すると接続相手(FOOさん)に電話が掛かる

ようになります。






6. ソースコードについて



作成したプログラムは、NetBeans 6.1(Mac OS X)で作成しています。

展開したアーカイブをNetBeansのプロジェクトとして読み込むと

リソースへの参照先が異なるためワーニングが一部出力されるかと思います。

その場合は、適宜御使用の環境に併せて参照先を変更してください。



※「ssa-api.jar」ファイルへの参照先はSailFinのインストールディレクトリ

 配下の「lib」ディレクトリ下にあります。

 ssa-api.jarファイルはSIPServletのライブラリを含むアーカイブです。



※ 作成したプログラムは2008/06月のホットトピックセミナーで

 デモ用に作成した簡易プログラムです。

 プログラムはデモ用に早くつくることに主をおいていたため、

 かなり手抜きをしています。(特にJPAまわり)

 本プログラムをどのように扱うかは御自身の判断で御使用ください。

 サンプルですのでご自由にお使い頂いて結構です。



 また、本プログラムを使用して発生した如何なる問題に対して

 私の方で責任を負うことはできませんので、ご理解頂いた上で

 ご使用ください。

 (問題は起きないと思いますが、間違っても本番環境で、

  そのまま使わないで下さいねってことです。)


2008年6月19日 at 8:05 午前 2件のコメント

GlassFishのライセンスがオンラインで購入可能


サンのオンラインストア




サンのオンラインストアのサイトが正式にオープンした模様です。

このオンラインストアで、なんとGlassFishのサブスクリプションライセンスを

直接購入していただくことも可能です。

ライセンスを御購入頂くとSunからの商用サポートを受けることができます。

これで、本番環境のトラブルも大丈夫!!



GlassFishのサブスクリプションライセンスの御購入に関する詳細情報はこちらから


2008年6月17日 at 10:50 午後

GrizzlyでCometに関する記事



InfoQ Japanese Versionで日立ソフトの新技術開拓センターの川尻 剛さんが

GrizzlyでCometに関する記事を書いてくださっています。



Cometを実現する為の方法についてとても良くまとめられている

記事ですので、GlassFish/GrizzlyでCometを実現されたい方は、

是非、下記の記事を参考にされては如何でしょうか?

サンプルコードもあります。



InfoQ: AjaxプログラマのためのJavaOne2008 -GrizzlyでComet!-



2008年6月16日 at 10:15 午前

Grizzly 1.8.0リリース



Jean-Francois Arcand’s Blog


Jean-Francoisさんのブログに投稿されてますが、

先日(2008/06/11)Grizzly 1.8.0がリリースされました。



Grizzly 1.8.0は多くのバグを修正し、またパフォーマンスも

改善されております。

さらに、組み込みでOSGiに対応しています。



https://grizzly.dev.java.net/



New Features:

+ NIO.2 support (dependent on when JDK team will push the final bytes)

+ Comet implementation moved to Atmosphere.dev.java.net

+ New Error Handling mechanism

+ Improved logging framework

+ High level API for String protocol, hidding completely the needs to understand ByteBuffer.

+ Add a new TCP Proxy/load balancer module (long time requested, never completed :-))

+ i18 error messages



Bug fixes

+ Sailfin/v3/ issues

+ Users bugs issues.

+ OpenEDB integration in v3 will have started, fix their issue related to Grizzly ARP.

+ Documents fixes (approval required from the users@grizzly)


2008年6月11日 at 8:45 午後

今月のJava ホットトピックセミナー



今月(6/18)もJava ホットトピックセミナーを開催します。







今月は、Ruby会議直前でご多忙の中、

なんとJRuby業界で有名なそして日本人唯一のGrizzlyのコミッタでもある

高井さんに、ホットトピックセミナーで話して頂けることになりました。

高井さんは今回、DSLをJRubyで作って開発を楽にする方法を御紹介頂けるとのことです。

是非、皆様おたのしみにしてください!!



※ 高井さんと、以前からいつかコラボしたいと思ってましたので、

  こうやって実現できてとても嬉しいです。

  高井さん、御忙しい中御引き受け頂き本当にありがとうございます!!



今月の後半は私も話をさせて頂きます。

今回は、GlassFishの新星SailFinについて話をさせて頂きます。

今年の夏以降にリリース予定のSailFinについて、基本技術の概要や

ベータ版を使ったデモでこんなことができるといったことを紹介したいと思っております。



デモ例:





18:00 – 18:30 開場・受付




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

伊藤忠テクノソリューション株式会社

高井 直人 (たかい なおと)



JRuby に興味はあるけど、なかなか手が出せないという方も多いのではないでしょうか。

JRuby は Web アプリケーションばかりではなく、開発のさまざまな場面で役に立つツールとして

活用できます。今回は、開発ターゲットに合わせた DSL (ドメイン固有言語)を JRuby を使って作成し、

Java による開発に役立てる手法を紹介します。



19:10 – 19:35 Java パズラーズ

ちょっとおかしな振る舞いをする Java プログラムに関するクイズです。正解者にはすてきな景品が…



19:35 – 19:50 休憩

19:50 – 20:30 GlassFish の新星 SailFin —— Java で通信系のサービスもパワーアップ!

Java エバンジェリスト

寺田 佳央(てらだ よしお)



IP 電話やインスタントメッセージなどの通信系のアプリケーションを作ってみませんか。

HTTP プロトコルに類似した SIP を使うと、Web アプリケーションのアナロジーで通信系の

アプリケーションが開発できます。このときに重要な働きをするのが SIP サーブレットのコンテナ。

このセッションでは GlassFish のサブプロジェクトで人気急上昇中のコンテナ SailFin について

デモを交えながら熱く語ります。

2008年6月9日 at 3:30 午前

NetBeans 6.1 日本語版正式リリース







片貝さんからすでに
アナウンスされておりますが、

NetBeans 6.1の日本語版が正式にリリースされたようです!!

実は、私も早速ダウンロードして来ました!!



ダウンロードはこちらから






2008年6月4日 at 7:30 午後 2件のコメント

「JRuby の最新動向と NetBeans, GlassFish, Solaris on Sun サーバ」 セミナーの御紹介



イベント続きで、告知が多くなってますが、

今月末に開催される、Ruby会議に伴ってJRubyの

開発者である、Charles NutterとThomas Eneboが来日します。



それに併せて、2008年06月26日(木)に下記のセミナーを

開催します。



※ 今回のセミナーは先着順ではなく、抽選形式になります!!

  抽選に漏れてしまった方には申し訳ありませんが、抽選形式で

  登録者数による制限はありませんので、御興味のあるかたは

  どしどし御応募ください。!!




  #私も近々(6/18)セミナーで発表する予定なのですが、その告知はまた後ほど。。




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




13:00 – 13:30 開場・受付


13:30 – 14:15 NetBeans 6.1 で加速する Ruby on Rails 開発

JRuby エバンジェリスト

野澤 智(のざわ とも)



Java の開発環境としてだけではなく、(J)Ruby の開発環境としても有効な NetBeans 6.1。

Ruby on Rails の開発での gem やプラグインの管理、rake タスクの実行、デバッグ、スニペットなど、

NetBeans6.1 の特徴をご紹介いたします。NetBeans 6.1 を使うことでよりアジャイルに開発を加速します。



14:15 – 15:00 GlassFish で安心、エンタープライズ Ruby

Java エバンジェリスト

岡崎 隆之(おかざき たかゆき)



GlassFish は Java EE だけのアプリケーションサーバだと思っていませんか?実は GlassFish では

JRuby を使って Ruby on Rails 実行環境を構築できるだけでなく、クラスタ環境などへの配備も

サポートしています。ミッションクリティカル環境で使われている GlassFish の安心感をエンタープライズ

Ruby でもご堪能ください。



15:00 – 15:15 休憩



15:15 – 16:15 JRuby 最新動向


米国サン・マイクロシステムズ社

Charles Nutter

Thomas Enebo



16:15 – 17:00 (J)Ruby on Rails Tuning Tips

Solaris エバンジェリスト

河原 一哉(かわはら かずや)



(J)Ruby on Rails でアプリケーションを構築する際の Tuning Tips をご紹介いたします。Web サーバの設定、

データベースサーバの設定、OS のチューニング、アプリケーションのボトルネック解析など、さまざまな角度から

チューニングを行うノウハウをご紹介いたします。


2008年6月4日 at 12:40 午前

マッシュアップで賞金100万ゲット




マッシュアップアワード第4回目
開催のお知らせです!!




募集期間:

2008/06/03 – 2008/09/16



時間はまだまだあります!!

技術者の皆様、是非御参加ください。賞金は100万円です!!



ちなみに前回受賞作品はこちらです。


2008年6月4日 at 12:10 午前

Sun SPOTがタダでもらえるかも?!



大渕さんによる、ふとっぱらキャンペーンが始まったようです。

これは、Sunの企画ではなく、大渕さんのプライベート企画のようです。



詳しくは下のリンクを押してください。

★Sun SPOTキットがもらえるアイディアコンテストやります★



Sun SPOTに興味のある方、是非御応募ください!!



開催要項


Sun SPOT アイディアコンテスト

開催期間:2008年6月1日~2008年6月30日 正午〆切

賞品:Sun SPOT キット 1名様



応募条件


日本語の Blog を書いている方、もしくはこれから書く意志がある方

現在サンの社員 (契約社員も含む) ではない方

Java プログラミングの経験がある方

現在日本国内に住んでいる方

受賞後、インタビューや取材等にご協力いただける方



審査基準


Blog に Sun SPOT のエントリを書いてくれそうかどうか

アイディアにオリジナルティ、新規性があるか

アイディアの実現が現実的かどうか


2008年6月1日 at 10:25 午後 3件のコメント

週末の散歩(横浜 開港祭)



今週末、土曜日はJavaOne報告会が開催されたのですが、

あいにくの雨にも関わらず100人を超える方に御来場頂き

大変な盛況ぶりでした。

私は、当日受付等裏方に回っていたので、全てを聞くことができな

かったのですが、JavaOneでのGlassFishの注目ぶりについて

多くの方がコメントして下さっていたのには嬉しく思いました。



御来場頂いた皆様、また発表して頂いた皆様ありがとうございました。



さて、本来ならばJavaOne報告会の写真を載せるべきなのですが、

まだ整理しきれていない&あまり綺麗にとれていなかったので、

どうしようか悩んでおります。

暗い所で撮るのにまだなれてなくてぇ。。。(^_^;)



ということで、日曜日に横浜の開港祭に散歩がてら行ってきましたので、

そちらの写真を載せます!!



土曜日の天気とは一転、快晴でとても気持ちのいい一日でした。

また、横浜の開港祭にもとても多くの方がこられていました。




































2008年6月1日 at 9:25 午後

Older Posts Newer Posts


Java Champion & Evangelist

Translate

ご注意

このエントリは個人の見解であり、所属する会社の公式見解ではありません

カレンダー

2026年3月
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

カテゴリー

clustermap

ブログ統計情報

  • 1,314,807 hits

Feeds

アーカイブ