5/22/2014 Web Services Введение в Web Services Галактионов В.В ОИЯИ, Дубна
5/22/2014 Web Services 1. Grid и Web Services роль WS в Grid-технологии 2. Реализации Grid Globus Toolkit: GT2, GT3 3. GT3 и OGSA WS-технология в Grid 4. GT4 и WSRF
5/22/2014 Web Services Основная причина появления Web-сервисов - неспособность существующих технологий, таких как объектные системы типа COM семейства Microsoft и стандарты OMG CORBA, в полной мере обеcпечить совместимость (интер- операбельность) разнообразных программных продуктов для неоднородных распределенных систем.
Web Services 1. Распределенные системы
2. Отношения клиент-сервер Client Server Client
3. Технологии для распределенных систем Socket- программирование объектное программирование COM/DCOM (Microsoft) RMI (Sun Microsystems) CORBA (OMG, Object Management Group) Web Services (W3C) T ds = M essage + P rotocol
4. Объектно-ориентированные системы 4.1. Объектно-ориентированное программирование Локальные объекты: Math m = new Math(); double d1 = m.PI + m.E; double d = m.pow(d1, 2.0); float f = (float)m.sqrt(m.sin(d));
CORBA- объекты ( VisiBroker): ORB orb = ORB.init(); Math m = MathHelper.bind(orb, MathServer); double d1 = m.PI +m.E; double d = m.pow(d1, 2.0); float f = (float)m.sqrt(m.sin(d));
4.2. Объектно-ориентированные распределенные системы Client Server Registry Object Interface IDL 1. Define interface 2. Implementation 3. Define Object 4. Publishing 5. Find 6. Interaction Interface Definition Language
5. Web Services - сервис-ориентированные распределенные системы Discovery Agency Service Description Service Provider Service Description Service Service Requestor Client
XML-технология
Элементы XML- технологии : Грамматика – DTD, XML Schema Синтаксический анализ ( well formed, valid) Объектная модель DOM XML- преобразования XSLT
5. Стандарты Web Services SOAP - Simple Object Access Protocol WSDL – Web Services Definition Language Discovery Agency (repository): UDDI, ebXML, WS-Inspection (WSIL), JAXR
SOAP – правила построения сообщений в XML- формате и передача их по протоколу HTTP
Программирование SOAP-сообщений SOAPConnectionFactory scf = SOAPConnectionFactory.newInstance(); SOAPConnection con = scf.createConnection(); MessageFactory mf = MessageFactory.newInstance(); SOAPMessage 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);
I. Режим передачи данных в SOAP- сообщениях С инхронные сообщения
Асинхронные сообщения
II. Режим RPC – вызов удаленных процедур Stub stub = createProxy(); CarRentalQuotes objRef = (CarRentalQuotes)stub; String[] country = objRef.getCountries(); String[] loc = objRef.getLocations(country[0]); String[] curr = objRef.getCurrencies(); String[] cars = objRef.getCarTypes();
Диаграмма конвертирования RPC-вызовов в SOAP-сообщения
WSDL – Web Services Definition Language
Регистрация сервисов UDDI(Universal Description, Discovery and Integration) - регистрация вычислительных или коммерческих услуг в формализованном XML- формате. Желтые Страницы - деловые предложения и услуги. Белые Страницы - контактная информацию. Зеленые Страницы - технические детали. UDDI предоставляет свои услуги также в формате Web- служб, и к нему можно обращаться за полученим сервиса стандартными средствами, например SOAP- сообщениями и другие (
Существует ряд открытых для пользователей UDDI- серверов, как для промышленного использования ( UBR, UDDI Business Registry), так и для исследовательских целей (тестирования): SAP UDDI Test Business Registry ( IBM UBR Node ( Microsoft UBR Node ( Microsoft Test Node ( и другие (
ebXML в основном предназначен для электронного бизнеса, предоставляет средства регистрации, поиска и анализа сервисных услуг. В отличие от UDDI, где информация строго структурирована и формализована, т.е. содержит только метаданные о сервисе, ebXML допускает включение в регистрацию кроме метаданных и дополнительную информацию произвольной структуры.
Реализации технологий Web Services SOAP Toolkit (Microsoft) Apache Axis, WebSphere Application Server (IBM), JWSDP (Sun).
E8NsY(QhxieSRM)?serviceid=175374