SlideShare una empresa de Scribd logo
1 de 15
Wicket + EJB3 on JBoss
   サイオステクノロジー株式会社 武田正英
bose.techie.jp



                                       Contents



    自己紹介
1

    APサーバについて
2

    JBossアプリケーションサーバについて
3

    Wicket + EJB3でアプリを開発
4



           Copyright © Masahide Takeda. All Rights Reserved
bose.techie.jp




      名前:武田正英 id:bose999
      所属:サイオステクノロジー㈱ OSSテクノロジーセンター

情報システム部門、運用・構築、開発を経験し、
プロジェクトマネージャー兼全工程要員(プレイングマネジャー)
として経験を積んできました。
最近は過去の経験を生かして開発業務のコンサルタントとして
全国のシステム開発・運用の現場を支援して回ってます。
ブログ: http://bose.techie.jp
技術wiki: http://www26.atwiki.jp/memotech/



                             Copyright © Masahide Takeda. All Rights Reserved
bose.techie.jp



                          APサーバについて

皆さんが使ってるAPサーバは?


    Tomcat ?

    WebLogic ?

   WebSphere ?

   Glass Fish ?

   Gernonimo ?


             Copyright © Masahide Takeda. All Rights Reserved
bose.techie.jp



                                                  I use…


武田はJavaEE準拠のアプリケーションサーバ
   JBossを主に使用してます!!




JBoss a division of Red Hat



               Copyright © Masahide Takeda. All Rights Reserved
bose.techie.jp



                           JBoss Application Server5

 POJO形式     Web                                     Webサービス
                                  Java
                     EJB
  もしくは     コンテナ                                      JPA JSF
                               Messageing
                    コンテナ
           Tomcat
MBean形式の                                               etc.
                                Service
           ベース
  サービス




                       JBoss
                                          JavaEE5準拠の機能を
                     Application
   • JavaEE5準拠         Server             内包している。
                      5.0.1.GA

org版 JBoss Application Server 5.0.1GAはJavaEE5に準拠した
    各種機能をアプリケーションサーバとして提供している。
                              Copyright © Masahide Takeda. All Rights Reserved
bose.techie.jp


                                            マイクロコンテナ
                                             アーキテクチャ


JBoss Application Server 5からはマイクロコンテナを採用。

- JBossAS4まではマイクロカーネルアーキテクチャだった。
  MBean形式でサービスを作成する必要があったが、
  5からはPOJOでサービスが作成可能になった。

- サービスの有効/無効もdeployするかしないかだけで
  簡単にカスタマイズが可能。目的に応じてサーバ最適化が
  簡単に行える。

- マイクロコンテナ上に色々なコンテナを構築できる。
  例:Spring、Guice、JMX、OSGi



                           Copyright © Masahide Takeda. All Rights Reserved
bose.techie.jp


                                    マイクロコンテナ
                                 アーキテクチャイメージ
             JBoss Application Server 5


                    マイクロコンテナ




                                       POJOによるサービス
MBeanによるサービス

       JMX

                                      POJO       POJO        POJO
MBean MBean MBean




                            Copyright © Masahide Takeda. All Rights Reserved
bose.techie.jp



                            JBossを使用する理由

      例えばTomcatにJavaEEに存在する機能が
          欲しくなったらどうします?


                       あれ?
                    この機能がない!




v JBossなら必要な機能をサービスとしてデプロイするという簡単な方法で
  サーバ機能のカスタマイズが可能。
v JavaEEサーバなら当たり前に持っている機能使わなきゃ損です。
  それとも作りますか?
v WebコンテナにTomcatベースのものを使用しているので、Apacheとの連携等の
  Tomcatの知識が生かせます。
v マイクロコンテナアーキテクチャを採用していて、簡単にカスタマイズが可能。
  最初はTomcat相当の機能で動かして必要に応じて機能追加もJBossなら簡単。
                       Copyright © Masahide Takeda. All Rights Reserved
bose.techie.jp



               Wicket + EJB3でアプリを開発


