Posts filed under ‘Application Server/GlassFish’
SailFin情報
今日は、GlassFishではなく、SailFinについてご紹介したいと思います。
先日、日本エリクソンさんのイベントでも発表したのですが、
ちょっとした概要を説明します。
2007年5月にSunとEricssonはオープンソースの「GlassFishコミュニティ」上で、
「Communications Application Server」を構築するプロジェクト「SailFin」を
発表しました。
「プレスリリース」
http://www.sun.com/aboutsun/pr/2007-05/sunflash.20070508.5.xml
http://www.ericsson.com/ericsson/press/releases/20070508-1125135.shtml
Ericssonは元々IMS製品を出荷しており、その製品の中でJSR-116に準拠した
SIP(Session Initiation Protocol)Servlet Containerを彼らの製品中に
実装していました。そして、今回の発表によりそのSIP Servlet Containerの実装を
GlassFishコミュニティに寄贈していただく事になりました。
その後も、引き続きSunとEricssonで協力して
次世代の「Communications Application Server」を共同で構築中です。
現在では、SailFinの開発に対して、Sunのエンジニアの他、エリクソンのエンジニアも
約15名程フルタイムで、この新しいアプリケーションサーバの構築プロジェクトに
参加し日々開発を続けている状況です。
このSIP Servlet Containerを含むアプリケーションサーバは、
現在、プロモーションビルドとして下記より御試し頂く事ができます。
https://sailfin.dev.java.net/
そして、来月(2008年3月)にはベータ版がリリースされる予定です。
また、製品版は2008年6月頃にリリースされる予定です。
ここで、ちょっとプロモーションビルドをダウンロードして動作させてみました。
すると、下記のような管理画面が出力されます。
注意深くみてみて下さい!!(英語版ですが。)

なんと管理画面は、ほぼGlassFishの管理画面と同じではありませんか!!
SIP Container等の追加項目がありますが、Enterprise Application , Web Application,
Resources等はGlassFishと全く同じです。
そうなのです。SailFinはGlassFishを拡張しSIP Servlet Containerを統合した
アプリケーションサーバなのです。
つまり、GlassFishにできる事は、SailFinでもできます。
GlassFishの持つ機能の内の負荷分散や高可用性も当然実現できます。
それ以外の機能も御使用頂く事ができます。
また、内部的な話を少しすると、SIPのハンドリングはGrizzly上で実装されています。
下記の、Jean-Francoisのブログにも記載されているのですが、
たった2つのクラスを実装しただけで、Grizzly上でSIPを対応できるように
なったという事です。当然、Grizzly上に実装する事により、SIPメッセージを
TLSで暗号化して通信できるようになったりもします。
#ここでもGrizzlyフレームワークの素晴らしさが実証されてますね。
#いやぁ、改めてGrizzlyはすごいなぁ!!
http://weblogs.java.net/blog/jfarcand/archive/2007/11/supporting_the.html
Grizzly上で実装されたSIPプロトコル、御想像の通り非常にハイパフォーマンスに
なる事が予想されます。実際、開発者の中でもパフォーマンスに重点をおいて開発が進められて
いるようです。
さらに、NetBeans上でSIPサーブレットを作成できるようモジュールも
既に提供されております。これを使うとSIPサーブレットクラスの雛形が
簡単にできるようになりますし、NetBeansを使用するとConvergedな
アプリケーション(HTTP Servlet , SIP Servlet , EJB ,JDBCリソース、
JMSリソース、各種リソースを併用した)もかんたんに構築できるようになるかと思います。


