質問編集履歴

2 システムのイメージを追記しました

nikkori

nikkori score 14

2019/02/18 14:35  投稿

サーバーからリアルタイムにデータをPushする方法
元サーバーサイドのエンジニアです。
新サービスの設計にあたって、サーバー側でデータ変更があったことを
リアルタイムに顧客側に通知する仕組みが必要になります。
(BtoBの自社サービス開発・企画段階)
顧客側の環境はいろいろでスマホアプリ、Webブラウザ、サーバーなどを想定しているため
WebAPIのような形で提供できる方法がないか探しています。
 
まだイメージも固まってないのですが、顧客側のブラウザ→サーバーになんらかのステータスをもったデータを登録し、サーバー側でステータスが変わるイベントが発生したらそれを通知します。片方向です。  
顧客側(クライアント側)ではその通知を受けたら画面に通知マークを付けるなどの実装をしてもらうことになると思います。  
ポーリングしてサーバーからデータを取得する…時代の知識しかなく
WebSocketや最近のPush通知など、ネットでいろいろ調べています。
が、イマイチよく理解できない部分を質問させてください。
1. リアルタイム性が高くイメージに合っているのは**Push通知**かと思うのですが
顧客側に複雑な設定(実装?)が必要そうです。
APIのようにサーバーで作ったものをクライアント側で組み込んで叩くだけ…のようなことはできないのでしょうか?
2. **WebSocket**というやり方も調べています。
こちらも顧客側の実装ハードルが高そうなのですが、クライアント側からすると
難しいorダサい等ないでしょうか?
クライアント側の知識がほぼないので感覚的なところを伺いたく…
  • PHP

    28484 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • JavaScript

    25601 questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • API

    2288 questions

    APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

1 プロジェクトの位置づけを追記しました

nikkori

nikkori score 14

2019/02/18 12:27  投稿

サーバーからリアルタイムにデータをPushする方法
元サーバーサイドのエンジニアです。
新サービスの設計にあたって、サーバー側でデータ変更があったことを
リアルタイムに顧客側に通知する仕組みが必要になります。
(BtoBの自社サービス開発・企画段階)  
顧客側の環境はいろいろでスマホアプリ、Webブラウザ、サーバーなどを想定しているため
WebAPIのような形で提供できる方法がないか探しています。
ポーリングしてサーバーからデータを取得する…時代の知識しかなく
WebSocketや最近のPush通知など、ネットでいろいろ調べています。
が、イマイチよく理解できない部分を質問させてください。
1. リアルタイム性が高くイメージに合っているのは**Push通知**かと思うのですが
顧客側に複雑な設定(実装?)が必要そうです。
APIのようにサーバーで作ったものをクライアント側で組み込んで叩くだけ…のようなことはできないのでしょうか?
2. **WebSocket**というやり方も調べています。
こちらも顧客側の実装ハードルが高そうなのですが、クライアント側からすると
難しいorダサい等ないでしょうか?
クライアント側の知識がほぼないので感覚的なところを伺いたく…
  • PHP

    28484 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • JavaScript

    25601 questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • API

    2288 questions

    APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る