Главная » Просмотр файлов » В.В. Кулямин - Технологии программирования. Компонентный подход

В.В. Кулямин - Технологии программирования. Компонентный подход (1133554), страница 70

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

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

Они могут содержать следующиевложенные теги.o <ejb-name>Требуется ровно один.Задает имя компонента.o <home>Необязателен, начиная с EJB 2.0. В EJB 1.1 требуется ровно один.Указывает полное имя удаленного исходного интерфейса.o <remote>Необязателен, начиная с EJB 2.0. В EJB 1.1 требуется ровно один.Указывает полное имя удаленного интерфейса.o <local-home>Необязателен.Указывает полное имя локального исходного интерфейса.o <local>Необязателен.Указывает полное имя локального интерфейса.o <ejb-class>Требуется ровно один.Указывает полное имя класса компонента.o <primkey-field>Необязателен, используется в описании компонентов данных.Указывает имя поля, являющегося первичным ключом (если он состоит только изодного поля и синхронизацией компонента с базой данных управляет контейнер).o <prim-key-class>Требуется ровно один, используется в описании компонентов данных.Указывает имя класса первичного ключа.

Можно отложить точное определение классапервичного ключа до развертывания, тогда в этом поле указывается java.lang.Object.o <persistence-type>Требуется ровно один, используется в описании компонентов данных.Имеет значения Bean или Container, в зависимости от того, управляется лисинхронизация компонента с базой данных самим компонентом или контейнером.o <cmp-version>Необязателен.Указывает версию спецификаций EJB, в соответствии с которой разработан компонент,что определяет способ управления этим компонентом. Может иметь значения 2.x и 1.x.254o <abstract-schema-name>Необязателен.Задает уникальный идентификатор компонента для использования в запросах на языкеEJB QL, который используется для описания запросов к схеме данных при реализациикомпонента данных, самостоятельно управляющего связью с СУБД.o <cmp-field>Один или более, используется в описании компонентов данных.Каждый такой элемент описывает одно поле данных, синхронизация которого с СУБДуправляется EJB контейнером.

Он может содержать тег <description> с описаниемполя и должен содержать тег <field-name> с именем поля. В EJB 2.0 это имя совпадаетс именем абстрактного свойства (для которого в классе компонента декларированыметоды getName() и setName()), а в EJB 1.1 — с именем одного из полей классакомпонента.o<security-role-ref>Один или более, необязателен.Указывает роли, используемые данным компонентом. Они при работе приложенияслужат для авторизации доступа — сопоставляются с ролями, которым разрешен доступк тому или иному методу.Может содержать тег <description> (необязателен) и теги <role-name> (обязателен),<role-link> (необязателен, служит для сопоставления указанного имени роли слогической ролью, описанной в <security-role> раздела <assembly-descriptor>).o<security-identity>Необязателен.Определяет, какую логическую роль будет играть данный компонент при обращениях кдругим компонентам.

Для этого может быть использован вложенный тег <runas><role-name>…</role-name></run-as> для указания имени конкретной логическойроли, или <use-caller-identity/> для указания того, что нужно использовать рольвызывающего клиента.o<session-type>Требуется ровно один, используется в описании сеансовых компонентов.Имеет значения Stateful или Stateless, в зависимости от того, использует ли данныйкомпонент состояние сеанса.o<transaction-type>Требуется ровно один, используется в описании сеансовых компонентов.Имеет значения Container или Bean, в зависимости от того, управляет ли транзакциямиданного компонента контейнер или он сам.

В первом случае соответствующиетранзакции должны быть описаны в разделе <assembly-descriptor>, см. далее.o<query>Один или более, необязателен.Используется для описания запросов, с чьей помощью реализуются некоторые методыкомпонентов данных, которые сами управляют связью с базой данных. Запросыописываются на языке EJB QL [X] и привязываются к методам компонента с помощьютегов <query-method>.

Сам код запроса описывается внутри элемента CDATA вовложенном теге <ejb-ql>.Например<query><query-method><method-name>findByName</method-name><method-params><method-param>java.lang.String</method-param></method-params></query-method><ejb-ql><!CDATA[SELECT OBJECT(c) FROM Client c WHERE c.name = ?1255]]</ejb-ql></query>•<relationships>Необязателен. Вложен в <ejb-jar>.Описывает набор отношений между компонентами, которые соответствуют связям в схемебазы данных и автоматически поддерживаются контейнером. Каждое отношениеописывается с помощью вложенного тега <ejb-relation>.o <ejb-relation>Описывает одно отношение и может иметь следующие элементы.ƒ <ejb-relation-name>Необязателен, только один. Задает имя отношения.ƒ <ejb-relationship-role>Обязательно два.