まだ、製品リリースまでは若干時間がありますが、どのような製品に仕上がっているか、
是非試してみてください。
GlassFish V2 Update Release 1 / SJS Application Server 9.1 UR1のリリース
SJS Application Server 9.1のアップデートリリース1の
マルチリンガル版がリリースされた模様です。
本バージョンでの一番の特徴は、AIX版をサポートした事です。
#これで、AIXで動作させたい方もやっと利用できるようになりました。
また、mod_jkを使用したApacheのhttpdとのロードバランサ(スティッキー)
連携もできるようになりました。
変更点の詳細1
変更点の詳細2
ダウンロード:ここから入手できます。(SJS Application Server 9.1 UR1版)
GlassFish V2 UR1のマルチリンガル版はまだWeb Pageにはリンクがアップされていないようです。
まぁ、こちらもすぐにリンクが付けられるかと思います。
昨日はありがとうございました!!
昨日、Sun Software Caseに御越し頂いた皆様、
本当にありがとうございました。
セミナーで発表した後、試してみたいと
言って頂いた御客様が多くとても喜んでいます。
実際、開発者の方といろいろ話をした際、
こんなフィードバックを頂いています。
● セミナーを聞いた後、GlassFishがとても良いと思い
自社に戻って開発環境で使用しています。
そして、本番環境でも採用できるように上司に
伝えています。
● 他社の製品を今まで使っていたのですが、
GlassFishを是非触ってみたい社内でもGlassFishを
押して行きたい
● 今まで、アプリケーションサーバのアップデートに対して
二の足を踏んでいたのですが、こんなに面白い事ができるの
であれば、是非アップデートしてみたい。180度考えが変わった
また、昨日は価格についての御問い合わせも頂いたので、
補足しておきます。
詳細は、
商用ライセンスが必要な場合のライセンス価格、サポート価格に
ついてですが、下記に記載されています。
商用ライセンス/サポート価格
上記によると、2,252,000円という価格になっています。
1見高価にみえるのですが、実はこの価格は1ライセンスで
コア数によらず最大4ソケットまで利用可能です。
上記を分かり易くすると、
Sunが提供している製品の中にT2プロセッサというのがあります。
これは1ソケット辺り、8コア/64スレッドなのですが、
1ソケット8コアなので、8CPUとみたてると、4ソケットで4倍の
32CPU分のライセンス価格になります。
つまり、上記の金額は32CPU分のライセンスという事になります。
まとめると、
1ソケット辺りに直すと、2252000/4=563,000円
1CPU辺りに直すと、2252000/32=70,375円
になります。
今後もCPUのマルチコア技術がどんどん進むにつれ、1ソケットで8コア以上を
搭載するマシンがでてきても、コア数に関わらずソケットでの値段ですので、
マルチコア化が進めば進む程、とてもお得な形態になっています。
PS.
近いうちに、また違うライセンス形態(サブスクリプション)も発表される予定です。
最近のおしごと
さて、今年もブログをたくさん書きたいと思っているのですが、
最近、イベント続きで準備に追われなかなかアップデートできてなくて
本当に申し訳ありません。
明日は、以前も書きましたがSun のSoftware Showcaseで
GlassFish/SJS Application Server 9.1について話をする予定です。
既にかなり多くの方に御申し込みいただいたみたいで、
少し窮屈な状況になるかもしれませんが、御許しください。
http://jp.sun.com/company/events/showcase/
また、来週は、ホテルエドモンドでEricssonさんのイベントにて
GlassFish/SailFinについて話をする予定です。
http://www.ericsson.com/mobilityworld/sub/events/invitations/20080205_devday_tokyo_agenda.html
ここ最近、社内のセミナーや外部のセミナーに参加する事も多いのですが、
内の会社の町田さんによるSunSPOTのセミナーは
とても面白く興味深いものでした。
まだ、日本では教育機関等でしか販売ができないようなのですが、
SunSPOTでは各種センサーを内蔵していて、それをJavaのプログラムで
制御したり、情報を引っ張ってきたりできるようで、あらゆる所で
実際に使えるような感じがしました。
大学、研究機関の方で御興味のある方は是非、弊社に御問い合わせください。
http://jp.sun.com/products/software/sunspot/
GlassFish v3でもいくつか動きがあるようですね。
v3ではasadminコマンドのオプションでdeployコマンドがあるのですが、
リモートのアプリケーションサーバに対するデプロイを実現するために、
–upload=true という引数が追加されたようです。
それ以外にもコミュニティに協力いただいた方に報奨金を出すような試みも始まったようですね。
残念ながら、自分は社員なのでこの制度に応募はできないのですが、日本人の方も是非コミュニティで
報奨金をゲットしてください!!
いくつかのニュース
ここ数日、驚きのニュースが次々と流れてきますね!!
Sun がMySQLを買収する事
OracleがBEAを買収する事
これらの発表は、おそらく偶然だと思うのですが、
この発表により2008年のミドルウェア業界の
勢力図も大きく変わっていくのではないかと思います。
MySQLの買収についてはとてもWellComeな発表でした。
将来的にはGlassFishとMySQLをとてもかんたんに
連携できるようになったりするようなモジュールもでてきたりするのでしょうね!!
我々のMySQLの買収に関してはJavaDB(Derby)やPostGreSQL等との位置づけを
どのようにして行くのか興味深い所ですが、高速で信頼されるDBを手に入れる
事により、さらにSunのS/W製品群が強くなっていくと思います。
NIKKEI NET
サン・マイクロシステムズ、オープンソースDB企業のMySQLを取得へ
http://it.nikkei.co.jp/business/news/index.aspx?n=RS2036498617012008
NIKKEI NET
米サン、データベース管理ソフト会社買収・10億ドルで
http://www.nikkei.co.jp/kaigai/us/20080117D2M1700P17.html
Impress Enterprise Watch
米Sun、オープンソースDBのMySQLを買収へ
http://enterprise.watch.impress.co.jp/cda/foreign/2008/01/17/12031.html
Nikkei ITpro
SunがMySQLを10億ドルで買収
http://itpro.nikkeibp.co.jp/article/NEWS/20080117/291269/
Nikkei ITpro
【速報】サン、オープンソース・データベース「MySQL」の開発元を10億ドルで買収
http://itpro.nikkeibp.co.jp/article/NEWS/20080117/291253/
Oracle、85億ドルでBEA Systemsを買収へ
http://journal.mycom.co.jp/news/2008/01/16/045/
OracleとBEAの買収ではOracle Application Serverと
BEA WebLogicという2つのアプリケーションサーバが今後どのように
変わって行くのか、今までそれぞれで公表されてきた戦略がどのように
変わって行くのかとても興味深い所です。
今年最初のSunのソフトウェア紹介イベント
さて、年度が代わり始めてのブログの投稿となりますが、
今年もブログをがんばって書きたいと思いますので、
是非、今年も宜しくお願いします。
今日は、今月末に開催されるSunのイベントである、
Sun Software Showcaseを紹介します。
今回も、私はここでSJS Application Server 9.1/GlassFishについて
話をする予定ですが、今まで諸般の事情によりこれなかった方は
是非、御越し頂ければと思います。
「Sun Software Showcase 2008」
本イベントでは最後に、懇親会(軽食と御飲み物付き)も予定されております。
普段のセミナーは、聴く事が中心で質問等しにくい場合もあるかと思います、
このような懇親会で直接意見交換等もできるかと思いますので御検討ください。
また、今回のセミナーではプログラムにも記載されていますように、
私以外にも多くのSunのソフトウェア関連のエンジニアが発表を行う予定です。
シンクライアントを実現するSun Rayやアイデンティティ管理システム,SunのSOA
製品に関しても数多く紹介されます。
アプリケーションサーバ以外にも数多くの有用な情報が提供されますので、
是非、Sunのソフトウェアに興味がある方は御登録の上、御参加ください。
@ITのインタビュー記事
さて、今年も色々と慌ただしい年だったのですが、
私の方もやっと落ち着き、来年の準備に取り掛かる事が
できるようになりました。
来年も引き続きGlassFishのネタを中心にブログで色々な
情報を提供して行きたいと思っておりますので、
どうぞ宜しくお願いします。
恐らく今年最後になるであろう私のブログですが、
最後に一つ情報提供したいと思います。
実は先日@ITの編集者の方からGlassFishに関するインタビューを
受けていたのですが、そのインタビュー記事が@ITに掲載されました。
基本的に、私が普段セミナー等で話をしているような内容を
説明したので、過去にセミナーを聞いて頂いた方には、
繰り返しとなる内容が掲載されているのですが、もし周りに
セミナーに御参加頂いていない方やGlassFishについて他の方に
紹介したいという方がいらっしゃいましたら、是非下記の
URLも御紹介ください。
@IT : オープンソースの高機能アプリケーションサーバ、いよいよ日本語版が登場
それでは、皆様御健康に気をつけて良い御年を御迎え下さい。
そして、また来年もどうぞ宜しくお願いします。
Have a good New Year !!
GlassFishのマイグレーションツール
今日マイグレーションのサイトへ接続した所、
他のアプリケーションサーバからのマイグレーションツールのページが
アップデートされている事が分かりました。
#ただし、よくみるとまだツールのダウンロードはできないみたいです。
#Coming Soonと書かれているので、すぐにリリースされる事を期待してます。
GlassFish v2のマイグレーションツール
このマイグレーションツールを使用すると下記のアプリケーションサーバで
動作していたアプリケーションを、かんたんにGlassFish v2上で
動作できるようになります。
– BEA WebLogic Server 8.x, 6.x and 5.x
– WebSphere Application Server Version 5.x and 4.x
– JBoss 3.x
– Apache Tomcat 4.x
– Reference Implementations based on J2EE 1.3 and J2EE 1.4
– Sun Java System Application Server 7 and 8
– Sun ONE Application Server 6.5 and 6.0
– Sun ONE Web Server 6.x
マイグレーションツールのFAQ
マイグレーションツールのヘルプ
glassfishとtomcatの違い_part_2_配備編
さて、今日は昨日に引き続き比較を行って行きたいと思います。
今日は、作成したアプリケーションの配備(デプロイ)・配備解除
(アンデプロイ)方法の違いについて説明します。
まず、Tomcatでは下記の方法があるようです。
●Tomcat 起動時の配備
Tomcatの起動時にアプリケーションを配備するためには、
server.xmlのバーチャルホストの定義(<Host>タグ)中の
deployOnStartupプロパティがtrueの場合に配備されるようです。
<Host name=”localhost” appBase=”webapps” deployOnStartup=”true” ……. > |
●Tomcatサーバ実行中の配備
Tomcatの起動後、実行中に動的に配備を行いたい場合は、
server.xmlのバーチャルホストの定義(<Host>タグ)中の
autoDeployプロパティをtrueにすると有効になるようです。
<Host name=”localhost” appBase=”webapps” autoDeploy=”true” ……..> |
●クライアントデプロイヤパッケージを使った配備
Tomcatの管理画面より、下記の何れかの方法で配備できます。
ー サーバ上のWARファイル又はディレクトリの配備
Tomcatのサーバが稼働しているマシンの
ファイルシステム中に存在しているファイル
(もしくはディレクトリ)を配備する方法
ー WARファイルの配備
管理画面をブラウザで参照しているローカルのシステム
内に存在するwarファイルをデプロイする方法

