Анонс JDBEdit
От: Денис Цыплаков Россия  
Дата: 28.04.06 12:01
Оценка: 6 (2)
Привет!

Библиотека JDBEdit — домашний сайт http://rtec.ru/jp/jdbedit

Предназаначена для быстрого создания GUI Swing приложений для
работы с таблицами БД.

Вобщем-то говоря аналог Бордандовской dbSwing но
1. Исходники открыты
2. Построена поверх O/R мапинга (Hibernate) что позволят
использовать ее в приложениях постренных на базе MCV
3. Очень гибкая, построена на интерфейсах, легко расширяема.

--
WBR Денис Цыплаков /* ICQ UIN : 108477017 */
Знающий не говорит, говорящий не знает
Posted via RSDN NNTP Server 2.0
Re: Анонс JDBEdit
От: denis_krg Казахстан  
Дата: 03.05.06 10:06
Оценка:
Здравствуйте, Денис Цыплаков, Вы писали:

ДЦ> Библиотека JDBEdit — домашний сайт http://rtec.ru/jp/jdbedit


Чтой-то народ не откликается на это (сюдя по форуму). Вопрос — кто-нибудь пользуется кроме вашей компании?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Анонс JDBEdit
От: Blazkowicz Россия  
Дата: 03.05.06 10:11
Оценка:
Здравствуйте, Денис Цыплаков, Вы писали:

ДЦ> Вобщем-то говоря аналог Бордандовской dbSwing но

ДЦ> 1. Исходники открыты
Где лицензия?

ДЦ> 2. Построена поверх O/R мапинга (Hibernate) что позволят

ДЦ> использовать ее в приложениях постренных на базе MCV
А не является ли использование аннотаций в примере смешением слоёв Model и View?
Re[2]: Анонс JDBEdit
От: Аноним  
Дата: 18.05.06 12:08
Оценка:
Здравствуйте, denis_krg, Вы писали:

_>Здравствуйте, Денис Цыплаков, Вы писали:


ДЦ>> Библиотека JDBEdit — домашний сайт http://rtec.ru/jp/jdbedit


_>Чтой-то народ не откликается на это (сюдя по форуму). Вопрос — кто-нибудь пользуется кроме вашей компании?


Нет сугубо внутренний продукт это так сказать первый внешний релиз
Re[2]: Анонс JDBEdit
От: Аноним  
Дата: 18.05.06 12:13
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Здравствуйте, Денис Цыплаков, Вы писали:


ДЦ>> Вобщем-то говоря аналог Бордандовской dbSwing но

ДЦ>> 1. Исходники открыты
B>Где лицензия?

Нет лицензии. Т.е. в принципе всем все можно. Это не есть совсем хорошо, но как правильно не знаю. Может кто, что присоветует?

ДЦ>> 2. Построена поверх O/R мапинга (Hibernate) что позволят

ДЦ>> использовать ее в приложениях постренных на базе MCV
B>А не является ли использование аннотаций в примере смешением слоёв Model и View?

Да является в какой-то степени, но как показали исследования проведенные в дебрях наших лабораторий смешение Model и View для определенного класса приложений не вредно я даже полезно. Тем более, что это не есть 100% смешение. Я понимаю, что это вопрос несколь ко спорный, я готов по этому поводу подискутировать. Правда сейчас я в командитровке и Интернет мне доступен эпизодично и геморойно.

___
Денис
Re[2]: Анонс JDBEdit
От: Аноним  
Дата: 18.05.06 12:26
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Здравствуйте, Денис Цыплаков, Вы писали:


ДЦ>> Вобщем-то говоря аналог Бордандовской dbSwing но

ДЦ>> 1. Исходники открыты
B>Где лицензия?

А никто не видел перевода на русский Апачевской лицензии?

---
Денис
Re[3]: Анонс JDBEdit
От: Blazkowicz Россия  
Дата: 18.05.06 12:34
Оценка:
Здравствуйте, Аноним, Вы писали:

А> Нет лицензии. Т.е. в принципе всем все можно. Это не есть совсем хорошо, но как правильно не знаю. Может кто, что присоветует?


Ну, то есть как? Даю я кому-нибудь ссылку на проект. Он берет этот код и затуливает его за деньги?
http://www.opensource.org/licenses
GPL/LGPL


B>>А не является ли использование аннотаций в примере смешением слоёв Model и View?


