Rubyによる基幹業務開発

『Rubyによる
による基幹業務開発
による基幹業務開発』
基幹業務開発』
~松江市殿での
松江市殿での高額合算
での高額合算システム
高額合算システムの
システムの開発を
開発を通して~
して~
2008.
2008.9.13
㈱テクノプロジェクト
吉岡 宏
高木 丈智
IPA公募事業
公募事業
①医療・
医療・介護高額合算システム
介護高額合算システム
窓口業務
住民異動情報
住民記録システム
住民記録システム
国民健康保険システム
国民健康保険システム
(医療保険)
医療保険)
後期高齢者システム
後期高齢者システム
(医療保険75
医療保険75歳以上
75歳以上)
歳以上)
介護保険システム
介護保険システム
医療
自己負担額・
自己負担額・
資格情報
自己負担額・
自己負担額・
資格情報
支給額情報
自己負担額・
自己負担額・
資格情報
高額
内部処理
自己負担額合算
支給決定
支払い
支払い登録
口座振替情報など
口座振替情報など
合算
システム
支給額情報
既存業務システム
既存業務システム
相談支援
申請受付
証明書発行など
証明書発行など
介護
支給額情報
今回対象システム
今回対象システム
市
民
高額合算制度
医療・
医療・介護の
介護の自己負担額が
自己負担額が、所得に
所得に
応じて一定額
じて一定額を
一定額を超したら還付
したら還付をする
還付をする。
をする。
今年4
今年4月からスタート
からスタートする
スタートする後期高齢者
する後期高齢者
医療保険制度と
医療保険制度と同時に
同時に実施される
実施される。
される。
1年間の
年間の自己負担合計額が
自己負担合計額が対象とな
対象とな
るため、
るため、実質平成21
実質平成21年度
21年度から
年度から窓口
から窓口
業務が
業務が開始される
開始される。
される。
IPA公募事業
公募事業
②Rubyの
Rubyの新しい取
しい取り組み
画面からの
画面からのデータ
からのデータ登録
データ登録
大量の
大量のデータ処理
データ処理
精度の
精度の高い帳票印刷
再印刷や
再印刷やページ指定印刷
ページ指定印刷
夜間の
夜間の無人運転支援
プログラムの
プログラムの保守性向上
高額
少量の
少量のデータ処理
データ処理
合算
COBOLエンジニア
エンジニアの
エンジニアのシフト
システム
今回、
今回、新たに取
たに取り組む分野
基幹業務システム
基幹業務システム(
システム(大規模システム
大規模システム)
システム)への拡大
への拡大
これまでに実績
これまでに実績のある
実績のある分野
のある分野
設計方式
Ruby
⇒ オブジェクト指向言語 ⇒ オブジェクト指向設計(UML)
COBOL ⇒ 手続き型言語
⇒ 手続き型(構造化)設計
今回
手続き型(構造化)設計
・・・ 業務フロー図、画面・帳票、機能設計書(詳細)
開発方式
ウォータフォールを採用
← アジャイルではない。
ウォータフォール
しっかり設計をやり、工程毎に顧客レビューを実施
プロジェクト体制
プロジェクト体制
開発期間:
開発期間:2007.
2007.9~2008.
2008.2
オン:
オン:14本
14本、バッチ:
バッチ:24本
24本
業務開発チーム
業務開発チーム(TPJ:
チーム(TPJ:テクノプロジェクト
(TPJ:テクノプロジェクト・
テクノプロジェクト・マツケイ中心
マツケイ中心)
中心)
50代SE 2名、30代SE/PG 3名、20代PG 3名
業務分析:顧客要件整理(含む厚生労働省の新制度説明資料)
設計(業務フロー、画面、帳票、詳細機能説明書)
開発(プログラミング、単体テスト、ソースレビュー)
テスト(結合テスト、システムテスト=実証実験)
共通技術チーム
共通技術チーム(NaCl:
チーム(NaCl:ネットワーク
(NaCl:ネットワーク応用通信研究所中心
ネットワーク応用通信研究所中心+TPJ)
応用通信研究所中心+TPJ)
Ruby教育、プロトタイプ作成、コーディング規約作成&ソース点検
ツール作成(大量帳票印刷・バッチ自動運用)
ライブラリィの組み込みと使用方法整理・・・祝日判定・DB複合キーなど
共通ルーチン
共通ルーチン作成
ルーチン作成(
作成(部品化)
部品化)、開発環境整備
オンライン開発
オンライン開発(
開発(画面)
画面)
Ruby on Rails(
(機能分割:
機能分割:モデ
モデル・ビュー・
ュー・コントローラ)
コントローラ)
端末
W
E
B
サ
|
バ
Apache
R
A
I
L
S
制
御
コントローラ
コントローラ
コントローラ
業務処理
業務処理
業務処理
ビュー
モデル
(DB
マクロ)
データ
ベース
MySQL
ビュー
ビュー
画面定義体
画面定義体
画面定義体
※Ruby on Rails
※ビュー
Webの
のホームページ
ホームページ作成
作成ツール
定義のひな
作成ツールで
ツールでHTML定義
定義のひな形
のひな形を作成する
作成する。
する。
・モデル(DB
モデル(DBマクロ
(DBマクロ)
マクロ) 検索・
検索・挿入・
挿入・更新・
更新・削除の
削除のSQL
画面の
・ビュー(
画面の統一性を
統一性を出すため、
すため、1人のデザイナーが
デザイナーが全画面作成する
全画面作成する。
する。
ビュー(画面定義)
画面定義) DBの
DBの追加・
追加・更新・
更新・削除の
削除の画面HTML
画面HTML
プログラマーは
定義に
プログラムとの
との変数
プログラマーはHTML定義
定義にプログラム
との変数を
変数を挿入し
挿入し、ビューを
ビューを
・コントローラ(
コントローラ(オンライン制御
オンライン制御)
制御)
完成させる
フレームを
完成させる。
させる。
フレームを自動生成してくれ
自動生成してくれ、Web
してくれ、Webアプリ
、Webアプリが
アプリが動くようになる。
くようになる。
レガシー開発
レガシー開発(
開発(画面)
画面)
端末
オ
ン
ラ
イ
ン
制
御
メッセージ振
メッセージ振り分け
多重端末多重会話
主
プ
ロ
業務処理
業務処理
業務処理
DB
アクセス
ルーチン
データ
ベース
ネットワークDB
ネットワーク
画面定義体
画面定義体
画面定義体
クラサバ3
クラサバ3階層開発
プレゼンテーション層
プレゼンテーション層
アプリケーション層
アプリケーション層
データベース層
データベース層
RDB
業務処理に集中して開発できる環境があった。
オンラインやDBで、予期せぬ動きはない。安心して、開発できる環境であった。
バッチ業務
バッチ業務
必要性
複数部門で
複数部門で利用する
利用するシステム
するシステムの
システムの場合、
場合、オンライン中
オンライン中に大量の
大量のデータ処理
データ処理を
処理を実行
すると ①オンラインの
オンラインのレスポンス悪化
レスポンス悪化 ②排他制御により
排他制御によりオンライン
によりオンライン停止
オンライン停止
あるいは ③デッドロックが
デッドロックが起こる。
こる。
このため、
このため、大量の
大量のデータ処理
データ処理は
処理は、オンライン終了後
オンライン終了後に
終了後に実行する
実行する。
する。
スケジューリング
他システムとの
システムとのデータ
とのデータ受
データ受け渡しやバックアップ
しやバックアップ、
バックアップ、当日の
当日の登録データ
登録データ一覧表作成
データ一覧表作成など
一覧表作成など
の定常処理とその
定常処理とその日
とその日に担当者が
担当者が要求する
要求する特定帳票
する特定帳票の
特定帳票の出力などの
出力などの処理
などの処理がある
処理がある。
がある。
⇒ 自動的に
自動的に運用したい
運用したい。
したい。実行する
実行する順番
する順番がある
順番がある。
がある。
帳票出力
大量の
大量の帳票出力処理は
帳票出力処理は、特定の
特定のページのみ
ページのみ出力
のみ出力したい
出力したいケース
したいケースや
ケースやプリンターの
プリンターのトラブル
のために再印刷
のために再印刷する
必要である。
再印刷する機能
する機能が
機能が必要である
である。
住民に
住民に渡す帳票なので
帳票なので、
なので、フォームを
フォームを使用した
使用した判
した判り易さが求
さが求められる。
められる。
バッチ業務
バッチ業務(
業務(ジョブ管理
ジョブ管理)
管理)
機能
・バッチジョブの
バッチジョブの実行パラメータ
実行パラメータを
パラメータを事前に
事前に設定できること
設定できること(
できること(オンライン中
オンライン中)
・バッチ処理
バッチ処理の
処理の実行結果の
実行結果の確認を
確認を翌日以降にできること
翌日以降にできること(
にできること(夜間自動運用)
夜間自動運用)
ツール新規作成
ツール新規作成
バッチプログラムの
バッチプログラムの初期処理・
初期処理・終了処理時に
終了処理時に、自動運用の
自動運用の関数(
関数(サブルーチン)
サブルーチン)
DB抽出処理
抽出処理
結果リスト
結果リスト出力
リスト出力
JCL
ジョブ制御
ジョブ制御
スクリプト
ジョブ
管理
運用DB
DB更新処理
更新処理
①JCL
・実行プログラム
・バッチパ
実行プログラム指定
プログラム指定
ッチパラメータの
ラメータの対応付け
対応付け
②プログ
・バッチパ
ログラム ・ログの
ログの書き出し
ッチパラメータの
ラメータの受け取り
・ワークファイルの
ワークファイルの定義(SQL)
定義(SQL)
ジョブ管理機能
実行結果の
③ジョブ
管理機能 ・実行結果
の判定 ・バッチパ
ッチパラメータの
ラメータの事前設定
・実行結果の
実行結果のログ参照
ログ参照(
参照(ジョブ単位
ジョブ単位)
単位)
バッチ業務
バッチ業務(
業務(スプール機能
スプール機能)
機能)
帳票印刷
iReport と ジャスパーレポートの
オープンソース、
変換)
ジャスパーレポートの活用(
活用(Javaオープンソース
オープンソース、フォーム作成
フォーム作成・
作成・PDF変換
変換)
ツール新規作成
ツール新規作成
ジャスパーレポートの
ジャスパーレポートの運用管理機能を
運用管理機能を新規作成する
新規作成する。JRuby
する。JRubyで
。JRubyで開発。
開発。
Web・
・アプリサーバ
プリントサーバ
印刷制御機能
業務処理
印刷命令
ジャスパレポート
Webサービス
サービス
非同期通信
PDF変換
印刷管理
帳票出力
スプールDB
スプール
スプール機能
スプール機能
・プレビュー
・ページ指定印刷
ページ指定印刷
・再印刷
・印刷中キャンセル
印刷中キャンセル
・検索・
検索・削除
バッチ業務
バッチ業務(
業務(大量データ
大量データ処理
データ処理)
処理)
DBバッファ
バッファ
遅くなる例
くなる例
A
SELECT 顧客マスター
顧客マスター
JOIN 取引履歴テ
取引履歴データ
SELECT 顧客属性履歴テ
顧客属性履歴データ
SUM 年月
プリント処理
プリント処理
B
テーブルA,B,Cがそれぞれ
がそれぞれ格納順
テーブル
がそれぞれ格納順
ではなく、
ではなく、キー順
キー順にアクセスするの
アクセスするの
で、DBバッファ
バッファの
バッファの効率が
効率が悪い。
DBへの
へのDISK実
実アクセスが
への
アクセスが多くなる。
くなる。
一覧表
速くなる例
くなる例
SELECT 顧客マスター
顧客マスター
WHEN ・・
出力 a
DBバッファ
バッファ
A
B
SELECT 取引履歴テ
取引履歴データ
出力 b
SELECT 顧客属性履歴テ
顧客属性履歴データ
出力 c
C
テーブルA,B,Cがそれぞれ
がそれぞれ格納順
テーブル
がそれぞれ格納順
に検索されるので
検索されるので、DB
されるので、DBバッファ
、DBバッファの
バッファの
効率が
効率が良い。
DBへの
DBへのDISK
アクセスが少ない。
ない。
へのDISK実
DISK実アクセスが
a
b
入力 a
入力 b (a のキーと
キーとマッチング)
マッチング)
入力 c (a のキーと
キーとマッチング)
マッチング)
:
プリント処理
プリント処理
C
c
一覧表
バッチ業務
バッチ業務(
業務(大量データ
大量データ処理
データ処理)
処理)
DISKアクセス
アクセスと
アクセスとロジック(CPU)
ロジック(CPU)の
(CPU)の処理時間比較 ・・・ 数値は
数値は想定値
DISKアクセス
アクセス1
m秒程度 = 10×
×10‐
‐3秒
秒 ← ①
アクセス1回の処理時間 : 10m
サーチ時間
秒当り
回転=8m秒
秒×1/2)+
)+シーク
サーチ時間:
時間:7200RPM(秒当
秒当り120回転
回転
)+シーク時間
シーク時間+
時間+転送時間
Ruby 100Step
Stepの
Stepの実行時間
= 100(
(Rubyステッフ
ステップ
(倍)×5(
(マシン語
言語1ステッフ
ステップ数)×10(
マシン語のステップ数
ステップ数/C言語
言語 ステップ
ステップ)
×5(
(クロック数
マシン語
ステップ
×10‐
‐9(
(秒)
クロック数/マシン
マシン語1ステッフ
ステップ)×0.5×
= 12.5×
×10‐
‐6秒
秒 ← ②
※Rubyは
は実測レベル
の数倍から
実測レベルで
レベルで、Cの
数倍から10倍
から 倍の実行速度である
実行速度である(
である(インタプリタ)
インタプリタ)
※CPU:2
×10‐
‐9秒
秒)
CPU:2GHz (1クロックの
クロックの時間=
時間=0.5×
⇒ DISKアクセス
アクセスと
Ruby
ステップの
実行速度は1000倍程度
倍程度の
がある。
アクセスとRuby100ステップ
ステップの実行速度は
倍程度の差がある。
20年程度前
年程度前と
年程度前と現在の
現在の比較
CPU速度
速度 DISK
アクセス
メモリ
20年
年
MHz
20~
~40
程度前 (FLOPS) mS
MB
現 在
GB
GHz
10mS
大量
データ
ファイル
数十万
~数百万
NDB
数千万
~数億
RDB
DB
言語
チューニング
順編成
SEノウハウ
ノウハウ
ダイナミック
ステップ
ステップ
COBOL
PL/I
自動化
SEノウハウ
ノウハウ
VB,Java
Ruby
Ruby基幹業務開発
基幹業務開発(
基幹業務開発(生産性)
生産性)
①システム開発
システム開発の
開発の工程別比率
設計工程(30%
設計工程 %)+
+製造工程(
製造工程 PG設計
設計~
単体テスト40%
%)+
+テスト工程
テスト工程(30%
全工程
%)
設計~単体テスト
工程 %) ⇒ 全工程(100%
②Rubyによる
による生産性
研修後)
による生産性(
生産性(Rails研修後
研修後)
設計工程(30%
+製造工程(40%
×1/2+
+テスト工程
×2/3 ⇒ 全工程(70%
設計工程 %)+
製造工程 %)×
テスト工程(30%
工程 %)×
全工程 %)
Ruby on Railsは
は、DBの
のテーブルを
アプリが
テーブルを定義すると
定義するとデータ
するとデータ操作用
データ操作用の
操作用のWebアプリ
アプリが簡単にできる
簡単にできる。
にできる。
テストは
テストは手順を
手順を登録すると
登録すると、
すると、自動テスト
自動テストが
テストが可能である
可能である。(
である。(障害時
。(障害時の
障害時の再テスト・
テスト・レグレッションテスト)
レグレッションテスト)
③Rubyによる
による生産性
による生産性(
生産性(開発を
開発を終えて、
えて、開発者の
開発者の感想)
感想)
設計工程(30%
+製造工程(40%
×3/4+
+テスト工程
×1/1 ⇒ 全工程(90%
設計工程 %)+
製造工程 %)×
テスト工程(30%
工程 %)×
全工程 %)
チェック処理
処理が
つのデータ
データ登録
登録に
100ステップ
ステップ程度
程度の
整合性チェック
チェックをする
をする。
・チェック
処理
が多い。1つの
データ
登録
に、100
ステップ
程度
の整合性
チェック
をする
。
・自動テスト
自動テスト機能
テスト機能は
機能は、プログラムの
プログラムの状態や
状態やデータベースの
データベースの状態が
状態が同じでなければ、
じでなければ、使えない。
えない。
短期開発では
短期開発では、
では、わざわざテスト
わざわざテスト手順
テスト手順を
手順を登録し
登録し、データを
データをバックアップする
バックアップする余裕
する余裕はない
余裕はない。
はない。
・部品化 : 設計中に
設計中に共通部品の
共通部品の洗い出し ⇒ 多くはできない。
くはできない。数個程度。
数個程度。
Railsの
件のデータを
件が部品。
Railsの組み込み部品が
部品が有効。
有効。例)20件
ータを検索表示 → 次の20件
部品。
プログラム修正
修正から
から単体
単体テスト
テストが
スムーズにできる
にできる。
・プログラム
修正
から
単体
テスト
がスムーズ
にできる
。
・基本的に
基本的に、1度限りの
度限りの開発
りの開発である
開発である。
である。繰り返しによる部品
しによる部品の
部品の充実が
充実が図れない。
れない。
COBOL開発
開発(
は、ほぼ同
開発(ホスト・
ホスト・オフコン・
オフコン・クラサバ3
クラサバ3階層)
階層)とRuby(Rails)は
ほぼ同じである。
じである。
Ruby基幹業務開発
基幹業務開発(
基幹業務開発(メンテナンス性
メンテナンス性)
前提
・基幹業務は
基幹業務は、企業活動になくてはならない
企業活動になくてはならないシステム
になくてはならないシステムであり
システムであり、
であり、変化に
変化に対応して
対応して
長い期間利用される
期間利用される。
される。ロングライフであること
ロングライフであること。
であること。
・長いシステムの
システムの利用の
利用の中では、
では、プログラムの
プログラムの担当SEが
担当 が替わり、
わり、メンテナンスが
メンテナンスが
継続して
継続して行
して行なわれる。
なわれる。誰でもメンテナンス
でもメンテナンスできること
メンテナンスできること。
できること。
管理された
管理された開発
された開発 ⇒ 可読性が
可読性が良くなる
標準化=
標準化=コーディング規約
コーディング規約を
規約を厳しく設
しく設ける。
ける。
ソースレビューの
ソースレビューの徹底(
徹底(スパゲティ状態
スパゲティ状態にならないこと
状態にならないこと)
にならないこと)
豊富な
の言語仕様を
豊富なRubyの
言語仕様を制限して
制限して利用
して利用する
利用する。
する。
Ruby:
:プログラミングのたのしさ
プログラミングのたのしさ
(プログラマーが
プログラマーが想像力豊かに
想像力豊かに、
かに、自由に
自由に組める)
める)
封印
プロジェクトチームによるものづくりの
プロジェクトチームによるものづくりの楽
によるものづくりの楽しさ
基幹業務システム
基幹業務システム構築
システム構築 by Ruby
Ruby基幹業務開発
基幹業務開発(
基幹業務開発(その他
その他のポイント)
ポイント)
①データの
データのテーブル名
テーブル名・項目名 : 日本語名称を
日本語名称を使用しない
使用しない = ソースの
ソースの可読性が
可読性が低下する
低下する
受給申請者 → jukyu-shinsei-sha
日本語サポート
とMySQLは
、Railsも
の中に、日本語
日本語サポート(
サポート(Rubyと
MySQLは単独で
単独でOK、Rails
、Railsもモデルに
モデルに事例ナシ
事例ナシ)、
ナシ)、HTMLの
)、
名称が
日本語名称”
名称が入るとエラー
るとエラーとなる
エラーとなる。
となる。 Input-id=“product_日本語名称
日本語名称 ⇒ XHTMLを
XHTMLを利用すれば
利用すればOK。
すればOK。
Railsは
はテーブル名
テーブル名:複数形、
複数形、クラスは
クラスは単数形に
単数形に自動変換する
自動変換する。
する。
例)日本語の
日本語のケース : 顧客 → 顧客s
顧客
英語の
英語のケース : Customer → Customers
②計算精度 : 固定小数点演算を
固定小数点演算をサポートしている
サポートしている。
している。
(Rubyと
とMySQLで
でDecimal属性
属性を
属性をサポート)
サポート)
小数点2
小数点2桁目を
桁目を四捨五入し
四捨五入し、小数点1
小数点1桁目までを
桁目までを求
までを求める。
める。
③データ交換
データ交換 : スペースを
スペースを詰め込む関数で
関数で対応。
対応。
レガシーや
レガシーや金融機関との
金融機関とのデータ
とのデータ交換
データ交換に
交換に固定長の
固定長のデータ形式
データ形式が
形式が必要となる
必要となる。
となる。
④Ajax :全面的に
全面的に採用した
採用した。
した。
画面の
画面の一部を
一部を書き換える処理
える処理が
処理が多い。画面の
画面のチラツキを
チラツキを押さえた使
さえた使いやすい画面
いやすい画面を
画面を実現。
実現。
⑤コーディング規約
コーディング規約 : インデント(
インデント(字下げ
字下げ)、1
)、1行の桁数80
桁数80、
80、メソッドの
メソッドのカッコを
カッコを必須、
必須、改行コード
改行コードは
コードはLF
文字列の
(シングル)、
は使用禁止、
記述 など
文字列のクォートは
クォートは‘(
シングル)、unlessは
)、
使用禁止、グローバル変数
グローバル変数の
変数の使用、
使用、SQL記述
⑥データベースの
データベースの主キー : 複合キー
複合キー (複数の
複数の項目を
項目を組み合わせたものを主
わせたものを主キーとする
キーとする)
とする)
年度+
申請者番号+
例) 年度
+申請者番号
+履歴番号
⑦オープンソースを
オープンソースを複数種類組み
複数種類組み合わせた開発
わせた開発は
開発は、初期コスト
初期コストが
コストが確実に
確実に安くなる。
くなる。但し、それぞれでバージョン
それぞれでバージョン
アップをするので
アップをするので、
をするので、要注意。
要注意。 ⇒ 実績のある
実績のある組合
のある組合わせ
組合わせ
Ruby基幹業務開発
基幹業務開発(
基幹業務開発(COBOL’
COBOL’erの
erの復活)
復活)
業種・
業種・業務ノウハウ
業務ノウハウ
・自治体の
自治体の特性
住民サービス
起算日処理が
が必要(
住民サービス ⇒ 起算日処理
必要(申請や
申請や届け出の遅れを取
れを取り戻す)
データ修正
データ修正の
修正の記録(
記録(履歴管理)
履歴管理)
フォームを
フォームを使った判
った判りやすい帳票
りやすい帳票
職員の
職員の定期的な
定期的な異動 ⇒ 他システムと
システムと同等な
同等な使い勝手
判りやすさ = 画面の
画面の階層を
階層を浅くする(
くする(細かな処理
かな処理に
処理に分けない)
けない)
= 1つの画面
つの画面が
画面が複雑になる
複雑になる(
になる(登録・
登録・訂正・
訂正・削除が
削除が1画面)
画面)
・業務の
業務の特性
医療保険や
医療保険や介護保険の
介護保険の自己負担の
自己負担の還付制度と
還付制度と類似している
類似している。
している。
法律のあいまいさ
法律のあいまいさ = 詳細な
詳細な箇所が
箇所が記載されていない
記載されていない = 厚労省との
厚労省とのQAが
との がロジック化
ロジック化
基幹業務開発:
)のノウハウが
基幹業務開発:ベテランSE(
ベテラン (COBOL’er)
ノウハウが重要
ホスト・
ホスト・オフコン
COBOL中心
中心
クラサバ
VB中心
中心、一部COBOL
一部
COBOL エンジニアの
エンジニアの復活
※レガシー:
レガシー:過去の
過去の遺産・
遺産・時代遅れ
時代遅れ
Web開発
開発
Java中心
中心
Ruby(
(Rails)
ITのトレンド
① 70~80年代
年代(
年代(昭和)
昭和) プロプライエタリィの
プロプライエタリィの時代
1ベンダ(メーカ
ベンダ メーカ)の
技術で全てが提供
てが提供される
メーカ の技術で
提供される。
される。 I・F・N・H
ハード+OS+ミドル
ミドル+言語
ハード
ミドル 言語+システム
言語 システム開発
システム開発
・・・ 高額
② 90年代
年代(
化の時代
年代(平成)
平成) OPEN化
クライアントサーバシステム(Windows・
・UNIX・
・データベース・
クライアントサーバシステム
データベース・言語)
言語
プロプライエタリィの
サンマイクロ社
オラクル社
プロプライエタリィの世界に
世界にマイクロソフト社
マイクロソフト社,サンマイクロ
サンマイクロ社,オラクル
オラクル社など
サードパーティが
サードパーティが参入し
参入し、価格破壊が
価格破壊が起こる。
こる。・・・ 低価格化
③ 2000年代
年代 オープンソースの
オープンソースの時代
LAMP(ランプ
ランプ)を
アプリの
ランプ を活用した
活用したWebアプリ
した
アプリの構築が
構築が主流となる
主流となる。
となる。
オープンソースを
、Apache、
、MySQL、
、Peal/PHP
オープンソースを代表する
代表する製品
する製品:
製品:Linux、
OS・
・ミドル・
ミドル・言語の
言語の費用が
費用がゼロに
ゼロに近くなる。
くなる。 ・・・ 無償(
無償(サポート料
サポート料あり)
あり)
但し、システム開発費
システム開発費や
開発費や運用・
運用・保守に
保守に掛かる費用
かる費用は
費用は、従来通りか
従来通りか一部低価格
りか一部低価格となる
一部低価格となる。
となる。
Rubyは
Rubyは、世界に
世界に普及した
普及したオープンソース
したオープンソースの
オープンソースの中で、唯一の
唯一の国産であり
国産であり、
であり、国の応援がある
応援がある。
がある。
2008.
2008.6.23
JRuby 開発者
チャールズ・
チャールズ・ナッター氏
ナッター氏
松江訪問
Ruby基幹業務開発
基幹業務開発を
基幹業務開発を
プレゼン
IPA's event (1)
Resident registration
system
National medical
insurance system
for family
National medical
insurance system
for age 75 and over
Return Excess of Payment System
Payment ,
qualification
Return info.
Payment ,
qualification
Return
Excess of
Payment
Return info.
Payment ,
National long term care qualification
insurance system
Service over
the counter
Resident info.
System
citizen
Consultation
Acceptance of
application
Issue the certificate
and so on
Internal process
Calculate the own
expenses
Decision of an allowance
registration of payment
Information of account
transfer and so on
Return info.
Target system
Already existing system
(Almost legacy system on main frame)
Back ground
Japanese government set new values
for payment of medical care and long
term care expenses. When total cost of
the individual payment is over the
standard, return excess of payment.
Ruby development in Enterprise System (COBOLer's revival)
COBOL programmers
they have “Many Business Skills”.
rich experience of software development, human network of end users.
But, they are older, their technology is legacy.
Enterprise system development needs Many Business Skills
Main frame
COBOL,PL/I
CSS 3 layers
main VB、partly cobol
Web application
main Java
Ruby(
(Rails)
Revival of COBOL programmers
IT makes explosion of Ruby all over the world on software development
Sunset at Lake SINJIKO in Matsue City
where Matz lives.
公開ページ :
www.tpj.co.jp
IPA公募事業成果「高額合算システム」
ITプロ
プロの
マガ
プロのWebマカ
マガジン:エンタープライズジン
今日の
今日の日記記事 ランキング 先頭に
先頭に表示
“エンタープライズ開発
のメリット”
エンタープライズ開発の
開発の現場で
現場で感じたRubyの
じた
メリット”
http://enterprisezine.jp/news/
The END