※ ただし、この管理画面に接続するために別途設定が必要です。
● Eclipse , NetBeans等の統合開発環境付属の配備ツールの使用
これは、TomcatもGlassFishも共に対応しているわけですが、
サーバ管理者が使用するよりも、むしろ開発者が開発時に容易に
配備できるので、開発者にとっては最も簡単な方法かと思います。
一方、GlassFishの配備方法は用途に応じて様々な配備方法が提供されています。
★1. ファイルのコピーによる自動配備
さて、はじめにファイルをコピーして自動配備を行う方法について
紹介します。GlassFishをインストールしたディレクトリ配下に
domainディレクトリが存在しますが、domainディレクトリ配下は
下記のようなディレクトリ構成となっています。
> pwd glassfish/domains/domain1 > ls -F
> |
この中でautodeployディレクトリが存在していますので確認してみて下さい。
サーバ上でアプリケーションを自動的に配備するために、このディレクトリ配下にWARファイルをコピーしてください。
すると自動的にアプリケーションの配備が完了します。
> asadmin list-application-refs コマンド list-application-refs は正常に実行されました。 > cp ~/test/dist/test.war glassfish/domains/domain1/autodeploy > asadmin list-application-refs test コマンド list-application-refs は正常に実行されました。 |
上記では、実行前にはtestと呼ばれるアプリケーションが配備されていなかった環境で、
test.warファイルをコピーした後、自動的にtestアプリケーションが配備されている事を確認しています。
※ list-application-refsコマンド以外にlist-componentsコマンドでも確認できます。
> asadmin list-components test <web-module> コマンド list-components は正常に実行されました。 |
配備を取り消すためには、該当のディレクトリよりWARファイルを削除する事で
自動的に配備を取り消す事ができます。
> asadmin list-application-refs test コマンド list-application-refs は正常に実行されました。 > pwd glassfish/domains/domain1/autodeploy > ls test.war test.war_deployed > rm test.war > asadmin list-application-refs コマンド list-application-refs は正常に実行されました。 |
如何でしょう?Tomcatに比べ設定ファイルの変更の必要がなく、
ファイルのコピー/削除で配備・配備の取り消しが簡単に実現できます。
上記の自動配備は内部的に2秒間隔のポーリングを行い変更を確認しています。
この自動配備の機能の設定を変更したい場合、
管理コンソールより設定変更が可能です。

