Posts filed under '未分類'

HTTP TRACE メソッドの無効化 on GF v3

GlassFish v3.0 の HTTP リスナーの設定はデフォルトで TRACE メソッドが有効になっています。

$ telnet localhost 8080
Trying ::1…
Connected to localhost.
Escape character is ‘^]’.
TRACE / HTTP/1.1
Host: localhost



HTTP/1.1 200 OK
Server: Oracle GlassFish Server 3.0.1
Content-Type: message/http
Content-Length: 35
Date: Tue, 07 Sep 2010 08:45:33 GMT


TRACE / HTTP/1.1
host: localhost

TRACE メソッドを無効化するためには、asadmin の set サブコマンドで trace-enabled オプションを true から false に変更してください。

$ asadmin set configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.trace-enabled=false
configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.trace-enabled=false

コマンド set は正常に実行されました。

設定変更後、再度アクセスすると無効になっている事を確認できます。

$ telnet localhost 8080
Trying ::1…
Connected to localhost.
Escape character is ‘^]’.
TRACE / HTTP/1.1
Host: localhost


HTTP/1.1 405 TRACE method is not allowed
Allow: POST, GET, DELETE, OPTIONS, PUT, HEAD

Content-Length: 0
Date: Tue, 07 Sep 2010 08:50:53 GMT

Add comment 2010年9月7日

X-Powered-By ヘッダの削除方法 on GF v3

ちょっとしたメモです。
GlassFish v3.0.x で X-Powered-By ヘッダを削除する方法を下記に示します。標準の設定で GlassFish にアクセスすると、下記のように “X-Powered-By” ヘッダが表示されます。

$ telnet localhost 8080
Trying ::1…
Connected to localhost.
Escape character is ‘^]’.
GET / HTTP/1.1
Host: localhost


HTTP/1.1 200 OK
X-Powered-By: Servlet/3.0
Server: Oracle GlassFish Server 3.0.1
Accept-Ranges: bytes
ETag: W/”5147-1282383202000″
Last-Modified: Sat, 21 Aug 2010 09:33:22 GMT
Content-Type: text/html
Content-Length: 5147
Date: Tue, 07 Sep 2010 08:10:51 GMT

これはデフォルトで作成される HTTP リスナーの設定において有効化されているためです。

$ ./asadmin get configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.xpowered-by
configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.xpowered-by=true

コマンド get は正常に実行されました。

これを無効化するためには、下記のように無効化(false)に設定してください。

$ ./asadmin set configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.xpowered-by=false
configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.xpowered-by=false

コマンド set は正常に実行されました。

設定変更後、再度アクセスすると”X-Powered-By” ヘッダが削除されている事を確認できます。

$ telnet localhost 8080
Trying ::1…
Connected to localhost.
Escape character is ‘^]’.
GET / HTTP/1.1
Host: localhost


HTTP/1.1 200 OK
Server: Oracle GlassFish Server 3.0.1
Accept-Ranges: bytes
ETag: W/”5147-1282383202000″
Last-Modified: Sat, 21 Aug 2010 09:33:22 GMT
Content-Type: text/html
Content-Length: 5147
Date: Tue, 07 Sep 2010 08:19:09 GMT

※ Server ヘッダは現時点では削除できませんが、もうすぐでできるようになるらしいです。
https://glassfish.dev.java.net/issues/show_bug.cgi?id=6900

追記:GlassFish v3.0.1では下記のサブコマンドを実施し変更できました。

$ ./asadmin create-jvm-options -Dproduct.name=”My Own Server”
1 オプションを作成しました
コマンド create-jvm-options は正常に実行されました。
$ ./asadmin restart-domain domain1
ドメインは正常に再起動されました
コマンド restart-domain は正常に実行されました。

ドメインを再起動した後、再度アクセスして確認してください。

$ telnet localhost 8080
Trying ::1…
Connected to localhost.
Escape character is ‘^]’.
GET / HTTP/1.1
Host: localhost


