powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Технологии для разработки трехзвенной архитектуры.
25 сообщений из 46, страница 1 из 2
Технологии для разработки трехзвенной архитектуры.
    #35008260
john-black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята, хотелось бы услышать про чужой опыт (успешный или не очень) по реализации трехзвенки в системе, в которой от 50 клиентов (в моей случае - 70, и все в разных городах).
Дело в том, что сейчас возможно придется выбирать технологию для реализации и есть определенный риск, что решая одни проблемы, приобрету другие. В настоящий момент используется система, реализованная в Borland Builder: технология COM, связь осуществляется с помощью сокетов (для чего на сервере всегда запущена утилита scktsrvr.exe). На стороне клиента используется компонент TClientDataSet+TSocketConnection, на сервере - TDataSetProvider. Проблема в том, что система работает нестабильно. Периодически у клиентов возникает ошибка "Invalid SID", природу которой до сих пор толком понять не удалось. Причина в утилите scktsrvr.exe, которая не поддерживается производителем с 2004 года. Для устранения ошибки приходится перезапускать scktsrvr.exe, а так же перезапускать все клиентские программы (что останавливает работу на несколько минут). Было принято решение переводить все на компоненты kbmMW (тут можно узнать подробнее о них: http://www.components4programmers.com/). Соблазнило описание реализованной в них функциональности, однако на деле вся эта прекрасная функциональность работает не совсем гладко. Компоненты эти в некоторых местах сырые (в частности, там реализован модуль поддержки ODAC - именно эту технологию мы используем для доступа к бд Oracle, так в этом модуле были найдены и исправлены несколько ошибок). И реализованная на этих компонентах система работает неприемлимо медленно, хотя и весьма стабильно. Сейчас пытаемся разобраться со структурой кода компонентов, чтобы попытаться понять причины "тормозов" и по-возможности исправить их, однако не исключен вариант, что эта технология (эти компоненты) будет отвергнута. И тогда встанет вопрос (уже задаемся им периодически) — какую технологию использовать? Не хотелось бы вновь потратить много времени и в итоге отказаться от использования.
Собственно, мой вопрос потому так и звучит: кто что использует для трехзвенки при написании в Borland Builder и насколько успешен опыт использования? Полагаю многим будет интересно узнать про чужой опыт.
...
Рейтинг: 0 / 0
Технологии для разработки трехзвенной архитектуры.
    #35008408
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделали в свое время. Транспорт весь собственной разработки, стандартные компоненты не прижились по разным причинам. Проекты разные, как локальные так и распределенные по разным городам-весям. Пользователей от 5 до 350. Но всю "базу" конечно пришлось разрабатывать самостоятельно.
...
Рейтинг: 0 / 0
Технологии для разработки трехзвенной архитектуры.
    #35008538
john-black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А какие ресурсы вам для этого понадобились (люди/время)? На основе чего делали свой транспорт (Indy, other)?
...
Рейтинг: 0 / 0
Технологии для разработки трехзвенной архитектуры.
    #35008607
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
john-blackА какие ресурсы вам для этого понадобились (люди/время)? На основе чего делали свой транспорт (Indy, other)?
транспорт на основе ADO, если конечно можно так сказать. Ресурсы до 10 ч/лет
...
Рейтинг: 0 / 0
Технологии для разработки трехзвенной архитектуры.
    #35008739
Baldr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мы используем COM/DCOM, правда в условиях ЛВС. Клиентов 100+. Для удаленных офисов, т.е. тонких каналов, по моему разумению, подходит не очень.

Я бы Вам рекомендовал разработать собсвенный app. сервер на сокетах, альтернативный вариант -реализовать двухзвенку (клиент-Oracle) и разместить логику на стороне СУБД. Вариант тоже так себе, но для вашей задачи может и подойдет. Нотификацию клиентов можно делать DBMS_ALERT. :)
...
Рейтинг: 0 / 0
Технологии для разработки трехзвенной архитектуры.
    #35008787
john-black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BaldrМы используем COM/DCOM, правда в условиях ЛВС. Клиентов 100+. Для удаленных офисов, т.е. тонких каналов, по моему разумению, подходит не очень.

Я бы Вам рекомендовал разработать собсвенный app. сервер на сокетах, альтернативный вариант -реализовать двухзвенку (клиент-Oracle) и разместить логику на стороне СУБД. Вариант тоже так себе, но для вашей задачи может и подойдет. Нотификацию клиентов можно делать DBMS_ALERT. :)

