enterprise grails challenge, 2013 Summer

Post on 19-Oct-2014

4.434 views 0 download

Tags:

description

Developer Summit 2013 Tokyo Summer Enterprise grails(Grails Part Only) If a middle-size SIer adopt Grails as a standard web application framework?

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日木曜日