- •Тема 3. Налаштування поверхні атаки. Доступу до сервера і мережевих протоколів sql server 2005 43
- •Тема 4. Доступ до даних конфігурації sql server 59
- •Тема 5. Управление корпоративными серверами 82
- •Тема 6. Управління активністю сервера 92
- •Тема 7. Налаштування sql server за допомогою утиліти sql server management studio 96
- •1. Вступ. Загальні поняття дисципліни “Розробка клієнт-серверних застосувань”.
- •Самостійна робота
- •Зміст лекції
- •Вступ. Загальні поняття дисципліни “Розробка клієнт-серверних застосувань”.
- •Тема 8. Установка параметрів паралельної обробки sql server 105
- •Тема 9. Клієнт-сервер та мова sql. Елементи мови sql на прикладі transact-sql. Безпека в sql server 2005 115
- •Лекція № 1
- •Тема 1. Введення в asp.Net. Сім рівнів asp.Net. Розвиток asp.Net. Компоненти asp.Net. Основні елемеенти управління asp.Net План лекції
- •Перший факт: asp.Net інтегрується з .Net Framework. Другий факт: код asp.Net компілюється, а не інтерпретується.
- •1.3. Третій факт: в asp.Net підтримується безліч мов програмування. Четвертий факт: asp.Net обслуговується середовищем clr
- •1.4. П'ятый факт: asp. Net є об'єктно-орієнтованою технологією. Шостий факт: asp.Net підтримує усі браузери. Сьомий факт: asp.Net дозволяє легко виконувати розгортання і конфігурацію.
- •1.5. Asp.Net 1.0 і 1.1. Asp.Net 2.0. Asp.Net3.5. Asp.Net 4. Компонент asp.Net mvc.
- •1.6. Компонент asp.Net Dynamic Data. Технологія Sllverlight.
- •1.7. Дослідження і розробка методів збору і обробки інформації в глобальній мережі.
- •1. Файл-cерверні іс (іс з архітектурою «файл-сервер»);
- •2. Клієнт-серверні іс (іс з архітектурою «клієнт-сервер»).
- •Лекція № 2
- •Самостійна робота
- •Зміст лекції
- •2.1. Поняття про сервер та клієнтів. Концепція «клієнт-сервер» Перший рівень. Другий та третій рівень. Багаторівнева архітектура.
- •2.2. Відкриті системи. Клієнти і сервери локальних мереж. Принципи взаємодії між клієнтськими і серверними частинами.
- •2.3. Переваги протоколів видаленого виклику процедур на архітектурі "клієнт-сервер".
- •2.4. Типовий розподіл функцій між клієнтами і серверами.
- •2.5. Розвиток клієнт-серверних систем. Стандарти архітектури клієнт - сервер в управлінні інформації.
- •2.6. Архітектура інформаційної системи. Звернення до бази даних. Сервери баз даних.
- •2.7. Технології побудови розподілених об’єктних систем. Розподілені об’єктні технології в інформаційних системах.
- •2.8. Паралельні обчислювальні системи та паралельні обчислення. Проектування клієнт-серверних економічних інформаційних систем.
- •Лекція № 3 Тема 3. Налаштування поверхні атаки. Доступу до сервера і мережевих протоколів sql server 2005 План лекції
- •Самостійна робота
- •Зміст лекції
- •3.1. Попереднє налаштування. Використання sql Server 2005 Surface Area Configuration. Підключення до видаленої системи sql Server.
- •3.2. Налаштування параметрів служб.Налаштування параметрів з'єднань. Управління доступом до функціональних можливостей компонентів.
- •3.3. Налаштування служб sql Server. Управління станом ітипом запуску служб. Налаштування облікових записів для запуску служб.
- •3.4. Налаштування каталогу дампу, звіту про помилки і звіту про відгуки і пропозиціях користувачів.
- •3.5. Налаштування мережевих протоколів для сервера і клієнта. Налаштування протоколу сервера Shared Memory. Налаштування протоколу сервера Named Pipes.
- •3.6. Налаштування протоколу сервера tcp/ip. Налаштування порядку використання протоколів клієнта.
- •3.7. Налаштування протоколу клієнта Shared Memory. Налаштування протоколу клієнта tcp/ip.
- •Тема 4. Доступ до даних конфігурації sql server
- •4.1. Робота з системним каталогом і представленнями каталогу. Робота з системними процедурами,що зберігаються.
- •4.2. Способи управління параметрами конфігурації. Установка параметрів конфігурації.
- •4.3. Робота з параметрами пакету інструкцій/з'єднання.
- •4.4. Робота з параметрами сервера.
- •4.5. Робота з параметрами бд. Управління рівнем сумісності бд.
- •4.6. Налаштування sql Server за допомогою процедур. Використання sql Server Management Studio для виконання запитів.
- •4.7. Виконання запитів для зміни параметрів конфігурації.
- •4.8. Просмотр и изменение параметров сервера с помощью хранимой процедуры sp_configure
- •4.9. Изменение параметров бд с помощью хранимой процедуры sp_dboption
- •Лекція № 5. Тема 5. Управление корпоративными серверами План лекції
- •Самостійна робота
- •Зміст лекції
- •5.1. Дозвіл і заборона автоматичного запуску sql Server. Установка параметрів ядра бд.
- •5.2. Управління службами з командного рядка. Управління виконуваним файлом sql Server з командного рядка.
- •5.3. Використання sql Server Management Studio. Початок роботи з sql Server Management Studio.
- •5.5. Підключення до певного екземпляра сервера. Підключення до певної бд.
- •5.6. Управління групами sql Server. Введення в групи sql Server.
- •5.7. Створення гурту серверів. Видалення групи серверів.
- •5.8. Редагування властивостей групи серверів і її переміщення. Додавання серверів в групу. Управління серверами.
- •5.9. Реєстрація підключеного сервера. Реєстрація нового сервера в панелі Registered Servers.
- •Тема 6. Управління активністю сервера
- •6.1. Перегляд інформації про процеси. Відстежування блокувань по ідентифікатору процесу і імені об'єкту. .
- •6.2. Виявлення і усунення тупикових блокувань і блокуючих з'єднань.
- •6.3. Відстежування виконання команд в sql Server.
- •6.4. Припинення процесів сервера
- •Тема 7. Налаштування sql server за допомогою утиліти sql server management studio
- •7.1. Управління конфігурацією за допомогою sql Server Management Studio.
- •7.2. Перегляд загальної інформації про операційну систему і sql Server.
- •7.3. Налаштування аутентифікації і аудиту доступу. Вибір режиму аутентифікації.
- •7.4. Установка параметрів аудиту доступу. Налаштування використання пам'яті.
- •7.5. Використання динамічного управління пам'яттю. Виділення фіксованого об'єму оперативній пам'яті.
- •7.6. Включення підтримки розширеної пам'яті за допомогою технології awe.
- •7.7. Оптимізація використання пам'яті при індексуванні. Виділення пам'яті для запитів.
- •7.8. Налаштування використання процесорів і паралельної обробки. Оптимізація використання процесорів.
- •Лекція № 8 Тема 8. Установка параметрів паралельної обробки sql server План лекції
- •Самостійна робота
- •Зміст лекції
- •8.1. Налаштування потоків, пріоритетів і ниток. Налаштування призначених для користувача і видалених серверних з'єднань.
- •8.2. Установка максимальної кількості призначених для користувача з'єднань. Установка параметрів з'єднання за умовчанням.
- •8.3. Налаштування видалених серверних з'єднань. Управління параметрами конфігурації сервера
- •8.4. Установка мови за умовчанням для sql Server
- •8.5. Управління параметрами конфігурації бд. Установка чинника заповнення індексів
- •8.6. Налаштування часу очікування при резервному копіюванні і відновленні. Налаштування періоду збереження резервних копій.
- •8.7. Скидання на диск утримуваного кеша за допомогою контрольних точок. Додавання і видалення інформації в службу каталогів Active Directory.
- •8.8. Усунення проблем конфігурації. Відновлення після неправильної установки параметрів конфігурації.
- •Тема 9. Клієнт-сервер та мова sql. Елементи мови sql на прикладі transact-sql. Безпека в sql server 2005
- •9.1. Середовища програмування мовою sql. Ідентифікатори мови transact-sql
- •9.2. Типи даних мови transact-sql
- •9.3. Функції мовиTransact-sql
- •9.4. Доступ до метаданих. Огляд безпеки sql Server 2005.
1.5. Asp.Net 1.0 і 1.1. Asp.Net 2.0. Asp.Net3.5. Asp.Net 4. Компонент asp.Net mvc.
ASP.NET 1.0 и 1.1
Когда версия ASP.NET 1.0 впервые вышла на арену, она главным образом ориентировалась на модель проектирования веб-страниц посредством так называемых веб-форм (Web Forms). При запросе браузером конкретной страницы ASP.NET сначала создает объект для самой страницы, а затем для всех остальных элементов управления ASP.NET, которые присутствуют внутри нее. После этого страница и ее элементы управления проходят через ряд событий жизненного цикла, после чего — по завершении обработки страницы — они визуализируют окончательный вариант HTML и удаляются из памяти. За все, что происходит между этим, по большей части отвечает программирование ASP.NET.
ASP.NET 2.0
Благодаря удачному проектному решению ASP.NET 1.0 и 1.1, лишь несколько из появившихся в ASP.NET 2.0 изменений являлись исправлениями для существовавших функциональных возможностей. В целом в ASP.NET 2.0 была сохранена та же самая базовая абстракция (модель веб-форм) и просто добавлены новые возможности более высокого уровня, наиболее заметные из которых перечислены ниже.
Мастер-страницы. Мастер-страницы представляют собой многократно используемые шаблоны страниц. Например, их можно применять для обеспечения внутри каждой страницы в веб-приложении одинакового верхнего колонтитула, нижнего колонтитула и элементов управления навигацией.
Темы. Темы позволяют определять стандартный набор характеристик внешнего вида для веб-элементов управления. После определения их можно применять на веб-сайте, придавая ему единообразный внешний вид.
Навигация. Платформа навигации ASP.NET включает механизм для определения карт сайтов, которые описывают логическую организацию страниц на веб-сайте. Кроме того, имеется также набор навигационных элементов управления (наподобие деревьев и ссылок в стиле “хлебных крошек”), которые используют эту информацию, чтобы предоставить пользователем возможность перемещаться по сайту.
Безопасность и членство. В ASP.NET 2.0 было добавлено несколько средств, связанных с безопасностью, в том числе автоматическая поддержка для хранения учетных данных пользователей, система авторизации на основе ролей и готовые элементы управления для решения типичных задач безопасности, таких как вход в систему, регистрация и восстановление забытого пароля.
Элементы управления источниками данных. Модель элементов управления источниками данных позволяет определять то, как страница взаимодействует с источником данных, декларативным образом в разметке, а не написанием кода доступа к данным вручную. Лучше всего то, что это средство не вынуждает отказываться от удобного проектного решения на основе компонент: привязка к специальному компоненту данных осуществляется так же легко, как напрямую к базе данных.
Веб-части. Веб-приложением одного из наиболее распространенных типов является портал, предусматривающий централизованное размещение различной информации с использованием отдельных панелей на единственной веб-странице. Веб-части (Web Parts) предоставляют готовую платформу для создания портала с плавающей компоновкой, конфигурируемыми представлениями и даже поддержкой перетаскивания.
Профили. Профили позволяют сохранять касающуюся пользователей информацию в базе данных без написания специального кода. Вместо этого ASP.NET берет на себя выполнение всей трудоемкой работы по извлечению данных профилей, когда в этом возникает необходимость, и по их сохранению в случае внесения ка- ких-то изменений.
Модель поставщиков
Многие из появившихся в ASP.NET 2.0 средств работают через абстракцию, которая называется моделью поставщиков. Прелесть этой модели состоит в том, что она позволяет использовать простые поставщики для создания кода страниц. Если требования изменяются, модифицировать страницы не понадобится — достаточно будет просто создать специальный поставщик и обновить конфигурацию веб-сайта. Например, самые серьезно настроенные разработчики быстро поймут, что стандартная реализация профилей представляет собой слишком универсальное решение, которого может не удовлетворять конкретным имеющимся потребностям. Например, если необходимо использовать какие-то существующие таблицы базы данных, сохранять зашифрованную информацию или настраивать объем кэшируемых данных для улучшения производительности, эта реализация точно не подойдет. Однако средство профилей можно настроить так, чтобы оно отвечало конкретным потребностям за счет создания собственного поставщика профилей. Это позволит пользоваться удобными средствами профилей, но управлять низкоуровневыми деталями. Недостаток такого подхода в том, что при этом нужно самому заботиться о решении кое- каких утомительных задач, но зато появляется возможность пользоваться гибкостью и согласованностью модели профилей.
О применении существующих поставщиков и создании собственных будет рассказываться во многих местах этой книги.
ASP.NET 3.5
Разработчикам, впервые столкнувшимся с версией ASP.NET 3.5, наверняка интересно узнать, что случилось с версией ASP.NET 3.0? Как ни странно, но таковая не существует. В Microsoft под названием .NET Framework 3.0 выпустили набор следующих новых технологий: WPF (Windows Presentation Foundation), представляющая собой новую привлекательную технологию по построению пользовательских интерфейсов для создания многофункциональных клиентов; WCF (Windows Communication Foundation), которая является технологией для создания ориентированных на сообщения служб; и WF (Windows Workflow Foundation) — технология, позволяющая моделировать сложные бизнес-процессы в виде последовательности действий (дополнительно с применением визуального конструктора). Однако .NET Framework 3.0 не включает новой версии CLR или ASP.NET. Следующая версия ASP.NET появилась в .NET Framework 3.5.
По сравнению с ASP.NET 2.0, версия ASP.NET 3.5 представляет собой более плавное развитие. Новые функциональные возможности в этой версии относятся в основном к двум таким технологиями, как LINQ и Ajax, которые описаны в следующих разделах.
Технология LINQ
Технология LINQ (Language Integrated Query — язык интегрированных запросов) представляет собой набор расширений для языков C# и Visual Basic. Она позволяет писать на C# или Visual Basic код, способный манипулировать находящимися в памяти данными во многом в той же манере, что и запросы к базе данных.
Формально в LINQ поддерживается около 40 операций запросов, таких как SELECT, FROM, IN, WHERE и ORDER BY (для С#). Эти операции позволяют формировать код запроса. Данные, в отношении которых может выполняться такой запрос, могут быть разного типа, и для каждого из них требуется применять отдельную разновидность LINQ.
Самой главной разновидностью LINQ является LINQ to Objects, которая позволяет брать коллекцию объектов и выполнять запрос, извлекающий определенную информацию из некоторых этих объектов. Использование LINQ to Objects не ограничивается только ASP.NET. Другими словами, LINQ to Objects можно применять внутри веб-страницы точно так же, как в .NET-приложении любого другого типа.
Помимо LINQ to Objects имеется разновидность под названием LINQ to DataSet которая предоставляет похожие возможности для запроса находящегося в памяти объекта DataSet, и разновидность LINQ to XML, позволяющая работать с XML-данными. Но одной из наиболее интересных разновидностей LINQ является LINQ to Entities, которая дает возможность применять синтаксис LINQ для выполнения запросов к реляционной базе данных. В сущности LINQ to Entities создает на основе кода соответствующим образом параметризованный SQL-запрос и выполняет его при попытке доступа к результатам запроса. Писать какой-либо код для обеспечения доступа к данным либо использовать традиционные объекты ADO.NET не требуется.
LINQ to Objects, LINQ to DataSet и LINQ to XML являются средствами, которые дополняют технологию ASP.NET, но никак к ней не привязаны. Однако в состав ASP.NET входит расширенная поддержка для LINQ to Entities, включая специальный элемент управления источником данных, который позволяет выполнять запрос посредством LINQ to SQL и привязывать результаты к веб-элементу без написания дополнительного кода. LINQ to Objects, LINQ to DataSet и LINQ to Entities.
На заметку! Если вы программировали приложения с использованием ASP.NET 3.5. то, возможно, применяли для доступа к реляционным базам данных другую разновидность LINQ — LINQ to SQL. Хотя LINQ to SQL все еще и поддерживается (чтобы не пришлось переписывать существующие приложения), она уже была по большей части заменена LINQ to Entities. Разновидность LINQ to Entities является более гибкой и поддерживает больше типов поставщиков данных, в то время как LINQ to SQL позволяет работать только с SQL Server.
Технология ASP.NET AJAX
Из-за того, что традиционный код ASP.NET выполняется на веб-сервере, всякий раз, когда на странице происходит какое-то действие, браузеру приходится отправлять серверу данные, получать новую копию страницы и обновлять отображаемый экран. Этот процесс, хотя и происходит быстро, но сопровождается заметным мерцанием, а также занимает достаточное время, чтобы считаться не практичным для реагирования на часто возникающие события, связанные с перемещением курсора мыши или нажатием клавиш на клавиатуре.
Разработчикам веб-приложений удается обходить подобные ограничения за счет применения языка JavaScript, который является пока что единственным широко поддерживаемым языком для написания клиентских сценариев. В ASP.NET во многих наиболее мощных элементах управления присутствует приличный объем кода JavaScript. Например, элемент управления Menu немедленно реагирует на наведение пользователем курсора мыши на различные подзаголовки. При его использовании страница не производит обратную отправку серверу до тех пор, пока пользователь не щелкнет на каком-то элементе.
Разработчики используют серверные элементы управления вроде Menu внутри традиционных страниц ASP.NET и получают преимущества, которые предоставляют встроенные в элементы клиентские сценарии. Но даже в случае применения таких более совершенных элементов управления обратная отправка данных серверу все равно неизбежна. Например, если необходимо обновить информацию в какой-то части страницы, единственно возможным вариантом в случае обычной страницы ASP.NET является обратная отправка этой страницы серверу и получение совершенно нового HTML- документа. Такое решение работает, но далеко от идеала.
Поэтому разработчики начали пытаться решить эти проблемы за счет использования дополнительного клиентского кода и его применения более совершенными способами. Одним из наиболее обсуждаемых на сегодняшний день примеров является технология программирования клиентской стороны под названием Ajax (Asynchronous JavaScript and XML — асинхронный JavaScript и XML). Ajax позволяет странице связываться с сервером и обновлять содержимое без полной обратной отправки. Обычно в странице Ajax используется код клиентского сценария для выполнения асинхронного запроса “за кулисами”. Сервер получает этот запрос, выполняет некоторый код и затем возвращает необходимые странице данные (зачастую в виде блока XML-разметки). После этого клиентский код получает новые данные и использует их для выполнения еще какого-то действия, например, для обновления части страницы. Хотя концептуально Ajax является довольно простой технологией, она позволяет создавать страницы, которые функционирует очень похоже на непрерывно выполняющиеся приложения.
На рис. 1.3 показано, чем страницы Ajax отличаются от обычных веб-страниц.
Рис. 1.3. Обычные серверные страницы и страницы Ajax
Ajax и другие подобные технологии для написания клиентских сценариев новинкой не являются, но в последнее время начали играть в сфере разработки веб-приложе- ний чрезвычайно важную роль. Одна из причин заключается в том, что XML-объект HttpRequest — низкоуровневая деталь, требуемая для поддержки асинхронных клиентских вызовов — теперь присутствует в большинстве современных браузеров, в том числе:
Internet Explorer 5 и последующие версии;
Netscape 7 и последующие версии;
Opera 7.6 и последующие версии;
Safari 1.2 и последующие версии;
Firefox (все версии);
Google Chrome (все версии).
Писать клиентский сценарий так, чтобы он был совместимым со всеми браузерами, и реализовать все необходимые фрагменты (в том числе серверный код для обработки асинхронных запросов), однако, может оказаться сложно.
На заметку! По общепринятому соглашению, слово “Ajax” заглавными буквами не пишется, потому что акронимом не является. Тем не менее, в Microsoft решили использовать в ASP.NET AJAX заглавные буквы. Именно поэтому в книге будут встречаться два варианта написания этого слова: Ajax при обсуждении технологии и философии Ajax в общем и AJAX для ссылки на технологию ASP.NET AJAX, которая является реализацией Ajax от Microsoft.
ASP.NET 4
В самой последней версии ASP.NET предлагаются новые улучшения и усовершенствования. Наиболее значительные из них перечислены ниже.
Согласованная визуализация XHTML. В ASP.NET 3.5 стала возможной визуализация веб-страниц ASP.NET в виде HTML-документов, но тогда ничего не подозревающим разработчикам все равно требовалось позаботиться о нескольких вещах (например, корректировать параметры в конфигурационном файле для получения по-настоящему правильного XHTML). В ASP.NET 4 этих шероховатостей больше нет, и XHTML получается достаточно чистым и без всяких требующих внимания особенностей.
Обновленное обнаружение браузера. В ASP.NET 4 поставляются обновленные файлы определений браузеров, что позволяет отвечающему за визуализацию механизму на стороне сервера распознавать и предоставлять корректно направленную поддержку для более широкого спектра браузеров. Улучшена поддержка следующих браузеров: Google Chrome, Internet Explorer 8, Firefox 3.5, Opera 10, Safari 4, а также мобильные браузеры для устройств BlackBerry, IPhone, IPad и Windows Mobile.
Сжатие данных состояния сеансов. В NET 2.0 появилось новое пространство имен System.IO.Compression, обеспечивающее поддержку сжатия gzip. Теперь ASP.NET его может использовать для сжатия данных, передаваемых функционирующей за пределами процесса службе состояния сеансов. Применение подобного приема может быть целесообразно только при весьма ограниченных обстоятельствах, но когда это действительно подходит, производительность улучшается почти автоматически.
Состояние представления по запросу. Вместо выборочного отключения состояния представления, отдельно для каждого элемента управления, теперь его можно отключать для всей страницы целиком и затем при необходимости включать. Это дает возможность легко уменьшить размер страницы.
Расширение возможностей для кэширования. Кэширование является одной из главных функций в ASP. NET, но за исключением зависимостей кэша SQL Server, никакими новыми возможностями кэширование со времен .NET 1.0 не пополнялось. В ASP.NET 4 разработчики из Microsoft, наконец, начали предлагать точки для расширения возможностей кэширования, которые позволят им (и другим разработчикам) использовать новые типы механизмов кэширования, в том числе распределенные решения кэширования вроде Windows Server AppFabric и memcached. Хотя еще не все дополнительные фрагменты инфраструктуры доступны.
Элемент управления Chart. В течение лет разработчики приложений ASP.NET должны были осваивать модель рисования GDI+ или приобретать элементы управления у сторонних производителей для создания более-менее прилично выглядящих диаграмм. Теперь в составе ASP.NET предлагается впечатляющий элемент управления Chart, который позволяет создавать целый ряд красиво визуализируемых двух- и трехмерных диаграмм (в том числе линейных, столбчатых, с кривыми, секторных, тороидальных и точечных с элементами вроде планок погрешностей и линий Боллинджера внутри).
Переделанный интерфейс Visual Studio. Хотя интерфейс Visual Studio 2010 в целом сохранил прежний дизайн, он был полностью переделан с использованием .NET и WPF (Windows Presentation Foundation). Кроме того были добавлены новые средства вроде расширенной функции IntelliSense, и нового визуального конструктора, который делает проектирование содержимого Silverlight пустяковым делом.
Маршрутизация. В ASP.NET MVC включена поддержка для осмысленных и дружественных в отношении поисковых механизмов URL-адресов. В ASP.NET 4 можно использовать ту же самую технологию маршрутизации для перенаправления запросов веб-форм.
Более эффективные инструменты для развертывания. В Visual Studio теперь можно создавать так называемые веб-пакеты т.е. сжатые файлы, включающие в себя содержимое приложения и прочие детали, такие как схемы баз данных SQL Server и настроек IIS. Веб-пакеты также работают вместе с новым средством трансформации web. config, позволяющим четко разделить параметры, которые должны применяться к тестовой сборке приложения, и параметры, применяемые к развертываемому экземпляру. Наконец, упрощена загрузка и предварительная компиляция нового развертываемого приложения за счет использования модуля подготовки приложений IIS (Application Warm-Up).
Хотя все перечисленные средства, несомненно, полезны, наиболее впечатляющие новые добавления для разработки приложений ASP. NET поставляются в двух дополнительных компонентах — ASP.NET MVC и ASP.NET Dynamic Data. Оба средства предлагают забыть о части традиционной модели разработки ASP.NET и использовать вместо нее другой подход, обладающий как своими преимуществами, так и своими недостатками. Во многих отношениях они являются началом нового направления в области программирования веб-приложений. Если какой-то из них подходит для удовлетворения имеющихся потребностей, он может значительно сократить объем выполняемых работ.
