Lecture15 (1133572), страница 2

Файл №1133572 Lecture15 (Лекции по Технологии программирования. Компонентный подход) 2 страницаLecture15 (1133572) страница 22019-05-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

Каждое правило относится кнекоторому множеству страниц и при выполнении определенного действия или наступлениисобытия предписывает переходить на некоторую страницу. Действия и события связываются сдействиями пользователя или логическими результатами их обработки (такими результатамимогут быть, например, успешная регистрация заказа в системе, попытка входа пользователя всистему с неправильным паролем и пр.).Технология Java Server Face версии 1.2 войдет в состав будущей версии 5.0 платформыJ2EE [6].Управление данными приложения. HibernateТехнологии обеспечения синхронизации внутренних данных приложения и его базы данныхразвиваются в настоящий момент достаточно активно.

Технология EJB предоставляетсоответствующие механизмы, но за счет значительного снижения удобства разработки имодификации компонентов. Обеспечение той же функциональности при более простойвнутренней организации кода является основным направлением развития в данной области.Возможным решением этой задачи являются объектно-реляционные преобразователи(object-relation mappers, ORM), которые обеспечивают автоматическую синхронизацию междуданными приложения в виде наборов связанных объектов и данными, хранящимися в системеуправления базами данных (СУБД) в реляционном виде, т.е. в форме записей в несколькихтаблицах, ссылающихся друг на друга с помощью внешних ключей.Одним из наиболее широко применяемых и развитых в технологическом плане объектнореляционных преобразователей является Hibernate [7-9].Базовая парадигма, лежащая в основе избранного Hibernate подхода, — это использованиеобъектов обычных классов Java (быть может, оформленных в соответствии с требованиямиспецификации JavaBeans — с четко выделенными свойствами) в качестве объектногопредставления данных приложения.

Такой подход даже имеет название-акроним POJO (plain oldJava objects, простые старые Java-объекты), призванное показать его отличие от сложных техникпостроения компонентов, похожих на EJB.Большое достоинство подобного подхода — возможность использовать один раз созданныенаборы классов, представляющих понятия предметной области, в качестве модели данных любыхприложений на основе Java, независимо от того, являются ли они распределенными илилокальными, требуется ли в них синхронизация с базой данных и сохранение данных объектовили нет.AuthorsBookAuthorsID : intFirstName : StringSurname : StringAuthorID : intBookID : intBooksID : intTitle : StringISBN : StringРисунок 80.

Реляционное представление данных о книгах и авторах.Например, для представления в объектном виде данных о книгах и их авторах,соответствующих показанной на Рис. 80 группе таблиц, могут быть использованы представленныениже классы.import java.util.Set;import java.util.HashSet;public class Author{private int id;private String firstName;private String surname;private Set books = new HashSet();public int getId (){ return this.id; }private void setId (int id) { this.id = id;}public String getFirstName (){ return this.firstName;}public void setFirstName (String firstName) { this.firstName = firstName; }public String getSurname (){ return this.surname;}public voidsetSurname (String surname) { this.surname = surname; }public Set getBooks (){ return this.books; }public void setBooks (Set books) { this.books = books; }}public class Book{private int id;private String title;private String isbn;private Set authors = new HashSet();public int getId (){ return this.id; }private void setId (int id) { this.id = id;}public String getIsbn (){ return this.isbn; }public voidsetIsbn (String isbn) { this.isbn = isbn; }public String getTitle (){ return this.title; }public voidsetTitle (String title) { this.title = title; }public Set getAuthors (){ return this.authors;}public void setAuthors (Set authors) { this.authors = authors; }}Для определения отображения объектов этих классов в записи соответствующих таблициспользуются конфигурационные файлы со следующим содержанием.

Первый фрагментпредставляет собой описание отображения объектов класса Author на записи таблицы Authors,которое обычно помещается в файл Author.hbm.xml.<hibernate-mapping><class name="Author" table="Authors"><id name="id" column="ID"><generator class="increment"/></id><property name="firstName" column="FirstName"/><property name="surname"/ column="Surname"><set name="books" table="BookAuthors" inverse="true"><key column="AuthorID"/><many-to-many column="BookID" class="Book"/></set></class></hibernate-mapping>Второй фрагмент представляет собой содержание аналогичного файла Book.hbm.xml,описывающего отображение объектов класса Book на записи таблицы Books.<hibernate-mapping><class name="Book" table="Books"><id name="id" column="ID"><generator class="increment"/></id><property name="title" column="Title"/><property name="isbn"/ column="ISBN"><set name="authors" table="BookAuthors" inverse="true"><key column="BookID"/><many-to-many column="AuthorID" class="Author"/></set></class></hibernate-mapping>При использовании объектов указанных классов в рамках приложения на основе Hibernateобеспечивается автоматическая синхронизация данных объектов с данными соответствующихзаписей, а также автоматическая поддержка описанного отношения типа «многие-ко-многим».Кроме того, Hibernate поддерживает удобные средства для описания сложных соответствиймежду объектами и записями таблиц при использовании наследования.

Так, легко могут бытьподдержаны: отображение данных всех объектов классов-наследников в одну таблицу,отображение объектов разных классов-наследников в разные таблицы, отображение данных полейобщего класса-предка в одну таблицу, а данных классов-наследников — в разные таблицы, атакже смешанные стратегии подобных отображений.В приложениях на основе Hibernate объекты одного и того же класса могут быть какхранимыми, т.е.

представляющими данные, хранящиеся в базе данных, так и временными, неимеющими соответствующих записей в базе данных. Перевод объекта из одного из этих видов вдругой осуществляется при помощи всего лишь одного вызова метода вспомогательного классасреды Hibernate.C помощью дополнительной службы NHibernate [7] возможности среды Hibernate могут бытьиспользованы и из приложений на базе .NET.Java Data ObjectsЕще более упростить разработку объектно-ориентированных приложений, данные которыхмогут храниться в базах данных, призвана технология Java Data Objects (JDO) [10,11].В ее основе тоже лежит использование для работы с хранимыми данными обычных классов наJava, но в качестве хранилища данных может выступать не только реляционная СУБД, но вообщелюбое хранилище данных, имеющее соответствующий специализированный адаптер (в рамкахJDO это должна быть реализация интерфейса javax.jdo.PersistenceManager).

Основнаяфункция этого адаптера — прозрачная для разработчиков синхронизация хранилища данных инабора хранимых объектов в памяти приложения. Он должен также обеспечивать достаточновысокую производительность приложения, несмотря на наличие нескольких промежуточныхслоев между классами самого приложения и хранилищем данных, представляемых ими.Использование JDO очень похоже на использование Hibernate. Конфигурационные файлы,хранящие информацию о привязке объектов Java классов к записям в определенных таблицах, атакже о привязке коллекций ссылок на объекты к ссылкам между записями, также похожи нааналогичные файлы Hibernate. Обычно первые даже несколько проще, поскольку большую частьработы по отображению полей объектов в поля записей базы данных берет на себяспециализированный адаптер.В дополнение JDO предоставляет средства для построения запросов с помощью описаниясвойств объектов, без использования более привычного встроенного SQL.В целом, подход JDO является обобщением подхода ORM на произвольные хранилищаданных, но он требует реализации более сложных специализированных адаптеров для каждоговида таких хранилищ, в то время как один и тот же ORM может использоваться для разныхреляционных СУБД, требуя для своей работы только наличия более простого драйвера JDBC.Enterprise Java Beans 3.0В рамках следующей, пятой версии платформы J2EE [6] будет использоваться новый набортехник для построения компонентов EJB — стандарт EJB 3.0 [12].Стандарт EJB версии 3.0 является существенным развитием EJB 2.1 в сторону упрощенияразработки и поддержки приложений, использующих технологию EJB.

При этом большинствонововведений основывается на тех же идеях, на которых строится работа с хранимыми данными врамках Hibernate и JDO. Гевин Кинг (Gavin King), создатель первых версий Hibernate, является иодним из разработчиков стандарта EJB 3.0.В рамках нового стандарта для создания компонента требуется описать только один класс,который не должен наследовать какому-то библиотечному классу или реализовывать какой бы тони было интерфейс. Объекты этого класса могут быть как хранимыми, так и временными.Различные описатели свойств компонента и его методов можно оформлять в виде аннотаций,стандартной конструкции для описания метаданных в Java 5. Примерами таких описателейявляются: указание вида компонента — компонент данных или сеансовый; отображение свойствкласса в поля таблиц и ссылки между ними; отметки нехранимых свойств и полей; отметкиспециальных методов, вызываемых при переходе между этапами жизненного цикла компонента;транзакционные атрибуты методов и пр.

Заметим, что в .NET использование для этого аналогованнотаций, атрибутов, уже реализовано. Остается и возможность использовать для этих целейXML-дескрипторы, аналогичные используемым в Hibernate конфигурационным файлам.Конфигурационные файлы более удобны для сложных приложений, поскольку сокращаютколичество мест, в которые нужно вносить модификации при изменениях в структуре базыданных или объектной модели данных приложения.

Характеристики

Тип файла
PDF-файл
Размер
438,02 Kb
Тип материала
Высшее учебное заведение

Список файлов лекций

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6447
Авторов
на СтудИзбе
306
Средний доход
с одного платного файла
Обучение Подробнее