SlideShare a Scribd company logo
1 of 29
Download to read offline
Summit
Developers
Developers Summit 2013 Summer
SIerにもテクノロジーの冒険はある!
∼  GGrraaiillss,,AAnnddrrooiidd,,OOppeennSSttaacckk
を巡る物語  ∼
上原 潤二
神原 健一
金渕 満
NTTソフトウェア株式会社
#devsumiB2
13年8月1日木曜日
Developer Summit 2013 Summer
自己紹介
上原潤二(@uehaj)
NTTソフトウェア(株)Grails推進室
JGGUG(日本Grails/Groovyユーザグループ)運営委員
書籍:
プログラミングGROOVY(技術評論社)
Grails徹底入門(翔泳社)
ブログ「Grな日々」
GroovyServ, LispBuilder, GVM(JVM
written in Groovy)開発者
2
13年8月1日木曜日
Developer Summit 2013 Summer
物語1:エンタープライズGrails
3
中堅SIerにおいて、
先進的なフルスタック
フレームワークGrails
を全社的に普及推進し
てみた。
13年8月1日木曜日
Developer Summit 2013 Summer
今日の内容
使ってます、Grails
NTTソフトウェアではWebアプリ開発を
中心にGrails/Groovy全社的に採用
Grailsって何?
何でまたGrailsを?
何を目指している?
4
13年8月1日木曜日
Developer Summit 2013 Summer
使ってます、Grails
平成24年1月
Grails推進室設置
平成24年度
Grails/Groovyを全社的に採用
10組織15プロジェクト+で使用
平成25年(-7月)
6件のプロジェクトでGrails/Groovyを新
規採用
5
13年8月1日木曜日
Developer Summit 2013 Summer
Grails推進室
6
技術サポート・研修
社内リポジトリ運用
ツール開発
開発環境クラウド化
OSS開発
海外カンファレンス
などでの講演
トレーニングコース
開催
社内プロジェクトコミュニティ
Grails
推進室
草の根翻訳
プロジェクト
Grailsの普及推進・技術
者育成をミッションとす
る専担チーム7名
英語ドキュメントの翻訳
13年8月1日木曜日
Developer Summit 2013 Summer
Grailsって何?
Webアプリ開発用統合フレームワーク
OSS/JavaEEベース(単なるwar)/Groovy
フルスタック
プラグインベース
アセットパイプライン管理
DBマイグレーション
リモーティング
認証(Spring Security)
:
7
(一説によると)全体工数の
22%を削減することができると
言われている
• Spring FW
• Spring MVC
• Hibernate
• SiteMesh
• Log4j,JUnit,.
13年8月1日木曜日
Developer Summit 2013 Summer
Groovyって何?
Javaの表記拡張(上位互換)
簡潔記述(1/4∼1/2)
クロージャ
関数型っぽいコレクション操作
動的+静的ハイブリッド
8
13年8月1日木曜日
Developer Summit 2013 Summer
Groovyって何?
Javaの表記拡張(上位互換)
簡潔記述(1/4∼1/2)
クロージャ
関数型っぽいコレクション操作
動的+静的ハイブリッド
8
GrailsはGroovyの応用例
他応用
Spock(テスト)
Gradle(ビルド)
13年8月1日木曜日
Developer Summit 2013 Summer
Groovyって何?
Javaの表記拡張(上位互換)
簡潔記述(1/4∼1/2)
クロージャ
関数型っぽいコレクション操作
動的+静的ハイブリッド
8
GrailsはGroovyの応用例
他応用
Spock(テスト)
Gradle(ビルド)
class	
  MySpec	
  extends	
  Specification	
  {
	
  	
  	
  	
  def	
  "2つの数字の最大値"(int	
  x,	
  int	
  y,	
  int	
  z)	
  {
	
  	
  	
  	
  	
  	
  expect:
	
  	
  	
  	
  	
  	
  	
  	
  Math.max(x,	
  y)	
  ==	
  z
	
  	
  	
  	
  	
  	
  where:
	
  	
  	
  	
  	
  	
  	
  	
  x	
  |	
  y	
  |	
  z
	
  	
  	
  	
  	
  	
  	
  	
  1	
  |	
  3	
  |	
  3
	
  	
  	
  	
  	
  	
  	
  	
  7	
  |	
  4	
  |	
  7
	
  	
  	
  	
  	
  	
  	
  	
  0	
  |	
  0	
  |	
  0
	
  	
  	
  	
  }
	
  }
