160 likes | 284 Views
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
E N D
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 • 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