カスタマイズとインターフェース

カスタマイズとインターフェース


ERPが標準的に備えている機能で、すべての業務ニーズを満たすことが理想ですが、現実的にはなかなか難しいといえます。そこで、ERPにはカスタマイズ(アドオンとも呼ばれます)機能が含まれていることが必要です。

ほとんどのERPには、カスタマイズ機能が存在しますが、その内容は千差万別です。従って、適切なクラウドERPを選択するためには、必要と思われるカスタマイズの内容とカスタマイズを行うリソースのスキルレベルの両面から、自社に適切なカスタマイズ機能をもっているかどうかを検討する必要があります。

GUIによる簡易カスタマイズ

自社の業務に精通した一般社員が自らカスタマイズを行うことができれば、時間的にもコスト的にも理想的です。しかし、IT専門知識を持たない一般社員がカスタマイズを行うためには、プログラミングを必要としないGUIベースの開発環境が必要です。

多くのERPには非IT技術者向けのGUIベースの開発環境が備わっていますが、カスタマイズを行える範囲は様々です。GUIベースの開発環境についてポイントとなる機能は以下のとおりです。

入力フォームの変更:既存の入力フォームに満足できない時には、レイアウトや入力方法を変更する必要があります。たとえば、自由文字列での入力フィールドをリストから選択するように変更したり、英数字のみを受け付けるフィールドを数字のみを受け付けるように変更したりといった柔軟な変更ができる必要があります。

フィールドの追加:既存の入力フォームに新たに入力フィールドを追加したい場合には、ERPのテーブルにフィールドを追加し、そのフィールドに対応した入力フィールドを追加できる機能が必要です。

名称の変更:ERPにもともと設定されているテーブルの名称や、テーブルのフィールド名称がわかりづらい場合は、それらの名称を変更できる機能が必要です。その際、実際のテーブルやフィールドの名称を変えてしまうと、他の機能に影響を与える可能性があります。

内部的な名称と、表示される名称が別々に管理されていれば、表示される名称のみを変更することで影響を最小範囲に抑えることができます。

フォームとテーブルの追加:既存の入力フォームにない新たな入力フォームを追加するためにはフォームだけではなく、入力データを格納するためのテーブルを作成する必要があります。クラウドERPでは、このテーブルはオブジェクトと呼ばれることがよくあります。また、単にテーブルを作成するだけではなく、入力フォームと連動させて伝票入力のような機能を実現するためには、マスターテーブルとの関係づけ(リレーションの作成)も必要になります。テーブル(オブジェクト)の作成やマスターテーブルとの関係づけ(リレーションの作成)が非IT技術者でも行えるかどうかは重要なポイントです。

出力フォームの変更・追加:入力済みデータの確認や社内業務フロー上での閲覧に利用される出力フォームには様々な形式が求められます。また、このようなフォームはクラウドERP導入後も随時変更・追加が求められます。したがって、この機能は一般社員が可能な限り簡単に操作できることが求められます。一方で、外部の取引先とやりとりされるフォーム(受発注書、請求書など)の場合は、高度な品質が求められます。しかし、これらの高品質なフォームの作成は、クラウド環境では専用Saasとしてたくさんのサービスが提供されていますので、このような外部サービスとERPの間のインターフェースを開発して利用することがもっとも効率的です。インターフェースの開発機能については後で解説します。

分析レポート:ERPに蓄積されたデータを様々な角度から加工・分析することは重要です。しかし、このような機能には、高い操作性と高度な分析機能が要求されるためカスタマイズの範囲では対応できません。分析レポートについては、BI(ビジネスインテリジェンス)と呼ばれる別の機能分野として比較検討する必要があります。

プログラム言語によるカスタマイズ

複雑な条件分岐や例外処理を必要とするカスタマイズや、大量のデータを一括で更新するバッチ処理などは、GUIによる簡易カスタマイズでは対応できないケースがあります。このような処理を実現するためには、プログラム言語によるカスタマイズ環境が必要です。ここでポイントとなるのは、カスタマイズに利用できるプログラム言語の種類です。大別すると、2つのパターンに分かれます。

ERP独自言語を使用する:そのERPにしか使用できない独自の言語でないとカスタマイズできない場合があります。このパターンの代表的な例として、SAPのABAP言語があります。独自言語はそのERPを対象とした最適化が行われていますので、慣れてしまえば高い生産性を得ることができる可能性があります。しかし、このような特殊なプログラム言語のスキルを持つ開発技術者の数は、Javaのような標準的な言語に比べて圧倒的に少ないのが現実です。また、社内のIT技術者に修得させるにはコストがかかります。いずれにせよ、独自言語を使用するパターンは、カスタマイズの量が増大した際に、予想外のコストがかかるリスクがあります。

標準的な言語を拡張したものを使用する:Javaのような標準的な言語をベースとして、そのERP特有の機能を追加したものがカスタマイズ言語として提供されている場合があります。このパターンの代表的な例として、NetSuiteのSuiteScript(Java言語ベース)があります。標準言語をベースとしている場合、社内のIT技術者が拡張部分を修得するコストは、独自言語を新たに修得するよりは大幅にコストを抑えることができます。また、外部リソースとして調達する場合も、標準言語の技術者を調達することは極めて容易です。

デバッグ環境

クラウドERPのカスタマイズ機能を検討する際に見落としがちなポイントがデバッグ環境です。オンプレミスとはことなり、マルチテナント型クラウドで提供されるERPでは一般的に開発用のPC上でしかデバッグ環境が提供されていません。しかし、このような環境では実環境での動作をテストすることが難しくなります。クラウド上の実行環境に対してwebベースでリアルタイムに、直接対話しながらデバッグできる環境が理想的です。このような環境を備えたクラウドERPは、そうでないサービスに比べてテストフェーズでの生産性がはるかに優れています。

カスタマイズのデプロイ(展開)

クラウドERPのカスタマイズの際、デバッグが終了したプログラムを実行環境にロードしユーザーに開放する作業が必要になります。この作業のことをデプロイ(展開)と呼びます。このデプロイ作業がGUIベースで非IT技術者でも実施可能かどうかも重要なポイントです。もし、この作業に特定のクラウドERPの技術者が必要であるとすると、せっかくカスタマイズ・プログラムの開発コストを抑制しても、デプロイの際に外部リソースの調達やスキル修得に思わぬコストがかかってしまうリスクがあります。

インターフェースの開発

クラウド環境のメリットを活かすためには、高品質なフォームの出力などに代表される専用Saasをインターフェースを通じて利用することが重要です。また、既存のオンプレミスシステムからのデータの移行などに際しても、このインターフェースを通じてデータをロードすることになります。インターフェース開発機能には以下のようなポイントがあります。

インターフェース・プロトコル:外部システムとの連携に用いられるプロトコルは、業界標準のものである必要があります。現時点では、Simple Object Access Protocol(SOAP)とWebサービスAPIがそれにあたります。

開発言語:カスタマイズに使用する言語と同様に、インターフェース開発言語についても標準言語を使用することが一般的です。JavaやMicrosoft .NETなど、SOAP標準規格に対応しているプログラミング言語が使用できることが必要です。

エラー処理:インタフェース・プログラムは通信を含みますので、複雑なエラー処理に対応できる仕組みが必要です。SOAPメッセージ構造を扱えることはもちろんのこと、エラーコードを使用した包括的なエラー処理機能を持っていることが必要です。

No.1 クラウドERP
ソフトウェア

お問い合わせ(opens in a new tab)
営業担当者とチャット

NetSuiteにご関心をお持ちですか?

チャットを開始