JavaEE5上のWicketによるWebアプリ開発
J2EEサーバがあれば余計な依存関係を使用しないでOK

           つまりxxxx.jarを色々用意しなくても
       アプリケーションサーバが持っているjarファイルと
    Wicket関連のjarファイルだけで開発を進める事が可能



                 あまり細かい事
                 やらなくてよくて
                   楽かも!



                    Copyright © Masahide Takeda. All Rights Reserved
bose.techie.jp



        Wicket + EJB3でアプリを開発
でもEJBってうざくね?



 EJB3の事を言ってますか? EJB2の事ですか?

 EJB3のSessionBeanに関してはインタフェースを定義し
 てBeanを書くだけです。EntityBeanならPOJOです。
 あれ?これどっかで見た気がしません?

 そう、DIコンテナで行っていくコーディングと
 あまり差が無いですね。。。

 そして、EJB3.0はDIコンテナがやってくれる事を
 アプリケーションサーバがやってくれる感じなんです。
 アノテーションでインジェクションまでしてくれます!!

 ただ制約があって Servlet、Managed Bean、EJBのみに
 EJBをDIしてくれるという仕様です。

               Copyright © Masahide Takeda. All Rights Reserved
bose.techie.jp



                             Wicket + EJB3でアプリを開発


   あれ?その制約だとJSF用な感じなんだけど。。。


   WicketにはServletにインジェクションさせて
   さらにそのEJBを手に入れるモジュールが存在するので
   安心してください!!

   例えば下記のように簡単なアノテーションでDI出来ちゃいます。


public class HomePage extends WebPage {

  @EJB(name=quot;wicket-ejb3-sample/LabelBeanImpl/localquot;)
  public LabelBean labelBean;

 @EJB(name=quot;wicket-ejb3-sample/LabelStateBeanImpl/localquot;)
 public LabelStateBean labelStateBean;

                       Copyright © Masahide Takeda. All Rights Reserved
bose.techie.jp



                                                       Wicket + EJB3でアプリを開発

                      あー、そうするとJPAをDB層に適用するといいのか!




                          その通りです。Wicket以外はEJB3で決めると
                          Wicket+JBossサーバの構成だけで開発が
                          進められます!

                          WicketとWicket Stuffからwicket-contrib-javaeeを
                          入手して、JBoss5と開発環境すれば容易完了です。
                          さぁLet’s Programingですよ!

wicket-contrib-javaee
        http://wicketstuff.org/confluence/display/STUFFWIKI/wicket-contrib-javaee


Wicket on JBossサンプルコード(武田作成)
        http://www26.atwiki.jp/memotech/pages/84.html
        ※Wicket1.3系とWicket1.4rc2でのサンプルあり。JBoss4.2系で動かす方法も記載。
                                                 Copyright © Masahide Takeda. All Rights Reserved
bose.techie.jp



                                時間が無いので



更なる情報はWebでw

http://www26.atwiki.jp/memotech/


をご参照下さい。