Логика и так реализована на стороне СУБД, app. сервер требуется в частности для компрессии пакетов (да и для шифрования, чего уж тут скрывать :)). Разработать собственный app. сервер - в наших условиях задача очень трудновыполнимая по причине отсутствия ресурсов (людей мало). Самый хороший вариант - воспользоваться одной из существующих технологий. Вопрос - какой именно? Сейчас используем COM (связь через сокеты). О минусах ее я написал в первом посте. Из известных есть еще MTS (и можно похоронить планы перевода сервера на Linux), CORBA, SOAP (связь по HTTP), и kbmMW(сторонние разработчики, первые впечатления не очень). Возможно есть еще что-то, разработанное сторонними разработчиками, о чем мы не знаем. Вот я и прошу поделиться опытом использования любых конкретных технологий и решений.
...
Рейтинг: 0 / 0
Технологии для разработки трехзвенной архитектуры.
    #35008818
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
john-black TClientDataSet+TSocketConnection, на сервере - TDataSetProvider
в свое время тестировали MIDAS, но скорость работы...
Транспорт в принципе TCP/IP, но в связке с ADO. Выглядит в реале так (1.5 мин,500К), с удаленными хостами. (видео требует установки WebEx (2,3МБ))
...
Рейтинг: 0 / 0
Технологии для разработки трехзвенной архитектуры.
    #35008860
Artemiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые, а объясните мне вообще необходимость 3-х звенки в данной задаче?
Не кажется ли вам что такую систему проще и лучше будет реализовать по архитектуре классического клиент-сервера + сервер терминалов? Что не устаривает в таком решении? Чем не подходит?

Плюсы подхода:
* простота реализации; (классические, надежные технологии)
* высокая надежность;
* возможность распараллелить терминал сервера (Citrix). Вкупе с возможностями Oracle RAC мы получаем практически не ограниченную масштабируемость;
* относительно низкие требования к каналу;
* стабильность соединения. Даже если связь порвется, ваша работа и данные не будут потеряны, при повторном открытии терминальной сессии вы подключитесь к старой сессии.
* простота поддержки и обновления приложения(находится в одном месте, на сервере терминалов, настройки и данные пользователя находятся либо в базе, либо в профиле, хранящемся так же на сервере;
* возможность клиент работать на любых платформах поддерживающих возможность соединения с терминал-сервером;
* стабильность окружения в котором работает ПО, простота отладки.
...
Рейтинг: 0 / 0
Технологии для разработки трехзвенной архитектуры.
    #35008872
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
john-blackЛогика и так реализована на стороне СУБД, app. сервер требуется в частности для компрессии пакетов (да и для шифрования, чего уж тут скрывать :)).
Хм. Насчет компрессии - не уверен, надо лезть в доку, а вот насчет шифрования интересно. Я так понимаю, поддерживаемого Oracle-ом SSL вам не хватает? Не секрет ли, в каком именно месте?

john-blackВот я и прошу поделиться опытом использования любых конкретных технологий и решений.
Присоединяюсь к точке зрения "трехзвенка не нужна". И чуть выше совершенно справедливо сказано о терминальном сервере.
...
Рейтинг: 0 / 0
Технологии для разработки трехзвенной архитектуры.
    #35008891
john-black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ArtemiyУважаемые, а объясните мне вообще необходимость 3-х звенки в данной задаче?
Не кажется ли вам что такую систему проще и лучше будет реализовать по архитектуре классического клиент-сервера + сервер терминалов? Что не устаривает в таком решении? Чем не подходит?