HTTP/1.1 200 OK
Server: My Own Server
Accept-Ranges: bytes
ETag: W/”5147-1282383202000″
Last-Modified: Sat, 21 Aug 2010 09:33:22 GMT
Content-Type: text/html
Content-Length: 5147
Date: Thu, 09 Sep 2010 01:58:41 GMT

Add comment 2010年9月7日

Java EE 6 & GlassFish v3 の概要

先日開催した、ダイセミの発表資料を公開します。

普段は

ここに書いたように、プレゼン発表をする際に原稿をおこすことは殆どないのですが、ダイセミはいつもの人前でのプレゼンと違い、目の前のパソコンに向かって説明を行うので、私としてはとてもやり辛いプレゼン環境です。そこでダイセミ用には原稿を作成しておりました。(以前のJavaSEの時もダイセミ用には原稿を作成しました。)
せっかく文章を作成しており、これを捨てるのももったいないので、原稿をそのままここに掲載します。自分の発表用の元ネタとして作成しているので口語表現でおかしな部分もあるかと思いますが、プレゼンをめくる際に、この原稿を読み進めていただければわかりやすいかと思いますので、どうぞご活用ください。

Page 1
************************************************************
今日は、GlassFishで実感、エンタープライズ Java の進化と題してJava EE 6 と GlassFish v3 の新機能をそれぞれ紹介したいと思います。資料が若干多いため足早に説明をしますが1時間程どうぞ宜しくお願いします。
************************************************************

Page 2
************************************************************
本日のアジェンダは下記のような流れで進めたいと思います。
************************************************************

Page 3,4
************************************************************
はじめに、もう一度 Java EE を見直してみませんか?
************************************************************

Page 5
************************************************************
Java EE の開発にこのようなイメージを持っていませんか?Java EE は XML の設定が困難、設定が膨大、パッケージも面倒、動作させるアプリケーションサーバも重い。。。。。
************************************************************

Page 6
************************************************************
皆様、もし今このようなイメージをお持ちでしたら、そのイメージを是非一新してください。今日、皆様にお伝えしたいメッセージはこのページに凝縮されていいます。Java EE 6 になり Java EE 5 から比べてもさらに簡単開発が進化しました。また、Java EE 6 のアプリケーションの動作環境であるアプリケーションサーバ、GlassFish v3はとても簡単ですし、とても軽量です。もう Tomcat を使う必要はどこにもありません。さらに、今年の年末にリリース予定の GlassFish v3.1 はクラスタ機能を持ち本番環境向けの機能も提供します。
************************************************************

Page 7
************************************************************
さて、それでは実際にそれぞれの概要について説明していきたいと思います。まず、始めに Java EE 6 の概要を紹介します。Java EE 6 は昨年末に正式リリースされました。
************************************************************

Page 8
************************************************************
まず、Java EE 6 のテーマについて紹介します。今回は時間の関係上 JavaEEに含まれる全ての機能/仕様を紹介することはできません。これらの中から重要となるポイントだけをピックアップして紹介して行きたいと思います。

テーマはここに記載するように、拡張性、プロファイル対応、Pruning、より進んだかんたん開発の4点が挙げられます。
************************************************************

Page 9
************************************************************
拡張性についてですが、Servlet 3.0 や JSF 等においては設定ファイルの記載がオプション化され、それぞれ設定ファイルで記載してた内容をプログラミング上でアノテーションを使用して記載する事が
できるようになりました。また仮に web.xml の設定をした場合でもweb.xml の内容が巨大化して可読性が悪くなった場合、各フレームワーク毎に設定ファイルを分け web-fragment.xml を記載し設定ができるようになったため、拡張性が高くなりフレームワーク管理が容易になりました。
************************************************************

Page 10
************************************************************
続いてプロファイルですが、Java EE 6 から新たにプロファイルと呼ばれる概念が導入されました。これは Java EE の全ての機能を提供するのではなく必要な技術を用途に応じて選択し、全ての Java EE の機能のサブセットを提供する事ができるようになりました。例えば、将来的には電話会社向けのプロファイルといった物も提供されるかもしれません。

