рекомендации по технологиям для LAN Dashboard

Я собираюсь начать довольно большой проект для среднего бизнеса с большой интеграцией с другими системами (POS, бухгалтерия, веб-сайт, инвентаризация, закупки и т. д.) Цель системы - попытаться уменьшить текущие данные разрозненность и предоставить сотрудникам доступ на основе ролей к вводу определенных данных и отчетов, которые им нужны, а также заменить некоторые ручные и избыточные бизнес-процессы. Система должна быть кросс-платформенной (Windows/Linux), с открытым исходным кодом и в первую очередь для использования в локальной сети.

Мой опыт в основном связан с разработкой PHP/веб-приложений/приложений, но я разработал несколько приложений для локальной сети с использованием Java/Servoy (например, Filemaker). Я обнаружил, что Servoy работает очень быстро и легко использует различные поставщики данных (продукты БД), но это не открытый исходный код, и любая нестандартная разработка выполняется на Java/Swing (что многословно и занимает много времени).

Я заинтересован в изучении Python/Django или Ruby/Rails, но я не уверен, являются ли они лучшими решениями для создания критически важного приложения для ввода/отчетности данных LAN. Является ли веб-клиент/сервер действительно хорошим выбором для такого типа приложений?

Заранее спасибо за любые советы/советы.


person Tony    schedule 12.08.2009    source источник
comment
Servoy с тех пор стал открытым исходным кодом.   -  person Bitsplitter    schedule 05.11.2010


Ответы (4)


Если вам удобно работать со стеком в стиле LAMP с PHP, то нет никаких причин, по которым вы не можете использовать Django или Rails. Оба являются зрелыми, хорошо задокументированными платформами с активными, полезными сообществами.

Основываясь на том, что вы описали, нет никаких причин, по которым вы не можете использовать какую-либо технологию.

person Greg    schedule 12.08.2009
comment
Являются ли несколько подключений к БД в одном представлении возможным ограничением этих технологий? - person Tony; 13.08.2009

Обе эти технологии, безусловно, достаточно зрелые, чтобы запускать критически важные приложения, вам просто нужно посмотреть на количество крупных сайтов, уже работающих в Интернете, на которых работают эти технологии, так что с этой точки зрения вам не о чем беспокоиться.

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

Надеюсь, ваше приложение пройдет успешно :)

person nitecoder    schedule 12.08.2009
comment
(Я предполагаю, что вы знаете рельсы, основываясь на вашем прозвище.) Я обнаружил, что проблема с фреймворками заключается в объединении нескольких соединений/продуктов БД в одном представлении. Я нашел гем magic_multi_connections для рельсов, но это все еще бета-версия. Кажется, что нет собственного способа установить несколько соединений, что более прямолинейно с Servoy/Filemaker или Java Hibernate. - person Tony; 13.08.2009
comment
Я написал что-то, что работает на рабочем сайте, что позволяет различным моделям находиться в разных базах данных. Посмотрите на github.com/cherring/connection_ninja. - person nitecoder; 13.08.2009
comment
Спасибо, railsninja! Я узнал, что функция multi-db активно работает для обновления Django, поэтому я думаю, что попробую. - person Tony; 14.08.2009

Вы также можете взглянуть на ExtJS для внешнего интерфейса. Я создал внешний интерфейс ExtJS для приборной панели компании и использовал серверную часть Django для управления отправкой URL-адресов, ORM и извлечением данных (взаимодействие с интерфейсом с веб-сервисами JSON), и пользователям это нравится, потому что он почти такой же интерактивный, как локальный приложение (используйте что-то современное, например, Firefox 3.5, Chrome, Safari 4 или Explorer 8 для лучшей производительности javascript), но простое в управлении для программистов и администраторов (без установки, без локальных резервных копий, без проблем с обновлением и т. д.)

person juanjux    schedule 12.08.2009
comment
Я обнаружил, что проблема с Django заключается в том, что ORM не может работать с несколькими поставщиками данных (продуктами БД). У меня есть данные о продуктах, покупках и транзакциях в отдельных БД, и я не могу отключить системы, использующие эти БД, чтобы поместить их в один склад. Мне нужно подключиться ко всем им и привести данные в один вид для редактирования/обновления. Любые мысли о том, как это сделать с Django? - person Tony; 13.08.2009
comment
Я никогда не думал об этом; все времена, когда я использовал Django, был с одной БД. Было бы интересно, если бы вы задали этот вопрос на его собственной странице здесь, в stackoverflow, потому что меня, безусловно, интересуют ответы. - person juanjux; 13.08.2009
comment
Думаю, у меня есть ответ, janjux. Посмотрите multi-db в группе django-developers Google. - person Tony; 14.08.2009
comment
Приятно знать, что есть план по слиянию с 1.2. Также интересным выглядит решение использования Django с Elixir в качестве ORM. - person juanjux; 14.08.2009
comment
Я считаю, что это будет в обновлении SVN, а не в запланированном полном выпуске. Если до 1.2 не выйдет, то, я думаю, у нас есть время подождать, так как 1.1 вышла всего 2 недели назад. - person Tony; 14.08.2009
comment
Багажник Django очень стабилен. Если вы придерживаетесь стабильного API (не используя какие-либо новые API-интерфейсы транков, кроме одного с несколькими базами данных), у вас должно быть нормальное развитие с транком, пока 1.2 не станет окончательным. - person juanjux; 15.08.2009

Всем спасибо за полезные ответы! Я думаю, что они решают большинство вопросов, поднятых вопросом. Но я думаю, что ключ к «окончательному ответу» (IMO) лежит в аспекте «множественной базы данных». Railsninja предложил часть программного обеспечения, которое он использовал для проекта, чтобы таким образом расширить функциональность рельсов — спасибо за ссылку! Это могло быть возможным решением, но похоже, что оно использовалось для одного проекта, и я беспокоюсь о тестировании, поскольку оно не является частью основной сборки Rails.

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

person Tony    schedule 13.08.2009
comment
Кроме того, кто-то предложил использовать Django с Эликсиром (который использует SQLAlchemy) вместо собственного ORM Django. Это решение тоже выглядит интересно и может быть использовано прямо сейчас. - person juanjux; 14.08.2009