Re[4]: Показалось достойным внимания
От: Зверёк Харьковский  
Дата: 20.09.05 08:40
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, Зверёк Харьковский, Вы писали:


ЗХ>>Попробуем прикинуть (в нижеследующем тексте под термином "desktop-приложение" имеется в виду самостоятельная программа; "web-приложение" — HTML+JavaScript, работающее в любом современном браузере).


ЗХ>>Преимущества desktop-приложений

ЗХ>>1. Существенно более богатые возможности по созданию интерфейса
ЗХ>>2. Нет проблем с хранением данных на клиенте
ЗХ>>3. (наиболее очевидное) Не нужно постоянное подключение к интернету
AVK>4. Экономия трафика за счет того, что можно значительно гибче кешировать оформление (именно оно отнимает львиную долю трафика в веб-приложениях) и передавать практически голые данные. А так же за счет того, что можно локально хранить большие объемы данных.
Ну, во-первых, кеширование еще никто не отменял (картинок, стилей и прочего).
Во-вторых, как там Влад говорит? "Память сегодня не ресурс"? Ну и трафик потихоньку перестает быть.

AVK>5. Более полный доступ к локальным устройствам — устройствам вывода на твердую копию, постоянным и съемным носителям, устройствам ручного ввода, 3D-акселераторам и т.п. Доступ ко внутренним сетевым ресурсам.

Факт.

AVK>6. Более глубокие возможности по адаптации к различным клиентским устройствам — планшетам, КПК, мобильникам и т.д.

Хмы... Эттто еще вопрос, что проще подогнать под КПК-шку
Давеча в КТ писали — Опера сделала браузер для мобил, в котором можно смотреть обычные сайты (она их переформатирует). Вплот до беспроблемного использования GMail.

ЗХ>>Преимущества web-приложений

ЗХ>>1. Непривязанность к конкретному компьютеру
ЗХ>>2. Легкость совместной работы (к примеру, некое потенциальное webIDE бесшовно и естественно интегрируется с VCS)

AVK>Это вряд ли. Проблемы параллельного доступа к единым ресурсам нужно решать что для веб-приложений, что для смарт-клиентов. Разницы между ними в этом плане никакой.


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

ЗХ>>3. Полное отсутствие проблемы смены версии (с точки зрения клиента)


AVK>Для смарт клиентов эта проблема решается сравнительно небольшой кровью.


Угу, скачиваешь новую версию Януса, реструктурируешь БД... Делов-то.
За что я люблю MSN Messenger — раз в месяц он сообщает "этот вэрсия болше не работает,да?" — и качает новую самостоятельно Мегабайта 3-4. По дайлапу...

AVK>4. Простота старта. Ничего копировать и устанавливать не надо. Правда есть Java WebStart и MS ClickOnce


Факт.
FAQ — це мiй ай-кью!
Re[6]: Показалось достойным внимания
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 20.09.05 09:05
Оценка:
Здравствуйте, Sinclair, Вы писали:

E>>Вполне возможно, что это из-за того, что такой задачи не стоит. А вот если Google очень сильно захочет сделать возможным локальную offline-работу с GMail, то какую-нибудь технологию для этого они придумают. ИМХО.

S>Такая технология существует уже десять лет. Я намекну: ты давно в последний раз видел жабный апплет? А ее ведь специально проектировали с расчетом на то, что код будет загружаться по требованию.

Нет, как раз недавно видел. LiveTiming на сайте Formula-1 как раз в виде апплета сделан. Очень интересно, если нет возможности этап по TV посмотреть.

Но, имхо, это опять не то. Очевидно, что код web-приложения GMail и код Java-апплета для offline-клиента для GMail очевидно будут слишком разными и не будут иметь общей кодовой базы. А представь себе, что с помощью какой-то прослойки появляется возможность взять серверный код GMail и заставить его работать у клиента в offline! С локальным частичным snapshot-ом почтовой базы клиента. Вроде того, что когда нет связи с сервером GMail-клиент работает только с тем, что оказалось на машине клиента. Когда связь появляется сама прослойка берет на себя задачу синхронизации локальной и серверной БД. И прозрачно перенаправляет запросы с локальной БД на серверную при необходимости. А так же кэширует части серверной БД на клиенте.

