web系システムの特徴を知って自社に最適な外注先を探そう

握手するミニチュアビジネスマン

更新日:2017年09月21日 | 公開日:2017年07月29日

web系システム開発は、これまで企業の基幹システムのベースとなっていたメインフレーム(汎用コンピュータ)を利用して構築したクローズドなレガシーシステムに対して、オープンな技術的基盤を基にしたブラウザベースのインタフェースを持つ開発手法として位置付けられてきました。

もっとも、メインフレームで構成された古いシステム(レガシーシステム)以外がすべてweb系システム開発というわけではありません。
メインフレームはその汎用機でしか動かないソフトウェアを搭載しているのですが、どんなコンピュータであってもソフトウェアが動くようにUNIXやWindowsなど技術仕様が公開されたオペレーティングシステム(OS)を使っているものをオープン系システムと呼んでいます。
オープン系システムには専用の画面を持つソフトウェアをインストールして使う形のブラウザやインターネットとは無縁のシステムもあります。

web系システムは、オープン系システムのなかでも特にクライアントのインタフェースとしてブラウザを採用しているというところに特徴があります。
つまり、インターネットをベースとしたwebサーバーやデータベースサーバーなどがありHTTPプロトコルを通じて提供される情報をブラウザで閲覧する、というのがweb系システムの基本となります。

最近では、スマートフォンなどで動作するネイティブアプリのweb版、という意味で「webアプリ」という言い方をする場合もあります。
また、スマホと関係なくwebのAPIを使って提供される仕組みのことをスマホのweb版とは違った意味ですが同じように「webアプリ」という場合もあります。

このように、ひとくちにweb系システムと言っても非常に範囲が広く、その中身をある程度知っていないと適切な外注先が選べないので、この記事を参考にしっかりと理解してください。

web系システムの特徴

パソコンやスマホが置かれたデスク

web系システムは、サーバー側に用意されたシステムの機能やサーバー側で管理・生成されたデータを、クライアント側のブラウザで閲覧するという仕組みになっています。
これについては、「webアプリ」も同様です。

サーバー側ではさまざまなサービスを提供しますが、クライアント側は基本的に端末にwebブラウザが搭載されていれば、いつでもどこでもシステムのサービスを享受できます。
つまり、オペレーティングシステムがWindowsでも、MacでもUNIX系のクライアントでも同じサービスを使うことができますし、Android、iPhone、iPad、携帯電話(ガラケー)でも同じweb系システムを使うことができます。
普段インターネットのさまざまなサイトを閲覧しているときは、サイト側でwebサーバーに用意したコンテンツに対してMicrosoft EdgeやChromeなどを通じてアクセスしているという形になります。
web系システムとはこのサーバー側で提供しているサービスがwebサイトのコンテンツに限らず、共有ファイルであったり、会計の仕組みであったりします。

一見するとクライアントの端末側に仕組みやデータが存在するように見えますが、画面に映し出されるコンテンツ部分はwebサーバーが担当しており、データの閲覧・検索・編集などの機能はデータベースサーバーが担当しています。
したがって、クライアント側端末の負荷が少なく、また、特別なソフトのインストールや面倒なセットアップを必要としないというところに特徴があります。

次に、web系システム以外の仕組みと対比しながらこの特徴を見ていきましょう。

他のシステムとの違いから理解するweb系システムの仕組み

パソコンと眼鏡とコーヒーが置かれたデスク

冒頭部分で指摘したように、昔のレガシーシステム以外がすべてweb系システムというわけではありません。
そうしたweb系システムに似た仕組みを概観してみましょう。

クライアント・サーバー型システムとは何か

web系システムと同じようにサービスを提供するサーバー群とそれを閲覧する複数のクライアントの構成になります。
一番大きな違いは、クライアント端末でブラウザを使用しないということ、つまりHTTPプロトコルを通じたインターネット回線上で提供されるシステムではないということです。

汎用機を使ったレガシーシステムは、もともとインターネットの普及によって時代遅れになったわけではありません。
レガシーシステムは、汎用機という高額なホストコンピュータではなく、安価なパソコンでもスペック的に業務用システムが構築できるようになったことがきっかけとして置き換えられていった(リプレイス)という事情があります。
こうしたシステムは、個々のパソコン端末に対して、メインフレームに匹敵するスペックを持ったサーバーが提供するという意味で「クライアント・サーバー型システム」と呼ばれます。