今回、Java EE 6 のリリース時に最初に提供されるプロファイルはこちらに記載した2点になります。一つは Web プロファイルで、 Web の開発に特化した物、そして Enterprise Platform と呼ばれる、今までと同じJava EE のフルセットを提供するものが用意されています。
************************************************************

Page 11
************************************************************
Web プロファイルについて、含まれる技術をこちらに記載しています。この中に含まれるものは、基本的な Web アプリケーション開発に必要とされる技術だけをピックアップした物です。 この中に EJB Lite と記載していますが、これも EJB の全ての機能ではなく一部の機能だけを含むものです。例えば、EJB Lite にはメッセージドリブンビーン等は含まれません。Java EE の全てではなく Web の開発に特化したサブセットだと認識してください。

このプロファイルの導入メリットは不必要な機能を含まない事により無駄なリソースを消費しなくて済むといったメリット等があります。
************************************************************

Page 12
************************************************************
続いて、Pruning について紹介します。Java EE 6 で初めて仕様の削減を行う事が計画されました。今まで、Java EE は巨大化の一歩をたどって来た歴史がありますが、ここで仕様として古くなった物、使われなくなった API を整理し新しく置き換わった仕様があれば、そちらに移行して頂くようにこのような取り組みを行っています。例えば、JAX-RPC は JAX-WSへ Entity Bean は JPA と便利で扱い易くなった仕様へ移行していただく事を推奨します。

ただし、いきなり使えなくすると既存のアプリケーションに対して非常に大きな影響がでます。ですので、影響を極力すくなくするため、まずは削減候補をオプション化し、さらに次のバージョンで削除するという2段階のプロセスを経て削除するという安全策が講じられております。

現時点で、削減候補の仕様を多用されているお客様は削減候補となった仕様に置き換わる技術への移行をおすすめ致します。
************************************************************

Page 13
************************************************************
続いて Servlet 3.0 について紹介します。Servlet 3.0 は JSR-315 で仕様が制定されましたが、特徴としてここに挙げるようなポイントがあります。中でもマルチパート対応としてファイルがアップロードできる機能が標準仕様に盛り込まれた他、非同期 Servletを実装する事ができるようになったため、Comet等で実現していた Server Push の技術を Servlet で実現できるようになりました。

重要なポイントは、Java SE 5 の言語仕様で追加されたアノテーションベースの宣言的プログラミングモデルを採用し、ジェネリクス等を扱い型の安全性等も強化された点が挙げられます。
************************************************************

Page 14
************************************************************
Servlet 3.0 で指定可能なアノテーションをこのページに記載します。プログラム上でアノテーションを記載した場合でも設定を上書きしたい場合は、web.xml に記載する事で上書きができます。
************************************************************

Page 15
************************************************************
このページでは実際の Servlet 3.0 のサンプルコードを記載しています。この例の赤文字の部分に記載したように、Servlet 2.5 までは web.xml に記載していた内容をプログラム上で記述する事ができるようになっています。
************************************************************

Page 16
************************************************************
続いて、EJB 3.1 について紹介します。EJB 3.1 は JSR-318 で制定されました。

特徴は、こちらに示すようなポイントが挙げられます。EJB 3.1 の個々の特徴に関する詳細は最後に紹介する参考 URLの私のブログで参照して頂ければと思います。
************************************************************

Page 17
************************************************************
ここでは、EJB 3.1 の内便利になった機能を紹介します。その1つはパッケージングが簡略化された事です。今まで EJB は ear ファイルにまとめたり、web 関連モジュールは war にまとめたりとパッケージングするのがとても面倒でした。
************************************************************

Page 18
************************************************************
EJB 3.1 からはパッケージングがとても簡単になり、EJB クラスも単一の war ファイルへ含める事が可能になりました。もちろん今までのようにパッケージングして頂いても問題はございません。また、配備記述子もオプション化されたため、開発者にとっての負担が大幅に軽減されています。
************************************************************

Page 19
************************************************************
また、EJB 3.1 から EJB 3.1 Lite と呼ばれるサブセットを提供しWeb Profile で利用できるようになっています。ここに記載されているようにLite に含まれる機能だけで十分な場合は、Web Profile 版を利用する事ができます。一方、MDBやタイマーサービス等 Full に含まれる機能を利用したい場合は、Enterprise Platform 版を利用してください。