В браузерах ведь что-то подобное уже есть. Они же кэшируют у себя часть котента чтобы не качать повторно то, что не изменилось на сервере.
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[5]: Показалось достойным внимания
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 20.09.05 09:37
Оценка:
Здравствуйте, Зверёк Харьковский, Вы писали:

ЗХ>Ну, во-первых, кеширование еще никто не отменял (картинок, стилей и прочего).


Значительно менее гибко.

ЗХ>Во-вторых, как там Влад говорит? "Память сегодня не ресурс"? Ну и трафик потихоньку перестает быть.


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

AVK>>6. Более глубокие возможности по адаптации к различным клиентским устройствам — планшетам, КПК, мобильникам и т.д.

ЗХ>Хмы... Эттто еще вопрос, что проще подогнать под КПК-шку

Главное не что проще, а чей результат будет качественней.

ЗХ>Давеча в КТ писали — Опера сделала браузер для мобил, в котором можно смотреть обычные сайты (она их переформатирует). Вплот до беспроблемного использования GMail.


Как будто он первый. Только вот удобство такого решения хромает.

AVK>>Это вряд ли. Проблемы параллельного доступа к единым ресурсам нужно решать что для веб-приложений, что для смарт-клиентов. Разницы между ними в этом плане никакой.


ЗХ>Ну, некоторая разница все же есть.


Ну, судя по моему опыту, все таки нет. Хотя, конечно, это отчасти субъективно.

AVK>>Для смарт клиентов эта проблема решается сравнительно небольшой кровью.


ЗХ>Угу, скачиваешь новую версию Януса, реструктурируешь БД... Делов-то.


В янусе эту проблему не решали из-за не очень большой актуальности (и сложности регулярного выпуска стабильных версий). Поэтому, кстати, формально смарт-клиентом с точки зрения МС янус не является.
... << RSDN@Home 1.2.0 alpha rev. 617>>
AVK Blog
Re[6]: Показалось достойным внимания
От: Зверёк Харьковский  
Дата: 20.09.05 09:52
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>>>Для смарт клиентов эта проблема решается сравнительно небольшой кровью.


ЗХ>>Угу, скачиваешь новую версию Януса, реструктурируешь БД... Делов-то.


AVK>В янусе эту проблему не решали из-за не очень большой актуальности (и сложности регулярного выпуска стабильных версий). Поэтому, кстати, формально смарт-клиентом с точки зрения МС янус не является.


Во, это интересно. Можешь вкратце сказать (или ткнуть меня носом в линк, я не обижусь), каковы формальные требования к "смарт-клиенту"?
FAQ — це мiй ай-кью!
Re[7]: Показалось достойным внимания
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 20.09.05 10:13
Оценка: 44 (2)
Здравствуйте, Зверёк Харьковский, Вы писали:

AVK>>В янусе эту проблему не решали из-за не очень большой актуальности (и сложности регулярного выпуска стабильных версий). Поэтому, кстати, формально смарт-клиентом с точки зрения МС янус не является.


ЗХ>Во, это интересно. Можешь вкратце сказать (или ткнуть меня носом в линк, я не обижусь), каковы формальные требования к "смарт-клиенту"?


