powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / открыть файл на машине клиента
12 сообщений из 37, страница 2 из 2
открыть файл на машине клиента
    #38442446
ART-CODE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
История создания:
Все началось с того, что когда я пришел на эту работу, мне в наследство досталось пара десятков программ,
очень криво на писанных, на Delphi и C++Builder.

В них, например, могли селектами вида select * from sometable - на клиента выбирать несколько таблиц с сервера,
далее раскручивать рекордсеты в цикле, добиваясь функциональности джойнов.
В результате задание отрабатывало иногда по несколько суток.
Комп тупо включали на 3 дня для получения отчета.

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

Затем пришла пора разобраться с авторизацией - она была прошита прямо в коде программ:
Если юзер такой-то то выполняем блок кода такой, иначе пишем сообщение "нет права доступа."
Понятно, что это бред - перекомпилировать каждый раз кучу программ для настройки доступа.
Так я пришел к авторизации средствами SQL сервера , а там (на сервере) уже рулим правами на таблицы и хранимки.

Попутно возникла идея постепенно отказаться от покупки MS офиса для тех машин, для которых он не критично необходим.
А это означает отказ от вывода печатных форм в ворд и эксел.
А что тогда ?
Delphi и C++Builder для этого предполагают использование отчетных систем типа fastreport, crystalreport.
Но я решил отказаться от такого способа и стал делать все печатные формы в HTML . Далее напишу - почему.
(Чуть позже появился OpenOffice - и сейчас он тоже поддерживается моей системой.
Разумеется, функционал системы поддерживает вывод и в Word и в Excel, но я стараюсь избегать их использования.)

Набор программ на Delphi и C++Builder имеет несколько недостатков:
1 - разные языки программирования, очевидно, что нужно привести все к одному ЯП.
2 - авторизация в каждой программе отдельно (плюс то, что в коде прошиты права доступа).
3 - нужно выгонять всех из программ , в случае если нужно подложить перекомпиленный exe
4 - Где найти исходники ?!! Нужно ли говорить, что никакой version control system небыло ?
Была о-о-о-чень большая проблема найти актуальные исходники.
Ну что, нашел ?
А теперь пройди следующий уровень квеста: попробуй найти среду разработки !
5 - Настройка среды разработки под каждую программу - установка "той самой" версии среды разработки
и каких-нибудь экзотических компонент. Да, отпортировать проект в единую среду зачастую нельзя из-за отсутствия компонент.

Я решил так:
Пусть исходники бекапятся вместе с базой. Всегда будем иметь под рукой актуальную версию.
Доступ к оперативной правке исходников не должен зависеть от среды разработки. Т.е. "Минимум миниморум" - блокнот.
Изменения в программе должны вступать в силу без необходимости "всем выйти из программы".

Из этого следует:
Что нужно обеспечить динамическую подгрузку форм и программного кода.
Я делал динамическую подгрузку форм Delphi и C++Builder (dfm) я умею собирать dll и динамически их подгружать.
Здесь, кстати, на форуме у кого-то есть такой проект, и его тоже пытались обливать помоями. (Религия - страшная вещь.)
Но в своем проекте я все-же решил сделать ставку на HTML + VBS

Как работает:
Проект сначала загружает стартовую страницу, на которой есть пункты меню, появление которых зависит от прав пользователя.
При клике на пункт меню - из БД подгружается HTML форма (напр. параметры отчета за период по типам показателей) и VBS код формы.
Пользователь работает с контролами формы, и в результате его действий на сервере отрабатывают хранимые процедуры.
Если по результатам работы нужно что-то распечатать, то печатная форма - как HTML может быть отображена
в нередактируемом варианте (HTML-страничка) или может быть выведена в CKEditor для правки.

Прототип:
Изначально проект был создан как HTA-приложение (К этому у аудитории претензий нет ? Все законно ?)
Затем я захотел скрыть от конечного пользователя внутренние механизмы программы.
Так появился IE с расширенными правами для локального сайта и усиленной защитой.
Т.е. формы и скрипты загружаются по ssl в спец. скомпиленый браузер (IE), который не позволяет видеть исходник.

