Pokroky v technologiích (2)
Špicové nové věci pro mobilní aplikace, JSON, REST a samozřejmě i SOAP
• Nové platformy
• Nové OS
• Téměř vše je dnes mobilní (přenosné)
• Vše komunikuje se vším
Trendy - 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é výzvy
• 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
Technologické odpovědi
• 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
• ZEN JSON provider• Třída %ZEN.Auxiliary.jsonProvider• %ObjectToJSON(oref)• %ConvertJSONToObject(string,.oref)
• Podpora Node.js• Cache.node modul
JSON a Caché
• 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
REST HTTP
CREATE POST
RETURN GET
UPDATE PUT
DELETE DELETE
REST
• Operace
• Koncepty
• Zdroj – poskytovaná služba
• URI – unikátní ID zdroje
• /faktury/cislo/1245/faktury/firma/InterSystems
• Reprezentace
• XML / HTML / JSON / CSV …
• 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
RESTové webové služby
• 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 URL
• 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
REST a Caché
ukázka!
• 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ů
WebSockets
• 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ů
Web Services
Pokroky v technologiích (2)
Špicové nové věci pro mobilní aplikace, JSON, REST a samozřejmě i SOAP