Поисковые системы сети Internet
Поиско́вая систе́ма — программно-аппаратный комплекс с веб-интерфейсом, предоставляющий возможность поиска информации в Интернете. Под поисковой системой обычно подразумевается сайт, на котором размещён интерфейс (фронт-энд) системы. Программной частью поисковой системы является поисковая машина (поисковый движок) — комплекс программ, обеспечивающий функциональность поисковой системы и обычно являющийся коммерческой тайной компании-разработчика поисковой системы.
Большинство поисковых систем ищут информацию на сайтах Всемирной паутины, но существуют также системы, способные искать файлы на FTP-серверах, товары в интернет-магазинах, а также информацию в группах новостей Usenet.
Одним из первых инструментов поиска в интернете (до Всемирной паутины) был Archie.
В www – сперва появились тематические каталоги (www.yahoo.com).
В www – сперва появились тематические каталоги (www.yahoo.com).
Составные части:
- Иерархическая совокупность тем (рубрик)
- База описаний ресурсов с привязкой к рубрикам.
- Механихм отслеживания ресурсов и пополнения базы(заметная часть ручной работы)
Поисковая машинапоявилась в связи с популярностью www.
Одни из первых(1993г.):
ALIWEB(просматривала МЕТА теги)
Exite(анализировала статистику появления слов в документе)
Lycos(индексировал страницу целиком)
Поисковая машина состоит из:
программы-паука(робот), которая просматривает сайты Интернета и индексирует их в автоматическом режиме.
базы данных (индекса), в которой находится информация о просмотренных сайтах(в современных системах база содержит и сами документы размером до нескольких десятков килобайт)
Языки запросов
Запрос – обращение клиента к поисковой машине, составленное на языке запросов.
Выражение на языке запросов состоит из «ключевых слов», операторов булевой алгебры и других служебных символов.
Каждая поисковая машина имеет свой язык запросов
Пример операторов булевой алгебры:
Telnet
Telnet - протокол, позволяющий использовать вычислительные ресурсы удаленного компьютера.
– полноценный доступ к ресурсам компьютеров, входящих в Интернет обеспечивает протокол telnet (Terminal over Network protocol – протокол удаленного сетевого доступа). С помощью этого протокола пользователь может подключится к компьютеру, который может находится на противоположной стороне земного шара, и работать с ним, как со своим персональным компьютером. В частности можно просматривать файлы, хранящиеся на его дисковых устройствах, запускать программы и т.д. Собственный компьютер пользователя фактически превращается в терминал удаленного компьютера (т.е. в набор из клавиатуры и дисплея).
Для доступа к telnet-серверу через web-обозреватель нужно после схемы telnet:// указать его доменный адрес.
FTP
FTP - это служба обеспечивает пересылку файлов с файловых архивов FTP - серверов на другой компьютер.
– этот протокол (File Transfer Protocol – протокол передачи файлов), который подразумевает передачу файлов в так называемом оперативном или online режиме. Это означает, что на время передачи файла передающий и принимающий компьютеры должны находится в прямом контакте друг с другом. Администарция узлов Интернета, которые имеют ftp-серверы, обычно регистрируют пользователей, имеющих разрешение на доступ к файлам сервера для их копирования на своим компьютеры. Этим пользователям назначаются специальные пароли, без которых доступ к ftp-серверу невозможен. Однако в Интернете имеются и узлы, доступ к ftp-серверам которых разрешен всем пользователям сети. Такой доступ называется анонимным.
- Технология web-сервисов. Интеграция портлетов в порталы.
Веб-служба, веб-сервис (англ. web service) — идентифицируемая веб-адресом программная система со стандартизированными интерфейсами.
Веб-службы могут взаимодействовать друг с другом и со сторонними приложениями посредством сообщений, основанных на определённых протоколах (SOAP, XML-RPC и т. д.).
В обиходе веб-сервисами называют услуги, оказываемые в Интернете. В этом употреблении термин требует уточнения, идёт ли речь о поиске, веб-почте, хранении
документов, файлов, закладок и т. п. Такими веб-сервисами можно пользоваться независимо от места доступа в Интернет, компьютера или браузера
Технология веб-сервисов
Порядок описания, поиска и взаимодействия веб-сервисов друг с другом определяют стандарты. Взаимодействующие через Интернет программы должны уметь обнаруживать друг друга, находить информацию, позволяющую им осуществить связь, понимать, какая модель контактирования должна быть применена (простая, типа "запрос/ответ", или более сложная последовательность), и договариваться об использовании таких услуг, как защита информации, подтверждение передачи сообщений и составление сделок. Некоторые из этих сервисов реализуются существующими технологиями и предлагаемыми стандартами, а другие - нет. Использующее веб-сервисы сообщество стремится удовлетворить все эти требования, но это - эволюционный процесс, как и сам Интернет
Для транспортировки и преобразования данных в программы и обратно веб-сервисы требуют использования нескольких смежных XML-технологий.
Язык XML (Extensible Markup Language) - фундамент, на котором строятся веб-сервисы. Он предоставляет язык определения данных и порядок их обработки. XML представляет семейство связанных спецификаций, публикуемых и поддерживаемых интернет-консорциумом (World Wide Web Consortium, W3C) и другими организациями.
WSDL (Web Services Description Language) - технология, основанная на XML, определяющая интерфейсы веб-сервисов, типы данных и сообщений, а также модели взаимодействия и протоколы связывания.
Портлет — подключаемый, сменный компонент пользовательского интерфейса веб-портала (элемент веб-страницы).
Портлет выдаёт фрагменты разметки, которые встраиваются в страницу портала. Чаще всего, страница портала представляется в виде набора не перекрывающих друг друга портлетных окон, каждое из которых отображает портлет. Таким образом, портлет (или совокупность портлетов) представляется в виде единого веб-приложения, размещённого на портале. Примеры портлетов: email, сообщения о погоде, последние новости.
Портлеты — своеобразные программы, которые, по существу, являются пользовательским представлением соответствующего им персонифицированного информационного наполнения. С технической же точки зрения, портлет — это фрагмент кода, который исполняется на сервере порталов и позволяет встраивать информационное наполнение в страницы портала. Большинство реализаций серверов порталов — это Web-приложения на базе J2EE.
Портал в простейшем его рассмотрении — это программная платформа, содержащая портлет-контейнер, который в свою очередь поддерживает Portlet API и позволяет нам запускать портлеты. Так же помомо этого, портал обычно предоставляет средства для управления группами и пользователями, а так же широкие возможности их кастомизации( придание продукции свойств и параметров в соответствии с заказом конкретного потребителя.)
Портлет — это отдельное небольшое веб-приложение, которое выполняется на портале, портал в свою очередь агрегирует один или несколько портлетов на отдельной веб странице, которые обычно настраиваются для отдельных пользователей и групп портала. В итоге мы получаем обычную веб-страницу, наполненную несколькими веб-приложениями.
Варианты «классической» интеграции
Прежде чем рассматривать подход, который вводит WSRP для интеграции приложений, остановимся на мотивах, способствовавших появлению стандарта. Для этого продемонстрируем используемые сегодня варианты интеграции приложений в порталы.
Интеграция удаленного приложения посредством локального портлета
В такой интеграции участвуют четыре компонента: приложение, адаптер приложения на стороне портала, портлет и сам портал в качестве модуля агрегации данных. Приложение выступает поставщиком информации, и в общем случае нет никаких формальных ограничений относительно того, как эти данные должны быть представлены и переданы от источника к потребителю. Поэтому приложение должно иметь своего «представителя» на стороне портала — адаптер приложения, который берет на себя все тонкости общения с приложением. В качестве базового протокола используется TCP/IP, а протокол верхнего уровня может быть любым: DCOM, RMI или собственный протокол приложения. Непосредственно с адаптером общается портлет, который через интерфейсы адаптера получает данные, обрабатывает их на уровне логики задачи, формирует «презентационные» данные и направляет результат порталу. Портал объединяет результаты, полученные от разных портлетов, и отсылает их клиенту. В рассмотренном варианте портлет отвечает как за логику задачи, так и за способ представления результатов. Оба рассматриваемых нами варианта портального программного обеспечения поддерживают такую схему интеграции.
Интеграция удаленного приложения посредством удаленного портлета
Рассмотрим теперь интеграцию приложения посредством удаленного портлета. Основной идеей такого подхода является вынос функций портлета на удаленный сервер. На рис. 2 показана общая схема интеграции удаленного приложения посредством удаленного портлета. На схеме преведено два варианта интеграции:
· удаленный портлет как Web-сервис;
· удаленный портлет как удаленная программа.
В первом случае на стороне портала присутствует модуль (портлет 1), который общается с Web-сервисом, получает от него обработанные на уровне логики данные, формирует «презентационный» уровень и отсылает его порталу. Во втором случае, как и в случае локального портлета, сам портлет содержит как логику задачи, так и способ представления результатов. Достигается это за счет адаптера портала, который обеспечивает доступ к пользовательским установкам портлета, хранящимся в базе данных портала, и прием текущих данных от пользователя (стандартным образом, по протоколу HTTP). Портлет может также формировать результат в формате HTML или XML.
- Основные принципы построения web-приложений. Основные требования, предъявляемые к web-приложениям.
Определение:
Web-приложения (веб-приложения, Web-application) — вспомогательные программные средства, предназначенные для автоматизированного выполнения действий на Web-серверах. Они используют в качестве пользовательских интерфейсов Web-браузеры. Обычно Web-приложения создаются в разных вариантах архитектуры клиент-сервер. Иначе говоря, Web -приложение — клиент-серверное приложение, в котором клиентомвыступаетбраузер, асервером —веб-сервер. Логика веб-приложения распределена между сервером и клиентом, хранение данных осуществляется, преимущественно, на сервере, обмен информацией происходит по сети. Одним из преимуществ такого подхода является тот факт, что клиенты не зависят от конкретной операционной системы пользователя, поэтому веб-приложения являются межплатформенными сервисами.
К числу средств создания Web-приложений относятся ISAPI, CGI, ASP, JSP, WAP. За долгие годы состав Web-приложений, выполняемые ими функции, принципы и архитектура их построения претерпели значительные изменения — от простейших средств хранения HTML-страниц до решений, ориентированных на поддержку работы корпоративными информационных систем и их партнеров. Веб-приложения стали широко популярными в конце 1990-х — начале 2000-х годов.
Устройство веб-приложений
Веб-приложение состоит из клиентской и серверной частей, тем самым реализуя технологию «клиент-сервер».
Клиентская часть реализует пользовательский интерфейс, формирует запросы к серверу и обрабатывает ответы от него.
Серверная часть получает запрос от клиента, выполняет вычисления, после этого формирует веб-страницу и отправляет её клиенту по сети с использованием протокола HTTP.
Само веб-приложение может выступать в качестве клиента других служб, например, базы данных или другого веб-приложения, расположенного на другом сервере. Ярким примером веб-приложения является система управления содержимым статей Википедии: множество её участников могут принимать участие в создании сетевой энциклопедии, используя для этого браузеры своих операционных систем (будь то Microsoft Windows, GNU/Linux или любая другая операционная система) и не загружая дополнительных исполняемых модулей для работы с базой данных статей.
В настоящее время набирает популярность новый подход к разработке веб-приложений, называемый Ajax. При использовании Ajax страницы веб-приложения не перезагружаются целиком, а лишь догружают необходимые данные с сервера, что делает их более интерактивными и производительными.
Для создания веб-приложений на стороне сервера используются разнообразные технологии и любые языки программирования, способные осуществлять вывод в стандартную консоль.
Виды Веб-приложений и технологии их создания:
AJAX(Asynchronous JavaScript and XML) — подход к построению пользовательских интерфейсов Web-приложений, при котором в ответ на каждое действие пользователя Web-страница на его браузере, не перезагружается полностью — с Web-сервера только догружаются нужные ему данные. Этим обеспечивается оперативная работа как одного, так и групп пользователей с приложениями. AJAX представляет собой не одну, а группу технологий и базируется на принципах использования DHTML для динамичного изменения содержания страницы и использования XMLHttpRequest для обращения к серверу (альтернативный вариант — динамическая подгрузка JavaScript с использованием объектной модели документа — DOM). С учетом этих принципов можно создавать удобные Web-интерфейсы на тех страницах сайтов, где необходимо активное взаимодействие с пользователями. Популярность AJAX приобрела после того, как компания Google начала применять его при создании Gmail, Google maps, Google suggest.
ASP (Active Server Pages) — технология создания Web-приложений, использующая объектную модель интерфейса, созданного на основе ISAPI-фильтра. ASP упростила задачи генерации HTML-страниц и позволила производить обращение к компонентам баз данных. Принцип, заложенный в основу интерфейса приложения, заключается в том, что на Web-странице присутствуют фрагменты кода, который интерпретируется Web-сервером и предоставляет пользователю готовый результат выполнения выбранных фрагментов кода. Web-страница, созданная с использованием технологии ASP, имеет расширение «.asp».
CGI(Common Gateway Interface, общий шлюзовой интерфейс) — программа поиска в удаленных БД, переадресации ссылок, использования графических меню, связи с базами данных (путем запуска программы преобразования форматов баз данных в формат языка HTML).
CRM (Customer Relationship Management) — Web-приложения для автоматизации и повышения эффективности процессов, связанных с бизнесом (обработка заказов, маркетинг, обслуживание клиентов). CRM используются в специализированных операторских «контакт-центрах». Первая версия программного продукта Microsoft CRM появилась в 2002 году. Web-сервисы Microsoft CRM реализуются на основе использования SQL-сервера и предусматривают создание основного хранилища данных Microsoft CRM, БД метаданных, БД для построения отчетности и дистрибуционной БД, предназначенной для отслеживания взаимодействия автономных пользователей клиента Outlook с основной БД Microsoft CRM. Использование XML позволяет интегрировать Microsoft CRM с приложениями подобного назначения независимо от языка программирования и операционной системы, под управлением которой работает стороннее приложение (например, SAP R/3). Система предусматривает ограничения доступа и проверку прав доступа клиентов.
ERP (Enterprise Resource Planning) — Web-приложения, предназначенные для автоматизации процессов управления внутрихозяйственной деятельностью корпорации, включая управление производством, финансами, снабжением, персоналом.
ISAPI (Internet Server Application Programming Interface) — интерфейс к серверу Интернета фирмы Microsoft, предназначен для программного управления сервером. ISAPI поддерживается большинством производителей программных средств. ISAPI-программы представляют собой специальный вид приложений, обрабатывающих пользовательские запросы и отображающих их вывод в виде потока HTML, который поступает непосредственно в браузер клиента.
ITRP (IT Resources Planning) — класс Web-приложений, предназначен для поддержки управления корпоративными ИТ-ресурсами и сервисами.
JSP (Java Server Pages) — технология создания Web-приложений, основанная на однократной компиляции Java-кода (сервлета) при первом обращении к нему с последующим выполнением методов этого сервлета и помещением полученных результатов в набор данных, которые отправляются в браузер.
OSS (Operation Support Systems) — вид Web-приложений, предназначен для обеспечения работы операторов распределенных вычислительных сетей. OSS обеспечивает управление сетью, производительность, ликвидацию сбоев в работе, создание и учет сервисов, планирование сетевых ресурсов, мониторинг процессов, контроль за безопасностью, качество услуг и уровень обслуживания клиентов, сбором статистических данных. Разновидностью OSS является система поддержки бизнеса — BSS (Business Support Systems). К ним относятся биллинговые системы, системы управления взаимоотношениями с клиентами, управления сетями, заказами, качеством услуг.
PHP (Personal Home Page) — сценарный язык и программное средство для создания Web-страниц. В его состав входит CGI-интерфейс, интерпретатор языка и набор функций для доступа к базам данных и различным объектам WWW. PHP позволяет формировать страницы в режиме интерактивного взаимодействия в системах «клиент-сервер».
Требования к веб-приложениям
Качество разрабатываемого приложения определяется тем, насколько оно соответствует тем требованиям, которые были заложены на стадии проектировании системы. Все требования к приложениям, в том числе и веб-приложениям, разделяют на функциональные и нефункциональные.
Функциональные требования определяют ту функциональность системы, которую разработчики должны построить, чтобы пользователи смогли выполнить свои задачи в рамках своих бизнес-процессов.
Нефункциональные требования представляют собой описание характеристик приложения, важных для пользователя при работе с системой. Рассмотрим, какие характеристики задают нефункциональные требования к системе:
• надежность: Формально, надежность – это свойство приложения сохранять
во времени в установленных пределах значения всех параметров, характеризующих
способность выполнять требуемые функции в заданных режимах и условиях
применения (ГОСТ 27.002-89). Т.е. требования к надежности приложения
определяются условиями функционирования приложения (параметры сервера,
максимальное количество пользователей приложения) и допустимыми показателями
качества работы системы в этих условиях (время обработки запроса пользователя
к системе, количество отказов системы). Таким образом, надежное веб-приложение
должно обеспечивать доступ ко всем функциям для пользователя при любых условиях
(т.е. все возможные условия для данного приложения должны быть рассмотрены и учтены
при проектировании системы).
• быстродействие приложения: Быстродействие определяется как среднее
время обработки запроса пользователя к системе. Максимальным приемлемым
временем отклика для веб-приложений считается 5 секунд.
• безопасность: Требование безопасности веб-приложения включает в себя:
разграничение прав доступа к функциям и данным каждого компонента веб-
приложения может, контроль уровня доступа компонентов и/или пользователей,
авторизация и верификация пользователей.
• масштабируемость:– это способность системы увеличивать свою
производительность при повышенной нагрузке и добавлении ресурсов. Для
пользователя масштабируемого веб-приложения должен оставаться незаметным
момент (т.е. время отклика системы на запросы пользователя не должно заметно
изменяться), когда возрастет нагрузка (например, к приложению получают доступ
одновременно еще несколько пользователей), и при изменении конфигурации
приложения (например, если на уровень бизнес-логики будет добавлен
дополнительный компонент обработки данных).
- Компьютерная графика, геометрическое моделирование и решаемые ими задачи.
Компьютерная графика – это наука, один из разделов информатики, изучающая способы формирования и обработки изображений с помощью компьютера. Делится на:
1) Двухмерная графика – этокомпьютерная графика, классифицирующаяся по типу представления графической информации. Подразделяется на векторную, растровую и фрактальную.
· Векторная графика представляет изображение как набор геометрических примитивов. Обычно в качестве них выбираются точки, прямые, окружности, прямоугольники, а также, как общий случай, кривые некоторого порядка. Объектам присваиваются некоторые атрибуты, например, толщина линий, цвет заполнения. Изображение может без потерь масштабироваться, поворачиваться, деформироваться, также имитация трёхмерности в векторной графике проще, чем в растровой.
· Растровая графика представляет изображение как сетку из пикселей или цветных точек. Каждому пикселю сопоставляется значение яркости, цвета, прозрачности — или комбинация этих значений. Без особых потерь растровые изображения можно только лишь уменьшать, хотя некоторые детали изображения тогда исчезнут навсегда, что иначе в векторном представлении.
· Фрактальная графика,в которойв основу построения изображений положен принцип наследования от, так называемых, «родителей» геометрических свойств объектов-наследников. Таким образом, мелкие элементы фрактального объекта повторяют свойства всего объекта. Полученный объект носит название «фрактальной фигуры». Процесс наследования можно продолжать до бесконечности.
2) Трёхмерная графика (3D) оперирует с объектами в трёхмерном пространстве. Обычно результаты представляют собой плоскую картинку. Трёхмерная компьютерная графика широко используется в кино, компьютерных играх. В трёхмерной компьютерной графике все объекты обычно представляются как набор поверхностей или частиц. Минимальную поверхность называют полигоном. В качестве полигона обычно выбирают треугольники.
Геометрическое моделирование имеет своей целью описание элементов и явлений, обладающих геометрическими свойствами. Делится на:
1) Плоское геометрическое моделирование(2D), в котором при построении используются такие геометрические примитивы, как отрезки, дуги, кривые.
2) Объёмное геометрическое моделирование(3D), основывающееся на создании поверхностей, образующих тело, так называемое поверхностное моделирование
РЕШАЕМЫЕ ЗАДАЧИ:
Можно выделить три класса задач, решаемых средствами компьютерной графики:
1. Перевод описания в изображение.
2. Перевод изображения в описание (задача распознавания образов).
3. Редактирование изображения.
Геометрическое моделирование решает следующие задачи:
1. построение геометрических элементов,
2. копирование фрагментов,
3. редактирование графической информации
4. улучшение качества исполняемых документов.
- Информационная модель пиксельного изображения. Достоинства и недостатки. Растр пиксельного изображения. Масштабирование и повторное растрирование пиксельных изображений. Артефакты повторного растрирования.
В компьютерной графике используются три основных класса информационных моделей: пиксельная (или точечная) модель изображения, векторная (или объектная) модель изображения и сетчатая модель трехмерного объекта. Поскольку их устройство и особенности оказывают огромное влияние на все аспекты работы с графическими программами, эти классы необходимо рассмотреть подробнее.
Пиксельная модель
Пиксельная модель ориентируется на описание с помощью структур данных собственно изображения, а не отдельных объектов реального или виртуального мира, рассматривание которых формирует в оптической системе глаз зрителя это изображение. В пиксельной модели изображение рассматривается как растр — регулярная сетка, покрывающая собой всю плоскость изображения. Регулярность растра означает, что все его ячейки имеют одинаковые форму и размеры. При том, что в принципе ячейки растра могут быть треугольными, шестиугольными и даже неправильной формы (важно только, чтобы они без зазоров покрывали собой плоскость), на практике работают только с прямоугольными растрами, причем в большинстве случаев форма ячейки представляет собой частный случай прямоугольника — квадрат.
Часть изображения, размещенная * пределах одной ячейки растра, называется пикселом. Этот термин, представляющий собой транслитерацию аббревиатуры, составленной из начальных слогов двух английских слов — picture (картина) и element (элемент), можно считать вполне устоявшимся. Несмотря на это в литературе довольно часто встречается бытовавший ранее термин точка (который и дал альтернативное название модели).
В простейшем варианте точечная модель представляет собой последовательность описаний всех пикселов изображения — дескрипторов. Обычно дескрипторы располагаются в памяти компьютера, имеющей линейную структуру, в порядке следования пикселов по строкам (как в телевизионном изображении) или столбцам растра. В зависимости от степени детальности описания пиксела в памяти компьютера каждому дескриптору отводится то или иное место. В свою очередь, различные пикселы изображения отличаются друг от друга только цветом, содержание дескриптора и его размеры целиком определяются способом представления информации о цвете, принятом в используемой информационной модели (о цветовых моделях см. в главе 4).
С точечными изображениями приходится иметь дело довольно часто, причем не только специалистам по компьютерной графике. Это объясняется одной особенностью физиологии человеческого зрения — смыканием. Она состоит в том, что при рассматривании двух довольно сильно удаленных мелких объектов они сливаются в один. Границы проявления смыкания зависят от остроты зрения и лежат в пределах от 0,7 до 1,5 секунды углового расстояния между предметами.
Благодаря смыканию вполне слитными изображениями воспринимаются мозаики, картины импрессионистов, фотографии в газетах и телевизионные кадры. Но с более близкого расстояния или через увеличительное стекло видно, что все это — точечные изображения, составленные из пикселов. Смыкание помогает с помощью черного тонера, заправленного в картридж лазерного принтера, получать большое число оттенков серого цвета .