ユニケージ開発手法とは
ユニケージ開発手法とは、シェルスクリプトとテキストファイルだけで企業の基幹システムをやすく、はやく、やわらかく開発できる、日本発のシステム開発手法です。近年、大規模な企業の基幹システムやシステム内製化の手法として採用が進んでいます。( 導入事例:http://www.usp-lab.com/works.html )
シェルスクリプトは40年以上前からある、ベーシックで入門者向きのスクリプト言語です。シェルスクリプトにおいては、簡単な「コマンド」を順次記述してプログラムを記述します。例えば、2つのテキストファイル "file1" "file2" の先頭10行と末尾10行をそれぞれ取り出し、その結果を横に連結し、さらにその結果できあがったファイルを行単位にソートする、といった一連の処理を行うのに、
head file1 > work1 # file1 の先頭10行を取り出す tail file2 > work2 # file2 の末尾10行を取り出す paste -d' ' work1 work2 > work3 # 2つのファイルを横に連結する sort work3 # ファイルを行単位にソートする
と記述します。シェルスクリプトはこのように、「~する」というデータ処理の基本的な要素に対応したコマンドを順番に記述するだけのプログラムです。
ユニケージ開発手法においては、企業のシステムを構築するのに必要な基本「コマンド」群(usp Tukubai)を開発・提供しています。例えば、「usp Tukubai」コマンドを使って、販売データを部門毎に集計し、エクセルデータをつくるには、次のように記述します。
join1 key=2 GENKA HANBAI | # 販売データと商品原価ファイルを結合 join1 key=2 BUMON - | # さらに商品部門ファイルを結合 lcalc '$3,$6,$7,$7-$4*$6' | # 部門、売数、売上、粗利を計算 msort -p4 key=1 | # 部門コードでソート sm2 1 1 2 4 | # 部門単位に、売数、売上、粗利を集計 sm5 1 1 2 5 | # 部門全合計行を付加 lcalc '$0,100*$5/$4' | # 粗利率を計算 marume 6.1 | # 粗利率を小数点1桁に四捨五入 cjoin2 key=1 BUMON_NAME | # 部門名称を付加 divsen 3 4 5 | # 売数、売上、粗利を1000単位にする divsen 4 5 | # 売上、粗利については100万単位にする wexcel a1 ExcelBook.xls - > Result.xls # エクセルシートにデータをはめ込む
join1 lcalc sm2 sm5 marume cjoin2 divsen wexcel などが 「usp Tukubai」 コマンドになります。「usp Tukubai」のコマンド でよく使用されるのはせいぜい40個くらいで、覚えるのにさほど時間はかかりません。
上記の例で、各コマンド行を結ぶ、「|」は「パイプ」と呼ばれ、前コマンドの結果出力を次コマンドの入力に結びつけるUNIXの基本機能の一つです。
パイプで連結されたコマンド群は並列起動されます。処理されるデータは「バケツリレー」的に次々にコマンドに送られ、処理されていきます。
シェルスクリプトにおいては、このような簡単な記述で、結果的に処理効率の高い「マルチスレッドプログラミング」を実現します。上記のプログラムで300万件の販売データをデスクトップパソコンで動かすと処理時間がたった5秒です。