Lecture13 (1133570), страница 5

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

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

Конфигурационный файл сервера выглядит так.<?xml version="1.0" encoding="utf-8" ?><configuration><system.runtime.remoting><application><service><wellknownmode = "Singleton"type = "Examples.Remoting.Hello, Hello"objectUri = "MessageServer"/></service><channels><channel ref = "http" port = "8989" /></channels></application></system.runtime.remoting></configuration>Конфигурационный файл клиента.<?xml version="1.0" encoding="utf-8" ?><configuration><system.runtime.remoting><application><client><wellknowntype = "Examples.Remoting.Hello, Hello"url = "http://hostname:8989/MessageServer"/></client></application></system.runtime.remoting></configuration>Чтобы запустить этот пример, нужно выполнить следующие шаги.• Скомпилировать все классы (предполагается, что классы находятся в файлах с именамиHello.cs, Server.cs и Client.cs).csc.exe /noconfig /t:library Hello.cscsc.exe /noconfig /r:Hello.dll Server.cscsc.exe /noconfig /r:Hello.dll Client.cs•В результате первой команды будет получена динамическая библиотека, содержащаяопределение класса Hello.

В двух других она используется, чтобы предоставить ссылку наэтот тип.Запустить серверный компонентServer.exe•Перенести на другую машину или в отдельную директорию на той же машине файлыClient.exe, Hello.dll, RemotingClient.exe.config, заменив hostname в URL вконфигурационном файле клиента на имя машины, где работает сервер, и запуститьклиентский компонентClient.exeЕсли никаких ошибок не сделано, и порт 8989 на серверной машине доступен, клиентвыдаст сообщение.response: Hello!С помощью конфигурационных файлов можно определить политику активации серверногообъекта (использовать один объект для всех вызовов, создавать для каждого вызова свой объект,создавать объект при его создании клиентом), транспортный протокол для передачи сообщений(HTTP или TCP), и пр.Асинхронное взаимодействие в рамках .NET может быть реализовано с помощью имеющихсяв библиотеке .NET асинхронных делегатов, на основе асинхронных удаленных вызовов поRemoting или с помощью обмена сообщениями на базе библиотек System.Messaging.Взаимодействие между компонентами ASP.NET использует похожие, но скрытые отразработчика компонентов механизмы.ИменованиеВ примере на взаимодействие по Remoting использовалась локальная служба именования,встроенная в среду .NET — поэтому никаких специальных действий по регистрации и поискукомпонентов не производилось.

Эта служба позволяет не заботиться об этих вопросах в томслучае, если физическое положение компонентов, с которыми необходимо установить связь,известно и постоянно.Если же это не так, необходимо иметь полноценную службу именования и/или службукаталогов. В этом качестве в .NET используется Active Directory. Поскольку эта технологияпоявилась раньше, чем среда .NET, в рамках .NET была создана библиотека адаптеров,позволяющих использовать функции Active Directory.

Элементы этой библиотеки находятся впространстве имен System.DirectoryServices и его подпространствах, в сборкахSystem.DirectoryServices и System.DirectoryServices.Protocols.Для работы с записями Active Directory используются объекты классаSystem.DirectoryServices.DirectoryEntry. C помощью конструкторов и методов этого классаможно создавать и изменять регистрационные записи службы каталогов. Для поисказарегистрированных объектов по идентификаторам или свойствам используются методы классаSystem.DirectoryServices.DirectorySearcher.Active Directory поддерживает обращения к своим записям по нескольким разным протокола,включая протокол LDAP.Процессы и синхронизацияПомимо процессов и потоков, среда .NET поддерживает так называемые зоны приложений(application domains), которые служат агрегатами ресурсов, как и процессы, но, в отличие от них,управляются с помощью более эффективных механизмов. В рамках одного процесса может бытьсоздано несколько зон приложений.

Передача объектов и ресурсов между зонами приложенийневозможна без использования специальных механизмов, таких как Remoting. Потоки же в .NETмогут пересекать границы зон приложений, если обладают соответствующими правами.Зоны приложений служат дополнительным элементом защиты .NET-приложений отнепреднамеренного взаимного влияния и позволяют сохранить работоспособность процесса привозникновении проблем в одном из его приложений.Помимо автоматически создаваемых потоков и зон приложений, разработчик может создаватьсвои собственные потоки и зоны приложений. Вопросы синхронизации потоков и передачиданных между зонами приложений в Web-приложениях могут решаться при помощи стандартныхмеханизмов .NET — конструкций и библиотек синхронизационных примитивов, а такжебиблиотечного класса System.AppDomain, чьи методы позволяют выполнять различные операции сзонами приложений.ЦелостностьЦелостность данных в .NET поддерживается, как и в J2EE, в основном, за счет механизматранзакций.

