SJS Web Server 7.0 Update 1のリリース
SJS Web Server 7.0のUpdate 1が正式リリースされました。
Web Server 7.0の
入手先
以前も、説明しましたが今回のリリースよりServlet 2.5, JSP 2.1, JSF1.2への
対応になります。
是非、上記より入手して御試しください。
ちなみに、7.0 → 7.0 u1において下記がサポートされております。
Sun Java System Web Server 7.0 Update 1 Release Note
● Java Servlet 2.5 and JavaServer Pages (JSP) 2.1 Support
● JavaServer Pages Standard Tag Library and JavaServer Faces 1.2 Support
● Java SE 5.0 and 6 Support
● Accelerator Cache Technology
● Administration Support for Configuring FastCGI
● NetBeans Support
● Admin Console Support for Configuring Regular Expressions
● GUI and CLI Support for Pattern Matching
この他、検索コレクションを作成した後、コレクションのアップデートを
スケジューリングできるようになっています。(下記御参照)

JRuby on GlassFish v2
さて、今日はGlassFish v2 (Grizzly)上でJRubyを動かす方法を紹介します。
GlassFish上でJRubyを動かす方法は大きくわけて3通りあります。
1. JRubyでwarファイルを作成してwarをデプロイする方法
2. GlassFish上でCGI経由で実行する方法
3. GrizzlyでJRubyを動かす方法(将来的に。。。)
3.1 GrizzlyでJRubyを動かす方法「JRuby on Rails でエンタープライズ Ruby (高井 直人)」
動作方法による簡易比較
現時点では、どの方法もまだ、一長一短があります。
1,2に関してはGlassFish v2上で動作させる事ができますが、3についてはGrizzly上で動かします。
3についてはGlassFish v3に組み込まれてくるのではないかと思いますが、現時点では???です。
そこで、今回はGlassFish v2で動作させる事のできる、1,2にしぼって説明します。
1.についてはパフォーマンスは良いのですが、毎回warを生成しデプロイしなおさなければならないのがとても面倒です。
2.については、毎回デプロイしなおさなくてもダイレクトに修正が反影される為、非常に便利です。
しかしその一方、CGI呼び出しの為非常にパフォーマンスは悪くなっています。
そこでこの方法は、開発時に使用していただければと思います。
そんな開発者の為に、GlassFish v2のインストールから、GlassFish v2上でJRubyを呼び出す方法(CGI版)を下記に説明します。
どうぞ開発者の皆様、下記の方法を試してみて下さい。
- インストールする為に必要な物
- ● GlassFish v2 Beta
(ちなみに、私はv2-b41dより少し新しいv2-b50で試しています。) - ● JRuby: jruby-bin-1.0.tar
インストールと動作確認の手順は下記のステップに従い行います。
- インストール手順
- 1.環境設定の確認
- 2.GlassFishのインストール
- 3.GlassFishの構成
- 4.GlassFishの管理ドメインの起動
- 5.JRubyのインストール
- 6.Railsのインストール
- 7.Railsのアプリケーション作成
- 8.Railsプログラムの作成
- 9.Railsのroute.rbの修正
- 10.GlassFishのドメイン中のdefault-web.xmlの修正
- 11.GlassFishのドメイン再起動
- 12.ドメイン上でサンプルアプリの動作確認
- 13.GlassFishのノードエージェントを作成
- 14.ノードエージェント上にインスタンスを作成
- 15.ノードエージェントとインスタンスの起動
- 16.インスタンス上でのサンプルアプリの動作確認
詳細手順
1. 環境設定の確認
まずは、環境設定です。最初のインストールする時点ではJAVA_HOMEだけが必要になりますが、
$GLASS_FISH_INSTALL/binにパスを通しておくとGlassFishの管理用コマンドを呼び出す事が
できるようになるので便利です。今回私はMacBookの自分のデスクトップ上にglassfishを構築しています。
※ DHCP環境にインストールされる場合は、host名に気をつけてください。DHCPから取得した
ホスト名でインストールした場合、不具合が発生する可能性があります。
(不具合例:ノードエージェントが正常に起動できない等。)
yosshi > cat ~/.cshrc cat ~/.cshrc set prompt=”yosshi > “ set history=200 setenv TERM vt100 setenv JAVA_HOME /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home set path=(/Users/yt133043/Desktop/glassfish/bin /Users/yt133043/Desktop/glassfish/lib/jruby-1.0/bin /Users/yt133043/Desktop/glassfish/lib/jruby-1.0/lib/ruby/gems/1.8/gems/rails-1.2.3/bin /usr/local/bin $path .) setenv LD_LIBRARY_PATH /Users/yt133043/Desktop/glassfish/lib/jruby-1.0/lib:/Users/yt133043/Desktop/glassfish/lib/jruby-1.0/lib/ruby/gems/1.8/gems/rails-1.2.3/lib setenv JRUBY_HOME /Users/yt133043/Desktop/glassfish/lib/jruby-1.0 |
2. GlassFishのインストール
さて準備が整いましたら、早速GlassFishをインストールしてみましょう。
インストールはコマンドラインから下記のコマンドを実行して行います。
実行するとライセンスの同意確認画面が表示されますので、[Accept]ボタンを押下します。
yosshi > java -Xmx256m -jar glassfish-installer-v2-b50.jar glassfish glassfish/docs glassfish/docs/css glassfish/docs/figures glassfish/docs/graphics glassfish/docs/images ********************************************中略 glassfish/updatecenter/lib/schema2beans.jar glassfish/updatecenter/lib/schema2beansdev.jar glassfish/updatecenter/lib/swing-layout-1.0.1.jar glassfish/updatecenter/lib/updatecenter-gui.jar glassfish/updatecenter/lib/updatecenter-installer.jar glassfish/updatecenter/lib/updatecenter-javahelp.jar glassfish/updatecenter/lib/updatecenter.jar glassfish/updatecenter/LICENSE.txt glassfish/updatecenter/README glassfish/updatecenter/registry/SYSTEM/local.xml installation complete |
3. GlassFishの構成
インストールが無事完了[instllation complete]するとGlassFishを構成します。
構成を行う前に、Profileについて簡単に説明します。
GlassFish v2より構成を行うために、新たにProfileという概念が導入されました。
Profileは初期設定を簡素化する為、頻繁に利用される3種類の構成をテンプレート化したものです。
Profileには、開発者用、クラスタ用、エンタープライズ用が用意されており、それぞれ異なる
設定が可能になっております。Profileの詳細については下記を参照してください。
Profileの詳細(One Pager: Usage Profile Support for Application Server)
今回、私は構成の為、クラスタ用のプロファイルを使用する事にしました。
※開発者用で構成するにはsetup.xmlを指定してください。
GlassFishの構成を行うと下記のトレースが出力されます。ここでGlassFishの管理サーバに
接続する為のポート番号の他、管理サーバインスタンスで使用されるポート番号等が
出力されますので、確認しておいてください。
yosshi > chmod -R 755 ./lib/ant/bin yosshi > ./lib/ant/bin/ant -f setup-cluster.xml Buildfile: setup-cluster.xml all: [mkdir] Created dir: /Users/yt133043/Desktop/glassfish/bin get.java.home: ********************************************中略 create.domain: [exec] Using port 4848 for Admin. [exec] Using port 8080 for HTTP Instance. [exec] Using port 7676 for JMS. [exec] Using port 3700 for IIOP. [exec] Using port 8181 for HTTP_SSL. [exec] Using default port 3820 for IIOP_SSL. [exec] Using default port 3920 for IIOP_MUTUALAUTH. [exec] Using default port 8686 for JMX_ADMIN. [exec] Domain being created with profile:cluster, as specified by variable AS_ADMIN_PROFILE in configuration file. [exec] Security Store used should be: JKS [exec] Domain domain1 created. [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 [/Users/yt133043/.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: /Users/yt133043/Desktop/glassfish/passfile BUILD SUCCESSFUL Total time: 31 seconds yosshi > rehash |
4. GlassFish管理ドメインの起動
構成が正常に終了すると次にGlassFishの管理ドメインを起動します。
GlassFishを管理する為には2通りの管理方法が存在します。
一つはコマンドラインから行うasadminコマンドと、そして
もう一つは、管理画面から操作を行う方法です。
※ 一部の操作(管理ドメインの起動等)はコマンドラインからしか実行できない物もあります。
asadminコマンドで実行できる操作の詳細についてはコマンド引数に–help
をつけて実行してください。引数で指定可能な一覧が表示されます。
asadinコマンドから管理ドメインを起動した後、ブラウザより [ http://HOST:4848 ] にアクセス
してみてください。管理画面へのログイン画面が出力されます。デフォルトの管理ユーザ名、パスワードは
それぞれ、 [ admin ] , [ adminadmin ] です。
yosshi > asadmin start-domain –user=admin domain1 Starting Domain domain1, please wait. Log redirected to /Users/yt133043/Desktop/glassfish/domains/domain1/logs/server.log. Redirecting output to /Users/yt133043/Desktop/glassfish/domains/domain1/logs/server.log Domain domain1 started. Domain [domain1] is running [Sun Java System Application Server 9.1 (build b50-beta3)] with its configuration and logs at: [/Users/yt133043/Desktop/glassfish/domains]. Admin Console is available at [http://localhost:4848]. Use the same port [4848] for “asadmin” commands. User web applications are available at these URLs: [http://localhost:8080 https://localhost:8181 ]. Following web-contexts are available: [/web1 /__wstx-services ]. Standard JMX Clients (like JConsole) can connect to JMXServiceURL: [service:jmx:rmi:///jndi/rmi://yosshi1.japan.sun.com:8686/jmxrmi] for domain management purposes. Domain listens on at least following ports for connections: [8080 8181 4848 3700 3820 3920 8686 ]. Domain supports application server clusters and other standalone instances. |
5. JRubyのインストール
GlassFishのインストールが完了すると、次にJRubyのインストールを行います。
JRubyはGlassFishのインストールしたディレクトリに存在する/lib配下に行います。
yosshi > cp jruby-bin-1.0.tar ./glassfish/lib/ yosshi > cd ./glassfish/lib/ yosshi > tar xvf jruby-bin-1.0.tar jruby-1.0/bin/ jruby-1.0/bin/_jrubycleanup.bat jruby-1.0/bin/_jrubysetcp.bat jruby-1.0/bin/_jrubyvars.bat jruby-1.0/bin/_jrubyvmopts.bat *****************************************中略 jruby-1.0/samples/scripting.rb jruby-1.0/samples/swing.rb jruby-1.0/samples/swing2.rbv jruby-1.0/samples/xslt.rb yosshi > rehash |
6. Railsのインストール
JRubyのインストールが完了すると、Railsもインストールしておきます。
Railsのダウンロード・インストールは約10〜15分程かかりますので、
その間はしばらく別の作業でもしておいてください。
yosshi > jruby -S gem install rails –include-dependencies Need to update 43 gems from http://gems.rubyforge.org ……………………………………. complete Successfully installed rails-1.2.3 Successfully installed activesupport-1.4.2 Successfully installed activerecord-1.15.3 Successfully installed actionpack-1.13.3 Successfully installed actionmailer-1.3.3 ******************************************中略 Installing RDoc documentation for actionmailer-1.3.3… Installing RDoc documentation for actionwebservice-1.2.3… |
6.1 Activerecord-JDBCのインストール(必要な場合)
これは、必要に応じてインストールしてください。goldspikeでwarを作成する場合、
本ライブラリが必要なようです。
yosshi > jruby -S gem install activerecord-jdbc Successfully installed ActiveRecord-JDBC-0.4 Installing ri documentation for ActiveRecord-JDBC-0.4… Installing RDoc documentation for ActiveRecord-JDBC-0.4… yosshi > jruby -v ruby 1.8.5 (2007-06-07 rev 3841) [i386-jruby1.0] yosshi > jruby -S rails -v Rails 1.2.3 |
7. Rails アプリケーションの作成
JRubyとRailsのインストールが完了しましたので、実際にサンプルの
アプリケーションを作成しましょう。JRuby on Railsのアプリケーションは、
GlassFishのドキュメントルート配下に直接作成します。
yosshi > cd /Users/yt133043/Desktop/glassfish/domains/domain1/ yosshi > pwd /Users/yt133043/Desktop/glassfish/domains/domain1/ yosshi > ls
yosshi > cd docroot/ cd docroot/ yosshi > jruby -S rails sample-app create create app/controllers create app/helpers create app/models create app/views/layouts create config/environments create components **************************************************中略 create public/javascripts/effects.js create public/javascripts/dragdrop.js create public/javascripts/controls.js create public/javascripts/application.js create doc/README_FOR_APP create log/server.log create log/production.log create log/development.log create log/test.log |
8. Railsプログラムの作成
HelloWorldの簡単なプログラムを作成してみます。
yosshi > cd /Users/yt133043/Desktop/glassfish/domains/domain1/docroot/sample-app yosshi > pwd /Users/yt133043/Desktop/glassfish/domains/domain1/docroot/sample-app yosshi > jruby script/generate controller hello exists app/controllers/ exists app/helpers/ create app/views/hello exists test/functional/ create app/controllers/hello_controller.rb create test/functional/hello_controller_test.rb create app/helpers/hello_helper.rb yosshi > cd app/controllers/ cd app/controllers/ yosshi > vi hello_controller.rb class HelloController “<H2>Hello World</H2>” |
9. Railsのroute.rbの修正
プログラムの作成が終わると、Routingを設定します。
ここでは、REQUEST_URI(sample-app/)を解釈し、controllerとactionを指定します。
yosshi > cd ../../config/ yosshi > vi routes.rb 下記を追加 map.connect ‘sample-app/:id’, :controller => ‘hello’, :action => ‘index’ |
10. GlassFishのドメイン中のdefault-web.xmlファイルの修正
JRuby on Railsのプログラムを作成した後、GlassFish上から作成したアプリケーションを
呼び出すための設定を行います。default-web.xmlという設定ファイルに、下記のコードを
記載してください。
yosshi > cd /Users/yt133043/Desktop/glassfish/domains/domain1/config yosshi > vi default-web.xml
|
11. ドメインの再起動(起動/停止)
ここで、設定を修正したので、ドメインの再起動を行います。
yosshi > asadmin stop-domain domain1 Domain domain1 stopped. yosshi > asadmin start-domain domain1 Starting Domain domain1, please wait. Log redirected to /Users/yt133043/Desktop/glassfish/domains/domain1/logs/server.log. 2007/06/20 4:12:23 com.sun.portal.portletcontainer.sdkinstaller.PortletContainerConfigurator main …… ( 中略 ) Domain listens on at least following ports for connections: [8080 8181 4848 3700 3820 3920 8686 ]. Domain supports application server clusters and other standalone instances. |
12. ドメイン上でサンプルアプリの動作確認
それでは、実際に、ブラウザ経由でサーバインスタンスに接続してみてください。
http://HOST:8080/sample-app
如何でしょう。HelloWorldは正常に表示されましたか?
正常に表示されたら、直接 controllerを修正して再度ブラウザより
アクセスしてみてください。
動的に修正が反影されている事が確認できましたか?
13. GlassFishのノードエージェントの作成
今、管理サーバインスタンスと同一上にアプリケーションを作成しています。
そこで、セキュリティ的にも問題ですので、新たにサービスを提供する為の
インスタンスを作成しましょう。インスタンスを作成する前にまず、
インスタンスを稼働させる為のノードエージェントを作成します。
yosshi > asadmin create-node-agent –user=admin yosshi1 Command create-node-agent executed successfully. |
14. ノードエージェント上にインスタンスの作成
ノードエージェントを作成した後、ノードエージェント上にインスタンスを
作成します。作成したインスタンスに接続する為のポート番号はHTTP_LISTENER_PORT
に記載されている(ここでは、38083)番号になります。
yosshi > asadmin create-instance –nodeagent yosshi1 instance1 Using 38,083 for HTTP_LISTENER_PORT. Using 38,184 for HTTP_SSL_LISTENER_PORT. Using 33,823 for IIOP_SSL_LISTENER_PORT. Using 37,678 for JMS_PROVIDER_PORT. Using 33,703 for IIOP_LISTENER_PORT. Using 38,689 for JMX_SYSTEM_CONNECTOR_PORT. Using 33,923 for IIOP_SSL_MUTUALAUTH_PORT. Command create-instance executed successfully. |
15. ノードエージェント+インスタンスの起動
ノードエージェントとインスタンスを作成した後、それぞれを起動します。
ここで、インスタンスはノードエージェントを起動した際に自動的に起動されます。
また、起動時に問い合わせされるadminとmasterのデフォルトのパスワードは、
それぞれ、 [ adminadmin ] , [ changeit ] になります。
yosshi > asadmin start-node-agent –user=admin yosshi1 Please enter the admin password> [ adminadmin ] Please enter the master password [Enter to accept the default]:> [ changeit ] Redirecting output to /Users/yt133043/Desktop/glassfish/nodeagents/yosshi1/agent/logs/server.log Redirecting application output to /Users/yt133043/Desktop/glassfish/nodeagents/yosshi1/agent/logs/server.log Redirecting output to /Users/yt133043/Desktop/glassfish/nodeagents/yosshi1/instance1/logs/server.log Command start-node-agent executed successfully. |
16. インスタンス上でのサンプルアプリの動作確認
それでは、最後に作成したインスタンスに接続してみましょう。
http://HOST:HTTP_LISTENER_PORT/sample-app
如何でしょう。HelloWorldは正常に表示されましたか?
※ プログラムの修正はかならず、domain/docroot配下に存在するコードを修正してください。
ノードエージェント上に存在するdocrootを修正しても、インスタンスを再起動した後
domain/docroot配下に存在する内容で上書きされてしまいます。
GlassFishではCentral Repositoryという機能が存在し、
ドメインで全てのコンテンツを管理しています。
そして、各インスタンスでは、そのRepositoryのキャッシュが存在するという
アーキテクチャになっていますので、キャッシュ上のコンテンツを編集しても
オリジナルのコンテンツが変更されていない場合、キャッシュに施した修正が
上書きされてしまいます。
そこで、修正は全てドメインに存在するコンテンツに対して行い、
各インスタンスに対する変更のアップデートは、インスタンスの再起動を実施し
行ってください。
asadmin stop-instance
asadmin start-instance
最後に
以上で、GlassFish上でCGI経由でJRubyを動かす方法について説明しましたが、
最初にも述べましたが、CGI経由の呼び出しは毎回JVMが起動されるため、
非常にコストが高くなっています。ただそれでも動的に変更が確認できるという点は
非常に有用です。ケースバイケースで本設定を御試しください。
Have a good JRuby environment !!
ビデオ
UNIX MagazineでApplication Server特集
さて、今日はGlassFishの紹介記事の紹介です。
JavaOneから帰ってきて、本来はサンフランシスコから
最新情報をタイムリーにお伝えする予定だったのですが、
あまり多くかけなかった理由を報告します。
実は、本日発売のUNIX Magazineで
アプリケーションサーバの特集を組むという事を、
現地で聞き、まだ構成等も含め何も決まっていない
状況だった為、掲載記事と重なると問題がでる可能性もあり
多くを書く事ができませんでした。すいません。
その分今回、日本サンのJavaエバンジェリストや
アプリケーションサーバ担当エンジニアでSJS Application Serverや
GlassFishに関して記載しておりますので、是非ご覧になってみてください。
UNIX magazine 2007年7月号
アプリケーションサーバのすべて
日本最速のスーパーコンピューター「TSUBAME」の技術
Sun Java System Application Server
サン・マイクロシステムズ
片貝正紀、荻布真也、吉田正人、岡崎隆之、寺田佳央
ホットトピックセミナーの開催
私事で恐縮ですが、2007年06月20日(水)に弊社用賀オフィスで
GlassFishに関するセミナーを開催することになりました。
まだ、若干席が空いてますので、御興味のある方は是非、
ご登録の上御参加いただければと思います
http://jp.sun.com/company/events/2007/000027.html
【開催概要】
■ タイトル 『2 時間で学ぶ今月の Java ホットトピック (6月号)』
■ 日程 2007年06月20日 (水)
■ 会場 世田谷ビジネススクエア 27F
■ 定員 60名
■ 費用 無料(事前登録制)
■ 主催 サン・マイクロシステムズ株式会社
【プログラム】
18:00 開場、18:30 セミナー開始、20:30 終了予定
1.「今が旬の GlassFish をおいしくいただくために」
Java エバンジェリスト 寺田 佳央
完成間近の GlassFish v2 のインストールからアプリケーション実行までを、実
演を交えて丁寧に解説します。また、少しずつ見え始めてきた、次期 v3 の新機
能についてもこっそり紹介します。
2.「リアルタイム Java はここが違う!」
Java エバンジェリスト 草薙 昭彦
時間についての制約が厳しいリアルタイムシステムにおいては、GC による遅延
やタスクのスケジューリングなど、さまざまな課題があります。リアルタイム
Java が、これらの課題をどのようにして解決するかを、その実装である Sun
Java Real-Time System 2.0 を使って解説します。
GlassFish v2のインメモリセッションリプリケーションの概要
JavaOneの初日以降アップデートができなくて申し訳ありませんでした。
期間中、急遽仕事が舞い込んできたため、アップデートができませんでした。
JavaOneについての報告は、他のエンジニアの方達が既にたくさん報告してくださって
いるので、改めてという事も少ないのですが。JavaOneのセッションにおいて、
GlassFish v2についてのセッションに出てきたので技術的な概要の紹介を少しします。
GlassFish v2よりインメモリセッションリプリケーション機能が追加されました。
この機能はショッピングサイトにおけるショッピングカートの実装を
思い浮かべてもらえば分かりやすいのですが、ユーザが買い物かごに入れた
商品のデータは通常HTTPセッションのようなメモリ上に格納されます。
このため障害が発生するとメモリ上のデータであるカートの情報は失われてしまいます。
セッションリプリケーションでは、システムに障害が発生した場合に、
このカートの情報が失われないよう他のマシンにも常にセッション情報を
コピーし保持しておく仕組みです。
GlassFish v2ではセッションリプリケーションを行うため2通りの方法を提供しています。
●HADB (High Availability Database)の使用
●オンメモリセッションリプリケーションの使用(New)
1つはSun Java System Application Server Enterprise Edition 7以降で
利用されているHADBを利用する構成です。
そしてもう一つは、今回新たに導入されたインメモリセッションリプリケーションです。
GlassFish v2より新しく追加されたインメモリセッションリプリケーションの
動作を下記に説明します。
インメモリ内に保持するセッション情報は下記の通りです。
●Http session state
●Stateful (EJB technology) Session bean state
クラスタ構成された各インスタンスはそれぞれ、自動的に決定されたペアが存在し、
それぞれのインスタンスとペア間でHTTPセッション等のデータをコピーし
単一システムの障害に備えています。
例えば、Instance 1とInstance 2がペアである場合、ロードバランサ経由で
Instance 1に最初のリクエストが要求されると、Instance 1でセッションが
作成された後、セッション情報はInstance 2にコピーされます。
この状況でマシンに何らかの障害が発生し停止した際、クライアントである
Web ブラウザからの要求に対して、下記のいずれかのマシンから応答が返されます。
これはロードバランサがマシンの障害を検出すると、別の送信先を任意に決定するためです。
1.ペアになっていたインスタンス(例:Instance 2)に要求された場合
2.ペアではないインスタンス(例:Instance 3 もしくはInstance4)に要求された場合
まずロードバランサ経由で、ペアになっていたインスタンス(Instance 2)に
要求された場合、ペアであったインスタンス(Instance 2)から直接応答を返します。
次に、ペアではなかったインスタンス(例:Intance 3、Instance 4)に要求された場合、
返信用封筒付[Self-Addressed-Stamped-Envelope (SASE)]のリクエストを、クラスタ内に
所属する全インスタンスにブロードキャストし、返信に応じたインスタンス
(例:Instance 2)よりセッション情報を受け取りWebブラウザに対して応答を返します。
また、クラスタ内では障害発生システムを自動的に検知しクラスタのメンバーから
はずす処理なども行われています。
このセッション情報の共有、クラスタメンバの動的再構成にはJXTAの技術が
用いられています。
最後に、
Sun Java System Application Server 8.xまでは高可用性を実現するためには、
HADB以外に選択肢がありませんでした。しかしGlassFish v2以降では、HADBに加え
インメモリセッションリプリケーションも選択できるようになります。
インメモリセッションリプリケーションは、HADBに比べスループットが向上します。
一方、HADBは99.999%の高可用性を実現する事ができます。
今後、御客様のニーズに応じ最適な構成を選択してください。
JavaOne初日の報告
JavaOne初日がようやく終わりました。
今日は本当に刺激的な1日でした。
朝会場に到着すると既に多くの人が集まっていました。
ジェネラルセッションについては既にマスコミの方が
記事にされてらっしゃいますので、私が語ることも
あまりないのですが。
http://journal.mycom.co.jp/news/2007/05/09/002/index.html
http://itpro.nikkeibp.co.jp/article/NEWS/20070509/270281/
http://www.itmedia.co.jp/enterprise/articles/0705/09/news017.html
http://www.itmedia.co.jp/enterprise/articles/0705/09/news009.html
http://itpro.nikkeibp.co.jp/article/NEWS/20070508/270178/
http://www.itmedia.co.jp/enterprise/articles/0705/08/news038.html
http://japan.cnet.com/news/ent/story/0,2000056022,20348401,00.htm
http://www.atmarkit.co.jp/news/200705/08/tim.html
http://www.itmedia.co.jp/enterprise/articles/0705/08/news070.html
http://japan.zdnet.com/oss/story/0,3800075264,20348370,00.htm
http://www.atmarkit.co.jp/news/200705/08/tim2.html
http://journal.mycom.co.jp/articles/2007/05/08/timbray/index.html
(順不同)
ポイントとしては下記の4つではないでしょうか。
●Sun Java System Communications Application Serverの発表
●JavaFXの発表
●JavaFX Mobileの発表
●OpenJDKの発表
この中で、記者の方達も注目するJavaFXのデモはとてもインパクトの
あるものでした。数行のスクリプトを記述するだけでリッチクライアントを
容易に作成できるようになっており、Flashに取って変わる技術になることが
期待されます。
さて、ジェネラルセッションの最後には毎年恒例のジェームスゴスリンによる
Tシャツ投げのイベントがありました。
私は前から10列目位の比較的前方に座っていたのですが、ジェームス
ゴスリンがこっちに向ってTシャツを投げました。
私は、社員だし他の人も手を挙げているから誰かがキャッチするだろうと、
思っていた所、そのTシャツはかなりのスピードで私の方にやってくるでは
ありませんか、それでものんきに構えていたら、結局誰も取らずに、私の
顔面に直撃!!私の顔に当ったTシャツは私の足元にコロリ、周りの人は
大丈夫?!と声を掛けてくれます。ははっ(^_^;)と苦笑いをしながら、
Tシャツを手にしました。そんなこんなで痛い目をして受け取った今年の
Tシャツは下記の物です。ちなみにサイズはアメリカンサイズのXLです。
私にはぶかぶかで到底着ることはできません。
記念に家に眠らせておくことにします。
さて、ジェネラルセッションが終わった後は、テクニカルセッションの始まりです。
今日は、午前中1つ、午後5つのセッションを聞いてきました。
最後のセッションはPM10:00~PM10:50までですので、かなりハードな1日でした。
また、テクニカルセッションの合間には、JavaOne Pavilionにも少し
顔を出してきました。Sunのブースでは、Project Black Boxのトレーラが
展示されていて実際にBlack Boxの中に入ったり中身を見ることも
できるようになっていました。また、Web Serverの展示場に言った所、
プロダクトマネージャーのJoeMcCabeさん(写真右)をはじめ
エンジニアリングチームのArvindさん(写真左)や、その上司達に
会うこともできました。
私はJoeさんにしか面識はなかったのですが、何故か、あちらで私の
名前が売れているらしく
Joeさんが「彼が日本の寺田 佳央だ」と言うと本当に喜んで会って
色々な会話をしてくれました。
Joeにはアジア圏でWeb Serverを紹介する際には、エバンジェリスト
として一緒に来ないか?!なんて誘いも受けましたが、
上司に相談しなければできないと言っておきました。
(その前に私の英会話能力もないけど。。。。)
お互いに可能であれば昼食を一緒に取らないか?と御誘いを受けたので、
可能な限り一緒に食事をしてきて交流を深めたり、日本のニーズを
伝えたりして来たいと思います。
Pavilion見学が終わった後、日本のJavaOneで私がハンズオンラボを行った際に
色々と手伝ってくださった、Doris Chenさんのセッションが会ったので、
久々という事もあり挨拶がてらにセッション(Top 10 Reason to Use NetBeans
SOA(Enterprise) Pack)を受けてきました。
SOA関連のBPELのデザイナの他、非常に簡単にSOAアプリケーションの作成が
可能になるツールですので、是非皆様も試しに使ってみてください。
次にGlassFish V3に関するセッションを受けてきました。
GlassFish V3ではHTTPを扱う部分ではGrizzlyを使用し、また
モジュール化が進める事により非常にコンパクトなアプリケーション
サーバになっています。極端な言い方をすれば携帯電話上でGlassFishを
動かすことができるようなくらい非常にコンパクトなつくりになっています。
このモジュール化については、オープンソースをする事により、より多くの
開発者が容易にモジュールの開発ができるように、また既存の
フレームワークとの統合等が容易にできるように、モジュール化を
できるようにしたという事でした。
これにより、例えばEJBが必要の無いサイトではEJBを組み込まないように等と
いった必要に応じてロードするモジュールを決める事ができるようになります。
このセッションが終わった後、このセッションにヘルプで着ていた、
Sun Microsystems Incの「川口 耕介」さん(JAXの第一人者)と
話をすることができました。
川口さんには開発の現場サイドからの生の声として色々と情報を頂きたいと
伝え、快く引き受けて頂きました。(かなりラッキーな出会いでした。)
長い1日でしたが、こちらに来て開発者達と直接交流が持てるため、
本当に来て良かったと思いました。
また、明日も頑張りたいと思います。
今は、AM1:00を回りました。疲れていて乱文乱筆になって申しわけありませんが、
どうぞ御許しください。
明日も朝早いので今日はこの位で寝たいと思います。
Before JavaOne(CommunityOne) in SanFrancisco
今日は、JavaOneカンファレンス2007の前日に開催されている
CommunityOneというイベントに行ってきました。
今日のサンフランシスコ
実は、日本から持ってきたデジカメが昨日突然壊れてしまい、(T_T)
急遽、今日の朝サンフランシスコで新しいカメラを調達するという
不運にも恵まれましたが、何とかCommunityOneのGeneral Sessionに
間に合うことができました。
午前中は、Generalセッションが開催され、Tim O’Reilly
によるスピーチが行われました。
セッションの後は、GlassFish Day関連のセッションに参加しました。
まず、一つ目のGlassFish v2の紹介のセミナーでは
Glass Fish v2に関する紹介が行われました。
このセッションは、Overviewと題するように概要が説明されました。
この中で特に1点だけ注目したのは、Glass Fish v2から
セッションリプリケーションの機能が入る事になった点です。
Applicationサーバのセッションリプリケーションは、
JXTAの技術(+ Project Shoal)を使用したオンメモリの
セッションリプリケーションのようです。
# Web サーバの実装とは異なるようです。
また、セッションリプリケーションのパフォーマンスに関しても、
Application Server 8.2までセッションリプリケーションとして使用していた
(GlassFishでも使えます)HADBよりも17%~25%も向上しているようです。
次に、「GF in Real Life」では、3つのGlassFishの導入事例が紹介
されました。
●Wotif.com
●MIT
●ビデオ配信会社
ここで、注目すべきは学術系以外に商用でも既に利用されているということです。
オープンソースを使用しているメリットとして、導入前に発見された約10個の
バグが、早急に解決され現在では殆どのバグが修正されたバージョンを使用
されているという事でした。
余談
明日からJavaOneが開催されますが、私は他の方と違い仕事柄ミドルウェア系を
中心に聞く予定ですので、他の方とは違ったJavaOneになるかと思います。
あまり、最初から色々書くと後から書けなくなると困るので
今日は、この辺にさせてください。
余談2:
休憩時間にはWIRESS LANで自由にネット接続が可能なため、
多くの方がそこら辺でネットに繋いで作業をしていました。
私も自分のPCで接続して調べ物をしたりしてましたがやはり便利ですね!!
サンフランシスコ到着
先ほど、サンフランシスコに到着しました。
飛行機の中ではあまり寝れなくて、半分寝ぼけた状態ですが、
今日一日散歩などをしてこちらの時間に合わせたいと思います。
ちなみに、今日の天気は快晴で長袖では暑すぎるくらいです。
JavaOne Conference 2007
今日はゴールデンウィークの中日ですが出社しています。
社内もいつもより人も少なく、若干静かな感じです。
このような日に私は会社で何をしているかというと、
出張前の残務整理を少ししています。
実は、今週の日曜日よりアメリカのサンフランシスコに1週間程出張します。
サンフランシスコでは、JavaOneカンファレンス 2007が開催されるのですが、
今回、チャンスを頂いてこのカンファレンスに行くことができるようになりました。

日本のJavaOneには過去何度か訪れたり、またSunの社員としてハンズオンラボ等も
行いましたが、本場のスケールの大きさは日本とは比べ物にならないと聞いています。
ですので、今から非常に楽しみにしています。
また、JavaOneの開催前日にはNetBeans DayやGlassfish Day等も開催され、
Glassfish等のアップデート情報なども仕入れてきたいと思います。
また、Web Serverのコアな開発技術者であるJyri VirkkiさんもBOFでECC(楕円曲線暗号化)について
発表する予定と聞いていますので、会う約束をしていたりします。
また、あちらで面白い情報などがあればアップデートしたいと思っております。
それでは、皆様
Have a good Golden Week!!
Sun Alert:102822
下記のバージョンを御使用中のWeb Server管理者の方へ、下記のSun Alertが
報告されました。
Sun Alert:102822 Sun Java System Web Server May Allow A User with Revoked Client Certificate to Access Server
【対応策】
Sun Java System Web Server 6.1 Service Pack 7もしくは
各プロダクト用のパッチが用意されておりますので、
是非早急なアップデートを御検討ください。
Product Downloads
Sun Java System Web Server 6.1 Service Pack 7
【問題】
ある条件下で、取り消し(revoke)されたクライアント証明書を持つユーザが
有効なCRLを含むWeb Serverのインスタンスに対してアクセスされる。
【影響のあるバージョン】
SPARC Platform
* Sun Java System Web Server 6.1 without Service Pack 7
* Sun Java System Web Server 6.1 without patch 116648-19
x86 Platform
* Sun Java System Web Server 6.1 without Service Pack 7
* Sun Java System Web Server 6.1 without patch 116649-19
Linux Platform
* Sun Java System Web Server 6.1 without Service Pack 7
* Sun Java System Web Server 6.1 without patch 118202-11
AIX Platform
* Sun Java System Web Server 6.1 without Service Pack 7
HP-UX Platform
* Sun Java System Web Server 6.1 without Service Pack 7
【影響の無いバージョン】
* Sun Java System Web Server 6.0
* Sun Java System Web Server 6.1 for Windows
* Sun Java System Web Server 7.0
PS.
先ほどWeb Serverのパフォーマンスに関する良い記事を書いたばかりなので、
タイミングが少し悪かったですね。
しかし管理者の皆様へ今後も安心して御使用いただくためにも、
このような情報も可能な限り本ブログで公開して行きたいと思います。
最近発効されたSun Alert一覧
