Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Базарная площадь
  
О разделе

Основная страница

Группы обсуждений


Тематический каталог обсуждений

Архив

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  23:35[Войти] | [Зарегистрироваться]
Обсуждение темы:
OR/M - Object Relational Mapping

Здравствуйте. Хочу предложить новую тему для обсуждения: OR/M - Object Relational Mapping. Это такая категория программных продуктов, которая предназначена для построения обьектной модели поверх реляционной.
Для того чтобы сократить количество кода, необходимого для работы с базой данных, и повысить его качество, читабельность, легкость.
С переходом Дельфи на платформу дотнет, дельфистам стала доступна целая когорта таких продуктов. Здесь есть и простенькие кодогенераторы, и мощные тяжелые продуты, поддерживающие полный reverse engineering. Есть бесплатные, есть дешевые (50-100 долларов), есть дорогие (несколько тысяч). Функциональность продуктов и их вохможности разбросаны по весьма широкой шкале. Короче есть от чего впасть в ступор. Какой ORM лучше подходит для Вас ? Кодогенератор ? или динамический ? Поддерживающий одну базу данных (SQL Server) или несколько ? У кого лучше документация ? У кого более эффективный код ? Стоит ли ждать ObjectSpaces от МС ?

Для ознакомления с темой предлагаю линки на несколько довольно известных, полноценных и бесплатных ORM движков

Вагиф Ахвердиев aka Jack Of Shadows

Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру


Всего в теме 305 сообщений

Добавить свое сообщение
Ссылки на несколько довольно известных, полноценных и бесплатных ORM движков
  1. NHibernate - http://nhibernate.sourceforge.net
  2. Neo - http://neo.codehaus.org
  3. NPersist - http://www.npersist.com
  4. Gentle.NET - http://www.mertner.com/projects/gentle
  5. MyGeneration - http://www.mygenerationsoftware.com



Отслеживать это обсуждение
<<<... | 295—286 | 285—276 | ...>>>
Всего сообщений в теме: 305; страниц: 31; текущая страница: 2


№ 295   16-10-2005 22:28 Ответить на это сообщение Ответить на это сообщение с цитированием
Я помню Сергей Тарасов высказывался не в пользу выбора ТРшиуктфеу по 2-м причинам: Бета статус программы, который отпугивал Сергея аозможной нестабильностью и багами, а также безхозный статус NHibernate. Т.е. в сулчае проблемы не к кому обратиться, нет коммерческой компании, стоящей за продуктом.

Так вот, не успели разработчики NHibernate избавиться от бета статуса и выпустить первый официальный релиз, как и хозяин быстренько нарисовался :))
NHiberntate присоединилась к компании JBoss. Главный разработчик NHibernate теперь будет получать зарплату за полный рабочий день, посвященный разработке NHibernate !

Для тех кто не в курсе, JBoss до этого таким же образом завладела Hibernate, взяв на зарплату его разработчиков.

Я думаю это слияние является еще одним красноречивым доказательством качества продукта.

Таким образом NHibernate ничем теперь не уступает коммерческим аналогам, при этом убивая их наповал ценой - он бесплатен :))
А учитывая то что он еще имеет брата близнеца на java, который уже стал стандартом де факто для java ОРМ, то у NHibernate огромное просто преимущество. Изучи один раз, используй свои навыки как в dotnet так и на java.


№ 294   10-10-2005 20:01 Ответить на это сообщение Ответить на это сообщение с цитированием
Сегодня выпущена версия 1.0 NHibernate
Это после трех лет активной разработки и использования во тысячах реальных проектов.
Текущая версия NHibernate с которой я работаю - 0.7
Т.е. я долго не обновлял, что должно вобщем то что то говорить о стабильности этого продукта.
Но по случаю перехода со статуса бета на статус стабильной версии (пусть и чисто символически) все таки обновлю свой NHibernate, чего и всем остальным счастливым пользователям сего великолепного программного продукта и желаю.


№ 293   29-09-2005 12:08 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 292« (Ivan Verba)
___________________________
Возможен ли для бизнес-логики на ORM хостинг на EnterpriseServices (COM+) или IIS с гармоничным использованием транзакционных и других сервисов?

NHibernate прекрасно поддерживает декларированные транзакции на EnterpriseServices.

Что касается кеша, то у NHibernate есть свой встроенный кеш первого и второго уровней.
Причем кеш второго уровня может подключаться практически любой, в том числе и кеш IIS.

Вот например описание подключения кеша:
http://bitarray.co.uk/ben/archive/2005/04/09/573.aspx

