Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Технологии создания серверных частей Web-приложений

Читайте также:
  1. III. Структура технологии саморазвития личности
  2. А2 Порядок подготовки и проведения производственной аттестации технологии сварки
  3. А6 Область распространения результатов производственной аттестации технологии сварки
  4. Абсолютная духовность Богочеловека и технологии построения религий.
  5. Алгоритм метода сортировки, использующий слияние двух упорядоченных частей массива.
  6. Биологические системы, использующиеся в биотехнологии
  7. Блок создания условий использования персонала (охрана труда, организация

Common Gateway Interface (CGI) — это стандартный интерфейс, позволяющий выполнять серверные приложения, вызываемые через URL. Входной информацией для таких приложений служит содержимое HTTP-заголовка либо тело запроса, в зависимости от применяемого протокола. CGI-приложения генерируют HTML-код, который возвращается браузеру. Отметим, что в свое время широко использовался и термин «CGI-скрипт», происхождение которого объясняется тем, что подобные приложения писались на скриптовых языках типа Perl, выполняющихся, тем не менее, не в браузере, а на сервере. CGI-приложения можно создавать с помощью практически любого средства разработки, генерирующего консольные приложения для операционной системы, под управлением которой функционирует Web-сервер. Основная проблема всех CGI-приложений заключается в том, что при каждом клиентском запросе сервер загружает это приложение в отдельное адресное пространство, а затем инициирует его выполнение и выгрузку. Эта особенность ограничивает производительность приложений и возможность одновременной обработки большого количества клиентских запросов.

Очередной шаг в развитии технологий создания Интернет-приложений — появление средств, позволяющих отделить задачи Web-дизайна от задач, связанных с реализацией функциональности приложений. Первой из таких технологий стала Active Server Pages (ASP), построенная на основе ISAPI-фильтра. Основная идея ASP заключается в создании Web-страниц с внедренными в них фрагментами кода на скриптовых языках. Однако, в отличие от рассмотренных выше средств применения скриптовых языков для расширения функциональности браузеров, указанные фрагменты кода интерпретируются не браузером, а сервером (точнее, предназначенной для этого ISAPI-библиотекой), и результат выполнения этих фрагментов кода замещает сам фрагмент кода в той версии страницы, которая передается в пользовательский браузер. Вскоре после ASP появились и другие технологии, реализующие идею размещения внутри Web-страницы кода, выполняемого Web-сервером. Наиболее известной из них сегодня является технология JSP (Java Server Pages), основная идея которой — однократная компиляция Java-кода (сервлета) при первом обращении к нему, выполнение методов этого сервлета и помещение результатов выполнения этих методов в набор данных, отправляемых в браузер. Еще одной популярной технологией подобного типа является PHP (Personal Home Pages), которая использует CGI-приложения, интерпретирующие внедренный в HTML-страницу код на скриптовом языке.

AJAX — это подход к построению интерактивных пользовательских интерфейсов веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером. В результате при обновлении данных веб-страница не перезагружается полностью, и веб-приложения становятся более быстрыми и удобными.

AJAX — это не самостоятельная технология, а концепция использования нескольких смежных технологий. AJAX базируется на двух основных принципах:

использование технологии динамического обращения к серверу «на лету», без перезагрузки всей страницы полностью, например:

с использованием XMLHttpRequest (основной объект);

через динамическое создание дочерних фреймов;

через динамическое создание тега <script>.

использование DHTML для динамического изменения содержания страницы;

В качестве формата передачи данных обычно используются JSON или XML.

Преимущества

Экономия трафика

Использование AJAX позволяет значительно сократить трафик при работе с веб-приложением благодаря тому, что часто вместо загрузки всей страницы достаточно загрузить только изменившуюся часть, иногда довольно небольшую.

Уменьшение нагрузки на сервер

AJAX позволяет несколько снизить нагрузку на сервер. К примеру, на странице работы с почтой, когда вы отмечаете прочитанные письма, серверу достаточно внести изменения в базу данных и отправить клиентскому скрипту сообщение об успешном выполнении операции без необходимости повторно создавать страницу и передавать её клиенту.

Ускорение реакции интерфейса

Поскольку нужно загрузить только изменившуюся часть, то пользователь видит результат своих действий быстрее.

Недостатки

Интеграция со стандартными инструментами браузера

Динамически создаваемые страницы не регистрируются браузером в истории посещения страниц, поэтому не работает кнопка «Назад», предоставляющая пользователям возможность вернуться к просмотренным ранее страницам, но существуют скрипты, которые могут решить эту проблему.

Другой недостаток изменения содержимого страницы при постоянном URL заключается в невозможности сохранения закладки на желаемый материал. Частично решить эти проблемы можно с помощью динамического изменения идентификатора фрагмента (части URL после #), что позволяют многие браузеры.

Динамически загружаемое содержимое недоступно поисковикам (если не проверять запрос, обычный он или XHttpRequest)

Поисковые машины не могут выполнять JavaScript, поэтому разработчики должны позаботиться об альтернативных способах доступа к содержимому сайта.

Старые методы учёта статистики сайтов становятся неактуальными

Многие сервисы статистики ведут учёт просмотров новых страниц сайта. Для сайтов, страницы которых широко используют AJAX, такая статистика теряет актуальность.

 

№21 Информационные системы (ИС). Уровни и компоненты ИС. Жизненный цикл ИС и его основные модели. Информационные ресурсы ИС.

В узком смысле, следуя традиции, под информационными понимают системы, предназначенные для хранения информации в специальным образом организованной форме и обеспечивающие ее ввод и различные манипуляции с ней, включая поиск по некоторым признакам, подготовку сводок (отчетов) и т.д.

В современной информатике рассматриваются такие информационные системы, которые используют для хранения и обработки информации компьютерную технику. Именно компьютеризация придала информационным системам их современный облик, на несколько порядков повысила эффективность и расширила сферу их применения.

К информационным системам относят, в частности,

• информационно-справочные и информационно-поисковые системы;

• системы, обеспечивающие автоматизациюдокументооборота и учета, в томчисле бухгалтерского;

• автоматизированныесистемы управления;

• экспертные системы;

• системы автоматизации научных исследований и автоматизированного проектирования, геоинформационные системы.

Общей функцией всех информационных систем является сбор, накопление и хранение информации, ее обработка (в частности, поиск) и выдача в той или иной форме. Важнейшими подсистемами информационных систем являются банки информации. Ведущее направление развития информационных систем - совершенствование их интеллектуальных функций, облегчающих работу с ними, а также их сопровождение и развитие. Такими интеллектуальными функциями являются

• интерфейс с информационной системой на естественном языке (речевой ввод и вывод информации, формирование запросов на естественном языке);

• поддержка принятия решений, решения задач на основе информации, имеющейся в информационной системе.

Банк данных - наиболее характерный пример информационной системы. В банке данных хранится достаточно универсальная, необходимая для решения разнообразных прикладных задач, информация об определенной предметной области в специальном представлении, чаще всего предполагающем хранение и обработку с помощью компьютеров.

Итак, основа банка - база данных.

По назначению можно выделить следующие классы банков информации:

информационно-справочные системы (общего назначения и специализированные);

• банки данных в автоматизированных системах управления (предприятий и организаций, технологическими процессами и т.д.);

• банки данных в системах автоматизации научных исследований.

По архитектуре вычислительной среды различают централизованные и распределенные банки информации.

Два свойства, которые являются общими для всех информационных систем:

Любая ИС предназначена для сбора, хранения и обработки информации. Поэтому в основе любой ИС лежит среда хранения и доступа к данным. Среда — совокупность ресурсов, предоставляемых в распоряжение пользователя системы. Среда должна обеспечить уровень надежности хранения и эффективность доступа, соответствующие области применения ИС.

ИС ориентируются на конечного пользователя, например, бухгалтера. Такие пользователи могут быть очень далеки от мира компьютеров. Для них персональный компьютер — всего лишь орудие собственной профессиональной деятельности. Поэтому ИС обязана обладать простым, удобным, легко усваиваемым интерфейсом, который должен предоставить конечному пользователю все необходимые для его работы функции, но в то же время не дать ему возможность выполнять какие-то лишние действия. Обычно этот интерфейс является графическим: с меню, кнопками, подсказками и т. п.

Для функционирования ИС необходимы следующие основные компоненты:

база данных (БД);

схема базы данных;

система управления базой данных (СУБД);

приложения;

пользователи;

технические средства.

Жизненный цикл информационной системы — это процесс ее построения и развития.

Жизненный цикл информационной системы — период времени, который начинается с момента принятия решения о необходимости создания информационной системы и заканчивается в момент ее полного изъятия из эксплуатации

Модели жизненного цикла ИС:

1.Каскадная модель: Она предусматривает последовательное выполнение всех этапов проекта в строго фиксированном порядке. Переход на следующий этап означает полное завершение работ на предыдущем этапе. Требования, определенные на стадии формирования требований, строго документируются в виде технического задания и фиксируются на все время разработки проекта. Каждая стадия завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков.

Этапы проекта в соответствии с каскадной моделью:

Формирование требований

Проектирование

Реализация

Тестирование

Ввод в действие

Эксплуатация и сопровождение

Спиральная модель (англ. spiral model) была разработана в середине 1980-х годов Барри Боэмом. Она основана на классическом цикле Деминга PDCA (plan-do-check-act). При использовании этой модели ИС создается в несколько итераций (витков спирали) методом прототипирования.

Прототип — действующий компонент ИС, реализующий отдельные функции и внешние интерфейсы. Каждая итерация соответствует созданию фрагмента или версии ИС, на ней уточняются цели и характеристики проекта, оценивается качество полученных результатов и планируются работы следующей итерации.

На каждой итерации оцениваются:

Риск превышения сроков и стоимости проекта

Необходимость выполнения еще одной итерации

Степень полноты и точности понимания требований к системе

Целесообразность прекращения проекта.

Один из примеров реализации спиральной модели — RAD (англ. Rapid Application Development, метод быстрой разработки приложений).

Итерационная модель: Естественное развитие каскадной и спиральной моделей привело к их сближению и появлению современного итерационного подхода, который представляет рациональное сочетание этих моделей. Различные варианты итерационного подхода реализованы в большинстве современных технологий и методов: RUP, MSF, XP.

 

 

№ 22 Архитектура «клиент-сервер». Распределенные компьютерные среды. Службы (сервисы) в информационных системах. Двухзвенная и многозвенная архитектуры приложений. Примеры.

Архитектура клиент-сервер - архитектура распределенной вычислительной системы, в которой приложение делится на клиентский и серверный процессы.

В зависимости от того, как распределены логические компоненты приложения между клиентами и серверами, различают четыре модели архитектуры клиент-сервер:

- модель "файл-сервер";

- модель "сервер базы данных";

- модель "сервер транзакций";

- модель "сервер приложений".

Компанией Gartner Group, специализирующейся в области исследования информационных технологий, предложена следующая классификация двухзвенных моделей взаимодействия клиент-сервер (двухзвенными эти модели называются потому, что три компонента приложения различным образом распределяются между двумя узлами):

 

 

Исторически первой появилась модель распределенного представления данных, которая реализовывалась на универсальной ЭВМ с подключенными к ней неинтеллектуальными терминалами. Управление данными и взаимодействие с пользователем при этом объединялись в одной программе, на терминал передавалась только "картинка", сформированная на центральном компьютере.

Затем, с появлением персональных компьютеров (ПК) и локальных сетей, были реализованы модели доступа к удаленной базе данных. Некоторое время базовой для сетей ПК была архитектура файлового сервера. При этом один из компьютеров является файловым сервером, на клиентах выполняются приложения, в которых совмещены компонент представления и прикладной компонент (СУБД и прикладная программма). Протокол обмена при этом представляет набор низкоуровненых вызовов операций файловой системы. Такая архитектура, реализуемая, как правило, с помощью персональных СУБД (см. параграф 4.8), имеет очевидные недостатки - высокий сетевой трафик и отсутствие унифицированного доступа к ресурсам.

С появлением первых специализированных серверов баз данных появилась возможность другой реализации модели доступа к удаленной базе данных. В этом случае ядро СУБД функционирует на сервере, протокол обмена обеспечивается с помощью языка SQL. Такой подход по сравнению с файловым сервером ведет к уменьшению загрузки сети и унификации интерфейса "клиент-сервер". Однако, сетевой трафик остается достаточно высоким, кроме того, по прежнему невозможно удовлетворительное администрирование приложений, поскольку в одной программе совмещаются различные функции.

Позже была разработана концепция активного сервера, который использовал механизм хранимых процедур. Это позволило часть прикладного компонента перенести на сервер (модель распределенного приложения). Процедуры хранятся в словаре базы данных, разделяются между несколькими клиентами и выполняются на том же компьютере, что и SQL-сервер. Преимущества такого подхода: возможно централизованное администрирование прикладных функций, значительно снижается сетевой трафик (т.к. передаются не SQL-запросы, а вызовы хранимых процедур). Недостаток - ограниченность средств разработки хранимых процедур по сравнению с языками общего назначения (C и Pascal).

На практике сейчас обычно используются смешанный подход:

простейшие прикладные функции выполняются хранимыми процедурами на сервере

более сложные реализуются на клиенте непосредственно в прикладной программе

Сейчас ряд поставщиков коммерческих СУБД объявило о планах реализации механизмов выполнения хранимых процедур с использованием языка Java. Это соответствует концепции "тонкого клиента", функцией которого остается только отображение данных (модель удаленного представления данных).

В последнее время также наблюдается тенденция ко все большему использованию модели распределенного приложения. Характерной чертой таких приложений является логическое разделение приложения на две и более частей, каждая из которых может выполняться на отдельном компьютере. Выделенные части приложения взаимодействуют друг с другом, обмениваясь сообщениями в заранее согласованном формате. В этом случае двухзвенная архитектура клиент-сервер становится трехзвенной, а к некоторых случаях, она может включать и больше звеньев.

 

Типичный пример - сервер печати. В небольшой локальной сети может быть только один такой сервер, обслуживающий несколько машин. Одна машина (или сетевое программное обеспечение на базе TCP/IP, встроенное в принтер) выступает в роли сервера, который принимает запросы на печать от клиентов на других машинах и ставит их в очередь к принтеру.

 

№ 23 Основные проблемы безопасности информационных систем. Основные уязвимости компонентов информационной системы и основные методы их защиты. Системы разграничения доступа.

Проблемы обеспечения технологической безопасности информационных систем

Широкое внедрение информационных технологий в жизнь современного общества привело к появлению ряда общих проблем информационной безопасности:

необходимо гарантировать непрерывность и корректность функционирования важнейших информационных систем (ИС), обеспечивающих безопасность людей и экологической обстановки;

необходимо обеспечить защиту имущественных прав граждан, предприятий и государства в соответствии с требованиями гражданского, административного и хозяйственного права (включая защиту секретов и интеллектуальной собственности);

необходимо защитить гражданские права и свободы, гарантированные действующим законодательством (включая право на доступ к информации).

Потенциальная уязвимость ИС по отношению к случайным и предумышленным отрицательным воздействиям выдвинула проблемы информационной безопасности в разряд важнейших, стратегических, определяющих принципиальную возможность и эффективность применения ряда ИС в гражданских и военных отраслях.

Требования по обеспечению безопасности в различных ИС могут существенно отличаться, однако они всегда направлены на достижение трех основных свойств:

целостность – информация, на основе которой принимаются решения, должна быть достоверной и точной, защищенной от возможных непреднамеренных и злоумышленных искажений;

доступность (готовность) – информация и соответствующие автоматизированные службы должны быть доступны, готовы к работе всегда, когда в них возникает необходимость;

конфиденциальность – засекреченная информация должна быть доступна только тому, кому она предназначена.

Для решения проблем информационной безопасности необходимо сочетание законодательных, организационных, технологических и стандартизационных мероприятий.

Так сложилось, что основное внимание в теории и практике обеспечения безопасности применения информационных технологий и систем сосредоточено на защите от злоумышленных разрушений, искажений и хищений программных средств и информации баз данных. Для этого разработаны и развиваются проблемно-ориентированные методы и средства защиты:

от несанкционированного доступа;

от различных типов вирусов;

от утечки информации по каналам электромагнитного излучения

и т. д. При этом подразумевается наличие лиц, заинтересованных в доступе к программам и данным с целью их несанкционированного использования, хищения, искажения или уничтожения.


Дата добавления: 2015-12-01; просмотров: 78 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.017 сек.)