Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.06.14;
Скачать: [xml.tar.bz2];

Вниз

ASP.Net vs Java vs не знаю что еще.   Найти похожие ветки 

 
Petr V. Abramov ©   (2009-04-04 19:48) [0]

условия:
есть главный офис в Подмосковье в промзоне, инет канал 1 Мбит вполне себе стабильный, шире в ближайшее время врядли станет, по мере удаления от окружной дороги города цена инета растет по экспоненте.
По всему замкадью есть филиалы, расположены в живописных местах типа "ст. Урюпинск-Товарная-Третья,  12-й тупик за 17-м переездом, корп. 8-ж, стр. 15, у вторых железных ворот три раза постучать в зеленую дверь". С инетом там вообще плохо, он везде есть, но дорогой и отвратный.
Филиалы, с одной стороны, являются просто удаленными складами, с другой стороны, многие из них сами юрлица, в т.ч. нерезиденты, и относительно самостоятельно "ведут" свой круг клиентов, т.е. по отношению к офису являются "консолидированными заказчиками".
Задача:
в максимальном онлайне организовать от филилов передачу заказов и отчетов о поступлении денег, от офиса - информации о судьбе заказов
Варианты вижу такие:
1. не мучаться и поставить обычного клиента базы в офисе. Хорошо, но совсем неохота открывать базу на весь инет, ни о каких выделенных IP в филиалах речи не идет. Почти отпадает
2. Классический сайт типа инет-магазина. Хорошо, но работать на местах долго будет.
3. Что-то типа "сайт Delphimaster + клиент Delphimaster". Минимум трафика + локальная база. Отлично, но не представляю, как это работает.
4. Может, есть какая-то простая хорошая идея, о которой я в силу своего чайництва и инет-технологиях просто не подозреваю.
5. Оптравлять файлики по мылу. Не круто, и в данном случае по этому поводу не подходит.


 
Рамиль_   (2009-04-04 20:04) [1]

1 или к терминалке. Для VPN достаточного прямого IP c одной стороны.


 
Petr V. Abramov ©   (2009-04-04 20:07) [2]


> Рамиль_   (04.04.09 20:04) [1]

терминалка тоже тормозить будет.
[1] ну очень не хочется, хотя самое быстрое.


 
turbouser ©   (2009-04-04 20:13) [3]


> Petr V. Abramov ©


> 1. не мучаться и поставить обычного клиента базы в офисе.

Нормальный вариант. Шифровать и сжимать трафик - запросто. безопасно и практично. ZebeDee например.


 
Petr V. Abramov ©   (2009-04-04 20:20) [4]


> turbouser ©   (04.04.09 20:13) [3]

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


 
turbouser ©   (2009-04-04 20:21) [5]


> Petr V. Abramov ©   (04.04.09 19:48)  

Как было сделано у меня на одной из предыдущих работ - сервер в хм.. скажем в головной конторе, клиенты - их много :) связь у всех клиентов отстойная. Сервак аля прокси с FreeBsd с ipfw + ZeeBeeDee - и нет проблем. Трафик шифруем, жмем по максимуму - все Ок. Клиентам, правда, тоже надо ставить ZeeBeeDee... Но ето не проблема - есть под вынь :)


 
turbouser ©   (2009-04-04 20:23) [6]


> Petr V. Abramov ©   (04.04.09 20:20) [4]

Наружу можно выставить хоть первый пенек с линухом (лучше с бсд :) ) всего-то редирект...


 
Petr V. Abramov ©   (2009-04-04 20:29) [7]


> turbouser ©   (04.04.09 20:21) [5]

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


 
Petr V. Abramov ©   (2009-04-04 20:30) [8]


> turbouser ©   (04.04.09 20:23) [6]

ребята и так не бездельничают, а тут им еще линух :)


 
turbouser ©   (2009-04-04 20:33) [9]


> Petr V. Abramov ©   (04.04.09 20:30) [8]

:) тогда не знаю... винды наружу - это как-то экстремально :)


 
Petr V. Abramov ©   (2009-04-04 20:44) [10]


> turbouser ©   (04.04.09 20:33) [9]

угу ;)


 
Городской Шаман   (2009-04-04 20:49) [11]


> Petr V. Abramov ©   (04.04.09 19:48)  


Если самописка то http://www.remobjects.com/ А дальше хош .ПТУ, хош Delphi.


 
turbouser ©   (2009-04-04 20:55) [12]


> Городской Шаман   (04.04.09 20:49) [11]

Чего? при чем тут remobjects ?


 
Petr V. Abramov ©   (2009-04-04 20:58) [13]


> Городской Шаман   (04.04.09 20:49) [11]

посмотрел, интересная штука по описанию.
но, я ж так понимаю, это развитие варианта1?
и наш ответ .Net Remoting?


 
boa_kaa ©   (2009-04-04 21:25) [14]


> Petr V. Abramov ©   (04.04.09 20:30) [8]

Один раз настраивается и забывается о его существовании :)


 
KilkennyCat ©   (2009-04-04 21:30) [15]


> boa_kaa ©   (04.04.09 21:25) [14]

это ты о виндах? о_О


 
Petr V. Abramov ©   (2009-04-04 21:32) [16]


> ZeeBeeDee

а кто-нить уверен, что оракул через него работать будет?

и чем несерьезен вариант4 из [0]?


 
Petr V. Abramov ©   (2009-04-04 21:35) [17]

Petr V. Abramov ©   (04.04.09 21:32) [16]

> ZeeBeeDee

и чем несерьезен вариант3 из [0]?


 
turbouser ©   (2009-04-04 21:39) [18]


> Petr V. Abramov ©   (04.04.09 21:32) [16]

Через него все будет работать. Хот оракл, хоть смтп, хоть что угодно :)
Уверен. Проверено.


 
turbouser ©   (2009-04-04 21:40) [19]


> Petr V. Abramov ©   (04.04.09 21:35) [17]

Безопасность ставится в 0


 
turbouser ©   (2009-04-04 21:41) [20]


> Petr V. Abramov ©   (04.04.09 21:32) [16]

:) см. turbouser ©   (04.04.09 20:13) [3]


 
Petr V. Abramov ©   (2009-04-04 21:42) [21]


> turbouser ©   (04.04.09 21:40) [19]

почему?
ну понятно, что на уровне IIS, а что, ZeeBeeDee круче?


 
turbouser ©   (2009-04-04 21:54) [22]


> Petr V. Abramov ©   (04.04.09 21:42) [21]

Круче :)


 
Petr V. Abramov ©   (2009-04-04 22:15) [23]


> turbouser ©   (04.04.09 21:54) [22]
> Круче :)

угу, только если чё ZeeBeeDee это я насоветовал хз что, а IIS - дык всем известно, что маздай, оно у них изначально есть, идите в Редмонд с претензиями.
Я не стебусь.


 
turbouser ©   (2009-04-04 22:24) [24]


> Petr V. Abramov ©   (04.04.09 22:15) [23]

нЕ, НУ ЭТО ПОЛНЫЙ Пэ..


 
Petr V. Abramov ©   (2009-04-04 22:27) [25]


> turbouser ©   (04.04.09 22:24) [24]

да ладно, спс, недурсвенный выход подсказал на случай чаво.


 
KSergey ©   (2009-04-05 07:10) [26]

> turbouser ©   (04.04.09 20:33) [9]
> :) тогда не знаю... винды наружу - это как-то экстремально :)

Как крепки легенды (у которых и почвы-то нет, если разобраться)  - просто поражаюсь!


 
Sergey Masloff   (2009-04-05 08:55) [27]

Petr V. Abramov ©   (04.04.09 20:58) [13]
>посмотрел, интересная штука по описанию.
>но, я ж так понимаю, это развитие варианта1?
>и наш ответ .Net Remoting?
Интересно только до начала массовой эксплуатации. Потом можно в такую Ж влезть...
 Могу приватно рассказать о опыте реальной эксплуатации. Причем на этапе испытаний все было отлично.


 
b z   (2009-04-05 11:38) [28]


> ASP.Net vs Java vs не знаю что еще.
ASP.Net, в филиалах ставите локальную субд, работают в локалке. Данные реплицируете. если взять тот-же MS SQL Server, то там вариантов настройки репликации масса, всегда можно выбрать подходящий. Думаю в оракле тоже не мало.
ps:клиентов можно на silverlight, красиво и дешево :)


 
Petr V. Abramov ©   (2009-04-05 12:06) [29]


> Sergey Masloff   (05.04.09 08:55) [27]
> Могу приватно рассказать о опыте реальной эксплуатации

