InternetovéTechnologie



Podobné dokumenty
Úvod do Web Services

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services

X33EJA Web Services. Martin Ptáček, KOMIX s.r.o.

Webové služby. Martin Kuba Superpočítačové centrum Brno Masarykova univerzita

Michal Krátký, Miroslav Beneš

Tvorba informačních systémů

Web Services. Martin Kuba Superpočítačové Centrum Brno, Masarykova Univerzita Web Services, DATAKON

Webové služby. Martin Sochor

SOAP & REST služby. Rozdíly, architektury, použití

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML

Požadavky pro výběrová řízení TerraBus ESB/G2x

Softwarové komponenty a Internet

Architektura orientovaná na služby Návrh orientovaný na služby. Ing. Petr Weiss. VUT v Brně,, FIT, UIFS

Komponentový návrh SW

Komponentní technologie

Webové služby a ontologie


Co je to Grid. Martin Kuba Superpočítačové Centrum Brno Seminář CESNET, Třešť

Servisně orientovaná architektura a její aplikace v systémech sledování a řízení výroby

PROPOJOVÁNÍ POČÍTAČOVÝCH APLIKACÍ

Servisně orientovaná architektura Základ budování NGII

UAI/612 - Cloudová Řešení. Návrh aplikací pro cloud

WCF. IW5 - Programování v.net a C# WCF

Common Object Request Broker Architecture

Pokročilé Webové služby a Caché security. Š. Havlíček

PODMÍNKY POSKYTOVÁNÍ PŘÍSTUPU K PORTÁLU NAMĚŘENÝCH DAT POMOCÍ WEBOVÝCH SLUŽEB SPOLEČNOSTI ČEZ DISTRIBUCE, A. S.

Referenční rozhraní. Jiří Kosek. Ministerstvo informatiky ČR. ISSS 25. března 2003

Zabezpečení platformy SOA. Michal Opatřil Corinex Group

Osnova. GIOP a IIOP IDL IOR POA. IDL Klient Server. 2 Historie. 3 Princip a základní pojmy. 4 Implementace. 5 Aplikace CORBA

Architektury informačních systémů

Architektury informačních systémů

IBM Cloud computing. Petr Leština Client IT Architect. Jak postavit enterprise cloud na klíč IBM Corporation

Systémy jednotného přihlášení Single Sign On (SSO)

Fakulta elektrotechnická

Využití JBoss Fuse ve skandinávské energetice

java remote method invocation Kateřina Fricková, Matouš Jandek

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU

SOA a Cloud Computing

Sémantický web 10 let poté

POLOPROVOZ ZNALOSTNÍ DATABÁZE INTERPI DOKUMENTACE

SYSTÉM PRO KONFIGURACI KOMUNIKAČNÍCH TERMINÁLŮ A VIZUALIZACI STAVOVÝCH DAT Z KOLEJOVÝCH VOZIDEL

Cloud Slovník pojmů. J. Vrzal, verze 0.9

Identifikátor materiálu: ICT-3-03

Server-side technologie pro webové aplikace

Cloudová Řešení UAI/612

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY

Nasazení webových služeb do enterprise prostředí. Petr Steckovič

XML a nové trendy v publikování na Webu

Webové služby a XML. Miroslav Beneš

Globální architektura ROS

ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server

TwinCAT IoT Řešení pro průmysl 4.0

RESTful web service v Javě

Microsoft Office 2003 Souhrnný technický dokument white paper

KIV/SI. Rozílová témata. Jan Valdman, Ph.D.

Výčet strategií a cílů, na jejichž plnění se projektový okruh podílí: Strategický rámec rozvoje veřejné správy České republiky pro období

Schéma e-pošty. UA (User Agent) rozhraní pro uživatele MTA (Message Transfer Agent) zajišťuje dopravu dopisů. disk. odesilatel. fronta dopisů SMTP

Webové služby v Java EE (JAX-WS)

Business Intelligence