Мне самому тоже не очень нравится так "возиться" с IE и его правами.
Но оглядываясь назад - следует признать, что это все-же лучше, чтем то, что было раньше:
- Решена проблема исходников (+)
- Отказ от покупки дорогих сред разработки и компонентов ($+)
- Нет потери рабочего времени на разворачивание сред разработки, установку компонентов (+)
- Нет потери рабочего времени на компиляцию программ (а она достигала 30 - 40 минут по некоторым программам) (+)
- Отказ от покупки офиса для тех машин, где он не завязан на другие программы ($+)
- Никого теперь не выгоняют из программ каждый час - нет потери рабочего времени других сотрудников (+)
- Централизованная раздача прав доступа через User Role на сервере. (+)

Теперь ,зайдя на сервер через Pl-sql developer я вижу и редактирую
и данные и хранимки и HTML-формы с контролами и VBS скрипты и печатные HTML-формы.
Все это не переключаясь межу разными средами разработки (!) - как было раньше.

Удобно, быстро, гибко.
PROFIT

От чего отказался:
- от выделенного сервера приложений
т.е. от посредника между клиентом и БД
Во-первых - чтобы не было двойной авторизации:
сначала клиенту нужно как-то авторизоваться на сервере приложений,
затем сервер приложений должен будет авторизоваться в БД от имени клиента.
Зачем этот огород ? Выкинул за ненадобностью.
Во-вторых бизнес логика вся в хранимках - и чем вообще, тогда, заниматься серверу приложений, если в нем нет бизнес-логики.
Добавлять путаницы с авторизацией ? (см. пункт выше ).

Что дальше ?
Дальше думаю как избавиться от проблем с настройкой безопсности IE
одно из возможных решений - написание собственного браузера и собственного интерпретатора кода VBS.
В результате такой браузер будет работать вне контекста безопсности IE . что и есть в данном случае PROFIT

Например, так уже сделали в Unisab - там тоже можно писать расширения системы на VBS,
но он исполняется их собственным интерпретатором, а не wscript.exe
Вот к этому, вероятно, я тоже приду постепенно.
_______________________
Извините, много букв :)
...
Рейтинг: 0 / 0
открыть файл на машине клиента
    #38442454
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ART-CODE,
авторНикого теперь не выгоняют из программ каждый час
а зачем выгонять каждый час?
...
Рейтинг: 0 / 0
открыть файл на машине клиента
    #38442460
ART-CODE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи,
Ну, я образно выразился. Не каждый час по расписанию, конечно, но часто :)
Выгогяли по много раз в день по каждому "чиху".
То нового сотрудника приняли - нужно перекомпилить программу, чтобы дать права доступа,
то печатную форму подравить - нашл орфографическую ошибку, то логику рассчета попросил кто-то подправить.
то сам разработчик спохватился, найдя в коде явную ошибку.
Короче, целый день так и летали по сети мессаги всем срочно выйти их программы ХХХ
затем из программы YYY и т.д.
Затем ждали когда "отпустят" старый exe чтобы подложить новый.
Ну я для этого спецом батник написал, который ждать умеет и подменяет, когда освободится.
Но иногда "тупо ждать" было нельзя: и админы грохали процессы, которые держат файл.

А иногда вообще-хохма:
Винда кешировала сетевую папку и запускала старую
версию EXE когда в сети давно уже новая версия лежит.
...
Рейтинг: 0 / 0
открыть файл на машине клиента
    #38442468
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ART-CODE,
да бред какой то... мезозой
...
Рейтинг: 0 / 0
открыть файл на машине клиента
    #38442472
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ART-CODEЯ, как главный разработчик ПО, даю указание админам обеспечить на машинах наличие всего
Вот это да, целый главный разработчик!


ART-CODEДа, кое-кого здесь учить нужно, причем сначала культуре общения, а затем методам разработки.
Про культуру общения можешь своим "подчиненным админам" рассказать, а по делу - тут. Так шта вытирай сопли и не ной, надавали по заднице, значит за дело. Трепи.

ART-CODEС одной стороны, на весах у нас есть реально работающая система,
с другой стороны - ее критика с аргумантами на интеллетктуальном уровне школоты.
M-m-m... что же выбрать ?
С одной стороны - выбрана не верно платформа разработки (читай, архитектора на кол вместе с главным разработчиком). С другой стороны - сделано это чрезвычайно отвратительно. Я бы еще понял, если бы в качестве утолщения приложения со стороны клиента использовался флеш или сильверлайт со своим безопасным изолированным хранилищем . Но то, что предлагаешь ты - истинный показатель твоей убогой "компетенции" по вопросу.