汎用機のリプレイス需要が高まっていた頃は、まだインターネットは商用利用が解禁されておらず、ネットワークと言えばTCP/IPという常識もありませんでした。
リプレイスの目的が安価なPCの導入ですので、回線は企業の中に専用回線を引いて、クライアントとサーバーを結んでいました。
顧客データベースや商品データベース、会計情報システムなどが、インターネット回線を使用せずに「クライアント・サーバー型システム」として構築されていました。

つまり、汎用機というホストコンピュータからは自由でオープンな環境に移行しましたが、システム全体は今日のweb系システムのように、全世界共通の通信規格で結ばれていたわけではなかったわけです。
この「クライアント・サーバー型システム」のネットワーク的に閉じた構成を、オープンなインターネットに置き換えたものが「web系システム」であると考えればよいでしょう。

次にweb系システムを採用することによるメリットについてまとめます。

web系システムのメリット

OKサインをする男性

それでは、web系システムのメリットを開発面、運用面などから整理します。

■ 初期開発費用が抑えられる
web系システムの場合、インフラとしてオープンなインターネット回線を使うので、案件ごとに回線工事を行う必要がありません。
インタフェースも案件ごとに独自のソフトウェアを開発することなく、どのパソコンにも最初からインストールされているwebブラウザを使うため、クライアント側の開発費用が少なくなりました。
今日のようにパソコンだけをクライアント側インタフェースとして前提にするのではなく、Android、iPhone、iPad、携帯電話(ガラケー)などのモバイルユーザーの利用を想定することが当たり前の時代には、多数のクライアントソフトを開発しなくて済むのでコスト的なメリットが享受できます。

■ 端末の増設が容易にできる
web系システムの場合、インターネットにさえつながっていればその場所でパソコンを立ち上げるだけでシステムのサービスを享受できます。
回線的にはなんの工事もセッティングもいらないので、ただブラウザを立ち上げてログインパスワードとIDで認証が通れば直ちに使えます。
同じことは、スマートフォンやタブレット、携帯電話についても当てはまります。
もちろんパソコンやスマホなどのハードウェアの追加料金はかかりますが、端末増設のためのシステム的な費用は事実上ゼロです。

■ メンテナンス性の高さ
インターネットにつながっているということは、そのシステムを納品した開発会社ともダイレクトにつながるということを意味します。
つまり、稼働しているシステムのメンテナンス性も非常に高いというメリットがあります。
インターネットベースでないクライアント・サーバー型システムの場合、何か不具合があった場合には開発会社の技術者がサーバーを設置してある会社まで足を運んでシステムを修復する必要があります。
また、セキュリティ対策などでシステムをアップデートしたいという場合も同様に技術者が出張サービスで対応する必要があります。

web系システムであれば、開発会社の端末からこうしたメンテナンスを行うことができますので、迅速かつタイムリーに実行してもらえます。

web系システムのデメリット

パソコンを操作するビジネスマン

■ 操作性の工夫に限界がある
いいことずくめのようなweb系システムですが、旧タイプのクライアント・サーバー型のシステムならではのメリットもあります。
それは端末の操作性です。
web系システムでは前提条件としてユーザーが使う端末のブラウザを使用します。
そのため、もともとブラウジング(「読む」「閲覧する」「目を通す」などを意味する動詞「browse」から来ている)を目的としたブラウザでは、「操作する」という点において使い勝手が良くないという面があります。

例えば、専用のクライアントソフトウェアでは定型業務のメニューを右クリックの中に入れておき、簡単にアクションを起こせるようにしたり、キーボードに各種ショートカットを仕込んでおいて、キーボード操作を最小限にしたりするなどのユーザーインタフェースにすることが可能です。

web系システムでは、こうした案件ごとにユーザーの生産性を最大化するような工夫に限界がある、ということは覚えておきましょう。

発注段階で必要になってくるweb系システムの知識

クラウドサービスとweb系システムの関係はどうなっているのか

パソコンを操作する人

システムの導入を検討するとき、最近ではクラウドでサービスが提供されていないかを最初に検討する「クラウドファースト」という言葉をよく聞きます。
クラウドサービスは、従来は利用者が手元のコンピュータで利用していたデータやソフトウェアを、ネットワーク経由でサービスとして利用者に提供するもので、ここまで解説してきたweb系システムそのものだと言えます。

web系システムと異なる点は、サーバーやシステムを社内や自社が契約したデータセンターに置いて使用するのではなく、クラウド提供者が所持しているサーバーやシステムを借りて使用する点で、メリットは次のようになります。

【クラウドサービスのメリット
  • 社内サーバーが不要
  • 初期開発費用がかからない
  • 常に最新のアップデートが行われる
  • メンテナンスが不要