★2 . asadminコマンドの利用
GlassFishでは専用の管理用コマンド(asadmin)を使用し管理する事も可能です。
下記では、asadminコマンドを使用してアプリケーションの配備(deploy)・配備取り消し(undeploy)
を行う方法について紹介します。
まず、asadminコマンドで配備時に指定できるオプションを示します。
個々の詳細は、asadmin deploy –helpを実行しヘルプを御参照ください。
NAME |
さて、それでは実際にデプロイしてみましょう。最も簡単に
デプロイする方法は下記のようにファイル名を指定します。
> asadmin deploy test.war コマンド deploy は正常に実行されました。 |
配備の取り消し方法は、undeployコマンドを実行します。
undeployで指定可能な引数は下記となりますが、詳細は、
asadmin undeploy –helpを御参照ください。
NAME |
実際に配備を取り消してみましょう。
> asadmin undeploy test コマンド undeploy は正常に実行されました。 |
以上で、asadminコマンドによる配備・配備取り消しを御紹介しました。
このasadminコマンドは、JMXを使用しアプリケーションサーバと
通信を行いますので、[ –host host]と[–port port]の引数を
指定する事によりリモートの環境からも実行できます。
その他、ディレクトリを指定して配備を行う、deploydirコマンドも
用意されています。
★3. 動的再読み込み( Dynamic Reloading )
一旦配備したアプリケーションの一部(class,xml等)だけを変更したい場合があります。
その際、GlassFishでは下記のようにして変更を動的に反映させる事ができます。
例えば、特定のclassファイルだけを修正したい場合を考えます。
通常、アプリケーションは下記のディレクトリ下に配備されていますが、
この中に含まれる、Page1.classのみ変更を加えたい場合、Tomcatの場合、
ファイルをコピーするだけで動的に反映されるようですが、GlassFishでは、
.reloadファイルという空のファイルを作成(更新)する必要があります。
glassfish/domains/domain1/applications/j2ee-modules/test
> cd /Applications/NetBeans/glassfish/domains/domain1/applications/j2ee-modules/test > ls -a
> touch .reload > ls -a
> |
ファイルをコピーし、.reloadファイルを作成(更新)した後、
内容が変更されているかを確認してみて下さい。マニュアルの御参照
JSPファイルの変更の場合は(即座に反映されるため)必要ありませんが、
classファイル等の更新を行う場合は、その毎に、.reloadファイルの更新日付をtouchコマンドで更新して下さい。
また、動的再読み込みの設定も管理コンソールより行う事ができます。

