Статья анализирующая (http://www.nclug.ru/content.php?article.94) существующие и некоторые новые подходы к решению проблем создания клиент-серверных систем с развитым пользовательским интерфейсом.URL: http://www.nclug.ru/content.php?article.94
Новость: http://www.opennet.me/opennews/art.shtml?num=7894
Статья довольно пустая. Больше половины тратится на объяснение того, что даже по мнению автора "хорошо известно". Оставшаяся же часть вместо собственно описания нового подхода заполнена фразами типа: "максимально удобный", "предоставляет разработчику возможность не задумываться", "полностью сконцентрироваться", "свободно оперировать", "максимально комфортный способ", "механизм рационального транспорта", etc.
Что касается предыдущего анонимного коментария - автор наверняка является тайным членом команды анонимусов клана ЛОР :-D или просто обиженным жизнью человеком.
На самом деле перед нами предстает новый подход в создании сетевых приложений на платформе Glan, которая в свою очередь базируется на кроссплатформенной библиотеке Qt4.
Со стороны простого обывателя, привыкшего к классическому понятию тонкого клиента , очень сложно взглянуть на проблему под другим углом. Обычно тонкие клиенты ассоциируются с протоколами передачи видеоинформации. То есть, делать ничего не надо, только запустить соответствующее программное обеспечение, которое сделает всю работу за вас. Но это требует дополнительных затрат энергии, т.е. пропускной способности сети, мощности узлов сети... А вот данная модель предлагает несколько иной подход - создание приложения уже со встроенным функционалом передачи интерфейса. На основе него (подхода) можно строить очень большие комплексные системы масштаба Internet. Все просто - приложение работает на сервере, интерфейс у вас на компьютере.
>На самом деле перед нами предстает новый подход в создании сетевых приложений на платформе Glan, которая в свою очередь базируется на кроссплатформенной библиотеке Qt4.А не могли бы Вы, уважаемый, объяснить суть этого подхода? И основываясь на материалах статьи, если не трудно. А то посылать всех на ЛОР стало столь же популярно как на другие три буквы. Или Вы думаете, что указание ника в посте само по себе уже признак интеллекта?
>Или Вы думаете, что указание ника в посте само по себе уже признак интеллекта?
я так подозреваю, что признаком интеллекта в последнее время все чаще становятся беспощадные нападки на разработчиков решений в сфере опенсорса и повальное их (разработчиков) обсирание!
>На самом деле перед нами предстает новый подход в создании
>сетевых приложений на платформе Glan, которая в свою очередь
> базируется на кроссплатформенной библиотеке Qt4.Может, это предстает, но не в указанной статье. Именно об этом и написал первый анонимный товарищ.
Нужно поконкретнее на недостатки статьи указывать, а не голословно критиковать, вырывая обрывки фраз!
Куда уж конкретнее?> Больше половины тратится на объяснение того, что даже по мнению автора хорошо известно.
Это верно? Или будете оспаривать? ;) Даже если бы в оставшейся части было кратко и ясно написано, в чем именно заключается новый подход - этого уже достаточно, чтобы назвать статью (не решение, заметьте) пустой. Но...
> Оставшаяся же часть вместо собственно описания ... заполнена фразами типа:...
Это тоже верно. Ясного описания, в чем именно заключается новый подход здесь тоже нет.
Так что, вместо демонстрации своей обиды и голословных ;) оправданий лучше напишите вторую редакцию статьи (если Вы один из разработчиков, конечно). Удачи!
>Это верно? Или будете оспаривать? ;) Даже если бы в оставшейся части было кратко и ясно написано, в чем именно заключается новый подход - этого уже достаточно, чтобы назвать статью (не решение, заметьте) пустой. Но...Если тема интересна, добро пожаловать на форум kalpa.ru. Там можно задать конкретные вопросы по работе технологии и библиотеки... А устраивать спор по поводу литературных способностей автора я не собираюсь, ибо пустое это ;)
>Это тоже верно. Ясного описания, в чем именно заключается новый подход здесь тоже нет.
>Так что, вместо демонстрации своей обиды и голословных ;) оправданий лучше напишите
>вторую редакцию статьи (если Вы один из разработчиков, конечно). Удачи!Ваше предложение обязательно примем к сведению. Спасибо за удачу. :)
Большое спасибо за конструктивную критику. Я обязательно постараюсь внять Вашим рекомендациям. Поверьте, я очень внимательно отношусь к реакции на мои робкие попытки донести свои мысли до общественности. Мое косноязычие - моя беда и я неоднократно каялся в этом, равно как и в своей неспособности донести посредством слов, суть. Я, правда, наивно полагал, что фрагмент приведенного текста и есть конкретный пример подхода. Не заря же говорят, меньше слов - больше кода. Тем более что приведенный код - часть работающего примера, с которым можно ознакомиться как в сети, так и непосредственно в тексте (он присутствует в качестве примера в дистрибутивном архиве). Я думал, что код скажет большие и покажет искушенному разработчику как отличен подход программиста на PHP, или XML(XUL)+JavaScrip+Corba от предложенного мной. Я надеялся, что читатель увидет как можно просто, разрабатывая серверное приложение, создать окно и элементы управления используя понятный и адекватный язык. Я думал что наблюдатель поймет, что результатом этого кода станет интерфейс, сгенерированный на стороне клиента.
Но многочисленные профессиональные читатели, требуют еще больше больше слов, больше блок-схем, больше описания нежели кода и примеров.
Я буду стараться. Я напишу. И может тогда экспериментатор найдет время, скачает программу, соберет ее ( или просто поставит на свою MSWindow готовый экзешник) и посмотрит как работает тестовое приложение. И может тогда его заинтересуют эти наработки и он присоединится с людям, которе сначала попробовали, и лишь потом стали заинтересованно высказывать свои соображения.
может статья и пустая, но решение работает.
Забавная статья
Зачем, почему, для чего... и ни слова о том _как_
Беглый, признаюсь, осмотр сайта kalpa.ru не дал вообще никакой информации по этому вопросу. Если это инструмент, тем более открытый, неплохо было-бы изложить основы используемой технологии, а то звучит как известная фраза "здорово свистит - значит круто";)
Прочтиал статью, стало интересно -зашел на сайт и ... ничего. Пустота... Ребята, можно вопрос - чего вы добиваетесь/добьетесь таким подходом?
ВНИМАНИЕ! Для тех кто не равнодушен к теме тонких клиентов и кому интересна данная технология, на сайте kalpa.ru имеется демонстрационная площадка!1.Заходим в радел "Скачать", находим там клиентскую часть Glan-а, скачиваем Win или Linux версию (в зависимости от вашей ОС).
2.Запускаем клиента, нажимаем кнопку "Добавить сервер" и заполняем поля.
Server Name - любое
Server Host - kalpa.ru
Server Port - 170073.Затем кликаем дважды на созданную строку и смотрим (оцениваем) работу Glan-a и приложения.
1. "Встроенные средства защиты, аутентификации, шифрации каналов связи не дают 100% гарантии безопасности", ну эт вы загнули... если Вам не хватает софтовых SSL, VPN, etc. - возьмите аппаратно реализованные... а вот так запросто бросаться 100% не стоит...
2. "не всегда удается контролировать эффективность и разумность SQL запросов"... ИМХО, разумность SQL запросов должна полностью лежать на 'совести' разработчика...
3. "стартуя приложение на стороне сервера Вы расходуете память крайне непродуктивно каждый раз волоча за собой груз графических объектов и презентационной логики." - во-первых сразу видно, человек не читал описание X-протокола... во-вторых, на своременных каналах связи (xDSL) это не было-бы критично...
4.-Х. "программист не должен, программиста не надо обременять..." в этом случае человеку просто надо поменять место-работы, а лучше сферу деятельности...
И по большому счету, взглад на этот вопрос - это очень большое ИМХО автора...
Уже и не знаю как рассказать, попытаюсь максимально просто.
Вы - программист. Сидите и создаете программу как совершенно обыкновенную графическую на Qt (только буквы префикса меняете с Q на G), а в результате получаете серверную программу к которой можно подключиться и "получить" самый обычный (так знакомый) комфортный интерфейс приложения, расположенного на другом конце сети. Причем передача его будет "весить" совсем мало, и тогда когда надо, и то что надо. Вся нагрузка на сервере. Можете там делать что хотите, весь сервер Ваш. Можно к базам подключаться, с корбами работать, что хотите.
Что это дает? Кому как.
Мне - удобство программирования. Посколько я нахожусь в пространстве подобных Qt интерфейсных классов и больше ни о чем не думаю. Пользователю - возможность работать с удаленными приложениями.
Компаниям - возможность построить географически распределенную инфраструктуру, используя одну клиентскую программу и удаленные серверы.
Но для меня главное, что можно создавать сетевые, удобные пользователю, экономичные по трафику программы с развитым интерфейсом. И писать их точно так как Вы пишите обычные графические программы.>Если это инструмент, тем более открытый, неплохо было-бы изложить основы используемой технологии
На сайте есть самое главное - исходники. И они работают. На сервере запущены тестовые приложения, с которыми можно поработать и пощупать технологию.
Разработчики открыты. Но для этого, очевидно, надо выбрать путь коммуникации и изучения вопроса а не пустой критики ненасыщенности сайта.
>"здорово свистит - значит круто";)
Помилуйте, я же не навязываюсь. И потом, оно не "свистит", а работает. Кому нравится, кто стремится понять, тот изучает возможности, исследует и использует.
>Ребята, можно вопрос - чего вы добиваетесь/добьетесь таким подходом?
Возможно подход к пиару недостаточно продуманный. Помогите советом а может и делом. Это же OpenSource!
>На сайте есть самое главное - исходники. И они работают. На сервере
>запущены тестовые приложения, с которыми можно поработать и пощупать технологию.
Это _самая_ распространенная ошибка в OpenSource (imho) Опубликованные исходники и грамотно написанная документация это _далеко_ не одно и то же. Грамотно написанная документация это свидетельство взвешенного подхода к _проектированию_ продукта. А это, согласитесь, немаловажно, тем более для сетевых приложений.>Qt (только буквы префикса меняете с Q на G)
Я так понимаю, вы реализуете собственный протокол обмена между клиентом и сервером (оговорюсь, ваши исходники я не читал, от того строю свои предположения исключительно на материале опубликованной статьи). Вот описание этого протокола (можно в виде простой блок-схемы) как раз и подойдет в качестве _начального_ уровня документации. Для составления подобного описания вовсе не надо быть опытным техписом. Кому это действительно нужно - поймут. Подумайте, сколько времени уйдет на "прощупывание технологии" в исходниках (даже при условии, что все в нихнаписано и прокомментировано в соответствии с рекомендациями Ван Тассела*). Для вас это лишний повод систематизировать подход к проекту, для потенциальных пользователей - незаменимый источник информации, нужный для того, чтобы понять - стоит это пробовать или нет. Вы же делаете проект с целью _экономии времени_ разработчиков. Так зачем отступаться от этого принципа в самом начале.>Помилуйте, я же не навязываюсь. И потом, оно не "свистит", а работает.
Вы забываете закончить фразу;) Правильно она должна звучать: "Это работает _в моих конкретных условиях_". Вот тогда и будет все на своих местах. И никого (включая вас) не удивит, если в _других конкретных условиях_ "оно засвистит".>Кому нравится, кто стремится понять, тот изучает возможности, исследует и использует.
А если я не знаю, стоит _пытаться_ использовать ваш проект или нет, о каком исследовании может идти речь? Даже если мне понравилась идея я, в первую очередь, поищу несколько проектов, так или иначе ее реализующих. Как вы думаете, на основании чего я буду делать выбор?>Возможно подход к пиару недостаточно продуманный. Помогите советом а может и делом.
>Это же OpenSource!
Вот то, что я написал выше и есть мой совет по PR ваших идей.*PS
Кстати, именно у Ван Тассела, в свое время я встретил достаточно хорошо аргументированную идею о том, что _хорошо_ написанная программа сама себе документация. Только писать в этом случае надо так, как рекомендует он. В частности в _обязательном_ комментарии к _каждой_ подпрограмме необходимо не только давать описание используемых алгоритмов, но и _библиографические_ ссылки на их источники;)**Ван Тассел, Денни. Стиль, разработка, эффективность, отладка и испытание программ. М.: Мир. 1985. 334с.
>Вы забываете закончить фразу;) Правильно она должна звучать: "Это работает _в моих
>конкретных условиях_". Вот тогда и будет все на своих местах. ИВы позволите мне самому определять как правильно должна звучать моя фраза?
Мне думается что я вышел из возраста когда моя эмоциональность требует корректив со стороны окружающих авторов.>никого (включая вас) не удивит, если в _других конкретных условиях_ "оно
>засвистит".
Надо выянить что это за условия.>>Кому нравится, кто стремится понять, тот изучает возможности, исследует и использует.
>А если я не знаю, стоит _пытаться_ использовать ваш проект или нет,
>о каком исследовании может идти речь? Даже если мне понравилась идея
>я, в первую очередь, поищу несколько проектов, так или иначе ее
>реализующих. Как вы думаете, на основании чего я буду делать выбор?
Могу вам помочь.
http://rswt.sourceforge.net/ это для джавы
http://ntw.sourceforge.net/ это с gtk
сравнивайте.>Вот то, что я написал выше и есть мой совет по PR
>ваших идей.
Благодарствуйте.
P.S.
Не подумайте что я не воспринял Ваши рекомендации относительно документирования проекта без должного внимания. Спасибо.
1) А разве безопасно публиковать сервер баз данных в сети? Разве не разумней было бы изолировать сервер, отделяя пользователя непосредственно от базного мотора промежуточным слоем. Разве шифрация защитит опубликованный в сети сервер от нерадивых или просто опасных действий злоумышленника? Многие фирмы после таких экспериментов локти кусали.
2) Конечно, но всегда ли так бывает. Вы не сталкивались вероятно с плохооптимизированными запросами или просто запросами, которые тащат на сторону клиента огромные кучи данных, далеко не всегда необходимых.
3) >во-первых сразу видно, человек не читал описание X-протокола...
Напрасно Вы так думаете. Впрочем, об этом ли речь? Разве Х протокол имеет отношение к старту собственно приложения и размещению в памяти сервера графических объектов, которое лишь потом, в результате обработки трансформируется в последовательность X событий.
4) >4.-Х. "программист не должен, программиста не надо обременять...
Ну, это, простите, вообще смешно.
>И по большому счету, взглад на этот вопрос - это очень большое ИМХО автора...
Любой взгляд на любой вопрос есть большое имхо.
1) А разве безопасно публиковать сервер баз данных в сети? Разве не разумней было бы изолировать сервер, отделяя пользователя непосредственно от базного мотора промежуточным слоем. Разве шифрация защитит опубликованный в сети сервер от нерадивых или просто опасных действий злоумышленника? Многие фирмы после таких экспериментов локти кусали.т.е. вы считаете, что протокол обмена приложения БД с Вашим тонким-клиентом более секьюрное? ой, сумневаюсь...
2) Конечно, но всегда ли так бывает. Вы не сталкивались вероятно с плохооптимизированными запросами или просто запросами, которые тащат на сторону клиента огромные кучи данных, далеко не всегда необходимых.
ага, сталкивался, когда с 1С работал (давно, правда, это было)... и с кривыми запросами, и кривой структурой базы, и с огромными кучами ненужных данных...
3) >во-первых сразу видно, человек не читал описание X-протокола...
Напрасно Вы так думаете. Впрочем, об этом ли речь? Разве Х протокол
имеет отношение к старту собственно приложения и размещению в памяти сервера
графических объектов, которое лишь потом, в результате обработки трансформируется в последовательность X событий.правильно, X-протокол отвечает за то, что б не делать вот этого "каждый раз волоча за собой груз графических объектов и презентационной логики", а события обрабатывает X-клиент, который их потом по X-протоколу передает X-серверу, который занимается "рисованием"... в принципе, надо ли Вам это объяснять, раз вы в курсе...
и наверняка в курсе, что QT пользуется не всеми возможностями X (я бы даже сказал далеко не всеми), чтобы уменьшить трафик между клиентом и сервером... (не это ли Вы исправили?)>4) >4.-Х. "программист не должен, программиста не надо обременять...
>Ну, это, простите, вообще смешно.
...еще бы, ткая прям забота о программисте меня просто умиляет...
>т.е. вы считаете, что протокол обмена приложения БД с Вашим тонким-клиентом более
>секьюрное? ой, сумневаюсь...
тонкий клиент с базой не общается, он общается с сервером а уж сервер работает с базой. Клиенту доставляем только информацию для генерации интерфейса.>и сервером... (не это ли Вы исправили?)
Вообще странно, когда люди создают PHP или генераторы интерфейса на XML или XUL какой-нибудь. Эти решения совершенно спокойно используются. Никаких проблем. Когда в 3-4 файлах описывают простенький диалог по схеме Corba+XML+JavaScript Это нормально, круто и современно. А когда предлагается делать тоже самое, только более комфортно и понятно для программиста, в одном месте и дешевле для пользователя, вспомнили по Х протокол и страшно умиляемся.
Да нет проблем, пользуйтесь Х протоколом. Стройте инфраструктуру предприятия на X терминалах. Прокачивайте трафик. Мир разный, каждому свое.
>
>>4) >4.-Х. "программист не должен, программиста не надо обременять...
>>Ну, это, простите, вообще смешно.
>...еще бы, ткая прям забота о программисте меня просто умиляет...Точно, нефиг, держать его в ежевых рукавицах следует.
А есть клиент под Windows? Я не нашел на kalpa.ru
Отбой, сегодня выложили :)
ну не написали люди документацию, за то главное выложили сырцы и не просто выложили а сделали OpenSource
Ребята, чесно - спасибо, пожалуйста продолжайте выкладывать и дальше свои проэкты и делайте их OpenSource, не обращайте внимания на других
>ну не написали люди документацию, за то главное выложили сырцы и не
>просто выложили а сделали OpenSource
>Ребята, чесно - спасибо, пожалуйста продолжайте выкладывать и дальше свои проэкты и
>делайте их OpenSource, не обращайте внимания на другихСпасибо, мы стараемся.