Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

JAVA. Серверные приложения

.pdf
Скачиваний:
0
Добавлен:
06.09.2026
Размер:
2 Мб
Скачать
Часть 1. Электронная коммерция 21
так и в смысле различных операционных систем. Протокол RMI поддерживается всеми версиями Java, начиная с версии 1.1.
Приложения, использующие RMI, не требуют Web-сервера как та­кового. Каждое приложение в момент взаимодействия принимает на се­бя роль клиента или сервера, в зависимости от выполняемых задач. Идеально использование RMI подходит при создании приложения сер­вера, использующего многопотоковый доступ к внешним источникам.
Internet Inter-ORB Protocol (IIOP) стандартный протокол, основан-
ный на новой технологии CORBA. Основным компонентом протоко­ла является так называемый посредник (Component Broker), по­средник между приложениями, написанными на различных язы­ках.
IIOP более сложный протокол, чем обычный HTTP или новый RMI, и используется при взаимодействии компонентов реализованных на раз­личных платформах и с помощью различных языков программирова­ния. В протоколе IIOP используются различные сервисы, такие, как сервис транзакций (transaction services) и сервис сообщений (messaging services). IIOP используется для непосредственного обмена информа­цией между клиентом и сервером и передачи конкретных запросов.
Еще одним способом передачи можно назвать работу через сокеты
(Direct sockets). Сокеты предназначены для надежного двунаправ­ленного постоянного соединения между Web-приложениями. Обычно использование сокетов связано с отказом от использования какого-либо распространенного протокола передачи. При всей сложности использования сокетов иногда без них просто не обой­тись, например, при создании собственного протокола передачи или, если необходимо, расширить свойства стандартных протоко­лов. Большинство систем имеют встроенный набор API для досту­па к сокетам.
Протокол IIOP является достойной альтернативой, когда необходимо передавать клиенту большое количество данных, иметь высокоинтерак­тивную программу или если вы хотите воспользоваться возможностями обратного вызова клиента. Хотя протокол IIOP имеет свои слабые мес­та, что касается защищенности данных, но над этим в настоящее время работают, поэтому рекомендуется использовать данный протокол внут­ри Intranet, привлекая и HTTP для обеспечения защиты данных прило­жений Интернета.
Но обеспечение связи и обработка запроса это полдела; необходимо предоставить клиенту те данные, ради которых он и сформировал свой запрос, и отправил его Web-сервер при посредничестве транспортных протоколов. Для хранения данных предусмотренны специальные храни­лища.
1.4. Хранилища данных
В силу специфики задачи и множества внешних факторов часть ин­формации должна храниться во внешних, относительно приложения, источниках. Такими источниками могут быть различные базы данных,
22 Часть 1. Электронная коммерция
файловые системы и внешние носители информации, не содержащие программные элементы.
Структурированный подход к хранению данных обеспечивает мини­мальный временной интервал на поиск конкретного ресурса и максима­льному упрощению обновления данных.
Базы данных — самый распространенный способ хранения инфор-
мации. Базы данных СУБД могут располагаться на любой машине. Су­ществуют версии СУБД как для переносных органайзеров, так и для больших корпоративных майнфреймов. На рынке предлагается доста­точное количество различных баз данных, например DB2, ORACLE, MSSQL и т. д., различных по своим внутренним свойствам и способам обработки данных, уже поставляемых с множеством инструментов, предназначенных для работы в Web.
Другой способ хранить информацию более простой и более ста-
рый — файловые системы. Практически для каждой из существующих операционных систем разработаны свои системы управления файлами: HPFS для OS/2, NTFS для операционных систем семейства Windows NT, NFS используется Unix в подобных системах. Файловые системы хранят данные в виде цифровой информации на носителе.
Еще одним способом хранения информации является совмещенный
способ хранения нереляционных базах данных, типа IMS, или системах OLTP, типа CICS. Используя такие языки, как COBOL, программисты самостоятельно индексировали данные в плоских файлах.
Остальные элементы, такие, как бумажные документы, видео- и
аудионосители, в представлении не нуждаются.
Использование определенного типа хранилища данных диктуется структурой приложения, и в зависимости от типов хранимых данных и связи между ними разработчик изыскивает лучшее решение для буду­щего приложения.
1.5. Визуальные элементы
Для отражения полученной информации в годной для клиента фор­ме, в данном контексте пользователя предусмотрены различные визуа­льные элементы, облегчающие понимание переданной информации. Вы­бор между отражениями данных зависит от Web-клиента. Это может быть обычная текстовая строка, если клиентом является консоль, или сложный swing-интерфейс для Java-приложения. Чаще это HTML-эле­менты, видимые в Web-браузере: кнопки, таблицы, изображения и т. д. Чтобы не путаться под визуальными элементами, подразумевается не только графический интерфейс клиентской части, но и административ­ная консоль управления приложением на сервере. В отличие от клиент­ского графического интерфейса, административный графический ин­терфейс может быть полностью реализован в виде приложения, без ка­ких бы то ни было дополнительных способов реализации UI.
UI (user interface) — пользовательский интерфейс, неотъемлемая часть любого e-commerсe приложения. Разработка UI логики так же важна, как и описание бизнес-логики приложения. Во многих случаях
Часть 1. Электронная коммерция 23
компоненты пользовательского интерфейса взаимодействуют между со­бой. В большинстве приложений взаимодействия компонентов пользова­тельского интерфейса вызывают различные методы бизнес-логики. Ис­пользуемые данные превращений представляют собой тот набор инфор­мации, в котором заинтересован пользователь. В отличие от бизнес­логики, логика UI — местоположение компонента и ряд его взаимодей­ствий с другим компонентами, как элементов, так и элементов пользо­вательского интерфейса.
Если говорить о UI логике в сфере Web-приложений, то пользовате­льский интерфейс является ответственным за производство HTML­страницы, которая будет возвращена клиенту. С тех пор как язык про­граммирования Java стал широко использоваться в Web-приложениях, описание пользовательского интерфейса приобрело другие масштабы. Теперь кроме статических Web-страниц, с зафиксированными намертво компонентами, стали использоваться динамические JSP-страницы. Ис­пользуя Java, пользовательский интерфейс Web-приложения приобрел более приглядный вид, а возможность в одной странице совмещать ме­тоды бизнес-логики и логики UI делают Java действительно незамени­мой при создании e-commerсe приложений. В большинстве компаний созданием пользовательского интерфейса заведуют или бизнес-анали­тики, или бывшие программисты, ставшие таковыми. Все-таки создани­ем UI должны заниматься люди способные отличить грунтованный кар­тон от не грунтованного. Автор знает одного такого прекрасного специа­листа.
Количество графических элементов используемых в Web, достаточно велико и для некоторых сред уже практически стандартизировано. Хо­тя оно и уступает элементам управления, принятым в операционных системах, его вполне достаточно для отображения полученной инфор­мации. Использование стандартных компонентов в пользовательском интерфейсе облегчает не только создание, но и понимание части прило­жения. В крайнем случае программист всегда имеет возможность со­здать собственные элементы и импортировать их в исполняемую HTML-страницу в виде дополнительных надстроек.
Глава 2. Основная архитектура Web-приложений
Все описанные выше компоненты являются в своем роде «кирпичи­ками», из которых и возводится здание любого Web-приложения. После конкретного рассмотрения всех возможных разновидностей различных строительных блоков для Web-приложения необходимо описать, что во­обще из себя представляет Web-приложение.
Итак, Web-приложение. Во-первых, это практически все основные компоненты, перечисленные в предыдущей главе. Во-вторых, все эти компоненты располагаются или доступны в мировой сети Интернет. В­третьих, одна часть основных элементов располагается в распределен­ных системах, другая часть обеспечивает доступ к другим основным элементам Web-приложения.
24 Часть 1. Электронная коммерция
Рис. 1.1. Распределенная система
Отход от давно устаревшей системы распределения ресурсов по двум основным элементам, клиенту и серверу, обусловлен повышением требований к получению доступа к различным источникам. Клиент, сервер, транспортные протоколы — вот основополагающие компоненты любой распределенной системы. Манипулирование настоящими компо­нентами позволяет создать архитектуру приложения. Новым здесь яв­ляется только термин «распределенные». Практически все современные Web-приложения являются распределенными системами. Распределен­ные системы — это системы, расположенные на различных физических узлах, будь то персональные компьютеры, большие ЭВМ или какие-ли­бо другие устройства. Именно свойство распределенности данных стало одной из важнейших причин большой популярности Интернета. Рас­пределенные системы используются для организации доступа клиента к различным, даже разнесенным географически, источникам информа­ции. Web же позволяет, кроме стандартизации и независимости от платформы как клиента, так и источника информации, передавать дан­ные в едином формате. В распределенной системе граница между кли­ентом и сервером становится размытой, и в один момент времени кли­ент может выступать в нескольких ролях — быть или сервером, или клиентом или тем и другим.
Элементарное представление распределенной системы показано на рис. 1.1.
Распределенные системы выросли из таких ставpших уже тривиаль­ными систем, как клиент-сервер, и гетерогенных систем. В общем, рас­пределенные системы представляют собой смесь клиент-серверных взаи­моотношений, омраченных различными свойствами гетерогенных систем.
Обычно под распределенными приложениями подразумевается вы­полнение программного модуля на различных операционных системах. Кроме того, что выполнение распределенного приложения осуществля­ется на нескольких различных компьютерах, некоторые части распре­деленного приложения могут выполняться в других операционных и программных средах.
Основным этапом перехода к распределенным системам стало широ­кое распространение мини- и персональных вычислительных машин.
Часть 1. Электронная коммерция 25
Данное явление позволило предприятиям перенести большие объемы данных с головных машин в распределенные среды мини- и персональ­ных ЭВМ. Расположение информации в различных источниках подвиг­ло производителей программного обеспечения на решение задач, свя­занных с получением данных из различных источников. Так состоялся переход от централизованного хранения данных к распределенным сис­темам.
На настоящий момент распределенные данные представляют не только различные СУБД, но и в большинстве случаев совсем разные типы данных, хранящиеся в совершенно разном формате. Представле­ние данных в едином формате предполагает наличие на всех приложе­ниях дополнительных программных средств, обеспечивающих правиль­ную трансформацию и представление данных. Использование единых стандартов снимает ограничение на использование в различных средах данных из разных источников.
Уже ставший стандартом язык гипертекстовой разметки HTML и его улучшенная версия XML представляют данные, работающие в среде Web. Среду Web никак нельзя назвать однородной и не распределен­ной. Но с помощью технологий, используемых в Web, проблема «едино­го документа» может быть решена.
Итак, связь между Web и распределенной системой выявлена, испо­льзуются одни и те же составные компоненты. Основным принципом распределенных, а значит, и Web-систем является принцип идентично­сти. Для пользователя распределенная система выглядит так же, как и нераспределенная. В прошлом клиент-серверная архитектура счита­лась чуть ли не единственным решением всех проблем. Но ограничен­ность любой клиент-серверной системы в том, что она работает по принципу «точка в точку». Предполагалось, что сервер может выпол­нить все действия по обработке клиентского запроса.
После появления дополнительных требований к данным и способам доступа к ним пришлось разрабатывать другие системы, способные справиться с поставленными задачами. На смену клиент-серверным си­стемам пришли распределенные системы. Сама система клиент-сервер не умерла, она просто растворилась в пришедших на замену Web-сис­темах. Очень четко наследие клиент-серверных систем прослеживается на одном из основных уровней современных Web-приложений. Поняв, что такое распределенная система и уже зная основные компоненты, из которых состоит Web-приложение, можно начать проектировать «архи­тектурное» сооружение в данном случае Web-приложение.
Если к вам приходит представитель N фирмы и с важным видом за­являет о своих возможностях создать полностью распределенное при­ложение, при этом активно используя непонятные слова и невербаль­ные формы передачи информации, можно навести пару наводящих во­просов и узнать, насколько предлагаемая им услуга действительно соответствует вашим требованиям. Чаще всего под созданием распреде­ленного приложения многие компании предлагают создание Интернет­сайта с множеством различных дополнительных возможностей пред­ставления информации. Но вряд ли кто будет действительно предлагать создание гетерогенного, распределенного приложения, доступного для
26 Часть 1. Электронная коммерция
практически всех типов клиентов, присутствующих в структуре пред­приятия.
Первым делом у этого активного молодого человека можно поинтере­соваться, как он собирается организовать доступ машин секретариата компании, по сию пору сидящих на 386 машинах и Dos 6.22. Не забудьте намекнуть об отсутствии на данных машинах Web-браузеров. И если представитель будет продолжать увлекательно рассказывать о перс­пективах Windows-технологии и убеждать вас поменять весь парк уста­ревших машин, можно наносить еще один удар. Пожалуйтесь ему на ваше отвратительное прошлое и бабушку программиста, поставившего в вашей компании какую-то очень модную в давние времена програм­мку управления предприятием, что-то вроде SAP R\3, но так как денег у вас ну очень мало, переходить на другие системы вы, может, и хотели бы, но не можете. Очень интересная мимика и жестикуляции появляют­ся у нового гостя.
Когда женщина говорит: «Ты у меня лучше всех» с милой улыбкой на лице, время не радоваться, а задумываться. Так же и при проекти­ровании Web-систем необходимо задумываться до начала эксплуатации приложения. Лучше это начать в момент проектирования архитектуры будущего приложения.
Четыре основные архитектуры Web-приложений делят между собой пальму первенства по использованию и созданию e-commerсe приложе­ний:
одноуровневая архитектура;
двухуровневая архитектура;
трехуровневая архитектура;
многоуровневая архитектура.
Web-приложение обычно использует сетевые технологии, включаю­щие Web-браузеры, Web-серверы и Интернет-протоколы. Web-прило­жения обычно взаимодействуют с серверами данных или приложений.
Любое e-commerce приложение по большей части основано на Web­технологии, а значит, и использует практически весь арсенал Web.
Структура Web-приложений делится на две части: клиентская и серверная. Клиент выполняет запрос и получает ответ, сформирован­ный серверной частью. Серверная часть включает в себя: обработку за­проса, формирование ответа и посылку ответа клиенту. Для клиента приложения формируется соответствующая графическая форма, содер­жащая элементы пользовательского интерфейса. Для клиента, исполь­зующего Web-браузер, существует несколько форм ответов. Самым распространенным из них является HTML-страница — страница тек­ста, содержащая специальные символы, называемые тегами. Благодаря этим тегам браузер формирует страницу с различными формами, с ко­торыми может работать браузер. Также в последние время очень ак­тивно стал внедряться Dynamic HTML, динамический HTML, способ­ный «украшать» статические HTML-страницы. Другой способ «оживле­ния» HTML-страниц заключается â использовании программ, исполняемых в среде браузера, написанных с использованием языка программирования Java. Последним решением в данной области, безу­словно, является использование XML улучшенной версии стандартного
Часть 1. Электронная коммерция 27
HTML. XML, так же как и HTML, использует систему тегов для раз­метки текста документа, что значительно облегчает переход от статиче­ских Web-страниц к динамическим. Существуют и другие технологии создания динамических страниц, например MacroMedia Flush, Active Server Page-технология расширения возможностей HTML-страниц по­средством языка Visual Basic или Java Server Page — HTML-страница с частями кода, написанного на языке Java.
С развитием Интернета, все больше акцент смещается в сторону ис­пользования глобальной сети не только как информационного носителя, но и как активного инструмента для всех бизнес-областей, где требует­ся быстрый доступ к информационным ресурсам. Именно широкое рас­пространение Интернета и его доступность позволяют предприятиям решать сразу несколько проблем. С одной стороны — консолидировать данные, с другой стороны — организовать доступ к этим данным прак­тически из любой точки. Данная особенность привлекла громадное ко­личество компаний, не только разработчиков программного обеспече­ния, но и производителей телекоммуникационного оборудования, фи­нансовые институты, медиа-конгломераты. Ê использованию в расширяющихся способностях всемирной сети, для решения своих за­дач. Таких, как организация доступа к корпоративным данным удален­ных пользователей. Выбор архитектуры приложений зависит от цели e­commerce приложения.
Одноуровневая топология является самой простой и самой распро-
страненной среди создателей e-commerсe. Ведь именно на одно­уровневой системе проходит создание, тестирование и проектиро­вание e-commerce приложения. В данной системе отсутствуют се­тевые сервисы, а внешние источники и хранилища находятся практически всегда на одной машине или в одном сегменте сети.
На более высоком уровне находится обычная двухуровневая топо­логия, в которой имеется Web-сервер и удаленный сервер базы данных. Типичная топология маленьких коммерческих сайтов. Очень проста в обслуживании и не требует больших ресурсов, на одной машине располагается Web и applicaton сервера, база дан­ных на другом компьютере.
Различие между одноуровневой и двухуровневой топологиями, в на­личие промежуточного звена взаимодействиям между Web-сервером и удаленной базой данных, в промежуточном звене можно разместить до­бавочные сервисы и приложения.
Так рождается трехуровневая топология Web-приложений, изобра­женного на рис. 1.2.
Топология больших коммерческих приложений. Очень требовате­льна к ресурсам. Настройка топологии и ее проектирование пред­назначены для отдельных специалистов. Основные звенья могут быть разбросаны на громадные расстояния. Содержит все основ­ные компоненты, реализованные в первых двух топологиях, также может иметь дублирующие элементы, элементы копирования и на­стройки. Большинство Web-приложений базируется на трехуров­невой архитектуре. Физически данные распределены на три основ­ных звена. Для каждого уровня приложения — пользовательский
28 Часть 1. Электронная коммерция
Рис. 1.2. Архитектура Web-приложения
интерфейс, бизнес-логика и бизнес-данные, соответствует свой уровень выполнения. Первый уровень-клиент, содержащий логику представления данных и формирующий запросы для сервера, ис­пользуя Java-аплеты, браузер или другие средства передачи. Сле­дующий уровень Web/Application Server содержит бизнес-логику и процессы управления данными. Каждая серьезная программа для e-commerсe использует базу данных, надежность этой базы данных и связанных с ней компонентов определяет успех работы предприятия.
Многоуровневая топология e-commerсe приложения расширяет трехуровневую практически до уровня самой глобальной сети. Рас­пределенные системы и данные находятся не только на разных ма­шинах, но и в разных сетях (см. рис. 1). Количество серверов, так же как и количество хранилищ данных, объединенных по опреде­ленному признаку, практически не ограничено. Взаимодействие осуществляется не только по принципу «точка-точка», но, по прин­ципу множественных связей. Главное в многоуровневой архитекту­ре — использование одного общего начала.
Именно с последней топологией связаны наибольшие ожидания крупных игроков в электронном бизнесе. Выбор архитектуры приложе­ния влечет за собой выбор Web-технологии. В отличие от трехуровне­вой системы, распределенное приложение может совмещать в себе все уровни: и пользовательский интерфейс, и бизнес-логику и бизнес-дан­ные, с другой стороны, доступ к распределенному приложению осуще­ствляется из любой точки и любого приложения, написанного на отлич­ном от приложения языке программирования.
Количество Web-технологий и решения на их базе ставят в тупик порой не только новичков в электронном бизнесе, но и уже бывалых иг­роков на данном поприще. Именно выбор основной технологии является первостепенной задачей, и порой системный архитектор принимает ре­шение на базе знакомых ему с «детства» программных продуктов, не
Часть 1. Электронная коммерция 29
интересуясь новшествами, предлагаемыми на рынке. Зная технологии, базирующиеся на платформе Windows, системный архитектор скорее предпочтет использование языков программирования Visual Basic или Visual С++, чем Jаva. Привязка проекта к определенным языкам обя­зывает проектировщика и к выбору сопутствующих программных про­дуктов, обеспечивающих работу приложения, что не всегда является хорошим решением. Опять же незнание современных решений ведет к увеличению бюджета создаваемого продукта и набору персонала, порой неспособного выполнить поставленную перед ним задачу в силу незна­ния используемого инструмента.
На настоящий момент существуют только две широко поддерживае­мые платформы для Web-приложений — это комплексное решение фирмы Microsoft и конечно же Java компании SUN. Говорить о достоин­ствах или недостатках каждого отдельно взятого решения не имеет смысла. Слишком много приверженцев Microsoft’а в России, а значит, и много аргументов в пользу использования именно продуктов этой ком­пании. Но также много любителей Java за границей великой державы. Бесполезно сравнивать Active Server Page (ASP) и JSP, хотя оба пред­назначены для решения одной задачи. Среды, в которых они выполня­ются, до такой степени разные, что найти общую точку отсчета практи­чески невозможно. По этой же причине нельзя сравнивать COM-объек­ты и Java Bean, этот перечень можно расширять еще очень долго. По мнению автора, лучшее решение у компании SUN и иже с ними. Во­первых, язык Java создавался как сетевой язык и вполне себя оправдал в данной роли. Во-вторых, кроме платформы Solaris, Java поддержива­ется другими платформами, например Windows фирмы Microsoft или MacOS от компании Apple. Компания IBM расширила этот список еще на дюжину пунктов для своих платформ.
На настоящий момент именно многозвенная архитектура приложе­ний позволяет достичь оптимального распределения информационных ресурсов, организовать доступ в удобной для пользователя форме. Как и другие архитектуры, многозвенная имеет свои достоинства и свои не­достатки, одним из которых является сложность обслуживания всей си­стемы, увеличивая не только стоимость разработки, но и стоимость под­держки приложения. С другой стороны, многозвенная архитектура зна­чительно облегчает обработку множества различных запросов, поступавших от различных источников.
Дабы не рассматривать все возможные варианты, на это не хватит ни сил, ни времени, можно ограничиться рассмотрением только опреде­ленных частей Web-архитектуры. В данной книге будет рассматривать­ся непосредственно второй (средний) уровень, присутствующий во всех из указанных архитектур, и использование на данном уровне техноло­гии, основанной на языке Java, таких, как servlet и Java Server Pages. Дополнительно будут рассмотрены уровни второго-третьего звеньев Web-архитектуры. На промежуточном уровне использование EJB, тех­нологии, также основанной на языке Java, и описывающая бизнес-логи­ку приложения. И средства доступа к базам данных при помощи языка Java и SQL-конструкций — SQLJ. В принципе EJB является серверной технологией, но выполняет на дополнительном уровне, так называемом
30 Часть 1. Электронная коммерция
EJB-сервере. Данный сервер может располагаться на любом уровне Web-архитектуры, но чаще всего он встроен в сервер приложений и по­этому будет рассмотрен как часть среднего звена Web-приложения.
При создании e-commerсe приложений разные специалисты объеди­няют свои усилия. В такой команде предусмотрено несколько основных ролей. Такие, как дизайнеры, Web-дизайнеры, Web-программисты, биз­нес-аналитики, программисты, использующие в своей работе какой-ли­бо язык: Java, C++, Perl и т. д. Разделение по ролям позволяет распре­делить ресурсы и добиться максимального контроля за ходом выполне­ния решения проблемы. Хотя еще очень часто можно встретить коллективы, в которых совмещенные обязанности может нести на себе один человек. Большей частью не важно, сколько человек работает над данным проектом, важнее сложность проекта и профессионализм ис­полнителей.
2.1. E-commerce â Web
Само слово e-commerсe определяет основную задачу, описываемую в Web-приложениях, используемых при деловых отношениях различных участников бизнес-процесса. Коммерция, точнее, электронная коммер­ция — так можно определить новое слово, распространившееся в Web. Именно коммерческие, финансовые отношения описываются в e-com­merсe приложениях. Основной причиной перенесения бизнеса в Интер­нет, стала возможность обращения к любому ресурсу, доступному сети, будь то текстовой документ или большая компания.
Почему именно Web стал основой распространения e-commerсe? Для этого существует несколько важных причин.
Одной из основных причин конечно же является распространенность сети. Там, где раньше не ступала нога человека, имеется устройство, подключенное к информационной сети. Ведь уже не представляет ника­кого труда получить снимки Луны, хотя, был ли там человек, вопрос остался без ответа.
Совсем необязательно быть на Луне, чтобы заключить контракт на размещение рекламы в лунных новостях. Web открывает новые каналы продвижения товара, теперь маркетинг в прямом смысле становится целевым. Там, где присутствует клиент, там теперь находится реклама. В данном случае совсем необязательно, чтобы реклама была видима. Посещая сайт или получая электронную почту, клиент может автома­тически стать участником бизнес-процесса.
В отличие от других электрических устройств, сеть работает всегда, без перерывов на обед и «приемки товара». Как раньше основополагаю­щим принципом было пятилетку в три дня, то теперь приоритеты поме­нялись на 24×7. Теперь кто угодно может пользоваться услугами элект­ронного рынка 24 часа в сутки, семь дней в неделю, в не зависимости от времени суток, времени года и опять т.д. Предоставляя доступ к своим продуктам и творениям 24 часа, можно избавиться от постоянного пла­нирования рабочего времени заказчиков, оставляя на их выбор способ получения информации.