Movatterモバイル変換


[0]ホーム

URL:


Toshiaki Maki, profile picture
Uploaded byToshiaki Maki
PPTX, PDF4,674 views

Pure JavaEE or Spring #glassfishjp

Embed presentation

Downloaded 99 times
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 Japan12/06/04                                         2
金魚本翻訳一部担当           GlassFish Users Group Japan12/06/04                                 3
JavaEE、Springに限らず     Javaテクノロジーが好き!           GlassFish Users Group Japan12/06/04                                 4
金魚本をお持ちでない方は     http://amzn.to/JavaEE6     こちらから、、、             GlassFish Users Group Japan12/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 Japan12/06/04                                             6
ここから本題• JavaEEとSpringの現在• JavaEE6とSpring3の違い• どっちを使う?            GlassFish Users Group Japan12/06/04                                  7
本日の発表内容は個人の見解で     あり、所属企業とは一切関係あ     りません           GlassFish Users Group Japan12/06/04                                 8
JavaEEとSpringの                      現在           GlassFish Users Group Japan12/06/04                                 9
質問:何でWebアプリケーションを開発していますか?•   Struts1系+αで開発している人•   Struts2系+αで開発している人•   Seasarで開発している人•   Springで開発している人•   JavaEE5で開発している人•   JavaEE6で開発している人•   その他(Playとか、Grailsとか)             GlassFish Users Group Japan12/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 Japan12/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 Japan12/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 Japan12/06/04                                            13
JBossのJavaEE6プロモーション• http://www.jboss.com/promo/EE6/           (意訳)SpringやStrutsみたいなレガシー           なアプリをメンテナンスしてても、JBoss           にデプロイされていたらRedHatはサポー                     トするよ!                 GlassFish Users Group Japan12/06/04                                       14
Stack Overflowでの質問• http://stackoverflow.com/questions/2499323  /java-ee-6-vs-spring-3-stack               2010年5月オープン             2011年12月荒れ過ぎで閉                     鎖               GlassFish Users Group Japan12/06/04                                     15
感情論、宗教論にな       りつつある。。           GlassFish Users Group Japan12/06/04                                 16
JavaEE6とSpring3                      の違い           GlassFish Users Group Japan12/06/04                                 17
いくつか違いをみていきます•   構成テクノロジーの違い•   出版書籍の違い•   ドキュメントの違い•   セキュリティの違い•   IDEの違い•   Code Generationの違い               GlassFish Users Group Japan12/06/04                                     18
FullJavaEE6のWEBアプリケーションモデル           Presentation          Service        Persistence                    Manged                     Beanブラウザ          JSF                  EJB               JPA      RDBMS              JAX-RS                             CDI/EJBコンテナ                       GlassFish Users Group Japan12/06/04                                                              19
Springを使用した一般的なWEBアプリケーションモデル           Presentation          Service        Persistence                                                           JPA              Spring             Spring              Springブラウザ                                                             RDBMS               MVC               (POJO)              (POJO)                               Spring DI                       GlassFish Users Group Japan12/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 Japan12/06/04                                 22
Spring3関連書籍           GlassFish Users Group Japan12/06/04                                 23
出版書籍の違い• JavaEE6に関する書籍     – 要素技術の解説形式が多い• Spring3に関する書籍     – 技術解説の他、クックブック形式やアプリケーショ       ンを作りながら学ぶ形式も多い     今後JavaEE6を使ったアプリケーション開発     に関する書籍が出てくることを期待してま                 す!             GlassFish Users Group Japan12/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 Japan12/06/04                                             25
セキュリティの違い• JavaEE6     – JAAS?           • ドキュメントが少ないので全貌を理解していない。。。• Spring     – Spring Security           • かなりパワフル                    GlassFish Users Group Japan12/06/04                                          26
IDEの違い• Java EE 6     –     NetBeans     –     JBoss Tools     –     Rational Application Developer     –     MyEclipse• Spring     – SpringSource Tool Suite     – MyEclipse                        GlassFish Users Group Japan12/06/04                                              27
Code Generationの違い• Java EE 6     – JBoss Forge     – Glassfish• Spring     – Spring Roo     – Spring Fuse     – MyEclipse                     GlassFish Users Group Japan12/06/04                                           28
甲乙つけがたい。。           GlassFish Users Group Japan12/06/04                                 29
最も大きな違いは、、jarの配置場所• JavaEEはフレームワークがAPサーバー側にある     –     フレームワークはベンダが提供     –     ベンダサポートあり     –     warのサイズが小さい     –     バージョンは自由に選べない     –     変更のサイクルが長い     –     APサーバーのマイグレーションは大丈夫なんでしょうか• Springはフレームワークがアプリケーション側に  ある     –     好きなバージョンを選べる     –     変更のサイクルを選べる     –     自己責任(bugfixできる)     –     warのサイズが大きい                   GlassFish Users Group Japan12/06/04                                         30
どっちを使う?           GlassFish Users Group Japan12/06/04                                 31
Springはプロプライエタリで危険?• 状況     – 開発プロセスがオープンでなく、SpringSource社の       みで進んでいるのは確か。           • A社のF技術のようになる可能性あり• 実際     – Springは1系から一貫したプログラミングモデルを       提供     – バージョンがあがるごとに機能追加、生産性向上を       行ってきた     – 3.1系はとても開発しやすい     – 多くの拡張ポイントが用意されている                   GlassFish Users Group Japan12/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 Japan12/06/04                                          33
宗教論争はやめよう           GlassFish Users Group Japan12/06/04                                 34
“標準技術を使う”の       が目的じゃない           GlassFish Users Group Japan12/06/04                                 35
“保守性・拡張性の高い       アプリケーションを効率       良く開発する”のが目       的!           GlassFish Users Group Japan12/06/04                                 36
disり合いはやめよ       う           GlassFish Users Group Japan12/06/04                                 37
少数精鋭な方々は、、• どっちでもいい(生産者高い)んじゃね?• 慣れている方を選べば良い• もちろんPlayやGrails等他のフレームワークを  選んでも良い           GlassFish Users Group Japan12/06/04                                 38
様々なのエンジニア向け• MVC、業務ロジック、データアクセスはどちらも  Good     – MVCのコンポーネントベースorアクションベースで好き嫌       いは分かれる?• フレームワークを提供する立場としては、個人的に  はXMLでもアノテーションでもDIできる方が好き     – フレームワーク用の包括的な設定は小さくXMLで定義     – アプリケーション用の多くの設定はアノテーションで定義     – CDIもっとがんばれ、、(ConversationScopedはGood)• バッチ処理やJavaEE以外のサーバーサイド(Netty  ベースなアプリ等)もカバーしたい場合、Springで  統一的なプログラミングモデルを提供すると良さそ  う                GlassFish Users Group Japan12/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 Japan12/06/04                                          40
正直、慣れている技術を使えば良いと思う。。           GlassFish Users Group Japan12/06/04                                 41
まとめ?• JavaEEとSpringの現在• JavaEE6とSpring3の違い• どっちを使う?                どっちもGood!           喧嘩せずに、合った技術を選びましょ                  う!                GlassFish Users Group Japan12/06/04                                      42
って全然まとまっていないので、続きは懇親会で!           GlassFish Users Group Japan12/06/04                                 43

