EC-CUBE?MakeShop?スクラッチ開発?

要件や運営方法から考える最適なECサイト構築の選択とは ?

#エンジニアブログ

新型コロナウイルス感染拡大の影響もあり、開発案件の増加が見込めるEC市場。第一回目は「ECサイト構築のイロハ」についてご紹介しました。第二回目となる今回は、ECサイトを構築する際の方法・アプローチについて、それぞれの特徴や代表的なサービス、実際の開発における具体的な注意点など、EC開発においてエンジニアが持つべき前提知識を包括的にご紹介します。

 

以下の4つの開発方法について、エンジニアの視点も交えつつ、比較してみましょう。

 

 

■MakeShopなどクラウドサービス(ASPサービス)の利用

ECサイトとして構築済みの機能をインターネット経由で利用するサービスです。

コストや手間をかけずに用意することができる反面、多くの制約があります。

【代表的なサービス】

・MakeShop for クラウド

・カラーミーショップ

・BASE

・futureshop

 

◼️マッチする要件

金額面、開発面での工数が一番少ないため、「事業規模の小さいブランド/サービス」や「EC事業を試験的に始めてみたい」、「この商品をできるだけ早く売り始めたい事情がある」というケースには、まず検討の第一候補となるでしょう。自社チームの人数やクライアント企業の担当者の人数が少ない場合も多く、手軽に始められ運用負担が少ないことが重要なポイントとなります。

 

◼️開発における注意点

手軽に始められる反面、デザインの制限や機能的な制約があります。販売する商品やサービスの特性・販売方法、運営の事情などの要件を事前に細かく把握し、対応する機能が存在しているかなど、要件の実現方法について確認した上で構築に進む必要があります。

 

◼️エンジニアに求められるスキル

基本的には全てのシステムが完成されているので、htmlやCSSなど、主にはフロントエンド側のスキルがあれば対応可能です。プログラミングという観点では、エンジニアが直接的に関わる領域は多くありませんが、要件とデザイン的/機能的制約との両方を見極め、プロジェクトとしての落とし穴が無いかについて、適切な判断ができると、チーム内や発注先からの信頼が厚くなっていくでしょう。

 

 

■EC-CUBEなどのオープンソースの利用

一般向けに無償で公開されているソフトウェアであり、ECサイト構築の技術さえあれば誰でも利用することができ、比較的安価に非常に自由度の高い構築が可能です。

【代表的なサービス】

・EC-CUBE

・magento(世界シェア1位のオープンソースECパッケージ)

・WordPress+WelCart(プラグイン)

 

◼️マッチする要件

ASPサービスでは機能的に要件を満たせない場合や、売り上げが伸びてきて、販売方法の多様化や業務効率改善を目的とした自動化、外部システムとの連携等、事業拡大に向けてさらにサイトを整えていきたい場合には、より拡張性の高いプラットフォームへと移行することになります。その場合は、オープンソースでの構築か、パッケージ化されたサービスかの選択になってくるでしょう。

オープンソースは自由度の高さを優先したい案件に非常にマッチします。デザイン面でも、機能面でも、外部システム連携面でも、多様なプラグインが用意されており、スクラッチ開発ほどの費用をかけなくても、思い描く理想のECサイトを構築することが可能です。

 

開発における注意点

自由度が非常に高く、費用も比較的抑えられるという特徴は、非常に魅力的で、理想的な開発方法にも思えますが、構築にはいくつかの注意点が必要です。

 

<オープンソースの仕様が企業のレギュレーションに沿っているか>

無償で公開されていることがそもそも企業ルールやポリシーとしてNGなケースがありますので、確認が必要です。オープンソースの活用という概念とセキュリティに対する懸念を、クライアント企業、社内の上層部に適切に説明しておくことが重要です。

<バージョン管理とセキュリティへの配慮>

バージョン管理を開発/運営側で行う必要があります。セキュリティの観点では、脆弱性に対する対応でオープンソース自体の細かいバージョンアップがなされますが、情報を適宜キャッチアップし、都度自分で対応する必要があります。

<プラグイン選定の吟味>