一方でデメリットもあります。

クラウドサービスのデメリット
  • カスタマイズに制限がある

クラウドサービスは、一つのアプリケーションを多数の企業で使ってもらうことで安価でサービスを提供できるビジネスモデルです。
したがってアプリケーションに対する個別の要望をすべて反映していたのでは、機能があふれかえってしまいます。
例えば100の顧客から100通りの要望を受けてそれらをすべてアプリケーションに加えると、その機能を必要としない会社にとっては無駄な機能が満載ということになりますので、クラウドサービスでは基本的にアプリケーション改良の要望は受け付けていません。
そうした場合には、web系システムをオリジナルで構築することが必要となります。

開発プログラム言語について

web系システム開発では、PHP、Ruby、Java、C、C#などの言語を利用するのが一般的です。
オープン系の言語ではPHPを使ったケースが多く、WindowsベースではC#もよく使われます。
アジャイル開発という、プロジェクトを細かい単位に分けてできたものから納品、リリースを繰り返す方法のweb系システム開発ではRubyが好まれています。
JavaはOracle(オラクル)を使った大規模なデータベースなどでよく採用されますが、小規模の小回りの利くシステムではあまり使われません。

開発案件の内容によって最適な言語を選択されるというのが一般的ですが、仕様として採用される言語にこだわりがないのであれば、PHPを使った開発をおすすめします。
PHPはエンジニア人口も多く、各種技術情報がオープンになっており、競争が激しい分システム構築費用も安めになっています。
将来的に納品してもらったシステム構築会社以外のところにバージョンアップや、運用を委託したいという場合もPHPであれば引き受けてくれる会社を見つけるのも容易です。

webデータベースの種類

web系システム開発ではインタフェースとしてのwebサーバーのバックエンドで、データベースサーバーが稼働しているケースが一般的です。
普段あまり意識していないかもしれませんが、コーポレートサイトの定番CMSであるWordPressもバックエンドでデータベースが稼働しており、データベースが故障するとwebサーバーが正常に稼働していてもサイトのページが閲覧できなくなります。

コーポレートサイト以外にも、web系システム開発では商品情報や顧客データ情報、社員情報などを扱ってデータの集計をしたり、編集をしたりといった作業が頻繁に行われます。
これらの作業にもすべてデータベースが関わっていますので、データベースの選定については慎重に考えたほうがよいでしょう。

web系システム開発でよく使用されるデータベースは、Oracleや、MicrosoftのSQLサーバー、オープンソースのMySQL、PostgreSQLなどがあります。
なお、OracleやSQLサーバーは、web系システムへ接続するユーザー数によってライセンス料金がかかってきます。

セキュリティの安全性はどのように確保されているか

web系システムはインターネット回線をベースとして、サーバーで提供されるサービスを物理的に離れた場所にあるクライアント端末で使用します。
したがって、インターネットの仕組みを悪用したデータの盗み読み、改ざん、抜き取り、ウイルスの混入、不正アクセスなどのセキュリティ上の安全性を確保する必要が出てきます。
以下、web系システムにおける安全性確保についての具体的な方法について見ていきます。

ファイヤーウォール

ファイヤーウォールとは、もともとビルなどが万が一火事になったとき、火の手を防ぐために通路をふさぐ金属の重い扉のことです。
インターネット通信ではwebサービスやデータベースサービスをはじめとしてさまざまなサーバーがクライアントに対して通信を行っています。
また、クライアント側からもサーバーに対して頻繁に通信を行います。
例えば、ユーザーがブラウザのボタンを押して次の画面にいくときにはクライアント側からサーバー側に通信が行われ、次のページに切り替わるということはwebサーバーがクライアントパソコンに対して新しいデータを送信しているといったことになります。

ファイヤーウォールを導入すると、インターネット経由の不正なアクセスを防ぐことが可能になります。
ファイヤーウォールの設置は、オフィスビルの防火対策と同様、インターネットでサービスを提供するときには必須のセキュリティ対策となります。
しかし、あくまでも最も基本的な対策に過ぎませんので、提供するシステムによってより適切な対策を追加していくことが必要です。

WAF