Вообще сейчас NHibernate довели до версии 1 (т.е. полностью портировали Hibernate 2.1)
И сейчас усиленно работают над документацией.
Так что посещайте NHibernate.org
Доки там уже весьма полные. И есть помимо них большое количество материала на в виде how-to и ответов на вопросы, в том числе и по заданным вами.
Да и форум весьма активен.


№ 292   29-09-2005 08:55 Ответить на это сообщение Ответить на это сообщение с цитированием
Уважаемые практики ORM!
Подскажите, плиз:
Для построения многопользовательским систем OLTP со Smart(не WEB)-клиентами  крайне важно, чтоб ORM, используемый на MiddleTier, мог гармонично интегрироваться в среду сервера приложений. В случае с Hibernate (Java) слышал, что предусмотрено такое "вживление" механизмов транзакций, кэша и других компонентов Hibernate в сервисы J2EE (JTA, EJB, декларативное описание транзакционности при работе в среде сервера приложений и т.п.).
А как обстоят дела у NHibernate, и других ORM под .NET? Возможен ли для бизнес-логики на ORM хостинг на EnterpriseServices (COM+) или IIS с гармоничным использованием транзакционных и других сервисов? Сам "щупал" только хостинг ECO на IIS (ASP.NET WebServices).


№ 291   15-09-2005 01:10 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 290« (Jack Of Shadows)
___________________________
Что интересно ван Россум хочет отказаться от всяких  map, lambda и filter в пользу list comprehensions


№ 290   14-09-2005 17:22 Ответить на это сообщение Ответить на это сообщение с цитированием
LINQ

http://msdn.microsoft.com/vcsharp/future/linqsamples/

Проект Андерса Хейлсберга в Майкрософт.
Добавление языуа запросов в сишарп.
Да да, Select, Where, From :))
Язык запросов работает с любым списком обьектов.
Возвращает естессно список.
Конечно же работает и с любой SQL базой данных.

ВОт простенький примерчик:


int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };

    var lowNums =
        from n in numbers
        where n < 5
        select n;



В новом списке lowNums будут уже только qbahs меньше 5.

Вот так фугкциональное программирование проникает в мейнстрим.
Что не может не радовать.
Огорчает только что вмето того чтобы пользоваться нормальными операциями сос списками, которые давно уже стали стандартом в функциональных языках, Андерс пытается использовать громоздкий синтаксис sql (все эти Where и From).
Увы видна ориентация на массу программеров-бд.

Ну ничего, не мытьем так катанием. :))
Лиха беда начало.
Начнем с select, а закончим нормальными операциями со списками.


№ 289   10-08-2005 03:59 Ответить на это сообщение Ответить на это сообщение с цитированием


№ 288   04-08-2005 15:50 Ответить на это сообщение Ответить на это сообщение с цитированием
Вышла новай версия db4o 4.6
Добавлено использование нескольких индеков для поиска.

Кроме того доступна ранняя ознакомительная версий 5.0

Там они делают родной язык запросов прямо на c# / java.



№ 287   13-07-2005 12:05 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 286« (Max Belugin)
___________________________
По поводу ООДБ, наблюдаю за db4o.com.
Open Source и бесплатный продукт (GPL). Быстро набирает обороты и популярность.
Уже пользуюется многими крупными компаниями (список на сайте)

У них там есть хорошая статейка на эту тему.
http://www.db4o.com/about/company/backgrounder/
Я жду пока они разьерутся с индексами.
На сегодня db4o для сапроса может использовать только один индекс из всех доступных.
Однако разработчики говорят что работают над этим.
И скоро db4o будет использовать несколько индеков для поиска.
Кроме того в версии 5.0 обещают родной язык запросов прямо на c# или java.

3) We will provide a new Java/C# querying interface,
using the language semantics for querying. This will
be: 100% refactorable, 100% typesafe, 100% compile-time
checked.
(4) We will provide transparent activation so you no longer
have to worry about activating objects.
(5) We will provide commit listeners for C/S so it will be
easier to refresh stale objects in the client cache when
they are modified by other transactions on other clients.


100% typesafe, 100% compile-time checked. - это круто.


№ 286   13-07-2005 02:07 Ответить на это сообщение Ответить на это сообщение с цитированием
Мне понравилось:


This is a forwarded message
From: Bogdan Maryniuk <bo@bitute.b4net.lt>
To: Russian Python and Zope Mailing List <zopyrus@itconnection.ru>
Subject: [Zopyrus] SQL, ORM, impedance mismatch

===8<==============Original message text===============
On Fri, Jul 08, 2005 at 02:38:25PM +0400, Oleg Broytmann wrote:
> Богдан, а ты правда считаешь, что объектн-ореляционными отображениями не
> следует пользоваться? Особенно из-за impedance mismatch?
[...]
>    Или ты считаешь, что РСУБД вообще не следует пользоваться, а только ОО?

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

