Введение в Web Services

Содержание

Слайд 2

08/15/2023

Web Services

1. Grid и Web Services
роль WS в Grid-технологии
2. Реализации

08/15/2023 Web Services 1. Grid и Web Services роль WS в Grid-технологии
Grid
Globus Toolkit: GT2, GT3
3. GT3 и OGSA
WS-технология в Grid
4. GT4 и WSRF

Слайд 3

08/15/2023

Web Services

“Основная причина появления Web-сервисов - неспособность существующих
технологий, таких как объектные системы

08/15/2023 Web Services “Основная причина появления Web-сервисов - неспособность существующих технологий, таких
типа COM семейства Microsoft и
стандарты OMG CORBA, в полной мере обеcпечить совместимость (интер-
операбельность) разнообразных программных продуктов для неоднородных
распределенных систем. “

Слайд 4

Web Services

1. Распределенные системы

Web Services 1. Распределенные системы

Слайд 5

2. Отношения “клиент-сервер”

Client

Server

Server

Client

2. Отношения “клиент-сервер” Client Server Server Client

Слайд 6

3. Технологии для распределенных систем

Socket- программирование
. . . . .

3. Технологии для распределенных систем Socket- программирование . . . . .
. . . . . . . . . . . . . . . . . .
----- объектное программирование ------------
COM/DCOM (Microsoft)
RMI (Sun Microsystems)
CORBA (OMG, Object Management Group)
Web Services (W3C)

Tds = Message + Protocol

Слайд 7

4. Объектно-ориентированные системы 4.1. Объектно-ориентированное программирование

Локальные объекты:
Math m = new Math();
double d1 =

4. Объектно-ориентированные системы 4.1. Объектно-ориентированное программирование Локальные объекты: Math m = new
m.PI + m.E;
double d = m.pow(d1, 2.0);
float f = (float)m.sqrt(m.sin(d));

Слайд 8

CORBA-объекты (VisiBroker):

ORB orb = ORB.init();
Math m = MathHelper.bind(orb, “MathServer”);
double d1 = m.PI

CORBA-объекты (VisiBroker): ORB orb = ORB.init(); Math m = MathHelper.bind(orb, “MathServer”); double
+m.E;
double d = m.pow(d1, 2.0);
float f = (float)m.sqrt(m.sin(d));

Слайд 9

4.2. Объектно-ориентированные распределенные системы

Client

Server

Registry

Object

Interface

IDL

1. Define interface

2. Implementation

3. Define Object

4. Publishing

5. Find

6. Interaction

Interface

4.2. Объектно-ориентированные распределенные системы Client Server Registry Object Interface IDL 1. Define
Definition Language

Слайд 10

5. Web Services - сервис-ориентированные распределенные системы

Discovery Agency

Service Description

Service Provider

Service

5. Web Services - сервис-ориентированные распределенные системы Discovery Agency Service Description Service
Description

Service

Service Requestor

Client

Слайд 11

XML-технология

XML-технология

Слайд 12

Элементы XML-технологии:

Грамматика – DTD, XML Schema
Синтаксический анализ (well formed, valid)
Объектная модель DOM
XML-преобразования

Элементы XML-технологии: Грамматика – DTD, XML Schema Синтаксический анализ (well formed, valid)
XSLT

Слайд 13

5. Стандарты Web Services

SOAP - Simple Object Access Protocol
WSDL – Web Services

5. Стандарты Web Services SOAP - Simple Object Access Protocol WSDL –
Definition Language
Discovery Agency (repository): UDDI, ebXML, WS-Inspection (WSIL), JAXR

Слайд 14

SOAP – правила построения сообщений в XML-формате и передача их по протоколу

SOAP – правила построения сообщений в XML-формате и передача их по протоколу
HTTP






. . . . . . . . . . .


. . . . . . . . . . .




Слайд 15

Программирование SOAP-сообщений

SOAPConnectionFactory scf =
SOAPConnectionFactory.newInstance();
SOAPConnection con = scf.createConnection();
MessageFactory mf = MessageFactory.newInstance();
SOAPMessage

