enterprise grails challenge, 2013 Summer

29
Summit Developers Developers Summit 2013 Summer SIerにもテクノロジーの冒険はある! ꜳꜲꝏꝃꜳ を巡る物語 上原 潤二 神原 健一 金渕 満 NTTソフトウェア株式会社 #devsumiB2 1381日木曜日
  • date post

    19-Oct-2014
  • Category

    Technology

  • view

    4.434
  • download

    0

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

Page 1: enterprise grails challenge, 2013 Summer

SummitDevelopers

Developers Summit 2013 Summer

SIerにもテクノロジーの冒険はある!~ GGrraaiillss,,AAnnddrrooiidd,,OOppeennSSttaacckk

を巡る物語 ~

上原 潤二神原 健一金渕 満

NTTソフトウェア株式会社

#devsumiB213年8月1日木曜日

Page 2: enterprise grails challenge, 2013 Summer

Developer Summit 2013 Summer

自己紹介上原潤二(@uehaj)NTTソフトウェア(株)Grails推進室JGGUG(日本Grails/Groovyユーザグループ)運営委員書籍:

プログラミングGROOVY(技術評論社)

Grails徹底入門(翔泳社)

ブログ「Grな日々」GroovyServ, LispBuilder, GVM(JVM written in Groovy)開発者

213年8月1日木曜日

Page 3: enterprise grails challenge, 2013 Summer

Developer Summit 2013 Summer

物語1:エンタープライズGrails

3

中堅SIerにおいて、先進的なフルスタックフレームワークGrailsを全社的に普及推進してみた。

13年8月1日木曜日

Page 4: enterprise grails challenge, 2013 Summer

Developer Summit 2013 Summer

今日の内容使ってます、GrailsNTTソフトウェアではWebアプリ開発を中心にGrails/Groovy全社的に採用

Grailsって何?何でまたGrailsを?何を目指している?

413年8月1日木曜日

Page 5: enterprise grails challenge, 2013 Summer

Developer Summit 2013 Summer

使ってます、Grails平成24年1月Grails推進室設置

平成24年度Grails/Groovyを全社的に採用10組織15プロジェクト+で使用

平成25年(-7月)6件のプロジェクトでGrails/Groovyを新規採用

513年8月1日木曜日

Page 6: enterprise grails challenge, 2013 Summer

Developer Summit 2013 Summer

Grails推進室

6

技術サポート・研修社内リポジトリ運用ツール開発開発環境クラウド化

OSS開発海外カンファレンスなどでの講演トレーニングコース開催

社内プロジェクトコミュニティ

Grails推進室

草の根翻訳プロジェクト

Grailsの普及推進・技術者育成をミッションとする専担チーム7名

英語ドキュメントの翻訳

13年8月1日木曜日

Page 7: enterprise grails challenge, 2013 Summer

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

Page 8: enterprise grails challenge, 2013 Summer

Developer Summit 2013 Summer

Groovyって何?Javaの表記拡張(上位互換)

簡潔記述(1/4~1/2)クロージャ関数型っぽいコレクション操作動的+静的ハイブリッド

813年8月1日木曜日

Page 9: enterprise grails challenge, 2013 Summer

Developer Summit 2013 Summer

Groovyって何?Javaの表記拡張(上位互換)

簡潔記述(1/4~1/2)クロージャ関数型っぽいコレクション操作動的+静的ハイブリッド

8

GrailsはGroovyの応用例他応用

Spock(テスト)Gradle(ビルド)

13年8月1日木曜日

Page 10: enterprise grails challenge, 2013 Summer

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

Page 11: enterprise grails challenge, 2013 Summer

Developer Summit 2013 Summer

何でまたGrailsを?背景SIerの苦悩‥ 開発効率UP組織的スキル蓄積・技術者育成の軸

913年8月1日木曜日

Page 12: enterprise grails challenge, 2013 Summer

Developer Summit 2013 Summer

何でまたGrailsを?背景SIerの苦悩‥ 開発効率UP組織的スキル蓄積・技術者育成の軸

9

なぜPlay FWやRoRとかじゃないのか?

13年8月1日木曜日

Page 13: enterprise grails challenge, 2013 Summer

Developer Summit 2013 Summer

何でまたGrailsを?背景SIerの苦悩‥ 開発効率UP組織的スキル蓄積・技術者育成の軸

9

なぜPlay FWやRoRとかじゃないのか?➡Javaとのシームレスな継続性

13年8月1日木曜日

Page 14: enterprise grails challenge, 2013 Summer

Developer Summit 2013 Summer

何でまたGrailsを?背景SIerの苦悩‥ 開発効率UP組織的スキル蓄積・技術者育成の軸

9

なぜPlay FWやRoRとかじゃないのか?➡Javaとのシームレスな継続性➡現実と地続きであること

13年8月1日木曜日

Page 15: enterprise grails challenge, 2013 Summer

Developer Summit 2013 Summer

Javaとの継続性: 新規開発

10

Grailsで使用可能

Java開発スキル

APサーバ

ライブラリ

IDE・ツール

技術者・会社コネクション

Java資産Java VM

13年8月1日木曜日

Page 16: enterprise grails challenge, 2013 Summer

Developer Summit 2013 Summer

Javaとの継続性: 新規開発

10

Grailsで使用可能

Java開発スキル

APサーバ

ライブラリ

IDE・ツール

技術者・会社コネクション

Grailsの利点を享受(22%…)

補助ツール提供、研修、技術サポート

Java資産Java VM

13年8月1日木曜日

Page 17: enterprise grails challenge, 2013 Summer

Developer Summit 2013 Summer

Javaとの継続性: システム更改

11

Grails内で使用可能

Javaソースコード

Jar, Maven POM

Hibernate Entity

JSP, Servlet

Spring Bean

SpringMVC Controller

既存システム

13年8月1日木曜日

Page 18: enterprise grails challenge, 2013 Summer

新規機能を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日木曜日

Page 19: enterprise grails challenge, 2013 Summer

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

Page 20: enterprise grails challenge, 2013 Summer

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

Page 21: enterprise grails challenge, 2013 Summer

•初期の習熟コストが高い •Scaffoldの機能が低い•デフォルトAP設定が最小限

Developer Summit 2013 Summer

効果をより高めるために

12

問題点

13年8月1日木曜日

Page 22: enterprise grails challenge, 2013 Summer

�� ��

������!&�,�(��

������!&�,�(��

Role�(※1)�

�$%-�GSP(TAB"#�-�',*��� )�

Wizard�-)�

Grid��

�, +-(�

*��� �

GSP�

Grails�����

�������-#��

�����

解決策

ウィザードツール開発検討中高機能Scaffold(CRUD)テーブル結合対応業務画面パターンから選択jQgrid/DataTables使用

•初期の習熟コストが高い •Scaffoldの機能が低い•デフォルトAP設定が最小限

Developer Summit 2013 Summer

効果をより高めるために

12

問題点

13年8月1日木曜日

Page 23: enterprise grails challenge, 2013 Summer

�� ��

������!&�,�(��

������!&�,�(��

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

Page 24: enterprise grails challenge, 2013 Summer

Developer Summit 2013 Summer

まとめ

1313年8月1日木曜日

Page 25: enterprise grails challenge, 2013 Summer

Developer Summit 2013 Summer

まとめSIビジネスは死なない!!

1313年8月1日木曜日

Page 26: enterprise grails challenge, 2013 Summer

Developer Summit 2013 Summer

まとめSIビジネスは死なない!!少なくとも当面は

1313年8月1日木曜日

Page 27: enterprise grails challenge, 2013 Summer

Developer Summit 2013 Summer

まとめSIビジネスは死なない!!少なくとも当面は

ただし変化が必要

1313年8月1日木曜日

Page 28: enterprise grails challenge, 2013 Summer

Developer Summit 2013 Summer

まとめSIビジネスは死なない!!少なくとも当面は

ただし変化が必要Javaベースの企業システムの開発において、Grails適用は現実を踏まえた架け橋となる

1313年8月1日木曜日

Page 29: enterprise grails challenge, 2013 Summer

Developer Summit 2013 Summer

まとめSIビジネスは死なない!!少なくとも当面は

ただし変化が必要Javaベースの企業システムの開発において、Grails適用は現実を踏まえた架け橋となる

13

現実

システム運用と並行する漸進的・継続的開発Agile,TDDの導入

未来

13年8月1日木曜日