Распределенные транзакции в .NET реализованы на базе сервера транзакцийMicrosoft (Microsoft Transaction Server, MTS), который появился как часть компонентной средыCOM+. Интерфейсы для работы с его функциями собраны в пространстве именSystem.EnterpriseServices, в сборке с таким же именем.Автоматические транзакции поддерживаются при помощи указания у классов транзакционныхатрибутов, имеющих тип System.EnterpriseServices.TransactionAttribute.

Такой атрибутможет принимать значения Required, RequiresNew, NotSupported, Supported и Disabled. Первыетри имеют то же значение, что и в J2EE. Атрибут Supported действует аналогично Supports вJ2EE. Атрибут Disabled обозначает, что транзакционный контекст вызвавшего метода будетпроигнорирован.Значение атрибутов по умолчанию для методов компонентов ASP.NET и методов обычныхклассов, используемых в распределенных транзакциях, различны — у первых это Disabled, увторых — Required.Чтобы определить класс, чьи методы могут участвовать в транзакциях, нужно унаследовать егоот класса System.EnterpriseServices.ServicedComponent, определить транзакционный атрибут,а также прикрепить к сборке, содержащей этот класс, сертификат и зарегистрировать сборку вреестре COM+.Для завершения или отката автоматической транзакции используются следующиеконструкции.••Атрибут System.EnterpriseServices.AutoCompleteAttribute у участвующего втранзакции метода говорит о том, что в случае нормального завершения работы метода иотсутствия проблем у других ее участников транзакция будет завершена успешно.

Если жев результате работы метода будет создано исключение, транзакция будет отменена.Методы SetComplete() и SetAbort() класса System.EnterpriseServices.ContextUtilмогут использоваться для успешного завершения или отката автоматически созданнойтранзакции.Создание и управление транзакциями «в ручном режиме» может быть осуществлено длякомпонентов ADO.NET при помощи методов класса System.Data.Common.DbConnection и егонаследников и класса System.Data.Common.DbTransaction. Для управления транзакциями припередаче сообщений используется класс System.Messaging.MessageQueueTransaction.ОтказоустойчивостьТак же, как и для J2EE, отказоустойчивость .NET-приложений должна обеспечиваться либо засчет использования дополнительных продуктов, либо за счет специфического проектированияприложения.ЗащитаЗащищенность .NET-приложений поддерживается примерно теми же методами, что изащищенность J2EE-приложений.Здесь также имеется несколько техник аутентификации, возможность определения ролей,обеспеченных набором прав доступа к различным элементам системы, а также возможностьиспользования различных протоколов шифрования и защищенной передачи данных, управленияключами и подтверждения целостности данных.

В рамках .NET используются такжемногоуровневые политики защиты, которые определяют набор прав, предоставляемых коду изразных источников.Программные интерфейсы к различным механизмам управления защищенностью приложенийи ресурсов реализуются классами и интерфейсами пространства имен System.Security,находящимися в сборках mscorlib, System и System.Security.Работа с XMLВ целом техника работы с XML-документами в .NET опирается на реализацию объектноймодели документов XML (DOM) и на механизм разбора, аналогичный StAX, реализуемый классомSystem.Xml.XmlReader. Классы, реализующие различные парсеры XML, различные вариантыпредставления XML-документов, а также их трансформацию на основе XSLT-описаний,находятся в пространстве имен System.Xml, разбросанному по сборкам System.Data,System.Data.SqlXml и System.Xml.Одной из особенностей работы с XML в .NET является встроенная возможность работы сXML-данными в рамках механизмов ADO.NET (в основном предназначенных для работы среляционными СУБД) с помощью класса System.Xml.XmlDataDocument.Литература к Лекции 13[1] Web-сайт консорциума World Wide Web http://www.w3.org/.[2] http://www.xml.com/.[3] XML 1.1, 2004.

Доступен через http://www.w3.org/TR/xml11/.[4] Annotated XML 1.0, 1998. Доступен через http://www.xml.com/axml/axml.html.[5] Расширяемый язык разметки (XML) 1.0 (русский перевод первой версии стандарта).Доступен через http://www.rol.ru/news/it/helpdesk/xml01.htm.[6] Материалы по XMLSchema http://www.w3.org/XML/Schema.[7] Namespaces in XML, 1999. Доступен через http://www.w3.org/TR/REC-xml-names/.[8] Java Platform Enterprise Edition Specifications, version 1.4.http://java.sun.com/j2ee/j2ee-1_4-fr-spec.pdf.[9] Э.

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

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

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

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