Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Альтернативные технологии доступа к БД в Java




Несмотря на то, что фактически любое обращение к БД можно осуществить с попощью технологии JDBC, кодируя запросы напрямую в исходном коде приложения, такой подход обладает как рядом достоинств так и рядом недостатков.

К достоинствам относятся:

  • Полный контроль над кодом доступа к БД разработчиком
  • Возможность использовать нестандартный SQL, сложным образом оптимизировать запросы
  • Подход не требует никаких нестандартных библиотек, прост в установке и настройке
  • Простота освоения. JDBC API является лишь тонкой обёрткой над SQL и по сути почти полностью семантически идентичен другим промышленным стандартам, таким как ODBC и ADO.Net
  • Относительно высокая скорость работы конечного приложения. Что требует однако грамотного использования SQL

 

К недостаткам относятся:

  • Огромная дублируемость кода, так как код для доступа к БД в большинстве случаем является однотипным, а его относительно количество может доходить в типичных информационных системах до 70%
  • Высокая вероятность допущения ошибки при кодировании. Ошибки тяжело обнаруживать, так как язык SQL – фактически интерпретируемый и компилятор Java не может проверить правильность генерации запросов.
  • Низкая скорость разработки, так как приходиться аккуратно писать большое боличество однотипного кода.
  • Необходимость знания прикладными разработчиками языка запросов SQL, для того чтобы составлять запросы грамотно и эффективно.
  • При недостаточно тщательном написании запросов производительность приложения резко снижается.
  • Сложность внесения изменений, из-за большого количества дублироемого интерпретируемого кода.
  • Зависимость от конкретного диалекта СУБД.

 

 

Для борьбы с вышеуказанными недостатками применяются различные подходы. Все они в общем случае принимают вид веделяемого архитектурного слоя, отвечающего за работу с данными Data Access Layer (DAL). Это может быть DAL выделенный в процессе создания приложения и созданный полностью трибуты разработчика. Однако, так как задача организации доступа к данным явзяется достаточно типовой, на рынке (в том числе Open Source и FreeWare) представлено большое количество библиотек и каркасов (framework), позволяющих организовавыть DAL, основываясь на уже существующих продуктах. Это позволяет резко повысить скорость РАЗРАБОТКИ (- не работы приложения!!) и как следствие сократить её стоимость. Среди представленных каркасов существуют как основанные на стандартах, таких как JDO (Java Data Object), EJB (Enterprise Java Beans), так и нестандартные формально, то в тоже время настолько широко используемые, что являются стандартами де-факто. К последним относятся Hibernate, iBATIS и многие другие.

 

Указанные средства позволяют автоматически преобразовывать данные из реляционного представления, удобного для хранения в реляционных СУБД в объектную форму, удобную для использования в ООП и объектных языках (как например Java). Такой подход называется Object Relationship Mapping (ORM).

 




Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 698; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.