Vývoj Internetových Aplikací

Web Services Martin Kuba, ÚVT MU

Cloud. Nebo zatím jen mlha? Workshop Day 2011 WG06 Jaromír Šlesinger, CA Technologies Bratislava, 13. október 2011

Tvorba webových služeb

Integrace dat. MI-DSP 2013/14 RNDr. Ondřej Zýka,

Web Services na SOAP

Web Services. Martin KUBA. Ústav výpočetní techniky, Masarykova univerzita Botanická 68a, Brno

Koncept centrálního monitoringu a IP správy sítě

DOPLNĚK. Projekt Informační systém základních registrů je spolufinancován Evropskou unií z Evropského fondu pro regionální rozvoj.

Internet Information Services (IIS) 6.0

UAI/612 - Cloudová Řešení. Technologie

PODNIKOVÁ INFORMATIKA

Elektronické dokumenty - jak efektivně na jejich správu a bezpečnost?

Prototyping konfigurace linuxových serverů. horizontální škálování Deltacloud API

Veřejné cloudové služby

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o.

Tvorba informačních systémů

PROVOZOVÁNÍ PRIVATE CLOUD VE VEŘEJNÉ SPRÁVĚ

Metody integrace aplikací

Správa a sledování SOA systémů v Oracle SOA Suite

TÉMATICKÝ OKRUH Softwarové inženýrství

PODMÍNKY POSKYTOVÁNÍ PŘÍSTUPU K PORTÁLU NAMĚŘENÝCH DAT POMOCÍ WEBOVÝCH SLUŽEB SPOLEČNOSTI ČEZ DISTRIBUCE, A. S.

Relační vrstva SMB-Síťový komunikační protokol aplikační vrstvy, který slouží ke sdílenému přístupu k souborům, tiskárnám, sériovým portům.

Příloha č. 2 - Integrace SpiritÚAP do ESB Jihočeského kraje

SPRÁVA ZÁKLADNÍCH REGISTRŮ PODMÍNKY PRO PŘIPOJENÍ AGENDOVÝCH INFORMAČNÍCH SYSTÉMŮ DO ISZR. verze 2.00

INFORMAČNÍ SYSTÉMY NA WEBU

Počítačová Podpora Studia. Přednáška 5 Úvod do html a některých souvisejících IT. Web jako platforma pro vývoj aplikací.

RESTful API TAMZ 1. Cvičení 11

ATS Global B.V. ATS Bus.

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

CLOUD COMPUTING PRO MALÉ A STŘEDNÍ FIRMY

Studentova Berlička III

Nové vývojové nástroje i5/os Rational Developer for System i V7.1

Technologie Java. Jaroslav Žáček

l Kontakt s klientem SSP Popis automatizované komunikace s ÚP ČR v součinnosti a exekuci

Semináˇr Java X J2EE Semináˇr Java X p.1/23

Microsoft Azure Workshop

API Management a Blockchain

Komplexní přístup k bezpečnosti

Vhodnost nasazení jednotlivých webových architektur, sdílení dat, perzistence, webové služby a REST, asynchronnost, messaging

Transkript:

9 InternetovéTechnologie webové služby, SOA, služby, atd. Ing. Michal Radecký, Ph.D. www.cs.vsb.cz/radecky

Co je to webová služba - Webová služba je softwarový systém zkonstruovaný k podpoře interakce mezi stroji přes síť. Má rozhraní popsané ve strojově zpracovatelném formátu (specificky WSDL). Ostatní systémy interagují s webovou službou způsobem předepsaným jejím popisem, a to za pomoci SOAP zpráv, typicky dopravovaných použitím HTTP s XML serializací v součinnosti s ostatními webovými standardy. W3C

Předávání dat v prostředí webu - HTTP metoda GET a URL parametry - omezení na 4kB, problém zabezpečení, kódování - HTTP metoda POST - libovolná velikost i obsah zasílaných dat - problém s kódováním - HTTP metoda POST s XML - svoboda při strukturování dat a specifikaci kódování - možnost zachycení typovosti dat (XML Schema) - XML-RPC, WDDX, XMI, atd.