http://msdn.microsoft.com/smartclient/default.aspx?pull=/library/en-us/dnpag/html/scag.asp
... << RSDN@Home 1.2.0 alpha rev. 617>>
AVK Blog
Re[7]: Показалось достойным внимания
От: Sinclair Россия https://github.com/evilguest/
Дата: 20.09.05 10:22
Оценка:
Здравствуйте, eao197, Вы писали:
E>Но, имхо, это опять не то. Очевидно, что код web-приложения GMail и код Java-апплета для offline-клиента для GMail очевидно будут слишком разными и не будут иметь общей кодовой базы.
Почему это?
E>А представь себе, что с помощью какой-то прослойки появляется возможность взять серверный код GMail и заставить его работать у клиента в offline!
Существующий код GMail, очевидно, не станет так работать. Просто потому, что он не портабелен. Был бы написан на джаве — работал бы на клиентской машине, и в том числе оффлайн.
E>С локальным частичным snapshot-ом почтовой базы клиента.
С этим пока хуже, по соображениям секурности.
E>Вроде того, что когда нет связи с сервером GMail-клиент работает только с тем, что оказалось на машине клиента. Когда связь появляется сама прослойка берет на себя задачу синхронизации локальной и серверной БД. И прозрачно перенаправляет запросы с локальной БД на серверную при необходимости. А так же кэширует части серверной БД на клиенте.
Это все понятно. Непонятно, как это будет работать. Потому что логика и структура клиентского приложения радикальнейшим образом отличается от того, что делается на сервере.
Почему? Потому, что сервер работает в совершенно другом окружении. Поднять полную копию environment сервера на клиенте — пока что анриал. До тех пор, пока OS не начнет предоставлять огромное количество сервисов. Для начала: в чем ты собрался хранить данные? В реляционной базе? Угу, покажи мне СУБД, которая масштабируется от однопользовательской клиентской версии до full-scale сервера на стороне GMail. Чтобы можно было использовать для работы с ней один и тот же код.
При этом, конечно же, эта СУБД должна либо быть на всех платформах, как джава-машина, либо быть платформеннонезависимой и скачиваться on demand. Иначе мы потеряем главный плюс веб-приложений. А для работы GMail нужна далеко не только СУБД. Еще очень много сервисов должны быть доступны локально — иначе мы получаем все того же тонкого клиента, который сейчас живет в рамках браузера.
E>В браузерах ведь что-то подобное уже есть. Они же кэшируют у себя часть котента чтобы не качать повторно то, что не изменилось на сервере.
Во-первых, они кэшируют только "вниз". Никакой возможности синхронизоваться "вверх" на основе браузерного кэша нету. И там вообще другая идеология: браузер кэширует не данные, а результаты запросов. Они устроены совершенно по-другому, чем данные на сервере. Поэтому все это вообще работает.
... << RSDN@Home 1.1.4 stable rev. 510>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: Показалось достойным внимания
От: iZEN СССР  
Дата: 20.09.05 10:25
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, Зверёк Харьковский, Вы писали:


ЗХ>>Попробуем прикинуть (в нижеследующем тексте под термином "desktop-приложение" имеется в виду самостоятельная программа; "web-приложение" — HTML+JavaScript, работающее в любом современном браузере).


ЗХ>>Преимущества desktop-приложений

ЗХ>>1. Существенно более богатые возможности по созданию интерфейса
ЗХ>>2. Нет проблем с хранением данных на клиенте
ЗХ>>3. (наиболее очевидное) Не нужно постоянное подключение к интернету
AVK>4. Экономия трафика за счет того, что можно значительно гибче кешировать оформление (именно оно отнимает львиную долю трафика в веб-приложениях) и передавать практически голые данные. А так же за счет того, что можно локально хранить большие объемы данных.
Используйте Java WebStart.
AVK>5. Более полный доступ к локальным устройствам — (a) устройствам вывода на твердую копию, (b) постоянным и съемным носителям, (c) устройствам ручного ввода, (d) 3D-акселераторам и т.п. (e) Доступ ко внутренним сетевым ресурсам.
5.a. Java Printing API
5.b. Java IO API
5.c. Java Look'and'Feel
5.d. Java3D независима от платформы.
5.e. ??? Java Network API
AVK>6. Более глубокие возможности по адаптации к различным клиентским устройствам — планшетам, КПК, мобильникам и т.д.
Используйте Java Accessibility API.
<...>
ЗХ>>3. Полное отсутствие проблемы смены версии (с точки зрения клиента)
AVK>Для смарт клиентов эта проблема решается сравнительно небольшой кровью.
Используйте Java WebStart для рич-клиентов.
AVK>4. Простота старта. Ничего копировать и устанавливать не надо. Правда есть Java WebStart и MS ClickOnce
Вот именно.
Re[8]: Показалось достойным внимания
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 20.09.05 11:00
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, eao197, Вы писали:

E>>Но, имхо, это опять не то. Очевидно, что код web-приложения GMail и код Java-апплета для offline-клиента для GMail очевидно будут слишком разными и не будут иметь общей кодовой базы.
S>Почему это?

Ну хотя бы потому, что web-приложение формирует свой GUI на основе HTML и JavaScript. А Java-апплет на основе GUI-widget-ов. Web-приложение имеет возможность обращатся на прямую к БД, а вот Java-апплету придется как-то у сервера данные запрашивать.