13年8月1日木曜日
Developer Summit 2013 Summer
何でまたGrailsを?
背景
SIerの苦悩‥
開発効率UP
組織的スキル蓄積・技術者育成の軸
9
13年8月1日木曜日
Developer Summit 2013 Summer
何でまたGrailsを?
背景
SIerの苦悩‥
開発効率UP
組織的スキル蓄積・技術者育成の軸
9
なぜPlay FWやRoRとかじゃないのか?
13年8月1日木曜日
Developer Summit 2013 Summer
何でまたGrailsを?
背景
SIerの苦悩‥
開発効率UP
組織的スキル蓄積・技術者育成の軸
9
なぜPlay FWやRoRとかじゃないのか?
➡Javaとのシームレスな継続性
13年8月1日木曜日
Developer Summit 2013 Summer
何でまたGrailsを?
背景
SIerの苦悩‥
開発効率UP
組織的スキル蓄積・技術者育成の軸
9
なぜPlay FWやRoRとかじゃないのか?
➡Javaとのシームレスな継続性
➡現実と地続きであること
13年8月1日木曜日
Developer Summit 2013 Summer
Javaとの継続性: 新規開発
10
Grailsで
使用可能
Java開発スキル
APサーバ
ライブラリ
IDE・ツール
技術者・会社コネクション
Java資産
Java VM
13年8月1日木曜日
Developer Summit 2013 Summer
Javaとの継続性: 新規開発
10
Grailsで
使用可能
Java開発スキル
APサーバ
ライブラリ
IDE・ツール
技術者・会社コネクション
Grailsの
利点を享
受(22%
…)
補助ツール提供、研修、技術サポート
Java資産
Java VM
13年8月1日木曜日
Developer Summit 2013 Summer
Javaとの継続性: システム更改
11
Grails
内で
使用
可能
Javaソースコード
Jar, Maven POM
Hibernate Entity
JSP, Servlet
Spring Bean
SpringMVC Controller
既存システム
13年8月1日木曜日
新規機能
をGrails
で追加
必要に応
じて
Grails/
Groovyで
置き換え
Developer Summit 2013 Summer
Javaとの継続性: システム更改
11
Grails
内で
使用
可能
Javaソースコード
Jar, Maven POM
Hibernate Entity
JSP, Servlet
Spring Bean
SpringMVC Controller
既存システム
13年8月1日木曜日
Grails
の利
点を
逐次
享受
新規機能
をGrails
で追加
必要に応
じて
Grails/
Groovyで
置き換え
Developer Summit 2013 Summer
Javaとの継続性: システム更改
11
Grails
内で
使用
可能
Javaソースコード
Jar, Maven POM
Hibernate Entity
JSP, Servlet
Spring Bean
SpringMVC Controller
既存システム
13年8月1日木曜日
Grails
の利
点を
逐次
享受
新規機能
をGrails
で追加
必要に応
じて
Grails/
Groovyで
置き換え
Developer Summit 2013 Summer
Javaとの継続性: システム更改
11
Grails
内で
使用
可能
Javaソースコード
Jar, Maven POM
Hibernate Entity
JSP, Servlet
Spring Bean
SpringMVC Controller
既存システム
既存システムを運用しつつ追
加・更新可能
13年8月1日木曜日
•初期の習熟コス
トが高い
•Scaffoldの機能
が低い
•デフォルトAP
設定が最小限
Developer Summit 2013 Summer
効果をより高めるために
12
問題点
13年8月1日木曜日
Role (※1)
GSP(TAB
)
Wizard
Grid
GSP
Grails
解
決
策
ウィザードツール開発検討中
高機能Scaffold(CRUD)
テーブル結合対応
業務画面パターンから選択
jQgrid/DataTables使用
•初期の習熟コス
トが高い
•Scaffoldの機能
が低い
•デフォルトAP
設定が最小限
Developer Summit 2013 Summer
効果をより高めるために
12
問題点
13年8月1日木曜日
Role (※1)
GSP(TAB
)
Wizard
Grid
GSP
Grails
解
決
策
ウィザードツール開発検討中
高機能Scaffold(CRUD)
テーブル結合対応
業務画面パターンから選択
jQgrid/DataTables使用
•初期の習熟コス
トが高い
•Scaffoldの機能
が低い
•デフォルトAP
設定が最小限
Developer Summit 2013 Summer
効果をより高めるために
12
問題点
•Grailsのscaffoldテンプレ
ート機構の延長。
•2way編集が可能=Grailsの
中核的価値を妨げない。
13年8月1日木曜日
Developer Summit 2013 Summer
まとめ
13
13年8月1日木曜日
Developer Summit 2013 Summer
まとめ
SIビジネスは死なない!!
13
13年8月1日木曜日
Developer Summit 2013 Summer
まとめ
SIビジネスは死なない!!
少なくとも当面は
13
13年8月1日木曜日
Developer Summit 2013 Summer
まとめ
SIビジネスは死なない!!
少なくとも当面は
ただし変化が必要
13
13年8月1日木曜日
Developer Summit 2013 Summer
まとめ
SIビジネスは死なない!!
少なくとも当面は
ただし変化が必要
Javaベースの企業システムの開発において、
Grails適用は現実を踏まえた架け橋となる
13
13年8月1日木曜日
Developer Summit 2013 Summer
まとめ
SIビジネスは死なない!!
少なくとも当面は
ただし変化が必要
Javaベースの企業システムの開発において、
Grails適用は現実を踏まえた架け橋となる
13
現
実
システム運用と並行する漸進的・継続的開発
Agile,TDDの導入
未
来
13年8月1日木曜日