Recommended

PDF
Application Server 紹介 #glassfishjp
PDF
JavaEE6 First Application #glassfishjp
PDF
Java EEの話(仮)
PDF
最新のJava言語仕様で見るモジュールシステム #jjug
PDF
Java女子部 Java EEハンズオン(応用編)
PDF
JSF2.2で簡単webアプリケーション開発
PPTX
from Java EE to Jakarta EE
PDF
JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ...
PDF
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
PPTX
Jsf アプリ作ったった
PDF
Play ja 3_update
PDF
Play jjug2012spring
PDF
JenkinsとSeleniumの活用事例
PDF
20150920 中国地方db勉強会
PPTX
ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type
PDF
「Selenium実践入門」で学ぶテスト自動化の世界
PDF
[INSIGHT OUT 2011] C12 50分で理解する SQL Serverでできることできないこと(uchiyama)
PPTX
Selenium2でつくるテストケースの構成について
PPTX
Beginning Java EE 6 勉強会(3) #bje_study
 
PPTX
Beginning Java EE 6 勉強会(1) #bje_study
PDF
Java EE 6で復活するエンタープライズJavaの世界
PDF
Spring.project
PDF
Jjug springセッション
PDF
Introduction to web development 1
PPTX
福井イベント
PDF
Java EE 再入門
PDF
Spring3.1概要x di
PDF
Lighting Talk at Sun Tech Days 2008, Tokyo
PDF
Springの今
PDF
Public 20100828 j_ruby_kaigi_10things_jror_with_javaee

More Related Content

