Форум: "Потрепаться";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];




Вниз

Складской учет и Delphi 


wHammer   (2001-12-03 11:09) [0]

Сегодня по дороге на работу разговаривал со одним из своих коллег, он несколько лет занимается разработкой и сопровождением программ для складского учета. Все делает на Paradox"е(PAL). На мои высказывания по поводу архитектуры клиент-сервер, Дельфей и сервера InterBase, под который мне приходилось разрабатывать приложения (не складского учета), он ответил что Delphi - это не язык, и на нем ничего конкретного не сделаешь, InterBase вообще не пойми что, и что мои убеждения по поводу сего, лишь теория а на практике всё совсем по другому. Друзья вразумите меня, может действительно Delphi не удобна для разработки такого рода приложений, и мой оппонент был прав, все на Paradox!?



Romkin   (2001-12-03 12:44) [1]

База данных - и в Африке БД.
Object Pascal действительно никакого отношения к СУБД не имеет, вся работа через библитеки Delphi, PAL заточен под работу с таблицами Парадокс.
Насчет высказывания - это уже просто ля-ля, склад (делопроизводство и тд) я, к примеру, могу реализовать просто на чистом Interbase, и можно будет работать (гипотетически) примерно как в PDox в интерактивном режиме, с полным соблюдением целостности данных, пока пользователи не замучаются SQL вводить...
Насчет практики - не важно, на чем реализовать, лишь бы СУБД была. Сам разрабатывал склад сначала D3+Pdox, а недавно была неполная реализация склада (учет только количества, без стоимости, что сильно упрощает), с условиями:
многопользовательской работы (сейчас 5 станций),
контроль перерасхода - мгновенный ответ о недостаточном количестве, с указанием остатка,
работа со штрих-кодами (учет, поиск) - считыватели имеются,
Вывод остатков по складу,
Журнал операций,
Резервирование товара
Учет гарантийных сроков
Произвольные единицы измерения
История движения товара
Товар подразделяется по группам/изготовителю
Итог
Время разработки "с нуля" ~ 72 чел/часа
Инструмент Delphi5 + IB6
Тест - PIII-600/128Mb - сервер (станция не важна, ибо MIDAS - от P100)
500 наименований, 200000 записей
Время вывода данных (остатков, истории, и тд) не более 10 сек
Предложи своему консервативному коллеге сделать подобное на PDox



Andrey   (2001-12-03 15:05) [2]

Люди вы о чем вообще говорите,
PDox - это Файл-Серверная архитектура и для того чтоб выполнить любой запрос нужно тянуть весь файл (а файлы бывают разные) на рабочюю станцию и выполнять запрос.
IB - это Клиент-Серверная архитектура и все запросы выполняються на сервере а клиенту отсылаетсь только результат.

Скорее всего этот товарищ просто не имел дела с большими сетевыми базами.

У нас база с двумя файлами на 750000 записей каждый работает в Informix-е, при 30 активно работающих клиентах торможения не наблюдается.
Предложи своему консервативному коллеге сделать подобное на PDox.



Digitman   (2001-12-03 16:10) [3]

>wHammer
Твой коллега - просто воинствующий дилетант в этих вопросах. Не принимай всерьез его "аргументы"



petr_v_a   (2001-12-03 16:11) [4]

а я молчу :))



wHammer   (2001-12-03 16:21) [5]

Обидно, ей богу обидно...



limon   (2001-12-03 18:40) [6]

> wHammer © (03.12.01 16:21)
За себя или за коллегу?



wHammer   (2001-12-04 08:23) [7]

> to Limon
Обидно за коллегу, он уже кучу фирм в Питере обслужил, всех "сажает" на Парадокс. А убедить его...



Romkin   (2001-12-04 11:13) [8]

Значит, нормальный коллега, если бы плохо писал...
А хорошую программу написать можно практически на всем, вопрос в квалификации и времени



Andrey   (2001-12-04 11:31) [9]

> Romkin
Может я совсем темный но объясните мне пожалуста как можно организовать сетевую базу данных с архитектурой "Клиент-Сервер" используя PDox.

Нет конечно можно и свой серверок сбацать :) чтоб получал SQL запрос и обрабатывал его через BDE (или еще через что-нибудь) и отправлял на клиент результат, он IMHO это недело.