E>>Вроде того, что когда нет связи с сервером GMail-клиент работает только с тем, что оказалось на машине клиента. Когда связь появляется сама прослойка берет на себя задачу синхронизации локальной и серверной БД. И прозрачно перенаправляет запросы с локальной БД на серверную при необходимости. А так же кэширует части серверной БД на клиенте.

S>Это все понятно. Непонятно, как это будет работать. Потому что логика и структура клиентского приложения радикальнейшим образом отличается от того, что делается на сервере.
<...следующие два абзаца поскипаны...>

Здесь ты, имхо, повторил тоже, что я говорил тут: Re: Показалось достойным внимания
Автор: eao197
Дата: 18.09.05
.

Но тем не менее... Скажем, ты просишь меня показать СУБД, которая маштабируется. А вот мне кажется, что если приложение использует стандартный, не привязанный к конкретной СУБД, SQL то совсем не обязательно, имхо, чтобы у клиента на машине была таже СУБД, что и на сервере.

Ну и кроме того, если уж фантазировать, то можно провести аналогию. Сейчас, чтобы пользоваться Web-ом, нужно иметь браузер. И практически на всех десктопах браузеры есть. Причем все они настолько близки по функциональности, что по большому счету без разницы, пользуемся ли мы Оперой, Эксплорером, Мозилой, Сафари, Канкуером или еще чем-то. Как раз это и делает web-приложения платформенно-независимыми с точки зрения конечного пользователя -- ведь я вижу тоже самое на rsdn.ru и когда захожу в него Оперой из Windows, и когда Канкуером из Linux-а.

Теперь представим, что появляется какой-то набор инструментов, который позволяет создать на машине пользователя какое-то подобие server-side окружения. Ведь выпускает Sun спецификации вроде EJB, JDBC, JDO, JMS... Ну появится еще несколько спецификаций для web-приложений. Таких, что написанное в их соотвествии web-приложение сможет работать и на клиенте. Причем на сервере могут быть установлены мощные, дорогие системы, реализующие данные спецификации. А на клиенте более простые, менее требовательные. Но все равно они будут предоставлять приложению привычное окружение.

С точки зрения наших сегодняшних знаний все это выглядит утопичным. Но ведь до появления реляционных СУБД как-то работали люди на иерархических и сетевых СУБД. Потом появились РСУБД и это стало прорывом. С web-мо, имхо, тоже самое -- статический контент, CGI, web-приложения, ... Что-то же все равно будет дальше. И когда это что-то появится мы будем думать, да все элементарно -- берем такую то технологию, устанавливаем такой-то софт и понеслось. До следующей не разрешимой задачи. Потом опять -- технология, инструмент, новая задача. И т.д.

В конце-концов, мы ведь в "Философии программирования". Почему бы и не пофилософствовать
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[5]: Показалось достойным внимания
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 20.09.05 11:01
Оценка:
Здравствуйте, iZEN, Вы писали:

AVK>>4. Экономия трафика за счет того, что можно значительно гибче кешировать оформление (именно оно отнимает львиную долю трафика в веб-приложениях) и передавать практически голые данные. А так же за счет того, что можно локально хранить большие объемы данных.

ZEN>Используйте Java WebStart.

Это из другой оперы.

AVK>>5. Более полный доступ к локальным устройствам — (a) устройствам вывода на твердую копию, (b) постоянным и съемным носителям, (c) устройствам ручного ввода, (d) 3D-акселераторам и т.п. (e) Доступ ко внутренним сетевым ресурсам.

ZEN>5.a. Java Printing API
ZEN>5.b. Java IO API
ZEN>5.c. Java Look'and'Feel
ZEN>5.d. Java3D независима от платформы.
ZEN>5.e. ??? Java Network API
AVK>>6. Более глубокие возможности по адаптации к различным клиентским устройствам — планшетам, КПК, мобильникам и т.д.
ZEN>Используйте Java Accessibility API.
ZEN><...>

Это ты к чему привел?
... << RSDN@Home 1.2.0 alpha rev. 617>>
AVK Blog
Re[9]: Показалось достойным внимания
От: iZEN СССР  
Дата: 20.09.05 11:47
Оценка:
Здравствуйте, eao197, Вы писали:

