• 検索結果がありません。

WS2 02 Groovy 最近の更新履歴 ソフトウェアエンジニアリングシンポジウム2012

N/A
N/A
Protected

Academic year: 2018

シェア "WS2 02 Groovy 最近の更新履歴 ソフトウェアエンジニアリングシンポジウム2012"

Copied!
2
0
0

読み込み中.... (全文を見る)

全文

(1)

スキリプティンギ Java — Grails/Groovy による開発

原潤

JVM 言語 Web ョン Groovy/Grails 開発

適用 こ ,信頼性 犠牲 こ 23 割 生産性向 成 こ た.本

稿 例 適 用 通 得 た 効 果 い 分 析 , 直 面 た 課 題 対 処 い 説 明 . Groovy/Grails 言語 Java 親和性 非常 Java開発 経験や

そ 形無形 Java資産 そ 活 こ こ 示 た.

Scripting Java with Groovy And Grails

Uehara, Junji

We get 20% to 30% improvement of productivity without sacrificing of reliability through applying Groovy and Grails, which is a script language on JVM and web application framework, to our software development projects. We show the analysis to our case studies and issues we confronted. Compared with other languages or frameworks that runs on the JVM, Groovy and Grails have a high affinity for Java, and it arrows developer to get maximum leverage out of assets includes know-hows and skills on Java.

1. はじめに

NTT Groovy/Grails 技術蓄 積 普 及 活 動 , 書 籍 執 筆 や コ ュ 活 動 , 社 内 外

研修等 通 組 来 ,20121

Grails推進 設置 本格化さ

た.本稿 Groovy/Grails 簡単 説明 ,開

発 例 紹介 た 適用 課題 示 .

2. Groovy について

Groovy[1] Java仮想機械 動作 動的言語

あ ,文法 Java 互換 あ .冗長

(型 指 定 , 定 義 , チ 例 外 述 等) 省 略

こ , ソ 実行時 追加 解釈 動的言語機

能, び強力 言語機能(ClosureJava標準

ソ 単 機能追加,AST 変換等)

ava 比較 2101程度 コ 述

可能 生産性 高い言語 あ .

Java 主要 開発言語 使用 た企業

,既存Java資産(Javaコ や ,AP,開 発 運 用 ) そ 利 用 可 能

あ こ 利点 あ .特 Java経験者 ,学

習コ 僅少 済 こ , JVM 言語(Scala, JRuby, Clojure) 利点

Groovy ,高い生産性 ,高い信頼性

成 言 語 あ , 信 頼 性 向 寄 以

う 機能 特徴 持 .

型付 (後述)

 AST 変換

 静的解析 Codenarc

 Groovy 2.0 静的型チ 機能

 JVM キュ や信頼性

3. Grails について

Grails[2] Groovy 使 開発 OSS Web ョン ワ あ .Groovy Grails 関係 ,Ruby Ruby on Rails 関係 Grails Groovy (簡潔 述,内部DSL††,動

的性質) 活用 ワ あ .

Grails Web ョン開発 必要

ワ や 数 多 組 合 た タ

ワ あ ,以 う 機能 持 .

 規定さ た ョン構 設計

 DB 簡易GUI 自動生成 Scaffold

ン機構 多数 公式 817 既存

コン 再利用

 Java EE(Java ) 安定性, ,資産

† NTT 株式会社 Grails推進 所属

††言語自身 ,処理対象概念

(2)

4. 適用事例と評価

2011年度 弊社 Grails適用

工数削減効果

( Java)††

1 A

詳 細 設 計 〜 結 合 工 程

Java 1/21/5 期間 開発

Java 1/10

50K L

2 B

詳細設計〜 作成工

Java 約半分 工数 開発(開発全体 工数2割減)

未測定

3 C 詳細設計〜結合 工程

Java 1/71/10 開発

Java 1/10

20K L

適用 通 評価結果 以 通 .

 全体 工数削減

 概要定義 び 総 合 工 程 以 降 工 数 従 来

変わ い.こ 開発 従来

