2023年7月20日

オフショア開発による 基幹システム(Blazor)について

再春館システムベトナムの堀です。
昨年度携わっていたプロジェクト の一部のご紹介などを踏まえ、再春館システムベトナムの基幹システム開発についてご紹介させて頂きます。

目次

Contents

1. 基幹システムとは?

はじめに、基幹システムというものについて、皆さんはご存じでしょうか?
「基幹システム」という言葉は知っていても、曖昧な知識ではないでしょうか。
基幹システムとは、企業が保有するヒト・モノ・カネといった経営資源を一元管理するシステムです。
企業活動における主要業務を管理し、安定かつ円滑に業務を遂行するために欠かせないシステムと言えます。

この基幹システムには、主に2つの種類があります。

・財務・人事・販売など、個別に専用化されたシステム
・統合されたパッケージで一括管理が可能な基幹システム

従来は、財務・人事・販売など、基幹業務ごとに専用化されたシステムを自社独自にカスタマイズして利用するのが一般的でした。
しかし、こういった従来の古い基幹システムや社内独自仕様に開発された基幹システムの場合、周辺システムとの接続が難しく、情報が分断されてしまうといった課題があります。
また、老朽化が進むことで「最新のセキュリティ対策に対応できない」、「近年の効率化されたインターフェースと比較して運用保守にコストを要する」といった課題も見受けられます。
こうした課題を解消するのが、環境変化に柔軟に対応しやすい新しい基幹システムとなります。
現在の基幹システムは、財務・人事・販売などのさまざまな業務機能が統合されており、部署ごとに点在していたデータを横断して活用できるようになります。

 

2. Blazorとは

Blazorとは、Microsoftより2018年にリリースされた、オープンソースフレームワークになります。
具体的には、 C#とHTMLを使用してアプリを作成する事が可能となります。

https://dotnet.microsoft.com/ja-jp/apps/aspnet/web-apps/blazor

Blazor WebAssembly は、WASM とも呼ばれ、Webブラウザーで実行されるソフトウェアを作成するためにW3C (World Wide Web Consortium) によって開発された標準です。
JavaScript とは異なり、Blazor WebAssemblyは、CPU 上でネイティブに近い速度で実行されるコンパイル済みソフトウェアです。Blazor WebAssemblyプログラムは、 Cなどの他の言語で記述でき、WebAssembly バイトコードにコンパイルできます。
WebAssembly は、JavaScriptを置き換えることを意図したものではなく、できるだけ高速に実行する必要のあるプログラム (またはプログラムの一部)に対してJavaScript と一緒に実行することを目的としています。

Microsoft によってサポートされている Blazor は、JavaScript の代わりに.NETと C# を使用してシングルページアプリを構築するためのオープン ソースのクライアント Web UIフレームワークです。
Blazor は、Web アプリケーションをホストするためにサポートされている2つの方法を提供します。
(Blazor ServerとBlazor WebAssemblyです)

Blazor WebAssemblyの利点は、C#で開発してきた開発者がクライアント・サーバサイドのどちらも開発する事が可能で、最終的な保守運用時やメンテナンスのし易さなどが挙げられ、その点からプロジェクトに採用した経緯があります。
(昨今、技術者確保の難しい日本の場合は人材確保の点でも利点となります。)

本プロジェクトは着手期間が長く、着手時は Blazor v5.0 だったものを、リリース時には v6.0に移行する対応が必要となりましたが、大きな弊害も無く移行できました。
※現段階の最新版は v7.0 です。

Microsoftのロードマップとしては、年に1度のバージョンアップ予定で、奇数版はバグフィックスがメインで偶数版が安定版としてリリースするとのアナウンスが有ったと記憶しております。

 

3. 基幹システム ✕ Blazor

このプロジェクトでは、販売・会計業務の併合システムを開発しました。
動作環境などは、Blazorで作成したクライアント・サーバー双方をAWS上に配置し、Windows、iPad の両方に専用WebView機能を搭載したアプリケーションも作成することで、アクセスを行う構成で構築致しました。
※WebView機能を.NET MUIで実装

AWSの機能ではCognito、Parameter Store、S3 などの各種機能も使い、可能な限りお客様のご要望に沿った形で対応させて頂きました。

◆NET MUI
https://learn.microsoft.com/ja-jp/dotnet/maui/what-is-maui

◆Cognito
https://aws.amazon.com/jp/cognito/

◆Parameter Store
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/systems-manager-parameter-store.html

◆S3
https://aws.amazon.com/jp/s3/

プロジェクトの開発期間は長期的な内容で、要求/要件定義、詳細設計を日本側で行い、お客様とのレビューを幾度も行うことで各画面・機能の内容を詰め、その開発をオフショアで対応させて頂きました。
また、開発方法としてアジャイル開発で行っていた為、どうしても途中の仕様変更や仕様バグなど、機能・画面単位での微調整が多々ありました。
対応に時間を要する内容の場合には工数増加が問題となり、着地点を調整する事など様々な課題が有りましたが、お客様と1つ1つ丁寧に内容の精査・ご相談をさせて頂くことで解決を図ってまいりました。

そして先日、無事にサービスリリースを迎えることが出来ました。
このように課題の1つ1つに対して真摯に向き合い、お客様と相談しながら一緒に解決に向かっていける点も、再春館システムならびに再春館システムベトナムの強みだと考えています。

 

4. まとめ

弊社では最新の技術の取り込みにはアンテナを張り、お客様の実現したい内容を限りなく満たすためのご提案が出来るよう心掛けております。
オフショア開発とは言わず、まずはどの様な提案をしてくれるのだろう?と興味本位(見積)でも構いませんので、再春館システム・再春館システムベトナムにご相談いただければと思います。

記事: T.H

再春館システムのオフショア開発サービスはこちら