было бы интересно. думаю, как снег сойдет надо был бы :)
правда, подруга у меня давно другая, но это дело не меняет :)


> b z   (05.04.09 11:38) [28]
> Данные реплицируете.

что-нить серьезнее акцесса там ставить жестоко и некуда, да и работников в филиалах по 5+ человеков


 
Тимохов ©   (2009-04-05 12:17) [30]


> Sergey Masloff   (05.04.09 08:55) [27]
>
> Petr V. Abramov ©   (04.04.09 20:58) [13]
> >посмотрел, интересная штука по описанию.
> >но, я ж так понимаю, это развитие варианта1?
> >и наш ответ .Net Remoting?
> Интересно только до начала массовой эксплуатации. Потом
> можно в такую Ж влезть...
>  Могу приватно рассказать о опыте реальной эксплуатации.
>  Причем на этапе испытаний все было отлично.


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


 
Sergey Masloff   (2009-04-05 13:02) [31]

Тимохов ©   (05.04.09 12:17) [30]
>Сергей, я тоже хочу послушать, т.к. иногда ремобджектам тоже присматриваюсь
Ну в самом общем виде - мне лично очень понравились и при первом знакомстве и при тестовой разработке. При попытке реально использовать началось странное - внезапно возникающие массовые ошибки. На клиенте проявляется в виде исключений типа "invalid operation", "AV" и подобным.
Все это (к примеру) на системе которая отработала пару месяцев, настройки гарантировано но менялись, сеть мониторится непрерывно никаких проблем внезапно возникших нет. Ошибки именно плавающие - может не работать например у 5 пользователей из 8 в одной комнате, может начать валиться сразу у целого филиала. Частота такая что буквально работа останавливается. И через несколько дней может устаканиться само а потом с теми же симптомами начаться в другом месте (или не начаться и опять пара месяцев стабильной работы). Статистика такая (грубо) идет фон скажем тысяча ошибок в день в целом по системе. Так продолжается скажем месяц и вдруг начинает шарашить по 100 тысяч в час.
 Поиск причин не увенчался успехом (кроме нахождения товарищей по аналогичному несчастью). Да там на формуме ихнем если поискать тоже есть подобные отзывы.
 Воспроизвести все это локально не удается. Вобщем в эксплуамтацию не пошло.


 
Медвежонок Пятачок ©   (2009-04-05 13:08) [32]

либо асп.нет + htps
либо виндовый клиент + сервер приложений в центре + крипто


 
iZEN   (2009-04-05 19:53) [33]


> Petr V. Abramov ©   (04.04.09 19:48)
> Задача:
> в максимальном онлайне организовать от филилов передачу
> заказов и отчетов о поступлении денег, от офиса - информации
> о судьбе заказов
> Варианты вижу такие:
> 1. не мучаться и поставить обычного клиента базы в офисе.
>  Хорошо, но совсем неохота открывать базу на весь инет,
> ни о каких выделенных IP в филиалах речи не идет. Почти
> отпадает
> 2. Классический сайт типа инет-магазина. Хорошо, но работать
> на местах долго будет.
> 3. Что-то типа "сайт Delphimaster + клиент Delphimaster".
>  Минимум трафика + локальная база. Отлично, но не представляю,
>  как это работает.
> 4. Может, есть какая-то простая хорошая идея, о которой
> я в силу своего чайництва и инет-технологиях просто не подозреваю.
> 5. Оптравлять файлики по мылу. Не круто, и в данном случае
> по этому поводу не подходит.


Вебсервисы?


 
Городской Шаман   (2009-04-05 20:01) [34]


> Sergey Masloff   (05.04.09 08:55) [27]
> Интересно только до начала массовой эксплуатации. Потом
> можно в такую Ж влезть...
>  Могу приватно рассказать о опыте реальной эксплуатации.
>  Причем на этапе испытаний все было отлично.


Значит это хорошо, что вместо этих граблей я сделал свою самописку RemoteMessageProcessing, в которой отказоустойчивость заложена на уровне протокола?


 
Petr V. Abramov ©   (2009-04-05 20:20) [35]


> Вебсервисы?

понятие растяжимое, но если имеется в виду какая-то пришлепка к IIS-Apache, которая по http(s) принимает-отдает ему и клиенту понятную фигню, к html-старницам в вобщем случае отношения не имеющую, то че-то такого и хочется (не знаю, хорошо это или плохо ;)


 
Тимохов ©   (2009-04-05 20:48) [36]

вообще вопрос, Петр, общий какой-то очень.

вариантов решения, имхо масса, хоть на PHP веб-сервер написать под апач, а через WinINet на клиенте посылать и отправлять запросы, причем формат общения в рамках HTTP свой - хоть бинарный (у меня примерно так работает).

тут скорее принципиально надо решать - нужна ли оффлайн работа? не нужна, тогда клиент-сервер. а чем его делать - это дело десятое. имхо, на PHP можно весьма секьюрное приложение написать.


 
Тимохов ©   (2009-04-05 21:02) [37]

Немного добавлю про сетевой транспорт.

Я много чего смотрел для реализации своей задачи. Это и свои наработки были, и INDY и ICS. Кончилось все тем, что более устойчивой технологии для работы в ИНТЕРНЕТ, нежели связка WinINet на клиента и Apache + Php на сервере я не нашел.

Поясню, в чем устойчивость. На самом деле не совсем в надежности, а в сервисе настойки транспорта. Дело в том, что WinINet - это фактически библиотека Internet Explora. Если у клиента работает IE до твоего сервера, то и твой транспорт будет работать. Т.е. ты с себя как разработчика снимаешь вообще проблемы настройки - доступ к твоей машинке должны настроить местные админы. Потом, WinINet умеет договариваться с кучей разных прокси-серверов, знает кучу разных способов авторизации и пр. и пр. Уверяю тебя, что так уверено через прокси у меня не ходила ни одна сетевая библиотека.

В общем, советую ходить на свой сервер через HTTP, где написать несложное приложение. PHP подойдет для сервера. Вообще, это все очень на webservice походит.


 
Petr V. Abramov ©   (2009-04-05 21:27) [38]


> Тимохов ©   (05.04.09 20:48) [36]
> вообще вопрос, Петр, общий какой-то очень.

я понимаю, но и технологий фигова туча, и хочу понять, что лучше подойдет.

> Тимохов ©   (05.04.09 21:02) [37]
> нежели связка WinINet на клиента

а это што за зверь?

> и Apache + Php на сервере

а IIS не подойдет? он просто есть уже, и админы с ним дружат.


 
Тимохов ©   (2009-04-05 21:52) [39]

да можно и ISS (если дружат).

WinINet - это встроенная в виндовс библиотека доступа по сети по протоколам HTTP, FTP и (вроде) Гофер (не знаю, что за зверь).

Еще раз, Петр, следи за мыслью:
1. Доступ через браузер на сайты развит сейчас как никуда лучше. Сам знаешь.
2. Используй технологии наиболее близкие к текущему состоянию доступа по сети к сайтам.
3. Со стороны клиента это WinINet. Ходи через HTTP (не пугайся открытости, ты в теле POST запроса можешь передавать, что хочешь - было бы желание).
4. Со стороны сервера используй что-то известное. Я просто PHP немного знаю. Если есть спецы по ISS, то пиши под ISS.
5. Главное, чтобы сам протокол был известным - HTTP очень хорошо подходит для этого.


 
Тимохов ©   (2009-04-05 21:55) [40]

Пример работы с WinINet есть у Розыча на сайте. В принципе для понимания его примеров нужен небольшой бекграунд по знанию протокола HTTP. Я могу, если что проконсультировать. Изначально у Розыча не все понятно - иногда кажется, что он облажался (в этом HTTP не все очевидно на первый взгляд с передачей длины сообщения) :) Но при изучении RFC 2616 все становится на места.

В общем - все мои советы, это продолжение совета пользовать webservice.


 
Petr V. Abramov ©   (2009-04-06 03:46) [41]


> 1. Доступ через браузер на сайты развит сейчас как никуда
> лучше. Сам знаешь.

угу, только если испльзовать веб-интерфейс, ради ввода 50 цифр на 500 байт придется грузить страницу на одзин мегабайт, и что там на отправке, не знаю. Грузиться это будет хз сколько, потому что объективно инет там может быть и формально бытрым, но реально фиговым, замкадье замкадских городов, ну не проложили/не восстановили там еще инфраструктуру, дело движется, но нельзя ждать пока оно там.


 
Тимохов ©   (2009-04-06 05:28) [42]

