SlideShare a Scribd company logo
1 of 43
Download to read offline
Pure Java EE or Spring?

                                      @making
     GlassFish Users Group Japan勉強会 June 2012
                                   2012/06/04
Who are you?

• Toshiaki Maki @making
     –http://blog.ik.am
     –某大手SIerでR&D
           • 社内Javaフレームワークの整備
           • Spring + Struts + iBatis…




                   GlassFish Users Group Japan
12/06/04                                         2
金魚本翻訳一部担当




           GlassFish Users Group Japan
12/06/04                                 3
JavaEE、Springに限らず
     Javaテクノロジーが好き!




           GlassFish Users Group Japan
12/06/04                                 4
金魚本をお持ちでない方は
     http://amzn.to/JavaEE6
     こちらから、、、




             GlassFish Users Group Japan
12/06/04                                   5
社内JavaEE6勉強会 #bje_study
• 各要素技術ごとに講師を募り隔週で開催中
     – 講師には金魚本プレゼント
     – 毎回15人前後の参加者
• slideshareで資料公開中
     –     JavaEE6概要 http://slidesha.re/I0cXjt
     –     JPA http://slidesha.re/I7XkHs
     –     EJB http://slidesha.re/JuOA0c
     –     JSF http://slidesha.re/L0MiDt
     –     JMS 6/13予定
     –     JAX-WS 6/27予定
     –     JAX-RS 7/4予定

                       GlassFish Users Group Japan
12/06/04                                             6
ここから本題
• JavaEEとSpringの現在
• JavaEE6とSpring3の違い
• どっちを使う?




            GlassFish Users Group Japan
12/06/04                                  7
本日の発表内容は個人の見解で
     あり、所属企業とは一切関係あ
     りません



           GlassFish Users Group Japan
12/06/04                                 8
JavaEEとSpringの
                      現在



           GlassFish Users Group Japan
12/06/04                                 9
質問:何でWebアプリケーションを開発してい
ますか?
•   Struts1系+αで開発している人
•   Struts2系+αで開発している人
•   Seasarで開発している人
•   Springで開発している人
•   JavaEE5で開発している人
•   JavaEE6で開発している人
•   その他(Playとか、Grailsとか)




             GlassFish Users Group Japan
12/06/04                                   10
Java EE
• 言わずと知れたJavaによるWEBアプリケーション開発標
  準フレームワークスタック
• ベンダ非依存な仕様策定
• 2009年12月にJava EE 6が登場し、2011年ごろから対応
  APサーバー多数登場
     –     GlassFish 3
     –     WebLogic 12c
     –     Web Sphere 8.X
     –     JBoss AS 7
     –     Cosminexus v9
     –     TomEE など
• Web Profileの登場など、かつての重厚感はなくなり、
  開発生産性が高まった
• JSF、EJB、JPA、CDI、Bean Validationが主要テクノロ
  ジー
• J2EE時代に比べて格段に使いやすくなった
                            GlassFish Users Group Japan
12/06/04                                                  11
Spring
• 現在3.1系
     – 2012-02-16に3.1.1リリース
     – 2012-06に3.1.2リリース?
• SpringSource社による開発
• XMLによる設定が多い!という印象がある方は時代遅れ
     – 3.0以降ではほとんどの設定がアノテーションで記述可能
     – XMLベース、アノテーションベース、Javaベースの設定方法を
       自由に選べる(組み合わせ可能)
• サブプロジェクト多数
     –     Spring   Security
     –     Spring   Data
     –     Spring   Batch
     –     Spring   Mobile
     –     Spring   Social
• J2EEのアンチテーゼとして生まれたが重厚になりつつ
  ある

                               GlassFish Users Group Japan
12/06/04                                                     12
Spring -> Java EE6への動き?
• JavaEE6の普及展開に合わせて、Springに対す
  るネガティブキャンペーン?
• migration Spring to JavaEE6
     – http://www.oracle.com/technetwork/articles/jav
       a/springtojavaee-522240.html
     – https://blogs.oracle.com/arungupta/entry/why_j
       ava_ee_6_is
     – http://www.slideshare.net/ertmanb/javaone-
       2011-migrating-spring-applications-to-java-ee-
       6




                    GlassFish Users Group Japan
12/06/04                                            13
JBossのJavaEE6プロモーション
• http://www.jboss.com/promo/EE6/




           (意訳)SpringやStrutsみたいなレガシー
           なアプリをメンテナンスしてても、JBoss
           にデプロイされていたらRedHatはサポー
                     トするよ!

                 GlassFish Users Group Japan
12/06/04                                       14
Stack Overflowでの質問
• http://stackoverflow.com/questions/2499323
  /java-ee-6-vs-spring-3-stack




               2010年5月オープン
             2011年12月荒れ過ぎで閉
                     鎖
               GlassFish Users Group Japan
12/06/04                                     15
感情論、宗教論にな
       りつつある。。


           GlassFish Users Group Japan
12/06/04                                 16
JavaEE6とSpring3
                      の違い



           GlassFish Users Group Japan
12/06/04                                 17
いくつか違いをみていきます
•   構成テクノロジーの違い
•   出版書籍の違い
•   ドキュメントの違い
•   セキュリティの違い
•   IDEの違い
•   Code Generationの違い




               GlassFish Users Group Japan
12/06/04                                     18
FullJavaEE6のWEBアプリケーションモデル




           Presentation          Service        Persistence
                    Manged
                     Bean
ブラウザ          JSF                  EJB               JPA      RDBMS
              JAX-RS


                             CDI/EJBコンテナ




                       GlassFish Users Group Japan
12/06/04                                                              19
Springを使用した一般的なWEBアプリケーションモデル




           Presentation          Service        Persistence
                                                           JPA
              Spring             Spring              Spring
ブラウザ                                                             RDBMS
               MVC               (POJO)              (POJO)




                               Spring DI




                       GlassFish Users Group Japan
12/06/04                                                                 20
構成テクノロジーの違い
• WEBアプリのモデルはだいたい同じ
• 個別技術で言うと
     – JSF vs Spring MVC
           • コンポーネントベース vs アクションベース
     – CDI vs Spring DI
• だが、、Springは各層の連携が(疎ではあるが)
  強力であり、個別要素で比べるのはナンセンス

• http://orablogs-
  jp.blogspot.jp/2012/05/spring-to-java-ee-
  migration-part-4.html
  を読めば分かるが、Criticalな違いはない
                    GlassFish Users Group Japan
     – 記事中では小さなことでSpringを批判している
12/06/04                                          21
JavaEE6関連書籍




           GlassFish Users Group Japan
12/06/04                                 22
Spring3関連書籍




           GlassFish Users Group Japan
12/06/04                                 23
出版書籍の違い
• JavaEE6に関する書籍
     – 要素技術の解説形式が多い
• Spring3に関する書籍
     – 技術解説の他、クックブック形式やアプリケーショ
       ンを作りながら学ぶ形式も多い



     今後JavaEE6を使ったアプリケーション開発
     に関する書籍が出てくることを期待してま
                 す!


             GlassFish Users Group Japan
12/06/04                                   24
ドキュメントの違い
• JavaEE6
     – http://www.oracle.com/technetwork/java/javaee/
       resources-jsp-139799.html
           • サンプル
           • JavaDoc
           • Spec
           • チュートリアル
• Spring
     – http://static.springsource.org/spring/docs/3.1
       .x/spring-framework-reference/html/
           • リファレンスマニュアル
     – http://static.springsource.org/spring/docs/3.1
       .x/javadoc-api/
           • Javadoc

                       GlassFish Users Group Japan
12/06/04                                             25
セキュリティの違い
• JavaEE6
     – JAAS?
           • ドキュメントが少ないので全貌を理解していない。。。
• Spring
     – Spring Security
           • かなりパワフル




                    GlassFish Users Group Japan
12/06/04                                          26
IDEの違い
• Java EE 6
     –     NetBeans
     –     JBoss Tools
     –     Rational Application Developer
     –     MyEclipse
• Spring
     – SpringSource Tool Suite
     – MyEclipse




                        GlassFish Users Group Japan
12/06/04                                              27
Code Generationの違い
• Java EE 6
     – JBoss Forge
     – Glassfish
• Spring
     – Spring Roo
     – Spring Fuse
     – MyEclipse




                     GlassFish Users Group Japan
12/06/04                                           28
甲乙つけがたい。。




           GlassFish Users Group Japan
12/06/04                                 29
最も大きな違いは、、jarの配置場所
• JavaEEはフレームワークがAPサーバー側にある
     –     フレームワークはベンダが提供
     –     ベンダサポートあり
     –     warのサイズが小さい
     –     バージョンは自由に選べない
     –     変更のサイクルが長い
     –     APサーバーのマイグレーションは大丈夫なんでしょうか
• Springはフレームワークがアプリケーション側に
  ある
     –     好きなバージョンを選べる
     –     変更のサイクルを選べる
     –     自己責任(bugfixできる)
     –     warのサイズが大きい
                   GlassFish Users Group Japan
12/06/04                                         30
どっちを使う?



           GlassFish Users Group Japan
12/06/04                                 31
Springはプロプライエタリで危険?
• 状況
     – 開発プロセスがオープンでなく、SpringSource社の
       みで進んでいるのは確か。
           • A社のF技術のようになる可能性あり
• 実際
     – Springは1系から一貫したプログラミングモデルを
       提供
     – バージョンがあがるごとに機能追加、生産性向上を
       行ってきた
     – 3.1系はとても開発しやすい
     – 多くの拡張ポイントが用意されている


                   GlassFish Users Group Japan
12/06/04                                         32
それぞれの今後
• Spring3.2
     –     Java7対応
     –     Servlet3.0/3.1 非同期リクエストサポート
     –     JCache(JSR-107)サポート
     –     WebSocket対応?
     –     JavaEE7対応?
     –     2012-05-28に3.2 M1リリース
• JavaEE7
     – PaaS対応
     – マルチテナンシー
     – JPA2.1、EJB3.2、JAX-RS2.0、JMS2.0、
       Servlet3.1、JSF2.2、CDI1.1・・・
     – 2013年?
                    GlassFish Users Group Japan
12/06/04                                          33
宗教論争はやめよう




           GlassFish Users Group Japan