★4. 管理コンソールを使用した配備
管理画面にログイン(デフォルト:admin , adminadmin)した後、
「アプリケーション」より「Web アプリケーション」を選択します。

すると右画面に「配備 …」、「配備取り消し」、「有効」、「無効」ボタンが
表示されますので、「配備 …」ボタンを押下します。
すると下記のような画面が表示されます。

ここで、サーバにアップロードされるパッケージファイルについては、
Tomcatと同様にファイルを選択するダイアログウィンドウが表示されますので
ファイルを選択します。
一方、サーバが稼働しているマシンのファイルシステム中に存在している
ファイルから配備する方法は非常に使い勝手がよくなっています。
「Application Server からアクセス可能なローカルのパッケージファイルまたはディレクトリ」
のラジオボタンにチェックを付け「ファイルを参照 …」もしくは「ディレクトリィを参照 …」
ボタンを押下して下さい。

するとGlassFishが稼働するマシンのファイルシステムを参照できる、ウィンドウが表示されます。
ここで、ディレクトリ階層を手繰りながらファイルを検索して指定してください。

ファイルを選択した後、自動的に「アプリケーション名:」「コンテキストルート」
が設定されますので、設定内容を全て確認した後、「了解」ボタンを押下します。
「了解」ボタンを押下すると、下記のようにボタンが「処理してます …」に
変わるという小技も用意してます。