                Copyright © Masahide Takeda. All Rights Reserved
bose.techie.jp

Más contenido relacionado

La actualidad más candente

Voices for Custodial Justice Newsletter - July Issue 2009
Voices for Custodial Justice Newsletter  - July Issue 2009Voices for Custodial Justice Newsletter  - July Issue 2009
Voices for Custodial Justice Newsletter - July Issue 2009hrfmedia
 
Children’s Voices for Human Rights Newsletter – Issue no.68
Children’s Voices for Human Rights Newsletter – Issue no.68Children’s Voices for Human Rights Newsletter – Issue no.68
Children’s Voices for Human Rights Newsletter – Issue no.68hrfmedia
 
தமிழகத்தில் திருநங்கையர் சமூக வரலாறு [Transgender Tamil]
தமிழகத்தில் திருநங்கையர் சமூக வரலாறு [Transgender Tamil]தமிழகத்தில் திருநங்கையர் சமூக வரலாறு [Transgender Tamil]
தமிழகத்தில் திருநங்கையர் சமூக வரலாறு [Transgender Tamil]priyababu11
 
Voices of Panchayat Presidents - Newsletter - Issue No.34
Voices of Panchayat Presidents - Newsletter - Issue No.34Voices of Panchayat Presidents - Newsletter - Issue No.34
Voices of Panchayat Presidents - Newsletter - Issue No.34hrfmedia
 
Voices for custodial justice newsletter -June 2016 issue
Voices for custodial justice newsletter -June 2016 issueVoices for custodial justice newsletter -June 2016 issue
Voices for custodial justice newsletter -June 2016 issuehrfmedia
 
[12_B_6] PHP/MySQL を用いた大規模向けパッケージソフトウェア開発
[12_B_6] PHP/MySQL を用いた大規模向けパッケージソフトウェア開発[12_B_6] PHP/MySQL を用いた大規模向けパッケージソフトウェア開発
[12_B_6] PHP/MySQL を用いた大規模向けパッケージソフトウェア開発Yuichi Tanaka
 
Voices for Custodial Justice Newsletter - December 2014 Issue
Voices for Custodial Justice Newsletter - December 2014 IssueVoices for Custodial Justice Newsletter - December 2014 Issue
Voices for Custodial Justice Newsletter - December 2014 Issuehrfmedia
 
Php.On.Windows.Training.Chs
Php.On.Windows.Training.ChsPhp.On.Windows.Training.Chs
Php.On.Windows.Training.Chscqwang
 
Voices of Panchayat Presidents - Newsletter - Issue No.25
Voices of Panchayat Presidents - Newsletter - Issue No.25Voices of Panchayat Presidents - Newsletter - Issue No.25
Voices of Panchayat Presidents - Newsletter - Issue No.25hrfmedia
 
Childrens voice 60th issue new
Childrens voice 60th issue   newChildrens voice 60th issue   new
Childrens voice 60th issue newhrfmedia
 
331 Ch
331 Ch331 Ch
331 Chanjaan
 
사용자 경험 극대화를 위한 웹 서버 아키텍처
사용자 경험 극대화를 위한 웹 서버 아키텍처사용자 경험 극대화를 위한 웹 서버 아키텍처
사용자 경험 극대화를 위한 웹 서버 아키텍처trustinlee
 
Wda t 55_2010
Wda t 55_2010Wda t 55_2010
Wda t 55_2010aaruicwai
 
Spring Dynamic Modules
Spring Dynamic ModulesSpring Dynamic Modules
Spring Dynamic ModulesHiroki Kondo
 

La actualidad más candente (20)

WebDAV as Web API
WebDAV as Web APIWebDAV as Web API
WebDAV as Web API
 
What is PHP Frameworks?
What is PHP Frameworks?What is PHP Frameworks?
What is PHP Frameworks?
 
Voices for Custodial Justice Newsletter - July Issue 2009
Voices for Custodial Justice Newsletter  - July Issue 2009Voices for Custodial Justice Newsletter  - July Issue 2009
Voices for Custodial Justice Newsletter - July Issue 2009
 
01.09.11
01.09.1101.09.11
01.09.11
 
LPN
LPNLPN
LPN
 
24.02.11
24.02.1124.02.11
24.02.11
 
Children’s Voices for Human Rights Newsletter – Issue no.68
Children’s Voices for Human Rights Newsletter – Issue no.68Children’s Voices for Human Rights Newsletter – Issue no.68
Children’s Voices for Human Rights Newsletter – Issue no.68
 
25.08.11
25.08.1125.08.11
25.08.11
 
தமிழகத்தில் திருநங்கையர் சமூக வரலாறு [Transgender Tamil]
தமிழகத்தில் திருநங்கையர் சமூக வரலாறு [Transgender Tamil]தமிழகத்தில் திருநங்கையர் சமூக வரலாறு [Transgender Tamil]
தமிழகத்தில் திருநங்கையர் சமூக வரலாறு [Transgender Tamil]
 
Voices of Panchayat Presidents - Newsletter - Issue No.34
Voices of Panchayat Presidents - Newsletter - Issue No.34Voices of Panchayat Presidents - Newsletter - Issue No.34
Voices of Panchayat Presidents - Newsletter - Issue No.34
 
Voices for custodial justice newsletter -June 2016 issue
Voices for custodial justice newsletter -June 2016 issueVoices for custodial justice newsletter -June 2016 issue
Voices for custodial justice newsletter -June 2016 issue
 
[12_B_6] PHP/MySQL を用いた大規模向けパッケージソフトウェア開発
[12_B_6] PHP/MySQL を用いた大規模向けパッケージソフトウェア開発[12_B_6] PHP/MySQL を用いた大規模向けパッケージソフトウェア開発
[12_B_6] PHP/MySQL を用いた大規模向けパッケージソフトウェア開発
 
Voices for Custodial Justice Newsletter - December 2014 Issue
Voices for Custodial Justice Newsletter - December 2014 IssueVoices for Custodial Justice Newsletter - December 2014 Issue
Voices for Custodial Justice Newsletter - December 2014 Issue
 
Php.On.Windows.Training.Chs
Php.On.Windows.Training.ChsPhp.On.Windows.Training.Chs
Php.On.Windows.Training.Chs
 
Voices of Panchayat Presidents - Newsletter - Issue No.25
Voices of Panchayat Presidents - Newsletter - Issue No.25Voices of Panchayat Presidents - Newsletter - Issue No.25
Voices of Panchayat Presidents - Newsletter - Issue No.25
 
Childrens voice 60th issue new
Childrens voice 60th issue   newChildrens voice 60th issue   new
Childrens voice 60th issue new
 
331 Ch
331 Ch331 Ch
331 Ch
 
사용자 경험 극대화를 위한 웹 서버 아키텍처
사용자 경험 극대화를 위한 웹 서버 아키텍처사용자 경험 극대화를 위한 웹 서버 아키텍처
사용자 경험 극대화를 위한 웹 서버 아키텍처
 
Wda t 55_2010
Wda t 55_2010Wda t 55_2010
Wda t 55_2010
 
Spring Dynamic Modules
Spring Dynamic ModulesSpring Dynamic Modules
Spring Dynamic Modules
 

Destacado

EJB3 ABC
EJB3 ABCEJB3 ABC
EJB3 ABCbose999
 
JBoss AS7
JBoss AS7JBoss AS7
JBoss AS7nekop
 
JBoss AS7 rev2
JBoss AS7 rev2JBoss AS7 rev2
JBoss AS7 rev2nekop
 
Introduction to WildFly Swarm
Introduction to WildFly SwarmIntroduction to WildFly Swarm
Introduction to WildFly SwarmYoshimasa Tanabe
 
JBoss Application Server 入門 ~ Seasar2を動かして見よう!~ on Seasar Conference 2009 White
JBoss Application Server 入門~ Seasar2を動かして見よう!~ on Seasar Conference 2009 WhiteJBoss Application Server 入門~ Seasar2を動かして見よう!~ on Seasar Conference 2009 White
JBoss Application Server 入門 ~ Seasar2を動かして見よう!~ on Seasar Conference 2009 Whitebose999
 
RedHat MW 2015
RedHat MW 2015RedHat MW 2015
RedHat MW 2015omatsuha
 
Beginning Java EE 6 勉強会(5) #bje_study
Beginning Java EE 6 勉強会(5) #bje_studyBeginning Java EE 6 勉強会(5) #bje_study
Beginning Java EE 6 勉強会(5) #bje_studyzuisener .
 
2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(4)-稼働確認、クラスローダ
2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(4)-稼働確認、クラスローダ2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(4)-稼働確認、クラスローダ
2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(4)-稼働確認、クラスローダEnpel
 
2 TomcatによるWebアプリケーションサーバ構築 第3章 Apacheの構成
2 TomcatによるWebアプリケーションサーバ構築 第3章 Apacheの構成2 TomcatによるWebアプリケーションサーバ構築 第3章 Apacheの構成
2 TomcatによるWebアプリケーションサーバ構築 第3章 Apacheの構成Enpel
 
3.Java EE7 徹底入門 CDI&EJB
3.Java EE7 徹底入門 CDI&EJB3.Java EE7 徹底入門 CDI&EJB
3.Java EE7 徹底入門 CDI&EJBTsunenaga Hanyuda
 
Jbossとtomcatの性能を比べてみた
Jbossとtomcatの性能を比べてみたJbossとtomcatの性能を比べてみた
Jbossとtomcatの性能を比べてみたYuki Obara
 
JBoss.org – SwitchYardコミュニティ開発者の日常 - JJUG CCC 2014 Spring - R1-4 - #ccc_r14
JBoss.org – SwitchYardコミュニティ開発者の日常 - JJUG CCC 2014 Spring - R1-4 - #ccc_r14JBoss.org – SwitchYardコミュニティ開発者の日常 - JJUG CCC 2014 Spring - R1-4 - #ccc_r14
JBoss.org – SwitchYardコミュニティ開発者の日常 - JJUG CCC 2014 Spring - R1-4 - #ccc_r14Tomohisa Igarashi
 
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定Enpel
 
次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて次世代Webコンテナ Undertowについて
次世代Webコンテナ UndertowについてYoshimasa Tanabe
 
手作業なしの安定環境実現に向けたZabbix活用方法紹介+Zabbix2.4最新機能紹介
手作業なしの安定環境実現に向けたZabbix活用方法紹介+Zabbix2.4最新機能紹介手作業なしの安定環境実現に向けたZabbix活用方法紹介+Zabbix2.4最新機能紹介
手作業なしの安定環境実現に向けたZabbix活用方法紹介+Zabbix2.4最新機能紹介Daisuke Ikeda
 
JavaEE7徹底入門 プレゼンテーション層の開発 JSF
JavaEE7徹底入門 プレゼンテーション層の開発 JSFJavaEE7徹底入門 プレゼンテーション層の開発 JSF
JavaEE7徹底入門 プレゼンテーション層の開発 JSFMasuji Katoda
 
WildFly Swarm - Rightsize Your Java EE Apps
WildFly Swarm - Rightsize Your Java EE AppsWildFly Swarm - Rightsize Your Java EE Apps
WildFly Swarm - Rightsize Your Java EE AppsYoshimasa Tanabe
 
ついに始まるJava EE 7時代のアプリケーション開発
ついに始まるJava EE 7時代のアプリケーション開発ついに始まるJava EE 7時代のアプリケーション開発
ついに始まるJava EE 7時代のアプリケーション開発Takakiyo Tanaka
 
Javaアプリケーションサーバ 構築・運用の勘所
Javaアプリケーションサーバ 構築・運用の勘所Javaアプリケーションサーバ 構築・運用の勘所
Javaアプリケーションサーバ 構築・運用の勘所Takahiro YAMADA
 

Destacado (19)

EJB3 ABC
EJB3 ABCEJB3 ABC
EJB3 ABC
 
JBoss AS7
JBoss AS7JBoss AS7
JBoss AS7
 
JBoss AS7 rev2
JBoss AS7 rev2JBoss AS7 rev2
JBoss AS7 rev2
 
Introduction to WildFly Swarm
Introduction to WildFly SwarmIntroduction to WildFly Swarm
Introduction to WildFly Swarm
 
JBoss Application Server 入門 ~ Seasar2を動かして見よう!~ on Seasar Conference 2009 White
JBoss Application Server 入門~ Seasar2を動かして見よう!~ on Seasar Conference 2009 WhiteJBoss Application Server 入門~ Seasar2を動かして見よう!~ on Seasar Conference 2009 White
JBoss Application Server 入門 ~ Seasar2を動かして見よう!~ on Seasar Conference 2009 White
 
RedHat MW 2015
RedHat MW 2015RedHat MW 2015
RedHat MW 2015
 
Beginning Java EE 6 勉強会(5) #bje_study
Beginning Java EE 6 勉強会(5) #bje_studyBeginning Java EE 6 勉強会(5) #bje_study
Beginning Java EE 6 勉強会(5) #bje_study
 
2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(4)-稼働確認、クラスローダ
2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(4)-稼働確認、クラスローダ2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(4)-稼働確認、クラスローダ
2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(4)-稼働確認、クラスローダ
 
2 TomcatによるWebアプリケーションサーバ構築 第3章 Apacheの構成
2 TomcatによるWebアプリケーションサーバ構築 第3章 Apacheの構成2 TomcatによるWebアプリケーションサーバ構築 第3章 Apacheの構成
2 TomcatによるWebアプリケーションサーバ構築 第3章 Apacheの構成
 
3.Java EE7 徹底入門 CDI&EJB
3.Java EE7 徹底入門 CDI&EJB3.Java EE7 徹底入門 CDI&EJB
3.Java EE7 徹底入門 CDI&EJB
 
Jbossとtomcatの性能を比べてみた
Jbossとtomcatの性能を比べてみたJbossとtomcatの性能を比べてみた
Jbossとtomcatの性能を比べてみた
 
JBoss.org – SwitchYardコミュニティ開発者の日常 - JJUG CCC 2014 Spring - R1-4 - #ccc_r14
JBoss.org – SwitchYardコミュニティ開発者の日常 - JJUG CCC 2014 Spring - R1-4 - #ccc_r14JBoss.org – SwitchYardコミュニティ開発者の日常 - JJUG CCC 2014 Spring - R1-4 - #ccc_r14
JBoss.org – SwitchYardコミュニティ開発者の日常 - JJUG CCC 2014 Spring - R1-4 - #ccc_r14
 
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
 
次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて
 
手作業なしの安定環境実現に向けたZabbix活用方法紹介+Zabbix2.4最新機能紹介
手作業なしの安定環境実現に向けたZabbix活用方法紹介+Zabbix2.4最新機能紹介手作業なしの安定環境実現に向けたZabbix活用方法紹介+Zabbix2.4最新機能紹介
手作業なしの安定環境実現に向けたZabbix活用方法紹介+Zabbix2.4最新機能紹介
 
JavaEE7徹底入門 プレゼンテーション層の開発 JSF
JavaEE7徹底入門 プレゼンテーション層の開発 JSFJavaEE7徹底入門 プレゼンテーション層の開発 JSF
JavaEE7徹底入門 プレゼンテーション層の開発 JSF
 
WildFly Swarm - Rightsize Your Java EE Apps
WildFly Swarm - Rightsize Your Java EE AppsWildFly Swarm - Rightsize Your Java EE Apps
WildFly Swarm - Rightsize Your Java EE Apps
 
ついに始まるJava EE 7時代のアプリケーション開発
ついに始まるJava EE 7時代のアプリケーション開発ついに始まるJava EE 7時代のアプリケーション開発
ついに始まるJava EE 7時代のアプリケーション開発
 
Javaアプリケーションサーバ 構築・運用の勘所
Javaアプリケーションサーバ 構築・運用の勘所Javaアプリケーションサーバ 構築・運用の勘所
Javaアプリケーションサーバ 構築・運用の勘所
 

Más de bose999

PhoneGap de iOS develop
PhoneGap de iOS developPhoneGap de iOS develop
PhoneGap de iOS developbose999
 
Python hack-a-thon 2010-11 Enjoy survival !
Python hack-a-thon 2010-11 Enjoy survival !Python hack-a-thon 2010-11 Enjoy survival !
Python hack-a-thon 2010-11 Enjoy survival !bose999
 
コンサルティングと私 Lightning Talk
コンサルティングと私 Lightning Talkコンサルティングと私 Lightning Talk
コンサルティングと私 Lightning Talkbose999
 
GAE/J 開発環境でJDO入門
GAE/J 開発環境でJDO入門GAE/J 開発環境でJDO入門
GAE/J 開発環境でJDO入門bose999
 
something coin machine
something coin machinesomething coin machine
something coin machinebose999
 
Quickly function add by Eclipse Monkey
Quickly function add by Eclipse MonkeyQuickly function add by Eclipse Monkey
Quickly function add by Eclipse Monkeybose999
 
I leak the contents of my work.
I leak the contents of my work.I leak the contents of my work.
I leak the contents of my work.bose999
 
JRuby on Rails on JBoss
JRuby on Rails on JBossJRuby on Rails on JBoss
JRuby on Rails on JBossbose999
 

Más de bose999 (8)

PhoneGap de iOS develop
PhoneGap de iOS developPhoneGap de iOS develop
PhoneGap de iOS develop
 
Python hack-a-thon 2010-11 Enjoy survival !
Python hack-a-thon 2010-11 Enjoy survival !Python hack-a-thon 2010-11 Enjoy survival !
Python hack-a-thon 2010-11 Enjoy survival !
 
コンサルティングと私 Lightning Talk
コンサルティングと私 Lightning Talkコンサルティングと私 Lightning Talk
コンサルティングと私 Lightning Talk
 
GAE/J 開発環境でJDO入門
GAE/J 開発環境でJDO入門GAE/J 開発環境でJDO入門
GAE/J 開発環境でJDO入門
 
something coin machine
something coin machinesomething coin machine
something coin machine
 
Quickly function add by Eclipse Monkey
Quickly function add by Eclipse MonkeyQuickly function add by Eclipse Monkey
Quickly function add by Eclipse Monkey
 
I leak the contents of my work.
I leak the contents of my work.I leak the contents of my work.
I leak the contents of my work.
 
JRuby on Rails on JBoss
JRuby on Rails on JBossJRuby on Rails on JBoss
JRuby on Rails on JBoss
 

Wicket + EJB3 on JBoss (Japanese)

  • 1. Wicket + EJB3 on JBoss サイオステクノロジー株式会社 武田正英
  • 2. bose.techie.jp Contents 自己紹介 1 APサーバについて 2 JBossアプリケーションサーバについて 3 Wicket + EJB3でアプリを開発 4 Copyright © Masahide Takeda. All Rights Reserved
  • 3. bose.techie.jp 名前:武田正英 id:bose999 所属:サイオステクノロジー㈱ OSSテクノロジーセンター 情報システム部門、運用・構築、開発を経験し、 プロジェクトマネージャー兼全工程要員(プレイングマネジャー) として経験を積んできました。 最近は過去の経験を生かして開発業務のコンサルタントとして 全国のシステム開発・運用の現場を支援して回ってます。 ブログ: http://bose.techie.jp 技術wiki: http://www26.atwiki.jp/memotech/ Copyright © Masahide Takeda. All Rights Reserved
  • 4. bose.techie.jp APサーバについて 皆さんが使ってるAPサーバは? Tomcat ? WebLogic ? WebSphere ? Glass Fish ? Gernonimo ? Copyright © Masahide Takeda. All Rights Reserved
  • 5. bose.techie.jp I use… 武田はJavaEE準拠のアプリケーションサーバ JBossを主に使用してます!! JBoss a division of Red Hat Copyright © Masahide Takeda. All Rights Reserved
  • 6. bose.techie.jp JBoss Application Server5 POJO形式 Web Webサービス Java EJB もしくは コンテナ JPA JSF Messageing コンテナ Tomcat MBean形式の etc. Service ベース サービス JBoss JavaEE5準拠の機能を Application • JavaEE5準拠 Server 内包している。 5.0.1.GA org版 JBoss Application Server 5.0.1GAはJavaEE5に準拠した 各種機能をアプリケーションサーバとして提供している。 Copyright © Masahide Takeda. All Rights Reserved
  • 7. bose.techie.jp マイクロコンテナ アーキテクチャ JBoss Application Server 5からはマイクロコンテナを採用。 - JBossAS4まではマイクロカーネルアーキテクチャだった。 MBean形式でサービスを作成する必要があったが、 5からはPOJOでサービスが作成可能になった。 - サービスの有効/無効もdeployするかしないかだけで 簡単にカスタマイズが可能。目的に応じてサーバ最適化が 簡単に行える。 - マイクロコンテナ上に色々なコンテナを構築できる。 例:Spring、Guice、JMX、OSGi Copyright © Masahide Takeda. All Rights Reserved
  • 8. bose.techie.jp マイクロコンテナ アーキテクチャイメージ JBoss Application Server 5 マイクロコンテナ POJOによるサービス MBeanによるサービス JMX POJO POJO POJO MBean MBean MBean Copyright © Masahide Takeda. All Rights Reserved
  • 9. bose.techie.jp JBossを使用する理由 例えばTomcatにJavaEEに存在する機能が 欲しくなったらどうします? あれ? この機能がない! v JBossなら必要な機能をサービスとしてデプロイするという簡単な方法で サーバ機能のカスタマイズが可能。 v JavaEEサーバなら当たり前に持っている機能使わなきゃ損です。 それとも作りますか? v WebコンテナにTomcatベースのものを使用しているので、Apacheとの連携等の Tomcatの知識が生かせます。 v マイクロコンテナアーキテクチャを採用していて、簡単にカスタマイズが可能。 最初はTomcat相当の機能で動かして必要に応じて機能追加もJBossなら簡単。 Copyright © Masahide Takeda. All Rights Reserved
  • 10. bose.techie.jp Wicket + EJB3でアプリを開発 JavaEE5上のWicketによるWebアプリ開発 J2EEサーバがあれば余計な依存関係を使用しないでOK つまりxxxx.jarを色々用意しなくても アプリケーションサーバが持っているjarファイルと Wicket関連のjarファイルだけで開発を進める事が可能 あまり細かい事 やらなくてよくて 楽かも! Copyright © Masahide Takeda. All Rights Reserved
  • 11. bose.techie.jp Wicket + EJB3でアプリを開発 でもEJBってうざくね? EJB3の事を言ってますか? EJB2の事ですか? EJB3のSessionBeanに関してはインタフェースを定義し てBeanを書くだけです。EntityBeanならPOJOです。 あれ?これどっかで見た気がしません? そう、DIコンテナで行っていくコーディングと あまり差が無いですね。。。 そして、EJB3.0はDIコンテナがやってくれる事を アプリケーションサーバがやってくれる感じなんです。 アノテーションでインジェクションまでしてくれます!! ただ制約があって Servlet、Managed Bean、EJBのみに EJBをDIしてくれるという仕様です。 Copyright © Masahide Takeda. All Rights Reserved
  • 12. bose.techie.jp Wicket + EJB3でアプリを開発 あれ?その制約だとJSF用な感じなんだけど。。。 WicketにはServletにインジェクションさせて さらにそのEJBを手に入れるモジュールが存在するので 安心してください!! 例えば下記のように簡単なアノテーションでDI出来ちゃいます。 public class HomePage extends WebPage { @EJB(name=quot;wicket-ejb3-sample/LabelBeanImpl/localquot;) public LabelBean labelBean; @EJB(name=quot;wicket-ejb3-sample/LabelStateBeanImpl/localquot;) public LabelStateBean labelStateBean; Copyright © Masahide Takeda. All Rights Reserved
  • 13. bose.techie.jp Wicket + EJB3でアプリを開発 あー、そうするとJPAをDB層に適用するといいのか! その通りです。Wicket以外はEJB3で決めると Wicket+JBossサーバの構成だけで開発が 進められます! WicketとWicket Stuffからwicket-contrib-javaeeを 入手して、JBoss5と開発環境すれば容易完了です。 さぁLet’s Programingですよ! wicket-contrib-javaee http://wicketstuff.org/confluence/display/STUFFWIKI/wicket-contrib-javaee Wicket on JBossサンプルコード(武田作成) http://www26.atwiki.jp/memotech/pages/84.html ※Wicket1.3系とWicket1.4rc2でのサンプルあり。JBoss4.2系で動かす方法も記載。 Copyright © Masahide Takeda. All Rights Reserved
  • 14. bose.techie.jp 時間が無いので 更なる情報はWebでw http://www26.atwiki.jp/memotech/ をご参照下さい。 Copyright © Masahide Takeda. All Rights Reserved