ART-CODEНу, здесь есть небольшой косяк в организации бизнес-процесса.
В идеале - никакого файла экселя быть не должно.
Редактировать все данные нужно прямо в интерфейсе системы.
Но, так уж пожелал заказчик.
Небольшая поправочка, небольшой косяк не в организации бизнес-процесса, а в голове того, кто предлагает использовать vb скрипты в браузере. Испытай радость с петлей на шее (с)

ART-CODEВ целом, система работает, и хорошо себя зарекомендовала.
А из каких соображений она разрабатывалась именно в таком виде
Я не озвучивал, поэтому судить поверхностно то, чего не знаете - не умно.
Аккуратно минируем себя взрывчаткой и с уверенностью знатной codemonkey успокаиваем общество, приводя в аргументы факт того, что безопасность на высоте, всё настроено должным образом, я "профи" - и вот вам по бронежилету в подарок. Не нервничайте, люди. Зачёт, чё.

ART-CODEУ меня есть опыт разработки на разных языках. И клиентов и серверов.
В частности, с загрузкой данных из excel работал в delphi, c++, php, vbs,
плюс загрузка самим сервером : t-sql, pl-sql.
Да ты просто монстр, дружище! Твоя мощь и величие не знает предела, разреши пасть ниц и поцеловать твои ступни, учитель?

ART-CODEЖаль, что приходится это обьяснять кому-то там в интернет, кто не желает думать прежде чем писать такие слова.
Такие слова тебе пишет интернет по одной простой причине - заканчивай писать бред сивой кобылы, мне даже отчасти тебя жалко и смысл дискуссии сводится на нет. Просто страшно дискутировать с человеком, который пишет о том, что vb-скрипт - это хорошее решение. Если нужен толстый клиент - есть отдельные рекомендованные безопасные нечерезжопные пряморукие технологии, с помощью которых можно выкатить реализацию.
...
Рейтинг: 0 / 0
открыть файл на машине клиента
    #38442477
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ART-CODEИстория создания
Прочитал со слезами на глазах... На лицо дезориентация пациента в пространстве и времени. На лицо отсутствующий напрочь процесс разработки. Я даже не заикаюсь про правильно поставленный процесс, так как там и ставить нечего. На лицо полное отсутствие навыков построения масштабируемых, надежных, отказоустойчивых систем. Разработка вида каких-то залипушек и нашлепок для единственной цели "чтобы хоть работало" обычно смывается в унитаз.
Диагноз: пациент нуждается в срочном амбулаторном лечении с постепенным выведением его из мезозоя средствами иглоукалываний и шоковой терапии.
...
Рейтинг: 0 / 0
открыть файл на машине клиента
    #38442481
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,
Да ладно те уж, научится со временем, а в общем то прально, у нас ведь как - с начало кодят, а потом думают..
...
Рейтинг: 0 / 0
открыть файл на машине клиента
    #38442483
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степиМСУ, Да ладно те уж, научится со временем
Я думаю случится это не скоро...

Где-то в степиа в общем то прально, у нас ведь как - с начало кодят, а потом думают..
Инопланетянен знатный забрел в форум ASP.NET
...
Рейтинг: 0 / 0
открыть файл на машине клиента
    #38442550
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ART-CODE- Отказ от покупки дорогих сред разработки и компонентов ($+)

звучит так, как будто выделенные деньги компании на покупку "дорогих сред разработки и компонентов" пошли лично вам в карман

на самом деле, что можно хорошего сказать о компании, которая не может даже раскошелится на нормальных вменяемых специалистов ? не говоря уже о чём-то большем. вот так и получается. одни уходят, оставляя после себя тонны не сопровождаемого мусора. другие приходят, начинают разгребать эту кучу и в итоге создают новую кучу мусора (на костях старой), но уже совершенно другой, уникальной и неповторимой формы. и так далее...
...
Рейтинг: 0 / 0
открыть файл на машине клиента
    #38442577
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
так он наверное у Милонова работает, там пойдет..
...
Рейтинг: 0 / 0
открыть файл на машине клиента
    #38443372
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
предлагаю всем вернуться от обсуждения личностей к обсуждению технологий.
...
Рейтинг: 0 / 0
открыть файл на машине клиента
    #38443540
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Впрочем, перенести бизнеслогику на SQL-сервер - однозначно поддерживаю.
...
Рейтинг: 0 / 0
12 сообщений из 37, страница 2 из 2
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / открыть файл на машине клиента
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]