ソリューション・ラボ・ジャパンでは、年に2回、社員が主体となって技術発表会を開催しています。この発表会では、システム開発事例や最新のテクノロジーに関する知識を共有し、全社的な技術力の向上を目指しています。
今回実施した発表会では、8チームが参加し、それぞれの技術やプロジェクトに関する発表を行いました。
各発表後には会場だけではなく、zoomからも活発な質疑応答が行われ、熱い議論が繰り広げられました。
参加者全員が多くの学びを得ることができ、非常に充実した内容となりました。引き続き社員一同、さらなる技術向上を目指して取り組んでまいります。
当日のプログラム
- IBM i RiSING ~若手技術者コミュニティ~
- 仕様書を読むだけでOK~テスト自動化の新境地~
- zLinux構築現場でのAnsible活用と技術検証
- 社内資料×AIで業務の日々を変える! ~オンプレAIによるRAG実践~
- LANSAとCreate!Formの連携を用いた帳票印刷システムについて
- Mendixによるローコード開発との遭遇
- IBM i(RPG) × WebAPI連携ツール検証
※機密保護等の観点から一部の発表内容は社外への公開を控えさせていただいております。ご了承ください。
発表内容
IBM i RiSING ~若手技術者コミュニティ~
第1サービス事業部 Y.I 入社2年目 20代 エンジニア
今回は技術発表会の場を借りて、今年度参加させていただきました日本IBM様主催によるIBM i RiSINGの成果報告を行いました。
本イベントにて、私は入社2年目の若手だったのですがリーダーという大役に任命していただき、約半年間活動しました。
活動内容としては、チームでの研究活動とその内容をまとめての最終発表の2つとなり、私が所属していたチームは【初心者による初心者に向けた「RPG Ⅲ」と「RPG Ⅳ」】というテーマを掲げ、若手RPG技術者のための知識を得ることができる環境構築が必要であるという問題に対して研究活動を行いました。
リーダーとしては、普段の業務でまだ経験のないチーム活動のスケジューリングや普段のミーティングでのファシリテーターといった仕事を行わせていただき、とても大きな経験をさせていただきました。
今回の技術発表会では、研究活動の成果発表となった最終発表の資料を基に研究を行った内容についてと、追加でIBM i RiSINGの中で関わらせていただいたメーカーの方やベンダーの方といった様々な環境で普段仕事をされている方との交流で学んだ知識を盛り込み発表を行わせていただきました。
仕様書を読むだけでOK~テスト自動化の新境地~
第3サービス事業部 S.H 入社3年目 20代 エンジニア
今回の発表では、前回発表したテスト自動化を仕様書の読み込みのみで実装を行うというものでした。前回のおさらいをすると、生成AIでの業務効率化に限度があることから、Pythonの自動化ライブラリに目をつけて、実業務で扱うテストでどれほどの時間短縮(効率化)が実現できたかというものでした。今回の概要は、Excelで作成した仕様書を、VBAや関数を使って自動化の動きを選択できるようにしたため、感覚的にコードを生成できるツールとなっています。
また、前回課題に挙げていた仕様書の読み込みで自動化を実現すること、Exe化によってPytohn環境のない方でも実行できること、Wikiにて知見共有すること、生成AIを活かすことを達成できているかどうかのチェックを行いました。Exe化に関しては、話し合いののち、仕様書ツールを第三者に使用していただきフィードバックをもらうという目標に変更致しました。
今後の課題として、PHP以外のブラウザ環境ツールにも適用できる汎用性を持たせること、仕様書のUIを改善すること(見やすく、わかりやすくする)が挙げられます。いかに使っていただく方が感覚的に操作しやすいかを追究したUI画面に改良を行っていく予定です。
今後もPythonや生成AIに関する技術を高めていき、機会があれば技術発表会のような場で成果をご報告できるように励んで参ります。
zLinux構築現場でのAnsible活用と技術検証
第2サービス事業部 K.K 30代 エンジニア
Ansibleを導入ツールとして使用する際の工夫と今後の展望について
第2サービス事業部 第3サービス部では、主にLinux・UNIX基盤の構築~保守サポートの業務にあたっています。
OSSであるLinuxは、日々新たなサービスやツールが更新されていきます。
今回取り上げた「Ansible」は、Red Hat Enterprise Linuxに同梱されたパッケージで無料で使用することができ、構築や保守作業の効率化に非常に有用なツールです。多種多様な実行モジュール、様々なクライアントに対応したコネクションモジュールを備えており、これまで手作業で行っていた作業のほとんどをそのまま置き換えることができるほどの柔軟性を持っています。
zLinuxサーバーの構築現場では、これまで手作業やスクリプトで行っていた構築手順をAnsiblePlaybook で置き換え、合計100台を超える仮想サーバーの構築作業を効率的に行うことができました。
実際に使用してみてAnsibleを最大限に活用するには、準備段階で統一化したルール(追加変更にどのように対処するか、ネットワーク環境変化への対応など)や、マクロなどの再現性の高いツールを作成することが不可欠だと感じました。
また、構築では一度切りの実行も多く、Ansibleの特徴である「冪等性」を十分に発揮できたとは思えません。今後は、運用保守における様々なクライアントの処理をAnsibleに統合することや、Ansibleを使用することによる運用ステップの削減などクライアントに合わせたAnsibleの活用ポイントを社内で検討していこうと考えています。
社内資料×AIで業務の日々を変える! ~オンプレAIによるRAG実践~
第3サービス事業部 S.O 入社5年目 30代 エンジニア
まとめ
《 実施事項 》
①LLMをローカルで稼働
②「RAG」というアーキティクチャを構築
⇒任意のドキュメントを予め読み込ませ、質問解答してくれるAIチャットアプリを作成
③既存AIサービスの共有
《 結論 》
①社内/業務情報をAI活用するのにRAGは効果的
・精度向上が難所
②オンプレは全く必須ではない、しかし下記のとき有用
・心理的抵抗が拭えない(特に先方)
・AI活用アイディアの簡単な技術検証・効果見込み
③AIに「責任」はとれない
・最終チェックや押印は人間が行う(技術と業務理解度にはますますの重要性)
・間違った出力をする可能性を考えて設計する
《 既存サービスの共有 》
RAGが容易に導入できるAIチャットツール
①Gaixer ※無料使用可(モデル制限のみ)
https://www.gaixer.com/ja-jp/
②Lightblue
https://www.gaixer.com/ja-jp/
(以下、各項目概要)
実現したいこと
安全に、社内情報をAIに質問する。(任意の情報を対応範囲に含めた、セキュアなAIチャットアプリを実装する)
現状の課題と解決案
①AIが未学習の情報には対応不可
⇒「RAG」の実装(ドキュメントを用意し、LLMに検索させる)
②機密データの漏洩リスクが0でない(利用するAIサービスに依存)
⇒オンプレの構築(ローカル/社内環境でLLMを動作させる)
RAGの概要
「RAG」とは、AIが情報を学習せず、検索する手法。
開発者があらかじめ検索したい情報を用意し、AIがプロンプトを受けたとき、そこから検索された情報を用いて回答を生成する。
作成したAIアプリ概要
AIチャットボットアプリ(ユーザが社内規則について質問し、回答させる)
○主要構成要素 ※ここでは詳細は割愛し、ツール等の共有までとします
・ Dify(https://dify.tdse.jp/)
AIアプリ制作ツール
・Ollama
LLM稼働ツール
Python(LangChain)で実装するより圧倒的に実装が楽。しかしレスポンスがかなり遅くなる
・ELYZA(Llama-3-ELYZA-JP-8B)
回答を生成するメインのLLM
処理が軽く、そこそこの精度が出しやすい
・R1 (cyberagent/DeepSeek-R1-Distill-Qwen-32B-Japanese)
回答を生成するメインのLLM
DeepSeekで使用されているLLMに、Cyberagent社が日本語で追加学習したもの
日本語には未だかなり弱い印象だが、プロンプトの研究次第で高精度が出せるか?
・(ベクトルDB)
Dify内のものを使用(外部DBの使用も可)
chromaDB等、実用できるオープンソースのDBも存在(Difyを使用しない場合はこちら)
・Ruri
埋め込みモデル(embeddingモデル)
テキストのベクトル化を実行するモデル
・Docker
Difyを作動させるための仮想環境を構築
○精度への影響度(感覚値)
ドキュメント内容 >>>>> 回答生成を担うLLM > 回答生成のシステムプロンプト > 埋め込みモデル
《番外》AIにできないこと
AIに「責任」はとれない(≒AIは、人間の気持ちの落としどころにはなれない)
最終チェック・押印は人間が担う必要性がある
⇒知識・業務理解の重要性はより高まる
間違った出力をする可能性を考えて設計
⇒「ユーザ回答の草案」までを作成する
⇒○○なときは、××に連絡してください
《番外》自社へのAI導入について
①具体的な課題に対するアプローチでなければ、定着は見込めない
情報共有やTipsによる業務改善は実際ほぼうまくいかない
② 下記該当メンバーが、自ら調査する必要があると強く感じる
・PJの「全体像」「具体的な課題」が見えている
・トップダウンで、ある程度の強制力をもって導入を遂行できる
⇒この方々(売上、PJ遂行のコアメンバー)の多忙な業務を緩めてでも「新技術調査」に充てるか?という分岐
③自社開発はコストパフォーマンスが悪い
⇒調査/開発/研究している間にそれらが不要になる技術が出現する
④他社サービスを利用する際は下記を要確認
精度:実データで構築・検証しなければ判断できない(RAG) ⇒ 保障/サポートがあるか
効果:仮説込みでも用途を具体化し、納得感のある費用対効果を見込めるか
セキュリティ:扱う情報(プロンプト含む)が、「外部のモデルに学習されない(orアクセスされない)」「外部に保管されない(orアクセスされない)」
LANSAとCreate!Formの連携を用いた帳票印刷システムについて
第4サービス事業部 R.O 入社2年目 20代 エンジニア/N.H 入社1年目 20代 エンジニア
5250画面で動作している基幹システムをWEBにモダナイゼーションするプロジェクトを行った際に、
帳票作成ツールとして使用したCreate!Formについて、その導入事例を発表いたしました。
1.Create!Formについて
Create!Formは、システム開発の帳票設計において早くて簡単にデザインすることができ、PDFやHTML生成など、運用業務に合わせたフォーマットで出力する帳票作成ツールです。
また、IBMiでのCreate!Formを活用することによって、PDFのプレビュー印刷する場合は指定したプリンターでのページ指定印刷が可能です。(事前設定が必要)
以上のことから、ペーパーレス化やコスト削減などの業務改善効果が得られます。
2.LANSAとCreate!Formの連携事例のご紹介
LANSAで作成した基幹システムから、Create!Formで作成した帳票を出力する仕組みを実装した際の導入事例をご紹介します。
画面上の流れは以下の通りです。
- 画面上の帳票発行ボタンをクリック
- プレビュー画面が表示
- プレビュー画面上の発行ボタンをクリックすると、近くのプリンターに帳票が出力される
IBMiのQNTCという技術を利用し、LANSAから発行したcsvとCreate!Formで作成したPDFのサーバー間のやり取りを可能にし、また同じくIBMiのADDLINKという機能を利用して、別サーバーに格納されているPDFへのアクセスを可能にしました。
3.LANSA・Create!Formで苦労した点
最後に、LANSA・Create!Formで苦労した点やそこから反省点や課題を述べました。
LANSAから出力するcsvとCreate!Formで使用できる文字コードの違いによる文字化け問題や、Create!Form
という新たな技術に対して不足している知識の収集・共有方法の模索など、多くの問題点がありました。
今回出てきた問題と反省点は今後に生かしていければいいと思います。
Mendixによるローコード開発との遭遇
ビジネスソリューション事業部 R.M 入社4年目 20代 エンジニア
近年DX化およびローコード開発の機運が高まる中、SLJがMendixなるローコード開発ツールを用いたプロジェクトに携わり始めてからおよそ1年半ほど経過いたしました。まだまだSLJ内部で"Mendix"というワードは浸透しておらず、知らない方も多いと思われます。
故に、今回は技術発表会という場で、Mendixの説明および事例紹介をさせていただきました。
Mendixは、オランダに本拠地を持つSiemens社が提供するローコード開発ツールであり、いわゆるアジャイル開発でのプロジェクトが推奨されるスクラップ&ビルドなツールです。
Mendixではスクラムと呼ばれるアジャイル形式が推奨されていて、これはPMが不在となる代わりに人員をオーナー、スクラムマスター、開発者の3つに分けて実施します。このメンバーでどのタスクをいつまでに実施するかの"スプリント"を作成し、約2~4週間ほどで1サイクルを回します。
メンバーは互いに協力して近い距離感で一丸となって作業に取り組む(=スクラムを組む)のが大きな特徴です。
Mendixツールの特徴として、作成した画面の実機確認までが早いことと、DBが内部実装されているため外部DBに頼らずともデータを入力し動作させられる点が挙げられます。このため、実際に作成してから動作確認までのステップが早く進み、円滑な開発に繋がります。Mendixでモック画面を作成して実現可能性を検討してから、次のステップへ進むといった使い方も可能であり、ユーザの使い方次第で様々に応用して扱うこともできるのが長所です。
上記機能を使えるまでに必要な期間は、簡単な画面作成までなら1~2週間ほどとなり、比較的低コストで操作可能となります。このためプログラム経験の無い人でも短期間で使い方を学び、自分の求める機能に対してアプローチをすることも実現できます。
SLJ活用例ではMendixを使ってT社様のレガシーによる基幹システムを再構築するプロジェクトに携わりました。他会社様がMendixでの再構築を選んだ縁でSLJもMendixへ関わることとなり、基幹システムのローコード開発ツールによる構築には困難な道程もありましたが、まずは本稼働まで漕ぎつけつつあります。実際に業務場面でMendixを利用してみると便利な側面だけでなく、適さない状況や、むやみに使いすぎてはいけない機能の知見も多く得られて、ローコード開発の良い面・悪い面のどちらも吸収しながら進めていくことができました。
今回の技術発表会を通じて、Mendixの紹介とSLJで実際にどのような利用をされたかを説明させていただきました。まだまだSLJでは未成熟なツールであるため、今後興味を持ってくれる人が増えていき、さらなる業務への活用をできる事を祈って結びとさせていただきます。
IBM i(RPG) × WebAPI連携ツール検証
第1サービス事業部 T.S 入社19年目 50代 エンジニア/A.K 入社13年目 30代 エンジニア/T.I 入社6年目 30代 エンジニア/A.M 入社2年目 20代 エンジニア
SLJでは、WebAPIの仕組みを使って基幹システムとデータ連携するようなシステム開発を過去に何度か経験したことがありましたが、WebAPIとRPGの両方に知識があるエンジニアでないと対応が難しい場面が多くありました。
RPG技術者がWebAPIを用いてデータ連携を行えるようになると、お客様からの要望にも応えやすくなるのと同時に、RPG技術者の対応領域を広げることができます。
今回、私たちのチームではIBM i で利用できるWebAPI連携ツールを2つ用いて次の2つの観点で調査・検証を行いました。
- 「RPG技術者がWebAPI開発を行う時に使いやすいツールはどちらか」
- 「技術的な観点において、良いツールはどちらか」
今回の検証では、有償ツールとIBM i OS標準機能として使用できる
「統合Webサービスサーバー(以下:IWSサーバー)」の2つを用いることにしました。
実際の作業においては、次の点を前提に開発と検証を実施しました。
- IBM i はWebAPIのサーバーとして構成する(検証環境の統一)
- ビジネスロジックはRPG言語にて、単一DBに対するCRUD処理を実装する(再利用性の検証)
- どちらのツールからも同じRPGプログラムを実行する(ツールパフォーマンス検証)
検証作業を終えて、次のような結果が得られました。
全ての内容は記載しませんが、概要としては次の通りです。
(RPG技術者の評価)
・WebAPIを知らない中で実施したが、簡単な事前知識の習得でAPI設定を行う事ができた
・開発したRPGプログラムは普段開発しているプログラムと変わらなかった
・APIサーバーの設定については、IWSより有償ツールのほうが直感的でわかりやすい
(技術的観点での評価)
・IWSサーバーは2025年現在、無償で利用可能でAPI実行パフォーマンスが非常に高い
RPGデータタイプのサポートも豊富、APIパラメーター定義が自動化されている
一方で、設定画面UIがわかりにくく初心者には難しい
・有償ツールは、API実行時のCPU使用率が高くなりやすくIWSと比べるとパフォーマンスが高くない
画面UIが整理されていて初心者でも扱いやすい
設定画面からAPIプログラムのテスト実行が可能
APIパラメーター定義を手動で行う必要がある
今回の条件での作業を通して、IBM i がWebAPIサーバーとして構成した場合はパフォーマンス、無償利用可能、RPGデータタイプサポートの豊富さなどから総合的に考えてIWSサーバーが優れているのではないかという評価を行いました。
今後の展望としては、IBM i (RPG) がWebAPIを実行するクライアントとなった時(RPGからパブリックAPIを実行した場合を想定)どのような結果になるのか、来期以降検証が行えたら良いなと考えています。
IBM i RiSING ~若手技術者コミュニティ~
今回は技術発表会という貴重な場を借りて、今年度参加させていただいたIBM i RiSINGでの成果報告をさせていただきました。
普段の業務では得ることの難しい貴重な経験をさせていただけたため、そこでの成長できた点や今後に生かしたい点を交えて成果報告とさせていただきました。
今後も外部の方との交流を行い自分の知識や経験を増やし、成長を続けられるよう精進していきたいと思います。
第1サービス事業部
Y.I 入社2年目 エンジニア
仕様書を読むだけでOK~テスト自動化の新境地~
今回は前回に引き続きテスト自動化の発表をしましたが、仕様書の作り込み部分が多かったため、すべてを説明することが難しく、要点だけ選び取る必要がありました。特に、汎用性強化を主張するにあたって、時間短縮という前回のテーマとは少し変化をつけることになりました。
少し小難しい話をしてしまいましたが、このわかりにくさが、現在最も課題としている箇所であるため、引き続きテスト自動化の質を上げられるよう努めて参ります。
第3サービス事業部
S.H 入社3年目 20代 エンジニア
zLinux構築現場でのAnsible活用と技術検証
初めて技術発表会で発表しましたが、久しぶりの本社に思いのほか緊張しました。
普段は同じ分野の方々とばかり話をしているので、どこまで深堀した話をしていいか資料の粒度に悩みました。資料を作っていて、反省や次の課題などが見えてきていい振り返りのきっかけにもなりました。
次回は、若手メンバー中心にやってもらいます。
第2サービス事業部
K.K 30代 エンジニア
社内資料×AIで業務の日々を変える! ~オンプレAIによるRAG実践~
好奇心のまま、数年AIのキャッチアップに意気込みました。
が、一方で、派手なだけのニュースや謎のインフルエンサーの過度な煽りに、辟易している部分もあります。
そもそも我々や周りの方が豊かに生活できていれば、それ以上はないはずなので、変に煽られず、過度に心配にさせられず何かに困り、業務がつらく長いと感じたときに「AI」に期待すれば、それで十分なのかなと思っています。
その案を1つをシェアするために、今回はお話させて頂きました。
第3サービス事業部
S.O 入社5年目 30代 エンジニア
LANSAとCreate!Formの連携を用いた帳票印刷システムについて
周りの方に助けていただきながら資料を作成し、発表を通じて言葉と図にすることで、今まで自分たちが取り組んできた作業の振り返りにもなりました。
思った通りにうまくいったこともあれば、反省点や課題も見つかったので、今後に活かせればと思います。
第4サービス事業部
R.O 入社2年目 20代 エンジニア
N.H 入社1年目 20代 エンジニア
Mendixによるローコード開発との遭遇
今回の技術発表会を通して、新しいツールでの開発を皆さんへ伝えることができました。
まだ実績の乏しい分野への挑戦は二の足を踏みがちで、それ故に何ができて何をしたのかを先駆者として皆さんへお披露目できて良かったです。
今後もこのような場で新規の知見が出てくることを楽しみにして、益々活発になることを願います。
ビジネスソリューション事業部
R.M 入社4年目 20代 エンジニア
IBM i(RPG) × WebAPI連携ツール検証
IBMiにはAPIサーバーとしての機能が標準で備わっており、それが実運用に耐えうるものだということが、ある程度検証できたと思う。
また、今回若手に開発を行ってもらうにあたり、チュートリアル的なドキュメントを多数作成したが、それらをもとに新しい研修内容を考えていきたいと思う。
今回APIというRPGと違う仕組みを作成してみましたが実際に今までの経験も生かせそうなので今後も取り組みを続けていければいいと思います。
今回、本活動に若手技術者として参加させていただきました。
初心者、RPG技術者からの目線で各ツールの違いというものを皆様にお伝えすることができたかなと感じています。
第1サービス事業部
T.S 入社19年目 50代 エンジニア
A.K 入社13年目 30代 エンジニア
T.I 入社6年目 30代 エンジニア
A.M 入社2年目 20代 エンジニア