Vývoj Internetových Aplikací



Podobné dokumenty
Webové služby. Martin Sochor

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace

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

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

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

Michal Krátký, Miroslav Beneš

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

Úvod do Web Services

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

Tvorba informačních systémů

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

OAuth 2. Martin Kuba, ÚVT MU

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

Web Services na SOAP

Principy fungování WWW serverů a browserů. Internetové publikování

Softwarové komponenty a Internet

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace

INFORMAČNÍ SYSTÉMY NA WEBU

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

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

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

Internet Information Services (IIS) 6.0

WINDOWS 8 APLIKACE PRO PREZENTACI DAT Z WEBOVÉHO API

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

PŘEHLED A MOŽNOSTI VYUŽITÍ WEBOVÝCH MAPOVÝCH SLUŽEB

OpenID Connect. Martin Kuba

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové technologie

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í.

Možnosti aplikací Google pro analýzu (geo(

Sem vložte zadání Vaší práce.

HTTP protokol. HTTP protokol - úvod. Zpracoval : Petr Novotný novotny0@students.zcu.cz

Microsoft Azure Workshop

Komponentový návrh SW

Komponentní technologie

Server-side technologie pro webové aplikace

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

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

Základní pojmy spojené s webovým publikováním ~ malý slovníček pojmů~ C3231 Základy WWW publikování Radka Svobodová, Stanislav Geidl

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

language="javascript">... </script>.

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

Webové mapové služby. Lukáš Birka

Možnost propojení cloudového úložiště Google Disk s aplikací TeXonWeb

Multiplatformní GUI toolkity

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

1. Administrace služby Bezpečný Internet přes webovou aplikaci WebCare GTS

Inovace bakalářského studijního oboru Aplikovaná chemie

Inovace bakalářského studijního oboru Aplikovaná chemie

POLOPROVOZ ZNALOSTNÍ DATABÁZE INTERPI DOKUMENTACE

FORPSI Cloud Computing Virtuální datacentrum v cloudu

Projekt JetConf REST API pro vzdálenou správu

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

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

RESTful API TAMZ 1. Cvičení 11

Popis frameworku REDCap

API Management a Blockchain

InternetovéTechnologie

w w w. u l t i m u m t e c h n o l o g i e s. c z Infrastructure-as-a-Service na platformě OpenStack

Google Apps. Administrace

Webové služby a XML. Miroslav Beneš

Ajax - úvod. Klíčové pojmy: Ajax, skriptování na straně klienta a serveru, objekt XMLHttpRequest, DOM model.

Protokol HTTP 4IZ228 tvorba webových stránek a aplikací

Miroslav PIZUR INVENTARIZACE STARÝCH OVOCNÝCH SADŮ NA ÚZEMÍ CHKO BÍLÉ KARPATY

Vybraná Google API užití pro týmovou spolupráci


Administrace služby - GTS Network Storage

JSON API pro zjišťování cen MtG karet

Technologie Java. Jaroslav Žáček

VZOROVÝ STIPENDIJNÍ TEST Z INFORMAČNÍCH TECHNOLOGIÍ

Geis Point SOAP WebServices Interface

Obsah. Kapitola 2 Nakupujeme na Amazonu XML-RPC... 19

Užitečné rady pro administrátory. IBM Domino/Notes

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Obsah. Úvod 11. Vytvoření emulátoru 20 Vytvoření emulátoru platformy Android 4.4 Wearable 22 Spouštění aplikací na reálném zařízení 23

GIS a nemapové služby

GP webpay: Správa objednávek, Web Services

Analyzujte konkurenční API u služeb podobného typu. Proveďte analýzu požadavků zadavatele a současného stavu správy zásilek.

Administrace služby IP komplet premium

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

Administrace služby IP komplet premium

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Ruby on Rails. Bc. Tomáš Juřík Bc. Bára Huňková

BI-AWD. Administrace Webového a Databázového serveru Virtualizace HTTP serveru

Proč Angular JS framework?

Úvod. Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne.

Setkání FlexiBee vývojářů. Jak jsme psali eshop

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

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové technologie

Business Intelligence

Novinky v oblasti SAP Mobility. Martin Zikmund, Presale Mobility Platforms Miroslav Řehoř, Account Executive

RESTful web service v Javě

ArcGIS for Server. V oblasti správy, vizualizace a zpracování prostorových dat nabízí ArcGIS for Server tyto možnosti:

Použití databází na Webu

ZÁVĚREČNÁ STUDIJNÍ PRÁCE dokumentace

Bakalářské. Vzdělání: Telefon: Ostrava. Bydliště: Ukázky práce: Správa a monitoring platformy provozované na AWS

Příručka pro potvrzování zůstatku vydavatelům karetních platebních prostředků

Vývojařská Plzeň AngularJS

WWW technologie. HTTP protokol

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

Přehled technologií mapových serverů ve státní správě

Transkript:

9 Vývoj Internetových Aplikací Webová API Ing. Jan Janoušek

API - Application Programming Interface - Definuje způsob interakce mezi: - Softwarovými komponentami Interface - Software a hardware OpenGL DirectX OpenCL - Celými systémy, či jejich částmi Windows API Linux Kernel API SOAP REST

Proč API? - Nezávislost. - Škálovatelnost. - Poskytování služeb třetím stranám. - Vím co chci a je mi jedno jak toho dosáhnu (blackbox).

Web services - Webové služby jsou podmnožinou API. - Softwarový prostředek pro komunikaci mezi zařízeními prostřednictvím sítě. - Nejčastěji prostřednictvím HTTP protokolu. - XML vs. JSON - Nezávislost na platformě. - Nezávislost na programovacím jazyce. - Bezpečnost - Autentizace vs. autorizace - Podepisování požadavků - HTTP vs. HTTPS

REST - Representational State Transfer - Dnes nejrozšířenější typ webového API. - Bezstavová komunikace využívající HTTP protokol. - REST API je kolekcí zdrojů, na nichž je možné provádět operace. - Každý zdroj je jednoznačně identifikován svou URL. - HTTP metody GET, POST, PUT a DELETE. - Odpovědi serveru jsou nejčastěji XML, nebo JSON. - Škálovatelnost a možnost cachování. GET http://adresa-api.xyz/nazev-nebo-cesta-ke-zdroji/?parametry=volitelne GET https://graph.facebook.com/me/albums?fields=id%2ccover_photo%2clink&access_token=... DELETE https://graph.facebook.com/{id_objektu}?access_token=...

SOAP - Simple Object Access Protocol - V oblasti webu ne příliš používaná technologie. - Nejčastěji využívá protokolu HTTP, ale používají se i jiné, jako SMTP, TCP, JMS (Java Message Service). - Požadavek na server, tak jeho odpověď je XML dokument. POST /InStock HTTP/1.1 Host: www.example.org Content-Type: application/soap+xml; charset=utf-8 Content-Length: 299 SOAPAction: "http://www.w3.org/2003/05/soap-envelope" <!- -> <?xml version="1.0"?> <soap:envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"> <soap:header> </soap:header> <soap:body> <m:getstockprice xmlns:m="http://www.example.org/stock"> <m:stockname>ibm</m:stockname> </m:getstockprice> </soap:body> </soap:envelope>

WSDL a UDDI - WSDL (Web Services Description Language) - Jazyk pro popis rozhraní webové služby pomocí XML. - Popis je strojově čitelný. - Automatické generování zdrojových kódů klienta. - UDDI (Universal Description Discovery and Integration) - Databáze webových služeb. - Komunikace probíhá pomocí SOAP. - Poskytuje WSDL dokumenty k jednotlivým API. - Používá se spíše v korporacích.

Facebook API https://developers.facebook.com/apps - Vše je vázáno na Facebook aplikaci. - Social graph kolekce všech dat vytvořených uživateli na FB provázaná do grafové struktury. - Široká škála služeb/api: - Graph API Primární API pro čtení a tvorbu obsahu v rámci Social graph. - Open Graph Nástroj pro vytváření/popis nových objektů v rámci Social graph. - Social Plugins miniaplikace pro webové stránky.

Facebook - Graph API https://developers.facebook.com/tools/explorer - REST API vracející JSON. - Oficiální SDK existuje pro JavaScript, PHP, Android (Java), ios (Objective-C) a Unity. - Pro komunikaci s API je potřeba ID aplikace a její privátní a veřejný klíč. - Operace spojené s daty konkrétních uživatelů jsou podmíněny autorizací. - graph.facebook.com /{node-id}/{edge-name} https://developers.facebook.com/docs/graph-api/reference/

Facebook - Graph API <div id="fb-root"></div> <script> window.fbasyncinit = function() { }; FB.init({ appid : 'ID_APLIKACE', status : true, xfbml : true, version : 'v2.1' }); // Zde můžete pracovat s API FB.login(function(response) { FB.api('/me', function(response) { alert('vaše jméno: ' + response.name); }); }, { scope: 'email,user_likes' }); (function(d, s, id){ var js, fjs = d.getelementsbytagname(s)[0]; if (d.getelementbyid(id)) {return;} js = d.createelement(s); js.id = id; js.src = "//connect.facebook.net/cs_cz/all.js"; fjs.parentnode.insertbefore(js, fjs); }(document, 'script', 'facebook-jssdk')); </script>

Facebook - Open Graph - Umožňuje ovlivňovat co a jak se sdílí na zeď uživatele. - Obsah je tvořen objektem, akcí a uživatelem. - Objekty a akce musejí projít schvalovacím procesem. curl -X POST https://graph.facebook.com/me/{id-aplikace}:{akce} -F objekt={url-stranky}" -F "access_token=..

Facebook - Open Graph protocol - Open Graph protocol - http://ogp.me/ - Metadata pro popis objektů. - Využívá i Google+ - https://developers.facebook.com/tools/debug <meta property="og:title" content="the Rock" /> <meta property="og:type" content="video.movie" /> <meta property="og:url" content="http://www.imdb.com/title/tt0117500/" /> <meta property="og:image" content="http://ia.media-imdb.com/images/rock.jpg" />

Facebook - Social Plugins - Miniaplikace pro webové stránky. - Tlačítka Like, Share, Send a Follow - Embedded Posts - Comments Plugin - Activity Feed - Registration - Recommendations Bar - A další https://developers.facebook.com/docs/plugins/

Google API https://cloud.google.com/console - Vše je vázáno na aplikaci. - Velká škála služeb/api (REST) Maps, YouTube, Google+, Translate, Visualisation, Analytics, AdSense, Calendar, Drive, Web Fonts, Cloud Storage, Cloud SQL a spousta dalších. - Kvalitní dokumentace. - Oficiální knihovny pro širokou škálu jazyků JavaScript, Python, Java, Ruby, PHP, Go, C#

Google Maps https://cloud.google.com/console - Oficiální SDK: Web (JavaScript), ios a Android - Vyžaduje API klíč. - Vlastní vrstvy a značky. - Zdarma ale omezení na počet požadavků. - Zahrnuje další API: - Directions - Distance Matrix - Elevation - Geocoding - Time Zone <script type="text/javascript src="https://maps.googleapis.com/maps/api/js?key=api_key&sensr =SET_TO_TRUE_OR_FALSE"> <script type="text/javascript"> function initialize() { var mapoptions = { center: new google.maps.latlng(-34.397, 150.644), zoom: 8, maptypeid: google.maps.maptypeid.roadmap }; var el = document.getelementbyid("map-canvas"); var map = new google.maps.map(el, mapoptions); } google.maps.event.adddomlistener(window, 'load', initialize); </script>

Google+ widgets - Tlačítka +1, Follow a Share - Embedded posts - Badge - Snippet https://developers.google.com/+/web/

OAuth 2.0 - Otevřený standard pro autorizaci (ne autentizaci) přístupu k datům uživatele. - Pro bezpečný běh vyžaduje SSL (HTTPS). - Obsahuje několik procesů/toků autorizace: - User-Agent Flow - Web Server Flow - Username and Password Flow - Assertion Flow - Client Credentials Flow - Využívá jej Facebook, Google, Twitter a spousta dalších serverů.

OAuth 2.0 Web Server Flow

OAuth 2.0 User-Agent Flow

Další API - Twitter sociální síť - https://dev.twitter.com/ - Dropbox API uložiště - https://www.dropbox.com/developers - Box.net uložiště - http://developers.box.net/ - Flickr fotografie - http://www.flickr.com/services/api/ - Last.fm hudba - http://www.last.fm/api - Foursquare sociální síť - https://developer.foursquare.com/ - Evernote poznámky - http://dev.evernote.com/doc/ - Mapy.cz mapy - http://api.mapy.cz/ - Vimeo video - http://developer.vimeo.com/