Петь, ты фигню говоришь )


 
Тимохов ©   (2009-04-06 05:46) [43]

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

Протокол HTTP имеет очень небольшой оверхед. Ну там заголовок - и все ))) Ну заголовок это байт 400 максимум. Обычно много меньше. Все остальное чистые данные. Возможно еще процент уйдет на кодирование данных - HTTP 1.1 обычно передает чанками (кусками) - тут еще есть немного оверхеда.

Все остальное - это фигня, которую ты говоришь. Я могу, кстати, понять, откуда такая фигня идет. Тебе, видимо, сказали, что ни один сайт не загружается в урюпинске хорошо. Ну ясный перец, под модем уже давно сайты не делают - ты попробуй gmail загрузить под gprs (загрузишь, но только в режиме HTML). К тому же - сайты давно не пишут с нуля, их делаю на цээмесках (CMS) - сам понимаешь, общее решение плохо работает в конкретном случае. Поэтому там сайты не грузяцо - потому как для его загрузки нужно 232 обращения к БД сделать.

Ты знаешь, Петр, я тоже раньше боялся веба - типа считал его чем-то недостойным знатока MSSQL (Oracle в твоем случае). Однако веб идет по миру, причем жестко идет (скоро забудем клиентов на чем-то еще, кроме как на ajax). Поэтому - не умничай, и не слушай галимые мнения о том, что веб - это всегда трехкратный оверхед. Все это защита от наступающего признания технологии ЧЕЛОВЕЧЕСТВОМ!!! (это я про HTTP)

Петя, телефон знаешь, адрес тоже заешь, заходи - просвещу.


 
iZEN   (2009-04-06 06:30) [44]

JAX-RPC, JAX-WS, JAX-RS.

"Enable REST with Web services, Part 1: REST and Web services in WSDL 2.0"
http://www.ibm.com/developerworks/webservices/library/ws-rest1/

"Создание REST-сервисов"
http://www.ibm.com/developerworks/ru/edu/x-restatompp/index.html

JAX-RS хорошо поддержан в NetBeans, так что вперёд и с пестней.


 
b z   (2009-04-06 10:36) [45]


> Petr V. Abramov ©   (05.04.09 12:06) [29]
> что-нить серьезнее акцесса там ставить жестоко и некуда,
>  да и работников в филиалах по 5+ человеков
Есть експрес версии субд. На веб сервисах лично я не советую.
В текущем проекте клиенты сразу захотели толстых клиентов на окошках + веб сервисы, мотивируя скоростью. Вот сейчас, когда практически проект уходит в кандидат релиз, они наконец-то "уговорились" :) (на самом деле увидев разницу) именно на веб клиентов, а их много под разные задачи, а там где нужна интерактивность + рушечки, идем на silverlight, даже в будущем есть планы на surface, эх скорее бы :). Идя на веб серсисы появляются всякие другие моменты, такие как надежность, сохранность, .... отсюда могут понядобиться некие распределенные транзакции, неважно как и кем реализованные, и т.п., а это никак не способствует уменьшению трафика. ну и т.д.
Конечно же мне могут возразить, но все как всегда зависит от условий.


 
clickmaker ©   (2009-04-06 12:45) [46]

> А дальше хош .ПТУ

а почему ПТУ, кстати?


 
kaif   (2009-04-06 15:04) [47]

Я бы попробовал именно ASP.NET для такой задачи. Во-первых управление сессиями и безопасность уже решены на уровне самой платформы. Во-вторых (и это немаловажно) все можно развивать в одном месте, а не бегать по филиалам. Все работают через браузер. Разумеется, если клиенты должны работать и автономно - этот вариант не подойдет. Но об этом уже говорилось. Я бы пошел на то, чтобы клиенты не могли работать локально. Пусть проводят инет - XXI век на дворе. Заказчика следует убедить поступить именно так. Издержек в любом случае будет в результате на порядок меньше, чем поддерживать и развивать какую-то распределенную систему приложений с репликациями (это - еще тьма противоречий).


 
kaif   (2009-04-06 15:30) [48]

Доступ по skylink будет и то дешевле, чем поддерживать, администрировать и развивать локальные приложения с репликациями. К тому же для репликаций, впрочем как и для почты, в любом случае понадобится какая-то связь. Не нужно себя обманывать. Сервер в такой задаче должен быть один и все должны работать с сервером. Если это филиалы, разумеется, а не "дружественные компании" со своей собственной финансовой политикой.

Петр, посмотри на задачу как финансист.
Вот, допустим, у тебя браузер.
Из браузера можно печатать документы.
А можно купить по Microsoft Offic-у и в него экспортировать данные. Купить по офису на каждый комп из 5 человек - затраты нехилые. А можно ворованный офис юзать. Затраты при визите ОБЭП могут стать еще более нехилыми.

Можно, конечно, свои генераторы отчетов юзать. Прекрасно! Вот только каждый раз когда Госкомстат или Минфин захочет очередной раз надпись ,"один экземпляр продавцу-другой покупателю" в счет-фактуру добавить (или, наоборот, выбросить), нужно будет все генераторы новым шаблоном снабжать на местах. А МинФин любит в счет-фактуру еще и колоночки добавлять. В год по штуке. То им ГТД туда нужно пхнуть, то страну-производитель, то ИНН тещи поставщика. Создавая распределенную систему приложений ты обрекаешь себя и заказчика на вечный гимор и проклятье в в случае любых изменений форм печатаемых документов. А известно, что менеджер вводит что-нибудь в компьютер только тогда. когда ему документ приспичило распечатать. И больше никогда.

Даже если ASP.NET не нравится по каким-то причинам (например, новая версия появляется быстрее, чем успеваешь скачать и установить  предыдущую), то можно дубовее -  PHP+Apache. Идеальная связка. Только с безопасностью разобраться - и вперед.


 
Petr V. Abramov ©   (2009-04-06 15:41) [49]


> kaif   (06.04.09 15:04) [47]
> Пусть проводят инет - XXI век на дворе

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


> А известно, что менеджер вводит что-нибудь в компьютер только
> тогда. когда ему документ приспичило распечатать.

в данном случае это не так.

> Даже если ASP.NET не нравится по каким-то причинам

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


 
kaif   (2009-04-06 16:14) [50]

Ну, сам смотри.
Что за промзона такая без связи?
Я бы либо инвестировал в связь, либо вообще не инвестировал в эту промзону.
Хотя, впрочем, если в кризис кому-то нужно затраты не уменьшать, а увеличивать - флаг в руки.

На мой взгляд самое дешевое решение, если связи нет, как раз таки вообще отказаться от идеи информационной репликации финансовых и деловых  частностей филиалов в центр. Финансовую отчетность нужно в этом случае полностью сделать автономной, но с грамотной и четкой, с определенными общими показателями. Раз в месяц пусть руководство филиала выбирается из своей тьмы-таракани на лыжах или на вездеходах (что там за МКАДом проехать может) и едет с этой отчетностью на дискетах в руках в Центральный Генеральный Офис для Консолидации. Много заработали для Офиса - Премия. Мало заработали - Нагоняй и Урезание Финансирования.

Если нет надежной связи, то бессмысленно и собирать информацию в центре. Это то же самое, как если Наполеон, не имея четкой связи с маршалом Неем вместо того чтобы поручить тому самому решать на месте снимет с того всякую ответственность, перенося решения в центр, не обеспеченный надежной информацией. Тогда Наполеон проиграет сражение. Собственно, Ватерлоо он так и проиграл. Он послал гонца, а тот не дошел. А Бонапарт рассчитывал на подкрепление в нужный момент. Не рассчитывал бы, не проиграл бы.


 
kaif   (2009-04-06 16:36) [51]

Слышь, Петр, а с чего ты взял, что страница 1 Мб будет? Сколько захочешь, столько и будет твоя страница. Вообще лучши, ИМХО, попробовать. Я бы поставил IIS в центре. У них есть выделенный IP, надеюсь? Поставил бы Framework. Второй. И повесил бы простенькую страницу с запросом к базе данных. С сеткой из 10 строк. Убрал бы из фирменного скрытого аспнетовского поля всю лишнюю инфу о состояниях компонентов (некоторые разработчики не догадываются, что так можно уменьшить размер страницы, надеюсь здесь таких нет). А потом поездил бы по филиалам, если у них телефона нет и посмотрел бы, настолько ли там медленно эта страница грузится, как ты говоришь. На этот эксперимент нужно всего 1 день усилий + книжка + эпсилон энтузиазизма, если даже ты вообще не знаком с ASP.NET. И нуль финансирования. Зато потом можно будет принять какое-то определенное решение. А что если результат вдохновит заказчика? Зато нуль администрирования на местах, полная прозрачность и масштабируемость системы. Плюс все метаданные, отчеты и документы можно в Москве, спокойно лежа на диване с бутылкой пива в зубах разрабатывать и внедрять, не выходя из дома.


 
Медвежонок Пятачок ©   (2009-04-06 16:41) [52]