開発 適用 たた

 結合 工程 削減効果 い.

 詳細設計工程 工数削減 理由

ョン 本的 設計

 少 Groovy/Grails 採用 効果 言え .適

タ ベ 内 容 R U 作 成 表 示 削除 多数画面

 開発前 要件 十分 確定

ンタ 機能拡張や変更 多い

以 ,項番2 ン 評価 示 .

 習熟 容易 あ た.Grails キュ

本的 Groovy/Grails 知識 開発 行うこ .従来 JavaEE開発 必要 複数 要素技術(Spring, JavaEE, Hibernate, RDMBS)

習熟 開発 開始 た.

 Java た.Java 言語 共通 Java部分 開発 並行 作業 和感 い.

開 発 向 い . 画 面 DB I/F Grails 規定さ ,こ 設計工数

削 減 , 開 発 開 始 直 後

連携動作さ

5. 課題

業務適用 通 直面 た課題 以 .

 IDE 成熟度 い.一般 言語 IDE 要 性 a v a 開 発 移 行 場合 IDE 適用 必須 .代表的 IDE Eclipse VMware Groovy/Grails

提供 [3] Java 完成度 やや い.代 IntelliJ IDEA(Grails

償,Groovy 無償利

用可) 利用 ,高機能 完成度 た.

 型チ 問題 .一般 動的型言語 変数

た動的言語 動的 拡張( 追加) 可 能 自 動 補 完 や コ ン 時 チ

いこ 問題 ( 大規模多人数開 発 時) 言 語 一 般 , 単 体 充 実 さ

問題 対処 Groovy/Grails 試験 機能 .加え Groovy Java 行 う こ ( 型 付 ),コ 規 約 型 情 報

,多 場合型 回避 ††

 性能 問題.実行性能 問題 , 起

動時間 開発効率 阻害 た.

問題解析 困難さ.

 日本語情報 足.多 Java 先進的 共 通 , 日 本 語 情 報 い . Groovy [4] Grails

新版 日本語書籍 い.

6. まとめ

JVM 安 定 た 高 性 能

Java 言語 冗長性 発生 変更

難 さ 迅 開 発 支 障 い . い

言 語 移 行 こ ,Java 関 連 資 産(人 的 資

源 含 ) 捨 こ 意 味 大 痛 伴 う .

Groovy/Grails 用い ,漸進的 生産性

Java 技術 た高信頼性 維持

込 こ .

参考文献

[1] http://groovy.codehaus.org/ [2] http://www.grails.org/ [3] Groovy/Grails Tool Suite

http://www.springsource.org/node/3594 [4] 関谷和愛, 原潤 ,須江信洋, 靖治,

ン Groovy, 2011, 技術評論社

削減効果 比較対象 ,当社 見積 予測

††20126 Groovy 2.0 静的型チ ( び静的結合ベ コン 機能) 採用

Java コン 性能向 可能

IDE 補完 改善さ 期待さ

参照

関連したドキュメント

Standard domino tableaux have already been considered by many authors [33], [6], [34], [8], [1], but, to the best of our knowledge, the expression of the

This setting is compared with other structures which have been recently used for Directed Algebraic Topology: spaces equipped with an order, or a local order, or distinguished paths,

In the first part we prove a general theorem on the image of a language K under a substitution, in the second we apply this to the special case when K is the language of balanced

ELMAHI, An existence theorem for a strongly nonlinear elliptic prob- lems in Orlicz spaces, Nonlinear Anal.. ELMAHI, A strongly nonlinear elliptic equation having natural growth

In this section we look at spectral sequences for calculating the homology of the bar and cobar constructions on operads and cooperads in based spaces or spectra.. It turns out that

Compared to working adults, junior high school students, and high school students who have a 

In order to demonstrate that the CAB algorithm provides a better performance, it has been compared to other optimization approaches such as metaheuristic algorithms Section 4.2

This paper is devoted to the study of maximum principles holding for some nonlocal diffusion operators defined in (half-) bounded domains and its applications to obtain