株式会社電業
本社:大阪府東大阪市
創立:1919年
設立:1939年
資本金:9800万円
売上高:26億2000万円
従業員数:115名
概要:鉄道用電車線金具の製造・販売
電業は鉄道用電車線金具(鉄道の架線を支持・吊下する金具)を製造・販売している。大正8年の創業以来、電車線金具の総合専門メーカーとして発展してきた。JR7社、民鉄各社、各都市交通局および鉄道電化専門の工事会社など、国内外の電化鉄道路線に利用されている。また電車線金具のノウハウを活かし、電車線の検測機器の製作やコンサルタント業務も展開している。
1人のシステム管理者の入社で
内製の開発体制へ転換
電業は1990年代にIBM iを導入し、販売管理、生産指示、財務・給与の各システムをRPG Ⅲで独自に開発・運用してきた。
システム全般を担当するのは、総務部に所属する竹本伸明氏である。IBM i上で稼働する基幹システムの開発・保守はもちろん、PCサーバーやネットワークなどインフラ系の管理、また最近ではコロナ禍への対応策として利用機会が増えたzoomの管理などもすべて1人で担っている。
システムの導入・開発・保守・運用は、竹本氏の経験と力量に負うところが大きい。IBM iのユーザー企業では珍しくない、いわゆる「ひとり情シス」であるが、竹本氏は以前の職務経験からRPGはもちろん、Windows系やUNIX系の言語スキルにも精通している点が大きな強みである。
「もともとは大手ITベンダーのソフトウェア会社にカスタマーエンジニアとして入社したのち、ソフトウェア関連部署へ異動しました。そこで多種多様なOS、開発言語、ミドルウェアの開発に携わりました。RPG ⅢとILE RPGはもちろん、COBOL、C、Visual Basic、.NET、Perl、Java、Pythonなど、開発経験のある言語は多岐に渡ります。勤務していた最後の時期には全国のSEに向けた技術支援部隊に所属し、講師も勤めていました」(竹本氏)
電業に転職したのは約10年前。それまで同社にはITの専任者は存在せず、既存アプリケーションの保守・管理をはじめ、新規システムの開発・導入などIT業務のほとんどを外部ベンダーに委託する状態であった。
しかし竹本氏の入社を機に、それまでの外注を中心にした体制から、システムの内製化に向けて大きく舵を切ることになった。
竹本氏が2013年に入社した当初は、RPG Ⅲで開発された既存アプリケーションの保守が業務の中心であったが、次第に現場からの要求をシステムに反映する独自の開発に着手するようになったという。
外注ゼロ、そしてツールの導入もゼロで、ツールやソリューションの導入あるいはアプリケーションの開発・保守に関するコストを削減する。それとともに、現場のニーズをいち早く察知し、業務をより効率化する使い方をシステム側で考え、現場にわかりやすく説明する。内製化への転換は、これらを狙いにした経営側の判断によるものであった。
IBM i関連の内製化事例は、短期間でのプログラム作成から、1年近くに及ぶ大掛かりな開発まで多種多様である。
たとえば、(1)Excelデータの出力、(2)配送会社への送り状のレーザープリンタ出力、(3)IBM iのスプールファイルをPDFで出力、(4)IBM iのDBサーバー化、(5)自動倉庫とIBM iの直接連携、(6)手形印刷の出力など(図表1)。
いずれのケースでも、ツールやソリューションは導入していない。OSの基本機能とプログラム開発、ミドルウェアの知識などをうまく活用して実現している。IBM i のOSの知識が必要であることは言うまでもないが、RPGだけでなく、VB.NETやJava、PHPなどオープン系言語のスキルを駆使している点は竹本氏のキャリアと経験を活かした成果と言えるだろう。
IBM iのDBと自動倉庫システムの
直接連携を内製で実現
この中の大がかりな開発事例として、「自動倉庫とIBM iの直接連携」がある。
同社では2019年、旧来倉庫の老朽化対策として、新たな自動倉庫を竣工させた。このときにオープン系サーバーで稼働する自動倉庫システムを導入したが、メーカーからはIBM i側と自動倉庫システム側で別々のDBを運用する、すなわちDBが2系統になるとの提案を受けた。
在庫管理DBを二重化すると、品名マスタや在庫データの送受信、それに伴う外字変換などが必要となる。基幹側のDBでは入出庫する棚や商品名・商品数などを含めた精度の高い在庫管理を運用していたが、自動倉庫システム側では送受信時点のデータが反映されるため、リアルタイムには在庫情報を管理できない。
そこで検討の末、最終的には在庫管理の二重化を廃止し、IBM iのDBと自動倉庫システムの直接連携を実現することになった。TCP/IPソケット通信で両者を連携し、IBM i側から入出庫する棚とステーションを指定する。在庫管理はIBM i側でのみ実施し、自動倉庫システムでは制御のみを実行する。この仕組みであれば、リアルタイムな在庫DBを自動倉庫側でも利用でき、外字変換も不要。なにか不具合が発生しても、障害の切り分けが容易になる。
ただし、外部にこの直接連携プログラムの作成を依頼すると、高額な開発コストが発生すると判明したため、竹本氏が自作することになった。
ソケット通信プログラムはILE RPGで作成し、UNIX API(PASE環境)を呼び出す。
「以前にC言語を使って同種のソケット通信プログラムを作成したことがあるので、その経験を活かせました。変数に多少の違いはあるものの、ILE RPGでもC言語でも、内容は大きく変わらない印象です」(竹本氏)
また直接連携の開発に際しては、「棚卸しモード」も作成した。棚卸しモード時に入出庫処理を実行しようとするとエラーメッセージを表示して、処理を実行不可にしている(棚卸しモードは一時停止が可能)。
作成したプログラム本数は、ILE RPGが43本、CLが約15本。日常業務との並行作業であったため、開発期間は約1年を要した。IBM iとの直接連携は2021年12月にスタートしている。これまでのところ、TCP/IPソケット通信を含めて問題なく稼働している。
これにより、以前に比べると出庫指示から自動倉庫が動き始めるまでの時間が格段に速くなったという。また棚卸し作業も楽に、かつ正確に実施できるようになったと現場からは好評を博している。
「それまでのアプリケーション開発・保守はすべてRPG Ⅲを使っていましたが、このときに初めてILE RPGを使用しました。いろいろな関数を便利に使えることがわかり、以降の開発・保守ではILE RPGを優先して利用しています。設計内容や開発要件を定義していた当時はIBM iで使えるAPIの情報が不足していたため、UNIX APIを使用しましたが、IBM iにしろUNIXにしろ、今後はAPIを使用することで多様なシステム連携を実現できると実感できたことも、大きな収穫の1つでした」(竹本氏)
アプリケーション改修のリクエストは日々寄せられており、2023年秋にはIBM PowerとOSのリプレースも控えている。
竹本氏はこれからも新たなスキル習得や情報収集に努力しながら、「ひとり情シス」を担う戦力として、IT業務を継続していくようだ。
[i Magazine 2023 Summer(2023年8月)掲載]