このようにニーズに応じて不要な物を含ませない事ができるようになったのは、Java EE 6 の特徴の一つです。
************************************************************

Page 20
************************************************************
続いて、Bean Validation について紹介します。この仕様は、JSFとJPAに統合されており、ManagedBeanやEntityクラス内で利用することができます。JSFとの統合では、たとえば、コンポーネントに対するバリデーションの結果、メッセージをJSFコンポーネント内に表示させることも可能です。

これらのバリデーションもアノテーションを使用して簡単に記述する事ができます。また、すでに提供されているバリデーション以外にも、カスタムバリデーターを作成することもできます。
たとえば、Emailアドレスの記載内容をチェックするカスタムバリデータを独自に作成することができます。
************************************************************

Page 20
************************************************************
続いて、JPA 2.0 について紹介します。Java Persistence API 通称 JPA はJava EE 5 では EJB 内に含まれていましたが、JPA 2.0 からは Java SE 内からも利用ができるように、仕様が独立しました。JPA 2.0 で提供される機能は基本的には JPA 1.0 プラスα、なのですが、これは実際に JPA 1.0 を使用しているお客様からのフィードバックの元に追加された便利な機能を含んでいます。例えば Entity クラスの作成方法によってより柔軟なデータベーステーブルのモデリングができるようになった他、SQL 分ライクな JPQL についても新しい構文が追加されております。
その他便利な機能が多く含まれますので、こちらも別途私のブログに詳細に記述したプレゼンを用意していますので、ご参照ください。
************************************************************

Page 21
************************************************************
今日は、JPA 2.0 で追加された新機能の内 Criteria API をご紹介します。JPA 1.0 では JPQL という SQL 分ライクな文字列を記載して データベースのクエリーを実行するしか方法はありませんでしたが、Criteria API はJPQL の代わりにプログラミング上でクエリを記載する事ができるようになりました。

文字列で記載する場合、クエリ文字列の記載ミス等があった場合、プログラミング中にはそのミスには気付かず、実行時に初めてランタイムエラーが発生しミスに気付きます。

開発時において、もしくは運用時も実行しなければエラーに気付かないのは非常に危険です。このようなランタイムエラーを極力さける事ができるのがCriteria API と Metamodel API の併用です。全てのデータベースに対するクエリーを Java プログラムだけで記載できるため、コンパイル時もしくは、統合開発環境が開発時にエラーを教えてくれます。そこで、ランタイムエラーが発生する前にミスに気付く事ができとても便利です。
************************************************************

Page 23
************************************************************
次は JSF2.0です。
JSF2.0の特徴ですが、大きなところで、Faceletsが採用され点があげられます。このため、JSPに代わりXHTMLによるビューの記述ができるようになりました。またこれにより、テンプレートの作成も簡単にできるようになりました。

また、かんたん開発の一環として、faces-config.xmlがオプション化されました。ManegedBeanをアノテーション化したり、JSFの各ページ間のナビゲーションを改良し、ボタンやリンク名からXHTMLファイル名をマッピングするようになりました。

その他、リソースフォルダを標準化したり、Ajax対応/ブックマーク可能なURLなどの機能が追加されています。
************************************************************

Page 24
************************************************************
最後にDIについて紹介します。従来のDIに追加して、CDIという機能が追加されました。これは、CDI: Context and Dependency Injection for Java EE の略で、当初はJSR299でWebBeansという名称で仕様作成されていました。CDIでは、Java EE 5よりもより汎用的にDIを利用することができるようになっています。

新たなアノテーションとして、@Injectで注入するフィールドを定義します。また、独自のインジェクションポイントを自由に定義することも可能です。

CDIでは、EJB SssionBeanやJSFのManagedBean、CDIコンテナがモジュール内で見つけたBeanクラスをInject対象とすることができます。このCDI機能は、起動時のクラスロードによる負荷があるため、デフォルトでは無効となっております。有効かするためには beans.xmlというファイルを定義し有効化されます。beans.xmlは空のファイルでもかまいません。

