Компьютер-Информ || Архив || Рубрики || Поиск || Подписка || Работа || О "КИ" || Карта


Построение Web-приложений средствами Visual Studio .NET


Образование это то, что остается, когда мы уже забыли все, чему нас учили.
Джордж Галифакс

Виктор Ашик,
v_ashik@eureca.ru

B этом мире нет ничего постоянного, все куда-то движется и во что-то превращается, как сказал один из героев Алисы в Стране Чудес. Но если некоторые изменения в природе занимают тысячелетия, то прогресс информационных технологий летит совершенно неудержимо.

Всего каких-то десять-пятнадцать лет назад самыми передовыми среди персональных компьютеров были клоны IBM PC/XT, а шедевром программного обеспечения для них убогая среда DOS. За эти годы сменились пять поколений операционных систем Microsoft (DOS Windows3 Windows95 WindowsNT Windows2000), корпоративные сети ушли от специализированных внутренних протоколов к универсальному TCP/IP, а люди перестали относиться к компьютеру как к чему-то сверхъестественному. Языков программирования развелось превеликое множество, что в перемножении на количество систем, в которых могут выполняться приложения, написанные на этих языках, дает такое количество комбинаций, что протестировать их все становится весьма затруднительно, а то и вовсе нереально.

В сложившихся обстоятельствах появление .NET Framework, новой среды выполнения от фирмы Microsoft, позволяющей абстрагироваться от типа операционной системы, на которой работает приложение, является спасательным кругом в море систем. Но, как показал опыт Java, без визуального средства быстрой разработки Web-приложений даже очень хорошую среду выполнения ждет удел инструмента для написания бизнес-логики, потому как установка дополнительной среды выполнения на всех клиентах задача далеко не всегда выполнимая. Помимо этого, скорость модернизации вычислительной техники на предприятиях зачастую отстает от роста требований приложений к ресурсам этой самой техники. Таким образом, использование рабочих мест в роли тонких клиентов, где системой отображения информации является браузер (Internet Explorer, Netscape Navigator, Opera, Mozilla ит.п.) становится более чем актуальной задачей. Visual Studio .NET позволяет решить эту задачу самым изящным способом.

Для того чтобы продемонстрировать методы построения Web-приложений при помощи Visual Studio .NET, создадим с нуля решение для учета прочтенных авторизованных курсов Microsoft. Для хранения информации будем использовать реляционную базу данных (Microsoft SQL Server), в которой будем создавать таблицы:

Cources(CourseID, Title, nDays) каталог курсов,
Customers(CustID, Name) список клиентов,
Trainers(TrainerID, Name) список преподавателей,
Classes(ClassID, CourceID, StartDate, EndDate, TrainerID)
проведенные занятия,
Students(ClassID, CustID) факт посещения курса клиентом, задает отношение многие-ко-многим между таблицами Classes и Customers.

Для создания таблиц вовсе не обязательно вспоминать конструкции DDL (Data Definition Language) языка SQL, достаточно воспользоваться средствами Visual Studio .NET. Запускаем Visual Studio .NET и создаем новый проект: File->New->Project. Выбираем тип проекта Visual C# Project, шаблон ASP.NET Web Application. В поле Location задаем название приложения и сервер, на котором оно будет выполняться. Если на машине с Visual Studio .NET установлен IIS, то предложенный по умолчанию вариант http://localhost/WebApplication1 подойдет, изменим только имя приложения WebApplication1 на Education.

Для создания базы данных необходимо подключиться к серверу SQL: View->Server Explorer. В появившемся окне Server Explorer щелкните правой кнопкой мыши на ветви Data Connections и из контекстного меню выберите Create New SQL Server Database. В открывшемся диалоговом окне Create Database введите название сервера, например, localhost, если SQL Server установлен на этой же машине, и название базы данных, в нашем случае: Education.

Теперь можно создавать таблицы, например, щелчком правой кнопки мыши на ветви Tables в окне Server Explorer вызвать контекстное меню и выбрать пункт New Table. В появившемся окне конструктора таблиц указываем названия полей и подходящие типы данных для таблицы Cources:

CourceID
int(4), Set Primary
Key (правой кнопкой мыши),

Title nDays
varchar(100),
tinyint(1), Default Value 5.

Сохраняем таблицу: File->Save Table1, в диалоговом окне Choose Name указываем название таблицы: Cources. Аналогичным образом создаем оставшиеся таблицы, используя для ключевых полей тип int(4) с автоприращением (Identity yes).