это надо постараться чтобы мегабайт был на асп странице.
либо теток туда в тифе вывесить, либо во вьюстэйте целиком гонять справочник БИК и КБК вместе взятые


 
clickmaker ©   (2009-04-06 16:45) [53]

> либо во вьюстэйте целиком гонять справочник БИК и КБК вместе
> взятые

даже в этом случае размер страницы можно уменьшить, перекрыв LoadPageStateFromPersistenceMedium / SavePageStateToPersistenceMedium и применив там какое-нибудь сжатие


 
kaif   (2009-04-06 16:53) [54]

Тойнби полагал, что для того чтобы достичь какой-то цели нужно всегда ставить более возвышенную цель. Поднимись над задачей. Чего вообще хочет заказчик? К сожалению, часто приходится видеть картину, когда один человек задачу ставит, а другой финансирование выделяет. А третий решения принимает. На основе моды или интриг внутрифирменных.
ИМХО. Здесь есть только три варианта.

1. Потратить бабки с откатом и ничего не получить вообще. Тогда рекомендую разрабатывать пару лет систему репликаций и хитрую распределенную самописную платформую.

2. Повысить эффективность филиалов при минимальных затратах и минимуме гимора для клиентов (потребителей), зато с некоторым гимором для руководства филиалов. Тогда рекомендую внедрить самую простую и надежную систему локальной отчетности, а консолидацию потребовать, чтобы привозили руководители филиалов лично раз в месяц. Если приезжает один руководитель на ВАЗ2107 и у него в этом месяце на миллион продаж, а другой на Lexus-е, а у него в филиале одни убытки - делать выводы.

3. Минимум гимора для центра, минимальная себестоимость обслуживания, средняя эффективность бизнеса, нулевая обижаемость филиалов (что на браузер обижаться ?), максимум гимора для клиентов (потребителоей). Решение ASP.NET. Если интернета нет, клиент (потребитель) уходит ни с чем. Для тебя конкретно, Петр, это наилучшее решение.

Все ИМХО, разумеется.


 
Petr V. Abramov ©   (2009-04-06 18:03) [55]


> Что за промзона такая без связи?
> Я бы либо инвестировал в связь, либо вообще не инвестировал
> в эту промзону.

промзона - это просто хмурое место, где расположена куча складов, заводов и т.п., имеющих разных хозяев и арендаторов. Если они договариваются между собой, то сообща вкладываются в инфраструктуру, а пока нет, живут как есть. В одиночку это не потянуть.
а инвестировать в то, чтобы несколько несколько десятков цифр несколько десятков раз в день гонять по гигабитному каналу, нелогично.
и не нужно тут никакую финансовую отчетность гонять, см. [0].


 
Petr V. Abramov ©   (2009-04-06 18:08) [56]


> kaif   (06.04.09 16:36) [51]

да мне проще попросить
> А потом поездил бы по филиалам, если у них телефона нет
> и посмотрел бы, настолько ли там медленно эта страница грузится,
>  как ты говоришь. На этот эксперимент нужно всего 1 день
> усилий + книжка + эпсилон энтузиазизма, если даже ты вообще
> не знаком с ASP.NET.


да проще попросить их открыть сайт Подгорецкого :), он же вроде б на ASP?


 
isasa ©   (2009-04-06 18:58) [57]

FrameWork + WCF на IIS, связь по TCP или HTTP с шифрованием или без ...


 
iZEN ©   (2009-04-06 20:02) [58]

Ну, IIS я бы не стал никому советовать ставить. Эта штука потянет за собой всю инфраструтуру Windows в том числе сервера безопасности и обновлений (WSUS). Дальше — больше.

Для реализации Web-сервисов достаточно FreeBSD 7.1 + правильно настроенный PF + установленный Apache Tomcat v.6 (из порта). Как "промежуточная" база данных будет удобна Apache Derby (входит в Sun JDK для Windows под именем "JavaDB").
Разработка может вестись как в Eclipse, так и в NetBeans.

Рекомендую приобрести следующие книги, если выберете Java в качестве платформы:

•  Кей С. Хорстманн, Гари Корнелл «Java 2. Библиотека профессионала, том 2. Тонкости программирования», 8-е издание, ISBN 978-5-8459-1482-8, 978-01-3235479-0
http://www.williamspublishing.com/Books/978-5-8459-1482-8.html

• Гери Д., Хорстманн К. «JavaServer Faces», ISBN 978-5-8459-1396-8
http://www.williamspublishing.com/Books/978-5-8459-1396-8.html

• Дей Нейси, Мандел Лоренс, Райман Артур «Eclipse. Платформа Web-инструментов. Разработка Web-приложений на языке Java», ISBN 978-5-91136-051-1
http://okc.ru:8080/okc/publish/imag.nsf/book/978-5-91136-051-1


 
kaif   (2009-04-06 20:47) [59]

Найди подходящий сайт на ASP.NET или сервлетах Java и попроси их попробовать его открыть. Может все не так страшно. Я сторонник реальных экспериментов при принятии такого рода решений.


 
Petr V. Abramov ©   (2009-04-06 23:32) [60]


> iZEN ©   (06.04.09 20:02) [58]
> Ну, IIS я бы не стал никому советовать ставить. Эта штука
> потянет за собой всю инфраструтуру Windows в том числе сервера
> безопасности и обновлений (WSUS). Дальше — больше.

в центре вся эта страшная инфраструктура есть. При этом времени на ее обслуживание уходит около нуля на фоне проблем с принтерами.


 
Petr V. Abramov ©   (2009-04-06 23:40) [61]


> kaif   (06.04.09 20:47) [59]
> Найди подходящий сайт

прямые аналоги на весь инет не висят и висеть не могут, хотя задача не из серии суперновых.
во-вторых, для меня не очевидно(в силу чайництва), что разработка на ASP.Net будет проще, чем гонять над http какие-то очевидные вещи.


 
Городской Шаман   (2009-04-06 23:42) [62]


> Petr V. Abramov ©   (06.04.09 18:03) [55]


Ну если хотите что-то надёжное и очень лёгкое то http://www.eldos.com/msgconnect/ . Обмен данными через сжатый zlib-бом XML файл.


 
kaif   (2009-04-07 02:11) [63]

2 Petr V. Abramov ©   (06.04.09 23:40) [61]

Я пробовал ASP.NET. Можно сказать даже изучил довольно внимательно. Ты будешь в восторге от многих вещей. К сожалению, на практике мне не удалось применить (не было подходящего заказа).

Попробуй сам. Язык C# осваивается быстро и он довольно красив. Идеология ASP.NET страницы похожа чем-то на дельфийскую. Имеется форма, на нее кладутся компоненты. Образуется дерево тегов (XML). Свойства каждого компонента описываются атрибутами соответствующего тега. Можешь даже разметить страницу обычной HTML-таблицей и напихать компоненты внутрь ее ячеек.

Как и в Delphi, на события можно вешать обработчики. И обработка пишется на человеческом языке C#, что очень приятно. Все довольно стройно и просто. При поступлении каждого HTTP-запроса подсистема ASP.NET генерит дерево компонентов страницы в памяти, создавая объекты рантайм.

А зетем, после того, как все обработчики отработают, вызывается метод каждого компонента, который заставит тот выдать в выходной поток свою HTML-разметку. То есть каждый компонент генерит свой HTML-код самостоятельно. Примерно так. Просто и дубово. И можно свои компоненты писать. Конечно, есть тонкости. Например, стандартную сетку лучше не использовать с наборами данных, содержащими миллионы строк. Но так как ты профессиональный SQL-щик, у тебя этой проблемы не будет. Сделаешь человеческие ограниченные наборы и все будет летать.


 
Иа   (2009-04-07 05:53) [64]

.NET 3.5, C# Winforms + C# WCF service

Скорость написания и удобство родного клиента + удаленное соединение.


 
isasa ©   (2009-04-07 08:39) [65]

iZEN ©   (06.04.09 20:02) [58]

Ну, IIS я бы не стал никому советовать ставить.


