- •Тема 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.3. Третій факт: в asp.Net підтримується безліч мов програмування. Четвертий факт: asp.Net обслуговується середовищем clr
Третий факт: в ASP.NET поддерживается множество языков программирования
Хотя при разработке приложения предпочтение, скорее всего, будет отдано какому- то одному языку, выбор языка никак не влияет на то, какие задачи с помощью приложения можно будет решать. Причина в том, что какой бы язык не использовался, код всегда будет компилироваться в IL.
Язык IL является своего рода “трамплином” для любого управляемого приложения. (Под управляемым (managed) приложением понимается любое приложение, которое пишется для .NET и выполняется внутри управляемой среды CLR.) В некотором смысле IL даже можно назвать языком .NET, потому что он является единственный языком, который распознает исполняющая среда CLR.
Чтобы лучше понять, что собой представляет IL, не помешает рассмотреть простой пример. Поэтому давайте возьмем следующий код на языке С#:
using System; namespace HelloWorld {
public class TestClass {
private static void Main(string [ ] args)
{
Console.WriteLine ("Hello World");
}
Этот код показывает, как может выглядеть самое простое из всех возможных в .NET приложений, а именно — простая утилита командной строки, которая отображает в окне консоли предсказуемое сообщение.
Теперь посмотрим на него с другой стороны. Ниже приведен код IL для его метода Main():
.method private hidebysig static void Main(string [ ] args) cil managed {
.entrypoint
// Размер кода 13 (Oxd)
.maxstack 8 IL_0000: nop
IL_0001: ldstr "HelloWorld"
IL_0006: call void [mscorlib]System.Console::WriteLine(string)
IL_000b: nop
IL_000c: ret
} // конец метода TestClass::Main
Просмотреть IL-код для любого скомпилированного приложения .NET довольно легко. Для этого нужно запустить программу дизассемблера IL под названием ildasm.exe, которая устанавливается вместе с Visual Studio и .NET SDK (Software Development Kit — набор инструментальных средств разработки программного обеспечения). Найдите файл ildasm.exe. в каталоге вроде c:\Program Files\Microsoft SDKs\Windows\v7.0A\ bin и запустите его. В окне утилиты выберите в меню File (Файл) пункт Open (Открыть) и укажите необходимый DLL- или EXE-файл, который был создан с помощью .NET.
Совет. Для получения еще больших возможностей дизассемблирования можно воспользоваться другим замечательным (и бесплатным) инструментом — Reflector, который доступен для загрузки по адресу http://www.red-gate.com/products/reflector. Благодаря созданным членами сообщества подключаемым модулям, Reflector позволяет составлять диаграммы, анализировать и декомпилировать IL-код любой сборки.
За счет терпения и небольших логических рассуждений можно разобраться в коде IL и вычислить, что в нем происходит. Тот факт, что IL настолько просто дизассемблируется, чреват проблемами с конфиденциальностью и управлением кодом, но разработчики приложений ASP.NET беспокоиться об этом не должны, потому что весь код ASP.NET сохраняется и выполняется на сервере. Поскольку клиент никогда не получает скомпилированного файла кода, никакой возможности декомпилировать его не будет. Если же подобные проблемы все-таки беспокоят, рассмотрите вариант применения маскировщика для запутывания кода и превращения его в более трудный для понимания. (Маскировщик, например, может переименовать все переменные и назначить им имена вроде f__а__234.) В состав Visual Studio входит ограниченная версия популярного маскировщика Dotfuscator.
Ниже приведен код того же самого консольного приложения на языке Visual Basic:
Imports System
Namespace HelloWorld
Public Class TestClass
Private Shared Sub Main(args() As String)
Console.WriteLine("Hello World")
End Sub End Class End Namespace
Скомпилировав это приложение и просмотрев код IL, можно обнаружить, что он практически идентичен сгенерированному коду IL для версии на языке С#. Хотя разные компиляторы иногда проводить собственную оптимизацию, как правило, результаты одного языка .NET не будут лучше результатов любого другого языка .NET, т.к. все языки используют одну и ту же инфраструктуру. Эта инфраструктура определена в спецификации CLS, которая более подробно описана во врезке “Общая спецификация для языков программирования”.
Важно отметить, что IL был недавно признан стандартом Есmа и ISO. Это может послужить толчком к скорому признанию таковым и других общеязыковых платформ, предназначенных для использования на других платформах. Наилучшим примером является проект Mono, доступный по следующему адресу: http://www.mono-project.com.
Общая спецификация для языков программирования
В среде CLR ожидается, что все объекты будут отвечать определенному ряду правил. Этот ряд правил детально изложен в общей спецификации для языков программирования (Common Language Specification — CLS).
В спецификации CLS описаны многие законы, которые должны обязательно соблюдаться во всех языках, такие как примитивные типы, перегрузка методов и т.д. Любой компилятор, который генерирует код IL для выполнения в среде CLR, должен обязательно следовать всем перечисленным в CLS правилам. Спецификация CLS предоставляет разработчикам, поставщикам и производителям программного обеспечения возможность работать в рамках одинаковых правил в отношении языков, компиляторов и типов данных. Список многих отвечающих требованиям CLS языков доступен по адресу http://dotnetpowered.com/languages.aspx.
Из-за этих требований создание компилятора языка, способного генерировать действительно совместимый с CLR код, может оказаться непростым. Тем не менее, компиляторы могут быть созданы для практически любого языка, и не исключено, что со временем появятся компиляторы для всех существующих языков. Только представьте, что программисты, работавшие на мэйнфреймах и любившие COBOL, смогут воспользоваться своей базой знаний для создания веб-приложений.
Четвертый факт: ASP.NET обслуживается средой CLR
Пожалуй, наиболее важным аспектом механизма ASP.NET является то, что функционирует он внутри исполняющей среды CLR. Все части .NET Framework — т.е. все пространства имен, приложения и классы — называются управляемым кодом.
Автоматическое управление памятью и сборкой мусора. При каждом создании в приложении экземпляра объекта ссылочного типа CLR выделяет для него в памяти соответствующее пространство в управляемой куче. Вручную очищать это пространство в памяти никогда не потребуется. При выходе ссылки на объект за пределы области видимости (или завершении работы приложения) объект сразу же становится доступным для сборщика мусора. Сборщик мусора периодически запускается внутри CLR и автоматически восстанавливает неиспользуемую память, которую занимают более недоступные объекты. Подобная модель избавляет от необходимости иметь дело с низкоуровневыми деталями манипулирования памятью в C++ и запутанного подсчета ссылок в СОМ.
Безопасность типов. При компиляции приложения .NET добавляет в сборку сведения о доступных классах, их членах, типах данных и т.д. Это позволяет использовать их в других приложениях без добавления дополнительных файлов поддержки, а компилятору — удостоверяться в правильности вызова во время выполнения. Такой дополнительный уровень безопасности полностью исключает вероятность возникновения целого ряда низкоуровневых ошибок.
Расширяемые метаданные. Информация о классах и членах является только одним из типов метаданных, которые .NET может сохранять в скомпилированной сборке. Метаданные описывают код и позволяют предоставлять дополнительную информацию исполняющей среде и другим службам. Например, эти метаданные могут указывать отладчику, как следует выполнять трассировку кода, или же сообщать Visual Studio о том, как во время проектирования должен отображаться какой-то специальный элемент управления. Они также могут использоваться для активизации других служб во время выполнения, например, запуска транзакций или пула объектов.
Структурированная обработка ошибок. В языках .NET поддерживается возможность структурированной обработки исключений, которая позволяет организовывать код обработки ошибок логичным и последовательным образом. Можно создавать отдельные блоки для разных типов ошибок, а также размещать обработчики исключений на глубине в несколько уровней.
Многопоточность. Среда CLR предоставляет пул потоков, которые различные классы могут использовать. Например, можно вызывать методы, считывать файлы и взаимодействовать с веб-службами асинхронным образом, не создавая явно никаких новых потоков. На рис. 1.2 показано высокоуровневое представление CLR и .NET Framework.
Р
ис.
1.2. CLR
и
.NET Framework
