Springが向かう先
2010.10.18
日本Springユーザグループ
河村 嘉之
アジェンダ
• Spring Framework
• Spring Framework & SpringSource
• SpringSourceの目指す所
SPRING FRAMEWORK
Spring Framework
• www.springframework.org
Spring Framework
• 世界で一番有名なEnterprise Javaのフレー
ムワークの一つ
Simple
Object
Portable Service Abstraction
6
Spring Framework
Core
The IoC Container
AOP
Spring AOP
AspectJ Integration
ORM
Hibernate
JPA
TopLink
JDO
OJB
iBatis
JEE
JMX
JMS
JCA
Remoting
EJBs
Email
Web
Spring Web MVC
Framework
Integration
Struts
WebWork
Tapestry
JSF
Rich View Support
JSPs
Velocity
FreeMaker
PDF
Jasper Report
Excel
Spring Portlet MVC
DAO
Spring JDBC
Transaction
Management
7
Spring Sub-Projects
• Spring Web Flow
• Spring Web Services
• Spring Security (Acegi
Security)
• Spring LDAP
• Spring Rich Client
• Spring Extensions
(Modules)
• Spring IDE for Eclipse
• Spring BeanDoc
• Spring OSGi
• Spring JavaConfig
• Spring .NET
• Spring Batch
一昔前に使ってた資料からそのまま引用
SPRING FRAMEWORK &
SPRINGSOURCE
Spring Framework &
SpringSource
• www.springsource.com
Spring Framework
• www.springframework.org
→ www.springsource.org
拡張するSpringSource
時期 出来事 手に入れたもの
2007/5 Benchmark Capitalから$10Mの資金調達 資金
2007/11 Interface21からSpringSourceへ改名
2008/1 Covalent Technologiesを買収 実行環境 (Tomcat)
2008/6 Accel PartnersとBenchmark Capital から
$15Mの資金調達
資金
2008/11 G2One Inc.を買収 開発環境 (Groovy・Grails)
2009/5 Hypericを買収 状態監視
2009/8 VMWareに買収される プラットフォーム (VMWare)
2009/8 Cloud Foundryを買収 実行環境 (EC2への対応)
2010/4 RabbitMQを買収 実行環境 (メッセージング)
2010/5 GemStoneを買収 実行環境 (データ管理)
2010/10 NovelとSUSE Linuxで提携 OS(SUSE Linux)
SpringSource
Spring Source
Spring
Framework
Enterprise Javaの
開発環境
SPRINGの目指すところ
SpringSourceの目指すところ
水平方向への拡張
→対応プラットフォーム
時間軸方向への拡張
→開発ライフサイクル
垂直方向への拡張
→プラットフォームスタック
時間軸方向への拡張
時間軸方向への拡張
BUILD
Spring Roo
• Higher Java Productivity
– テキストベースのJava向けRADツール
• Familiar Java
– Java API+すでに実績があるライブラリを利用
• Usable and Learnable
– 高いユーザビリティ (タブ補完、Help、ロールバック…)
• Development-time Only
– SpringだけでRooによる追加ランタイムなし
• Easy Roo Removal
– プロジェクトから簡単に削除できる
Groovy & Grails
• Groovy
– JavaVM上に構築された動的言語
– Groovyから任意のJavaAPIを呼び出せる
– SpringのBeanをGroovyで記述できる
• Grails
– Groovyで記述されたアプリケーションプラット
フォーム
– コアの部分にSpring Frameworkを利用
これら二つでJavaで
の開発により高度な
生産性を!
BOF C-2
気軽に使おう
Groovy!
SpringSource Tool Suite
• EclipseベースのSpringアプリケーション開発
環境
– Springアプリケーション開発環境
– エンタープライズOSGi向け開発環境
– アプリケーションのデプロイ管理
• tcServer、各種Java EEサーバへのデプロイ
RUN
Spring tc Server
• Apache Tomcatベースのアプリケーション
サーバ
– Enterprise向けTomcat
– Springを利用して作成したアプリケーションを実
行するのに適した環境
• Tomcatに加えて
– Webベースの管理UI
– アプリケーションの設定・デプロイ管理
– パフォーマンスのモニターおよび状態の診断
MANAGE
Hyperic
• Springアプリケーション状態監視に最適な
ツール
• Webアプリケーションやカスタムアプリケー
ションをモニター
• アプリケーションやサービスの内部深くまで見
ることができる
• ローカルサーバ・仮想サーバ・クラウドなど
様々な形態のサーバをカバー
垂直方向への拡張
垂直方向への拡張
H/W
OS
Middle Ware
Framework
Application
上方向への拡張
JVM
Servlet
その他の仕様
Spring
Roo/Grails
既存のパワフルで
拡張性の高いレイヤ
選択肢が広い
生産性が高い
代わりに選択
肢は狭まる
既存のレイヤ
の上に構築
ランタイムは
そのまま
Spring tc Server
Springアプリケーション tc Server Hyperic
開発 実行 トレース、監視、
アラート、管理
RabbitMQ
Springアプリケーション tc Server Hyperic
Cloud Scale Message Bus
他のCloud 各種デバイス 他のアプリケーション
RabbitMQ
メッセージブローカ
AMOP、SMTP、
XMPP、Stomp…
Point –to-Point、
Pub-Sub
仮想ホスト、
動的設定
GemFire
Springアプリケーション tc Server Hyperic
GemFire Enterprise
ファイルシステム データベース その他 データシステム
分散データFabric
セッション/オブジェ
クト/データ ストア
Geo Replication
& Partitioning
検索 & 通知
データ層での
スケーラビリ
ティの提供
VMware
missing piece
?
水平方向への拡張
水平方向への拡張
App
App
App
App
App
App
vSphere
vCloud
Other Cloud
vmforce
A-3
VMforceに
備えろ!
vmforce - build
Your Java App
SpringSource
Tool Suiteで開発
Drag&Dropでアプ
リケーションをクラ
ウドにデプロイ
Javaスタックは
VMware vCloud
が自動で管理
vmforce - run
Force.com
Database
Force.com
Platform
Services
Your Java App
VMware vSphere
Spring & Tomcat
VMware vCloud
vmforce - manage
Scaling(スケールアップ) and Load-
balancing(ロードバランス) as a
service
アプリケーションライフサイクル管理
自動バックアップ & ディザスタリカバ
リ
Monitoring(監視) and diagnostics(診
断) as a service
Your Java App
Force.com Database
プラットフォームが
サービスとして提供
Google App Engineとの連携
GAE/Jのス
タックの上で
Springを提供
GWTとの
連携 Hypericによ
る監視機能を
提供
Spring Cloud Foundry
Private Cloud
vSphere
vCloud
SUSE Linux
SpringSource & Cloud
vSphere
vCloud
App
App
App
Linux
まとめ
まとめ
• Springの目指すところ
– 時間軸方向への拡張
– 垂直方向への拡張
– 水平方向への拡張
• SpringSource/VMwareとは?
– 仮想化のレイヤの変化
10/21
• JSUG勉強会 x Force.com Meetup
– @Salesforce.com 六本木オフィス
– http://atnd.org/events/8612
– www.springframework.jp

Springの向かう先