More Related Content

What's hot

Groovy base gradle_20130309
Groovy base gradle_20130309Groovy base gradle_20130309
Groovy base gradle_20130309Nobuhiro Sue
 
The History of Groovy #GroovyBase
The History of Groovy #GroovyBaseThe History of Groovy #GroovyBase
The History of Groovy #GroovyBasekyon mm
 
Gws 20130315 gradle_handson
Gws 20130315 gradle_handsonGws 20130315 gradle_handson
Gws 20130315 gradle_handsonNobuhiro Sue
 
Groovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUGGroovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUGUehara Junji
 
Groovy Shell Scripting 2015
Groovy Shell Scripting 2015Groovy Shell Scripting 2015
Groovy Shell Scripting 2015Uehara Junji
 
New features of Groovy 2.0 and 2.1
New features of Groovy 2.0 and 2.1New features of Groovy 2.0 and 2.1
New features of Groovy 2.0 and 2.1Uehara Junji
 
Groovy indy 20120222
Groovy indy 20120222Groovy indy 20120222
Groovy indy 20120222Nobuhiro Sue
 
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 Nagoya
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 NagoyaQtではじめるクロスプラットフォームアプリケーション開発 osc2019 Nagoya
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 NagoyaKazuo Asano (@kazuo_asa)
 
git-svnつかってみる?
git-svnつかってみる?git-svnつかってみる?
git-svnつかってみる?riskrisk
 
分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218Takashi Okamoto
 
こんにちはGroovy
こんにちはGroovyこんにちはGroovy
こんにちはGroovyirof N
 
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 hamanako
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 hamanakoQtではじめるクロスプラットフォームアプリケーション開発 osc2019 hamanako
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 hamanakoKazuo Asano (@kazuo_asa)
 
Qt5 の Input Method
Qt5 の Input MethodQt5 の Input Method
Qt5 の Input MethodTakumi Asaki
 
Raspberry Pi + Go で IoT した話
Raspberry Pi + Go で IoT した話Raspberry Pi + Go で IoT した話
Raspberry Pi + Go で IoT した話yaegashi
 
griffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jgguggriffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggugkimukou_26 Kimukou
 
Introduction to JIT Compiler in JVM
Introduction to JIT Compiler in JVMIntroduction to JIT Compiler in JVM
Introduction to JIT Compiler in JVMKoichi Sakata
 

What's hot (20)

Groovy base gradle_20130309
Groovy base gradle_20130309Groovy base gradle_20130309
Groovy base gradle_20130309
 
Groovyの紹介20130323
Groovyの紹介20130323Groovyの紹介20130323
Groovyの紹介20130323
 
The History of Groovy #GroovyBase
The History of Groovy #GroovyBaseThe History of Groovy #GroovyBase
The History of Groovy #GroovyBase
 
Gws 20130315 gradle_handson
Gws 20130315 gradle_handsonGws 20130315 gradle_handson
Gws 20130315 gradle_handson
 
Groovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUGGroovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUG
 
Groovy Shell Scripting 2015
Groovy Shell Scripting 2015Groovy Shell Scripting 2015
Groovy Shell Scripting 2015
 
New features of Groovy 2.0 and 2.1
New features of Groovy 2.0 and 2.1New features of Groovy 2.0 and 2.1
New features of Groovy 2.0 and 2.1
 
Groovy indy 20120222
Groovy indy 20120222Groovy indy 20120222
Groovy indy 20120222
 
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 Nagoya
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 NagoyaQtではじめるクロスプラットフォームアプリケーション開発 osc2019 Nagoya
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 Nagoya
 
