Come posso condividere i dati su diversi siti web?

8

Sto cercando di sviluppare un semplice sistema per condividere i dati su diversi siti web. Molti di questi sono sviluppati in PHP mentre altri sono sviluppati in Wordpress / Drupal. Le informazioni ridondanti sono distribuite su diversi siti Web e questo ha causato un problema in cui dobbiamo aggiornare le informazioni su diversi siti Web separatamente.

Sto cercando di fornire una soluzione in cui anche le pagine statiche possono ottenere dati condivisi. Ecco la mia architettura proposta:

Lostofacendoperun'istituzioneaccademica.Idativarianodasemplicistrutturetariffarieapoliticheaccademiche.Adesempio,consideraicostiaccademici.

Costiaccademici->brutto,laureato,farmacia...ciascunodeidipartimentiavràunastrutturadelletasseclassificatafuoridalcampus,nelcampus,nelpendolare.

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

Per il front-end usando i baffi, devono solo includere il js e usare qualcosa come sotto per ottenere i valori,

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

Le mie domande:

  • Il design è scalabile?

  • Come dare ai proprietari dei dati la possibilità di modificare i dati?

  • Come memorizzare i dati in SQL?

posta NEO 11.01.2014 - 20:23
fonte

4 risposte

1

Piuttosto che tentare di rispondere all'intera domanda, permettimi di offrire un modo concreto per condividere i dati: basta usare qualsiasi meccanismo (jQuery, ajax) disponibile nel linguaggio di implementazione che ti consenta di chiamare il tuo webserver. Utilizzare una chiamata GET per ottenere dati costanti con memorizzazione automatica nella cache. Utilizzare le chiamate POST / PUT per ottenere / impostare dati variabili. È anche possibile utilizzare altri metodi di richiesta, ad esempio DELETE per eliminare l'archiviazione dei dati. Vedi Wikipedia: Metodi di richiesta Per molte più chiamate di dati per creare l'API di dati condivisi. La pagina che chiami non deve contenere alcun HTML; può essere un tipo di server dati che puoi scrivere in qualsiasi lingua lato server disponibile.

    
risposta data 12.06.2016 - 23:27
fonte
0

Is this design scalable?

Tutti i design sono potenzialmente scalabili. Una vecchia (e obsoleta) regola è quella di aggiungere più risorse hardware , e il gioco è fatto.

Purtroppo, questa regola non funziona molto bene in the real world (quella in cui paghiamo le risorse che rendiamo disponibili per eseguire il software, anche se tra le nuvole).

In questo caso, il design del software è assolutamente scalabile ma forse la domanda è: è sostenibile?

Come prevenire lo stress

Nel contesto di un fornitore di dati (pubblico o tramite autenticazione), è forse più prudente includere un sistema di cache. Per evitare una situazione di carico elevato sul database, sarebbe opportuno aggiungere un editore nella progettazione.

Suppongo che il tuo "JSON Builder", sia un componente che interpreta la richiesta del cliente, legge i dati dal database e infine invia la risposta.

Se è così, è facile capire che quando devi ridimensionare il sistema, il primo a chiedere risorse, sarà il database.

Distribuisci

Aggiungendo un sistema di cache, probabilmente le nuove risorse saranno assegnate ai publisher. Un editore può essere un sistema di dati disconnessi, che riceve (o recupera) informazioni sullo stato dei dati che detiene.

A questo punto, è facile considerare un editore come " host a basso costo " separato dal sistema, distribuito (forse anche tramite CDN), che utilizza un meccanismo per l'aggiornamento continuo dei suoi dati (ma a basso costo per il database), per fornire nuovi dati al client.

Meccanismo: forse un semplice sistema di hash, o ancora più semplice " data dell'ultima modifica "

How to give the data owners the ability to edit the data?

La domanda sembra avere una risposta semplice. Avranno bisogno di un'interfaccia.

How to store the data in sql?

I commenti sono giusti, forse è fuori programma

    
risposta data 14.01.2014 - 20:44
fonte
0

Q. Come rendere disponibili i dati su più siti Web? A. Un servizio web di tua scelta. È possibile comunicare con esso utilizzando tecniche di sito Web reattive o non reattive. Non reattivo significa che in genere si utilizza un sistema non ajax (javascript asynchronious post) in cui l'intera pagina Web viene aggiornata con ogni chiamata del proprio servizio Web tramite un modulo postale oppure è possibile utilizzare AJAX (lato client Javascript, Jquery o un framework) a comunicare con il servizio web in modo asincrono per ottenere dati o aggiornarlo.

Q. Come rendere i dati modificabili? A. Crea le tue pagine web con moduli per modificare i dati.

Q. Come conservare i dati in SQL? R. Sicuro (o non protetto se i dati non sono sensibili o soggetti alle leggi sulla privacy della protezione dei dati) forma post sul tuo servizio web che viene trasformato in inserto SQL, aggiorna le dichiarazioni all'interno del funzionamento del tuo servizio web.

Ottieni sempre qualcosa "da scaffale" per il servizio web, ci sono vari framework ecc. se non sei un gran programmatore.

    
risposta data 05.07.2016 - 22:07
fonte
-2

Il design è scalabile?

No, a meno che non si ospiti su un database MySQL cloud. Il builder JSON può essere, dipende da come lo si codifica e dall'interfaccia web.

Come dare ai proprietari dei dati la possibilità di modificare i dati?

Crea un'applicazione PHP CRUD con qualche framework, ad es. CakePHP ecc.

Come memorizzare i dati in sql?

Usa l'app CRUD per avere un JSON per / da convertitore SQL. Carichi di esempi PHP online. JSON a PHP Array / MySQL e viceversa.

    
risposta data 15.01.2014 - 13:50
fonte

Leggi altre domande sui tag