見出し画像

[NetSuite VS SAP]カスタム/アドオン開発の流れの違い

NetSuiteとSAPは、両方とも企業がビジネスプロセスを管理するためのソフトウェアプラットフォームです。それぞれ企業にシステム導入をする際には、カスタム開発を行う必要があります。カスタム開発の流れにはNetSuiteとSAPではいくつかの違いがあります。

開発の流れ:NetSuiteとSAPの共通点

要件定義/設計

どちらのパッケージであっても、ユーザー企業の業務を分析し、ビジネス要件を抽出します。
そのビジネス要件を受けて、システムでどのように実現するかという観点から要件定義を行います。

要件定義を行ったのちに、NetSuiteやSAPの「標準」から外れている要件については、カスタム/アドオン開発を行うという流れになります。
(アドオン(Add-on)とは、後付けということで標準に機能を追加することからアドオンと呼ばれることが多いと思います。)

実際にエンジニアに開発を行うために、基本設計や詳細設計といった設計作業を行います。
それぞれの設計について、どの程度のものを用意するかといった粒度は案件毎で異なること多いです。

開発とテスト

エンジニアが実際に開発を行った際には、実際に機能が想定通りに作動するかどうかテストをする必要があります。

NetSuiteでは、SuiteScriptという言語を使用し、
SAPではABAPという言語を使用する、
といった違いはありますが、どちらについてもテストが不必要となることはありません。

テストは
1. 単純な動作の確認
2. システム間や機能間での不都合がないかのテスト
3. 実際に使用するユーザーに受け入れてもらうためのテスト
と様々な観点からテストを行います。

テストで問題がなくなれば、実際に本番環境に配置できるようになります。

NetSuiteとSAPの相違点

開発環境

NetSuiteの開発環境は、Web開発の現場のように手元のローカルPCに環境構築し、Gitでバージョン管理を行います。またエディターとして、個人的にはVSCodeを推しています。拡張機能で、SuiteScriptに対応したチェックができるのはとてもありがたいです。
実際には、SuiteScriptが動作するのはNetSuite上のみなので、動作確認をするのにも開発環境にスクリプトをデプロイする必要があります。

SAPでの開発は、主にSAP-GUIで行います。
(ほかにもFioriの開発では、エディターとしてEclipseを使用したりもします。)
SAP-GUIでは、明示的にバージョン管理を行う必要がなく、またGitなどの別途管理する必要がありません。
実際に動作を確認するためには、クラシックな開発の場面ではSAPの専用の開発画面で、コードの文法チェックおよび有効化のボタンを押すのみで、プログラムを実行することができます。

ただ、Fioriの開発では、テストであっても、テスト環境へのデプロイ作業が必要になります。

デプロイメントプロセス

もちろん、NetSuiteとSAPは別のシステムなので、デプロイメントまでのプロセスは違ってきます。しかし、この2つのシステムはWeb開発と比べて、独特のデプロイメントプロセスがあります。

NetSuiteにスクリプトをアップロードし、そのスクリプトについてサービスとなる機能をデプロイするという流れです。
こちらの実際の作業としては、通常のWeb開発では、サーバーでコマンドを実行するのでしょうが、NetSuiteでは画面に出てくるボタンを押すだけです。

SAPでは、まず開発環境・検証環境・本番環境のそれぞれを用意し、開発環境でははっきりと別の環境として扱います。実際には、それぞれの環境を分けたクライアントを用意し、それぞれの役割の用途以外では使用しないようにルールを設定します。
そのそれぞれのクライアントで、開発やテスト、実際の本番運用などを行います。

本番環境への適応までのプロセスとしては、以下のようになります。

1. 開発環境での開発・テスト
2.移送(開発→検証)
3.検証環境でのテスト
4.移送(検証→本番)
5.本番環境での動作

NetSuiteはクラウドで完結しているということ、SAPはオンプレも可能であるということの差異がここに現れているかと思います。
SAPはオンプレミスでの開発も可能ですが、その分考慮しなければならないことも増えます。そして、それぞれ環境を構築するまでにも時間を要する一方で、NetSuiteは、比較的短期間で稼働まで行くことができます。

まとめ

ここまでNetSuiteとSAPの開発の流れについて比較してきました。
実際にERPを導入検討している企業様やITコンサルタントやエンジニアの方のキャリア形成の参考になるような記事となっていれば幸いです。