PDF
Application Server 紹介 #glassfishjp
PDF
JavaEE6 First Application #glassfishjp
PDF
Java EEの話(仮)
PDF
最新のJava言語仕様で見るモジュールシステム #jjug
PDF
Java女子部 Java EEハンズオン(応用編)
PDF
JSF2.2で簡単webアプリケーション開発
PPTX
from Java EE to Jakarta EE
PDF
JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ...
Application Server 紹介 #glassfishjp
JavaEE6 First Application #glassfishjp
Java EEの話(仮)
最新のJava言語仕様で見るモジュールシステム #jjug
Java女子部 Java EEハンズオン(応用編)
JSF2.2で簡単webアプリケーション開発
from Java EE to Jakarta EE
JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ...

What's hot

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

Similar to Pure JavaEE or Spring #glassfishjp

PPTX
Beginning Java EE 6 勉強会(1) #bje_study
PDF
Java EE 6で復活するエンタープライズJavaの世界
PDF
Spring.project
PDF
Jjug springセッション
PDF
Introduction to web development 1
PPTX
福井イベント
PDF
Java EE 再入門
PDF
Spring3.1概要x di
PDF
Lighting Talk at Sun Tech Days 2008, Tokyo
PDF
Springの今
PDF
Public 20100828 j_ruby_kaigi_10things_jror_with_javaee
KEY
Beginning Java EE 6 勉強会(4) #bje_study
PDF
JakartaOne Livestream Japan 2020
ODP
Spring2概論@第1回JSUG勉強会
PDF
イマドキの現場で使えるJavaライブラリ事情
PDF
Seasarプロジェクト徹底攻略
PDF
Google App Engine Java 入門
PDF
Javaのカルチャーとグロース - MANABIYA 2018
PDF
Spring framework
PPTX
Androidが起こしたオープン・イノベーション
Beginning Java EE 6 勉強会(1) #bje_study
Java EE 6で復活するエンタープライズJavaの世界
Spring.project
Jjug springセッション
Introduction to web development 1
福井イベント
Java EE 再入門
Spring3.1概要x di
Lighting Talk at Sun Tech Days 2008, Tokyo
Springの今
Public 20100828 j_ruby_kaigi_10things_jror_with_javaee
Beginning Java EE 6 勉強会(4) #bje_study
JakartaOne Livestream Japan 2020
Spring2概論@第1回JSUG勉強会
イマドキの現場で使えるJavaライブラリ事情
Seasarプロジェクト徹底攻略
Google App Engine Java 入門
Javaのカルチャーとグロース - MANABIYA 2018
Spring framework
Androidが起こしたオープン・イノベーション

More from Toshiaki Maki

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

