2008-10-10 10 views
7

Наша компания имеет систему продаж с множеством дополнительных функций, таких как заказ и приемная функциональность, история продаж и заказов и т. Д. Наша основная проблема заключается в том, что система не была спроектирована должным образом с нуля, поэтому требуется слишком много времени, чтобы исправляет и обрабатывает запросы от наших клиентов. Кроме того, текущая технология, которую мы используем (база данных Progress, Progress 4GL для языка), несет в себе немалые расходы на лицензирование для наших клиентов из-за абонентских лицензионных сборов за подключения к базе данных и т. Д.У кого-нибудь есть база данных, язык программирования/рамки для системы точек доступа GUI?

После многого обсуждения похоже, что мы, вероятно, начнем с нуля (при сохранении текущего продукта, по крайней мере, пока). Мы ищем пару вещей:

  1. Создать систему с хорошим GUI переднего конца (в настоящий момент CHUI и заявка не была построена таким образом, что позволяет нам переделать передний конец ... нет расслоения или разделения бизнес-логики и gui ... содрогаться).

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

  3. Используйте правильные шаблоны проектирования, чтобы сделать продукт легким для добавления или изменения любой части в любое время (т. Е. Изменить базу данных или изменить внешний интерфейс, не переписывая приложение или большую часть его). Это проблема сегодня, потому что код Progress 4GL напрямую компилируется в отношении базы данных. Небольшие изменения в базе данных требуют много перекомпиляции кода.

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

Так что я ищу любые предложения о том, какие базы данных и/или рамки или языки программирования могут кому-то рекомендовать для такого рода продуктов. Любой, у кого есть опыт в этой области, может указывать нам в правильном направлении или даже иметь некоторые идеи о том, чего следует избегать. Мы рассмотрели .NET и SQL Express (нам не нужен DB уровня предприятия), но это ограничит нас окнами (насколько я знаю, так или иначе). Я слышал о Mono для написания .NET-кода в среде Linux, но пока не знаю об этом. Мы также рассмотрели реализацию Java и MySql.

Суммируя мы хотим, чтобы сделать следующее:

  1. Держите лицензирование стоит вниз по технологии мы будем использовать для разработки продукта (Oracle, Хлоп MySQL, хорошо!).

  2. Предоставьте решение, которое легко поддерживается и поддерживается.

  3. Решение, которое имеет компонент, способный работать на «старом» оборудовании через переднюю панель CHUI. (некоторые из наших клиентов имеют более 40 терминалов, которые будут тонны наличных денег, чтобы конвертировать их на ПК).

Предложения были бы оценены.

Благодаря

[UPDATE] Я хотел бы отметить, что мы в настоящее время выполняет полный анализ затрат. Этот вопрос призван дать нам пару «образованных» вариантов, которые можно было бы включить в анализ или анализ. Любой, кто мог бы поделиться опытом/предложениями о настройках клиента/сервера, был бы оценен (а не только те, у кого есть опыт работы с системами продаж), что было бы просто бонусом).

[UPDATE]

Для тех, кто заинтересован, мы закончили тем, что с Microsoft Dynamics NAV, LS Retail (плагин для точки продажи и различные другие вещи), а затем сделал некоторые (и в настоящее время работает над) работы по настройке. Эта настройка дала нам дополнительную выгоду от наличия полностью интегрированной системы g/l, которой не хватало нашей нынешней системе.

ответ

1

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

Вам нужно сделать больше работы по этому вопросу. Приятно получать мнения от веб-форумов, но мы не можем знать вашу среду так же хорошо, как и вы.

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

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

2

Java для языка (или Scala, если вы хотите быть «кровотечения края», в зависимости от того, как вы планируете, чтобы поддержать его и то, что ваши разработчики, как это могло бы быть лучше, но и хуже)

H2 для базы данных

качели GUI

Причина: Free, портативный и довольно стандартный.

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

+0

Любой шанс, что вы можете дать некоторое представление о том, почему вы предлагаете это? Есть ли особые преимущества для использования этих функций над чем-то еще? Thanks – 2008-10-10 15:54:04

+0

Java - это стандарт, поскольку он приходит. И это портативное устройство, которое, как вы предполагаете, должно быть. H2 - встроенная база данных, которая должна быть полезной в специализированном приложении, таком как ваша. Также H2 (по заявлению создателей) является исполнительным и легким. Качели, чтобы избежать зависимостей. Это достаточно хорошо. – 2008-10-10 16:50:05

+0

Спасибо, Джон. Это тот материал, который мы ищем. – 2008-10-10 16:59:10

1

Предлагаю вам использовать браузер для пользовательского интерфейса.

Организуйте свое приложение как веб-приложение.

Есть тонны вариантов для заднего конца. Вы можете использовать Java + MySQL. Байт Java спасет вас от обсуждения windows/linux, поскольку он будет работать на обеих платформах. У вас не будет никаких лицензионных затрат для Java и MySQL. (Редактирование: Определенно, есть много других языков, которые имеют время выполнения для обоих окон Linux: &, включая PHP, Ruby, Python и т. Д.)

Если вы идете по этому маршруту, вы также можете рассмотреть Google Web Toolkit (GWT) для создания интерфейса на основе браузера модульным способом.

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

1

Что такое CHUI? Character-UI, как в терминалах VT? Или даже стиль 3270?

Похоже, вам нужна трехуровневая система - бэкенд базы данных, средний уровень, на котором выполняется основная часть бизнес-процессов на внутреннем уровне, и интерфейс для интерфейса CHUI/GUI/data-gateway ,

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

Удостоверьтесь, что вы рассмотрели здесь потребности в оборудовании - собираетесь ли вы иметь сканеры штрих-кода, денежные ящики, дебетовые/кредитные терминалы POS и т. Д.? Если вы используете стандартный браузер, может быть сложно надежно интегрировать эти элементы. (По крайней мере, вам, вероятно, придется писать специальные апплеты для их обработки.)

Наконец, рассмотрим возможность использования технологии тонких клиентов в Windows. Это значительно упрощает управление системой, поскольку вам нужно только обновить программное обеспечение централизованно. Тонкие клиентские ПК дешевы - менее 200 долларов.

1

Разработка Golden Code (см. Www.goldencode.com) имеет технологию автоматического преобразования Progress 4GL (схемы и кода ... всего приложения) в Java-приложение с реляционной базой данных (например, PostgreSQL) , В настоящее время они поддерживают очень полную среду CHUI, и они реорганизуют код. Например, преобразование разделяет пользовательский интерфейс, модель данных и бизнес-логику на отдельные классы Java. Весь результат - замена, совместимая с оригиналом (пользователям не требуется переподготовка, процессы не нужно изменять, данные также переносятся). Это возможно, потому что они обеспечивают сервер приложений и набор классов времени выполнения, которые обеспечивают эту совместимость. Результатом автоматического преобразования не является то, что требует дальнейшего редактирования, прежде чем вы сможете его компилировать и запускать. Поддержка терминальных терминалов включена, так что аппаратные терминалы все еще работают (для доступа к NCURSES с Java требуется небольшая библиотека JNI). Вся остальная часть кода во время выполнения - чистая Java. В полученной системе не используется технология Progress Software Corp, и она работает в Linux.

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