Повторюсь "Скорее всего этот товарищ просто не имел дела с большими сетевыми базами"



Romkin   (2001-12-04 11:59) [10]

Нормальный парадокс (среда разработки) довольно хорошо умеет работать с сетевой базой, также там имеются средства восстановления после сбоя. 1С, например, постоянно переиндексирует базу после сбоя (там dbf, что практически то же). Плюс, плоские базы пишутся как правило почти полностью во второй нормальной форме, для ускорения доступа, и запросов SQL просто нет - все через прямой доступ к таблицам.
Насчет большой сетевой базы: работал я в одной конторе в далеких 95-х, которая занималась доработкой/сопровождением банковской системы расчетов по магнитным картам. Система написана на FoxPro 2.5 (DOS, разумеется), и при этом обеспечивала нормальную работу on-line в типичной поставке где-то 40 станций в центре (прямой доступ к базам на сервере) и 20-30 филиалов, каждый из которых связывался по каналу 2400 с центром. Плюс банкоматы (3-5) Без тормозов, все быстро, разумеется, никаких проблем (даже переиндексаций не было). Конечно, было несколько модулей на watcom c, для работы со считывателем, работа роутера с модемным пулом и соединение маршрутизатора с роутером. По сути, маршрутизатор работал сервером приложений - принимал запрос из очереди, в котором был указан номер процедуры и параметры.



ShaggyDoc   (2001-12-04 12:29) [11]

Delphi работает в Windows, для работы с БД требует разных движков и прочих прелестей. Все это требует больших ресурсов и хорошей техники.

В то же время такие устаревшие системы как Paradox и Foxpro способны прекрасно работать с файл-серверными БД.

Romkin привел хороший пример.

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

У нас в городе имеется несколько "консерваторов", которые успешно "окучивают" множество фирм. За хорошие деньги. Имеется и много слишком грамотных ребят, болтающихся без работы. Потому, что они начинают клиентам рассказывать всякие умные вещи про SQL, клиент-сервер, трехзвенку и прочее. Начинают его воспитывать. А клиенту нужна готовая программа. Он видит, что у его "братанов" все работает, и заказывает себе такое же.

Так что подходы могут быть разными. Лучше, где надо, использовать Paradox 3.5 for Dos, чем предлагать даже для заведомо локальных БД непременно использовать Interbase (что часто делается обитателями этого форума)



wHammer   (2001-12-04 12:39) [12]

Т.е. я понял "укрепившееся" понятие "Локальная - хуже, распределенная - лучше", или "Файл-серверная - хуже, Клиент-серверная - лучше" изначально не правильно. И то и другое будет жить, согласен, всё зависит от задачи. Но мой оппонент придерживался (и придерживается) немного другой позиции, о ней я уже писал в стартовом сообщении. Смысл - "Всё новое - ничто". Я лишь пытаюсь узнать так ли это.



ShaggyDoc   (2001-12-04 12:52) [13]

Высказывание "все новое - ничто", конечно чушь.

Даже если "старое" позволяет пока хорошо кормиться. Но кормушка рано или поздно закроется.

Правильнее всегда ориентироваться на новое, как на перспективу, но не забывать и про "старое доброе....".

Конечно, если программист и родился-то после выхода Win95 OSR2, то ему нет смысла изучать какой-нибудь Paradox. Когда-то он сам будет вспоминать про Delphi 5, и говорить, что MicrosoftDelphi2012 ничто.



Romkin   (2001-12-04 13:12) [14]

