¿Cómo puedo compartir datos en varios sitios web?

8

Estoy tratando de desarrollar un sistema simple para compartir datos en varios sitios web. La mayoría de ellos están desarrollados en PHP, mientras que algunos están desarrollados en Wordpress / Drupal. La información redundante se distribuye en varios sitios web y esto ha causado un problema en el que tenemos que actualizar la información en varios sitios web por separado.

Estoy tratando de proporcionar una solución donde incluso las páginas estáticas puedan obtener datos compartidos. Aquí está mi arquitectura propuesta:

ingrese la descripción de la imagen aquí

Estoy haciendo esto para una institución académica. Los datos varían desde estructuras de tarifas simples hasta políticas académicas. Por ejemplo, considere los costos académicos.

Costos académicos -> ug, graduado, farmacia ... cada uno de los departamentos tendrá una estructura de tarifas clasificada por fuera del campus, en el campus, en el trayecto.

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

Para el front end con bigote, solo tienen que incluir el js y usar algo como a continuación para obtener valores,

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

Mis preguntas:

  • ¿Es este diseño escalable?

  • ¿Cómo dar a los propietarios de datos la capacidad de editar los datos?

  • ¿Cómo almacenar los datos en SQL?

NEO
fuente
¿Por "almacenar los datos en SQL" se refiere al RDBMS de Microsoft SQL Server o cualquier RDBMS?
Tulains Córdova
Ajax Ajax Ajax Ajax
Mawg dice que reinstalar a Monica el

Respuestas:

1

En lugar de intentar responder a la pregunta completa, permítame ofrecerle una forma concreta de compartir datos: simplemente use cualquier mecanismo (jQuery, ajax) disponible en su lenguaje de implementación que le permita llamar a su servidor web. Use una llamada GET para obtener datos constantes con el almacenamiento en caché automático. Use una llamada POST / PUT para obtener / configurar datos variables. También puede usar otros métodos de solicitud, como DELETE para eliminar el almacenamiento de datos. Consulte Wikipedia: Métodos de solicitud Para muchas más llamadas de datos para construir su API de datos compartidos. La página que llama no necesita tener ningún HTML; puede ser un tipo de servidor de datos que usted escribe en cualquier idioma del lado del servidor disponible.

David Spector
fuente
0

¿Es este diseño escalable?

Todos los diseños son potencialmente escalables. Una regla antigua (y obsoleta) es agregar más recursos de hardware , y eso es todo.

Lamentablemente, esta regla no funciona muy bien en el mundo real (en el que pagamos los recursos que ponemos a disposición para ejecutar el software, incluso en las nubes).

En este caso, el diseño del software es absolutamente escalable, pero tal vez la pregunta es: ¿ es sostenible?

¿Cómo prevenir el estrés?

En el contexto de un proveedor de datos (público o mediante autenticación), quizás sea más prudente incluir un sistema de caché. Para evitar una situación de alta carga en la base de datos, sería apropiado agregar un editor en su diseño.

Supongo que su "JSON Builder" es un componente que interpreta la solicitud del cliente, lee los datos de la base de datos y finalmente envía la respuesta.

Si esto es así, es fácil entender que cuando necesite escalar el sistema, el primero en solicitar recursos será la base de datos.

Distribuir

Al agregar un sistema de caché, probablemente los nuevos recursos se asignarán a los editores. Un editor puede ser un sistema de datos desconectados, que recibe (o obtiene) información sobre el estado de los datos que contiene.

En este punto, es fácil considerar a un editor como un " host de bajo costo " separado del sistema, distribuido (quizás incluso a través de CDN), que utiliza un mecanismo para actualizar continuamente sus datos (pero a bajo costo para la base de datos), para proporcionar datos nuevos al cliente.

Mecanismo: Tal vez un sistema simple de hash, o una " fecha de última modificación " aún más simple

¿Cómo dar a los propietarios de datos la capacidad de editar los datos?

La pregunta parece tener una respuesta simple. Necesitarán una interfaz.

¿Cómo almacenar los datos en sql?

Los comentarios son correctos, tal vez sea un tema poco común

marcocs
fuente
0

P. ¿Cómo hacer que los datos estén disponibles para múltiples sitios web? A. Un servicio web de su elección. Puede comunicarse con él utilizando técnicas de sitio web receptivas o no receptivas. Sin respuesta significa que normalmente utiliza un sistema basado en no ajax (publicación asincrónica de JavaScript) donde se actualiza toda la página web con cada llamada de su servicio web a través de un formulario de publicación o puede usar AJAX (Javascript del lado del cliente, Jquery o un marco) para comunicarse con el servicio web de forma asíncrona para obtener datos o actualizarlos.

P. ¿Cómo hacer que los datos sean editables? A. Cree sus propias páginas web con formularios para editar los datos.

Q. ¿Cómo almacenar los datos en SQL? R. Seguro (o inseguro si los datos no son confidenciales o están sujetos a las leyes de privacidad de protección de datos) a partir de publicaciones en su servicio web que se convierten en inserción de SQL, declaraciones de actualización dentro del funcionamiento de su servicio web.

Siempre obtienes algo "listo para usar" para el servicio web, hay varios marcos, etc. si no eres un gran programador.


fuente
-2

¿Es este diseño escalable?

No, a menos que aloje en una base de datos MySQL en la nube. El constructor JSON puede ser, depende de cómo lo codifique y la interfaz web.

¿Cómo dar a los propietarios de datos la capacidad de editar los datos?

Simplemente haga una aplicación PHP CRUD con algún marco, por ejemplo, CakePHP, etc.

¿Cómo almacenar los datos en sql?

Use la aplicación CRUD para tener un convertidor JSON a / desde SQL. Un montón de ejemplos de PHP en línea. JSON a PHP Array / MySQL y viceversa.

usuario127379
fuente
¿son estas declaraciones simplemente sus opiniones o puede respaldarlas de alguna manera?
mosquito
Si y si. Él puede googlear el resto.
user127379