以上で、足早に、Java EE6 の新機能について紹介してきましたが、いずれの機能もよりかんたん開発をめざして改良が施されておりますので、Java EE は理解するのも難しい、コーディングするのも難しい、パッケージングするのも大変等といった過去の悪しきイメージは取り除いていただき、今一度このかんたんになった Java EE 6 を是非試して頂ければと思います。
************************************************************

Page 25, 26
************************************************************
続いて、GlassFish v3 について概要を紹介しますGlassFish v3 は Java EE 6 の参照実装で世界で初めてJava EE 6 の仕様に完全に準拠したサーバとして提供しております。

このアプリケーションサーバは、非常に軽量で起動もとても高速です。また、Java EE 6 のプロファイルに対応し、Web Profile 版、Enterprise Platform 版のそれぞれを提供しています。

過去のバージョンに比べ、アーキテクチャも刷新され、OSGi のモジュールサブシステムが新たに導入されました。

簡単な操作という観点では、インストールも zip 版を提供しているのでunzip するだけですぐ使える環境を用意することもできます。

また、あらたに JRockit Java VM を正式サポートするようになりました。
************************************************************

Page 27
************************************************************
起動時間が高速という事なのですが、これは実際にインストールして試して頂きたいのですが、私が普段使用している Mac OS/Xでは約4秒程でアプリケーションサーバが起動します。非常に軽量なコンテナで、アプリケーションサーバは重いというイメージを払拭するサーバです。

開発時にはアプリケーションサーバを頻繁に再起動する場合がありますが、このアプリケーションサーバは非常に高速で起動/再起動ができますので開発時の待ち時間を大幅に減少する事ができます。また運用時においても再起動による待ち時間を大幅に減少する事ができます。
************************************************************

Page 28
************************************************************
かんたん開発では、今世の中で有名な統合開発環境はサポートしており、統合開発環境と連携して開発がとても楽になります。
************************************************************

Page 29
************************************************************
また、これは GlassFish が持つ機能なのですが、アプリケーションの再配備の時に以前のセッションを保持したまま再配備ができる機能を提供していますので、アプリケーション開発においては非常に便利です。例えばログインをするようなアプリケーションを構築している場合、ある一部を修正して再配備するだけで、もう一度ログインから行わなければなりませんでしたがセッションを持続するおかげで再ログインする必要がなくなります。
************************************************************

Page 30
************************************************************
また、かんたんな管理機能として Web ブラウザからアクセスできる GUI の 管理画面を用意していますので、直感的に理解しやすいインタフェースを利用して簡単に管理を行う事ができます。その他、v3 から RESTful インタフェースを利用した管理もできるようになっています。
************************************************************

Page 31
************************************************************
つづいて、GlassFish は非同期 I/O に対応したサーバとして実装されております。

今までの Web Server/Application Server はマルチスレッドの同期I/O(Blocking I/O)として実装された物が主流でした。

同期 I/O 型のサーバの処理内容を左の絵を使って説明します。仮にサーバがスレッドプール内に3つのスレッドを保持している状態で、同時に5個のリクエストが来た事を想定してください。この時各処理はリクエスト毎にブロックされているため、残り2つのリクエストはキューに溜まったままになり、他のスレッドの処理が終わらないと処理する事ができません。これを右側の非同期 I/O のサーバを使った場合、各処理をブロックしないで処理ができるので少ないスレッドで数多くのリクエストを
さばく事ができるようになります。

リクエスト数が少ない場合は、マルチスレッド型のサーバの方がパフォーマンスがよいですが、リクエスト数が多くなればなる程、非同期 I/O の方がパフォーマンスがよくなります。
************************************************************

Page 32
************************************************************
続いて、GlassFish のアーキテクチャについて紹介します。今日は、詳細を説明する事はできませんが、OSGi のモジュールサブシステム上でアプリケーションサーバが動作している事をご理解ください。

このOSGi モジュールサブシステム導入のメリットは、アプリケーションサーバを再起動する必要がなく、追加モジュールをアプリケーションサーバに追加できたりもしくは不要になった機能を停止/削除する事ができるようになる点です。