Программирование SOAP-сообщений SOAPConnectionFactory scf = SOAPConnectionFactory.newInstance(); SOAPConnection con = scf.createConnection(); MessageFactory mf
msg = mf.createMessage()
SOAPPart sp = msg.getSOAPPart();
SOAPEnvelope envelope = sp.getEnvelope();
SOAPHeader hdr = envelope.getHeader();
SOAPBody bdy = envelope.getBody();
URL urlEndpoint = new URL(to);
SOAPMessage reply = con.call(msg, urlEndpoint);

Слайд 16

I. Режим передачи данных в SOAP-сообщениях Синхронные сообщения

I. Режим передачи данных в SOAP-сообщениях Синхронные сообщения

Слайд 17

Асинхронные сообщения

Асинхронные сообщения

Слайд 18

II. Режим RPC – вызов удаленных процедур

Stub stub = createProxy();
CarRentalQuotes objRef

II. Режим RPC – вызов удаленных процедур Stub stub = createProxy(); CarRentalQuotes
= (CarRentalQuotes)stub;
String[] country = objRef.getCountries();
String[] loc = objRef.getLocations(country[0]);
String[] curr = objRef.getCurrencies();
String[] cars = objRef.getCarTypes();

Слайд 19

Диаграмма конвертирования RPC-вызовов в SOAP-сообщения

Диаграмма конвертирования RPC-вызовов в SOAP-сообщения

Слайд 20

WSDL – Web Services Definition Language


targetNamespace="http://com.test/wsdl/MyHello"

WSDL – Web Services Definition Language targetNamespace="http://com.test/wsdl/MyHello" xmlns:tns="http://com.test/wsdl/MyHello" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="http://com.test/wsdl/MyHello"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">















encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
use="encoded"
namespace="http://com.test/wsdl/MyHello"/>


encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
use="encoded"
namespace="http://com.test/wsdl/MyHello"/>



style="rpc"/>







Слайд 21

Регистрация сервисов

UDDI(Universal Description, Discovery and Integration) - регистрация вычислительных или коммерческих услуг

Регистрация сервисов UDDI(Universal Description, Discovery and Integration) - регистрация вычислительных или коммерческих
в формализованном XML-формате.
Желтые Страницы - деловые предложения и услуги.
Белые Страницы - контактная информацию.
Зеленые Страницы - технические детали.
UDDI предоставляет свои услуги также в формате Web-служб, и к нему можно обращаться за полученим сервиса стандартными средствами, например SOAP-сообщениями и другие (http://www.uddi.org/solutions.html).

Слайд 22

Существует ряд открытых для пользователей UDDI-серверов, как для промышленного использования (UBR,

Существует ряд открытых для пользователей UDDI-серверов, как для промышленного использования (UBR, UDDI
UDDI Business Registry), так и для исследовательских целей (тестирования):
SAP UDDI Test Business Registry (http://udditest.sap.com/);
IBM UBR Node (http://uddi.ibm.com/);
Microsoft UBR Node (http://uddi.microsoft.com/);
Microsoft Test Node (http://test.uddi.microsoft.com/);
и другие (http://www.uddi.org/solutions.html).

Слайд 23

ebXML в основном предназначен для электронного бизнеса, предоставляет средства регистрации, поиска и

ebXML в основном предназначен для электронного бизнеса, предоставляет средства регистрации, поиска и
анализа сервисных услуг. В отличие от UDDI, где информация строго структурирована и формализована, т.е. содержит только метаданные о сервисе, ebXML допускает включение в регистрацию кроме метаданных и дополнительную информацию произвольной структуры.

Слайд 24

Реализации технологий Web Services

SOAP Toolkit (Microsoft)
Apache Axis,
WebSphere Application Server (IBM),
JWSDP (Sun).

Реализации технологий Web Services SOAP Toolkit (Microsoft) Apache Axis, WebSphere Application Server (IBM), JWSDP (Sun).

Слайд 25

http://www.xmethods.net/ve2/ViewListing.po;jsessionid=JQ4xjIisC91JCSafUI-E8NsY(QhxieSRM)?serviceid=175374

http://www.xmethods.net/ve2/ViewListing.po;jsessionid=JQ4xjIisC91JCSafUI-E8NsY(QhxieSRM)?serviceid=175374
Имя файла: Введение-в-Web-Services.pptx
Количество просмотров: 156
Количество скачиваний: 2