enterprise grails challenge, 2013 Summer
-
date post
19-Oct-2014 -
Category
Technology
-
view
4.434 -
download
0
description
Transcript of enterprise grails challenge, 2013 Summer
SummitDevelopers
Developers Summit 2013 Summer
SIerにもテクノロジーの冒険はある!~ GGrraaiillss,,AAnnddrrooiidd,,OOppeennSSttaacckk
を巡る物語 ~
上原 潤二神原 健一金渕 満
NTTソフトウェア株式会社
#devsumiB213年8月1日木曜日
Developer Summit 2013 Summer
自己紹介上原潤二(@uehaj)NTTソフトウェア(株)Grails推進室JGGUG(日本Grails/Groovyユーザグループ)運営委員書籍:
プログラミングGROOVY(技術評論社)
Grails徹底入門(翔泳社)
ブログ「Grな日々」GroovyServ, LispBuilder, GVM(JVM written in Groovy)開発者
213年8月1日木曜日
Developer Summit 2013 Summer
物語1:エンタープライズGrails
3
中堅SIerにおいて、先進的なフルスタックフレームワークGrailsを全社的に普及推進してみた。
13年8月1日木曜日
Developer Summit 2013 Summer
今日の内容使ってます、GrailsNTTソフトウェアではWebアプリ開発を中心にGrails/Groovy全社的に採用
Grailsって何?何でまたGrailsを?何を目指している?
413年8月1日木曜日
Developer Summit 2013 Summer
使ってます、Grails平成24年1月Grails推進室設置
平成24年度Grails/Groovyを全社的に採用10組織15プロジェクト+で使用
平成25年(-7月)6件のプロジェクトでGrails/Groovyを新規採用
513年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)クロージャ関数型っぽいコレクション操作動的+静的ハイブリッド
813年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 Speci
fication {
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組織的スキル蓄積・技術者育成の軸
913年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
まとめ
1313年8月1日木曜日
Developer Summit 2013 Summer
まとめSIビジネスは死なない!!
1313年8月1日木曜日
Developer Summit 2013 Summer
まとめSIビジネスは死なない!!少なくとも当面は
1313年8月1日木曜日
Developer Summit 2013 Summer
まとめSIビジネスは死なない!!少なくとも当面は
ただし変化が必要
1313年8月1日木曜日
Developer Summit 2013 Summer
まとめSIビジネスは死なない!!少なくとも当面は
ただし変化が必要Javaベースの企業システムの開発において、Grails適用は現実を踏まえた架け橋となる
1313年8月1日木曜日
Developer Summit 2013 Summer
まとめSIビジネスは死なない!!少なくとも当面は
ただし変化が必要Javaベースの企業システムの開発において、Grails適用は現実を踏まえた架け橋となる
13
現実
システム運用と並行する漸進的・継続的開発Agile,TDDの導入
未来
13年8月1日木曜日