Локальная/распределенная - от задачи зависит. Проблема хорошего разработчика в том, чтобы выбрать наиболее подходящее средство решения задачи, с учетом таких параметров, как операционная система у пользователей (все равно/именно эта/все разные и тд), средство решения (внедрение готовой системы, написание под заказ, и тд), аппаратная платформа, наличие или возможность набора программистов под разработку на выборе и тд. Всего - куча параметров, и приходится крутить для минимизации затрат, времени, стоимости. Задачка та еще. Поэтому утверждать что-либо трудно.
Мое мнение сейчас - если на клиентских машинах win, то лучше всего проходит для базы IB + клиент на Delphi. Для локальной - тоже, со временем, как правило, локальная база имеет тенденцию разрастаться в сетевую, и тд, и радовать клиента фактом, что для сетевой версии надо переписать почти все не след. К тому же, плоские базы на win требуют хорошего присмотра, переиндексации при множественном доступе и тд (сталкивался с несколькими системами на плоских базах под win - у всех средства восстановления после неправильного выхода из программы). IB - бесплатен, надежен, присмотра практически не требует (проверено, на win95 год без обслуживания). Делфи обеспечивает хороший рынок программистов и быструю разработку. Разумеется, этот выбор - для небольших баз данных, в ином случае надо использовать другие средства, для документооборота уровня предприятия, к примеру, Lotus Domino.
Насчет позиции "все новое - ничто" - когда-то где-то читал, что знания программиста устаревают на 100% за пять лет. Судя по всему, так и есть. А если человек, ИМХО, достиг высокого уровня в разработке чего-то одного, то ессно, может включиться этот защитный механизм, с теми или иными последствиями (догадайтесь какими). С возрастом же (по себе знаю) способности усваивать новое падают, и сейчас, даже судя по опросу на этом сайте, очень немного хороших программистов на Delphi (ей примерно пять лет) старшего возраста.
А может быть, это просто скепсис: и по-нашему, по-неученому сделать можно?



kaif   (2001-12-04 15:53) [15]

Программистам свойственен консерватизм типа кулика и болота. Лично для меня мыло сложно каждый раз что-то новое осваивать. Но я работал 3 года на FocPro 2.6 по DOS и Windows 3.11 не признавал. Потом появилась Windows"95 и я интуитивно почувствовал, что это хорошо. Выбрал тогда Delphi3 для изучения, хотя FoxPro 5.0 по Windows было мне проще освоить, так как FoxPro я знал в совершенстве. Но мне очень не понравилось то, что я увидел в FoxPro 5.0, а то, что я увидел в Delphi - понравилось. Изучать пришлось целый год, так как ООП не сразу входит в тело. Писал склады на Delphi3 + Paradox. Казалось идеально. Но все же чего-то не хватало. Потом пришлось заняться SQL. Работал и на IB и на Microsof SQL Server. В конце-концов, выбрал для себя связку Delphi5+IB5, как наилучшую для написания любых учетных программ, даже локальных (!). Сейчас перешел на IB6 из-за его улучшенного дилекта 3, расширенных возможностей работы с метаданными, отдельного типа данных DATE и хороших DECIMAL, хранящихся как INT64.
К сожалению, MIDAS и другие распределенные технологии так и не освоил. Но скажу Вам, господа, что стоящее мнение надо спрашивать у тех, кто всеми технологиями владеет и по-настоящему сравнить может. Поэтому про MIDAS не скажу, но с моей точки зрения IB - лучший выбор для учетных программ, особенно, кстати, локальных.
А застрять на какой-то технологии всегда можно. Выбор технологии - за программистом. Пользователю важен только результат и умение программиста решать собственно учетную задачу (а это немало!). Когда я пишу на IB это я О СЕБЕ думаю, а не о пользователе. Для меня это быстрее и надежнее. Изучение нового, хоть и утомительно и требует все больших усилий с каждым днем, но всегда себя оправдывает.
Так что господин, пишущий исключительно на Paradox просто сам себе враг, хоть и не подозревает об этом. Покажи ему однажды - GROUP BY как работает на 100тыс.записей, может он и призадумается. К тому же когда файл-серверная 1C двое суток считает то, что на IB за 5 сек делается, может и пользователь заинтересоваться, я Вам скажу...




Форум: "Потрепаться";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.78 MB
Время: 0.034 c
3-90195           Вика                  2001-12-21 22:25  2002.01.28  
Хранимые процедуры и рефреш таблицы


4-90429           Yuriy                 2001-11-25 22:13  2002.01.28  
ShellExecute ?


7-90401           l@z@                  2001-10-14 22:31  2002.01.28  
люди помогите! Форма, на ней поле ввода и лебел. Кнопка. нажимаем на кнопку


1-90309           Hair_Fly              2002-01-11 11:07  2002.01.28  
Как при компиляции задавать имя exe-файла ?


7-90405           Лана Розанова         2001-10-11 12:07  2002.01.28  
Путь к каталогу