Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Анонс: Библиотека JDBEdit

6 views
Skip to first unread message

Denis Tsyplakov

unread,
Apr 28, 2006, 9:10:30 AM4/28/06
to
Привет!

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

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

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

--
WBR Денис Цыплаков /* ICQ UIN : 108477017 */
Знающий не говорит, говорящий не знает


Sergiy Medvynskyy

unread,
May 3, 2006, 3:11:06 AM5/3/06
to
DT> Библиотека JDBEdit - домашний сайт http://rtec.ru/jp/jdbedit

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

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

Пасиб, на досуге посмотрю на нее детальнее. Однако и после 5 минутного обзора
хотел бы уже кое что сказать/спросить.

1) Очепятки в доке поправте плз. :)
2) Будет ли английская версия документации?
3) В чем цель проекта? Помочь начинающим писать простенькие ГУИ для БД? Такая
задача даже в курсовых редко встречается. Обычно все разрабатывают
многопользовательские приложения, где прямой доступ к БД имеет только стервер,
а гуй работает с Presentation Layer. Да и обнопользовательские БД приложения
зачастую представляют собой нечто большее чем банальная навигация по
табличкам.

С уважением

Sergiy Medvynskyy

Denis Tsyplakov

unread,
May 4, 2006, 3:05:58 AM5/4/06
to
Привет!

В ответ на письмо от Wed, 03 May 2006 11:11:06 +0400:

SM> Пасиб, на досуге посмотрю на нее детальнее. Однако и после 5 минутного
SM> обзора хотел бы уже кое что сказать/спросить.

SM> 1) Очепятки в доке поправте плз. :)

Да знаю, просто более или менее вмнеяемых корректоров под рукой нет, так
что правка
идет но не быстро. Щаз народ их командировок/отпусков появится будем
править.

Был бы крайне признателен за указание ошибок.

SM> 2) Будет ли английская версия документации?

Хочется, но тяжело. Читаем все с листа, все понимаем, но как собаки не
говорим :-(
Не знаю что делать. Наверное если будет интерес - будем что-то думать,
вплоть до
нанять за деньги, но сначала надо понять интересна ли библиотека массам
:-)

SM> 3) В чем цель проекта? Помочь начинающим писать простенькие ГУИ для БД?
SM> Такая задача даже в курсовых редко встречается. Обычно все
SM> разрабатывают многопользовательские приложения, где прямой доступ к БД
SM> имеет только стервер, а гуй работает с Presentation Layer. Да и
SM> обнопользовательские БД приложения зачастую представляют собой нечто
SM> большее чем банальная навигация по табличкам.

Задача довольно банальна. Есть большой сектор приложений непосредственно
работающих с БД. Трехзвенка применима далеко не везде. Да и стоимость
разработки
для трехзвенки по сравнению с 2tier вырастает на порядок. Тем более что в
структуру
библиотеки заложена возможность перейти на работу с сервером приложений.
Надо только сделать еще одного провайдера данных. В плане это есть но на
потом.

Исторически библиотека появилась в результате работы над реальным
проектом.
Выяснилось, что совершенно банальное приложение для редактирования 15
таблиц
в БД сделанное на Яве стоит раз в 10-20 дороже, чем такое же на Delphi.
Меня это
сильно расстроило. Те бибилиотеки которые удалось найти, не устроили по
разным
причинам (в основном в силу своей убогости)

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

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

Опять же использование O/R мапинга позволяет выносить логику более
сложную чем
вставка/удаление/редактирование в отдельный слой Control и сочетать
СТАНДАТНЫЕ
операции add/edit/del (сдобренные тригерами) со сложной логикой
реализуемой руками.

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

---
WBR Denis Tsyplakov

Sergiy Medvynskyy

unread,
May 4, 2006, 4:18:53 AM5/4/06
to

