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 Podpora Node.js 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 … REST HTTP CREATE POST RETURN GET UPDATE PUT DELETE
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 Nemělo by obsahovat Příklady 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 WS-Addressing WS-Reliable Messaging 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