git-svnつかってみる?
git-svnつかってみる?git-svnつかってみる?
git-svnつかってみる?
 
Qt creatorでremote_debug
Qt creatorでremote_debugQt creatorでremote_debug
Qt creatorでremote_debug
 
分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218
 
こんにちはGroovy
こんにちはGroovyこんにちはGroovy
こんにちはGroovy
 
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 hamanako
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 hamanakoQtではじめるクロスプラットフォームアプリケーション開発 osc2019 hamanako
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 hamanako
 
Qt5 の Input Method
Qt5 の Input MethodQt5 の Input Method
Qt5 の Input Method
 
Raspberry Pi + Go で IoT した話
Raspberry Pi + Go で IoT した話Raspberry Pi + Go で IoT した話
Raspberry Pi + Go で IoT した話
 
griffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jgguggriffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggug
 
Make a graph at Qt(used Qwt library)
Make a graph at Qt(used Qwt library)Make a graph at Qt(used Qwt library)
Make a graph at Qt(used Qwt library)
 
RgGen ご紹介
RgGen ご紹介RgGen ご紹介
RgGen ご紹介
 
Introduction to JIT Compiler in JVM
Introduction to JIT Compiler in JVMIntroduction to JIT Compiler in JVM
Introduction to JIT Compiler in JVM
 

Similar to enterprise grails challenge, 2013 Summer

ソーシャルコーディング革命後の開発委託の世界〜QA@ITの事例
ソーシャルコーディング革命後の開発委託の世界〜QA@ITの事例ソーシャルコーディング革命後の開発委託の世界〜QA@ITの事例
ソーシャルコーディング革命後の開発委託の世界〜QA@ITの事例Ken Nishimura
 
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Developmentアジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile DevelopmentGo2GroupJapan
 
ゲーム業界から見たアジャイル開発
ゲーム業界から見たアジャイル開発ゲーム業界から見たアジャイル開発
ゲーム業界から見たアジャイル開発Masaru Nagaku
 
2013.11.16 shibuya java #4 Grails Goodness
2013.11.16 shibuya java #4 Grails Goodness2013.11.16 shibuya java #4 Grails Goodness
2013.11.16 shibuya java #4 Grails GoodnessYu Sudo
 
デブサミ関西 自分戦略 2013
デブサミ関西 自分戦略 2013デブサミ関西 自分戦略 2013
デブサミ関西 自分戦略 2013Daisuke Kasuya
 
G* Workshop in Fukuoka - Introduction
G* Workshop in Fukuoka - IntroductionG* Workshop in Fukuoka - Introduction
G* Workshop in Fukuoka - IntroductionKazuchika Sekiya
 
Android6.0の機能まとめ 実機でサンプルを動かしてみた
Android6.0の機能まとめ 実機でサンプルを動かしてみたAndroid6.0の機能まとめ 実機でサンプルを動かしてみた
Android6.0の機能まとめ 実機でサンプルを動かしてみたSatoshi Noda
 
Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)
Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)
Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)Takayori Takamoto
 
開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用
開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用
開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用Takuro Sasaki
 
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」Serverworks Co.,Ltd.
 
Sumo Logic活用事例とその運用
Sumo Logic活用事例とその運用Sumo Logic活用事例とその運用
Sumo Logic活用事例とその運用gree_tech
 
【15-e-7】Kinectから始まったスタートアップ #devsumi
【15-e-7】Kinectから始まったスタートアップ #devsumi【15-e-7】Kinectから始まったスタートアップ #devsumi
【15-e-7】Kinectから始まったスタートアップ #devsumiKaoru NAKAMURA
 
Androidアプリ屋だけどWebフロントエンド開発にアサインされた件について
Androidアプリ屋だけどWebフロントエンド開発にアサインされた件についてAndroidアプリ屋だけどWebフロントエンド開発にアサインされた件について
Androidアプリ屋だけどWebフロントエンド開発にアサインされた件についてTakuya Kihara
 
Rustで3D graphics programming
Rustで3D graphics programmingRustで3D graphics programming
Rustで3D graphics programmingKiyotomoHiroyasu
 
RustによるGPUプログラミング環境
RustによるGPUプログラミング環境RustによるGPUプログラミング環境
RustによるGPUプログラミング環境KiyotomoHiroyasu
 
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~SEGADevTech
 

Similar to enterprise grails challenge, 2013 Summer (20)

ソーシャルコーディング革命後の開発委託の世界〜QA@ITの事例
ソーシャルコーディング革命後の開発委託の世界〜QA@ITの事例ソーシャルコーディング革命後の開発委託の世界〜QA@ITの事例
ソーシャルコーディング革命後の開発委託の世界〜QA@ITの事例
 
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Developmentアジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
 