EC-CUBEなどでは多種多様なプラグインが公開されており、それが開発の自由度を手助けしていますが、プラグインの選定には、注意が必要です。一概には言えませんが、例えば、フリーランスの方が提供しているプラグインの場合は、セキュリティレベルが低かったり、バージョンの更新に対する保守性が不安定だったりすることがあります。ECサイトとして重要な機能を担う領域で使用するプラグインには、企業が提供していて信頼性の高いものを選定した方が良いといえるでしょう。

 

◼️エンジニアに求められるスキル

オープンソースのパッケージはソースが公開されていることから、自分で調べながら構築できるエンジニアにはとても向いていると言えます。デフォルトの機能やプラグイン等の拡張機能、カスタマイズする際の注意点等も基本的にはコミュニティに記載されているケースが多いので、調べた分だけその領域での知識・知見が深まり、そのプラットフォームのスペシャリストになっていけるでしょう。

 

 

■ECbingなどパッケージの利用

ECサイトとしてある程度フレームワークが完成しているソフトウェアを購入し、独自なカスタマイズを加えて構築する方法です。
【代表的なサービス】

・ECbing

・Orange EC

・STAR SERIES

・ebisumart

・コマース21

 

◼️マッチする要件

ASPサービスと同様、ECサイトとしてフレームワークが完成していますが、ある程度柔軟にカスタマイズして構築することができ、ASPサービスではかなり制限のある、CRMや、基幹の顧客管理DBとの連携、物流システムや在庫管理システムとの連携などもカスタマイズ可能なため、大規模なECサイト構築に向いています。

オープンソースに比べ構築費用はかかりますが、自由度とシステムの保守性や安定性の両方を得たい場合にはパッケージを選択することをおすすめします。

 

◼️開発における注意点

パッケージは本来、提供されている機能をそのまま使用する前提での料金体系となっているケースが多く、カスタマイズをするとイニシャルもランニングコストも上がってきます。そのため、カスタマイズするレベルによっては、最初からスクラッチで構築したほうが良いというケースはよくある話なので、仕様策定や要件定義段階で、ある程度の中長期的な方向性を考慮しておく必要があります。

ある程度高額なパッケージもあることから、リリース後の今後の展開や事業計画と照らし合わせ、将来的な要望にもそのパッケージが耐えうるのか、リプレイス等が発生する場合は、そのタイミングやコストも鑑みた上での、構築設計が必要になります。

 

◼️エンジニアに求められるスキル

選定したパッケージの特性を活かして構築する必要があります。提供されているAPI等を使用してパッケージのカスタマイズを行う場合は、そのパッケージと同じ、あるいは相性の良い言語での開発が必要となるため、そのあたりの周辺知識も求められます。UIをオリジナルで構築できるパッケージも多々あるため、フロントエンド側の言語スキルも当然持っておいた方が良いでしょう。

 

 

【スクラッチ開発】

パッケージや既存システムを利用せず、ゼロベースで要望を100%満たせるオリジナルのECサイトを構築する方法です。

 

◼️マッチする要件

全てをオリジナルで構築したい場合には、スクラッチでの開発となります。非常に多くの開発コスト、運用保守の工数がかかるため、基本的には事業規模の大きな案件でのみマッチする方法と言えます。

 

◼️開発における注意点

ECシステムのデフォルトの機能からオリジナルの機能も含め、詳細まで漏れのないように要件定義することが重要です。リリース後のシステム保守も必要になるため、運用視点も視野に入れたうえでの構築設計を行うようにしましょう。

 

◼️エンジニアに求められるスキル

JAVAやPHPでの開発が一般的です。エンジニアが言語選定から自由に行うことが可能なため、基本的には言語的な制約はありませんが、要件にあう構築ができるバックエンド側の言語を見極める必要があります。

また、ほとんどのケースでは、サーバの構築から保守までもワンストップで行うことが多いことから、インフラまわりの知見も必要です。

スクラッチ開発が求められるケースでは当然外部連携等が発生するケースも多いため、連携先のAPI仕様書をきちんと理解する力も求められます。

 

 

■まとめ

各開発方法によって、エンジニアが直接的に関わる領域には差がありますが、実際に構築を行うエンジニアの目線だからこそ、ビジネスの課題や目的に対する適切な方法や他の人が気がつかないリスクの回避について、見極めることができるはずです。EC-CUBEなど既存のプラットフォームだけでなく、海外に対する販売にも対応した新しいプラットフォームが台頭してきていますので、包括的かつ新しい知識を継続的にインプットしていくことが大切です。

関連する記事