Pokroky v technologiích (2)

Download Report

Transcript Pokroky v technologiích (2)

Pokroky
v technologiích (2)
Špicové nové věci pro mobilní aplikace, JSON,
REST a samozřejmě i SOAP
Trendy - výzvy
• Nové platformy
• Nové OS
• Téměř vše je dnes mobilní (přenosné)
• Vše komunikuje se vším
Technologické výzvy
• Snížit komplexnost
• Snížit energetickou náročnost
• Zlepšit čitelnost přenášených dat
• Zajistit bezpečnost přenášených dat
Technologické odpovědi
• JSON
• JavaScript Object Notation
• REST
• REpresentational State Transfer
• Softwarová architektura, užívá prostředí Webu
• RESTful services
• Webové služby postavené na REST architektuře
• SOAP profily
• Mj. slouží k zabezpečení komunikace a dat
přenášených webovými službami
JSON
• Textově orientovaný standard pro výměnu dat
v lidsky čitelné podobě
• Odvozen z javascriptu, ovšem jazykově
nezávislý
• Primárně slouží k přenosu (serializace,
deserializace) objektů a asociativních polí
mezi aplikacemi
• Var sympozium = { “kde” : “Štiřín”, “kdy” : { “rok” : 2013 , “mesic” : 6 } }
• Var sympObject = JSON.parse(symposium)
JSON a Caché
• ZEN JSON provider
• Třída %ZEN.Auxiliary.jsonProvider
• %ObjectToJSON(oref)
• %ConvertJSONToObject(string,.oref)
• Podpora Node.js
• Cache.node modul
REST
• Není to standard!
• Založen na bezestavové komunikaci nad
(téměř bezvýhradně) HTTP protokolem
• Softwarová architektura pro tvorbou síťových
aplikací
• Myšlenka REST je založena na jednoduché
a přímé komunikaci síťových prvků (aplikací)
na HTTP protokolu
• Opak k CORBA, RPC, SOAP
REST
• Operace
REST
HTTP
CREATE
POST
RETURN
GET
UPDATE
PUT
DELETE
DELETE
• Koncepty
• Zdroj – poskytovaná služba
• URI – unikátní ID zdroje
• /faktury/cislo/1245
/faktury/firma/InterSystems
• Reprezentace
• XML / HTML / JSON / CSV …
RESTové webové služby
• Musí vyhovět jistým omezujícím podmínkám
• Jednotné rozhraní – všechny zdroje musí mít jednotné
rozhraní pro komunikaci sestávající z
• omezené množiny operací (Get, Post, Put, Delete)
• omezeného typu reprezentací dat (xmol, html, csv, ...)
• Klient-Server – data musí být oddělena od prezenční vrstvy
• Bezestavovost – každý dotaz musí nést dostatečnou
informaci k udržování kontextu apliakce
• Kešování – umožnuje eliminovat redundantní přenosy dat
REST URL
• URL musí být
• Krátké, smysluplné, čitelné, bezestavové
• Nemělo by obsahovat
• Přípony
• Smíchaná malá a velká písmena
• Znaky vyžadující URL kódování (encoding)
• Příklady
• http://mujweb.com/erp/sklad/idpolozky=1245
REST a Caché
• Třída %CSP.Request od verze 2013.2
• Upravené UI pro definování Web Aplikací
v Portálu
REST a Caché
• Třída %CSP.Rest od verze 2013.2
• REST rozhraní impelemtujete subklasnutím
výše uvedené třídy
• Upravené UI pro definování Web Aplikací
v Portálu
• Dispatch Class: váš potomek třídy %CSP.Rest
REST a Caché
• XDATA UrlMap
• Routes
• Route , Url, Method, Call
ukázka!
WebSockets
• WebSocket je technologie poskytující plně duplexní
komunikační kanály nad TCP
• Navrženy k implementaci v prostředí webových prohlížečů
a serverů
• Umožňuje interakci mezi klientem (prohlížeč) a serverem aniž
by bylo nutno provádět sérii AJAX dotazů, spojení mezi
serverem a klientem je trvale otevřené
• AJAX = pull
• WebSockets = push / pull
• Komunikace probíhá na standardním portu 80
• Kde použít?
• Dlouhé asynchronní zpracování dotazů
Web Services
• WS-Policy
• průvodce konfigurací bezpečnostní politikou SOAP
služby
• WS-Addressing
• API pro začlenění WSA hlavičky do hlavičky SOAP
• WS-Reliable Messaging
• API pro práci se sekvencemi SOAP dotazů
Pokroky
v technologiích (2)
Špicové nové věci pro mobilní aplikace, JSON,
REST a samozřejmě i SOAP