12/06/04                                 34
“標準技術を使う”の
       が目的じゃない


           GlassFish Users Group Japan
12/06/04                                 35
“保守性・拡張性の高い
       アプリケーションを効率
       良く開発する”のが目
       的!


           GlassFish Users Group Japan
12/06/04                                 36
disり合いはやめよ
       う


           GlassFish Users Group Japan
12/06/04                                 37
少数精鋭な方々は、、
• どっちでもいい(生産者高い)んじゃね?
• 慣れている方を選べば良い
• もちろんPlayやGrails等他のフレームワークを
  選んでも良い




           GlassFish Users Group Japan
12/06/04                                 38
様々なのエンジニア向け
• MVC、業務ロジック、データアクセスはどちらも
  Good
     – MVCのコンポーネントベースorアクションベースで好き嫌
       いは分かれる?
• フレームワークを提供する立場としては、個人的に
  はXMLでもアノテーションでもDIできる方が好き
     – フレームワーク用の包括的な設定は小さくXMLで定義
     – アプリケーション用の多くの設定はアノテーションで定義
     – CDIもっとがんばれ、、(ConversationScopedはGood)
• バッチ処理やJavaEE以外のサーバーサイド(Netty
  ベースなアプリ等)もカバーしたい場合、Springで
  統一的なプログラミングモデルを提供すると良さそ
  う
                GlassFish Users Group Japan
12/06/04                                      39
JavaEE6 + Spring
• 一貫性がとれていれば組み合わせても問題ない
     – 成熟したJavaEE API+Spring
     – Spring MVC + EJB + JPA
     – JSF(Spring WebFlow) + Spring + JPA
• 一貫性がとれていない組み合わせは複雑さを増
  し、保守性を低下させる恐れあり
     – Spring MVC + JSF
     – Spring + CDI




                    GlassFish Users Group Japan
12/06/04                                          40
正直、慣れている技術を使
えば良いと思う。。



           GlassFish Users Group Japan
12/06/04                                 41
まとめ?
• JavaEEとSpringの現在
• JavaEE6とSpring3の違い
• どっちを使う?


                どっちもGood!
           喧嘩せずに、合った技術を選びましょ
                  う!




                GlassFish Users Group Japan
12/06/04                                      42
って全然まとまっていない
ので、続きは懇親会で!



           GlassFish Users Group Japan
12/06/04                                 43

More Related Content

What's hot

インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~JustSystems Corporation
 
Jsf アプリ作ったった
Jsf アプリ作ったったJsf アプリ作ったった
Jsf アプリ作ったったOda Shinsuke
 
JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例Takeshi Kondo
 
20150920 中国地方db勉強会
20150920 中国地方db勉強会20150920 中国地方db勉強会
20150920 中国地方db勉強会yoyamasaki
 
ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type
ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Typeドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type
ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack TypeNamba Kazuo
 
「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界Nozomi Ito
 
[INSIGHT OUT 2011] C12 50分で理解する SQL Serverでできることできないこと(uchiyama)
[INSIGHT OUT 2011] C12 50分で理解する SQL Serverでできることできないこと(uchiyama)[INSIGHT OUT 2011] C12 50分で理解する SQL Serverでできることできないこと(uchiyama)
[INSIGHT OUT 2011] C12 50分で理解する SQL Serverでできることできないこと(uchiyama)Insight Technology, Inc.
 
Selenium2でつくるテストケースの構成について
Selenium2でつくるテストケースの構成についてSelenium2でつくるテストケースの構成について
Selenium2でつくるテストケースの構成についてyufu yufu
 
Beginning Java EE 6 勉強会(3) #bje_study
Beginning Java EE 6 勉強会(3) #bje_studyBeginning Java EE 6 勉強会(3) #bje_study
Beginning Java EE 6 勉強会(3) #bje_studyinatus
 

What's hot (11)

インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
 
Jsf アプリ作ったった
Jsf アプリ作ったったJsf アプリ作ったった
Jsf アプリ作ったった
 
Play ja 3_update
Play ja 3_updatePlay ja 3_update
Play ja 3_update
 
Play jjug2012spring
Play jjug2012springPlay jjug2012spring
Play jjug2012spring
 
JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例
 
20150920 中国地方db勉強会
20150920 中国地方db勉強会20150920 中国地方db勉強会
20150920 中国地方db勉強会
 
ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type
ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Typeドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type
ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type
 
「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界
 
[INSIGHT OUT 2011] C12 50分で理解する SQL Serverでできることできないこと(uchiyama)
[INSIGHT OUT 2011] C12 50分で理解する SQL Serverでできることできないこと(uchiyama)[INSIGHT OUT 2011] C12 50分で理解する SQL Serverでできることできないこと(uchiyama)
[INSIGHT OUT 2011] C12 50分で理解する SQL Serverでできることできないこと(uchiyama)
 
Selenium2でつくるテストケースの構成について
Selenium2でつくるテストケースの構成についてSelenium2でつくるテストケースの構成について
Selenium2でつくるテストケースの構成について
 
Beginning Java EE 6 勉強会(3) #bje_study
Beginning Java EE 6 勉強会(3) #bje_studyBeginning Java EE 6 勉強会(3) #bje_study
Beginning Java EE 6 勉強会(3) #bje_study
 

Similar to Pure JavaEE or Spring #glassfishjp

福井イベント
福井イベント福井イベント
福井イベントYoshio Terada
 
Spring frameworkが大好きなおはなし
Spring frameworkが大好きなおはなしSpring frameworkが大好きなおはなし
Spring frameworkが大好きなおはなしSatoshi Kisanuki
 
Spring知っておきたい
Spring知っておきたいSpring知っておきたい
Spring知っておきたいYuichi Hasegawa
 
Beginning Java EE 6 勉強会(1) #bje_study
Beginning Java EE 6 勉強会(1) #bje_studyBeginning Java EE 6 勉強会(1) #bje_study
Beginning Java EE 6 勉強会(1) #bje_studyToshiaki Maki
 
JDKの選択肢とサーバーサイドでの選び方
JDKの選択肢とサーバーサイドでの選び方JDKの選択肢とサーバーサイドでの選び方
JDKの選択肢とサーバーサイドでの選び方Takahiro YAMADA
 
これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?Takahiro YAMADA
 
Javaのカルチャーとグロース - MANABIYA 2018
Javaのカルチャーとグロース - MANABIYA 2018Javaのカルチャーとグロース - MANABIYA 2018
Javaのカルチャーとグロース - MANABIYA 2018Yusuke Suzuki
 
JavaとOSSとAndroid - JavaAPI訴訟問題を考える
JavaとOSSとAndroid - JavaAPI訴訟問題を考えるJavaとOSSとAndroid - JavaAPI訴訟問題を考える
JavaとOSSとAndroid - JavaAPI訴訟問題を考えるYusuke Suzuki
 
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会JavaOne感想&技術トレンド紹介 - JavaOne2015報告会
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会Yusuke Suzuki
 
Java EE 6で復活するエンタープライズJavaの世界
Java EE 6で復活するエンタープライズJavaの世界Java EE 6で復活するエンタープライズJavaの世界
Java EE 6で復活するエンタープライズJavaの世界Takakiyo Tanaka
 
今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJavaTakashi Ito
 
Java EE から Jakarta EE へ - Eclipse Foundation への移行で気になってたこと Ian Robinsonたちに全部聞...
Java EE から Jakarta EE へ - Eclipse Foundation への移行で気になってたこと Ian Robinsonたちに全部聞...Java EE から Jakarta EE へ - Eclipse Foundation への移行で気になってたこと Ian Robinsonたちに全部聞...
Java EE から Jakarta EE へ - Eclipse Foundation への移行で気になってたこと Ian Robinsonたちに全部聞...Daisuke Nishino
 
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
20130511 jjug ccc講演 さらばjsp JAXBとmixer220130511 jjug ccc講演 さらばjsp JAXBとmixer2
20130511 jjug ccc講演 さらばjsp JAXBとmixer2Y Watanabe
 
JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座Yusuke Suzuki
 
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]David Buck
 
Glass fishで作ったアプリをweblogicに移植してみた
Glass fishで作ったアプリをweblogicに移植してみたGlass fishで作ったアプリをweblogicに移植してみた
Glass fishで作ったアプリをweblogicに移植してみたSatoshi Kubo
 

Similar to Pure JavaEE or Spring #glassfishjp (20)

福井イベント
福井イベント福井イベント
福井イベント
 
Spring frameworkが大好きなおはなし
Spring frameworkが大好きなおはなしSpring frameworkが大好きなおはなし
Spring frameworkが大好きなおはなし
 
Spring知っておきたい
Spring知っておきたいSpring知っておきたい
Spring知っておきたい
 
Beginning Java EE 6 勉強会(1) #bje_study
Beginning Java EE 6 勉強会(1) #bje_studyBeginning Java EE 6 勉強会(1) #bje_study
Beginning Java EE 6 勉強会(1) #bje_study
 
JDKの選択肢とサーバーサイドでの選び方
JDKの選択肢とサーバーサイドでの選び方JDKの選択肢とサーバーサイドでの選び方
JDKの選択肢とサーバーサイドでの選び方
 
Spring.project
Spring.projectSpring.project
Spring.project
 
これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?
 
Javaのカルチャーとグロース - MANABIYA 2018
Javaのカルチャーとグロース - MANABIYA 2018Javaのカルチャーとグロース - MANABIYA 2018
Javaのカルチャーとグロース - MANABIYA 2018
 
JavaとOSSとAndroid - JavaAPI訴訟問題を考える
JavaとOSSとAndroid - JavaAPI訴訟問題を考えるJavaとOSSとAndroid - JavaAPI訴訟問題を考える
JavaとOSSとAndroid - JavaAPI訴訟問題を考える
 
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会JavaOne感想&技術トレンド紹介 - JavaOne2015報告会
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会
 
Java EE 6で復活するエンタープライズJavaの世界
Java EE 6で復活するエンタープライズJavaの世界Java EE 6で復活するエンタープライズJavaの世界
Java EE 6で復活するエンタープライズJavaの世界
 
今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava
 
