|
|
|
Rich Client Platform ?
|
|||
|---|---|---|---|
|
#18+
Объясните что означает сия аббревиатура Rich Client Platform. Вот например Eclipse тоже RCP. А что это такое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2006, 23:26 |
|
||
|
Rich Client Platform ?
|
|||
|---|---|---|---|
|
#18+
Есть SWT->RCP->Eclipse SWT - это базовая библиотека для построения gui RCP - это платформа для разработки gui клиентов. Представляет собой некоторый шаблон gui приложения с возможностями кастомизации. Уже содержит общую архитектуру приложения. Eclipse - это конкретный продукт, реализованный на RCP. Есть например еще куча других продуктов написаных на RCP ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2006, 00:15 |
|
||
|
Rich Client Platform ?
|
|||
|---|---|---|---|
|
#18+
А где можно посмотреть примеры создания GUI интерфейса на основе Eclipse RCP ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2006, 13:27 |
|
||
|
Rich Client Platform ?
|
|||
|---|---|---|---|
|
#18+
вот студенты пошли! низачот за неумение пользоваьтся гуглём! eclipse.org ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2006, 18:08 |
|
||
|
Rich Client Platform ?
|
|||
|---|---|---|---|
|
#18+
А кто нибудь делал на базе EclipseRCP толстого клиента к трёхзвенке (EJB3.0, Hibernatr)? А то же самое но с помощью EMF? У меня идея на счёт EMF. Пишем интерфейсы для сущностей метим их для EMF. Реализуя эти интерфейсы пишем Entity Beans. EMFом генерим классы модели которые будут работать на клиенте (их нужно генерить так, чтобы они наследовали наши Entity Beans'ы), генерим EMF редактор. Теперь EMF модель может прочитаться из XMLа - нужно чтобы фасад писал и читал сущности из такого же XMLа (думаю не проблема). В результате получим робастную технологию для толстага клиента. ваши камменты по этому поводу ???? а гугл по этому вопросу выдаёт ссылцы на бургерские конференции и курсы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2006, 02:08 |
|
||
|
Rich Client Platform ?
|
|||
|---|---|---|---|
|
#18+
exppА кто нибудь делал на базе EclipseRCP толстого клиента к трёхзвенке (EJB3.0, Hibernatr)? А то же самое но с помощью EMF? У меня идея на счёт EMF. Пишем интерфейсы для сущностей метим их для EMF. Реализуя эти интерфейсы пишем Entity Beans. EMFом генерим классы модели которые будут работать на клиенте (их нужно генерить так, чтобы они наследовали наши Entity Beans'ы), генерим EMF редактор. Теперь EMF модель может прочитаться из XMLа - нужно чтобы фасад писал и читал сущности из такого же XMLа (думаю не проблема). В результате получим робастную технологию для толстага клиента. ваши камменты по этому поводу ???? а гугл по этому вопросу выдаёт ссылцы на бургерские конференции и курсы. ну и кто-нибудь чоннить скажед??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 15:38 |
|
||
|
Rich Client Platform ?
|
|||
|---|---|---|---|
|
#18+
В данный момент работаю над таким проектом: 1) Сервер – работает под Tomcat, использует Hibernate для доступа к данным; 2) Клиент – на RCP; Про EMF сказать ничего не могу, ибо смотрел в сторону EMF очень не долго (времени не было). Можно обменяться опытом, если интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2006, 07:53 |
|
||
|
Rich Client Platform ?
|
|||
|---|---|---|---|
|
#18+
авторСервер – работает под Tomcat, использует Hibernate для доступа к данным; тут я не понял на котеТоме вёб-служба или что? на RCP к чему клиент ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2006, 13:35 |
|
||
|
Rich Client Platform ?
|
|||
|---|---|---|---|
|
#18+
exppтут я не понял на котеТоме вёб-служба или что? на RCP к чему клиент ??? На сервере работает серверная часть приложения (Вы же сами про трехзвенку тут говорили). А клиентская часть к ней как раз (к серверной части). Архитектура сервис-ориентированная, но мы пока soap не используем, поэтому обработку запросов от клиента пока выполняют сервлеты. Хотя я как раз хочу переехать на вэб-сервисы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2006, 13:46 |
|
||
|
Rich Client Platform ?
|
|||
|---|---|---|---|
|
#18+
а почему сервлеты ?? а не Session EJB ??? на них как то лихо получается они отлично вызываются по RMI и возвращают Entity beans (Hibernate POJO) а сервлетом как? (и на пальцах про SOA ???) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2006, 14:32 |
|
||
|
Rich Client Platform ?
|
|||
|---|---|---|---|
|
#18+
У меня тоже есть похожий проект. Аппликэйшн сервер - ЖБосс 4. Используется его интегрированная поддержка Хибернэйта и Вэб-сервисов. Клиент - на RCP. Обмениваются бинами туда-обратно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2006, 16:41 |
|
||
|
Rich Client Platform ?
|
|||
|---|---|---|---|
|
#18+
сразу вопрос: бины прокачиваются через вёб-сервисы? зачем? почему не фасад на сессионном бине через RMI? (это так мелоч) как в случае RCP проблемы с ленивой выгрузкой объектов (чтоб ветки дерева грузились по тычку), и единицей работы (UnitOfWork). и можно скриншотец - ну чтоб проникнуться. а что на счёт EMF на мой ламерцкый взгляд (см.пред) он почти сам всего клиента может сгенерить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2006, 18:20 |
|
||
|
Rich Client Platform ?
|
|||
|---|---|---|---|
|
#18+
Да, бины через вэб-сервис, причем, когда надо - то и все дерево бинов. Архитектура приложения была разработана так, что ленивая загрузка не используется, так как любой метод сервиса - атомарный и после его отработки хибернэйт сессия закрывается. А почему не EJB - такое было требование заказчика ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2006, 13:26 |
|
||
|
Rich Client Platform ?
|
|||
|---|---|---|---|
|
#18+
AndreySerj... ленивая загрузка не используется ... А не может получиться так, что вся база данных поднимется по запросу? И еще вопрос, как Вы обратно данные в базу заносите? Мержем? Не возникает проблем с рассинхронизацией? Очень интересна Ваша архетиктура, мы нечто подобное планируем сейчас сделать, но есть опасения... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2006, 13:35 |
|
||
|
Rich Client Platform ?
|
|||
|---|---|---|---|
|
#18+
pretender, "ага" AndreySerj, я под "ленивая загрузка" не хибернатцкий lazy load имел ввиду, а пользовательский screen flow (что ли) типа: показываем корень, тыч по корню - развернули master'ов тыч по мастеру грузим его details, ... ну и как изменения вносятся, сразу же или юзер сначала натыкает, а потом или запостит или отменит изменения. короче данные на клиенте как хранятся. о как. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2006, 15:44 |
|
||
|
Rich Client Platform ?
|
|||
|---|---|---|---|
|
#18+
этот бред, который я песал, сделан в SDO - нашлёпке на EMF (которая хорошо совмещается с RCP) заценим сцылцу, коллеги ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2006, 18:31 |
|
||
|
Rich Client Platform ?
|
|||
|---|---|---|---|
|
#18+
2pretender: Нет вся база не тянется. Где надо в мапингах обрублены связи и имеются проки-классы - когда нужно показать только сущность без ее наполнения. Кусок DAO: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2006, 20:42 |
|
||
|
Rich Client Platform ?
|
|||
|---|---|---|---|
|
#18+
AndreySerjв мапингах обрублены связи и имеются проки-классы А не тяжело без связей работать. Хотя слова «где надо» наталкивают на мысль что Вам пришлось думать, как и где их обрубить, чтобы с одной стороны не потерять нужные связи, а с другой, чтобы не было проблем с загрузкой объектов на клиент. Или я не правильно Вас понял? Если я правильно понял CommonDAO – собственно DAO, а CommonViewDAO – это прокси DAO, который используется для отправки и отображения на клиенте? Это прокси обладает значительно уменьшенным количеством атрибутов. В нем отсутствуют все ссылки на другие объекты, как я понял. Про рассинхронизацию, наверное, я действительно непонятно написал, прошу прощения. Вопрос такой: Клиент имеет возможность редактировать объект (изменять его)? Скорее всего - да. Значит, возникает задача сохранения изменений произведенных клиентом на сервере. Сервер получает от клиента измененный прокси объект, так? И сохраняет его в базу данных методом update(Object entity). Проблем не возникает? Похоже, что нет. Поясню, какие проблемы я имел в виду: прежде всего lazyInitializationException при сохранении каскадных изменений в подчиненных объектах («no session or session was closed»). Если я не ошибаюсь, именно потому, что Вы lazy не используете, то у Вас нет проблем с этим. Да еще к тому же клиент с прокси объектами работает, у которых вообще связей нет (как я понял). Я также надеялся услышать и про другие проблемы, но если их нет, то это здорово! И еще вопрос есть: с производительностью проблем не возникает (все-таки с lazy нагрузка поменьше на систему)? Или Вы так не думаете? Если что не так понял, не ругайте :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2006, 07:08 |
|
||
|
Rich Client Platform ?
|
|||
|---|---|---|---|
|
#18+
pretender А не тяжело без связей работать. Хотя слова «где надо» наталкивают на мысль что Вам пришлось думать, как и где их обрубить, чтобы с одной стороны не потерять нужные связи, а с другой, чтобы не было проблем с загрузкой объектов на клиент. Или я не правильно Вас понял? Все верно. Пришлось очень тщательно продумывать где какие связи сохранять, где удалять. pretender Если я правильно понял CommonDAO – собственно DAO, а CommonViewDAO – это прокси DAO, который используется для отправки и отображения на клиенте? Это прокси обладает значительно уменьшенным количеством атрибутов. В нем отсутствуют все ссылки на другие объекты, как я понял. Да. Те клиенту изначально дается прокси, а когда он определился с выбором и хочет загрузить полноценный бин - тогда подгружается обычный бин. pretender Про рассинхронизацию, наверное, я действительно непонятно написал, прошу прощения. Вопрос такой: Клиент имеет возможность редактировать объект (изменять его)? Скорее всего - да. Значит, возникает задача сохранения изменений произведенных клиентом на сервере. Сервер получает от клиента измененный прокси объект, так? И сохраняет его в базу данных методом update(Object entity). Проблем не возникает? Похоже, что нет. Прокси нужен только чтобы показать клиенту что есть например список каких то обектов. Когда клиент выбирает из этого списка определнный объект(например для, редактирования) - подгружается полноценный объект. Его и редактируют. Проблем с апдейтом не возникало. pretender Поясню, какие проблемы я имел в виду: прежде всего lazyInitializationException при сохранении каскадных изменений в подчиненных объектах («no session or session was closed»). Если я не ошибаюсь, именно потому, что Вы lazy не используете, то у Вас нет проблем с этим. ... И еще вопрос есть: с производительностью проблем не возникает (все-таки с lazy нагрузка поменьше на систему)? Или Вы так не думаете? Да с lazy в моем случает не получится. Как я говорил, все операции с сервисом - атомарные. При вызове любого метода удаленного сервиса - открывается и закрывается сессия. Вообще с производительностью имеенно в этом проекте проблем нет, так кол-во объектов небольшое (имеются заранее предопределенные + возможно добавление пару расширенных). Безусловно, с lazy пошустрее будет, но я как-то не нашел красивого решения, что б и lazy и независимый вызов методов у сервиса. Может у кого-то есть более элегантное решение - поделитесь плиз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2006, 11:03 |
|
||
|
Rich Client Platform ?
|
|||
|---|---|---|---|
|
#18+
Ваша архитектура понятна. Я очень рад что у Вас все работает. Мы тоже шли-шли и к такому решению пришли. Но сомнения все-таки есть особенно в плане производительности... AndreySerj Безусловно, с lazy пошустрее будет, но я как-то не нашел красивого решения, что б и lazy и независимый вызов методов у сервиса. Может у кого-то есть более элегантное решение - поделитесь плиз. Да вроде есть решение. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2006, 11:45 |
|
||
|
Rich Client Platform ?
|
|||
|---|---|---|---|
|
#18+
AndreySerj Да. Те клиенту изначально дается прокси, а когда он определился с выбором и хочет загрузить полноценный бин - тогда подгружается обычный бин. а я вот, делаю такой изврат: сначала клиент получает entity с неподгруженными ассоциациями т.е. потенциально возможно lazyinitexc .GUI это обнаруживает (спец.методом) и при обращении вместо отбражения коллекций озадачивает фасад на полную выгрузку бина с его ассоциациями. (для этого все сложные сущности реализуют спец. интерфейс) такое решение по вашему это как ???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2006, 15:15 |
|
||
|
|

start [/forum/topic.php?fid=59&tid=2149338]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
163ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 487ms |

| 0 / 0 |
