株式会社関電システムズ様(以下、関電システムズ)では、データ連携処理の共通化やマスターデータの統合を目的としてノーコードで開発できるデータ連携ツール「ASTERIA Warp」を導入しています。ノーコードツールは開発フェーズで生産性向上に寄与するだけでなく、保守フェーズでの品質確保にも有効です。今回は開発と保守の2つのフェーズにおいて役立つ機能や工夫しているポイントを関電システムズ 今井様からご紹介いただきました。
目次
大阪に本社を構える関電システムズでは、関西電力の情報システムの開発、運用保守、IT活用推進を行い、電力業務を支えている多彩なシステムに携わっています。新技術の調査、研究活用からシステム化の構想や提案、要件定義、開発、運用までを一気通貫で担います。
ASTERIA Warpを活用している総務部社内システムグループの業務は社内システムの開発、運用保守が中心です。既存システムの維持運用だけでなく、新しい技術を活かした社内システムの高度化に向けて取り組んでいます。
社内システムの老朽化が進み、段階的にシステムを刷新することになりました。2020年度、1次開発として実施したのが売上管理システムの再構築です。再構築にあたり、データを連携する周辺システムの開発において、「開発生産性向上」と「将来の保守性向上」を実現するためASTERIA Warpの導入を検討しました。
データ連携機能の開発について、Javaでプログラミングした場合とASTERIA Warpを活用した場合の開発工数を比較したところ、ASTERIA Warpによる開発では工数を約30%削減することができました。また、技術者の力量に依存せずに開発できるというメリットもあります。
スライドの比較表をみると③,④で大きく工数が削減できていることがわかります。工数が削減できた理由をASTERIA Warpの機能を紹介しながら具体的に解説していきます。
まずは、「③データの内容チェック処理」について紹介します。
これまでのJava開発によるデータチェックでは、スライドに記載しているとおり処理が複雑になりがちで、技術者の力量によって品質や生産性に差異が生じていました。
ASTERIA Warpでは、入出力データのマッピングを行うためのMapperコンポーネントが用意されています。Mapperコンポーネントを用いることで、入力チェックとエラーメッセージのセットを行うだけというシンプルな構造になりました。
実際の入力データチェック処理は図のようになっています。処理が可視化され、条件を間違えたときも修正箇所の特定が容易です。マウス操作で線をつなぐだけで、非常に簡単にデータをマッピングできるため生産性向上を図ることができます。また、項目ごとにレイヤーを分けて設定することで処理内容の簡素化を実現しました。
テストフェーズにおいては、マッピングシミュレータ機能を使うと便利です。テスト用の値をセットし実行すると瞬時に出力結果が表示されるため、迅速にテストを実施できます。
開発を行う中で気がついた注意点もご紹介します。
ASTERIA Warpでは、アイコン化されたコンポーネントを並べることで連携処理を設定するため、処理の流れ自体は画面上で一目で確認することができます。ところが、各コンポーネントの設定値は1つずつコンポーネントをクリックしてプロパティを確認する必要があり、瞬時に把握することは難しいためレビュー時に見落としが発生しないように注意が必要です。
なお、後半で紹介する仕様書出力機能を使うとクリックせずにすべての設定が確認できるので便利です。
続いて、「④DB登録・更新」について紹介します。
従来はSQL文でコーディングするためタイプミスが発生しテスト工数が増加するという傾向がありました。ASTERIA Warpの場合、GUIで設定可能なため、タイプミスがなくなりテスト工数増加を防ぐことができます。
注意点としては、データベース更新(InsertやUpdate)の場合、用意されているコンポーネント内部のSQL文を確認する機能がないため、万が一実行エラーが発生した際はサポートへの問い合わせが必要となる点です。
なお、SELECT文に関してはSQLビルダーにて自動生成されたSQL文を確認することができます。
現在の社内ステムは密結合の状態になっており、売上管理システムに改修や障害、停止が生じた場合は複数システムに対してそれぞれソースコードや設計書を確認する必要があるため、影響調査漏れが発生する可能性がありました。
データ連携基盤を設けて疎結合化することで影響システムの把握が容易となり影響調査漏れを防止することができます。また、データ連携処理の簡素化ができているため短時間で修正できます。
それでは、保守フェーズで役立つ機能を紹介します。
まず紹介するのは「比較ツール」です。変更内容が確認できるため本番リリース後のデグレードを防止できます。
変更前のプロジェクトと変更後のプロジェクトを読み込ませると、変更があったフロー及びコンポーネントが識別できるように表示されるため変更点が容易にわかります。
注意点としては、差分の詳細情報を把握するためには、変更点を確認後、コンポーネントの設定を確認する必要があります。
続いて、仕様書について紹介します。
単純な文書保管として利用する以外にも、影響調査において非常に便利な機能があります。
例えば、接続するデータベースごとにフローを一覧表示する機能を使えば、データベースに障害が発生した際の影響範囲を瞬時に把握することができます。
このような機能を使うことで、影響調査漏れを防止するとともに、調査工数を削減することもできます。
開発・保守を行う上で上記のスライドのとおり有効利用できる機能が多数あることが実感できたので、今後もASTERIA Warpを利用したデータ連携処理の疎結合化を進めていきます。
――今回、データ連携部分にノーコードツールを採用されたわけですが、ツール選定時から運用保守のしやすさも評価されていましたか?
いいえ、そこは製品選定段階では評価が難しい部分でもあるので…。最初はデータ連携ツールの市場調査を行い、導入実績No.1であるASTERIA Warpを基準に製品評価を行いました。ASTERIA Warpはライセンス費用も保守費用も安価なうえに使いやすい印象をうけました。
――ASTERIA Warp採用理由についてお聞かせください。工数削減効果は理解できましたが、開発者の要員確保という点においてはプログラミング言語(Javaなど)での開発の方が市場からの要員確保が容易と思いますが、採用に当たり議論にならなかったのでしょうか?
今回はデータ連携基盤をつくるという大きな目的があったので、データ連携ツールを使うということを前提で話を進めていました。今後技術者の人数が少なくなってきたとしても、ある程度のプログラミングスキルがあればシステムの維持運用ができるようにということも考慮しています。
――今回のような保守性の高いフローを作成するにあたりパートナー企業からどの程度コンサルティングを受けたのでしょうか?
まず、コンサルティングは2回受けていて、1つは基本機能の理解を目的として、もう1つは応用編でパフォーマンス向上につながる機能やサーバー運用時に必要な設定パラメーターの理解を進めました。また、当社はバージョン管理システムでSubversionを使用しているのでASTERIA WarpでのSubversionの設定方法なども教えていただきました。その後、それらの知識を元に開発マニュアルを作成し運用しています。開発を進めていくと不明点が出てくることもあるので、その都度パートナー企業に質問して作り方を学んでいきました。
ASTERIA Warpとプログラミング言語(Java)の開発工数の比較から、役立つ機能・注意点まで具体的な事例を元にお話いただきました。仕様書出力機能は文書保管だけでなく影響調査にも活用できるとは目から鱗です!
より詳細な内容はセミナー動画でご覧いただけます!
ASTERIA Warpのプリセールや体験セミナー講師を担当しつつ技術から営業スキルまで、上司の下で日々勉強中の通称”ナガタ”です。
Related Posts
ASTERIA Warp製品の技術情報やTips、また情報交換の場として「ADNフォーラム」をご用意しています。
アステリア製品デベロッパー同士をつなげ、技術情報の共有やちょっとしたの疑問解決の場とすることを目的としたコミュニティです。