Java EE から Jakarta EE へ - Eclipse Foundation への移行で気になってたこと Ian Robinsonたちに全部聞...
Java EE から Jakarta EE へ - Eclipse Foundation への移行で気になってたこと Ian Robinsonたちに全部聞...Java EE から Jakarta EE へ - Eclipse Foundation への移行で気になってたこと Ian Robinsonたちに全部聞...
Java EE から Jakarta EE へ - Eclipse Foundation への移行で気になってたこと Ian Robinsonたちに全部聞...
 
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
20130511 jjug ccc講演 さらばjsp JAXBとmixer220130511 jjug ccc講演 さらばjsp JAXBとmixer2
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
 
JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座
 
Hello Java
Hello JavaHello Java
Hello Java
 
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]
 
Glass fishで作ったアプリをweblogicに移植してみた
Glass fishで作ったアプリをweblogicに移植してみたGlass fishで作ったアプリをweblogicに移植してみた
Glass fishで作ったアプリをweblogicに移植してみた
 
20190202 jdk new_release_model_sendai
20190202 jdk new_release_model_sendai20190202 jdk new_release_model_sendai
20190202 jdk new_release_model_sendai
 
Springの向かう先
Springの向かう先Springの向かう先
Springの向かう先
 

More from Toshiaki Maki

From Spring Boot 2.2 to Spring Boot 2.3 #jsug
From Spring Boot 2.2 to Spring Boot 2.3 #jsugFrom Spring Boot 2.2 to Spring Boot 2.3 #jsug
From Spring Boot 2.2 to Spring Boot 2.3 #jsugToshiaki Maki
 
Concourse x Spinnaker #concourse_tokyo
Concourse x Spinnaker #concourse_tokyoConcourse x Spinnaker #concourse_tokyo
Concourse x Spinnaker #concourse_tokyoToshiaki Maki
 
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1tServerless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1tToshiaki Maki
 
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1Toshiaki Maki
 
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1Toshiaki Maki
 
Spring Boot Actuator 2.0 & Micrometer
Spring Boot Actuator 2.0 & MicrometerSpring Boot Actuator 2.0 & Micrometer
Spring Boot Actuator 2.0 & MicrometerToshiaki Maki
 
Open Service Broker APIとKubernetes Service Catalog #k8sjp
Open Service Broker APIとKubernetes Service Catalog #k8sjpOpen Service Broker APIとKubernetes Service Catalog #k8sjp
Open Service Broker APIとKubernetes Service Catalog #k8sjpToshiaki Maki
 
Spring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsugSpring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsugToshiaki Maki
 
Introduction to Spring WebFlux #jsug #sf_a1
Introduction to Spring WebFlux #jsug #sf_a1Introduction to Spring WebFlux #jsug #sf_a1
Introduction to Spring WebFlux #jsug #sf_a1Toshiaki Maki
 
BOSH / CF Deployment in modern ways #cf_tokyo
BOSH / CF Deployment in modern ways #cf_tokyoBOSH / CF Deployment in modern ways #cf_tokyo
BOSH / CF Deployment in modern ways #cf_tokyoToshiaki Maki
 
Why PCF is the best platform for Spring Boot
Why PCF is the best platform for Spring BootWhy PCF is the best platform for Spring Boot
Why PCF is the best platform for Spring BootToshiaki Maki
 
Zipkin Components #zipkin_jp
Zipkin Components #zipkin_jpZipkin Components #zipkin_jp
Zipkin Components #zipkin_jpToshiaki Maki
 
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07Toshiaki Maki
 
Spring Framework 5.0による Reactive Web Application #JavaDayTokyo
Spring Framework 5.0による Reactive Web Application #JavaDayTokyoSpring Framework 5.0による Reactive Web Application #JavaDayTokyo
Spring Framework 5.0による Reactive Web Application #JavaDayTokyoToshiaki Maki
 
実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsug実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsugToshiaki Maki
 
Spring ❤️ Kotlin #jjug
Spring ❤️ Kotlin #jjugSpring ❤️ Kotlin #jjug
Spring ❤️ Kotlin #jjugToshiaki Maki
 
Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3
Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3
Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3Toshiaki Maki
 
Managing your Docker image continuously with Concourse CI
Managing your Docker image continuously with Concourse CIManaging your Docker image continuously with Concourse CI
Managing your Docker image continuously with Concourse CIToshiaki Maki
 
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...
Data Microservices with Spring Cloud Stream, Task,  and Data Flow #jsug #spri...Data Microservices with Spring Cloud Stream, Task,  and Data Flow #jsug #spri...
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...Toshiaki Maki
 
Short Lived Tasks in Cloud Foundry #cfdtokyo
Short Lived Tasks in Cloud Foundry #cfdtokyoShort Lived Tasks in Cloud Foundry #cfdtokyo
Short Lived Tasks in Cloud Foundry #cfdtokyoToshiaki Maki
 

More from Toshiaki Maki (20)

From Spring Boot 2.2 to Spring Boot 2.3 #jsug
From Spring Boot 2.2 to Spring Boot 2.3 #jsugFrom Spring Boot 2.2 to Spring Boot 2.3 #jsug
From Spring Boot 2.2 to Spring Boot 2.3 #jsug
 
Concourse x Spinnaker #concourse_tokyo
Concourse x Spinnaker #concourse_tokyoConcourse x Spinnaker #concourse_tokyo
Concourse x Spinnaker #concourse_tokyo
 
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1tServerless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
 
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1
 
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1
 
