JavaからRubyへ

―マネージャのための実践移行ガイド

[cover photo]
TOPICS
Programming , Java , Ruby
発行年月日
PRINT LENGTH
216
ISBN
978-4-87311-320-3
原書
From Java to Ruby
FORMAT

本書は「JavaからRubyへ」の移行を実践するためのガイドです。現在Javaでソフトウェアを開発している組織、すなわちメインストリームのソフトウェア開発組織が、Ruby導入のリスクとメリットについて検討するための材料をビジネスの視点から幅広く提供する「実用書」です。
情報の収集や分析でのポイントの押さえ方、パイロットプロジェクトの作戦、Javaで構築された既存システムとの統合戦略、Ruby開発要員の採用や育成など、Rubyに限らず、組織レベルでの新興テクノロジ導入にあたって考慮すべき事項をひと通りカバーしています。あわせて具体的な事例や実践者へのインタビューも多数掲載。
Javaで開発を行っている組織のマネージャ、マネージャへRubyの導入を提案したい開発者、必読の一冊です。

翻訳者によるサポートページ

目次

目次

日本の読者に向けて
序

1章 はじめに
	1.1 Rubyの出現
	1.2 Javaプラットフォームの弱体化
	1.3 アーリーアダプターの言語、Ruby
		1.3.1 リスク
	1.4 Ruby導入決断プロセス
		1.4.1 「苦痛」の確認
		1.4.2 評価の確立
		1.4.3 パイロット
		1.4.4 テクノロジの選択
		1.4.5 「旧世界」との統合
		1.4.6 普及
		1.4.7 適用範囲とリスクの見極め
	1.5 先へ進む
	1.6 まとめ

2章 苦痛
	2.1 苦痛の館
		2.1.1 テクノロジ
		2.1.2 「苦痛」の階層構造
	2.2 低生産性
		2.2.1 なぜ生産性がそんなにも重要なのか?
		2.2.2 Javaそのものの生産性
		2.2.3 フレーワークの生産性
		2.2.4 EJB
		2.2.5 XML
	2.3 もたつく立ち上がり
	2.4 リスクの検討
		2.4.1 アウトソーシング
		2.4.2 競合
		2.4.3 リスクへの対処
	2.5 まとめ

3章 評価の確立
	3.1 勢い
		3.1.1 ビジョナリー
		3.1.2 ダウンロード数
		3.1.3 書籍
	3.2 生産性
		3.2.1 事例
		3.2.2 パワー
		3.2.3 長期的な生産性
		3.2.4 Ruby on Rails
		3.2.5 硬直性
	3.3 コスト
		3.3.1 コミュニケーションとマネジメントのコスト
		3.3.2 ソフトウェアの時間的価値
	3.4 立ち上がり
		3.4.1 より生産的に
		3.4.2 教育
		3.4.3 高い抽象化
	3.5 リスク
		3.5.1 Javaの低生産性リスク
		3.5.2 Javaの知識断片化リスク
	3.6 展望
	3.7 まとめ

4章 パイロット
	4.1 計画の立案
		4.1.1 ビジネス課題の把握
		4.1.2 技術課題の選択
		4.1.3 チームの編成
	4.2 シナリオ1:典型的パイロット
		4.2.1 シナリオの概略
		4.2.2 結論を出す
	4.3 シナリオ2:トロイの木馬
		4.3.1 シナリオの概略
	4.4 シナリオ3:競走
		4.4.1 シナリオの概略
	4.5 シナリオ4:社運を賭ける
	4.6 シナリオ5:救出
		4.6.1 シナリオの概略
		4.6.2 経験から学ぶ
	4.7 決断
	4.8 まとめ

5章 孤島にて
	5.1 概要
	5.2 Rubyの基礎
	5.3 Webアプリケーション開発
		5.3.1 LAMP
		5.3.2 継続サーバ
	5.4 Rails
		5.4.1 Active Record
		5.4.2 Action Pack
		5.4.3 Railsの強み
	5.5 ミドルウェア
		5.5.1 データベース
		5.5.2 ダイレクトAPI
		5.5.3 DBI
		5.5.4 マッパーとラッパー
		5.5.5 セキュリティ
		5.5.6 通信
		5.5.7 XML
	5.6 展望
	5.7 まとめ

6章 橋
	6.1 ロードマップ
		6.6.1 戦術的 VS. 戦略的
		6.1.2 粗粒度 VS. 細粒度
	6.2 シナリオ
		6.2.1 移住
		6.2.2 アプリケーション間統合
		6.2.3 グルーコード
		6.2.4 シンプル化
		6.2.5 ドメイン特化言語(DSL)
		6.2.6 統合支援テクノロジ
	6.3 Java/Rubyブリッジ
		6.3.1 長所
		6.3.2 短所
	6.4 JRuby
		6.4.1 実践的な利用法
		6.4.2 将来性
	6.5 サービス指向アーキテクチャ(SOA)
		6.5.1 インターネット
		6.5.2 XML
		6.5.3 SOAPベースのWebサービス
		6.5.4 ReSTベースのWebサービス
		6.5.5 Webサービスの実戦投入
		6.5.6 可能性
	6.6 まとめ

7章 普及
	7.1 Ruby要員の育成
		7.1.1 リクルーティング戦略
		7.1.2 狙い目の言語
		7.1.3 採用選考プロセス
	7.2 社内でのスキル育成
		7.2.1 教育
		7.2.2 メンタリング
	7.3 短期間での立ち上げ
		7.3.1 ジャンプスタート
		7.3.2 ターンキー
		7.3.3 設計レビュー
	7.4 来たるべき日に備える
		7.4.1 規約
		7.4.2 アーキテクチャ
	7.5 デプロイの概要
		7.5.1 Capistrano
		7.5.2 Railsスキーマのマイグレーション
	7.6 まとめ

8章 リスク
	8.1 悪質なリスク
		8.1.1 テクノロジの問題ではない
		8.1.2 政治的抵抗
		8.1.3 技術的に適性がない
		8.1.4 未知の領域
		8.1.5 悪質なリスクへの対処
	8.2 技術リスクの低減
		8.2.1 オープンソースプロジェクト
		8.2.2 高リスク機能の開発
		8.2.3 結合を疎にする
		8.2.4 技術プロトタイプ
		8.2.5 自動化されたテスティング
		8.2.6 立ち去る
	8.3 政治リスクの低減
		8.3.1 トップダウンのリスクへの対処
		8.3.2 衝突意見の調停、またはボトムアップのリスク
	8.4 Rubyの未来?
		8.4.1 この道はいつか来た道
		8.4.2 あるいは、真実の爆発的拡大か?

9章 参考文献

索引
訳者あとがき