SM>> 3) В чем цель проекта? Помочь начинающим писать простенькие ГУИ для БД?
SM>> Такая задача даже в курсовых редко встречается. Обычно все
SM>> разрабатывают многопользовательские приложения, где прямой доступ к БД
SM>> имеет только стервер, а гуй работает с Presentation Layer. Да и
SM>> обнопользовательские БД приложения зачастую представляют собой нечто
SM>> большее чем банальная навигация по табличкам.

DT> Задача довольно банальна. Есть большой сектор приложений
DT> непосредственно
DT> работающих с БД. Трехзвенка применима далеко не везде. Да и стоимость
DT> разработки
DT> для трехзвенки по сравнению с 2tier вырастает на порядок. Тем более
DT> что в структуру
DT> библиотеки заложена возможность перейти на работу с сервером
DT> приложений.
DT> Hадо только сделать еще одного провайдера данных. В плане это есть но
DT> на потом.

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

DT> Исторически библиотека появилась в результате работы над реальным
DT> проектом.
DT> Выяснилось, что совершенно банальное приложение для редактирования 15
DT> таблиц
DT> в БД сделанное на Яве стоит раз в 10-20 дороже, чем такое же на
DT> Delphi. Меня это
DT> сильно расстроило. Те бибилиотеки которые удалось найти, не устроили
DT> по разным
DT> причинам (в основном в силу своей убогости)

DT> В результате то, что было сделано в ходе работы над проектом было
DT> оформлено
DT> в виде отдельной библиотеки.

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

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

К сожалению доки то и оставляют желать лучшего. Getting Started практически
отсутствует, что затрудняет знакомство с библиотекой :(. В особенности для
людей никогда раньше не работавших с Hibernate. Я, например, сижу на JDO. Две
трети форума наверняка юзают EJB. Мож все таки стоить написать что то
подобное?

В особенности для не совсем тривиальных задач, сие очень полезно. Hапример,
редактирование списков, когда значение для списка берутся из
таблицы-справочника и т.п.

Sergiy Medvynskyy

Victor Krapivin

unread,
May 4, 2006, 8:30:13 AM5/4/06
to
> Хмм, обычно жабу редко применяють для двухзвенки. Как говорится кесарю
> кесарево, а слесарю слесарево. Hа мой взгляд не стоит писать двухзвенку на
> жабе, так же как и не стоит писать стервер на делфях. Хотя...

Мало ли по каким причинам веб им не подходит 8-)

Ты видать не видел нижеописанные чудеса программистской мысли - а то бы
не удивлялся 8-)

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

То напишуть сервер на делфи, а клиента - на свингах, причем
"прогрессивно" напишуть - с обменом виндовыми сообщениями а-ля mouse
motion. После чего эхотажная часть занимается шаманствами на предмет "в
каком порядке передать вон те три свинговых евента, если в винде их
семь", и "куда засунуть перерисовку оон того региона, если тут вместо
виндового контрола лежит свинговый"...

Или еще перл - "мы ща нарисуем отказоустойчивый мега-кластер на
эхотаге", с гиговым кэшем на каждой ноде, и exclusive locks на время
синхронизации этих кэшей. А поскольку дело это может быть небыстрым, то
нарисуем к нему фронт-энд на ПХП...

Или на жаве начнуть к какому-нибудь мега-серверу ходить (а-ля Oracle
BPEL) через дот-нетовскую либу... А потом "у них сервак тормозит"...

Далеко ходить не надо - например заглянуть на iWay Software и посмотреть
к чему у них JCA коннекторы есть. К коболу, плюсам, паскалю... оченно
забористая трава, одним словом.