А> Да является в какой-то степени, но как показали исследования проведенные в дебрях наших лабораторий смешение Model и View для определенного класса приложений не вредно я даже полезно. Тем более, что это не есть 100% смешение. Я понимаю, что это вопрос несколь ко спорный, я готов по этому поводу подискутировать.


Согласен что для некоторого класса приложений это вполне нормально. Но такое решение, ИМХО, сужает область применения. Не очень понятно как модель мапится хибернейтом. И возможны ли какие-то другие варианты persistance?
Re[4]: Анонс JDBEdit
От: Аноним  
Дата: 18.05.06 20:15
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Здравствуйте, Аноним, Вы писали:


А>> Нет лицензии. Т.е. в принципе всем все можно. Это не есть совсем хорошо, но как правильно не знаю. Может кто, что присоветует?


B>Ну, то есть как? Даю я кому-нибудь ссылку на проект. Он берет этот код и затуливает его за деньги?

B>http://www.opensource.org/licenses
B>GPL/LGPL

GPL мне категорически не нравится, LGPL — не знаю — не уверен. Но в принципе если кто-то продаст за деньги — мне будет интересен сам факт не более. Продать тоже надо уметь если сумеет я расскажу об этом нашим менеджерам — пусть учатся — они так не умеют.

Не хотелось бы чтобы
1. Кто-то выдавал за свое — это сейчас возможно
2. Кто-то отобрал проект начав разрабатывать самостоятельно и сделав такую лицензию, что наша разработка станет невозможной — такое может быть но, на мой взгляд вероятность этого, пока по крайней мере, практически равна нулю.

B>>>А не является ли использование аннотаций в примере смешением слоёв Model и View?


B>Согласен что для некоторого класса приложений это вполне нормально. Но такое решение, ИМХО, сужает область применения. Не очень понятно как модель мапится хибернейтом. И возможны ли какие-то другие варианты persistance?

,
Отсроумие на лестнице — пока добирался до кемпинга, ужинал читал доки — сообразил что сказать:
1. persistance можно приделать любой. Сейчас в качестве tutorial разрабатывается simple-XML, в планах наверное JDO но не знаю, что лучше выбрать. И в отдаленных планах 3-х звенка с EJB. Архитектурно это уже сейчас не противоречит, но надо просто классы под это сделать а времени на все нет. Небюджетный проект.
2. На самом дела внутри иерархии классов Model и View не смешиваются. Хуже того, возможно иметь нескольо View и быстро и просто выбирать, какой конкретно будет использоваться на данной панели, форме, в данной таблице. Смешение идет только на стадии описания дефолного View аннотациями класса данных, можно этого не делать и описывать View отдельно в XML дескрипторе. В версии 1.0 это не показано, я счел функциональнсть сырой и решил — надо полировать то, что есть.
3. Библиотека делалась в расчете на простое и бескровное масштабирование. Для простого случая кое-что во внутренностях избыточно. Но избыточность эта снаружи не видна. Все что можно сделано на интерфейсах и ни в синтаксисе, ни в семантике интерфейсов Hibernate не упоминается.

---
Денис

PS Все спать пора, завтра еще кусы читать, а читать курсы по свим продуктам занятие не для слабонервных.
Re[2]: Анонс JDBEdit
От: Аноним  
Дата: 19.05.06 11:36
Оценка:
B>А не является ли использование аннотаций в примере смешением слоёв Model и View?

Не вижу в этом ничего страшного.
Библиотека создавалась как простое и быстрое средство для написания визуальных приложений для работы с БД.
Можно конечно разделить и вынести описание из аннотаций ещё и в xml, но это в некоторой степени усложнит написание приложений.
Взять тот же hibernate — использование маппинга через аннотации удобнее чем через xml файлы.
Но при работе с hibernate может чаще возникать необходимость описания маппинга в виде xml.
В данном же случае большой необходимости в этом нет.

Марина.
Re[4]: Анонс JDBEdit
От: Аноним  
Дата: 19.05.06 11:44
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Не очень понятно как модель мапится хибернейтом.


Обычным способом для hibernate — аннотации или xml файлы с маппингом.

Марина.
Re[5]: Анонс JDBEdit
От: Blazkowicz Россия  
Дата: 19.05.06 11:50
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Обычным способом для hibernate — аннотации или xml файлы с маппингом.


Просто в примерах этого нет.

Тоесть выходит модель будет содержать оба маппинга. Как Hibernate так и JDBEdit?
Просто из приемра это не очевидно.
Re[3]: Анонс JDBEdit
От: Blazkowicz Россия  
Дата: 19.05.06 11:59
Оценка:
Здравствуйте, Аноним, Вы писали:

B>>А не является ли использование аннотаций в примере смешением слоёв Model и View?

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

Теперь становится не понятно для чего тогда нужна модель вообще. Если цель приложения работать с БД. А не с бизнес логикой, то почему бы просто не работать с базой через JDBC. Для чего ORM?

А>Можно конечно разделить и вынести описание из аннотаций ещё и в xml, но это в некоторой степени усложнит написание приложений.


Понимаю.
Re[4]: Анонс JDBEdit
От: Аноним  
Дата: 19.05.06 12:31
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>>>А не является ли использование аннотаций в примере смешением слоёв Model и View?

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

B>Теперь становится не понятно для чего тогда нужна модель вообще. Если цель приложения работать с БД. А не с бизнес логикой, то почему бы просто не работать с базой через JDBC. Для чего ORM?


O/R mapping берёт на себя большую часть по общению с БД, предоставляя нам конкретные объекты, что в принципе облегчает написание многих приложения для работы с БД. Но вообще "зачем нужен ORM?" — это уже не совсем к библиотеке. По этому поводу можно найти много статей.

К тому же библиотека предоставляет возможность работы не только с базами данных, но и с любыми хранилищами.
В конкретной реализации имеется возможность работы через hibernate.
Но если нужно, пользователь может описать любой другой источник данных, который, в принципе, может даже напрямую через jdbc работать с БД (если этого очень хочется).
В данном случае возможности не ограничены, нужно только реализовать пару интерфейсов описанных в библиотеке.

Марина.
Re[6]: Анонс JDBEdit
От: Аноним  
Дата: 19.05.06 12:49
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

А>>Обычным способом для hibernate — аннотации или xml файлы с маппингом.


B>Просто в примерах этого нет.


B>Тоесть выходит модель будет содержать оба маппинга. Как Hibernate так и JDBEdit?


Если в конкретнои приложении будет использоваться доступ к хранилищу через hibernate, то маппинг к нему описываетмя отдельно
(т. е. через xml или аннотации).
Если используется другой источник данных, то, естественно, маппинг в hibernate уже не нужен, необходим только маппинг для JDBEdit.

B>Просто из приемра это не очевидно.

Учтём ....
Вообще в примерах есть отдельный пакет, который так и называется "mapping", где описан маппинг в hibernate через xml файлы.

Марина.
Re[7]: Анонс JDBEdit
От: Blazkowicz Россия  
Дата: 19.05.06 12:56
Оценка:
Здравствуйте, Аноним, Вы писали:

B>>Тоесть выходит модель будет содержать оба маппинга. Как Hibernate так и JDBEdit?


А>Если в конкретнои приложении будет использоваться доступ к хранилищу через hibernate, то маппинг к нему описываетмя отдельно


Ну как же "отдельно", когда через аннотации только получается только "вместе"? Модель то одна. А маппить надо и туда и туда.

А>Если используется другой источник данных, то, естественно, маппинг в hibernate уже не нужен, необходим только маппинг для JDBEdit.


В тексте сайта Hibernate позиционируется как неотъемлимая часть библиотеки.

А>Вообще в примерах есть отдельный пакет, который так и называется "mapping", где описан маппинг в hibernate через xml файлы.


А качать пока желания не возникло. Все выводы делаю по информации на сайте.
Re[8]: Анонс JDBEdit
От: Бакланова Марина Анатольевна  
Дата: 19.05.06 13:50
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Ну как же "отдельно", когда через аннотации только получается только "вместе"? Модель то одна. А маппить надо и туда и туда.


1. Для работы с JDBEdit необходимо задать ряд аннотация из этой библиотеки, используемых для описания объекта.
2. Для работы с hibernate необходимо написать xml файлы маппинга, либо тоже аннотации, используемые hibernate'ом для маппинга объекта на таблицы БД.

Эти два пунта не связаны. И описываются отдельно. У них нет общих аннотаций или чего либо ещё.

А>>Если используется другой источник данных, то, естественно, маппинг в hibernate уже не нужен, необходим только маппинг для JDBEdit.


B>В тексте сайта Hibernate позиционируется как неотъемлимая часть библиотеки.


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

Структура библиотеки позволяет ей работать с абстрактным источником данных, то есть с любым написанным пользователем (конечно учитывая интерфейсы библиотеки).

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

B>А качать пока желания не возникло. Все выводы делаю по информации на сайте.


