見出し画像

NetSuiteのカスタマイズ・開発に必要な情報系の知識(1)

こんにちは!
コグラフ株式会社NetSuite事業部の しぶや と申します!
今回はNetSuiteのカスタマイズ・開発をするのに必要な情報系の知識についてつらつらと書いていこうと思います。

1.プログラミング言語の基礎知識

以前の記事の繰り返しになりますが、NetSuiteはSuiteScriptという言語でカスタマイズが可能と書きました。そして、実際に開発を行う際には、JavaScriptについて、基本構文や変数、制御フローなどの理解は必須です。

開発の一例として、外部システムの連携を想定してみます。
例)購買データを取引先の外部システムへ送信

上記の例の場合、送信データの抽出条件やデータ変換が必要かどうか、データ変換の際のレイアウトなどの要件を定義します。
その際に必要になるJavaScriptの知識とはなんでしょうか?

まず、データ型の知識が必要です。
送信データを作成する際に、1つ1つの項目が数値型なのか文字列なのかだったり、ファイルの形式がXMLなのか、CSVなのか、JSONなのか、はたまた別の特殊な形式だったりするのかを知り、それをJavaScript - SuiteScriptで作成できるのかを判断できる必要があります。

さらに、変数宣言の方法とデータの処理フローの知識が必要です。
例えば、「var」「const」「let」の変数宣言の方法がありますが、どれを使うか判断できる必要があります。
その変数に格納されるデータが上書きされてもよいのかどうかでどれを使用すべきかが変わります。
また、複数のデータに対して同じ処理を行う際には、どのようにデータをループするのかを判断する必要があります。

そして、どのようにJavaScriptを実行するのかの知識が必要になります。
いつそのjsファイルは実行されるのか?実行される場所は?といったことを理解する必要があります。

2.Web開発の基本概念

そこでWeb開発の知識が必要になります。
しかし、Web開発の知識というととても広範です。
NetSuite開発で必要な知識は、一般的なWeb開発とは異なり、HTMLやCSSなどの知識は必要ありません。

ブラウザとサーバーの基本的な動作を理解していれば問題ありません。

ブラウザで動作するjsとサーバーで動作するjsの違いとはなんでしょうか?
・ブラウザで動作するjsの目的:UI的な要素での処理。例)入力した値のチェックや画面のボタン操作など。
・サーバーで動作するjsの目的:データベース処理やファイル操作などのサーバー上での処理(バックエンドのロジック)。

3.データベースの基本知識

サーバーで動作するjsを作成する際には、データベースの知識が必要になります。しかし、NetSuiteの開発ではデータベースの知識、ひいてはSQLの知識が必要になるかと問われるとそうではありません。

SuiteScriptにはデータベースからデータを取得するためのモジュールが用意されており、そのモジュールに従いオブジェクトを作成することでデータベースの操作が可能になります。

SQLにおけるテーブルJOINやWHEREも考慮されているモジュールになっているので、SQLというよりはJavaScriptの延長線上としてデータベース操作が可能です。

ここまでのまとめ

Web開発の基本概念やデータベースの知識はNetSuiteで開発をするという目的で考えると広範な知識がすべて要求されるかというとそうではないことを説明しました。

もちろん、Web系の知識とデータベースの知識をしっかり持っておくのがベストですが、未経験の人や開発経験の浅い人でそれらを完璧に理解している人はまれだと思います。

NetSuiteではピンポイントでの知識があれば開発業務をこなせるので、未経験からでもIT業界へ入る入口としてはハードルが低いのではないかと考えています。

今、コグラフ株式会社NetSuite事業部では、一緒に働く仲間を募集しておりますので、この記事を読んで少しでも、この事業部の仕事に少しでも興味があったら、カジュアルにお話しましょう!
応募するか否かはお話を聞いてからでも大丈夫です!