オンネット統合業務
カスタマイズとオンネット開発基盤について
※画像をクリックするとPDFファイルが開きます
「オンネット統合業務」の技術的特長
「オンネット統合業務」(以下「統合業務システム」)の考え方を実現するための技術(工夫点)について述べます。この工夫点は「OnMethod」と呼び、社内標準としています。
その範囲は大きく
- システム全体のまとめ方に関する事項
- 個々のプログラム作成に関わる事項
- システム運用に関わる事項
となっており、それぞれの事項は独立しているのではなく、相互関連しています。
全体説明図
上図「オンネット技術基盤」を参照しながらご説明します。図中のAから始まるアルファベットは、「重要技術ポイント」を示しています。吹き出し1から始まる数字は、「重要技術ポイント」の構成要素を補足説明(以下「個別説明」)しています。
重要技術ポイントを説明する前に
まずプログラムの構造について説明します。その構造を前提として重要技術ポイントを理解いただくのが良いかと考えています。
1.プログラムは、3パターンに分けて作成する
- 画面プログラム
- 画面プログラムとは主にWindowsネイティブな画面です。最近ではWEB画面、スマホアプリ画面などがあります
- バッチプログラム
- 画面を伴わないプログラムです。ほとんど当社標準ツール(SQLSequencer、後述)を利用して作成します。プログラム言語、スクリプト言語(PowerShell)でも作成します
- 帳票プログラム
- アイ・コン社の「風神レポート」を利用して作成します。データをCSVで作成すれば、高度な帳票を作成することが出来ます。直近では風神レポート帳票をクラウド側でPDF化する仕組みも標準化しています(2022.12.06現在)
2.画面プログラムは、画面表示部、業務ロジック部、DB部に分けて作成する
画面プログラムは、①画面表示部(Windows画面、WEB画面、スマホアプリ画面)から②WEBサービスを呼ぶ方式となっています。DB部は必要により、トリガー、プロシジャー記述しています。
重要技術ポイント
- A:統合業務システムDB構造
- 販売、購買、在庫などの機能が利用するDB構造です。2500項目以上の項目で成り立っています(2022.12.05現在)。このDB構造があるので新規プログラム作成する際、新規に必要な項目のみを追加すればよいのです。
- B:オンネットメニュー
- メニューには、①画面プログラムの起動、②認証、③利用ログ収集、④プログラム自動配布機能を含んでいます。画面プログラムは②認証を意識して作成しています。
- C:画面プログラム
- 画面プログラムはBのオンネットメニューから起動されます。画面プログラムは、DのWEBサービスを呼ぶ構造で作成します。
この画面プログラム作成には、プログラムのひな形(テンプレート)を用意しています。画面プログラムは、①検索一覧、②基本+明細、③明細の構造で作成しています。
- D:WEBサービス部
- 画面(Windows画面、WEB画面、スマホアプリ画面)から呼ばれる構造です。このWEBサービスは複数のプログラムから利用されるので、生産性の向上に寄与しています。通信プロトコルはHTTP、SOAP、RESTなどを利用しています。
- E:JOB管理(以下「OJM」)*Onnet Job Managerの略
- 画面を伴わないプログラム(即ちバッチプログラム)を予め定められたスケジュールで実行する仕組みです。
予め定められたスケジュールで実行するために、暦以外の複数の会社カレンダを設定することが出来ます。またフォルダにファイルが「書き込まれた、更新されたなど」で、JOBを自動実行することも出来ます。
- F:SQLSequencer(以下「SQLS」)
- 当社が開発したバッチプログラム作成ツールです。DBのSQL文を複数並べる事でバッチ処理を実現します。ただ単純実行だけでなく、条件分岐、ログ出力、重複起動制限、連絡機能などを有しています。汎用機COBOLプログラム800本を置換し、汎用機を返却した経験があります。帳票作成の際、必要なCSVデータはほとんどSQLSで作成しています。
個別説明
前項「重要技術ポイント」を、更に詳細に補足していきます。
- A①:DB項目名は日本語
- 「グローバルな時代に日本語?」という意見もあるかと思います。ただDB項目名を日本語にすると、SQL文が日本語となり、プログラムの可読性が非常に高まります。SQL文自体が仕様書の様になります。「へんてこな、英語風ローマ字表記」より項目意味が分かります。SQLServerを利用していますが、日本語でのシステム問題を経験していません。プログラムの可読性に大きく寄与しています。
- A②:自由にテーブル作成可能
- DBは維持利用契約の締結を前提に利用者側に開放しています。利用企業では、統合業務システムと自社作成機能を結びつける目的などで自由にテーブルを作成し、利用しています。
- E③:任意のプログラムをJOBスケジューラに登録可能
- バッチプログラムをOJMに登録できます。登録したJOBは予め定められた時刻に自動起動します。Windowsのタスク、LinuxのCrontabなどと同じですが、業務で必要な暦以外のカレンダを複数持てます。
またフォルダへのファイル登録、更新などの契機でも自動実行させることが可能です。販売、購買、在庫などの基幹業務では、毎日100を超えるJOBを自動実行しています。
- F④:SQLSによるバッチ処理
- 当社ではバッチ処理のほとんどをSQLSで記述しています。手続き言語のプログラム記述はほとんどありません。SQLSの記述はSQL文で構成されています。当社の経験では汎用機COBOLのほとんどは、SQLS記述で可能と考えています。汎用機での原価計算プログラム800本をSQLSで記述し③のOJMで自動実行した経験からです。DB項目名を日本語にしていますので、非常に分かりやすい定義となります。
- B⑤:プログラムの自動配信機能
- 当社の統合業務システムの多くはWindows画面で作成されています。基幹業務の場合WEB画面では、操作性にやや懸念があるためです。ただWindows画面の場合、PC側でソフトウエアのインストールが必要になります。ソフトウエアのインストールは初期登録の他に機能追加、バグ修正などで頻繁に発生します。そこでPC側のプログラムハッシュ値とサーバ側の最新ハッシュ値を比較し、必要によりPC側を自動更新する機能をメニューに装備しています。
- D⑥:DB構造からプログラム作成を支援する
- 統合業務システムのプ画面プログラムは、標準化しています(前述)。その標準化されたプログラムに対して対象DBがあります。その対象DBのテーブル情報から、プログラム内で記述するプロパティ設定などを生成するツールを作成しています。プログラム製造の完全自動化を指向するのではなく、ゆるやかに作成支援をしています。プログラムの記述方法は変化を繰り返しています。緩やかな記述支援に留めることで、柔軟に変化に対応できています。
- B⑦:メニューによる画面プログラム起動
- そもそものメニューの機能です。XMLによる定義でメニュー配置を決定します。配置されたボタンに画面プログラムを割り当てます。メニューボタン単位に利用制限(役割による)する事もできます。メニューには、ログイン(人、デバイス認証)、利用ログ取集、連絡、デバイス登録などの機能も装備しています。
- C⑧:任意の画面が作成可能
- 当社の標準環境の上に、利用者自身で業務機能を作成できます。DB構造メニュー、JOB管理などは、既に揃っていますので、容易に機能アップが出来ます。このことは利用者側に「開発環境を提供している」ことになると考えています。
- ⑨:CSVがあれば自由な帳票が作成可能
- 帳票について述べています。現在では帳票を出す場面は大きく減ったと思います。チェックリストの類は、画面で行う様になったと思います。しかし統合業務システムでは、「請求書」「納品書」「発注書」「レシート」など、取引先とのやり取り、また各社の拘りもあり紙出力する傾向があります。ただ今後、電子帳簿などへの対応があり、紙のイメージを仮想プリンタでPDF化する機能も整備しています。ここで申し上げたいことは、CSVを準備すれば風神レポート(他社技術)により、複雑な帳票を簡単に作成可能になることです。「CSVを準備すれば」の意味は、風神レポート側では位置出力に限定して利用し、集計、選択などデータに関わるものはCSV出力で準備完了としています。これまで帳票作成ツールは多くありました。プログラム組み込み型が多かったように思います。でも突然バージョンアップがあったり、供給が他社に移管されたり無くなったりしました。その時には大規模なプログラム修正を強いられました。しかしCSVにより他社技術と疎結合にしておくと、他社の事情に変化があっても対応が比較的容易に行える、と考えています。
DBからのCSV作成は、当社ツールのSQLSを用いて便利に行える仕組みとしています。
実行場所について(クラウド利用に関連して)
「オンネット統合業務」は、WindowsOS/IIS/SQLServerが稼働すればどこでも動作します。自社内サーバ(何故か世間ではオンプレミスという)、クラウド運用などどこでも動作可能です。私たちが着目しているのは、「10万円前後のクライアントPCに数十台のPCを接続しても使える」です。(ライセンス問題はあるかもしれません)。要は「極端に安価に稼働させたい」と考えています。億円の価格の汎用機やオフコン級のシステムが10万円程度のPCで動作するのは痛快です。とは言え、現状ではクラウドを推奨しています。現時点の取引先はほとんどクラウド運用(当社は現時点ではAzure採用)となっています。自社環境に比べ安価で安全と考えているからです。理由は以下の通りです。
|
自社サーバ |
クラウド |
機材購入 |
・見積もり、構成検討、発注、納入の手順とリードタイムが必要
・将来を見越して少し豪華なサーバを購入する |
クラウドポータルで直ぐに準備可能 |
機材保守料 |
必要 |
利用料に含まれている |
サーバ更新 |
・5年程度に1回の更新 ・保守切れ頃に、営業に来る ・最新機種を新規購入 |
・基本的に「ずっと使える」 ・10年程度に1回、OSのサポート切れがある ・その場合は新仮想サーバを準備してシステム移動を行い旧サーバを削除
・作業途中のみ利用料金が重複する |
オンネットからの保守支援 |
・外部から安全に接続できる環境を準備 ・現地出張 |
・全世界、どこからでも保守可能
・アクセス制限は多要素認証、IPアドレス制限などで制限 |
オンネットからの保守支援 |
・外部から安全に接続できる環境を準備 ・現地出張 |
・全世界、どこからでも保守可能
・アクセス制限は多要素認証、IPアドレス制限などで制限 |
運用費用 |
・購入金額の原価償却費 ・ハード保守量 ・電気代 |
・コンピュータサイズ、DB性能が自由に変動出来る ・夜間、休日は止められる。3割程度のコストダウン(自動化スクリプトによる) ・長期契約による契約料金低減 ・外部からの必要な時だけ電源ONが可能 ・クオータ機能による異常課金の防止 |
バックアップ |
世代バックアップ管理環境の構築 |
差分バックアップによる環境が整備されている(VMとDB) |
災害対応(冗長構成) |
自社での構築 |
必要により簡単に構成出来る |
政府調達認証 |
なし |
あり |
当社では、安全性、コスト抑制の点で、メリットを感じ、標準化の基盤としています。
モバイル端末への対応
「オンネット統合業務」の画面は、Widows画面です。Widows-PC、Widows-タブレットであれば、直ぐに動作可能です。ただ以下の端末利用(Androidスマホ、Androidハンディターミナル、iOSスマホ)についても無視できなくなっています(Apple-PCについては除外しています)。「小入力、小データ表示ではあるけれど、モバイル性で利用価値がある」と考えています。積極的に対応しています。
- 「オンネット統合業務」のデータ入出力として利用する
- WEBアプリ形式、WEB形式で対応
- 作成済みWEBサービスの再利用を指向する
技術基盤による標準化は何に役立っているか
これまで当社標準の技術基盤を説明してきました。この標準は以下の点で役立っています。
- プログラムを早く確実に作成する
- プログラム製造より業務設計に専念出来る
- 新人教育が行いやすい
- システム構築失敗のリスクが低い
- 位置と距離の制約が無い