Документация будет дорабатываться и выкладываться на сайт.

Марина.
Re[5]: Анонс JDBEdit
От: jpx http://sourceforge.net/projects/sqlg2
Дата: 19.05.06 14:08
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Но если нужно, пользователь может описать любой другой источник данных, который, в принципе, может даже напрямую через jdbc работать с БД (если этого очень хочется).
А>В данном случае возможности не ограничены, нужно только реализовать пару интерфейсов описанных в библиотеке.

Хех, попробовать чтоли sqlg прикрутить Поможете в случае чего?
Кстати, посмотрел — мне бы не хватало полноценного undo, множественного выделения (для массового удаления/изменения полей), поддержки упорядоченных списков; в общем, много хочу
Re[6]: Анонс JDBEdit
От: Бакланова Марина Анатольевна  
Дата: 19.05.06 14:28
Оценка:
Здравствуйте, jpx, Вы писали:

jpx>Хех, попробовать чтоли sqlg прикрутить Поможете в случае чего?


поможет чем сможем ...

jpx>Кстати, посмотрел — мне бы не хватало полноценного undo, множественного выделения (для массового удаления/изменения полей), поддержки упорядоченных списков; в общем, много хочу


1. полноценный undo — это не очень понятно ... можно подробнее — чего бы хотелось?
2. множественное выделение — это хорошее предложение, сделаем. Скоро будет новый релиз — постараемся туда добавить эту функциональность.
3. упорядоченные списки — это в смысле сортировки? Если да, то это уже есть.
Имеется возможность задания фильтров и сортировок на этапе выборки из базы.
Кроме этого имеется возможность фильтрации и сортировки данных уже в памяти (после выборки из БД).
Это осуществляется с помощью трансформеров (конкретнее AdditionalTransformer).
Для боллее хитрых фильтраций (которых нету в библиотеке) можно написать свой трансформер, который будет промежуточным звеном между поставщиками и потребителями данных. В примерах — есть пример с использованием фильтраций и сортировок.

Если будут ещё предложения — всегда рады

Марина.
Re[7]: Анонс JDBEdit
От: jpx http://sourceforge.net/projects/sqlg2
Дата: 19.05.06 15:51
Оценка:
Здравствуйте, Бакланова Марина Анатольевна, Вы писали:

БМА>1. полноценный undo — это не очень понятно ... можно подробнее — чего бы хотелось?

То есть удаляю строку — а undo ее вставляет обратно. История редактирования записей также, и т.д.

БМА>3. упорядоченные списки — это в смысле сортировки? Если да, то это уже есть.

Имеется ввиду вот что: есть поле, типа "номер записи". В принципе, это обычное поле, но с ним такая проблема, что при вставке в начало списка из 1000 записей одной записи это поле обновляется у всех 1000 записей; желательно для оптимизации использовать один UPDATE (типа UPDATE rec_num=rec_num+1 WHERE rec_num>=?), а не 1000 UPDATEов для всех записей.
Это также означает, что вставка записей идет не всегда в конец, а в текущем месте.
Это сложно, в общем

БМА>Если будут ещё предложения — всегда рады

Да, еще неплохо бы сделать работу с буфером обмена для строк таблиц (можно не обязательно "настоящий" — системный, а хотя бы на уровне приложения).

Хотя, если сказать честно, свое это у меня есть, но оно не столь гибко и вообще довольно криво
Re[8]: Анонс JDBEdit
От: Аноним  
Дата: 19.05.06 16:21
Оценка:
Здравствуйте, jpx, Вы писали:


БМА>>1. полноценный undo — это не очень понятно ... можно подробнее — чего бы хотелось?

jpx>То есть удаляю строку — а undo ее вставляет обратно. История редактирования записей также, и т.д.

В случае когда база многопользовательская undo мне представляется весьма небезобидной операцией.
Делается как раз легко, но строка котрая на момент удаления была для базы валидной может через э
несколько минут таковой уже не оказаться. Причем это может происходить по разными причинам как
связанным с бизнес логикой, так и с устройством БД.

Простой пример autoincrement — удаляем верхнюю строку с id == 10
добавляем строку (например с другого рабочего места) у нее id == 10
т.к. верхнюю строку мы удалили некоторые БД выдадут следующий id = 10
делаем undo — все вставить строку с тем-же id мы уже не можем.

конечно можно id давать новый, но такого рода сценариев может множество и от всех
уберечься непросто.

Или таки есть некое магическое правило?

---
Денис
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.