- •Методические указания к лабораторным работам
- •«Клиент-серверные технологии субд»
- •Санкт-Петербург
- •080801 – Прикладная информатика в экономике и
- •Содержание
- •Цель работы
- •Программно - техническая платформа
- •Теоретическая часть
- •Перечень заданий к лабораторной работе
- •Порядок выполнения лабораторной работы
- •5.1 Разработка клиент-серверного приложения баз данных (тонкий клиент, толстый клиент, n-tier архитектура)
- •5.1.2 Создание приложения Course Manager в среде Visual Studio 2010
- •5.1.3 Формирование модели edm
- •5.1.4 Запрос данных о факультетах из базы данных School
- •5.1.5 Сохранение изменений, внесенных в объекты
- •5.2. Дизайн модели данных и ее использование в клиент-серверном приложении
- •5.3 Разработка клиент-серверных приложений баз данных с различными сценариям доступа к данным
- •Основы asp.Net Dynamic Data
- •5.4 Разработка распределенных приложений баз данных в клиент-серверной архитектуре с использованием сервисов данных
- •5.4.1. Создание сервиса данных
- •5.4.2 Создание клиентского приложения
- •5.5 Асинхронные приложения баз данных в клиент-серверной технологии субд
- •Содержание отчета по лабораторной работе
- •Список литературы
- •7.1 Основная
- •7.2 Дополнительная:
- •Приложения
- •Образец титульного листа отчета по лабораторной работе
- •Клиент-серверные технологии субд отчет по лабораторным работам
5.4 Разработка распределенных приложений баз данных в клиент-серверной архитектуре с использованием сервисов данных
5.4.1. Создание сервиса данных
Открыть пакет Visual Studio 2010.
Меню “File”. Выбираем элемент меню “File new Web site”.
В окне выбираем тип проекта “Empty Web Site” и нажимаем “Ok”.
В Solution Explorer справа становимся на наш проект и с контекстного меню выбираем “Add new Item”
В открывшемся диалоге выбираем в списке “Web Service” и нажимаем кнопку ”Add”.
В Visual Studio 2010 через главное меню открываем “View” \ ”Server Explorer”.
В открывшемся окне делаем через инструмент подключение в базе данных (рис. 5.24).
Рис. 5.24 Создание XML сервиса для доступа к базе данных
Рис. 5.25 Подключение к БД
Переходим к написанию кода. В редакторе кода открываем файл WebService.cs и в начале делаем ссылку на подключаемые сборки.
using System.Data;
using System.Data.SqlClient;
В класс Web сервиса дописываем метод, ответственный за получение данных из базы данных:
[WebMethod]
public DataSet GetData()
{
DataSet ds = new DataSet();
try {
SqlDataAdapter da = new SqlDataAdapter("select * from dbo.Products", "Data Source=W2K8;Initial Catalog=Northwind;Integrated Security=True");
da.Fill(ds);
}
catch (Exception)
{
}
return ds;
}
Получаем следующий проект (рис. 5.26 )
Рис. 5.26 Разработка кода для сервиса доступа к данным
Нажимаем CTRL + F5 и проверяем работоспособность полученного решения. Открывается браузер (рис. 5.27).
Рис. 5.27 Проверка работоспособности сервиса в браузере
Выбираем созданный нами метод “GetData” (рис. 5.28)
Рис. 5.28 Проверка работоспособности сервиса. Продолжение
Нажимаем кнопку “Invoke” и в XML формате получаем данные из базы данных (рис. 5.29). Сервис создан.
Рис. 5.29 Данные из базы данных, возвращенные сервисом данных
5.4.2 Создание клиентского приложения
Выбираем в “Solution Explorer” корневой элемент. С контекстного меню выбираем “Add new Project”.
В открывшемся диалоге выбираем “Windows Forms Application” и нажимаем “OK”.
В новом проекте переходим на раздел References и с контекстного меню выбираем “Add Service Reference”.
На открывшемся диалоге нажимаем кнопку “Advanced”. Открывается еще один диалог (рис. 5.30).
Рис. 5.30 Подключение XML веб сервиса
На нем нажимаем “Add Web Reference”. В открывшемся диалоге выбираем “Web Services in current in this solution” (рис. 5.31).
Рис. 5.31 Подключение XML веб сервиса. Продолжение
В следующем окне выбираем созданный раньше WebService (рис. 5.32-5.33).
Рис. 5.33 Создание прокси классов для подключения XML веб - сервиса
Нажимаем “Add Reference”.
В “Solution Explorer” добавляются несколько новых файлов прокси - класса обертки нашего сервиса (рис. 5.34).
Рис. 5.34 Обновленный состав проекта
Переходим на “Toolbox” и на формочку “Form1 проекта добавляем кнопку и компонент datagridview, у которого выставляем свойство “Dock” в состояние “Buttom”.
Двойным щелчком по кнопке на проектируемой форме создаем обработчик события кнопки.
Пишем код в создавшемся обработчике события:
private void button1_Click(object sender, EventArgs e)
{
DataSet ds = new DataSet();
localhost.WebService S = new localhost.WebService();
try
{
ds = S.GetData();
dataGridView1.DataSource = ds.Tables[0];
}
catch (Exception ex) {MessageBox.Show(ex.Message);}
}
В Solution Explorer на Windows Forms Application c контекстного меню выставляем Set as Startup project.
Компилируем и запускаем проект (кнопка F5).
Проверяем работоспособность примера (рис. 5.35)
Рис. 5.36 Проверка работоспособности клиентского приложения баз данных
Таким образом, создали трехзвенное приложение баз данных, состоящее из базы данных, сервиса и клиентского приложения получающего данные из базы данных через сервис по протоколу SOAP поверх HTTP.