E>Здравствуйте, Sinclair, Вы писали:


S>>Здравствуйте, eao197, Вы писали:

E>>>Но, имхо, это опять не то. Очевидно, что код web-приложения GMail и код Java-апплета для offline-клиента для GMail очевидно будут слишком разными и не будут иметь общей кодовой базы.
S>>Почему это?
E>Ну хотя бы потому, что web-приложение формирует свой GUI на основе HTML и JavaScript. А Java-апплет на основе GUI-widget-ов. Web-приложение имеет возможность обращатся на прямую к БД, а вот Java-апплету придется как-то у сервера данные запрашивать.
Интересно, а если прямой JDBC-запрос сделать невозможно по причине отсутствия драйвера 4-го уровня (написан на Java) и/или закрыты все "нестандартные" порты кроме http? Если не через JDBC, то как же?
Всё просто: jdbc-запрос кодируется в http GET/POST-запрос (Request). На сервере, соответственно, происходит раскодирование, выполнение запроса и отправка данных клиенту в соответствующем "конверте", определяемом MIME-типом (Response).
Re[10]: Показалось достойным внимания
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 20.09.05 11:54
Оценка:
Здравствуйте, iZEN, Вы писали:

E>>>>Но, имхо, это опять не то. Очевидно, что код web-приложения GMail и код Java-апплета для offline-клиента для GMail очевидно будут слишком разными и не будут иметь общей кодовой базы.

S>>>Почему это?
E>>Ну хотя бы потому, что web-приложение формирует свой GUI на основе HTML и JavaScript. А Java-апплет на основе GUI-widget-ов. Web-приложение имеет возможность обращатся на прямую к БД, а вот Java-апплету придется как-то у сервера данные запрашивать.
ZEN>Интересно, а если прямой JDBC-запрос сделать невозможно по причине отсутствия драйвера 4-го уровня (написан на Java) и/или закрыты все "нестандартные" порты кроме http? Если не через JDBC, то как же?
ZEN>Всё просто: jdbc-запрос кодируется в http GET/POST-запрос (Request). На сервере, соответственно, происходит раскодирование, выполнение запроса и отправка данных клиенту в соответствующем "конверте", определяемом MIME-типом (Response).

Ну правильно, именно это я и имел в виду. Но вот разве нужно все это web-приложению, которое работает на сервере и имеет возможность непосредственно осуществлять JDBC запросы к БД? Имхо, нет в этом смысла.
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[9]: Показалось достойным внимания
От: Sinclair Россия https://github.com/evilguest/
Дата: 20.09.05 12:23
Оценка:
Здравствуйте, eao197, Вы писали:
E>Ну хотя бы потому, что web-приложение формирует свой GUI на основе HTML и JavaScript. А Java-апплет на основе GUI-widget-ов. Web-приложение имеет возможность обращатся на прямую к БД, а вот Java-апплету придется как-то у сервера данные запрашивать.
Это понятно. Нет никакой технологии чтобы превратить готовое веб-приложение на хренпоймичем в локальное приложение с использованием той же базы. А вот с нуля написать приложение, которое будет работать как applet и как standalone — можно.

E>Здесь ты, имхо, повторил тоже, что я говорил тут: Re: Показалось достойным внимания
Автор: eao197
Дата: 18.09.05
.

Совершенно верно.
E>Но тем не менее... Скажем, ты просишь меня показать СУБД, которая маштабируется. А вот мне кажется, что если приложение использует стандартный, не привязанный к конкретной СУБД, SQL то совсем не обязательно, имхо, чтобы у клиента на машине была таже СУБД, что и на сервере.
Здесь ключевое слово — "кажется". Потому что такой вещи, как "стандартный, не привязанный к конкретной СУБД SQL" в природе не существует. Существует бездна диалектов, которые отличаются настолько, что невозможно построить мало-мальски сложное приложение независимым от СУБД образом.

E>Теперь представим, что появляется какой-то набор инструментов, который позволяет создать на машине пользователя какое-то подобие server-side окружения. Ведь выпускает Sun спецификации вроде EJB, JDBC, JDO, JMS... Ну появится еще несколько спецификаций для web-приложений. Таких, что написанное в их соотвествии web-приложение сможет работать и на клиенте. Причем на сервере могут быть установлены мощные, дорогие системы, реализующие данные спецификации. А на клиенте более простые, менее требовательные. Но все равно они будут предоставлять приложению привычное окружение.