ゲーム業界から見たアジャイル開発
ゲーム業界から見たアジャイル開発ゲーム業界から見たアジャイル開発
ゲーム業界から見たアジャイル開発
 
Devsumi2013 gunta 2_pdf
Devsumi2013 gunta 2_pdfDevsumi2013 gunta 2_pdf
Devsumi2013 gunta 2_pdf
 
2013.11.16 shibuya java #4 Grails Goodness
2013.11.16 shibuya java #4 Grails Goodness2013.11.16 shibuya java #4 Grails Goodness
2013.11.16 shibuya java #4 Grails Goodness
 
デブサミ関西 自分戦略 2013
デブサミ関西 自分戦略 2013デブサミ関西 自分戦略 2013
デブサミ関西 自分戦略 2013
 
G* Workshop in Fukuoka - Introduction
G* Workshop in Fukuoka - IntroductionG* Workshop in Fukuoka - Introduction
G* Workshop in Fukuoka - Introduction
 
Android6.0の機能まとめ 実機でサンプルを動かしてみた
Android6.0の機能まとめ 実機でサンプルを動かしてみたAndroid6.0の機能まとめ 実機でサンプルを動かしてみた
Android6.0の機能まとめ 実機でサンプルを動かしてみた
 
Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)
Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)
Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)
 
開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用
開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用
開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用
 
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
 
Sumo Logic活用事例とその運用
Sumo Logic活用事例とその運用Sumo Logic活用事例とその運用
Sumo Logic活用事例とその運用
 
【15-e-7】Kinectから始まったスタートアップ #devsumi
【15-e-7】Kinectから始まったスタートアップ #devsumi【15-e-7】Kinectから始まったスタートアップ #devsumi
【15-e-7】Kinectから始まったスタートアップ #devsumi
 
Androidアプリ屋だけどWebフロントエンド開発にアサインされた件について
Androidアプリ屋だけどWebフロントエンド開発にアサインされた件についてAndroidアプリ屋だけどWebフロントエンド開発にアサインされた件について
Androidアプリ屋だけどWebフロントエンド開発にアサインされた件について
 
Rustで3D graphics programming
Rustで3D graphics programmingRustで3D graphics programming
Rustで3D graphics programming
 
ngx_small_light
ngx_small_lightngx_small_light
ngx_small_light
 
GresCubeで快適PostgreSQLライフ
GresCubeで快適PostgreSQLライフGresCubeで快適PostgreSQLライフ
GresCubeで快適PostgreSQLライフ
 
RustによるGPUプログラミング環境
RustによるGPUプログラミング環境RustによるGPUプログラミング環境
RustによるGPUプログラミング環境
 
GroovyでJSON2015
GroovyでJSON2015GroovyでJSON2015
GroovyでJSON2015
 
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
 

More from Uehara Junji

Use JWT access-token on Grails REST API
Use JWT access-token on Grails REST APIUse JWT access-token on Grails REST API
Use JWT access-token on Grails REST APIUehara Junji
 
Shibuya JVM Groovy 20150418
Shibuya JVM Groovy 20150418Shibuya JVM Groovy 20150418
Shibuya JVM Groovy 20150418Uehara Junji
 
Groovy kisobenkyoukai20130309
Groovy kisobenkyoukai20130309Groovy kisobenkyoukai20130309
Groovy kisobenkyoukai20130309Uehara Junji
 
JJUG CCC 2012 Real World Groovy/Grails
JJUG CCC 2012 Real World Groovy/GrailsJJUG CCC 2012 Real World Groovy/Grails
JJUG CCC 2012 Real World Groovy/GrailsUehara Junji
 
Java One 2012 Tokyo JVM Lang. BOF(Groovy)
Java One 2012 Tokyo JVM Lang. BOF(Groovy)Java One 2012 Tokyo JVM Lang. BOF(Groovy)
Java One 2012 Tokyo JVM Lang. BOF(Groovy)Uehara Junji
 
Java x Groovy: improve your java development life
Java x Groovy: improve your java development lifeJava x Groovy: improve your java development life
Java x Groovy: improve your java development lifeUehara Junji
 
Groovy 1.8の新機能について
Groovy 1.8の新機能についてGroovy 1.8の新機能について
Groovy 1.8の新機能についてUehara Junji
 