また、OSGi の導入により GlassFish 自身を利用者の皆様のご自身でご自由に拡張できるようになったのも一つのポイントです。

GlassFish では自由に拡張できるように、管理機能を拡張したい開発者のためにAPI を公開していますので、拡張可能なアプリケーションサーバといえます。
************************************************************

Page 33
************************************************************
次に 組み込み可能コンテナについて紹介します。GlassFish の組み込み可能コンテナの機能を使って
GlassFish の持つ機能を、他の Java アプリケーションから利用できるようになりました。

例えば、GlassFish をインストールしたり設定せずに、GlassFish のライブラリをコピーするだけで、自分が独自に作成した Javaアプリケーション内でGlassFish の Web サーバ機能を使ったり、内部的にアプリケーションをデプロイして GlassFish のドメイン管理機能を使わずに限定したサービスだけを提供する事もできます。

また、開発時に有効なのは、EJB のテストが非常に楽になる点です。今ままで EJB の単体テストを行う際には、作成した EJB を一度アプリケーションサーバにデプロイした後、リモートからアクセスする等してテストを行っていたかと思います。
しかし、組み込みコンテナを使うと、JUnit のテストコード中でコンテナを起動させ同一 JavaVM のプロセス内で EJB のテストを行う事ができるようになりEJB の単体テストが大幅に楽になります。
************************************************************

Page 34
************************************************************
JUnitのテストコードのサンプルを記載します。赤文字で記載したように、プログラム中で EJB コンテナを起動し、JNDI のルックアップだけでテストができるようになりとても便利です。

以上で GlassFish v3.0 の概要説明は終わりです。
************************************************************

Page 35
************************************************************
最後に GlassFish の今後について若干触れておきたいと思います。
************************************************************

Page 36
************************************************************
今後についてですが、
まず、GlassFish v3.1 というものが今年の年末にリリースされる予定です。これは、複数台のマシンで稼働/管理ができるクラスタ機能を持つものでまた高可用性機能も提供する予定です。また Coherence にも対応する予定です。

次に、来年以降 v3.2 で v3.1 に対する改良版を提供する予定です。このバージョンでは次期 Java EE の 7 のアーリアクセス機能も提供する予定です。

最後に、GlassFish v4 では Java EE 7 に対応した物をリリースする予定です
************************************************************

Page 37
************************************************************
GlassFish v3.1 ではクラスタ対応がメインの機能ですが、その他、HTML5のWebSocket 対応等も含まれます。
************************************************************

Page 38
************************************************************
次に、GlassFish v3.1のクラスタ機能を紹介したいのですが、その前に既存の v2.1 のクラスタ機能についてかんたんに紹介します。v2.1 では分散されたマシン上にノードエージェントと呼ばれるエージェントプロセスを必ず導入する必要がありました。このノードエージェント経由でサービスの起動/停止等のライフサイクルの管理を行っていました。
************************************************************

Page 39
************************************************************
一方、GlassFish v3.1ではノードエージェントの代わりに 各マシン上で SSHD のデーモンプロセスを起動し SSH 経由でサービスの起動/停止等を行うように変更されました。これにより以前にくらべ軽量に命令を実行させる事ができるようになります。
************************************************************

Page 40
************************************************************
最後に、ざっと GlassFish の特徴について紹介します。
後ほど、私のブログで本資料を公開しますので、詳細は後ほどご確認ください。
************************************************************

Page 41
************************************************************
参考情報は下記の通りです。
私のブログの URL はここに記載している yoshio3.com になります。
************************************************************

Page 41
************************************************************
まとめます。
Java EE 6 でさらに簡単開発がすすみました。XML による設定ファイルの編集はすくなくなりました。また、組み込みコンテナを使って EJB の単体テストも簡単になります。また、GlasssFIsh はとても軽量です。インストールもとても簡単です。Tomcat をまだ使っている方は是非 GlassFish を試してみてください。

今後でてくる GlassFish ではクラスタ機能も提供する予定です。