* * *

Теперь об высоком и бороздящих небесное пространство, спутниках.

Надо сначала разобраться с "бумагами", а именно: в чем суть технологического
impedance mistmatch и в чем разница между ОО и реляционного представления. Это
первое.

Второе, надо отметить разницы в парадигмах подходов к решению. ОО парадигма
состоит в том, что объекты взаимодействуют и пересекаются во взаимоотношениях
и родстве, в то время, как реляционная парадигма звязывает данные в таблицах.
Именно эта фундаментальная разница явно выражает далеео не идеальную
комбинацию между объектными и реляционными технологиями.

Третье, надо признать, что использование двух противоположных направлений и
подходов, *всегда* будет требовать компромиссов, альтернатив, взаимоутерь,
взаимоуступлений и выборов. Посему, чтобы успешно двигаться в связке  OO/R,
нужны швы, прослойки и разные "переходники", которые скапливают в себе все эти
разногласия. Чем "плотнее" ска

По-сути, object/relational -- это разговор двух сторон через переводчика.
Примеры такого разговора был реальной историей в Японском Посольстве в США во
времена Билла Клинтона с Йошииро Мори. А было, значит, так. Мори не знал
английского. Поэтому инструктор и говорит ему: когда Вы будете рукопожимать
Биллу руку, скажите "How are you". Тогда мр. Клинтон скажет "I'm fine, and
you?". Тогда скажите "Me too". После этого, мы, переводчики продолжим
разговор.

Выглядит, как-бы просто. Но правда в том, что Мори в самый момент рукопожития
спросил: "WHO are you?" вместо "How are you?". Клинтон, легко шокированный
таким поворотом дел, начал разруливать ситуацию, ну и сказал: "Well, I'm
Hilary's husband, ha-ha....". На что Мори послушно ответил: "Me too, ha-ha..."
Говорят, после этого воцарилась длинная тишина в комнате приема. :-)

С другой стороны, объектный фейс предоставляет быстрый и удобный путь получать
конкретные данные, вместо пытаться вытаскивать целые паутины из множества
таблиц, разбирая "пинцетом" куда что подставить. Не надо писать отвратительные
SQL'ы с его отвратительным синтаксисом, не надо думать о том, *как* вытащить
stuff. Просто берешь и работаешь. Просто. Быстро. Прозрачно интегрированно.
Это есть OODBMS, которых не так и много на рынке и "переходная модель" ORDBMS,
которых больше.

Подведя итоги вышесказанного, сначала необходимо для себя четко уяснить
"что мне конкретно надо", а также "как оно научно правильно" и "не пошлет-ли
Бог толстую молнию на мою голову за это?".

Теперь, говоря об SQLObject, это уже разряд *имплементации* какого-то
конкретно выбранного стратегического и технологического направления, а именно,
прикрутить RDBMS к объектному представлению. И поэтому, твой вопрос не сколько
ODBMS vs ORDBMS vs RDBMS или "Impedance Mistmatch", а сколько конкретный вопрос
хорошо или плохо использовать эмулятор ORDBMS/ODBMS в среде RDBMS. А отвечать
на это я никак уж не подпишусь. Во-первых, существует море литературы (причем
часто противоречащей и друг друга упрекающей). Во-вторых, я гоняю Oracle.
SQLObject там не работает. А также сильно играют роль факторы вкуса, привычек,
взглядов, мнений, практических убеждений и пр. И наконец, сильно зависит от
всего проекта.

Посему, мой ответ на самом деле совет, и был-бы чисто общий:

        Keep it simple, uniform and right with no diversity of zoo.

А возможность написать еще один очередной субъективизм "Why SQLObject" или
"Why not RDBMS" предоставлю другим. :)

--
?

EMACS :- Esc Meta Alt Control Shift
_______________________________________________
?њ???o?Ё Џ??????Python ?Zope: http://zope.net.ru
Zopyrus@itconnection.ru
http://itconnection.ru/cgi-bin/mailman/listinfo/zopyrus
Zope FAQ: http://zope.net.ru/Zope/FAQ/
Python FAQ: http://zope.net.ru/Python/FAQ/
===8<===========End of original message text===========



<<<... | 295—286 | 285—276 | ...>>>
Всего сообщений в теме: 305; страниц: 31; текущая страница: 2


Добавить свое сообщение

Отслеживать это обсуждение

Дополнительная навигация:
Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру
  
Время на сайте: GMT минус 5 часов

Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Функция может не работать в некоторых версиях броузеров.

Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

 
© При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

Яндекс цитирования