2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

「レガシー」を保守したり、刷新したりするにあたり得られた知見・ノウハウ・苦労話 by Works Human IntelligenceAdvent Calendar 2022

Day 18

VisualBasic ベースの測定データ収集管理システムをIoT化してリプレイス

Last updated at Posted at 2022-12-31

レガシーシステム

VisualBasic の時代

MS-Windows が実用になった MS-Windows3.1 と共に、Visual Basic 2.0 が 1992年にお目見えしました。

その後1997年に VB5.0 1998 年に VB6 が出荷されました。

image.png
出典:https://hu.wikipedia.org/wiki/F%C3%A1jl:Illusztr%C3%A1ci%C3%B3_VisualBasic6_1.png

当時はGUIで作ることが一般化できるということで革命的に迎えられ、VisualBasic でフリーソフトが花盛りになりました。

1990年代当時は「笑って、お仕事」のキャッチフレーズでMS-WindowsがPRされ、今では DX となっている概念と同様、当時はビジネスユーザが自分でプログラムを組むということが期待されていました。

Microsoft Access

この当時にはやった Access は、VisualBasic と同様に画面設計ができていて、データベースが扱えました。しかしながら本格的なものを作るとなると職人的なスキルが要求されるものでした。

レガシーシステム

  • アクセスベースのDBがあり、
  • 測定機器で測定→測定結果をICカードで収集、
  • ICカードを回収し DB に書き込み、
  • 年度更新

これが20年程度動いてました。

さすがにつぎはぎ!

データ収集

収集方法は測定機器から RS-232C 通信で Windows で取得、IC カードに書き込んでました。

DB連動

VisualBasic5 → VisualBasic6 → VBA

Microsoft Access → SQL Server → SQL Server

問題

?問題

  • 検索が、わけがわからない
  • プリンタドライバの問題で、ソートに影響が出るとか
  • ユーザが作ったバージョンが乱立して分けがわからない

レガシーによる問題

  • ODBC
  • 32ビット
  • カードリーダのOLEが対応しなくなる
  • カードも FeliCa

要件

  • SQL でスカッと検索
  • Webアプリケーション
  • エンドユーザもプログラムのロジックがわかる
  • 計測器はRS-232Cで接続

DB

MySQLにリプレイスしたいなあ!

カードリーダーを作成

MyFare,FeliCa 対応のカードリーダをカードリーダーを3種類開発

  • 作成、IoTで測定
  • サーバ機能
  • HID カードリーダー機能

Web

途中から、 XoJo 2020 に変わったため PHP に変更
帳票システムは LibreOffice で。

完成 !

なんとか、できました。

一部の要素機能はこちらでご紹介しています。

帳票出力

LibreOffice でテンプレートを作ったものから PDF が出力できるシステムを作りました。

https://qiita.com/nanbuwks/items/d4696542760cf4b8a24a
https://qiita.com/nanbuwks/items/8ea939ad497fec29c069
https://qiita.com/nanbuwks/items/f11e4e3aabac33f9a32b

Xojo

VisualBasic 5/6 に変わって簡単なレイアウト変更だとユーザができるものとして Xojo を用いました。

https://qiita.com/nanbuwks/items/4743756186060c3c3d20
https://qiita.com/nanbuwks/items/615a929babca8986e634
https://qiita.com/nanbuwks/items/055bcc55ed2bf848bc0e

IC カードとの連携

MiFare / FeliCa に対応した IoT リーダーとして作成。

https://qiita.com/nanbuwks/items/48ac619d21839e261a93
https://qiita.com/nanbuwks/items/1f416d6e45a87250ee0a

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?