以上で本日の私からの発表は以上です。
どうもご清聴ありがとうございました。
************************************************************

Add comment 2010年9月1日

夏休み!!

ちょっと、現実逃避です。

先週、忙しかった仕事も一段落したので、先週の金曜日に有給取得(夏休み)して1泊2日で福島に行ってきました。今週の木・金も夏休みを頂く予定です。もう暦的には夏も終わりかぁ。(まだまだ暑いけど。)




さて仕事、仕事。

Add comment 2010年8月31日

先進的アプリケーションサーバ GlassFish v3 のご紹介

本日の Oracle Sun Technology Update イベントで発表時に使用したファイルを公開します。

今日の発表はGlassFish v3 の概要ではなく、一歩踏み込んだアーキテクチャ紹介(モジュールサブシステム)等を行いました。GlassFish v2 からさらに進化した GlassFish v3 を是非ご覧ください。

Add comment 2010年8月19日

Java とはなんぞや?Oracleダイセミ発表資料公開

先日、オラクルのダイレクトセミナーで Java に関する超入門を発表しました。普段は EE 周りしか人前で話をすることはないですし、また今更ながらの Java とはなんぞや的なネタだったので、普段とは異なり少し緊張しながら発表しました。
プレゼン資料は、Java の過去の歴史から現在までを写真を交えながら説明しているので、まさしく初学者にとって Java って何?を理解するにはよいかもしれません。

ちなみに、この資料は元 Sun の Java エバンジェリスト山口浩さんが以前作成された資料を元に作成しています。山口さんありがとうございます。

PS.
さて、目黒雅叙園のイベントが明日に迫りましたがご安心ください。発表用の原稿は既にできて提出しています。Twitter でもつぶやきましたが、明日の発表は GlassFish v3 の概要的な紹介は少なく、もう少し踏み込んだ GlassFish のアーキテクチャやモジュールサブシステム(OSGi/HK2)の紹介、また GlassFish がモジュールサブシステム上で動くメリット、v3 のGrizzly の振る舞い等を説明する予定です。
また v3.1 の機能についても若干説明する予定です。
どうぞお楽しみにしてください。

追記:(8/20)
************************************************************
櫻庭さんからP27のヒープ領域についてご指摘をいただきました。P 27 のNew領域に Eden領域とFrom/Toを記載していますが、Eden領域を記載したのであれば、From/Toを記載するのではなく、Suvivor領域と記載すべきでした。
櫻庭さん適切なご指摘をいただきましてありがとうございました。
************************************************************

1 comment 2010年8月18日

mediacast.sun.com 7/29 に閉鎖

http://mediacast.sun.com/ のサイトが US 時間の 7/29で完全閉鎖されるようです。

私のブログからもこのサイトへ数多くのコンテンツをアップロードしていますが、僅々で資料、サンプル等が必要な方は今すぐダウンロードの程宜しくお願いします。
別途ファイルのアップロード先等が決まれば、そちらへ張り替える予定ですが、現時点でどこへアップすべきか私が分かっていないので、7/29 以降は mediacast のコンテンツは入手できなくなります。

過去に私が作成した資料へのリンク
どうぞ宜しくお願いします。

PS.
私が mediacast にアップした資料の中ではGrizzly のプレゼン資料が最もダウンロードされているようでした。

mediacast には海外のエンジニアも有用な情報を数多くアップしているので、このようなサイトが無くなるのはとても残念です。自動でどちらかにマージしてくれれば良かったんですけどね。

2 comments 2010年7月26日

GlassFish v3.1 の各種仕様公開

次期バージョンである GlassFish v3.1 の開発仕様が公開されました。GlassFish v3.1 の各種機能に関するご意見、ご要望等がある場合は
レビューテンプレート
に従ってお寄せください。

※ 過去、日本人利用者からも仕様変更要求を頂いたことがありますので、どなたでも気軽にご意見を頂ければと思います。

GlassFish v3.1 に含まれる全ての機能仕様書はこちらから参照できます。
また、本日の時点で GlassFish v3.1 の マイルストーン1 がリリースされており、
入手可能です。

