tasks

реклама
Требуется разработать два веб-сервиса (Сервис А и Сервис Б) и два клиента к ним (Клиент А и
Клиент Б). А также программу демонстрирующую работу данных сервисов и клиентов к ним.
Сервис Б
Сервис А
Клиент А
Клиент А
Клиент Б
Клиент
Клиент А организует доступ к Сервису А. Клиент Б организует доступ к Сервису Б.
Клиент используя интерфейсы предоставляемые Клиентом А и Клиентом Б выполняет обращение
к Сервисам. Сервис Б, включает в себя клиентские библиотеки Сервиса А, и может обращаться к
нему, если это необходимо (должно быть как минимум два метода, один которому требуется
обращение к Сервису А, второй, которому не требуется подобное обращение).
В качестве демонстрации работы данных сервисов требуется, организоваться три простых
сценария работы:
1 ) Клиент обращается к Сервису А, там данные обрабатываются, возвращаются, и
результат отображается.
2) Клиент обращается к Сервису Б, там данные обрабатываются, возвращаются, и
результат отображается.
3) Клиент обращается к Сервису Б, передавая в качестве параметра помимо данных
для обработки, адрес Сервиса А. Сервису Б, для обработки требуется обратиться к
Сервису А, который возвращает данные Сервису Б. Далее эти данные как-то
обработаются Сервисом Б, и уже затем этот результат возвращается Клиенту,
который отображает результат.
Данные три сценарии могут быть объединены в один. Например:
Клиент отправляет данные на обработку Сервису А. Другие данные передаются
Сервису Б, методу который использует Сервис А. Данные вернувшиеся от Сервиса А, и
от Сервиса Б, передаются Сервису Б, методу не использующему Сервис А, и уже
полученный результат отображается пользователю.
Требования к сдаче:
1) Сдающий должен представлять, что из себя представляет веб-сервис, что такое WSDL, что такое
SOAP, и.т.д.
2) Каждому методу сервиса, должен передаваться хотя бы один объектный тип.
3) Интерфейсная часть клиентов (Клиента А и Клиента Б) должны генерироваться автоматически,
на основании WSDL спецификаций веб-сервисов А и Б, соответственно.
4) Должны быть соблюдены требования, в соответствии с вариантом.
Варианты Заданий:
1. Распределенный калькулятор:
А)
Сервис А, умеет складывать комплексные числа.
Сервис Б, умеет умножать комплексное число, на целое число, путем последовательного
сложения (3 * А = А + А + А). Для сложения Сервис Б, должен использовать Сервис А.
Сервис Б, умеет делить комплексные числа друг на друга.
Б)
Сервис А, умеет вычитать комплексные числа.
Сервис Б, умеет делить нацело комплексное число на целое, путем последовательного вычитания
(А = 3 * N где N – это ответ, целое число. Итого надо Н раз вычесть. Например число 20 = 3 * 6 ).
Для вычитания Сервис Б, должен использовать Сервис А.
Сервис Б, умеет умножать комплексные числа друга на друга.
В)
Сервис А, умеет умножать комплексные числа.
Сервис Б, умеет возводить комплексное число в степень, путем последовательного умножения.
Для умножения используется Сервис А.
Сервис Б, умеет делать проекцию комплексного числа, на действительную ось.
Требования для 1.А, 1.Б, 1.В:
Комплексное число, должно передаваться объектом, например таким:
public class Сomplex
{
float re;
float im;
}
2. Сервис Погоды
Сервис А, умеет угадывать температуру в градусах по Цельсию (например случайным образом от
-40 до +40).
Сервис Б, умеет возвращать текущую температуру в градусах по Фаренгейту. Для определение
текущей температуры Сервис Б, должен использовать Сервис А.
Сервис Б, умеет переводить температуру из градусов по Фаренгейту, в градусы по Кельвину.
Требования для 2:
Температура должна передавать объектным типом, содержащим в себе численное
значение температуры, и систему представления температуры (градусы по Цельсию,
Кельвину или Фаренгейту), например вот таким:
public class Temperature
{
String type;
float value;
}
3. Сервис Лотереи
Сервис А, умеет определять является ли билет из 6 цифр счастливым.
 Счастливым будем считать билет, если сумма первых трех цифр, равна сумме последних
трех цифр. Например, билет 123006 – счастливый, т.к. сумма 1+2+3 = 6 + 0 + 0;
Сервис Б, умеет возвращать случайные 5 билетов, которые являются счастливыми. Для
определения является ли билет счастливым, Сервис Б, должен использовать Сервис А.
Сервис Б, умеет выбирать среди 5 билетов один, выигрышный и возвращаться его.
Требования для 2:
Билет дожжен быть представлен в виде объекта, содержащего 5 целых чисел,
например таким:
public class Ticket
{
int val1;
int val2;
int val3;
int val4;
int val5;
int val6;
}
5 билетов передаваемых, могут быть организованны как массив объектов типа Ticket
(Ticket[5]), либо как объект, содержащий в себе массив объектов, либо просто как объект,
содержащий в себе 5 объектов, либо любым другим способом.
4. Решение Квадратного уравнения
Сервис А, умеет считать дискриминант квадратного уравнения, по его коэффициентам (D = b2-4ac)
Сервис Б, умеет решать квадратное уравнение, возвращая корни данного уравнения. Для решения
квадратного уравнения, Сервис Б должен использовать Сервис А, для вычисления дискриминанта.
Сервис Б, умеет проверять является ли число, корнем квадратного уравнения (проверив
равенство: ax2 + bx + c = 0)
Требования для 4:
Квадратное уравнение, должно быть представлено объектом, например таким:
public class Equation
{
float a;
float b;
float c;
}
5. Числовые ряды
Сервис А, умеет находит следующий член ряда, и возвращать его.
Сервис Б, умеет считать суммы, первых n членов ряда. Для нахождения следующего члена ряда,
сервис Б использует Сервис А.
Сервис Б, умеет находить n-ый член ряда.
Требования для 5:
Рассматриваются ряды, зависящие от двух начальных значений. Ряды задаются общей
формулой: ai = c1ai-2 + c2ai-1. Иначе говоря, каждый последующий член, это сумма двух
предыдущих с некоторыми коэффициентами.
Ряд задается объектом, например таким:
public class MyRange
{
float a0;
float a1;
float c1;
float c2;
}
Скачать