Let's go Developer 2011 sendai Let's go Java Developer (Programming Language ...
Let's go Developer 2011 sendai Let's go Java Developer (Programming Language ...Let's go Developer 2011 sendai Let's go Java Developer (Programming Language ...
Let's go Developer 2011 sendai Let's go Java Developer (Programming Language ...Uehara Junji
 
Jggug ws 15th LT 20110224
Jggug ws 15th LT 20110224Jggug ws 15th LT 20110224
Jggug ws 15th LT 20110224Uehara Junji
 
Easy Going Groovy 2nd season on DevLOVE
Easy Going Groovy 2nd season on DevLOVEEasy Going Groovy 2nd season on DevLOVE
Easy Going Groovy 2nd season on DevLOVEUehara Junji
 
Easy Going Groovy(Groovyを気軽に使いこなそう)
Easy Going Groovy(Groovyを気軽に使いこなそう)Easy Going Groovy(Groovyを気軽に使いこなそう)
Easy Going Groovy(Groovyを気軽に使いこなそう)Uehara Junji
 
Groovy, Transforming Language
Groovy, Transforming LanguageGroovy, Transforming Language
Groovy, Transforming LanguageUehara Junji
 
Jggug Nagoya 20090925 Groovy
Jggug Nagoya 20090925 GroovyJggug Nagoya 20090925 Groovy
Jggug Nagoya 20090925 GroovyUehara Junji
 
G*WS 3rd Lightning talk
G*WS 3rd Lightning talkG*WS 3rd Lightning talk
G*WS 3rd Lightning talkUehara Junji
 
Groovy Now And Future
Groovy Now And FutureGroovy Now And Future
Groovy Now And FutureUehara Junji
 
Seasar Conference2008 Grails(Final)
Seasar Conference2008 Grails(Final)Seasar Conference2008 Grails(Final)
Seasar Conference2008 Grails(Final)Uehara Junji
 
Groovy Conference2008 Nttsoft
Groovy Conference2008 NttsoftGroovy Conference2008 Nttsoft
Groovy Conference2008 NttsoftUehara Junji
 

More from Uehara Junji (19)

Use JWT access-token on Grails REST API
Use JWT access-token on Grails REST APIUse JWT access-token on Grails REST API
Use JWT access-token on Grails REST API
 
Shibuya JVM Groovy 20150418
Shibuya JVM Groovy 20150418Shibuya JVM Groovy 20150418
Shibuya JVM Groovy 20150418
 
Groovy kisobenkyoukai20130309
Groovy kisobenkyoukai20130309Groovy kisobenkyoukai20130309
Groovy kisobenkyoukai20130309
 
JJUG CCC 2012 Real World Groovy/Grails
JJUG CCC 2012 Real World Groovy/GrailsJJUG CCC 2012 Real World Groovy/Grails
JJUG CCC 2012 Real World Groovy/Grails
 
Java One 2012 Tokyo JVM Lang. BOF(Groovy)
Java One 2012 Tokyo JVM Lang. BOF(Groovy)Java One 2012 Tokyo JVM Lang. BOF(Groovy)
Java One 2012 Tokyo JVM Lang. BOF(Groovy)
 
Java x Groovy: improve your java development life
Java x Groovy: improve your java development lifeJava x Groovy: improve your java development life
Java x Groovy: improve your java development life
 
Groovy 1.8の新機能について
Groovy 1.8の新機能についてGroovy 1.8の新機能について
Groovy 1.8の新機能について
 
Let's go Developer 2011 sendai Let's go Java Developer (Programming Language ...
Let's go Developer 2011 sendai Let's go Java Developer (Programming Language ...Let's go Developer 2011 sendai Let's go Java Developer (Programming Language ...
Let's go Developer 2011 sendai Let's go Java Developer (Programming Language ...
 
Jggug ws 15th LT 20110224
Jggug ws 15th LT 20110224Jggug ws 15th LT 20110224
Jggug ws 15th LT 20110224
 
Easy Going Groovy 2nd season on DevLOVE
Easy Going Groovy 2nd season on DevLOVEEasy Going Groovy 2nd season on DevLOVE
Easy Going Groovy 2nd season on DevLOVE
 
Easy Going Groovy(Groovyを気軽に使いこなそう)
Easy Going Groovy(Groovyを気軽に使いこなそう)Easy Going Groovy(Groovyを気軽に使いこなそう)
Easy Going Groovy(Groovyを気軽に使いこなそう)
 
Clojure
ClojureClojure
Clojure
 
Groovy, Transforming Language
Groovy, Transforming LanguageGroovy, Transforming Language
Groovy, Transforming Language
 
Jggug Nagoya 20090925 Groovy
Jggug Nagoya 20090925 GroovyJggug Nagoya 20090925 Groovy
Jggug Nagoya 20090925 Groovy
 
Lisp Builder
Lisp BuilderLisp Builder
Lisp Builder
 
G*WS 3rd Lightning talk
G*WS 3rd Lightning talkG*WS 3rd Lightning talk
G*WS 3rd Lightning talk
 
Groovy Now And Future
Groovy Now And FutureGroovy Now And Future
Groovy Now And Future
 
Seasar Conference2008 Grails(Final)
Seasar Conference2008 Grails(Final)Seasar Conference2008 Grails(Final)
Seasar Conference2008 Grails(Final)
 
Groovy Conference2008 Nttsoft
Groovy Conference2008 NttsoftGroovy Conference2008 Nttsoft
Groovy Conference2008 Nttsoft
 

Recently uploaded

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 

Recently uploaded (9)

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 

enterprise grails challenge, 2013 Summer

  • 1. Summit Developers Developers Summit 2013 Summer SIerにもテクノロジーの冒険はある! ∼ GGrraaiillss,,AAnnddrrooiidd,,OOppeennSSttaacckk を巡る物語 ∼ 上原 潤二 神原 健一 金渕 満 NTTソフトウェア株式会社 #devsumiB2 13年8月1日木曜日
  • 2. Developer Summit 2013 Summer 自己紹介 上原潤二(@uehaj) NTTソフトウェア(株)Grails推進室 JGGUG(日本Grails/Groovyユーザグループ)運営委員 書籍: プログラミングGROOVY(技術評論社) Grails徹底入門(翔泳社) ブログ「Grな日々」 GroovyServ, LispBuilder, GVM(JVM written in Groovy)開発者 2 13年8月1日木曜日
  • 3. Developer Summit 2013 Summer 物語1:エンタープライズGrails 3 中堅SIerにおいて、 先進的なフルスタック フレームワークGrails を全社的に普及推進し てみた。 13年8月1日木曜日
  • 4. Developer Summit 2013 Summer 今日の内容 使ってます、Grails NTTソフトウェアではWebアプリ開発を 中心にGrails/Groovy全社的に採用 Grailsって何? 何でまたGrailsを? 何を目指している? 4 13年8月1日木曜日
  • 5. Developer Summit 2013 Summer 使ってます、Grails 平成24年1月 Grails推進室設置 平成24年度 Grails/Groovyを全社的に採用 10組織15プロジェクト+で使用 平成25年(-7月) 6件のプロジェクトでGrails/Groovyを新 規採用 5 13年8月1日木曜日
  • 6. Developer Summit 2013 Summer Grails推進室 6 技術サポート・研修 社内リポジトリ運用 ツール開発 開発環境クラウド化 OSS開発 海外カンファレンス などでの講演 トレーニングコース 開催 社内プロジェクトコミュニティ Grails 推進室 草の根翻訳 プロジェクト Grailsの普及推進・技術 者育成をミッションとす る専担チーム7名 英語ドキュメントの翻訳 13年8月1日木曜日
  • 7. Developer Summit 2013 Summer Grailsって何? Webアプリ開発用統合フレームワーク OSS/JavaEEベース(単なるwar)/Groovy フルスタック プラグインベース アセットパイプライン管理 DBマイグレーション リモーティング 認証(Spring Security) : 7 (一説によると)全体工数の 22%を削減することができると 言われている • Spring FW • Spring MVC • Hibernate • SiteMesh • Log4j,JUnit,. 13年8月1日木曜日
  • 8. Developer Summit 2013 Summer Groovyって何? Javaの表記拡張(上位互換) 簡潔記述(1/4∼1/2) クロージャ 関数型っぽいコレクション操作 動的+静的ハイブリッド 8 13年8月1日木曜日
  • 9. Developer Summit 2013 Summer Groovyって何? Javaの表記拡張(上位互換) 簡潔記述(1/4∼1/2) クロージャ 関数型っぽいコレクション操作 動的+静的ハイブリッド 8 GrailsはGroovyの応用例 他応用 Spock(テスト) Gradle(ビルド) 13年8月1日木曜日
  • 10. Developer Summit 2013 Summer Groovyって何? Javaの表記拡張(上位互換) 簡潔記述(1/4∼1/2) クロージャ 関数型っぽいコレクション操作 動的+静的ハイブリッド 8 GrailsはGroovyの応用例 他応用 Spock(テスト) Gradle(ビルド) class  MySpec  extends  Specification  {        def  "2つの数字の最大値"(int  x,  int  y,  int  z)  {            expect:                Math.max(x,  y)  ==  z            where:                x  |  y  |  z                1  |  3  |  3                7  |  4  |  7                0  |  0  |  0        }  } 13年8月1日木曜日
  • 11. Developer Summit 2013 Summer 何でまたGrailsを? 背景 SIerの苦悩‥ 開発効率UP 組織的スキル蓄積・技術者育成の軸 9 13年8月1日木曜日
  • 12. Developer Summit 2013 Summer 何でまたGrailsを? 背景 SIerの苦悩‥ 開発効率UP 組織的スキル蓄積・技術者育成の軸 9 なぜPlay FWやRoRとかじゃないのか? 13年8月1日木曜日
  • 13. Developer Summit 2013 Summer 何でまたGrailsを? 背景 SIerの苦悩‥ 開発効率UP 組織的スキル蓄積・技術者育成の軸 9 なぜPlay FWやRoRとかじゃないのか? ➡Javaとのシームレスな継続性 13年8月1日木曜日
  • 14. Developer Summit 2013 Summer 何でまたGrailsを? 背景 SIerの苦悩‥ 開発効率UP 組織的スキル蓄積・技術者育成の軸 9 なぜPlay FWやRoRとかじゃないのか? ➡Javaとのシームレスな継続性 ➡現実と地続きであること 13年8月1日木曜日
  • 15. Developer Summit 2013 Summer Javaとの継続性: 新規開発 10 Grailsで 使用可能 Java開発スキル APサーバ ライブラリ IDE・ツール 技術者・会社コネクション Java資産 Java VM 13年8月1日木曜日
  • 16. Developer Summit 2013 Summer Javaとの継続性: 新規開発 10 Grailsで 使用可能 Java開発スキル APサーバ ライブラリ IDE・ツール 技術者・会社コネクション Grailsの 利点を享 受(22% …) 補助ツール提供、研修、技術サポート Java資産 Java VM 13年8月1日木曜日
  • 17. Developer Summit 2013 Summer Javaとの継続性: システム更改 11 Grails 内で 使用 可能 Javaソースコード Jar, Maven POM Hibernate Entity JSP, Servlet Spring Bean SpringMVC Controller 既存システム 13年8月1日木曜日
  • 18. 新規機能 をGrails で追加 必要に応 じて Grails/ Groovyで 置き換え Developer Summit 2013 Summer Javaとの継続性: システム更改 11 Grails 内で 使用 可能 Javaソースコード Jar, Maven POM Hibernate Entity JSP, Servlet Spring Bean SpringMVC Controller 既存システム 13年8月1日木曜日
  • 19. Grails の利 点を 逐次 享受 新規機能 をGrails で追加 必要に応 じて Grails/ Groovyで 置き換え Developer Summit 2013 Summer Javaとの継続性: システム更改 11 Grails 内で 使用 可能 Javaソースコード Jar, Maven POM Hibernate Entity JSP, Servlet Spring Bean SpringMVC Controller 既存システム 13年8月1日木曜日
  • 20. Grails の利 点を 逐次 享受 新規機能 をGrails で追加 必要に応 じて Grails/ Groovyで 置き換え Developer Summit 2013 Summer Javaとの継続性: システム更改 11 Grails 内で 使用 可能 Javaソースコード Jar, Maven POM Hibernate Entity JSP, Servlet Spring Bean SpringMVC Controller 既存システム 既存システムを運用しつつ追 加・更新可能 13年8月1日木曜日
  • 24. Developer Summit 2013 Summer まとめ 13 13年8月1日木曜日
  • 25. Developer Summit 2013 Summer まとめ SIビジネスは死なない!! 13 13年8月1日木曜日
  • 26. Developer Summit 2013 Summer まとめ SIビジネスは死なない!! 少なくとも当面は 13 13年8月1日木曜日
  • 27. Developer Summit 2013 Summer まとめ SIビジネスは死なない!! 少なくとも当面は ただし変化が必要 13 13年8月1日木曜日
  • 28. Developer Summit 2013 Summer まとめ SIビジネスは死なない!! 少なくとも当面は ただし変化が必要 Javaベースの企業システムの開発において、 Grails適用は現実を踏まえた架け橋となる 13 13年8月1日木曜日
  • 29. Developer Summit 2013 Summer まとめ SIビジネスは死なない!! 少なくとも当面は ただし変化が必要 Javaベースの企業システムの開発において、 Grails適用は現実を踏まえた架け橋となる 13 現 実 システム運用と並行する漸進的・継続的開発 Agile,TDDの導入 未 来 13年8月1日木曜日