Předávání dat v distrib. systémech - RPC (Remote Procedure Call) - vzdálené volání procedur jako lokálních - synchronní systém požadavek/odpověď a předáváním dat hodnotou - popis vzdálených procedur pomocí IDL (Interface Definition Language) - řeší se problémy s reprezentací čísel, znakových sad - RMI (Remote Method Invocation) - založeno na objektovém přístupu (proxy rozhraní) - předávání odkazů na vzdálené objekty - synchronní systém požadavek/odpověď - CORBA, Java RMI, DCOM - MAS (Multi-Agent System)

Webové služby - Technologie pro vzdálené volání procedur pomocí výměny XML zpráv - Způsob komunikace - transientní synchronní - může využívat i všechny další kombinace (transientní x persistentní, synchronní x asynchronní) - Hlavní prvky - XML - SOAP - WSDL - UDDI, WSIL

Historický vývoj Zdroj:http://www.cmsthailand.com/ws/index.php

Architektura Zdroj:http:// www.ebpml.org/webservices.htm

Zdroj: http://gdp.globus.org/gt4-tutorial/multiplehtml/ch01s02.html Komunikace webové služby

Protokol SOAP - Microsoft a IBM vytvořili v roce 1998 SOAP (Simple Object Access Protocol), dnes Service Oriented Architecture Protocol - Aktuálně jako doporučení 1.2 z roku 2007 (SE) pod aktivitou W3C - RPC pomocí XML a HTTP - nezávislost na platformě a programovacím jazyce - snadná komunikační propustnost - XML je primární specifikace obsahu přenášených dat - volná vazba mezi klientem s serverem - Typový systém SOAP - URI, XML Namespaces, XML Schema

SOAP volání Zdroj:http:// dior.ics.muni.cz/~makub//soap/martinkuba_webservices_datakon2006_clanek.pdf - XML zpráva přenesená pomocí HTTP (SMTP, FTP, atd.) - Přenášená data - vstupní (request) - výstupní (response) - výjimky (fault)

WSDL - Popis rozhraní webové služby na syntaktické úrovni (+ protokol a adresa umístění služby) - Web Service Description Language - Aktuálně verze 2.0 z roku 2007 - Na základě popisu WSDL je možné generovat zástupné objekty (stubs) pro dané implementační prostředí - Vždy nejprve vytvářet WSDL - Změna WSDL znamená změnu rozhraní služby, při změně operací a změně namespace je možné obsluhovat staré i nové klienty - Neřeší zabezpečení, transakce, workflow, atd.

WSDL - struktura Zdroj:http://herakles.zcu.cz/education/net/lectures/WSOld.pdf

WSDL

WSDL styly - Určují, jakým způsobem je zapsán WSDL dokument - 4 možné přístupy (binding style a use) - RPC/encoded (zakázáno podle WS-I Basic Profile) - RPC/literal - document/encoded - document/literal wrapped (dnes nejpoužívanější) - WS-I Basic Profile specifikace organizace WSI pro zajištění interoperability na úrovni WS

WSDL styly - RPC/encoded Zdroj:http:// dior.ics.muni.cz/~makub//soap/martinkuba_webservices_datakon2006_clanek.pdf - RPC/literal - document/literal - document/literal wrapped

UDDI a WSIL - UDDI (Universal Descripction,Discovery and Integration) - centralizovaná webová služba zajišťující telefonní seznam WS - vyhledávání podle klíčových slov nebo oborů - nejedná se o specifikaci W3C, ale standard pod hlavičkou OASIS - v roce 2006 byly vypnuty veřejné rejstříky (Microsoft, IBM, SAP) - chybí garance kvality informací, řízení rejstříků, atd. - WSIL (Web Service Inspection Language) - místní rejstříky poskytovatele WS - inspection.wsil v kořenovém adresáři webového serveru