Не нравится IIS, сервисы можно оформить консольным приложением.
Работает на IIS Win XP при выключенном обновлении и т.п. Не морочь голову.
Для работы необходим только .NET Framework 3.0(3.5) и MTS.

Работает как с компонентами MS, так и "нативными", например, от Oracle


 
Petr V. Abramov ©   (2009-04-07 10:11) [66]


> kaif   (07.04.09 02:11) [63]
> Как и в Delphi, на события можно вешать обработчики. И обработка
> пишется на человеческом языке C#, что очень приятно.

а что будет происходить (по шагам), при следующей нехитрой последовательности действий:
1. в колонке 1 набираем: 789-5, жмем enter
2. 789-5 отправляется в базу
3. база отвечает "пельмени вегетарианские особые"
4. "пельмени вегетарианские особые" появлятся в колонке 2
5. курсор уходит на колонку 3

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


 
Petr V. Abramov ©   (2009-04-07 10:25) [67]


> Городской Шаман   (06.04.09 23:42) [62]

а это кто-нибудь использовал?


 
Медвежонок Пятачок ©   (2009-04-07 10:36) [68]

При энтере уйдет только постдата контролла (если автопостбак у контрола выставлен)
Обратно - новая страница уже с пельменями


 
Petr V. Abramov ©   (2009-04-07 10:40) [69]


> При энтере уйдет только постдата контролла

ну это логично

> Обратно - новая страница уже с пельменями

я так понимаю, страница целиком?


 
Медвежонок Пятачок ©   (2009-04-07 10:42) [70]

целиком, хотя возможны варианты с аяксом


 
Anatoly Podgoretsky ©   (2009-04-07 11:04) [71]

> Petr V. Abramov  (07.04.2009 10:40:09)  [69]

Что бы не целиком, то надо использовать расширения AJAX с UpdatePanel - тогда столько сколько надо, поскольку вроде может быть несколько UpdatePanel


 
Petr V. Abramov ©   (2009-04-07 11:07) [72]


> Anatoly Podgoretsky ©   (07.04.09 11:04) [71]
>  бы не целиком, то надо использовать расширения AJAX с UpdatePanel

а Visual Studio об этом подозревает?


 
Anatoly Podgoretsky ©   (2009-04-07 11:13) [73]

Подозревает, надо только дополнительно установит.
ASP.NET оно как Дельфи - компоненты, свойства, методы, пакеты.
Исключение расширяемость, можно даже добавлять даже свои языки, но можно и убирать, как это произошло с J++ и C++, остались VB.NET и C#


 
kaif   (2009-04-07 11:21) [74]

Аякс можешь попробовать. Пусть народ в филиале в google поищет что-нибудь. Google по нажатиям клавиш отрабатывает поиски в словаре и отображает выпадающий список. Чаю я лично попить не успеваю. Принцип Аякса в том, что HTTP-запрос отрабатывается без перезагрузки страницы. Я попробовал сделать Аякс руками, у меня заработало лишь под одним браузером. Когда я попробовал Аякс, встроенный в ASP.NET, у меня сразу заработало под 3 браузерами. Так как ASP.NET в лице Microsoft берет на себя заботу о том, какому браузеру какую реализацию Аякс подсунуть. Обрати внимание на этот факт.

Я понимаю, что именно тебя волнует. У меня была идея насчет ввода данных. На странице кнопки, Java-скрипт добавляет поля для ввода строк накладной без перезагрузки формы, локально в браузере. Товары ищутся по коду или наименованию в удаленном справочнике при помощи Аякс. Затем вся форма отправляется на сервер субмитящей кнопкой. На стороне сервера определяется, сколько было послано полей в форме и на нормальном C# написано обращение к базе данных и соответсвующие модификации данных. Обрати внимание, ASP.NET имеет специализированные компоненты доступа (DataSource) к разным базам данных. То есть провайдер для ORACLE имеет свои особенные методы ORACLE, а провайдер для InterBase (я его, кстати тоже пробовал) или MS SQL - свои, заточенные под каждый сервер методы. Это не ODBC и не JDBC.


 
Petr V. Abramov ©   (2009-04-07 11:24) [75]


> Anatoly Podgoretsky ©   (07.04.09 11:13) [73]

интересная фигня.


 
Petr V. Abramov ©   (2009-04-07 11:29) [76]


> kaif   (07.04.09 11:21) [74]
> На странице кнопки, Java-скрипт добавляет поля для ввода
> строк накладной без перезагрузки формы, локально в браузере.
>  

я так думаю, Devexpress и компания это уже давно сделали, если даже нет, подпилить не так сложно будет, навскидку кажется.


 
kaif   (2009-04-07 11:31) [77]

Petr V. Abramov ©   (07.04.09 10:11) [66]

> kaif   (07.04.09 02:11) [63]
> Как и в Delphi, на события можно вешать обработчики. И обработка
> пишется на человеческом языке C#, что очень приятно.

а что будет происходить (по шагам), при следующей нехитрой последовательности действий:
1. в колонке 1 набираем: 789-5, жмем enter
2. 789-5 отправляется в базу
3. база отвечает "пельмени вегетарианские особые"


А ты еще сам подумай, как это все ты себе представляешь при локальном приложении, "синхронизируемом" когда Бог на душу положит с центром.

1. в колонке 1 набираем: 789-5, жмем enter
2. 789-5 отправляется в базу
3. Локальная база отвечает "пельмени вегетарианские особые". Не факт, что пельмени с этим кодом есть в центральной базе. Возможно их давно удалили, так как их никто не покупает. И их код присвоили другим пельменям. Или наоборот. В центральной базе они уже есть. Другой филиал им уже присвоил код 666 и успел среплицироваться. А твой филиал получит Unique or primary key violation при попытке создания дубликат в процессе репликации завтра. Или не получит violation, но зато центр получит дубликат. А чтобы такого не было, Центр введет административный приказ, запрещающий локально справочники заполнять. Только из центра получать. И склад будет не просто чай пить, ожидая Аякс для одного кода пельменей. Он будет чай пить и на обед обед и на ужин успеет, ожидая, когда, наконец, репликация с Центром произойдет и все обновления всех справочников придут со всех филиалов, независимо от того, нужны они сейчас или нет.


 
Petr V. Abramov ©   (2009-04-07 11:48) [78]


> kaif   (07.04.09 11:31) [77]


> Не факт, что пельмени с этим кодом есть в центральной базе.
>  Возможно их давно удалили, так как их никто не покупает.
>  И их код присвоили другим пельменям. Или наоборот.

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


 
kaif   (2009-04-07 11:51) [79]

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

Когда я познакомился с технологией Java сервлетов и Tomcat я загорелся на то, чтобы попробовать реализовать это таким образом. Но в Tomcat ряд моментов меня безумно раздражал. Например все эти версии JDK. Да и вообще этот тупой построчный парсинг JSP в сервлет с компиляцией и перезагрузкой HTTP-сервера... Потом я заинтересовался ASP.NET. И когда стал изучать, я пришел к выводу, что это и есть то, что нужно для подобной задачи. Именно для задачи Центр+Филиалы. Я все же исповедую религию чистых клиент-серверных систем. Все таблицы должны быть в одном месте. Работать нужно через браузер.

Мне говорили о JSF как аналоге ASP.NET. Типа тоже компоненты. Не пробовал, не знаю. Знаю лишь, что ASP.NET, например, имеет встроенную поддержку пользователей и ролей на уровне архитектуры. То есть можно написать просто свой класс провайдера логинов и ролей (я это проделал и это сразу заработало), который хранит все это в каком-то особенном месте (я в своих собственных таблицах в InterBase хранил так как мне удобно) и ASP.NET благодаря прозрачности архитектуры провайдеров сама автоматически отключала или делала недоступными те пункты меню, которые я не хотел, чтобы пользователи с определенными  ролями видели. А коду я написал всего на пару страниц при этом.


 
Petr V. Abramov ©   (2009-04-07 12:03) [80]


> kaif   (07.04.09 11:51) [79]
> Все таблицы должны быть в одном месте. Работать нужно через
> браузер.

ну тут лоб расшибать тоже нельзя, в Казахстане это все равно будет дублироваться в местный 1С. И не в Казахстане тоже, если филиал - отдельное юрлицо, что часто бывает.


 
Тимохов ©   (2009-04-07 12:09) [81]

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

Я вот чего не могут понять, там сеть мегабит или килобит, или один бит? Может пол бита? Какая в филиалах ширина канала? Даже модем 56 кбит вполне позволяет жить, если сайты без графики.

