68
© Hitachi Solutions, Ltd. 2013. All rights reserved. 株式会社 日立ソリューションズ サービスビジネス事業部 正村 RubyRailsを使った簡単クラウドシステム開発 公開版

RubyとRailsを使った簡単クラウドシステム開発 進団体への参画. 7 . 一般財団法人Rubyアソシエーション ・評議員(全12団体)に就任 (2011

  • Upload
    hatu

  • View
    224

  • Download
    1

Embed Size (px)

Citation preview

© Hitachi Solutions, Ltd. 2013. All rights reserved.

株式会社 日立ソリューションズ サービスビジネス事業部

正村 勉

RubyとRailsを使った簡単クラウドシステム開発

公開版

© Hitachi Solutions, Ltd. 2013. All rights reserved.

0.日立ソリューションズについて

1.インターネット社会とシステムの変遷

2.Ruby

3.Ruby on Rails

4.システム事例

5.アジャイル開発

6.クラウド時代

Contents

© Hitachi Solutions, Ltd. 2013. All rights reserved. 2

0-1. 会社の概要

株式会社日立ソリューションズ (英文社名: Hitachi Solutions, Ltd.)

本 社 〒140-0002 東京都品川区東品川四丁目12番7号

本社別館 〒108-8250 東京都港区港南二丁目18番1号

03‐5780-2111(大代表)

取締役社長 佐久間 嘉一郎

1970年(昭和45年)9月21日

38,758百万円

15,452名(2013年3月31日現在、連結)

(2013年4月1日現在)

会社名

本社所在地

電話番号

代表者

設立年月日

資本金

従業員数

売上高 334,474百万円(2013年3月期、連結)

© Hitachi Solutions, Ltd. 2013. All rights reserved. 3

0-2. 主な国内グループ会社

宮城県仙台市青葉区 株式会社日立ソリューションズ東日本

株式会社日立ソリューションズ西日本

株式会社日立ソリューションズ・ビジネス

株式会社日立ソリューションズ・ネクサス

広島県広島市中区 福岡県福岡市早良区

神奈川県横浜市西区

東京都品川区

会社名 本社所在地

株式会社日立ソリューションズ・サービス 東京都品川区

(2013年3月4日現在)

© Hitachi Solutions, Ltd. 2013. All rights reserved. 4

0-3. 国内事業拠点

© Hitachi Solutions, Ltd. 2013. All rights reserved.

浙江日立解決方案 軟件服務有限公司(浙江)

Hitachi Solutions Europe S.A.S.(フランス パリ)

Hitachi Solutions Europe Ltd.(イギリス ロンドン)

5

0-4. 海外グループ会社

Hitachi Solutions Europe AG(ドイツ ベルリン)

Cambridge Hitachisoft

Educational Solutions Plc.(イギリス ケンブリッジ)

EUROPE

USA CHINA

Hitachi Solutions

America, Ltd.

(サンフランシスコ、 アーバイン、 サンディエゴ、 ニューヨーク)

日立解決方案(中国)

有限公司

(北京本社、上海支社、

広州支社)

© Hitachi Solutions, Ltd. 2013. All rights reserved.

0-5.自己紹介

6

正村 勉 (しょうむら つとむ)

株式会社日立ソリューションズ サービスビジネス事業部 事業部長

昨年までは、Rubyセンタのセンタ長

一般財団法人 Rubyアソシエーション 評議委員

ソフトウェア科学/工学の研究に従事

ソフトウェア開発の生産性向上に関する研究

ソフトウェア開発のプロセスに関する研究

ソフトウェアの分散開発に関する研究

Rubyの普及推進(JIS化、ISO化に参画)

© Hitachi Solutions, Ltd. 2013. All rights reserved.

0-6.Ruby推進団体への参画

7

一般財団法人Rubyアソシエーション ・評議員(全12団体)に就任 (2011/7)

福岡Rubyビジネス推進会議 (F-Ruby) 顧問企業に就任 (2010/6)

独立行政法人 情報処理推進機構 オープンソフトウェア・センター ・Ruby標準化ワーキンググループ委員 【JIS化、ISO化推進】

日本OSS推進フォーラム アプリケーション部会 ・Rubyタスクフォースに参加 (2010/4)

Ruby認定システムインテグレータ

Gold

Ruby認定サポート事業者

Gold

Ruby認定技術者

Gold : 5名

Silver :41名

© Hitachi Solutions, Ltd. 2013. All rights reserved.

0-7.松江事務所(Rubyラボ)

島根県

松江事務所 松江市

8

© Hitachi Solutions, Ltd. 2013. All rights reserved.

0-8.松江事務所(Rubyラボ)

9

2008年10月 松江駅前 テルサ別館 2階に開設

© Hitachi Solutions, Ltd. 2013. All rights reserved.

0.日立ソリューションズについて

1.インターネット社会とシステムの変遷

2.Ruby

3.Ruby on Rails

4.システム事例

5.アジャイル開発

6.クラウド時代

Contents

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-1.今はインターネットの時代

ほとんどの家庭がインターネットに接続

携帯電話 or スマートホンで何処からでもアクセス可能

楽天、アマゾン、ネット通販

ソーシャルシステム:ツイッター Mixi(ミクシー)、Facebook(フェイスブック)

なんでも調べることができる: Google、yahoo、Wiki、・・・

TVもインターネットで

・・・なくてはならない存在に

11

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-2.~1995年 Web登場前夜

12

住民基本台 帳カード

住民基本台帳カード

企業システムのみ 個人PCはオフライン ネットは研究者/マニアのみのもの

企業A 企業B

独自の ネットワーク

専用線

専用端末 独自の

プロトコル

相互には 接続しない

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-3.1995年頃のネットワーク環境

13

世界中の情報が 手元に!

一般家庭は ダイアルアップ

64Kbps

ネットワークが 相互につながる!

インターネット

ISDN

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-4.1995年頃は静的なファイルシステム

14

http://www.serverA.com/a/b.html

配置された ファイル 見えるもの =

ロジックは 存在しない

HTTPによる 通信

HITACHI BLOG

日   月   火  水  木  金  土

         1 2 3 4 5 6 7 8 9

10 11 12 13 14 15 16

17 18 19 20 21 22 23

24 25 26 27 28 29 30

31 

海・旅・ 美味い物

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

HITACHI BLOG

日   月   火  水  木  金  土

         1 2 3 4 5 6 7 8 9

10 11 12 13 14 15 16

17 18 19 20 21 22 23

24 25 26 27 28 29 30

31 

海・旅・ 美味い物

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

HITACHI BLOG

日   月   火  水  木  金  土

         1 2 3 4 5 6 7 8 9

10 11 12 13 14 15 16

17 18 19 20 21 22 23

24 25 26 27 28 29 30

31 

海・旅・ 美味い物

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

HITACHI BLOG

日   月   火  水  木  金  土

         1 2 3 4 5 6 7 8 9

10 11 12 13 14 15 16

17 18 19 20 21 22 23

24 25 26 27 28 29 30

31 

海・旅・ 美味い物

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

HITACHI BLOG

日   月   火  水  木  金  土

         1 2 3 4 5 6 7 8 9

10 11 12 13 14 15 16

17 18 19 20 21 22 23

24 25 26 27 28 29 30

31 

海・旅・ 美味い物

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

HITACHI BLOG

日   月   火  水  木  金  土

         1 2 3 4 5 6 7 8 9

10 11 12 13 14 15 16

17 18 19 20 21 22 23

24 25 26 27 28 29 30

31 

海・旅・ 美味い物

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

静的な ページ

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-5.1995年頃のインターネットとは

15

インターネットとは?

一部の特殊な人の ツール

1995 2000 2005 2010

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-6.1995年頃の使い方

16

ホームページ 予約センター電話番号 XXX-XXX-XXXX

ホームページ 予約センター電話番号 XXX-XXX-XXXX

電話帳で 電話番号を調べる

電話予約

ホテル

レンタカー 飛行機

電話予約

電話予約

前提:旅行会社に任せない

旅行に行くには?(情報提供)

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-7.1995年頃のまとめ

17

インターネット

世界中の情報が手に入る時代の始まり

情報「提供」されるもの

ネットサーフィンという言葉が生まれる

電子メール、掲示板など、新しいコミュニケーションの片鱗が見える

一部の研究者やIT関係者など、専門家のツール

企業システムには、まだ浸透していない

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-8.2000年頃のネットワーク環境

18

ADSL始まる

1Mbps

常時接続

サーバサイドJava J2EEの台頭

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-9.2000年頃はアプリケーションの時代

19

HTTPリクエスト

HTTPレスポンス

動的に ページを生成

データは DBに蓄積

Webアプリケーション

ひとつのサイト内で完結したサービス

ロジックは サーバサイド

H IT A C H I N e t Sh o p p in g

DB

DB

DB

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-10.2000年頃のインターネットとは

20

インターネットとは?

多くの人に 認知され始めた

1995 2000 2005 2010

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-11.2000年頃の使い方

21

Eメール予約

ホテル

オンライン予約

ホームページ 予約担当E-mail

[email protected]

オンライン予約

前提:旅行会社に任せない

旅行に行くには?(情報サービス)

ホームページ 予約ページ

レンタカー

ホームページ 予約ページ

飛行機

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-12.2000年頃のまとめ

22

ネットワーク社会が、実社会に近づいた

ネットワークは、手を伸ばせば手に入る

専門家以外もネットワーク社会に参加できる

サービスは

提供者が用意できるもの

個別に情報サービスが乱立

企業システムは

専用ネットワークからイントラネットやインターネットに

クライアントは専用端末から汎用のPCに

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-13.2005年頃のインターネット

23

インターネットが 市場になる! ロング

テール

チープ 革命

購買 パターン の変化

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-14.消費活動の変革:ロングテール

24

20% 80%

上位20%の製品で 80%の収益を上げる

パレートの法則 従来の マーケティング手法

ニッチ製品の多品種+少量販売で 大きな売り上げ、利益を上げる

ロングテール

Webによって可能になった マーケティング手法

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-15.チープ革命

25

高価な H/W

高価な S/W

高価な ネットワーク

安価な H/W

OSS = 無料

安価かつ高速な ネットワーク

Webサイトを立ち上げるコスト

参入障壁が 一気に低くなった!

競争が激化

優れた価値の提供

従来 現在

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-16.プロとアマ(マニア)の格差が無くなる

26

YouTube Web上の動画投稿サイト

従来 映像を放映するのは

プロの仕事

現在 誰でも自分の 作った映像を 「放映」できる

ビデオ カメラ

安価な道具

編集 ソフト

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-17.オープンソースのスピード感

27

10人で 10ヶ月の

プロジェクト

企業

10人で10ヶ月 1ヶ月は 20日 1日 10時間

OSS

1,000人参加すると

毎日参加なら 1日1時間で1カ月

10か月かけるなら 1日6分!

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-18.2005年頃の企業システム

28

サービス Web上で 提供される サービスを

組み合わせる

サービスを活用し、 新しい価値を生み出す

SaaS (Software as a Service)

各企業が持つ データを

サービスとして 提供

サービス

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-19.企業システムにとってのロングテール

29

従来

サービス

個々の企業が システムを作り上げる

インターネット上で 提供されたサービスを利用

一部の大企業 のみが可能 スモール

スタートが 可能

今までシステムを 利用できなかった

ユーザも利用できる

多額の 投資

DB DB

DB

インターネット

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-20.2005年頃のネットワーク環境

30

ブロード バンド

複数の サイトが

連携

適材適所の 開発言語

ネットワークは 誰もが使えるものに!

ネットワークの 社会インフラ化

データが あらゆる 場所に

あふれる 情報量

次世代ネットワーク(NGN) (Next Generation Network)

DB DB

DB

DB DB

DB

データを活用 したサービス

ロジックは あらゆる場所に

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-21.2005年頃のインターネットとは

31

インターネットとは? 上手に活用する 当たり前の環境

1995 2000 2005 2010

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-22.2005年頃の使い方

32

ホテル

他の旅行者の Blogを参考に

情報社会 •企業:ビジネスが変わる •社会:生活が変わる

旅行に行くには? (情報社会)

HITACHI BLOG

日   月   火  水  木  金  土

         1 2 3 4 5 6 7 8 9

10 11 12 13 14 15 16

17 18 19 20 21 22 23

24 25 26 27 28 29 30

31 

海・旅・ 美味い物

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

食事

観光

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-23.2005年頃のまとめ

33

個人で情報を発信できる環境が整った

情報が増え、比較して確かな情報を得ることが可能となった

情報は

企業が用意する → 利用者が評価する

検索エンジンの発展で誰もが取得可能

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-24.ブラウザベースのアプリケーション

34

アプリケーション

すぐに 利用可能

Web上で アプリケーションを

提供

ブラウザ上で アプリケーションが動作

HTTP、HTML、JavaScript、XML 標準的な技術で実現

アプリケーションは Webから降ってくる

PC以外でも OK

H IT A C H I N e t Sh o p p in g

インストール 不要

© Hitachi Solutions, Ltd. 2013. All rights reserved.

クラウド

1-25.クラウドがデスクトップに

35

App App

App

App

データは クラウド上に

存在

あらゆる場所から さまざまなデバイスでアクセス

クラウド上に サービスや

アプリケーションが存在

ネットの向こう側

ネットのこちら側

DB DB

DB

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-26.ネットワークがOSに

36

PC

App

App

App

App

~2000年 2005年 2010年

インストール

アプリケーションが 空から降ってくる

クライアントの変化

HTML+JavaScript

HTML+JavaScript+XML

PC A

pp

App

App

App

携帯

ブラウザ

PC

App

App

App

App

携帯

ブラウザ スマホ・ タブレット

インストール

クラウド

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-27.2010年以降 インターネットは

37

インターネットとは? 無くてはならないもの

1995 2000 2005 2010

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-28.2010年以降の使い方

38

旅行先から自由に 携帯端末で情報にアクセス (モバイル)

旅行の楽しさを ネットで共有

食事

観光

遊ぶ

HITACHI BLOG

日   月   火  水  木  金  土

         1 2 3 4 5 6 7 8 9

10 11 12 13 14 15 16

17 18 19 20 21 22 23

24 25 26 27 28 29 30

31 

海・旅・ 美味い物

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

2006年9 月

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-29.2010年以降のまとめ

39

何時でも、何処でも、必要な情報が手に入る

利用するデバイスでの制限が緩和 (携帯、スマホ、タブレット用のサイトが充実)

高速データ通信(LTEなど)の普及でストレス無くアクセス

ネットワークを通して自己の情報を発信

リアルタイムで情報を発信 (「・・・なう。」「・・・ちゅう。」「・・・にチェックイン」、など)

端末の性能(カメラ)向上でプロ並みのデータを共有 (静止画、動画、位置(GPS)、など)

© Hitachi Solutions, Ltd. 2013. All rights reserved.

1-30.次の時代へ

40

1995 2000 2005 2010 2015

幕開けの10年 成長の10年 発展の10年

次の時代へ

クラウド

インターネット TV

© Hitachi Solutions, Ltd. 2013. All rights reserved.

0.日立ソリューションズについて

1.インターネット社会とシステムの変遷

2.Ruby

3.Ruby on Rails

4.システム事例

5.アジャイル開発

6.クラウド時代

Contents

© Hitachi Solutions, Ltd. 2013. All rights reserved.

2-1.Rubyとは

42

言語の特徴

日本発の開発言語

プログラム実行時にソースコードを逐次解釈して実行

オブジェクト指向技術をサポート

利用時の特徴 生産性が高い (Javaに比べてステップ数は1/3~1/5)

とりあえず作って、以降機能を追加・改良する開発方法 (アジャイル開発)と相性が高い

フレームワーク「Ruby on Rails」でさらに便利になった

© Hitachi Solutions, Ltd. 2013. All rights reserved.

2-2.Rubyの標準化状況

43

国内規格化(JIS)

2011/3 JIS X3017

国際規格化(ISO)

2012/4 ISO/IEC 30170

Rubyの国内知名度( ’ 10年度末予想) (JISA調べ)

Rubyを知っている技術者 ………50%

開発したことがある技術者 ………10%

Rubyの評価 (IPAによる調査報告)

性能や開発技術の面においては十分に実力を 持ったものであって、業務システムへの適用に ついても、おおむね問題は無い

© Hitachi Solutions, Ltd. 2013. All rights reserved.

2-3.言語人気ランキング(ワールドワイド2013/6)

44

世界のプログラマが利用している。

出典:http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

© Hitachi Solutions, Ltd. 2013. All rights reserved.

0.日立ソリューションズについて

1.インターネット社会とシステムの変遷

2.Ruby

3.Ruby on Rails

4.システム事例

5.アジャイル開発

6.クラウド時代

Contents

© Hitachi Solutions, Ltd. 2013. All rights reserved.

3-1.Ruby on Rails(RoR)とは

46

Webアプリケーション用フレームワーク

David Heinemeier Hansson氏(デンマーク)が開発

プロジェクト管理ツールを作るために開発

Webアプリケーションを少ないソースコードで開発

– 規約に従えば、ソースコード記述を省略

– ソースコード自動生成機能

簡単にWebアプリケーションが開発できる インターネット上で15分で開発できるビデオを投稿

世界がRubyに注目

◆ 2005/12

1.0 ◆

2004/7

公開 3.0 ◆

2010/8

3.2 ◆

2012/1

◆ 2007/12

2.0

© Hitachi Solutions, Ltd. 2013. All rights reserved.

3-2.Ruby&RoRの国内適用状況

47

楽天: 一部のシステムに適用 RomaとFairyを研究開発

クックパッド: システム全体

カカクコム 食べログ

東洋情報システム(TIS): ソーシャルネットワークシステム

(SNS)

東京ガス 地震防災システム

(SUPREME)

島根県 コンテンツ管理システム(CMS) しまね海洋館アクアス

(検索システム)

徳島県 コンテンツ管理システム(CMS)

三鷹市 図書館システム 長野県塩尻市が同システムを採

地方自治体が多数開発

ニュースリリースおよび公開情報から抜粋

© Hitachi Solutions, Ltd. 2013. All rights reserved.

3-3.Ruby&RoRの海外適用状況

48

Twitter(ツイッター) Ruby on Railsで開発 一部Scalaに書き換え Ruby on Railsで継続部分あり

その他多数 米国、ヨーロッパ、中国、フィリピン、ベトナム、など

で多数のシステムが開発・運用されている。

最近の米国のキーワード リーンスタートアップ、ARC:アーク A:Agile(アジャイル) R:Ruby on Rails(ルビー) C:Cloud(クラウド)

出典:http://www.technologyreview.com/blog/editors/23282/?nlid=1908

© Hitachi Solutions, Ltd. 2013. All rights reserved.

3-4.Rubyの生産性 (当社調べ)

49

受注システムの一部をRubyで開発し、Javaと比較

仕様書やテスト項目は同じものを使用

ステップ数は1/4に

バグ数はほぼ同じ

609[時間]

189[時間]

Ruby Java

言語 Java Ruby

ステップ数[step] 3,916 1,043

開発工数[時間] 575 177

バグ数[件] 26 25

バグ修正工数[時間] 34 12

開発工数、修正工数ともに およそ30%に大幅削減

© Hitachi Solutions, Ltd. 2013. All rights reserved.

3-5.RoRアプリケーションの開発環境

50

開発に必要なもの

Ruby、RubyGems*

*Rubyのライブラリ管理システム

Ruby on Rails

データベース

IDE(統合開発環境) NetBeans、Eclipse

3つの実行モード

development:開発用

test:テスト用

production:本番用

Ruby RubyGems

Ruby on Rails

IDE

Webブラウザ

開発用 データベース

テスト用 データベース

Ruby on Railsプロジェクト 組み込み

Web

サーバ

OS

ローカル

あるいはリモート

開発、テスト

動作確認

ドライバ

リポジトリ

ソースコード管理システム(任意)

ライブラリ

© Hitachi Solutions, Ltd. 2013. All rights reserved.

3-6.処理の流れ

51

http://.../books

コントローラ

class BooksController < ApplicationController def index @books = Book.find(:all) end end

controllers¥books_controller.rb

モデル

class Book < ActiveRecord::Base end

models¥book.rb データベース

books

id title body

ビュー

<html> <% @books.each do |book| %> </html>

views¥books¥index.html.erb

①要求 ②データの入出力

③データの入出力

④呼び出し

・モデルとテーブルは1:1 ・クラスの複数形がテーブル名

・アクション名と 同名の テンプレートファイル名 ・インスタンス変数を参照可

⑤レスポンス

・CRUD操作メソッド ・アクセサは列名と同名 ・/コントローラ/アクションで要求

Web

ブラウザ

© Hitachi Solutions, Ltd. 2013. All rights reserved.

0.日立ソリューションズについて

1.インターネット社会とシステムの変遷

2.Ruby

3.Ruby on Rails

4.システム事例

5.アジャイル開発

6.クラウド時代

Contents

省略

© Hitachi Solutions, Ltd. 2013. All rights reserved.

0.日立ソリューションズについて

1.インターネット社会とシステムの変遷

2.Ruby

3.Ruby on Rails

4.システム事例

5.アジャイル開発

6.クラウド時代

Contents

© Hitachi Solutions, Ltd. 2013. All rights reserved.

5-1.Rubyによる開発の利点

54

まずは作って、随時機能を追加・改良する開発スタイル

『動く仕様書』で使い勝手やイメージを確認

お客様の真のニーズを引き出す

お客様の生の声に応える機能追加で満足度向上

システムを利用しながら改良する開発状況の見える化

お客様の生の声に対応

© Hitachi Solutions, Ltd. 2013. All rights reserved.

アジャイル 開発の評価

5-2.Rubyでのアジャイル開発事例

55

システム利用

1ヵ月のスプリントを4回実施

実装

要件を整理 機能の実装

優先度を決定 テストケース

を準備

要件整理 評価

日立 ソリューションズ

開発チーム

エンドユーザ

アジャイル開発支援

リリース リリース リリース

課題抽出とフィードバック

チーム構成は、日立ソリューションズ・開発チーム・エンドユーザ

少ない開発量で機能を実現できるRubyの特徴を活かし、短期間

の実装を繰り返し実施

実装と並行してシステムを使用してもらい、真の要求をフィードバック

リリース

© Hitachi Solutions, Ltd. 2013. All rights reserved.

5-3.開発の流れ

56

プロダクトバックログ ・システムを実現するために 必要なすべての機能、 成果物の一覧 ・プロダクトオーナーによって 実施有無と優先順位付け

ビジネス要件と要望

プロダクトオーナー ・エンドユーザ代表 ・仕様を決める

スプリントバックログ ・スプリントで行う ストーリーのリスト ・タスクに分解 ・各タスクを作業時間 で見積もる

・ スプリント の目標を決定 ・ スプリントで実現 するストーリーを チームで選択

スプリント計画

ふりかえり ・ 続けること ・ 問題 ・ 次回チャレンジ

レビュー ・ デモの実施 ・ フィードバック

実行可能な システム

日次スクラムミーティング ・ 昨日やったこと ・ 今日やること ・ 問題

バーンダウンチャート ・進捗の見える化

スクラムマスター ・ アジャイル開発が うまくいくように チームを守る

開発チーム

スプリント

© Hitachi Solutions, Ltd. 2013. All rights reserved. 57

5-4.分散開発環境の適用

57

仮想開発環境

・実行環境

<仮想クライアント>

<仮想サーバ>

パートナー会社(東京支社)

日立ソリューションズ(東京)

パートナー会社(島根)

エンドユーザ(島根)

・構成管理 ・懸案管理 ・Web会議 ・掲示板システム

システム使用

地理的に離れた各拠点をセキュアなネットワークで結んで開発 ► 仮想的な作業場所を構築し、各活動拠点にいながら一体となって作業 ► エンドユーザも実行環境を使用し、動作の確認が可能 ► Web会議などのコミュニケーションツールを利用して日次スクラムミーティングを

実現

システム開発

要件の提示

プロジェクト管理

アジャイル開発 支援

プロジェクト監視

高校

© Hitachi Solutions, Ltd. 2013. All rights reserved. 58

5-5.ツールの活用

58

ツールを活用

プロジェクト管理、懸案管理 trac + agilo (Scrum用プラグイン)

構成管理、ソースコード共有 Subversion

日次ビルド、テスト自動化 Hudson CI (現Jenkins CI) + RubyMetrics (Ruby用プラグイン)

コーディングルール Ruby用コードインスペクションツール

自動回帰テストツール anyWarp Capture/Replay(自社製品)

デスクトップTV会議 TV会議システム

© Hitachi Solutions, Ltd. 2013. All rights reserved.

5-6.バーンダウンチャートの傾向

59

スプリント1

タスクの粒度にバラつき

タスク状態の逐次更新が 不徹底

ツール障害により、正確な 進捗管理ができなかった

スプリント3 チームの習熟度が上がり

開発がスムースに進行

適切なタスク分割により 進捗管理が可能になった

© Hitachi Solutions, Ltd. 2013. All rights reserved.

5-7.アジャイル開発でサービスを早期に開始

60

サービス開始時期と資金回収の変化

開発費

サービス開始

保守改修費

開発費

サービス開始

保守改修費

従来のウォーターフォールによる開発 Railsによるアジャイル開発

◎早い段階からサービスを開始することができる ⇒ 早期収入開始・早期通算黒字化が可能 ◎ユーザに見せながらシステムを追加開発できる ⇒ 高い顧客満足度を追求・維持可能 ◎万一ユーザのニーズに合わず方針変更があっても、 早期対応・柔軟対応が可能

収入

支出

サービス収入 サービス収入

© Hitachi Solutions, Ltd. 2013. All rights reserved.

0.日立ソリューションズについて

1.インターネット社会とシステムの変遷

2.Ruby

3.Ruby on Rails

4.システム事例

5.アジャイル開発

6.クラウド時代

Contents

© Hitachi Solutions, Ltd. 2013. All rights reserved.

クラウド

6-1.クラウドの時代

必要なものがクラウドにある

62

データ アプリ

© Hitachi Solutions, Ltd. 2013. All rights reserved.

6-2.次の10年を考えてみよう!

63

10年前と比べて

PDA

電話

PC

スマートホン/タブレット

© Hitachi Solutions, Ltd. 2013. All rights reserved.

6-3.次の10年を考えてみよう!

64

10年後どうなっている?

雑誌

書籍

新聞 スマートホン/タブレット

TV

映画

チケット 音楽/カラオケ

カーナビ

© Hitachi Solutions, Ltd. 2013. All rights reserved. 65

ニンテンドーDS・ニンテドー3DS ・ディーエス/DSは任天堂の登録商標または商標です。

iPadは米国Apple Inc.の米国およびその他の国における登録商標または商標です。

Windows、InternetExplorerは、Microsoft Corporationの米国およびその他の国における登録商標または商標です。

Apacheは、Apache Software Foundationの登録商標または商標です。

PostgreSQLは、PostgreSQLの米国およびその他の国における商標です。

AQUASは島根県の登録商標です。

SUPREMEは東京瓦斯株式会社の登録商標です。

twitterはTwitter Inc.の登録商標です。

食べログは株式会社カカクコムの登録商標です。

COOKPADはクックパッド株式会社の登録商標です。

iKnowはセレゴ・ジャパン株式会社の登録商標です。

その他、記載されている会社名、商品名は、各社の登録商標または商標です。

ご清聴ありがとうございました

© Hitachi Solutions, Ltd. 2013. All rights reserved.

株式会社 日立ソリューションズ サービスビジネス事業部

RubyとRailsを使った簡単クラウドシステム開発

正村 勉

END

© Hitachi Solutions, Ltd. 2013. All rights reserved.