WS-* - Pokrývá další dodatečné specifikace, které mnohdy stojí proti sobě (Microsoft, IBM) - Nepřehlednost snižuje možnosti plného zajištění interoperability, zabezpečení, pochopení a implementace - Na druhou stranu umožňují zohledňovat specifické požadavky a rozšíření v podnikových systémech (zabezpečení, transakce, management, apod.) - Příklady - WS-Addressing do SOAP hlavičky přidává from a to - WS-Policy, WS-SecurityPolicy vlastnosti mimo rámec WSDL - WS-Transfer HTTP nad SOAP pro dokumenty

Alternativy - Pro jednoduché aplikace stačí zasílání jednoduchých dotazů v podobě XML pomocí HTTP - Nevyžadují specifické nástroje a požadavky pro SOAP + WS-* (rozsáhlé podnikové aplikace) - POX (Plain Old XML) - REST (Representational State Transfer) vše je popsatelné pomocí URI (URL) a podle typů je možné s objektem manipulovat bezestavovost, vstupní informace v určení požadavku, výstupní je pak XML (nebo např. JSON) na dané adrese URI velmi dobrá škálovatelnost aplikací

Bezpečnost webových služeb - SOAP ani WSDL bezpečnost neřeší - 3 možnosti zajištění bezpečnosti - transportní vrstva (SSL) nelze podepisovat, point-to-point - zprávy (XML encryption, XML signature) možnost podepisování, multipoint - WS-Security integrace s PKI, Kerberos, apod. nestačí čisté WSDL (WS-Policy, WS-SecurityPolicy) - Zajištění a ověření důvěryhodnosti výstupu služby??

Výhody a nevýhody Webových služeb - Výhody - vycházejí z výhod využití XML - bezproblémová lokalizace a internacionalizace (UTF) - nezávislost na programovacím jazyce a platformě - poměrně značná nezávislost klienta a poskytovatele služby - snadná integrace v rámci rozsáhlých systémů - silný nástroj v podobě SOAP a WSDL u podnikových aplikací - Nevýhody - poměrně značná rozsáhlost dat - zpracování dat (XML) je pomalé/drahé - složitost a nepřehlednost WS specifikací - komplikované využití podle SOAP a WSDL z pohledu webových aplikací

Sémantický web a webové služby - Sémantický web integruje data napříč aplikacemi a organizacemi (díky univerzalitě URI a znovupoužitelnosti ontologií) - Webové služby integrují programy napříč aplikacemi a organizacemi (díky modularitě a flexibilitě XML) - Principy sémantického webu lze aplikovat i u webových služeb - WSMO, WSDL-S, OWL-S, DAML-S ontologie přinášející sémantiku do popisu služeb a jejich využívání - značné zvýšení efektivity při vyhledávání webových služeb - možnost tvorby složené služby na základě ontologií - Webové služby mohou být dobrou základnou pro budování sémantického webu

Budoucnost webových služeb - Silný nástroj pro integraci a interoperabilitu bez závislosti na platformě a implementačním prostředí - efektivní využití pro webové aplikace - efektivní využití pro rozsáhlé podnikové aplikace - Využití WS pro Web 2.0 a Web 3.0 - sémantika služeb - sémantika zpracovávaných dat službami - mashup - Nutnost dořešení standardů a jednotnosti při využívání služeb - Ne vždy se musí jednat o SOAP-based webové služby

Orientace na služby - Přináší možnost reagovat rychleji a efektivněji na měnící se požadavky s maximálním využitím již připravených řešení - Snižuje náklady na vývoj, provoz a údržbu IT systémů - SOA (Service Oriented Architecture) - technologický aspekt - SOE (Service Oriented Enterprise) - obchodní aspekt