У меня вот на работе 1МБит. У нас сидят 40 человек. Много девочек, любящих одноклассников и прочих пожирателей трафика. Еще и обновления качаются для видны. Я торможения не замечаю и спокойно жму на название топика в www.delphimaster.ru, а не на цифирьках страничек - нет торможения - 1 Мбит вполне серьезный канал, где вообще париться не надо.

У самого HTTP очень небольшой оверхед. HTML, конечно, добавляет. Но если со стилями писать, то двойной оверхед это максимум. И то постараться надо очень.

В общем, не пойму я тебя, Петр :)

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


 
kaif   (2009-04-07 12:33) [82]

Товары-то ты, допустим, штрихкодируешь. А покупателей тоже штрихкодируешь? А поставщиков? В общем... Где-нибудь начнутся проблемы рано или поздно. Например, окажется, что бизнес нужно расширить. И добавить филиал с товаром из иной сферы. А там ничего пока не штрихкодировано. Или вообще тупо после очередного апдейта приложения "на местах" все там полетело или скривилось до невозможности из-за простой невнимательности или того, что юзеры на местах все не совсем так юзают, как задумано было тобой.

И теперь ездить и возиться...

И зачастую ведь уже вовсе не за деньги, а за Почетный Орден Кошмара Первой Степени.

Я не прав?
:)

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

Так как нахожу все это очень подходящим для задачи Центр+Филиалы.

И задача эта очень востребована.

И чем дальше, тем больше будет востребована, по мере умощнения глобальной сети.

Единственное для дизайна страниц нужен художник. Здесь я лично для себя вижу затык. А все мои друзья WEB-дизайнеры почему-то боятся ASP.NET, тихаря предпочитают PHP. Вот и нет пока хорошего заказа, за который бы мы как-то совместно смело взялись. Будь у меня мало-мальский опыт и свой дизайнер (художник), я бы давно вывесил рекламу типа: "Решаем любые финансовые и складские учетные задачи Центр+Филиалы. Единственное условие - есть интернет." Но вот уже больше года прошло с тех пор как я изучал ASP.NET, а я так ничего и не попробовал написать. Сильно жалею.

Кстати, каждый раз когда мне бывало нужно что-то отладить в своих дельфийских приложениях, содержащих клиенты HTTP-запросов (за это время я кое-что такое писал для специфических задач взаимодействий с сайтами, которые пишут мои друзья, например те же репликации данных), я как-то, не задумываясь, вызывал Visual Studio и делал все в ASP.NET. Настолько это все оказалось удобным.

Приведу один реальный случай. Была ситуация, когда не удавалось обнаружить одну ошибку никак иначе, чем поймав буквально текст HTTP-запроса на стороне сервера. А с товарищем мы работали на расстоянии. Я пропросил распечатать текст HTTP-запроса с заголовком, со всеми потрохами, на стороне сервера. И он долго не мо найти, как это из под PHP сделать. А когда нашел, у его хостера это  просто не заработало. Тогда я включил свой сервер IIS, за минуту нагородил страницу на ASP.NET, который уже год как не изучал и почти весь забыл, и за минуту нашел, как выплюнуть текст запроса на диск в текстовый файл. Мне это было сделать проще и быстрее, чем искать как это сделать в каком-нибудь общепринятом мониторе или терминале для таких целей (сейчас ведь все мне скажут, что есть какая-нибудь приблуда и что достаточно в Яндексе поискать).

Я это к чему? А к тому, что вся эта технология на редкость юзерабельна и продумана для людей. И написать на ASP.NET сброс текста входящего HTTP-запроса в файл было и быстрее и не так лениво, как в Яндексе искать то, что все в подобном случае юзают.

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

Но если ты решишь, что в Экселе или Accesse это удобнее и, главное, дешевле, то, возможно ты и прав в случае с конкретной промзоной.

Я же подумываю, что браузер ведь не только из под Windows может работать...


 
Тимохов ©   (2009-04-07 12:39) [83]

Ашот, а еще есть умные снифера. Например wireshark - я много чего узнал про HTTP именно из него - он очень умно разбирает трафик на протоколы во всех деталях.


 
kaif   (2009-04-07 12:51) [84]

Есть более простой вариант. Я его тоже рассматривал. Допустим у тебя есть там на сервере PHP и возможность написать что-то вроде сервисов. HTTP-клиент, скажем из дельфийской программы дергает этот сервис, скажем, так:

http://www.mycoolfirm/getgoods_by_name_like?name=пельмени

и выплюнет это, скажем вот так:
<xml>
 <goods id="12011" name="Пельмени Особые" weight="450" unit="грамм" price="85" currency="руб">
 <goods id="12017" name="Пельмени Особые Крутые" weight="450" unit="грамм" price="112" currency="руб">
 <goods id="12018" name="Пельмени Отстойные" weight="450" unit="грамм" price="60" currency="руб">
 <goods id="12344" name="Пельмени из мяса молодых бычков" weight="500" unit="грамм" price="89" currency="руб">
</xml>


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


 
kaif   (2009-04-07 12:58) [85]

2 Тимохов ©   (07.04.09 12:39) [83]
Дима, я, к своему стыду, не знаю даже, что такое снифер.
:)

К kaif   (07.04.09 12:51) [84]
хочу добавить, что для таких запросов нужно обеспечить безопасность.
В принципе можно, конечно, тупо сделать типа:

http://www.mycoolfirm.ru/getgoods_by_name_like?user=Вася&password=gh564sdHHkst55578gdki&name=пельмени

Но я не спец по безопасности. А если кто свиснет url?
Можно, конечно, методом Post попробовать. Но тогда более продвинутый хакер, знающий, к примеру, что такое снифер, свиснет.
В общем если руками делать, то еще и спец по безопасности нужен.


 
Anatoly Podgoretsky ©   (2009-04-07 14:05) [86]

> kaif  (07.04.2009 12:58:25)  [85]

Шпион


 
Anatoly Podgoretsky ©   (2009-04-07 14:06) [87]

> kaif  (07.04.2009 12:58:25)  [85]

Сессии, https


 
kaif   (2009-04-07 14:52) [88]

Anatoly Podgoretsky ©   (07.04.09 14:06) [87]
> kaif  (07.04.2009 12:58:25)  [85]

Сессии, https


И вот тут браузер, оказывается, все это поддерживает. А в самописном клиенте придется ве это еще реализовывать. И дыры зашивать.


 
Тимохов ©   (2009-04-07 15:07) [89]


> kaif   (07.04.09 14:52) [88]
>
> Anatoly Podgoretsky ©   (07.04.09 14:06) [87]
> > kaif  (07.04.2009 12:58:25)  [85]
>
> Сессии, https
>
> И вот тут браузер, оказывается, все это поддерживает. А
> в самописном клиенте придется ве это еще реализовывать.
> И дыры зашивать.


Вообще WinINet - это фактически IE, он должен по идее поддерживать HTTPS.
А данные шифрованными можно и в телах POST запросов передавать.


 
Тимохов_   (2009-04-07 15:15) [90]

Вот, можно и черзе WinINet заюзать HTTPS
http://support.microsoft.com/kb/168151


 
Медвежонок Пятачок ©   (2009-04-07 15:56) [91]

есть еще ixmlhttprequest


 
iZEN ©   (2009-04-07 19:51) [92]


> kaif   (07.04.09 11:51) [79]
>
> Когда я познакомился с технологией Java сервлетов и Tomcat
> я загорелся на то, чтобы попробовать реализовать это таким
> образом. Но в Tomcat ряд моментов меня безумно раздражал.
>  Например все эти версии JDK. Да и вообще этот тупой построчный
> парсинг JSP в сервлет с компиляцией и перезагрузкой HTTP-
> сервера... Потом я заинтересовался ASP.NET. И когда стал
> изучать, я пришел к выводу, что это и есть то, что нужно
> для подобной задачи. Именно для задачи Центр+Филиалы. Я
> все же исповедую религию чистых клиент-серверных систем.
>  Все таблицы должны быть в одном месте. Работать нужно через
> браузер.

А что "не так" с версиями JDK особенно применительно к Tomcat?

Про "тупой построчный парсинг JSP в сервлет с компиляцией и перезагрузкой HTTP- сервера..." не понял. Это как?


> kaif   (07.04.09 11:51) [79]
>
> Я все же исповедую религию чистых клиент-серверных систем.
>  Все таблицы должны быть в одном месте. Работать нужно через
> браузер.

Через браузер работать необязательно — на то и придуманы Web Service, чтобы исключить из цепочки "клиент-прокси-сервер" наличие/отсутствие браузера, как единственно-возможного средства пробиться через Proxy/NAT.