GlassFish v3.1 は 2010年12月のリリースに向けてこれから本格的に開発が進んでまいります。より良い製品にするため皆様からの基調なフィードバックをたくさん頂ければと思います。

Add comment 2010年6月2日

「GlassFish v3 で実感!! エンタープライズ Java の進化」資料公開

Java Hot Topic セミナーのプレゼン資料とデモを公開します。

今回の発表のポイントは、Java EE 6 になり開発が如何に楽になったか、アプリケーションサーバのインストールも起動も如何にかんたんで高速になったのかという点に集中して説明を致しました。原稿は合計 120ページ程ありますが、全てを発表したわけではなく、抜粋して説明しました。特に JPA 2.0 については日本でまだあまり資料がないので参考にして頂けるのではないかと思います。


「GlassFish v3 で実感!! エンタープライズ Java の進化」プレゼン資料 (PDFの入手)

Java EE 6 のかんたん開発デモビデオの入手

GlassFish v3 のかんたんインストールデモビデオの入手

Add comment 2010年5月30日

Java Hot Topic セミナー終了

昨日(5/29)、Java ホットトピックセミナーを開催しました。



今回は土曜日の開催にも関わらず多くの皆様にご参加頂きまして
誠にありがとうございました。またアナウンスをしてたった1日で定員に達してしまったため、参加できなかった方には大変申し訳ございませんでした。

このイベントは 5/17 に(大渕さん、片貝さん、私の3人)企画を始めたのですが、企画当初は本当に開催ができるのか全く予断を許さない状況でした。当初 5/31(月) に開催しようとしていたのですが、会場の確保ができず、それ以外の日程も検討したのですが、各人のスケジュールがあわず駄目で一時は開催断念まで考えていました。しかし思い切って土曜日にしよう、それなら開催できるという事が判明し週末になりました。週末開催のため、どの位の方に参加して頂けるか不安な部分もありましたが、申し込み開始当初の登録状況を確認し不安は払拭致しました。開催まで1週間を切った中での緊急開催の告知となり申し訳ございませんでした。またこのような状況の中ご登録・ご参加頂いた Sun/Java ファンの皆様、本当にありがとうございました。

最後に、日々状況が変わる中で特に櫻庭さんには大変ご迷惑をお掛けしました。とてもお忙しい中、発表に関して快諾して頂いた他、開催実現に向け最初から最後までとても手厚いサポートを頂きました。本当にありがとうございました。
また、他のエバンジェリスト(町田さん、戸島さん、相澤さん、畠中さん)の皆様にも会場の準備から受付等お手伝い頂き本当にありがとうございました。今回開催できたのはサポート頂いた全ての方々のサポートのおかげで実現できました。Sun の Java エバンジェリストグループの一員として活動ができ本当に良かったです。ありがとうございました。

PS.
1週間で Sun のノベルティを色々な所からかき集めて来たのですが皆様ちゃんとグッズゲットできました?あれだけあれば1人1つは入手できたのではないかと思うのですが。
(狭い場所で提供する事になり申し訳ありませんでした。)

懇親会にも多くの皆様にご参加頂きました!!ありがとうございました。


(画像を押下すると拡大できます。)

Add comment 2010年5月30日

Previous Posts


カレンダー

2010年9月
« 8月    
 12345
6789101112
13141516171819
20212223242526
27282930  

カテゴリー

タグクラウド

Administration Atmosphere Comet Crypto Framework Eclipse Enterprise Manager GlassFish GlassFish ESB GlassFish Portfolio GlassFish v3 Prelude Grizzly Hudson ICEfaces Java JavaEE Java EE Java New I/O JavaOne Java Werehouse JPA Kenai Load Balancer MySQL Non Blocking I/O OpenSSL Oracle OSGi Performance Advisor RESTful SailFin Servlet Sun Terracotta Tomcat v3 Web Server WebSpace Server WebStack WebSynergy Web サービス ここから始める インスタンス クライアント認証 プレゼン一覧 採用事例

最近の投稿

Twitter

過去の人気記事

ブログ統計情報

RSSフィード

アーカイブ

ブログ管理