Плюсы подхода:
* простота реализации; (классические, надежные технологии)
* высокая надежность;
* возможность распараллелить терминал сервера (Citrix). Вкупе с возможностями Oracle RAC мы получаем практически не ограниченную масштабируемость;
* относительно низкие требования к каналу;
* стабильность соединения. Даже если связь порвется, ваша работа и данные не будут потеряны, при повторном открытии терминальной сессии вы подключитесь к старой сессии.
* простота поддержки и обновления приложения(находится в одном месте, на сервере терминалов, настройки и данные пользователя находятся либо в базе, либо в профиле, хранящемся так же на сервере;
* возможность клиент работать на любых платформах поддерживающих возможность соединения с терминал-сервером;
* стабильность окружения в котором работает ПО, простота отладки.

Где можно почитать подробности? Я слово Citrix, признаться, слышу впервые. И еще: вы все эти плюсы перечислили, опираясь на собственный опыт? Какие у вас условия? Сколько клиентов? В условиях локальной сети или через интернет (при глючном модемном, gprs, etc)?
...
Рейтинг: 0 / 0
Технологии для разработки трехзвенной архитектуры.
    #35008960
ValPot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не пробовали, но внушает.

www.realthinclient.com
...
Рейтинг: 0 / 0
Технологии для разработки трехзвенной архитектуры.
    #35008991
john-black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ValPotНе пробовали, но внушает.

www.realthinclient.com

Спасибо, ознакомлюсь.
...
Рейтинг: 0 / 0
Технологии для разработки трехзвенной архитектуры.
    #35009004
Artemiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лично применяю и считаю эту технологию наиболее подходящей в таких случаях. Так же считаю её лучшим вариантом, чем всякие веб-армы и прочие веб сервисы. По крайней мере для ограниченных внутренних информационных систем и армов.

У нас на предприятии данное решение широко применяется как для работы с сторонними приложениями, так и для работы с самописными системами (разработкой и поддержкой одной из них я занимаюсь)

Похвастаться множеством различных городов с разными каналами я не могу. У нас работают люди в филиалах (крупные города РФ), люди их нашего города по интернету + некоторые пользователи в офисе по локалке.
Теоретически все проблемы производительности и масштабируемости решаются простым увеличением мощности терминал-серверов + субд. Обычно нужна только память, много памяти.
Можно сервера параллелить, соберать фермы (20 пользователей работают на сервере1, 20 на сервере2)

Можете поинтересоваться у 1С-ников, они ИМХО первые в нашей стране начали широко применять данную технологию.

Из минусов могу отметить лишь:
* не нулевые требования к каналу;
* ограниченность в разрешении и цветности клиента (зависит от канала);
* стоимость лецензий

ЗЫ Считаю, что в будущем привлекательность таких решений будет только расти в связи с развитием каналов связи.
...
Рейтинг: 0 / 0
Технологии для разработки трехзвенной архитектуры.
    #35009525
Глас народа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Artemiy
ЗЫ Считаю, что в будущем привлекательность таких решений будет только расти в связи с развитием каналов связи.

Не будет. :-) Терминалки в распределенных системах - это временный костыль, призванный для лечения криво спроектированных продуктов типа 1С (7.7 и ниже).

Дело в том, что как только потребителем информации в удаленной системе станут не только люди, а еще и другие ИС (а это потребуется рано или поздно), вся затея с терминалками накроется медным тазом. Все равно придется писать RPC - интерфейс в дополнение к имеющемуся директ-клиенту. Может лучше все-таки сразу написать нормальную трехзвенку? ;)

топикстартеру: вебсервисы - без альтернатив, если объемы передаваемых данных не сильно критичны.
...
Рейтинг: 0 / 0
Технологии для разработки трехзвенной архитектуры.
    #35009542
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArtemiyЗЫ Считаю, что в будущем привлекательность таких решений будет только расти в связи с развитием каналов связи.
Наоборот. Такие решения привлекательны в основном на далеких от идеала каналах связи. При идеальных каналах их вытеснит нормальный клиент-сервер.
...
Рейтинг: 0 / 0
Технологии для разработки трехзвенной архитектуры.
    #35009777
john-black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Глас народа[quot Artemiy]
топикстартеру: вебсервисы - без альтернатив, если объемы передаваемых данных не сильно критичны.

А нельзя немного поподробнее? Какие объемы считать критичными? Хорошо было бы послушать о личном опыте. Для меня важна скорость работы, а каналы у многих клиентов (в каких-нибудь Урюпинсках) не ахти.

А что касается терминалов, то я сильно сомневаюсь, что это подойдет для моих условий. Качество связи очень далеко от идеала, часты обрывы. Потому хотелось бы вернуться к теме топика, а именно: поделитесь опытом реализации трехзвенок в похожих условиях.
...
Рейтинг: 0 / 0
Технологии для разработки трехзвенной архитектуры.
    #35010343
Глас народа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
john-black Глас народа[quot Artemiy]
топикстартеру: вебсервисы - без альтернатив, если объемы передаваемых данных не сильно критичны.

А нельзя немного поподробнее? Какие объемы считать критичными? Хорошо было бы послушать о личном опыте. Для меня важна скорость работы, а каналы у многих клиентов (в каких-нибудь Урюпинсках) не ахти.

А что касается терминалов, то я сильно сомневаюсь, что это подойдет для моих условий. Качество связи очень далеко от идеала, часты обрывы. Потому хотелось бы вернуться к теме топика, а именно: поделитесь опытом реализации трехзвенок в похожих условиях.

По субъективным ощущениям, XML-сериализация в среднем раза в четыре объемнее бинарной. Но можно жать трафик на уровне HTTP, немного возрастет нагрузка.
Преимущества XML-сервисов в том, что их понимают все современные технологии и платформы (без этого зоопарка: DCOM, CORBA, Remoting...). И свободно проходит брандмауэры по HTTP.

Если каналы так себе - можно просто уменьшать размер SOAP-пакетов - дробить на несколько, делать пэйджинг на сервере.