Pure JavaEE or Spring #glassfishjp

  • 1.
    Pure Java EEor 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 Japan12/06/04 2
  • 3.
    金魚本翻訳一部担当 GlassFish Users Group Japan12/06/04 3
  • 4.
    JavaEE、Springに限らず Javaテクノロジーが好き! GlassFish Users Group Japan12/06/04 4
  • 5.
    金魚本をお持ちでない方は http://amzn.to/JavaEE6 こちらから、、、 GlassFish Users Group Japan12/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 Japan12/06/04 6
  • 7.
    ここから本題• JavaEEとSpringの現在• JavaEE6とSpring3の違い•どっちを使う? GlassFish Users Group Japan12/06/04 7
  • 8.
    本日の発表内容は個人の見解で あり、所属企業とは一切関係あ りません GlassFish Users Group Japan12/06/04 8
  • 9.
    JavaEEとSpringの 現在 GlassFish Users Group Japan12/06/04 9
  • 10.
    質問:何でWebアプリケーションを開発していますか?•Struts1系+αで開発している人• Struts2系+αで開発している人• Seasarで開発している人• Springで開発している人• JavaEE5で開発している人• JavaEE6で開発している人• その他(Playとか、Grailsとか) GlassFish Users Group Japan12/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 Japan12/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 Japan12/06/04 12
  • 13.
    Spring -> JavaEE6への動き?• 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 Japan12/06/04 13
  • 14.
    JBossのJavaEE6プロモーション• http://www.jboss.com/promo/EE6/ (意訳)SpringやStrutsみたいなレガシー なアプリをメンテナンスしてても、JBoss にデプロイされていたらRedHatはサポー トするよ! GlassFish Users Group Japan12/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 Japan12/06/04 15
  • 16.
    感情論、宗教論にな りつつある。。 GlassFish Users Group Japan12/06/04 16
  • 17.
    JavaEE6とSpring3 の違い GlassFish Users Group Japan12/06/04 17
  • 18.
    いくつか違いをみていきます•構成テクノロジーの違い• 出版書籍の違い• ドキュメントの違い• セキュリティの違い• IDEの違い• Code Generationの違い GlassFish Users Group Japan12/06/04 18
  • 19.
    FullJavaEE6のWEBアプリケーションモデル Presentation Service Persistence Manged Beanブラウザ JSF EJB JPA RDBMS JAX-RS CDI/EJBコンテナ GlassFish Users Group Japan12/06/04 19
  • 20.
    Springを使用した一般的なWEBアプリケーションモデル Presentation Service Persistence JPA Spring Spring Springブラウザ RDBMS MVC (POJO) (POJO) Spring DI GlassFish Users Group Japan12/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 Japan12/06/04 22
  • 23.
    Spring3関連書籍 GlassFish Users Group Japan12/06/04 23
  • 24.
    出版書籍の違い• JavaEE6に関する書籍 – 要素技術の解説形式が多い• Spring3に関する書籍 – 技術解説の他、クックブック形式やアプリケーショ ンを作りながら学ぶ形式も多い 今後JavaEE6を使ったアプリケーション開発 に関する書籍が出てくることを期待してま す! GlassFish Users Group Japan12/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 Japan12/06/04 25
  • 26.
    セキュリティの違い• JavaEE6 – JAAS? • ドキュメントが少ないので全貌を理解していない。。。• Spring – Spring Security • かなりパワフル GlassFish Users Group Japan12/06/04 26
  • 27.
    IDEの違い• Java EE6 – NetBeans – JBoss Tools – Rational Application Developer – MyEclipse• Spring – SpringSource Tool Suite – MyEclipse GlassFish Users Group Japan12/06/04 27
  • 28.
    Code Generationの違い• JavaEE 6 – JBoss Forge – Glassfish• Spring – Spring Roo – Spring Fuse – MyEclipse GlassFish Users Group Japan12/06/04 28
  • 29.
    甲乙つけがたい。。 GlassFish Users Group Japan12/06/04 29
  • 30.
    最も大きな違いは、、jarの配置場所• JavaEEはフレームワークがAPサーバー側にある – フレームワークはベンダが提供 – ベンダサポートあり – warのサイズが小さい – バージョンは自由に選べない – 変更のサイクルが長い – APサーバーのマイグレーションは大丈夫なんでしょうか• Springはフレームワークがアプリケーション側に ある – 好きなバージョンを選べる – 変更のサイクルを選べる – 自己責任(bugfixできる) – warのサイズが大きい GlassFish Users Group Japan12/06/04 30
  • 31.
    どっちを使う? GlassFish Users Group Japan12/06/04 31
  • 32.
    Springはプロプライエタリで危険?• 状況 – 開発プロセスがオープンでなく、SpringSource社の みで進んでいるのは確か。 • A社のF技術のようになる可能性あり• 実際 – Springは1系から一貫したプログラミングモデルを 提供 – バージョンがあがるごとに機能追加、生産性向上を 行ってきた – 3.1系はとても開発しやすい – 多くの拡張ポイントが用意されている GlassFish Users Group Japan12/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 Japan12/06/04 33
  • 34.
    宗教論争はやめよう GlassFish Users Group Japan12/06/04 34
  • 35.
    “標準技術を使う”の が目的じゃない GlassFish Users Group Japan12/06/04 35
  • 36.
    “保守性・拡張性の高い アプリケーションを効率 良く開発する”のが目 的! GlassFish Users Group Japan12/06/04 36
  • 37.
    disり合いはやめよ う GlassFish Users Group Japan12/06/04 37
  • 38.
    少数精鋭な方々は、、• どっちでもいい(生産者高い)んじゃね?• 慣れている方を選べば良い•もちろんPlayやGrails等他のフレームワークを 選んでも良い GlassFish Users Group Japan12/06/04 38
  • 39.
    様々なのエンジニア向け• MVC、業務ロジック、データアクセスはどちらもGood – MVCのコンポーネントベースorアクションベースで好き嫌 いは分かれる?• フレームワークを提供する立場としては、個人的に はXMLでもアノテーションでもDIできる方が好き – フレームワーク用の包括的な設定は小さくXMLで定義 – アプリケーション用の多くの設定はアノテーションで定義 – CDIもっとがんばれ、、(ConversationScopedはGood)• バッチ処理やJavaEE以外のサーバーサイド(Netty ベースなアプリ等)もカバーしたい場合、Springで 統一的なプログラミングモデルを提供すると良さそ う GlassFish Users Group Japan12/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 Japan12/06/04 40
  • 41.
  • 42.
    まとめ?• JavaEEとSpringの現在• JavaEE6とSpring3の違い•どっちを使う? どっちもGood! 喧嘩せずに、合った技術を選びましょ う! GlassFish Users Group Japan12/06/04 42
  • 43.

[8]ページ先頭

©2009-2025 Movatter.jp