SIEMENS × ビルドシステム共同セミナー【Mendix技術者の展望と今】
2023/11/22(水) 15:00~17:00
SIEMENS社と弊社が共同して【Mendix技術者の展望と今】というテーマで共同セミナーを開催いたしました。
本セミナーでは、Mendixを用いてローコード開発に携わる開発者様、技術者様、並びに企業全体のIT人材養成を担当されている方を対象に、Mendix開発の現状をご説明いたしました。
その時の内容を公開いたしますので、是非今後の参考にご一読ください。
目次
・セミナー概要
・ご挨拶
・開発者目線のMendix Mendix10リリースで思うこと
・開発事例ご紹介
・Mendix技術者拡大の取り組み
・Mendix新トレーニングのリリースについて
◇セミナー概要
【開催日時】
2023年11月22日(水) 15:00~
【アジェンダ】
・ご挨拶
・開発者目線のMendix Mendix10リリースで思うこと
・開発事例ご紹介
・Mendix技術者拡大の取り組み
・Mendix新トレーニングのリリースについて
◇ご挨拶
Mendix開発プロジェクトの成功のためには「ローコード技術者」の存在が欠かせない
◇開発者目線のMendix
Mendix10リリースで思うこと
こちらでは、弊社鈴木より講義しました「開発者目線のMendix Mendix10リリースで思うこと」をご紹介いたします。
↑
iPaaS(Integration Platform as a Service)もほぼLCAP(Low-Code Application Platform)と同じサイクル
↑
Ver7ではステートレスアーキテクチャに大転換
Ver8ではネイティブモバイル対応
Ver9ではワークフロー機能とPWA
↑
通常のJavaプロコードで当然のようにできることができなかったが、5年間でかなり緩和されつつある
それぞれのダウンロード先は下記リンクを参照
・Mendix Marketplace – SaferOQL
・Mendix Marketplace – HashMapUtil
・Mendix Marketplace – SlackLogger
・Mendix Marketplace – jXLSer
・Mendix Marketplace – NanoProfiler
◇開発事例ご紹介
こちらでは、NSK社の宮島様よりご講演いただきました「システム開発事例」のご紹介をいたします。
1.プロジェクトの概要
人事システムの開発事例
↑
L21環境は、アプリメモリ8G、アプリvCPU2コア、DBメモリ16GB、DBvCPU2コア、DBストレージ40GB、ファイルストレージ80GBの構成
2.業務内容(概要)と業務課題
↑
共通化する中で一番大きいのは、各都道府県ごとの給与相場や最低賃金の管理
最低賃金以下の求人募集の発生があり、これを防ぐことができる
3.迅速な開発
↑
アジャイル開発であれば2~3週間という短いスパンで成果物をリリースし、継続的に改善を行っていくが、その際に、データの持ち方の考慮不足が発生することがある
※いきなりアジャイル開発だと、データの持ち方がいびつになりがち、、、
しかし、ハイブリット開発であれば、そういった手戻りを発生させないことを目指し、スタートエンドでウォーターフォール開発で理解し、要件定義・設計作業(特にデータ設計)を行う
その後、各スプリントごとに優先順位をつけ、必要な機能から製造・スプリントレビュー・リリース作業を行う
↑
アクターとユーザーロールが1:1の関係性を持つようにした
↑
ユースケース、業務フロー、機能一覧、画面機能一覧などから必要なデータベースの設計を行う
↑
トップページについて、お知らせ情報の機能はスプリント1で開発するが、ダッシュボード表示についてはスプリント2,3でも劣後での開発を行う形に
↑
ハイブリッド開発手法の要件定義・基本設計で決定した方針、スプリント計画をベースにスプリントを回した
↑
全パターンを実施するのが非現実的であったため、ユースケースに合ったパターンとそれらに基づく可能性のあるパターンを機械的に作成
最終的には、ユースケースのメジャーパターンを選定して実施することで、信頼性、網羅性を担保
4.高速開発の為に
↑
Mendix Marketplaceは、すぐに使用できる完全なサンプルアプリと、アプリをより迅速に構築するために使用できるさまざまなコンポーネント(コネクタ、モジュール、ウィジェットなど)を含む、活気に満ちたMarketplaceとなっている
全てのコンテンツを参照し、必要なものを入手したり、開発者(自分)で作成したコンテンツを共有できる
以下↓に、利用したMarketplaceアプリのうち5つを紹介
↑
Mendix Marketplace – Excel importer
このアプリは、Mendixパブリッククラウド上で動作しており、DBの直接参照が難しい環境だったが、
このアプリを大量の初期データ投入で利用し、大活躍したアプリのひとつ
現在でも各種マスタデータの追加・更新で利用中
↑
Mendix Marketplace – Email Connector
このアプリは、ワークフローの承認者への承認依頼、申請者への承認状況の各メール送信で利用している
開発当初は「E-mail module with templates」というモジュールを利用していたが、お客様が利用しているメールサービスが基本認証からモダン認証へ移行することから、E-mail Connectorへの入れ替えを行う
現在はMendix社でもこちらの利用が推奨(標準)となっている
↑
Mendix Marketplace – AnyChart
標準で用意されているものとしては、「折れ線グラフ」「バブルチャート」「散布図」「ヒートマップ」「棒グラフ」「円グラフ」などがある
plot.lyでは、「サンキーダイアグラム」「ツリーマップ」「バイオリン図」などがある
↑
Mendix Marketplace – jXLSer
Mendix社からもプラットフォームサポートの「Excel Exporter」モジュールが提供されていたが、当プロジェクトの要件を満たしていないため、jXLSerを採用
定義済みのテンプレートを利用し、指定されたセルに指定した情報を出力することが可能となる
↑
Mendix Marketplace – NanoProfiler
パフォーマンス問題が発生した際に、このNanoProfilerを利用し、問題個所の特定を実施
軽量且つ使いやすいツールとなっている
その他複数のプロジェクトでも使用しているがお勧めできるアプリとなっている
5.機能説明
↑
募集依頼ごとにExcelファイルを作成し、その複数ファイルを手作業で取りまとめて申請承認していたものが、Mendix化することにより、取りまとめが自動化され、必要最低限のExcelファイルで運用可能となり、書類の集約負担が大きく低減された
また、手作業の取りまとめ時に発生した記載や記入漏れなどが無くなったことから、それに起因していた発注ミスも大幅減となった
↑
ログイン直後にダッシュボード画面が表示される
現在使用者(承認者)について承認待ちが何件あるのか、BI情報には当月何件対応したのかなどの表示が可能となっている
また、承認待ち件数を検索一覧画面へのリンクとすることで、承認業務への迅速なアクセスが可能となっている
↑
革新性、承認者で取り扱う申請のみを初期表示とすることで、現時点で確認をしないとならない申請のみを一覧化している
上位承認者には一括して処理を行う機能も提供している
また、類似画面で全データを参照可能な一覧機能、募集依頼中の申請を確認可能な一覧も別途提供している
↑
前述の一覧画面より詳細画面へ進むことで、革新性の承認履歴が参照可能
これにより、関係者が相互に申請がどのような状況であるのか可視化でき、滞留ポイントが明確になることで、効率的な募集依頼から募集完了が実行可能に
6.開発者ポータルの活用
↑
アプリ導入から数か月経過後に、CPUやメモリ使用率でのアラートが発生
NanoProfilerなどを利用して、原因箇所を特定
右図のように、ループ処理が多く組まれており、見た目通りパフォーマンスが悪かった
こちらは、JavaActionを利用し、SQLを直接発行する形に変更
数十秒かかっていた処理を数秒レベルまで改善
7.開発Versionの変遷
↑
当プロジェクトは、8.17.1で開発をスタート
その後、LTSバージョンである8.18.11へバージョンアップ
1年が経過し、メール返信モジュール入替を実施するために、8.18.19⇒8.18.22へ段階的にバージョンアップを行う
安定稼働しており、その時にはバージョンアップは考慮していなかったがメール送信モジュール(E-mail Connector)の要求バージョンを満たしておらず、急遽バージョンアップすることとなった
Studio Proバージョンアップ時には、リリースノートを確認し影響があるかどうかの確認と、念のための動作検証を行った
Marketplaceアプリでは、利用しているjarファイルを削除するなどの対処が必要(これはMendixのドキュメントサイトにも記載済み)
なお、最新のStudio Pro10では、Gradleを利用する形でuserlibの強豪対策がされるようになっている
8.今後に向けて
9.プロジェクトに参画しての感想
その他、別件の開発事例
以下は、過去の事例をまとめてご紹介いたします。
◇Mendix技術者拡大の取り組み
こちらでは、SIEMENS社のLazar様より講演しました「今後のMendix技術者拡大のための取り組み」内容をご紹介します。
①Mendixは、すべての苦悩を解決する特効薬ではない
組織の中でMendixの使い方を理解している人は組織内の人材
⇒ Mendixはもっと未来的な開発をしていけるようにしたい
Mendixに対してアイディアを作る方とアイディアを開発する人が連携出来ればトランスインフォメーションすることができる
②Mendixの使い方を理解している人は、4つのレベルに分類される
Rapid Developer :基礎を理解し、シンプルな機能を構築できる
Intermediate Developer:実際のプロジェクトやApp Factory構築、支援メンバーになれる
Advanced Developer :プロジェクトやアプリ工場をリードする準備が整っている
Expert Developer :Mendixのエコシステムを熟知している
③Mendixは、誰にでもアプリ開発の近道を提供する、最も汎用性の高いローコードプラットフォーム
⇒ 開発経験ない場合でも勉強をすればIntermediate Developerレベルには早くて6weekでなれる
開発経験があればMendixをマスターできる時間をさらに短縮できる
④スタートからスケールへ迅速に進むためには、適切な人材に適切なタイミングで、適切なコースを提供することが重要
⑤Mendixアカデミー Mendixコミュニティの成長に向けた日本での取り組み
・Rapid Developer試験無料
・Mendix Portal のアップデート
・日本での公式Intermediateトレーニング
・Intermediate試験の改善
1,400人以上のパイオニア開発者からなる活発な日本のMendixコミュニティを認証する
⑤ビルドシステムについて
・日本国内で50%以上の開発者トレーニングをビルドシステム行っている
◇Mendix新トレーニングのリリースについて
こちらでは、弊社新川より講演しました「Mendix新トレーニング【Mendix Intermediate ブートキャンプ(仮)】のリリース」についてご紹介いたします。
・Mendixの良し悪し、生きた情報を現在お伝えできているのはビルドシステムだけだと考えている
・Mendixだから何でもできるというわけではないが、Mendixがあることによってバリューを出せる
・コーポレートとして、貴重なデータを正確に扱うためのアプリ作成となると、プロコードに匹敵するようなものが作れていく仕組化が重要になっていく
・今後アプリ作成の需要がどんどん増えると考えている
・どうやって経験の浅い技術者をアプリ作成に参画させれるか、ローコード技術者が上手くコアになって開発できるかの体制づくりが必要
・会社に合ったアプリケーションの作り方使い方を整理する、そこから人を増やしていきクオリティ高いアプリケーション作成になる
Mendix Intermediate ブートキャンプ(仮)
背景:Intermediate Developerの増加が日本でのMendix発展のキーになっている
今後どれだけ日本に技術者を作れるかが課題
〇莫大なデータをどう使うか、莫大なデータを取り込んで何かを表現していくストーリーで構成予定
・開催要項:時間 9:00~17:00
環境 クラスルーム又はWEBでのトレーニング
Mendix Studio Proインストール済みのPC
・開催予定:2024年3月より、月に1~2回
・応募条件:Mendix Rapid Developer 資格を有する方
・トレーニング費用:1名10万円(予定)
以上が、講演でございました。
講演の内容について、またMendix Intermediate ブートキャンプ(仮)について疑問点や質問などがございましたら、お気軽にこちらまでお問い合わせください。