Аналогичную систему делали, правда, под .NET, но это непринципиально, на то и вебсервисы.
Есть еще такая штука RemObjects , как раз занимается трехзвенками для Дельфей. Сами не мучали, слышали неплохие отзывы.
...
Рейтинг: 0 / 0
Технологии для разработки трехзвенной архитектуры.
    #35010446
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>john-black
> ... по реализации трехзвенки ...
Посмотри Архитектура приложений

Но ..., написана на С# под .Net.

С уважением, Владимир.
...
Рейтинг: 0 / 0
Технологии для разработки трехзвенной архитектуры.
    #35010478
Dmitriy Ivanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гн> По субъективным ощущениям, XML-сериализация в среднем раза в четыре
Гн> объемнее бинарной. Но можно жать трафик на уровне HTTP, немного
Гн> возрастет нагрузка. Преимущества XML-сервисов в том, что их
Гн> понимают все современные технологии и платформы (без этого
Гн> зоопарка: DCOM, CORBA, Remoting...).

XML - тяжеловесная технология, оправданность ее применения с большими
объемами данных сомнительна.

Гн> И свободно проходит брандмауэры по HTTP.

Т.е. "бесконтрольно" проходит через HTTP. Иными словами: захочешь
контролировать доступ к таким сервисам - намучаешься.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Технологии для разработки трехзвенной архитектуры.
    #35010578
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Технологии для разработки трехзвенной архитектуры.
    #35010589
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Глас народаПо субъективным ощущениям, XML-сериализация в среднем раза в четыре объемнее бинарной.
объективные ощущения (один набор данных).
До сжатия: XML - 3.81MB, Binary - 2.5MB
После сжатия сервером: XML - 588K, Binary - 588K
...
Рейтинг: 0 / 0
Технологии для разработки трехзвенной архитектуры.
    #35011128
Глас народа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitriy Ivanov
Гн> По субъективным ощущениям, XML-сериализация в среднем раза в четыре
Гн> объемнее бинарной. Но можно жать трафик на уровне HTTP, немного
Гн> возрастет нагрузка. Преимущества XML-сервисов в том, что их
Гн> понимают все современные технологии и платформы (без этого
Гн> зоопарка: DCOM, CORBA, Remoting...).

XML - тяжеловесная технология, оправданность ее применения с большими
объемами данных сомнительна.

Гн> И свободно проходит брандмауэры по HTTP.

Т.е. "бесконтрольно" проходит через HTTP. Иными словами: захочешь
контролировать доступ к таким сервисам - намучаешься.


Posted via ActualForum NNTP Server 1.4

"Бесконтрольно" - это как?
HTTP-запросы не ломятся в мою сеть, я сам делаю запросы к вебсервису и получаю HTTP-ответы. Чем это отличается от обычного web-серфинга через брандмауэр (с точки зрения контроля доступа)??

Если же вы имеете в виду контроль на стороне Web-сервиса, то нормальные веб-сервера (Apache, IIS) имеют весьма развитые средства безопасности - для этого они и создавались, в общем-то...
...
Рейтинг: 0 / 0
Технологии для разработки трехзвенной архитектуры.
    #35011280
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>iscrafm
> ...объективные ощущения ...

Реальные данные - некоторые числовые характеристики прототипа
(для первой страницы полной выборки из таблицы Фильмы):
- число строк в странице – 240,
- размер не сжатой страницы выборки по фильмам, примерно
325 000 байт - сериализация Microsoft (Soap),
60 000 байт - сериализация Microsoft (Binary),
22 000 - моя сериализация,
- размер сжатой страницы выборки по фильмам, примерно
22 000 байт - вариант Microsoft (Soap),
13 000 байт - вариант Microsoft (Binary),
12 000 - мой вариант
- Вывод: сжимайте сериализованное.

С уважением, Владимир.
...
Рейтинг: 0 / 0
Технологии для разработки трехзвенной архитектуры.
    #35012753
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Глас народа wrote:
> Преимущества XML-сервисов в том, что их понимают все современные
> технологии и платформы (без этого зоопарка: DCOM, CORBA, Remoting...). И
> свободно проходит брандмауэры по HTTP.

А CORBA что, не все понимают, что ли ? А про брандмауэры - это
никому не нужно.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Технологии для разработки трехзвенной архитектуры.
    #35012858
Глас народа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Глас народа wrote:
> Преимущества XML-сервисов в том, что их понимают все современные
> технологии и платформы (без этого зоопарка: DCOM, CORBA, Remoting...). И
> свободно проходит брандмауэры по HTTP.

А CORBA что, не все понимают, что ли ? А про брандмауэры - это
никому не нужно.

Интересно, а какие такие преимущества у Corba перед вебсервисами?

Зы: насчет брандмауэров - не нужно выдавать личное мнение за объективное...
...
Рейтинг: 0 / 0
25 сообщений из 46, страница 1 из 2
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Технологии для разработки трехзвенной архитектуры.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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