Клиент-серверная архитектура вообще лишена всякого понятия о каком-то там "браузере".

> kaif   (07.04.09 11:51) [79]
>
> Мне говорили о JSF как аналоге ASP.NET. Типа тоже компоненты.
>  Не пробовал, не знаю. Знаю лишь, что ASP.NET, например,
>  имеет встроенную поддержку пользователей и ролей на уровне
> архитектуры. То есть можно написать просто свой класс провайдера
> логинов и ролей (я это проделал и это сразу заработало),
>  который хранит все это в каком-то особенном месте (я в
> своих собственных таблицах в InterBase хранил так как мне
> удобно) и ASP.NET благодаря прозрачности архитектуры провайдеров
> сама автоматически отключала или делала недоступными те
> пункты меню, которые я не хотел, чтобы пользователи с определенными
>  ролями видели. А коду я написал всего на пару страниц при
> этом.


JSF является чётко специфицированным фреймворком над JSP/Servlets. Оно инкапсулирует в себе все низкоуровневые операции сервлетов, а наружу выпячивает компонентный подход к проектированию Web-приложений и согласованный процесс (конвеероподобной) обработки поступающих и отправляемых данных. На каждой стадии процесса можно встраивать собственные фильтры-обработчки данных. Кроме того, в JSF поддерживается AJAX на уровне компонентов.

Подробнее:
http://www.ibm.com/developerworks/ru/edu/j-dw-java-jsf2-i.html

NetBeans имеет полную поддержку визуального проектирования Web-форм JSF.
В Eclipse по сравнению с NetBeans реализация поддержки JSF запаздывает, но разрабатывать проекты в ней давно уже можно.

Электронный журнал "NetBeans Magazine":
http://www.netbeans.org/community/magazine/


 
kaif   (2009-04-07 21:56) [93]

Клиент-серверная архитектура вообще лишена всякого понятия о каком-то там "браузере".

Я и не писал, что одно предполагает другое. Это две отдельные мысли. Неужели не понятно?

А насчет перезагрузки Tomcat речь идет вот о чем. Елси я заменяю страницу JSP, Tomcat соображает, что нужно ее заново превратить в сервлет. А вот если я изменю текст какого-либо класса или даже просто текст написанного руками сервлета, то Tomcat приходится перезапускать. Поэтому в той организации, для которой я разрабатывал систему, на каждоую систему крутился свой Tomcat. Чтобы все эти перезагрузки при замене сервлетов не останавливали обслуживание уже работающих систем. Может в новых версиях Tomcat эта дурость уже преодолена.


 
iZEN ©   (2009-04-07 22:31) [94]


> kaif   (07.04.09 21:56) [93]
> Чтобы все эти перезагрузки при замене
> сервлетов не останавливали обслуживание уже работающих систем.
>  Может в новых версиях Tomcat эта дурость уже преодолена.

Конечно преодолена — никто уже не пишет JSP-странички в Блокноте (кроме особо одарённых), а используют IDE, которые умеют собирать Web-приложение в WAR-файл и деплоить его на сервер приложений в контейнер сервлетов. ;)


 
Petr V. Abramov ©   (2009-04-07 23:05) [95]


> Тимохов ©   (07.04.09 12:09) [81]


> У меня вот на работе 1МБит. У нас сидят 40 человек. Много
> девочек, любящих одноклассников и прочих пожирателей трафика.
>  Еще и обновления качаются для видны. Я торможения не замечаю
> и спокойно жму на название топика в www.delphimaster.ru,

я имел честь сидеть на wifi-канале одного московского провайдера, 2 мегабита. Счас я сижу на 2-Мбитном канале другого провайдера (именно счас, правда, 5 Мбит, но это неважно, бонус от провайдера, 3 мес назад как сказал и дела не меняет).
Так вот, если я скажу
ping -n 10 delphimaster.ru, то получу примерно
Reply from 213.234.193.253: bytes=32 time=71ms TTL=55
Reply from 213.234.193.253: bytes=32 time=37ms TTL=55
Reply from 213.234.193.253: bytes=32 time=37ms TTL=55
Reply from 213.234.193.253: bytes=32 time=37ms TTL=55
Reply from 213.234.193.253: bytes=32 time=37ms TTL=55
Reply from 213.234.193.253: bytes=32 time=37ms TTL=55
Reply from 213.234.193.253: bytes=32 time=37ms TTL=55
Reply from 213.234.193.253: bytes=32 time=37ms TTL=55
Reply from 213.234.193.253: bytes=32 time=37ms TTL=55
Reply from 213.234.193.253: bytes=32 time=37ms TTL=55

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


 
Тимохов ©   (2009-04-08 01:33) [96]


> Petr V. Abramov ©   (07.04.09 23:05) [95]


Петр, ты замучал отговорками.

Хочешь я тебе тест напишу: сервер на apache+php (плюс пошаговая инструкция как эту байду поставить) + клиент на wininet (на дельфи)? Прогонишь, он отработает в течении суток. Раз в 20 минут будет измерять скорость передачи POST запроса - вот и проверишь, что к чему.


 
Petr V. Abramov ©   (2009-04-08 22:45) [97]


> Тимохов ©   (08.04.09 01:33) [96]
> Петр, ты замучал отговорками.

где ты нашел отговорки?
Я не считаю, по http в данных условиях нельзя сделать что-то быстро работающее. Если для отправки 50 байт не гнать обратно 50К


 
Тимохов ©   (2009-04-08 23:11) [98]


> Petr V. Abramov ©   (08.04.09 22:45) [97]
>
>
> > Тимохов ©   (08.04.09 01:33) [96]
> > Петр, ты замучал отговорками.
>
> где ты нашел отговорки?
> Я не считаю, по http в данных условиях нельзя сделать что-
> то быстро работающее. Если для отправки 50 байт не гнать
> обратно 50К


да шучу я, не обращай внимание.
шото я фразу не пойму - если не считаешь, то бери и пользуйся. )


 
Petr V. Abramov ©   (2009-04-08 23:24) [99]


> Тимохов ©   (08.04.09 23:11) [98]
> то бери и пользуйся. )

способов использования больно много, как у известного предмета, можно мясо рубить от дури, можно еще чего.


 
Kostafey ©   (2009-04-09 01:36) [100]

> [92] iZEN ©   (07.04.09 19:51)
>
> > kaif   (07.04.09 11:51) [79]
> > Когда я познакомился с технологией Java сервлетов и Tomcat
> > я загорелся на то, чтобы попробовать реализовать это таким
> > образом. Но в Tomcat ряд моментов меня безумно раздражал.
> >  Например все эти версии JDK. Да и вообще этот тупой построчный
> > парсинг JSP в сервлет с компиляцией и перезагрузкой HTTP-
> > сервера...
> > браузер.
>
> А что "не так" с версиями JDK особенно применительно к Tomcat?

Гм... более года назад у меня было установлено 2 jdk (5 и 6).
Сервлеты собирались для 6, а томкат работал с 5. Вот
я удивлялся-то как такие простые вещи не работают :))))


> NetBeans имеет полную поддержку визуального проектирования
> Web-форм JSF.

NetBeans - ждем релиза 7. Там баг добавления серверов не из
числа предустановленных исправлен. А так, я тоже за NetBeans,
хотя от визуального проектирования в свое время отказался.

Для JSF расширения хорошие есть: RichFaces, IceFaces.
Хотя и не всякий сервер это поддерживает.
Вообще если резрабатывается не сайт, а именно приложение
с web-интерфейсом, то JSF - лучшее решение.

Хотя последнее время к чему идем. Большая часть логики - на клиенте
через Dojo/Extjs, а что на сервере крутится уже не столь важно.


 
Kostafey ©   (2009-04-09 01:40) [101]

> [94] iZEN ©   (07.04.09 22:31)
>
> > kaif   (07.04.09 21:56) [93]
> > Чтобы все эти перезагрузки при замене
> > сервлетов не останавливали обслуживание уже работающих
> систем.
> >  Может в новых версиях Tomcat эта дурость уже преодолена.
>
> Конечно преодолена — никто уже не пишет JSP-странички в
> Блокноте (кроме особо одарённых), а используют IDE, которые
> умеют собирать Web-приложение в WAR-файл и деплоить его
> на сервер приложений в контейнер сервлетов. ;)


...фанатам блокнотов посвящается:

Для случая, если IDE не поддерживает данный сервер (к томкату это ни как
не относится, конечно), бывает такое, то можно и ant научить приложения деплоить.
С веб-сервером идет библиотека с ant-таском: деплоить ЭТО! :)))


 
iZEN   (2009-04-09 19:11) [102]


