BC/NW 2008, №2 (13): 11.4
ВАРИАНТЫ ИНФОРМАЦИОННОГО WEB- СЕРВИСА ПО ОБЪЕКТАМ В СТРУКТУРЕ ФУНКЦИОНИРОВАНИЯ БИЗНЕС-СИСТЕМ
Шемелин В. К.
(Москва, ГОУ ВПО МГТУ «Станкин», Россия)
Актуальность.
Сеть Internet стала основой для построения распределенных корпоративных систем
пользователей (клиентов), в число которых входят и разнообразные потребители,
использующие различные уровни
информационного сервиса, который получил название Web – сервисов. В этом
контексте разработка новых Web
– сервисов является актуальной задачей.
Постановка задачи.
Требуется разработать Web
– сервис прикладного интерфейса который
реализует процедуру передачи в аренду заказчику таких конкретных
составляющих как, например, технологию обработки заданий в структуре
автоматизированной производственной системы или реализует услугу по продаже или
аренде программных продуктов.
Основные результаты.
Предложена следующая реализация предоставления информации посредством WEB-сервиса по указанной выше
постановке.
В системе ведется справочник заказчиков/пользователей WEB-сервиса и связь заказчика
с данным заданием, показанная на схеме рис.1.
Рис. 1 Связь заказчика с
заданием.
Связь заказчика и задания осуществляется по схеме многие ко
многим. У одного задания может быть несколько заказчиков.
Таким образом, метод WEB интерфейса для отбора заданий заказчиком имеет следующие
входные и выходные параметры:
Вход
ID заказчика, полученный
после регистрации в системе
Дата
начала периода выборки
Дата
окончания периода выборки
Выход
Номер задания
Дата
Описание
изделии
Для реализации данного метода используется следующий SQL запрос к базе данных.
Select a.Number, a.DateOver, a.Description
From Task a, TaskUserLink tu,
User u
Where
u.UserID = tu.UserID
and tu.TaskID = a.TaskID
and a.DateOver between
‘DATESTART' and ‘DATEEND’
and u.UserID = ‘USERID’
Реализация метода:
<WebMethod>
DSTask GetUserTask (long LogUserID, string DateStart, string DateEnd)
{
DSTask DS = New DSTask()
SqlSelectCommand1.Parametres(“DATESTART”).Value
= DateStart;
SqlSelectCommand1.Parametres(“DATEEND”).Value
= DateEnd;
SqlSelectCommand1.Parametres(“USERID”).Value
= LogUserID;
}
Второй WEB
сервис, служит для передачи в аренду Know-how
фирмы, состава расшифровки конкретного
задания, всех его состояний и переходов.
Заказчик данного метода также должен пройти процедуру
аутентификации. Метод выборки заданий
имеет следующие входные параметры: Пользователь, Дата начала выборки,
Дата окончания выборки и выходные: Наименование задания, переход, состояние,
время.
Реализация данного метода, аналогична рассмотренной выше.
После реализации методов, документация, сгенерированная
средой Visual Studio
.Net, автоматически
станет доступна на нашем WEB
сервере для любого пользователя сети Интернет. В документации содержится вся
необходимая информация для встраивания WEB-сервиса в свое приложение.
Содержание документации:
·
Наименование
сервиса;
·
Предоставляемые
функции сервиса;
·
Описание
параметров функций;
·
Страница
для тестирования вызова функции сервиса с кнопкой «Invoke».
Страница для
текстового вызова WEB сервиса приложения представлена на рис.2,
где приведен внешний вид Web-страницы,
которая генерируется Web-сервером
при попытке обращения к Web-сервису.
Рис. 2 Страница для
тестового вызова метода WEB-сервиса.
Клиентская часть.
После компиляции к Web-сервису уже можно обратиться из браузера. Страницы
генерируются средой Visual Studio
.Net [1]. Клиентское приложение, как Windows интерфейс изображено на рис.3.
Рис.3 Клиентское
приложение Windows
интерфейс.
В работе представлено клиентское приложение 2х видов: как Windows приложение,
устанавливаемое на машине клиента и как WEB приложение для удаленного доступа. Оба этих приложения
обращаются к одному WEB
интерфейсу.
Внешний вид Windows
приложения показан на схеме рис4.
Web-интерфейс разделен на 2 окна. Первое
окно служит для задания параметров
(см.рис.4). Второе окно отображает результат выборки в виде таблицы.
Рис. 4 Окно задания параметров
WEB – интерфейса.
Приведем код клиентского приложения ответственный за
взаимодействие с сервисом:
Нажатие на кнопку «Получить данные»:
Void
Button1_Click(System.Object sender, System.EventArgs e)
{
Dataclient.localhost.Serbice1
serv = new Dataclient.localhost.Serbice1();
OleDateTime d1,d2;
String t1, t2;
D1.Parse(TextBox1.Text);
D2.Parse(TextBox2.Text);
T1 = d1.DateToString();
T2 = d2.DateToString();
DSTasks.Clear();
DSTasks.Merge(serv.GetTasks(User,t1,t2));
}
В контексте изложенного, термин Web-service означает вовсе не услугу, оказываемую через
сеть Internet, как может показаться.
Это любой сервис (производство продукта или оказание услуги), описание которого
представлено в Internet для нужд как самой предоставляющей его компании, так и
ее контрагентов. Причем описание сделано с такой степенью конструктивной
конкретности, что другая компания может включить этот сервис в свои
бизнес-цепочки, не прибегая ни к каким дополнительным разъяснениям и
переговорам.
Таким образом, Владелец сервиса может устанавливать
ограничения на предоставляемую информацию, внутри сервиса: например,
предоставлять в бесплатное пользование или сдавать в аренду часть своей
информационной системы.
Web-сервис
Новизна. Клиент получает данные сервиса, независимо от реализации клиента, его платформы и удаленности. Владелец сервиса может устанавливать ограничения на предоставляемую информацию, внутри сервиса: предоставлять в бесплатное пользование или сдавать в аренду все или часть своей информационной системы.
Литература.
1. Шапошников И.В. Web-сервисы Microsoft .Net – СПб.: БХВ-Петербург, 2002. – 336 с.: ил.