先程の「ファイヤーウォール」は提供しているサービス全般の不正アクセスに対する防御策でしたが、WAFはWeb Application Firewallという名称が表すように、web系のサービスに特化したファイヤーウォールとなります。
全般的なファイヤーウォールで不正な侵入を防いだとしても、一般ユーザーからの正常な通信をすべてブロックしてしまうわけにはいきません。
そんなことをすれば、例えば「ユーザーがブラウザのボタンを押して次の画面にいくとき」の通信などもすべてブロックされてしまうので、web系システムのサービスはもちろんコーポレートサイトの閲覧すら提供できなくなってしまいます。
このとき問題になるのは、一般ユーザーの正常な通信を装った悪意ある攻撃をどう防ぐかということです。
正常な通信に見せかけて悪意のある攻撃をする手法としては、「SQLインジェクション」や「XSS(クロスサイトスクリプティング)」などがあり、これらは通常の通信ログを解析しただけでは見分けがつきません。

そうした場合に役に立つのがweb用のWAFです。
WAFは、アクセスされた際にブラウザから送信される細かいパラメータや、サーバーがユーザーに要求されて通信しようとしているデータをリアルタイムに監視します。
そしてデータベースに蓄積されている過去の不正アクセスのパターンと照合し、「あやしい」と判断した場合には通信を遮断するなどして、情報の流出などを未然に防ぎます。

IPS(ファイヤーウォール侵入防止システム)

正常なサービスは遮断できない「ファイヤーウォール」ですが、WAFと同じように、明らかにおかしな挙動をしている場合には通信を遮断して不正な侵入を防止する仕組みもあります。
それがIPS=Intrusion Prevention System(ファイヤーウォール侵入防止システム)です。

IPSが遮断してくれる攻撃として、例えば「DoS攻撃」があります。
DoS攻撃とはwebサーバーに対して集中的にアクセスを繰り返す、ブラウザのリロードボタンを無駄に押すなどしてサーバーの処理能力をパンクさせ、正常のサービスの提供を妨害する攻撃です。
webサーバーに対する正常なアクセスをファイヤーウォールですべてふさいでブロックしてしまうわけにはいきませんので、webサービスの通信経路はオープンにしておきます。
しかし、DoS攻撃では1秒間に数千から数万回という、人間がwebページ閲覧目的で行うアクセスとは違うアクセスが行われます。
IPSを導入しておけば、こうした不正な通信をリアルタイムに感知して不正なアクセスを破棄したり、アクセス元のIPアドレスからの通信を遮断する設定を自動的に行ったりしてくれます。

web系システムでサービスを提供する場合には、こうしたセキュリティに関する十分な対策が必要です。

web系システムでは技術以外にも目を配ることが大切!

パソコンを操作する人

以上、web系システムの特徴やメリット、さらに実際にweb系システムを構築するにあたっての注意点についてお伝えしてきました。
さまざまなメリットのあるweb系システムですが、開発を具体化するときにはシステムが納品されたあとのことも考えておく必要があります。

例えば、社内向けの業務システムをweb系システムで構築した場合、そのメンテナンスやサポートをどうするかという課題が出てきます。
中小企業の場合専任のエンジニアを社内においてメンテナンスを担当させるなどは難しいということも多いので、そういう場合にはシステムを納品してくれた会社が納品以後のサポートもしてくれるのかどうかについて確認しておく必要があります。
もちろん、ただメニューとして「サポートもやります」とホームページに書いてあるというだけでなく、その実績や評判についてもチェックしておくことが大切です。

また、社内向けのシステムではなく一般消費者向けにサービスを公開する場合には、実際にサービスを使ってもらうための「集客」や「マーケティング」が重要です。
具体的には、検索エンジンに上位表示させるための「SEO対策」や「リスティング広告」、ユーザーとの絆を深めてファン化する「SMM」(ソーシャルメディアマーケティング)などがあります。
商品購入や会員申込などの目的が数字に達しない場合には、サイト全体の構成を見直して将来的にバージョンアップするなどの施策が必要になってくるかもしれません。

web系システム開発は多岐にわたるので、自社の案件にピッタリの外注先を見つけるのはなかなか大変です。
また開発を依頼する場合は、こうした納品以後のシステムの活用サポートを含めて親身に相談に乗ってくれるパートナーを探すことが大切となってきます。

優良なweb系システム開発会社をどうやって探したらよいかわからない…という場合はぜひ「アイミツ」にご相談ください。
御社の案件に最適な、業界での評判の良い開発会社をピックアップいたします。

いま知りたいこと
コンシェルジュが解決します!

コンシェルジュサービスは
3万社以上が利用している無料の相談サービスです。

コンシェルジュ

発注は時間も手間もかかりますよね?

コンシェルジュが解決します!

コンシェルジュに相談、あなたにあった業者を提案、発注の手間を削減!

完全無料

まずはお気軽にご相談ください