SOA - Představuje model, kterým lze řešit náročné úlohy spojené s integrací oddělených aplikací. Nejedná se o standard ani produkt - Pojem pokrývající přístupy pro EDI (Electronic Data Interchange) v organizacích. - Pokrývá otázky analýzy, vývoje, provozu a integrace aplikací postavených na distribuovaných službách - Nástupce tradičního konceptu EAI (Enterprise Application Integration) - RPC, RMI - MOM (Message Oriented Middleware) - ebxml (Electronic Business XML)

SOA Zdroj: http://cz.sun.com/javaforum/sekce1/2-systinet-jf2005-soa.pdf - Propojení aplikací na obecných a otevřených standardech, nikoliv jen na SOAP - Spojovací prvek mezi podnikovými procesy a výpočetní infrastrukturou

SOA Zdroj: http://www.microsoft.com - BPEL (Business Process Execution Language) - standard a nástroj pro slaďování (orchestration) webových služeb a jejich správu Financials Service Automated business process presented to user as single UI, saving time & money Integrated services can be built different platforms Procurement Service Procurement Process UI Services don t exist in a vacuum either HR Service Business Process Automation User Multiple services combined as a single business process

ESB (Enterprise Service Bus) Zdroj: http://www.sonicsoftware.com/products/sonic_esb/architecture_definition - V současnosti nejzdařilejší implementace SOA - Softwarová architektura pro middleware, která poskytuje služby pro vyšší architektury. Přináší výkon a škálovatelnost, bezpečnost a spolehlivost, distribuci, pružnost, viditelnost a řízení pro služby v rámci SOA. - Různé konkrétní implementace - IBM WebSphere - Oracle ESB - Microsoft BizTalk - SAP - BEA

ESB Zdroj: http://edocs.bea.com/alsb/docs26/concepts

Service as a Zdroj: http://edgewatertech.wordpress.com/2009/03/ - IaaS (Infrastructure as a Service) - Paas (Platform as a Service) - SaaS (Software as a Service) - CaaS (Communication as a Service) - MaaS (Monitoring as a Service) - flexibilní ekonomický i provozní model provozu jako služby

Cloud Computing - Zastřešuje pojmy as a Service - Obecně se jedná o buzzword (podobně jako Web 2.0) a může pokrývat i obyčejné, bežně používané technologie ve vztahu k internetu definice je obtížná - Technicky se jedná o architekturu postavenou na virtualizaci čehokoliv (web, služba, aplikace, systém, server, apod.) v procesu provozu software či služeb formou on-demand (na vyžádání). - Pozitiva: přístupnost, pohodlí, flexibilita, nový obchodní model, škálovatelnost, synchronizace, užitečnost - Negativa: nový obchodní model, legislativa, není vhodné pro všechny typy aplikací - Cloud vs. Grid computing vs. VPS (Virtual Private Server)

Další studijní zdroje - http://www.kosek.cz/diplomka/html/websluzby. html - http://suda.co.uk/publications/msc/brian.suda.t hesis.pdf - http://www.slideshare.net/cebartling/rest-webservices - http://www.systemonline.cz/sprava-it/proc-soanema-alternativu.htm - http://programujte.com/clanek/2006080705-jakfunguje-esb/ - http://www.jurica.info/2012/01/saas-a-cloud-vefiremni-sfere-diplomka/

Videa - http://www.youtube.com/v/zv860odgn5y - http://www.youtube.com/v/dyhwaig6c-y - http://www.youtube.com/v/sbd_1g8kqjs - http://youtu.be/h72s78so6dm - http://www.youtube.com/watch?v=txvgndnknww - http://www.youtube.com/watch?v=ae_dknwk_ms - http://www.youtube.com/watch?v=ebncuqal6um

Kontrolní otázky - Co jsou to webové služby? - Jako technologie tvoří standard pro webové služby a jaké jsou jejich úlohy a charakteristiky? - Jaké jsou alternativy k SOAP přístupu a jak se používají? - Co je to SOA? - Jaké jsou hlavní charakteristiky obecných služeb nabízených v modelu as a Service? - Co je a co není cloud?