Я хочу получить несколько советов по структуре веб-приложений (предпочтение отдается Python, но с Ruby тоже все в порядке), которые я могу научить, чтобы помочь мне в конечном итоге решить проблему, которая есть в моей организации.
Я хотел бы создать приложение для создания диаграмм / графиков, которое поможет нам лучше анализировать большие объемы данных, которые у нас есть, новыми способами, чтобы находить тренды и т. Д., Не тратя много времени на каждый отдельный сценарий.
Первая часть этого приложения - приложение для создания диаграмм на основе наших данных.Мы уже используем такие инструменты, как Crystal Reports, но я хотел бы создать нечто, обладающее немного большей бизнес-аналитикой и способностью связывать данные друг с другом в одно целое и отдельно.
Вот некоторые особенности, которые я надеюсь выполнить:
- Контроль уровня пользователя / разрешения.Кто может CRUD в каких областях.
- Связь с устаревшей базой данных Oracle и выполнение как можно большего количества запросов (только для чтения) из Oracle
- Создание некоторой сводной статистики (ежемесячно, ежедневно, каждые 15 минут)на основе данных из базы данных Oracle, которыми манипулируют для предоставления статистических данных другого типа, которые недоступны в базе данных Oracle.Они, вероятно, будут храниться в локальной базе данных.Запланированные задачи - это то, о чем я думаю, поэтому данные локально обновляются автономно через регулярные промежутки времени.
- Используйте графическую библиотеку, такую как Google Chart Tools или Highcharts, чтобы связать данные с HTML.Приятно выглядящие диаграммы, которые не являются обременительными для генерации (для меня или для сервера) и предоставляют элементы управления для обновления / фильтрации результатов диаграммы, например, ограничивают временной интервал с помощью ползунка или фильтруют результаты с помощью раскрывающегося списка.
- Должен работать на Windows Server.
Я посмотрел на несколько фреймворков, и у каждого есть вещи, которые мне нравятся, но как новичок в мире веб-фреймворков, я не совсем уверен, что знаю о «ошибках», которые я мог бы запуститьздесь были мои наблюдения до сих пор.Обратите внимание, что некоторые из них могут не соответствовать действительности, я пытался исследовать эти проблемы, но подключение веб-приложений к Oracle является своего рода незначительным случаем, который делают не многие, поэтому информация не так плодотворна, как, например, PostgreSQL или MySQL.
Web2Py - Это кажется самым дружелюбным для нового разработчика, который мне нравится.Примерно за один день я смог запустить и запустить базовый сайт и подключить его к некоторым фиктивным данным, чтобы вывести некоторые базовые инструменты Google Chart.Я начал исследовать соединение с серверами Oracle и обнаружил, что, хотя он, кажется, достаточно прилично поддерживает тип «устаревших» соединений, необходимо вручную определить каждую модель из устаревшей базы данных.Для меня это было бы проблематично.Несколько сотен таблиц с 30-150 столбцами в каждой означает много «ручного кодирования» некоторых действительно утомительных вещей.Добавьте к этому тот факт, что таблицы добавляются / схемы меняются 2-3 раза в год, и это станет кошмаром для менеджмента.Одна вещь, которая мне действительно понравилась в web2py, это то, что в него встроен планировщик, поэтому регулярное извлечение необходимых данных из oracle будет довольно простым.
Django - Как только я узнал, что такое PITA, чтобы выполнить все моделирование в Web2Py, я сразу же посмотрел на Django, чтобы увидеть, что он может предложить,Он лучше поддерживает создание модуля, предоставляя инструмент для создания модели на основе устаревшей базы данных.Документация даже признает, что она не идеальна, но, вероятно, она поможет мне на 90% с небольшой настройкой, это может быть очень полезно.К сожалению, у него нет официальной поддержки, а есть только базовая поддержка Oracle.
Flask - я посмотрел на Flask из-за хорошего опыта работы с SQLAlchemy, когда дело дошло до этого. Я не тратил столько времени на просмотр Flask, сколько на Web2Py или Django, но то, что я увидел, выглядело хорошо. После очередного поиска в документации веб-приложения я решил обратиться за советом к специалисту и пришел сюда, чтобы написать.
Как я уже упоминал, я использовал SQLAlchemy, и мне очень понравилось, как мне удалось довольно легко определить базовый каркас для моей модели и сказать алхимии, что нужно загружать данные из Oracle, я думаю, что мне все равно нужно добавить отношения, но если это все, что мне нужно добавить я далеко впереди игры.
Я знаю, что некоторые люди обменивают Django ORM с SQLAlchemy, но мне интересно, является ли это постоянным тяжелым сражением или стоит что-то серьезно предпринять?
Мои предпочтения и способности больше склоняются к фреймворкам Python, но я проделал некоторую работу с Ruby и не был бы против действительно отличной фреймворки Ruby, которая могла бы выполнить все это.
Кроме того, я приветствую любые просьбы о разъяснениях, а также любые комментарии. Как я уже сказал, я довольно новичок в веб-фреймворках и на самом деле очень люблю изучать новые вещи, но хочу продуктивно тратить свое время на работу над запуском этого проекта, а не углубляться в вещи только для того, чтобы понять, что я должен был выбрать другую фреймворк. 1047 *