Как собирать и отображать информацию, внешнюю по отношению к моему веб-приложению, но относящуюся к пользователям? - PullRequest
0 голосов
/ 05 января 2012

Мы работаем над приложением Django для исследователей, которое управляет данными исследований. Вверх по течению от самого приложения есть базовые сценарии, которые перемещают данные до тех пор, пока приложение не сможет их получить. (В различных развертываниях приложения используются разные виды исходных сценариев).

Теперь эти сценарии генерируют информацию о состоянии, например, «Инструмент X не работает», о котором пользователи хотели бы знать. На самом деле, мы бы хотели, чтобы на первой странице было поле состояния, отображающее некоторые из этих статусов (поэтому в хороший день вы видите ряд зеленых огней).

Я просто не уверен, какой будет "правильный" подход:

  1. Сценарии пишут HTML-файл, который приложение Django включает в себя с помощью iframe
  2. Сценарии записывают в какой-то другой файл, который приложение Django анализирует и отображает
  3. Сценарии вызывают некоторый веб-адрес (например, example.com/app/status?source=instrumentx&status=down)

Возможные недостатки соответственно: 1. HTML-логика распространяется на скрипты. Также написание HTML может быть сложно из сценария. 2. Необходимость определить и поддерживать этот интерфейс 3. Что касается 2, также потенциальные проблемы безопасности.

Все мысли, комментарии и т. Д. Приветствуются. По сути, ключевая проблема здесь заключается в том, что, хотя само приложение довольно хорошо определено, оно используется в нескольких различных дисциплинах, и, следовательно, потенциальный диапазон информации о «статусе» довольно широк и еще не изучен. Следовательно, четко определенные интерфейсы, вероятно, будут неадекватными.

1 Ответ

1 голос
/ 05 января 2012

Я мог бы быть не совсем прав, но я бы посчитал 3 вероятным решением.Если приложение обрабатывает большую часть данных с помощью моделей, объявленных в Django, django-pneon может подойти.Он достаточно хорошо обрабатывает аутентификацию из коробки, поэтому может решить некоторые ваши проблемы с безопасностью.

Если вы смотрите на решение 2 и, возможно, сценарии пишутся в хорошо структурированный табличный формат некоторых видов,есть Tablib .

Я бы, вероятно, реализовал какую-то инфраструктуру обмена сообщениями, такую ​​как RabbitMQ , и имел бы функцию приложения в качестве «приемника», куда сценарии будут отправлять своиобновить как сообщения.Здесь много возможностей, которые, возможно, будет легче сузить, выбрав подход и попробовав его.Надеюсь, это поможет.

...