Spring Boot Actuator 2.0 & Micrometer
Spring Boot Actuator 2.0 & MicrometerSpring Boot Actuator 2.0 & Micrometer
Spring Boot Actuator 2.0 & Micrometer
 
Open Service Broker APIとKubernetes Service Catalog #k8sjp
Open Service Broker APIとKubernetes Service Catalog #k8sjpOpen Service Broker APIとKubernetes Service Catalog #k8sjp
Open Service Broker APIとKubernetes Service Catalog #k8sjp
 
Spring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsugSpring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsug
 
Introduction to Spring WebFlux #jsug #sf_a1
Introduction to Spring WebFlux #jsug #sf_a1Introduction to Spring WebFlux #jsug #sf_a1
Introduction to Spring WebFlux #jsug #sf_a1
 
BOSH / CF Deployment in modern ways #cf_tokyo
BOSH / CF Deployment in modern ways #cf_tokyoBOSH / CF Deployment in modern ways #cf_tokyo
BOSH / CF Deployment in modern ways #cf_tokyo
 
Why PCF is the best platform for Spring Boot
Why PCF is the best platform for Spring BootWhy PCF is the best platform for Spring Boot
Why PCF is the best platform for Spring Boot
 
Zipkin Components #zipkin_jp
Zipkin Components #zipkin_jpZipkin Components #zipkin_jp
Zipkin Components #zipkin_jp
 
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
 
Spring Framework 5.0による Reactive Web Application #JavaDayTokyo
Spring Framework 5.0による Reactive Web Application #JavaDayTokyoSpring Framework 5.0による Reactive Web Application #JavaDayTokyo
Spring Framework 5.0による Reactive Web Application #JavaDayTokyo
 
実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsug実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsug
 
Spring ❤️ Kotlin #jjug
Spring ❤️ Kotlin #jjugSpring ❤️ Kotlin #jjug
Spring ❤️ Kotlin #jjug
 
Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3
Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3
Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3
 
Managing your Docker image continuously with Concourse CI
Managing your Docker image continuously with Concourse CIManaging your Docker image continuously with Concourse CI
Managing your Docker image continuously with Concourse CI
 
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...
Data Microservices with Spring Cloud Stream, Task,  and Data Flow #jsug #spri...Data Microservices with Spring Cloud Stream, Task,  and Data Flow #jsug #spri...
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...
 
Short Lived Tasks in Cloud Foundry #cfdtokyo
Short Lived Tasks in Cloud Foundry #cfdtokyoShort Lived Tasks in Cloud Foundry #cfdtokyo
Short Lived Tasks in Cloud Foundry #cfdtokyo
 

Recently uploaded

チームで開発するための環境を整える
チームで開発するための環境を整えるチームで開発するための環境を整える
チームで開発するための環境を整えるonozaty
 
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~honeshabri
 
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。iPride Co., Ltd.
 
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版Takayuki Nakayama
 
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdfIGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdfIGDA Japan SIG-Audio
 
これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024Hideki Saito
 
バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析sugiuralab
 
The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))yoshidakids7
 
00001_test_automation_portfolio_20240313
00001_test_automation_portfolio_2024031300001_test_automation_portfolio_20240313
00001_test_automation_portfolio_20240313ssuserf8ea02
 
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜Naomi Yamasaki
 
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」IGDA Japan SIG-Audio
 
AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作りAWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作りiPride Co., Ltd.
 

Recently uploaded (12)

チームで開発するための環境を整える
チームで開発するための環境を整えるチームで開発するための環境を整える
チームで開発するための環境を整える
 
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
 
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
 
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
 
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdfIGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
 
これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024
 
バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析
 
The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))
 
00001_test_automation_portfolio_20240313
00001_test_automation_portfolio_2024031300001_test_automation_portfolio_20240313
00001_test_automation_portfolio_20240313
 
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
 
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
 
AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作りAWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作り
 

Pure JavaEE or Spring #glassfishjp

  • 1. Pure Java EE or Spring? @making GlassFish Users Group Japan勉強会 June 2012 2012/06/04
  • 2. Who are you? • Toshiaki Maki @making –http://blog.ik.am –某大手SIerでR&D • 社内Javaフレームワークの整備 • Spring + Struts + iBatis… GlassFish Users Group Japan 12/06/04 2
  • 3. 金魚本翻訳一部担当 GlassFish Users Group Japan 12/06/04 3
  • 4. JavaEE、Springに限らず Javaテクノロジーが好き! GlassFish Users Group Japan 12/06/04 4
  • 5. 金魚本をお持ちでない方は http://amzn.to/JavaEE6 こちらから、、、 GlassFish Users Group Japan 12/06/04 5
  • 6. 社内JavaEE6勉強会 #bje_study • 各要素技術ごとに講師を募り隔週で開催中 – 講師には金魚本プレゼント – 毎回15人前後の参加者 • slideshareで資料公開中 – JavaEE6概要 http://slidesha.re/I0cXjt – JPA http://slidesha.re/I7XkHs – EJB http://slidesha.re/JuOA0c – JSF http://slidesha.re/L0MiDt – JMS 6/13予定 – JAX-WS 6/27予定 – JAX-RS 7/4予定 GlassFish Users Group Japan 12/06/04 6
  • 7. ここから本題 • JavaEEとSpringの現在 • JavaEE6とSpring3の違い • どっちを使う? GlassFish Users Group Japan 12/06/04 7
  • 8. 本日の発表内容は個人の見解で あり、所属企業とは一切関係あ りません GlassFish Users Group Japan 12/06/04 8
  • 9. JavaEEとSpringの 現在 GlassFish Users Group Japan 12/06/04 9
  • 10. 質問:何でWebアプリケーションを開発してい ますか? • Struts1系+αで開発している人 • Struts2系+αで開発している人 • Seasarで開発している人 • Springで開発している人 • JavaEE5で開発している人 • JavaEE6で開発している人 • その他(Playとか、Grailsとか) GlassFish Users Group Japan 12/06/04 10
  • 11. Java EE • 言わずと知れたJavaによるWEBアプリケーション開発標 準フレームワークスタック • ベンダ非依存な仕様策定 • 2009年12月にJava EE 6が登場し、2011年ごろから対応 APサーバー多数登場 – GlassFish 3 – WebLogic 12c – Web Sphere 8.X – JBoss AS 7 – Cosminexus v9 – TomEE など • Web Profileの登場など、かつての重厚感はなくなり、 開発生産性が高まった • JSF、EJB、JPA、CDI、Bean Validationが主要テクノロ ジー • J2EE時代に比べて格段に使いやすくなった GlassFish Users Group Japan 12/06/04 11
  • 12. Spring • 現在3.1系 – 2012-02-16に3.1.1リリース – 2012-06に3.1.2リリース? • SpringSource社による開発 • XMLによる設定が多い!という印象がある方は時代遅れ – 3.0以降ではほとんどの設定がアノテーションで記述可能 – XMLベース、アノテーションベース、Javaベースの設定方法を 自由に選べる(組み合わせ可能) • サブプロジェクト多数 – Spring Security – Spring Data – Spring Batch – Spring Mobile – Spring Social • J2EEのアンチテーゼとして生まれたが重厚になりつつ ある GlassFish Users Group Japan 12/06/04 12
  • 13. Spring -> Java EE6への動き? • JavaEE6の普及展開に合わせて、Springに対す るネガティブキャンペーン? • migration Spring to JavaEE6 – http://www.oracle.com/technetwork/articles/jav a/springtojavaee-522240.html – https://blogs.oracle.com/arungupta/entry/why_j ava_ee_6_is – http://www.slideshare.net/ertmanb/javaone- 2011-migrating-spring-applications-to-java-ee- 6 GlassFish Users Group Japan 12/06/04 13
  • 14. JBossのJavaEE6プロモーション • http://www.jboss.com/promo/EE6/ (意訳)SpringやStrutsみたいなレガシー なアプリをメンテナンスしてても、JBoss にデプロイされていたらRedHatはサポー トするよ! GlassFish Users Group Japan 12/06/04 14
  • 15. Stack Overflowでの質問 • http://stackoverflow.com/questions/2499323 /java-ee-6-vs-spring-3-stack 2010年5月オープン 2011年12月荒れ過ぎで閉 鎖 GlassFish Users Group Japan 12/06/04 15
  • 16. 感情論、宗教論にな りつつある。。 GlassFish Users Group Japan 12/06/04 16
  • 17. JavaEE6とSpring3 の違い GlassFish Users Group Japan 12/06/04 17
  • 18. いくつか違いをみていきます • 構成テクノロジーの違い • 出版書籍の違い • ドキュメントの違い • セキュリティの違い • IDEの違い • Code Generationの違い GlassFish Users Group Japan 12/06/04 18
  • 19. FullJavaEE6のWEBアプリケーションモデル Presentation Service Persistence Manged Bean ブラウザ JSF EJB JPA RDBMS JAX-RS CDI/EJBコンテナ GlassFish Users Group Japan 12/06/04 19
  • 20. Springを使用した一般的なWEBアプリケーションモデル Presentation Service Persistence JPA Spring Spring Spring ブラウザ RDBMS MVC (POJO) (POJO) Spring DI GlassFish Users Group Japan 12/06/04 20
  • 21. 構成テクノロジーの違い • WEBアプリのモデルはだいたい同じ • 個別技術で言うと – JSF vs Spring MVC • コンポーネントベース vs アクションベース – CDI vs Spring DI • だが、、Springは各層の連携が(疎ではあるが) 強力であり、個別要素で比べるのはナンセンス • http://orablogs- jp.blogspot.jp/2012/05/spring-to-java-ee- migration-part-4.html を読めば分かるが、Criticalな違いはない GlassFish Users Group Japan – 記事中では小さなことでSpringを批判している 12/06/04 21
  • 22. JavaEE6関連書籍 GlassFish Users Group Japan 12/06/04 22
  • 23. Spring3関連書籍 GlassFish Users Group Japan 12/06/04 23
  • 24. 出版書籍の違い • JavaEE6に関する書籍 – 要素技術の解説形式が多い • Spring3に関する書籍 – 技術解説の他、クックブック形式やアプリケーショ ンを作りながら学ぶ形式も多い 今後JavaEE6を使ったアプリケーション開発 に関する書籍が出てくることを期待してま す! GlassFish Users Group Japan 12/06/04 24
  • 25. ドキュメントの違い • JavaEE6 – http://www.oracle.com/technetwork/java/javaee/ resources-jsp-139799.html • サンプル • JavaDoc • Spec • チュートリアル • Spring – http://static.springsource.org/spring/docs/3.1 .x/spring-framework-reference/html/ • リファレンスマニュアル – http://static.springsource.org/spring/docs/3.1 .x/javadoc-api/ • Javadoc GlassFish Users Group Japan 12/06/04 25
  • 26. セキュリティの違い • JavaEE6 – JAAS? • ドキュメントが少ないので全貌を理解していない。。。 • Spring – Spring Security • かなりパワフル GlassFish Users Group Japan 12/06/04 26
  • 27. IDEの違い • Java EE 6 – NetBeans – JBoss Tools – Rational Application Developer – MyEclipse • Spring – SpringSource Tool Suite – MyEclipse GlassFish Users Group Japan 12/06/04 27
  • 28. Code Generationの違い • Java EE 6 – JBoss Forge – Glassfish • Spring – Spring Roo – Spring Fuse – MyEclipse GlassFish Users Group Japan 12/06/04 28
  • 29. 甲乙つけがたい。。 GlassFish Users Group Japan 12/06/04 29
  • 30. 最も大きな違いは、、jarの配置場所 • JavaEEはフレームワークがAPサーバー側にある – フレームワークはベンダが提供 – ベンダサポートあり – warのサイズが小さい – バージョンは自由に選べない – 変更のサイクルが長い – APサーバーのマイグレーションは大丈夫なんでしょうか • Springはフレームワークがアプリケーション側に ある – 好きなバージョンを選べる – 変更のサイクルを選べる – 自己責任(bugfixできる) – warのサイズが大きい GlassFish Users Group Japan 12/06/04 30
  • 31. どっちを使う? GlassFish Users Group Japan 12/06/04 31
  • 32. Springはプロプライエタリで危険? • 状況 – 開発プロセスがオープンでなく、SpringSource社の みで進んでいるのは確か。 • A社のF技術のようになる可能性あり • 実際 – Springは1系から一貫したプログラミングモデルを 提供 – バージョンがあがるごとに機能追加、生産性向上を 行ってきた – 3.1系はとても開発しやすい – 多くの拡張ポイントが用意されている GlassFish Users Group Japan 12/06/04 32
  • 33. それぞれの今後 • Spring3.2 – Java7対応 – Servlet3.0/3.1 非同期リクエストサポート – JCache(JSR-107)サポート – WebSocket対応? – JavaEE7対応? – 2012-05-28に3.2 M1リリース • JavaEE7 – PaaS対応 – マルチテナンシー – JPA2.1、EJB3.2、JAX-RS2.0、JMS2.0、 Servlet3.1、JSF2.2、CDI1.1・・・ – 2013年? GlassFish Users Group Japan 12/06/04 33
  • 34. 宗教論争はやめよう GlassFish Users Group Japan 12/06/04 34
  • 35. “標準技術を使う”の が目的じゃない GlassFish Users Group Japan 12/06/04 35
  • 36. “保守性・拡張性の高い アプリケーションを効率 良く開発する”のが目 的! GlassFish Users Group Japan 12/06/04 36
  • 37. disり合いはやめよ う GlassFish Users Group Japan 12/06/04 37
  • 38. 少数精鋭な方々は、、 • どっちでもいい(生産者高い)んじゃね? • 慣れている方を選べば良い • もちろんPlayやGrails等他のフレームワークを 選んでも良い GlassFish Users Group Japan 12/06/04 38
  • 39. 様々なのエンジニア向け • MVC、業務ロジック、データアクセスはどちらも Good – MVCのコンポーネントベースorアクションベースで好き嫌 いは分かれる? • フレームワークを提供する立場としては、個人的に はXMLでもアノテーションでもDIできる方が好き – フレームワーク用の包括的な設定は小さくXMLで定義 – アプリケーション用の多くの設定はアノテーションで定義 – CDIもっとがんばれ、、(ConversationScopedはGood) • バッチ処理やJavaEE以外のサーバーサイド(Netty ベースなアプリ等)もカバーしたい場合、Springで 統一的なプログラミングモデルを提供すると良さそ う GlassFish Users Group Japan 12/06/04 39
  • 40. JavaEE6 + Spring • 一貫性がとれていれば組み合わせても問題ない – 成熟したJavaEE API+Spring – Spring MVC + EJB + JPA – JSF(Spring WebFlow) + Spring + JPA • 一貫性がとれていない組み合わせは複雑さを増 し、保守性を低下させる恐れあり – Spring MVC + JSF – Spring + CDI GlassFish Users Group Japan 12/06/04 40
  • 41. 正直、慣れている技術を使 えば良いと思う。。 GlassFish Users Group Japan 12/06/04 41
  • 42. まとめ? • JavaEEとSpringの現在 • JavaEE6とSpring3の違い • どっちを使う? どっちもGood! 喧嘩せずに、合った技術を選びましょ う! GlassFish Users Group Japan 12/06/04 42