Затем объясним SQL Server про наличие связей между таблицами: запускаем конструктор таблицы для таблицы Cources через контекстное меню Design Table. Из контекстного же меню конструктора таблицы выбираем Relationships.

Рисунок 1. Описание связей между таблицами

Создаем новую связь нажатием кнопки New, в качестве Primary Key Table выбираем Cources, Foreign Key Table оставляем Classes. В списках полей выбираем одноименные поля CourceID. Аналогично создаем связь с таблицей Trainers по полю TrainerID. Точно так же задаем связи между таблицей Students и таблицами Customers и Classes. Чтобы не повторять все эти операции при создании базы данных на боевом, не учебном, сервере, можно сгенерировать сценарий создания базы данных на языке SQL DDL через меню Database->Generate Create Script.

Вносим в таблицы тестовые данные для отладки и приступаем к созданию Web-формы.

На созданную вместе с проектом форму WebForm1 нужно перетащить объекты для подключения к базе данных. Выбираем из меню View пункт Toolbox, из набора компонентов Data в появившемся окне Toolbox перетаскиваем объект sqlDataAdapter и бросаем на форму. В появившемся мастере Data Adapter Configuration Wizard переходим на следующий экран по кнопке Next, оставляем существующее подключение к базе, Next, строим запрос при помощи Query Builder, состоящий из таблиц Classes и Trainers:

SELECT Classes.ClassID, Classes.CourceID, Classes.StartDate, Classes.EndDate,Trainers.Name
FROM Classes INNER JOIN
Trainers ON Classes.TrainerID= Trainers.TrainerID

Затем завершаем мастер (Next, Finish). В результате на форме созданы два объекта: sqlDataAdapter1 и sqlConnection1. Для полного набора не хватает правил преобразования данных, заданных с помощью XML. Через контекстное меню для объекта sqlDataAdapter1 запускаем генератор этих правил командой Generate Dataset, в одноименном диалоговом окне оставляем значения по умолчанию (создать новый DataSet1) и нажимаем OK.

Отобразим на форме результат запроса. Для этого поместим в окне Toolbox объект DataGrid, перетащив его из набора компонентов WebForms. Для данного объекта из контекстного меню запускаем Property Builder. В качестве источника данных DataSource выбираем DataSet11, DataKeyField ClassID. В разделе Columns снимаем флажок Generate columns automatically at run time и добавляем с помощью кнопки со стрелкой все поля, кроме ClassID, в правый список. Закрываем диалоговое окно кнопкой OK.

Рисунок 2. Построитель свойств объекта класса DataGrid

Проверим получившуюся форму, для чего компилируем проект: Build->Build Solution и запускаем форму: Debug -> Start Without Debugging. Не работает! Не хватает нескольких строк кода, дописанных руками. В Visual Studio .NET двойным щелчком на форме открываем исходный текст и в обработчике Page_Load дописываем:

if (! IsPostBack)
{
sqlDataAdapter1.Fill(dataSet11);
DataGrid1.DataBind();
}

Теперь все должно быть в порядке, проверяем сборкой и запуском без отладки, на странице отображаются данные.

Вывод: Visual Studio .NET удобный визуальный инструмент для построения Web-приложений, который позволяет существенно упростить и ускорить создание Intranet.

В скором будущем появятся авторизованные учебные курсы по Visual Studio .NET, которые будут ориентированы именно на возможности быстрой разработки приложений: 2310: Developing Web Applications Using Microsoft Visual Studio .NET, 2555: Developing Microsoft .NET Applications for Windows (Visual C# .NET) и другие.


       КОМПЬЮТЕР-ИНФОРМ 
          Главная страница || Статьи 08'2002 (29 апреля - 19 мая) || Новости СПб || Новости России || Новости мира

Рубрики || Работа || Услуги || Поиск || Архив || Дни рождения
О "КИ" || График выхода || Карта сайта || Подписка

Рассылка анонсов газеты по электронной почте

Главная страница

Сайт газеты "Компьютер-Информ" является зарегистрированным электронным СМИ.
Свидетельство Эл 77-4461 от 2 апреля 2001 г.
Перепечатка материалов без письменного согласия редакции запрещена.
При использовании материалов газеты в Интернет гиперссылка обязательна.

Телефон редакции (812) 718-6666, 718-6555.
Адрес: 196084, СПб, ул.Заставская, д.23, БЦ "Авиатор", 3-й этаж, офис 307
e-mail: editor@ci.ru
Для пресс-релизов и новостей news@ci.ru