А тут - всего лишь двухзвенка. Не на MS Access же ее рисовать (кстати
можешь найти мега-решение которое из этого "Акцеса" делает "клиент -
сервер", и порадоваться цене этой травы) 8-)

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

--
Viktor

Denis Tsyplakov

unread,
May 4, 2006, 11:10:59 AM5/4/06
to
Привет!

В ответ на письмо от Thu, 04 May 2006 12:18:53 +0400:

DT>> Задача довольно банальна. Есть большой сектор приложений
DT>> непосредственно
DT>> работающих с БД. Трехзвенка применима далеко не везде. Да и

DT>> стоимость разработки для трехзвенки по сравнению с 2tier вырастает
DT>> на порядок. Тем более что в структуру библиотеки заложена
DT>> возможность перейти на работу с сервером приложений. Hадо только
DT>> сделать еще одного провайдера данных. В плане это есть но на потом.

SM> Хмм, обычно жабу редко применяють для двухзвенки. Как говорится кесарю
SM> кесарево, а слесарю слесарево. Hа мой взгляд не стоит писать двухзвенку
SM> на жабе, так же как и не стоит писать стервер на делфях. Хотя...

Согласен, Ява универсальная платфрома для бизнес приложений значит
дузвенка на ней быть ОБЯЗАНА! Да и трехзвенка соглась с GUI мордой
на Яве делается недешево.

DT>> В результате то, что было сделано в ходе работы над проектом было
DT>> оформлено
DT>> в виде отдельной библиотеки.

SM> Идея конечно хороша. Конечно двухзвенка редка на жабе, но все же
SM> приятно знать, что есть подобная штука. Как никак мне не хотелось бы
SM> возвращаться на Делфи даже при решении задач более подходящих для
SM> делфей.

Дельфи все. Нету больше, де факто, такой платформы. Т.е. она есть но уже
поворачивается ногами к выходу. Так что либо Ява ли .Net второе хуже Явы,
так почему на Яве не делать GUI rich DB applications

SM> К сожалению доки то и оставляют желать лучшего. Getting Started

Ох знаю. Но вариант был еще 4 месяца мариновать либо выложить и
собрать пожелания. Продукт то все равно не коммерческий.

В принципе примеры задумывались как Getting Started, но они доступны
только
в составе дистрибутива, это упущение.

SM> практически отсутствует, что затрудняет знакомство с библиотекой :(. В
SM> особенности для людей никогда раньше не работавших с Hibernate. Я,

Учтем. Замечение верное.

---
WBR Denis Tsyplakov // Jabber UID: denis.t...@jabber.ru

Eugene Smelik

unread,
May 4, 2006, 12:40:41 PM5/4/06
to
Hi, Denis.

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

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

Покопался с сабжем. Интересная работа. Думается, что по-любому полезная.
Eсли не для использования, то для обучения точно :).
Посему такой вопрос: меня заинтересовало, как реализован механизм
залочивания выделения на строке JTable. Покопался по сырцам - что-то сходу не
нашел, как это сделано... :(. Tкните меня в код, где это реализуется.
Cпасибо.

Denis Tsyplakov

unread,
May 5, 2006, 2:11:01 AM5/5/06
to
Привет!

В ответ на письмо от Thu, 04 May 2006 20:40:41 +0400:

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

>Покопался с сабжем. Интересная работа. Думается, что по-любому полезная.


>Eсли не для использования, то для обучения точно :).

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

>Посему такой вопрос: меня заинтересовало, как реализован механизм
>залочивания выделения на строке JTable. Покопался по сырцам - что-то сходу
>не
>нашел, как это сделано... :(. Tкните меня в код, где это реализуется.

DBTable запоминает номер выделенной строки. А в слушателе выделения новой
строки (метод valueChanged()) проверяется, можно ли переместить фокус на
новый объект в dataNavigator'е. Если перемещение фокуса в dataNavigator'е
запрещено, то выделение в таблице возвращается на строку, которая была
выделена раньше.

Denis Tsyplakov

unread,
May 29, 2006, 5:07:03 AM5/29/06
to
Привет!

В ответ на письмо от Fri, 28 Apr 2006 13:10:30 +0000 (UTC):

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

Появился документ Getting Started
http://rtec.ru/jp/jdbedit/gettingstarted/getting-started.html
Если кому интересно


---
WBR Denis Tsyplakov // Jabber UID: denis.t...@jabber.ru

0 new messages