> Kostafey ©   (09.04.09 01:36) [100]
>
> > [92] iZEN ©   (07.04.09 19:51)
> > А что "не так" с версиями JDK особенно применительно к
> Tomcat?
>
> Гм... более года назад у меня было установлено 2 jdk (5
> и 6).
> Сервлеты собирались для 6, а томкат работал с 5. Вот
> я удивлялся-то как такие простые вещи не работают :))))

Вот уж удивительно!!! Исходники, откомпилированные  с "target=1.6" не работают на "target=1.5" Ж))

Ну и какой из этого вывод напрашивается? Правильно — ССЗБ! :))

А вы знаете, что может быть всё иначе, если учесть эти опции компилятора?


 
kaif   (2009-04-09 20:30) [103]

Есть те, кому важно сконцентрироваться на задаче, а не на тонкостях настройки платформы. Можно их назвать разработчиками приложений (application developers). К таковым я отношу и себя. Такие разработчики выдвигают простые требования к платформе:

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

Системы наподобие PHP, ASP.NET устроены именно для таких товарищей.
Это вовсе не умаляет достоинства систем типа контейнеров сервлетов. Разумеется, гуру сервлетов решит любую задачу, какую решает средний знаток ASP.NET.
Вопрос в том, есть ли у Петра достаточно времени, чтобы посвятить се6я изучению JAVA, ANT, сервлетов, JSF и тонкостей JDK, в которых какой метод из книжки не возьмешь, он уже obsolete, если книжка не по той версии JDK, что на компе стоит.
Если у него есть достаточно времени, чтобы заниматься всем этим вместо того чтобы решать свою задачу прямо сейчас, или если у него есть знакомый гуру контейнеров сервлетов, которого он мог бы быстро нанять для такой задачи, то я бы как раз советовал именно этот путь, так как такого рода систему проще поставить под системами, отличными от Windows. А уход от Windows-серверов в условиях кризиса становится с финансовой точки зрения особенно актуальным.
Хотя я вот не знаю. Eclipse бесплатен, к примеру? Вот JBuilder явно небесплатен. Eclipse  я просто не знаю, так как после установки так и не дождался, когда он загрузится. Похоже у меня был не самый мощный компьютер в тот момент. :)


 
Игорь Шевченко ©   (2009-04-09 20:33) [104]


> Eclipse  я просто не знаю, так как после установки так и
> не дождался, когда он загрузится.


значит точно бесплатный


 
iZEN   (2009-04-09 21:00) [105]


> kaif   (09.04.09 20:30) [103]
>  А уход от Windows-серверов в условиях кризиса становится
> с финансовой точки зрения особенно актуальным.

Вообще-то, переход на что-то отличное от Windows-специфик сразу снимает проблему vendor-lock-in.

> kaif   (09.04.09 20:30) [103]
> Хотя я вот не знаю. Eclipse бесплатен, к примеру? Вот JBuilder
> явно небесплатен. Eclipse  я просто не знаю, так как после
> установки так и не дождался, когда он загрузится. Похоже
> у меня был не самый мощный компьютер в тот момент. :)

JBuilder? А кто это? :))


 
Petr V. Abramov ©   (2009-04-10 00:00) [106]

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


 
kaif   (2009-04-10 13:17) [107]

iZEN   (09.04.09 21:00) [105]

JBuilder? А кто это? :))


Я думал, на сайте Мастеров Дельфи знают.

http://www.codegear.com/products/jbuilder
http://ru.wikipedia.org/wiki/JBuilder


 
Kostafey ©   (2009-04-10 14:10) [108]

> [107] kaif   (10.04.09 13:17)

Вообще удивительно. Как можно было из самой шустрой IDE (eclipse)
сделать самую тормозную (jbuilder).

JDeveloper в рассмотрение не берем 10-й был вполне шустрый,
11 - даже jbuilder перелюнул в худшую сторону.
Такое ощущение, что у каждого разработчика должна быть
отдельная специальная линейка 1 Гб RAM специально для их IDE.


 
kaif   (2009-04-10 18:23) [109]

Поэтому я и писал все JSP и сервлеты в практически блокноте.
Точнее, в каком-то редакторе html, кажется, Fireworks (название не помню).
А потом в какой-то среде, которая с ORACLE шла. Но она тоже типа блокнота. Там разве что были автоматизированы некоторые вещи (этот deploy, который типа от перезапуска спасает). И сервер там не Tomcat был, а какой-то другой. Названия не помню. Вообще чтобы все названия в JAVA упомнить нужно иметь специфическое устройство мозга. Однако непрятности запоминаются надолго. Например я так и не сумел избавиться от неизвестно каким образом растущего "числа соединений с базой". Бился над этим почти месяц и все - без толку. Даже на форуме здесь у гуру спрашивал. Гуру тоже ответа не нашли.

Так что есть некоторые серьезные причины, заставившие меня взглянуть в сторону ASP.NET.

Кстати, в Microsoft Framework, а , соотвественно, и в ASP.NET возможно управлять деструктором объекта непосредственно. И для таких дорогостоящих объектов, как соединение с базой, можно вызывать дестуркторы принудительно.

Более того. В ASP.NET можно работать со специализированным клиентом базы данных. А в JSP я работал через JDBC. Это я посчитал не очень гут. Это не то место, где профессиональный разработчик SQL заценит универсальность. Сейчас мне скажут, что я платформу недоизучил. Наверняка есть какой-нибудь способ в JAVA работать и со специализированным классом доступа к ORACLE или MS SQL,  к примеру. Но повторюсь. Если я потрачу столько времени, сколько нужно для освоения JAVA  в совершенстве, я не приступлю к конкретной работе никогда.


 
Kostafey ©   (2009-04-10 18:56) [110]

> [109] kaif   (10.04.09 18:23)

А чем JDBC не устроил?

Ну вообще, никто ж не заставляет JDeveloper пользовать.

Есть NetBeans.
Если 250уе не жалко или чистоплюйством не страдаем
(кряки всегда есть) Idea - весьма удобная и шустрая среда.
Eclipse, наконец.


 
Kostafey ©   (2009-04-10 19:01) [111]

> [109] kaif   (10.04.09 18:23)
> И сервер там не Tomcat был, а какой-то другой. Названия
> не помню. Вообще чтобы все названия в JAVA упомнить нужно
> иметь специфическое устройство мозга.

А что наличие нескольких реализаций это плохо?


> Однако непрятности запоминаются надолго. Например я так
> и не сумел избавиться от неизвестно каким образом растущего
> "числа соединений с базой".

Бывает.
Как правило ошибка довольно банальна -
забывают освобождать Connection, Statement.


 
kaif   (2009-04-10 19:08) [112]

2 Kostafey ©   (10.04.09 18:56) [110]

А чем JDBC не устроил?

Универсальностью.

Ну вообще, никто ж не заставляет JDeveloper пользовать.

Есть NetBeans.


NetBeans - лучшее из того, что я вообще видел. К сожалению, использовать его не пришлось.

Бывает.
Как правило ошибка довольно банальна -
забывают освобождать Connection, Statement.


Допустите, что столько мне в голову приходило.


 
iZEN ©   (2009-04-11 13:03) [113]


> kaif   (10.04.09 18:23) [109]
> Однако непрятности
> запоминаются надолго. Например я так и не сумел избавиться
> от неизвестно каким образом растущего "числа соединений
> с базой". Бился над этим почти месяц и все - без толку.
> Даже на форуме здесь у гуру спрашивал. Гуру тоже ответа
> не нашли.


Ты чем бился? :) Биться надо головой, чтобы всю дурь по возможности выбить. :) Потом почитать умные книжки и обратить внимание на заветное словосочетание JDBC Connection Pool и соответствующий класс-фреймворк.



Страницы: 1 2 3 вся ветка

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

Наверх





Память: 0.86 MB
Время: 0.01 c
15-1239207553
Rolano
2009-04-08 20:19
2009.06.14
Вопрос по созданию в Delphi "Облочки для работы с DOS"


15-1239169620
vrem
2009-04-08 09:47
2009.06.14
Вопрос к программистам-безлимитчикам)


2-1240571851
cyber-pilot
2009-04-24 15:17
2009.06.14
Динамические массивы


15-1238696236
Internal Tracking
2009-04-02 22:17
2009.06.14
Это баг в формах?


2-1240783670
Rembo
2009-04-27 02:07
2009.06.14
Проблема с ООП Access Violation





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский