複数のWebサイトでデータを共有するにはどうすればよいですか?


8

複数のウェブサイトでデータを共有するためのシンプルなシステムを開発しようとしています。それらのほとんどはPHPで開発されていますが、一部はWordpress / Drupalで開発されています。冗長な情報が複数のWebサイトに分散しているため、複数のWebサイトで情報を個別に更新する必要があるという問題が発生しています。

静的なページでも共有データを取得できるソリューションを提供しようとしています。これが私の提案するアーキテクチャです:

ここに画像の説明を入力してください

私はこれを学術機関のために行っています。データは、単純な料金体系から学問的な方針までさまざまです。たとえば、学費を考えてみましょう。

学費-> ug、卒業生、薬局...各学部には、キャンパス外、キャンパス内、通勤者ごとに分類された料金体系があります。

"Undergraduate": {
    "metaid": "0770",
    "Offcampus": {
      "FeesItems": {
        "comprehensive": {
          "label": "Comprehensive Fees",
          "value": "2,141"
      }
    }
  }
}

moustacheを使用するフロントエンドの場合、jsを含めて、以下のような値を取得して値を取得するだけです。

<td>{{Undergraduate.Offcampus.FeesItems.comprehensive.label}} </td>
<td>{{Undergraduate.Offcampus.FeesItems.comprehensive.value}}</td>

私の質問:

  • このデザインはスケーラブルですか?

  • データ所有者にデータを編集する権限を与える方法は?

  • SQLにデータを保存する方法は?


「データをSQLに保存する」とは、Microsoft SQL-Server RDBMSまたは任意のRDBMSを意味しますか?
TulainsCórdova16年

Ajax Ajax Ajax Ajax
Mawgはモニカを2016

回答:


1

質問全体に答えるのではなく、データを共有する具体的な方法を紹介しましょう。Webサーバーを呼び出すことができる実装言語で利用可能なメカニズム(jQuery、ajax)を使用するだけです。自動キャッシュで定数データを取得するには、GET呼び出しを使用します。変数データを取得/設定するには、POST / PUT呼び出しを使用します。DELETEなどの他のリクエストメソッドを使用して、データストレージを削除することもできます。ウィキペディアを参照してください:リクエストメソッド共有データAPIを構築するためのより多くのデータ呼び出しについて。呼び出すページにHTMLを含める必要はありません。これは、利用可能な任意のサーバー側言語で記述する一種のデータサーバーにすることができます。


0

このデザインはスケーラブルですか?

すべての設計は潜在的にスケーラブルです。古い(そして時代遅れの)ルールは、ハードウェアリソース追加することです。それだけです。

残念ながら、このルールは現実の世界あまりうまく機能しません(クラウド内であっても、ソフトウェアを実行するために利用できるようにするリソースに対して料金を支払うルール)。

この場合、ソフトウェアの設計は完全にスケーラブルですが、おそらく問題は次のとおりです。これは持続可能ですか?

ストレスを防ぐ方法

データプロバイダーのコンテキスト(パブリックまたは認証による)では、おそらくキャッシュシステムを含める方が賢明です。データベースに高い負荷がかかる状況を回避するには、設計にパブリッシャーを追加するのが適切です。

「JSON Builder」は、顧客のリクエストを解釈し、データベースからデータを読み取り、最後にレスポンスを送信するコンポーネントであると想定しています。

その場合、システムをスケーリングする必要がある場合、最初にリソースを要求するのはデータベースであることを理解するのは簡単です。

分配します

キャッシュシステムを追加すると、おそらく新しいリソースがパブリッシャーに割り当てられます。パブリッシャーは、保持しているデータのステータスに関する情報を受信(またはフェッチ)する、切断されたデータのシステムにすることができます。

この時点で、パブリッシャーをシステムとは別の「低コストのホスト」と見なし、(おそらくCDNを介しても)データを継続的に更新するメカニズムを使用します(ただし、データベースは低コストです)。新しいデータをクライアントに提供するため。

メカニズム:多分単純なハッシュシステム、またはさらに単純な「最終更新日

データ所有者にデータを編集する権限を与える方法は?

質問には簡単な答えがあるようです。彼らはインターフェースが必要になります。

SQLにデータを格納する方法?

コメントは正しいです、多分それは話題外です


0

Q.データを複数のWebサイトで利用できるようにする方法を教えてください。A.選択したWebサービス。レスポンシブまたは非レスポンシブWebサイトテクニックを使用して通信できます。非応答性とは、通常、非ajax(JavaScript非同期ポスト)ベースのシステムを使用し、フォームポストを介してWebサービスを呼び出すたびにWebページ全体が更新されるか、AJAX(クライアント側のJavascript、Jqueryまたはフレームワーク)を使用してデータを取得または更新するために、Webサービスと非同期で通信します。

Q.データを編集可能にする方法を教えてください。A.データを編集するフォームを使用して独自のWebページを作成します。

Q.データをSQLに保存する方法を教えてください。A.データが機密であるか、データ保護プライバシー法の対象でない場合は、セキュリティで保護された(またはセキュリティ保護されていない)フォームのWebサービスへの投稿がSQL挿入に変換され、Webサービスの動作内でステートメントが更新されます。

あなたはいつもウェブサービスのために「既製の」何かを手に入れます。あなたがあまりプログラマーでないなら、様々なフレームワークなどがあります。


-2

このデザインはスケーラブルですか?

いいえ、クラウドのMySQLデータベースでホストしない限り。JSONビルダーは、それをコーディングする方法とWebインターフェースによって異なります。

データ所有者にデータを編集する権限を与える方法は?

いくつかのフレームワーク(CakePHPなど)でPHP CRUDアプリを作成するだけです。

SQLにデータを格納する方法?

CRUDアプリを使用して、JSON to / from SQLコンバーターを用意します。たくさんのオンラインPHPサンプル。JSONからPHP Array / MySQLへ、またはその逆。


これらのステートメントは単にあなたの意見ですか、それとも何らかの形でバックアップできますか?
2014年

はい、はい。彼は残りをググることができます。
user127379 14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.