Вот это все — тоже утопия. Может, я мало курил, но я не представляю себе такую замечательную спецификацию, которая была бы достаточно lightweight для работы на клиенте, и достаточно fullscale для использования на сервере.

E>С точки зрения наших сегодняшних знаний все это выглядит утопичным. Но ведь до появления реляционных СУБД как-то работали люди на иерархических и сетевых СУБД. Потом появились РСУБД и это стало прорывом. С web-мо, имхо, тоже самое -- статический контент, CGI, web-приложения, ... Что-то же все равно будет дальше. И когда это что-то появится мы будем думать, да все элементарно -- берем такую то технологию, устанавливаем такой-то софт и понеслось. До следующей не разрешимой задачи. Потом опять -- технология, инструмент, новая задача. И т.д.

Ага. Ну то есть предлагается называть вот такой вот Environment собственно WebOS. Я правильно понял полет фантазии?
... << RSDN@Home 1.1.4 stable rev. 510>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[11]: Показалось достойным внимания
От: iZEN СССР  
Дата: 20.09.05 12:27
Оценка:
Здравствуйте, eao197, Вы писали:

iZEN>>Всё просто: jdbc-запрос кодируется в http GET/POST-запрос (Request). На сервере, соответственно, происходит раскодирование, выполнение запроса и отправка данных клиенту в соответствующем "конверте", определяемом MIME-типом (Response).


E>Ну правильно, именно это я и имел в виду. Но вот разве нужно все это web-приложению, которое работает на сервере и имеет возможность непосредственно осуществлять JDBC запросы к БД? Имхо, нет в этом смысла.

Тогда технология Агентов.
Агент может быть построен/создан на лету в клиентском приложении для выполнения определённых задач от лица пользователя на сервере. Его можно сериализовать (вместе с соответствующими .class-файлом/ами) в бинарный код и отправить в http GET/POST-запросе на сервер, там его уже "ждут", "разворачивают" и запускают с правами соответствующего пользователя. Дальше уже дело техники.

Либо универсальные XML-RPC или SOAP, "работающие" по такому же принципу.
Но для SOAP нужна унифицированная инфраструктура как на клиенте, так и на сервере, что усложняет переносимость (меньше кода — лучше переносимость). XML-RPC в этом плане более легковесен, так как вокруг него не нужно городить огород из фрейморка, соответствующего какой-либо полной спецификации. Задача усложняется тем, "поймут" ли друг друга клиент и сервер, если они сами по себе должны быть независимыми. Что делать серверу, если ему пришлют "какой-то" XML неизвестно от кого: отшить или провести процесс авторизации. "Договориться" с клиентом на каком языке?
Re[12]: Показалось достойным внимания
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 20.09.05 12:38
Оценка:
Здравствуйте, iZEN, Вы писали:

iZEN>>>Всё просто: jdbc-запрос кодируется в http GET/POST-запрос (Request). На сервере, соответственно, происходит раскодирование, выполнение запроса и отправка данных клиенту в соответствующем "конверте", определяемом MIME-типом (Response).


E>>Ну правильно, именно это я и имел в виду. Но вот разве нужно все это web-приложению, которое работает на сервере и имеет возможность непосредственно осуществлять JDBC запросы к БД? Имхо, нет в этом смысла.

ZEN>Тогда технология Агентов.
ZEN>Агент может быть построен/создан на лету в клиентском приложении для выполнения определённых задач от лица пользователя на сервере. Его можно сериализовать (вместе с соответствующими .class-файлом/ами) в бинарный код и отправить в http GET/POST-запросе на сервер, там его уже "ждут", "разворачивают" и запускают с правами соответствующего пользователя. Дальше уже дело техники.

<...>

Все это хорошо, но не решает главной проблемы -- заливке web-приложения на сторону клиента и работе его там в offline. Причем практически полноценной работе.
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[10]: Показалось достойным внимания
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 20.09.05 12:38
Оценка:
Здравствуйте, Sinclair, Вы писали:

E>>С точки зрения наших сегодняшних знаний все это выглядит утопичным. Но ведь до появления реляционных СУБД как-то работали люди на иерархических и сетевых СУБД. Потом появились РСУБД и это стало прорывом. С web-мо, имхо, тоже самое -- статический контент, CGI, web-приложения, ... Что-то же все равно будет дальше. И когда это что-то появится мы будем думать, да все элементарно -- берем такую то технологию, устанавливаем такой-то софт и понеслось. До следующей не разрешимой задачи. Потом опять -- технология, инструмент, новая задача. И т.д.

S>Ага. Ну то есть предлагается называть вот такой вот Environment собственно WebOS. Я правильно понял полет фантазии?

Ага.
По крайней мере для себя смысл в путанных изъяснениях г.Коттке я нашел именно в этом.
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[10]: Показалось достойным внимания
От: iZEN СССР  
Дата: 20.09.05 12:59
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, eao197, Вы писали:

E>>Ну хотя бы потому, что web-приложение формирует свой GUI на основе HTML и JavaScript. А Java-апплет на основе GUI-widget-ов. Web-приложение имеет возможность обращатся на прямую к БД, а вот Java-апплету придется как-то у сервера данные запрашивать.
S>Это понятно. Нет никакой технологии чтобы превратить готовое веб-приложение на хренпоймичем в локальное приложение с использованием той же базы. А вот с нуля написать приложение, которое будет работать как applet и как standalone — можно.

E>>Здесь ты, имхо, повторил тоже, что я говорил тут: Re: Показалось достойным внимания
Автор: eao197
Дата: 18.09.05
.

S>Совершенно верно.
E>>Но тем не менее... Скажем, ты просишь меня показать СУБД, которая маштабируется. А вот мне кажется, что если приложение использует стандартный, не привязанный к конкретной СУБД, SQL то совсем не обязательно, имхо, чтобы у клиента на машине была таже СУБД, что и на сервере.
S>Здесь ключевое слово — "кажется". Потому что такой вещи, как "стандартный, не привязанный к конкретной СУБД SQL" в природе не существует. Существует бездна диалектов, которые отличаются настолько, что невозможно построить мало-мальски сложное приложение независимым от СУБД образом.

E>>Теперь представим, что появляется какой-то набор инструментов, который позволяет создать на машине пользователя какое-то подобие server-side окружения. Ведь выпускает Sun спецификации вроде EJB, JDBC, JDO, JMS... Ну появится еще несколько спецификаций для web-приложений. Таких, что написанное в их соотвествии web-приложение сможет работать и на клиенте. Причем на сервере могут быть установлены мощные, дорогие системы, реализующие данные спецификации. А на клиенте более простые, менее требовательные. Но все равно они будут предоставлять приложению привычное окружение.

S>Вот это все — тоже утопия. Может, я мало курил, но я не представляю себе такую замечательную спецификацию, которая была бы достаточно lightweight для работы на клиенте, и достаточно fullscale для использования на сервере.
Borland JDataStore — пример переносимой СУБД-SQL на Java для embedded-систем. Кстати, BES в ней хранит записи о транзакциях — вроде не падает и не жалуется на "немасштабируемость".
Для клиентского приложения достаточно ядра (один файлик .jar) этой СУБД для полного переноса её функционала на сторону клиента. Поддерживаются как прямое обращение клиента к JDataStore (на этапе написания кода: import <jds package>), так и в рантайме по JDBC-протоколу (драйвер 4-типа).
Re[8]: Показалось достойным внимания
От: Вертер  
Дата: 12.11.07 13:57
Оценка:
Здравствуйте, Sinclair, Вы писали:

извиняюсь, что подымаю тему (ищю кое-какую информацию)...

E>>А представь себе, что с помощью какой-то прослойки появляется возможность взять серверный код GMail и заставить его работать у клиента в offline!


прошло всего два года... а уже реальность наступила — Google Gear, XULrunner, Mozilla Prizm

S>Существующий код GMail, очевидно, не станет так работать. Просто потому, что он не портабелен. Был бы написан на джаве — работал бы на клиентской машине, и в том числе оффлайн.

E>>С локальным частичным snapshot-ом почтовой базы клиента.
S>С этим пока хуже, по соображениям секурности.
...
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.