![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
DmitryPS |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 20.4.2007 Где: Казань Репутация: нет Всего: 1 |
Всем доброго времени суток.
Нужен совет История вполне обычна. Пришло время расширять функционал проекта. Сразу уточню — проект реалтаймовский. Существует необходимость маппить объекты проекта двумя путями: XML <-> java DB <-> java Принцип работы с данными. 1. Запуск системы. Инициализируется кэш объектов. Данные берутся из базы. 2. С определенной периодичностью кэш сбрасывается в базу. Т.е. однонаправленная синхронизация. 3. Так же периодически возникает необходимость маппить обекты в/из XML . (web сервисы) В данный момент маппинг реализован в обертках для объектов системы. Быстро, но поддерживать и расширять такой код тяжко. Изобретать велосипед и писать своей фреймворк желания никакого нет. Поэтому хочется чего то готового Умеющего делать XML <-> java + DB <-> java. Желательно с описанием маппирования в аннотациях. На первый взгляд, выбор огромен. http://java-source.net/open-source/persistence Hibernate и JPA не катят на мой взгляд, Они для другого класса задач. Может что посоветуете? |
|||
|
||||
powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 28 Всего: 159 |
Думаю что JAXB поможет.
Чем JPA не угодил? |
|||
|
||||
COVD |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
А что это значит ( просто интересно, для ликбеза, потому что этим термином пользуются достаточно широко. Одно из определений реалтайма - когда система реагирует на событие с фиксированной известной задержкой. ) ? Это сообщение отредактировал(а) COVD - 3.6.2008, 22:54 |
|||
|
||||
DmitryPS |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 20.4.2007 Где: Казань Репутация: нет Всего: 1 |
Как вариант, но хотелось бы, что бы один фреймворк решал задачи маппирования XML <-> java и DB <-> java Не угодил тем: 1. Не умеет работать с XML 2. Используем собственный кеш объектов заточенный на быстрый поиск. По сути от JPA нужно только маппирование. SQL запросы для выборок объектов не нужны. 3. Синхронизация односторонняя. Кэш периодически сохраняется в базу. Т.е. если кто то что то делает в базе, то нам эти изменения неинтересны. Ваше определение верно. Не до конца корректно сформулировал определение нашей системы. Она реалтаймовская и высокопроизводительная, т.е. верхняя граница времени выполнения запроса в системе жестко задана и достаточно мала . |
|||
|
||||
ecologist |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 452 Регистрация: 28.2.2007 Репутация: 5 Всего: 9 |
Если есть критичность по времени, то может быть не надо вообще использовать фреймворки ?
В конце концов написать простые классы для работы с таблицами, повесить транзакции - и не мучаться. |
|||
|
||||
AlexeyVorotnikov |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 18.6.2007 Где: Москва Репутация: 3 Всего: 18 |
Попробуйте посмотреть в сторону The Castor Project. Вроде, они там обещают всё в одном флаконе. -------------------- RTFM! Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification |
|||
|
||||
DmitryPS |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 20.4.2007 Где: Казань Репутация: нет Всего: 1 |
Сейчас именно такая ситуация. Код пухнет + тяжело поддерживать. Опять же есть требование маппирования в/из XML. Т.е придется писать "простые классы для работы с" уже XML. Скорость записи в базу данных не такая принципиальная. Сохранение кэша в базу происходит с определенной периодичностью, а не после каждой изменения объекта, связанного с базой. Думаю проапдейтить 1000 записей раз в 10 секунд - фреймворка хватит. Основное требование, быстрый поиск. Поиск по объектам происходит не в базе , а в памяти. Структура кэша специально заточена под поиск.
Рассматриваю как вариант. Не ясно насколько данный проект живет честно говоря. Мало о нем известно. |
|||
|
||||
w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 7 Всего: 54 |
BEA Liquid data - то, что доктор прописал. Но если словами "проект реалтаймовский" вы хотите указать на требования к производительности системы, то с такими аппетитами (xml <-> java | db <-> java) забудьте об этом сразу.
А двусторонней при работе с БД не бывает и быть не может. Точнее, можно сделать, но пришибленные показатели производительности (ввиду выше означенных аппетитов) и вовсе распластаются под плинтусом. Не говоря уже о требованиях к железу. Это сообщение отредактировал(а) w1nd - 4.6.2008, 11:48 -------------------- ![]() ![]() |
|||
|
||||
DmitryPS |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 20.4.2007 Где: Казань Репутация: нет Всего: 1 |
Может не до конца четко описал суть задачи в первых постах.Повторюсь. Скорость записи в базу данных не такая принципиальная. Сохранение кэша в базу происходит с определенной периодичностью, а не после каждого изменения объекта, связанного с базой. Думаю, проапдейтить 1000 записей раз в 10 секунд - фреймворка хватит. Основное требование, быстрый поиск. Поиск по объектам происходит не в базе , а в памяти. Структура кэша специально заточена под быстрый поиск. Ядро системы работает с кэшем. А фоновые потоки выполняют маппирование (xml <-> java | db <-> java) . Сохраняют кэш в базу и организуют взаимодействие с web консолью Это сообщение отредактировал(а) DmitryPS - 4.6.2008, 12:46 |
|||
|
||||
DmitryPS |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 20.4.2007 Где: Казань Репутация: нет Всего: 1 |
Всем доброго времени суток.
Закрою вопрос Универсального фреймворка не нашел. Остановился на связке: hibernate + jaxb. Исходя из того , что. 1. Оба фреймворка известные, простые для внедрения, помирать не собираются. 2. Поддерживают аннотации |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |