О, Господи!

Ну, ладно - разговор, вижу, идет - почитаем на досуге. Последние наработки:
Product
Персональная страница объекта класса Product. Заголовок (ProductName) - ссылка на группу Products. Выводимые данные: Category (CategoryName, ссылка), QuantityPerUnit, UnitPrice. 3 таблицы детей.
Формат 1-й таблицы: Supplier (CompanyName/CityName/CountryName, ссылка).
Формат 2-й таблицы: Customer (CompanyName/CityName/CountryName, ссылка).
Формат 3-й таблицы: OrderID (ссылка), Customer (CompanyName, ссылка, фильтр), OrderDate (до начала указанного диапазона дат строки таблицы "подкрашиваются", после диапазона - не выводятся), Quantity, Sum (считается в процессе генерации страницы). После таблицы - расчетное значение TotalSum.
Category
Персональная страница объекта класса Category. Заголовок (CategoryName) - ссылка на группу Categories. Выводимые данные: Description. 3 таблицы детей.
Формат 1-й таблицы: Product (ProductName, ссылка, фильтр), Supplier (CompanyName/CityName/CountryName, ссылка, фильтр).
Формат 2-й таблицы: Product (ProductName, ссылка, фильтр), Customer (CompanyName/CityName/CountryName, ссылка, фильтр).
Формат 3-й таблицы: OrderID (ссылка), Product (ProductName, ссылка, фильтр), Customer (CompanyName, ссылка, фильтр), OrderDate (до начала указанного диапазона дат строки таблицы "подкрашиваются", после диапазона - не выводятся), Quantity, Sum (считается в процессе генерации страницы). После таблицы - расчетное значение TotalSum.
Company
Персональная страница объекта класса Company. Заголовок (CompanyName) - ссылка на группу Companyies. Выводимые данные: Address (City, Country - ссылки), Phone, Fax, ContactName (FirstName+LastName, ссылка). 3 таблицы детей.
Формат 1-й таблицы: Product (ProductName, ссылка, фильтр), Supplier (CompanyName/CityName/CountryName, ссылка, фильтр).
Формат 2-й таблицы: Product (ProductName, ссылка, фильтр), Customer (CompanyName/CityName/CountryName, ссылка, фильтр).
Формат 3-й таблицы: OrderID (ссылка), Product (ProductName, ссылка, фильтр), Customer (CompanyName, ссылка, фильтр), OrderDate (до начала указанного диапазона дат строки таблицы "подкрашиваются", после диапазона - не выводятся), Quantity, Sum (считается в процессе генерации страницы). После таблицы - расчетное значение TotalSum.
City, Country - по формату Company, но окружение из своего "круга".
Так, хватит "теории" - надо же посмотреть, что получится - наверняка многое поменяется. Ах, да - линки... Ну уж это я описывать не буду, скажу только, что число ребер (в графовом представлении) уже не минимально необходимое (как в прошлом тесте), а может быть избыточным (для скорости доступа). Виртуальные ребра (через промежуточные узлы) с той же целью могут заменяться реальными. Короче, собираем БД уже для представления на странице.
Не, чо-то страшновато... Соберем лучше в минимальной конфигурации, а потом добавим по мере необходимости. Собрал, имеем: классов - 21, узлов - 1644, ребер - 4834, байт - 59510. Теперь перенесем все это дело на страницу... Так, в чем дело?! Ну и чем тебе эти 4 сотрудника не нравятся? А, вона что - у них кавычки внутре... ну, это мы враз... так, сожрала. Теперь начнем потихоньку открывать выдачу (и инициализировать классы). Начиная с морды. О, я как раз на границе 64К. Надеюсь, неприятностей по этому поводу не будет? Кстати, заведем-ка мы юзеровские классы отдельным объектом.
Так, до уровня предыдущего теста мы почти догнали (морду рисует) - перекур!
Добавление от 13.08.2009 15:24:
Всем спасибо, но... разговор-то идет, но, по-моему, не туда.
Да и не очень похоже, что идет - и здесь замолчали...
dozenХотел было уж врезать... ну да ладно.
То есть код страницы пишется на Java -- есть кучка классов, описывающих Layouts и элементы ввода. Затем получившийся Java-code пропускается через GWT-compiler, и тот создает идентичный Javascript-code.
То есть код страницы пишется на C (точнее, на SINT) -- там есть все, что душе угодно (мало будет - добавим). Затем получившийся exe-файл (в статике - генератор страниц, в динамике... ну, скажем, СУБД) создает необходимый Javascript-code (кому он нужен, голый-то?), вместе с необходимыми ДАННЫМИ (для генератора - из шаблонов, для СУБД - из БД. Ну и на кой хрен нужен этот кастрированный сервис GWT?

Чем хороши "AJAX-методы" - я не знаю, "интернационализация" - смешно и говорить, компоненты построения графиков - это да, это интересно. Кто строит-то - сам клиент али сервер?
arsaкстати есть Ext GWT - вообще супер библиотека
Ну дык... Я уже просил - слабо сделать на ней сервис для корректировки запросов к Google? Или хотя бы мой третий тест (зуб даю, минимум на порядок код вырастет, если вообще работать будет

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

это сильно упрощало расширение системы, то есть буквально создавая новую таблицу в базе я получал новый JS класс на клиенте

Какое дело КЛИЕНТУ до таблицы в БАЗЕ?! Тем более, что в моих базах, например, ваще никаких таблиц нет.
Реляция есть идеологический тупик, для сложных задач не годится. А уж класс на клиенте получить...тут к сожалению для JS мало чего хорошего пока есть
Вот именно! Зато у самого JS много чего хорошего есть.

Точнее, немного - только eval - но это не так уж и мало.
Konstantin Mironovich100пудов автор ИДЕОЛОГИЧЕСКИ замышляет что-то типа AJAX.
Вот уж понятия не имею. Если AJAX и в самом деле "правильная идея" - то возможно...

помогу-ка автору припасть к идеологическим истокам
А, черт! А я в TXT качнул. Но все равно - спасибо.
HedinА трёхзвенку таки сложнее программировать чем двухзвенку...
Разве? И чего там насчет RPC? Переменная толщина клиента (в терминологии этой ветки) и есть RPC. Даже лучше: P (которая R) вначале транспортируется на клиента, и затем уж она - C, C, C, C, C, C, C, ... В чем проблемы-то?

В двузвенке всё-таки удобно пользоваться долгоживущими сессиями JPA/Hibernate. А в 3-хзвенке: сессия на запрос, заморочки с DTO и т.д. и т.п...
Ах, вона чего... Ну, дык... В моем варианте держи "сессию" хоть сутками. И безо всяких "заморочек" - получил выборку из БД "на руки", и редактируй до посинения. Затем все "оптом" - на сервер. Поди плохо?

Есть такой вариант, "AJAX для бедных" (на базе iframe), наверное что-то типа этого.
Лана, и это качнем.
Хотя... честно говоря, не вижу смысла - у меня полное ощущение, что я УЖЕ умею все, что душе угодно, а вот вы, господа, судя по постингам, как раз имеете какие-то ПРОБЛЕМЫ. Ну и?dozenКуку-то все равно браузер передает, так что HTTP-session поддерживается. Или я чего-то не понял в трудностях?
Я - тоже. На хрена HTTP-session поддерживать - не понимаю. Мой подход на это дело пилюет с высокой колокольни.
Да ладно, у него темп жизни такой.
М-д-а-а. Ну, извини - напросился все-таки...
Достопочтимый сэр! Ведь мы с тобой не первый год знакомы. Ведь у меня уж тыщу лет насчет твоей квалификации никаких загадок не осталось. И ты это ПРЕКРАСНО знаешь - одной только "малой модели" мне за глаза хватило, чтобы вынести вердикт. А это было еще при царе Горохе. С тех пор диагноз только подтверждался. Ну перед кем ты здесь подпрыгиваешь? Перед публикой? Перед теми, кто в этой ветке на тебя молился (вот приедет dozen - dozen нас рассудит)? Защитная реакция дилетанта, который косит под эксперта? Но это же глупо, мил человек! Ну сам сообрази - приходит сюда чел, который тебя вообще не знает, и читает... ну, скажем, твой первый пост в этой ветке. И какое мнение у него про тебя может сложиться? Ну, кроме: Идиот! Вот и я не знаю...
Вот скажи мне, дураку - зачем ты терминами разными бросаешься (что здесь, что в "крошке")? Чтобы продемонстрировать, что ты знаешь, как они пишутся? Или что ты ветку не удосужился прочесть? Или ты полагаешь, что здесь народ собирается глупее тебя? Трудно поверить: скажем, насчет "палитр" я несколько раз все объяснял открытым текстом. Ладно, специально для тебя - повторю, разжую, и в рот положу: палитра есть наиболее простой и наглядный способ ОТЛАДКИ ИНСТРУМЕНТАРИЯ. Сразу видно, работает ли, и так ли, как хотелось. Отлаживал же я управление стеками, динамический вызов методов, перезапись кадров, шаблоны и прочую хрень. Доступно? Я, в принципе, понимаю - тебе это сложно, тебе нужно увидеть знакомое слово, и бежать "штанишки описывать". Но ведь это же только ТВОИ проблемы, дорогой!
И стиль твой для незнакомых... Можно подумать, что ты очень озлоблен на меня за что-то, что мы с тобой враги кровные... Дыши глубже - я к тебе давно уже хорошо отношусь.
И, кстати, про "результаты" - ну не позорься, а? Я много раз выкладывал и тексты, и экзешники, а в этой ветке все даже и в одном флаконе. И в трех экземплярах. И четвертый готовится. И процесс создания описан - я все это писал и описывал одновременно - прямо в процессе жизни ветки. Ну какого еще рожна тебе нужно, чтобы понял, о чем речь?! Ведь даже броузер все прекрасно понимает. По крайней мере, мой - простенький, без наворотов. Ты же, со всеми твоими "CSS, AJAX и подшивками журнала Хакер" никакого "результата" дать не способен. Я давно это знаю. Ты - тоже. Хочешь, чтобы и другие узнали?
Исправлено: Vladimir Rybinkin, 13.08.2009 15:24