★ 5. JSR-88 APIを使用した配備
『J2EE Application Deployment API (JSR-88)』 で定められたAPIを使用し
配備する方法もあります。
こちらは、配備用のプログラムを自分独自で作成したい時には、
Java のAPIを使用して配備ができるようになる物ですが、
一般的には、あまり独自の配備プログラムを書く事は少ないと思いますので、
ここでは、説明を省きたいと思います。
如何でしょうか?Tomcatと比べてGlassFishでは様々な配備方法を
提供しているだけでなく、管理コンソールを使用した配備方法もとても簡単です。
直接XMLを編集する代わりに、何通りかの便利なツールを用意しています。
今までの管理コストと今後の管理コストを考えた場合、全くの新人さんに
アプリケーションサーバの管理を教えるのに、楽なのはXMLの手書きや
構文を覚えさせる事でしょうか?それとも管理コマンドになれて頂く事でしょうか?
なれれば、必ず使い易くなるGlassFish是非御賞味ください。
GlassFish日本語ディスカッションメーリングリストオープン
しまったぁ、アクアリウムに先に情報をリークされてしまった。(^_^;)
GlassFish のローカライズ – 皆さんが使っている言語に翻訳しましょう
先月より、日本語のコミュニティを作りたいという事で、社内で検討していた所、
日本語でGlassFishについてディスカッションができるメーリングリストを作成しようという事で、
discuss_ja@glassfish.dev.java.netというメーリングリストを開設致しました。
#実は、既に数日前からメーリングリストだけは作成していたのですが、
#まだ、公開まではしておりませんでした。(ですのでリークというのも大げさなのですが。(^_^;))
このメーリングリストの目的は、今後の日本におけるGlassFishの普及に向けた活動や、
翻訳化に関すること等を日本語でディスカッションできる場として利用できればと思っております。
細かな運営方針は別途決めたいと思っておりますが、
GlassFish日本語コミュニティの第1弾として出発できればと思っております。
是非、今後ともどうぞ宜しくお願いします。