Описывает одну роль в рамах отношения. В описании ролидолжны присутствовать следующие данные.− Имя роли — во вложенном теге <ejb-relationship-role-name>.− Множественность — сколько экземпляров компонента могут играть такую рольв раках данного отношения с одним экземпляром в другой роли. Описывается втеге <multiplicity> и может иметь значения One или Many.− Имя компонента, экземпляры которого играют данную роль в этом отношении.Определяется в теге <relationship-role-source> внутри тега <ejb-name> ввиде имени, которое присвоено компоненту в рамках данного дескриптора.− Имя поля, которое хранит ссылку или коллекцию ссылок, поддерживающие этоотношение в рамках экземпляра компонента.

Определяется в теге <cmr-field>,во вложенном теге <cmr-field-name>, и для него в классе компонента должнобыть определено абстрактное свойство с тем же именем.•<assembly-descriptor>Этот обязательный тег внутри <ejb-jar> содержит дополнительные указания для сборкикомпонентов, в частности следующие.o <container-transaction>Один или более, необязателен.Содержит необязательный элемент <description>, а также приведенные ниже.Для компонента данных должно быть по одному такому элементу на каждый методудаленного интерфейсов. Сеансовые компоненты, транзакциями которых управляетEJB-контейнер, также должны подчиняться этому правилу.ƒ <method>Один или более.Содержит тег <ejb-name>, указывающий имя компонента, и <method-name>,указывающий имя метода или знак *, который обозначает применение указанногоатрибута ко всем методам.Может также включать элементы <description>, <method-params> и <methodintf>, который может иметь значения Remote, Home, Local, Local-Home, взависимости от того, в каком интерфейсе этот метод декларирован — для поддержкивозможности декларировать методы с одним именем и набором параметром вразных интерфейсах.ƒ <trans-attribute>Ровно один.Определяет атрибут транзакции, управляющий политикой включения в транзакцииили создания новых транзакций.Для компонентов данных атрибуты транзакции должны быть определены для всехметодов удаленного интерфейса и методов, декларированных в исходном256интерфейсе, для сеансовых компонентов — для всех методов удаленногоинтерфейса.Может иметь значения NotSupported, Supports, Required, RequiresNew, Mandatory,Never.

Об их смысле рассказывалось в предыдущей лекции.o <security-role>Один или более, необязателен.Определяет роли, служащие для контроля доступа к методам компонентов. В такомэлементе должен содержаться тег <role-name>, задающий имя роли.o <method-permission>Один или более, необязателен.Указывает правила доступа ролей, определенных в тегах <security-role>, к методамкомпонентов.Содержит необязательный тег <description>, один или несколько тегов <role-name> иодин или несколько тегов <method> (см.

выше), кроме того, в нем может присутствоватьтег <unchecked/>, который обозначает отсутствие проверки прав доступа во времяработы, даже если они описаны.Каждый тег <method> содержит тег <ejb-name>, указывающий имя компонента, и<method-name>, указывающий имя метода или знак *, который обозначает применениеуказанного атрибута ко всем методам.o <exclude-list>Необязателен.Содержит один или несколько тегов <method> (см. выше), определяющих методы,которые не должны вызываться при работе приложения. Каждый вызов такого методасоздает исключительную ситуацию.Уровень модели данных в .NETВ среде .NET нет средств, полностью аналогичных тем, которые предоставляются в J2EE дляразработки компонентов EJB. Уровень бизнес-логики в .NET-приложениях предлагаетсяреализовывать с помощью обычных классов, что значительно проще, чем реализовыватьспециальные наборы классов и интерфейсов для компонентов EJB.

С другой стороны, связь сбазой данных в .NET не реализуется в виде аналогичного EJB объектного интерфейса, если,конечно, не разрабатывать его целиком самостоятельно (или с использованием библиотеккомпонентов от третьих партий). Вместо этого предлагается для связи с базой данныхиспользовать набор компонентов ADO.NET [4], представляющих собой объектные оберткиреляционной структуры данных.Классы ADO.NET располагаются в сборке System.Data (дополнительные классы можно найти вSystem.Data.OracleClient и System.Data.SqlXml) и пространстве имен System.Data, вместе свложенными в него пространствами.Основным классом, с помощью которого представляются данные из базы данных, являетсяSystem.Data.DataSet.

Он представляет набор таблиц, связанных между собой некоторымисвязями и выполняющими определенные ограничения. Каждая таблица представляется объектомкласса System.Data.DataTable, каждая связь — объектом класса System.Data.Relation, каждоеограничение — объектом класса System.Data.Constraint. Структура таблиц описывается спомощью их полей (представляемых объектами System.Data.DataColumn).

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

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

Список файлов книги

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