Prvou kľúčovou funkciou SmartWeb platformy je možnosť jednotne pristupovať k dátam a službám D2000 s použitím univerzálneho API rozhrania. Toto API je nezávislé na použitej technológii klienta a je s ním možné získavať dáta a volať služby implementované v D2000.

Vo všeobecnosti môžme technológie online klient-server komunikácie rozdeliť na dve kategórie podľa povahy komunikácie. Do prvej skupiny patria technológie, kde výmenu dát iniciuje vždy klient a server odpovedá, tzv. Request - Response komunikácia. Druhá kategória je Publish - Subscribe komunikácia, kedy klient sa zaregistruje na odoberanie konkrétneho typu dát (subscribe) a server tieto dáta publikuje klientom ktorí o ne požiadali.

SmartWeb server implementuje ako Request - Response tak Publish - Subscribe komunikáciu cez nasledovné rozhrania:

  1. REST API realizuje Request - Response komunikáciu 
  2. Comet API realizuje ako Request - Response tak Publish - Subscribe komunikáciu

Obe rozhrania komunikujú s D2000 systémom cez JAPI knižnicu.

Rest API

Rest API je štandardné API pre webové a mobilné aplikácie. SmartWeb Rest API ponúka nasledovné možnosti:

  • načítavanie archívov
  • volanie akejkoľvek ESL RPC a Java RPC
  • downloading/uploading binárneho obsahu z/do D2000 cez SBA RPC

  • serializáciu všetkých typov aj štruktúry
  • selekciu návratových dát (časová známka, flagy, ...), downscaling
  • performance monitoring
  • autentifikácia, security, kompresia, response streaming, atď.

Obrázok ilustruje príklad použitia REST API rozhrania na volanie jednoduchéj D2000 RPC procedúry.


Comet API

Comet API poskytuje tie isté funkcie ako REST API a naviac:

  • subscription na D2000 objekt
  • registráciu javascript RPC volateľnej asynchrónne z D2000
  • notifikácie o session zo SmartWeb servera (expirácia, zaniknutie session)

SmartWeb Comet API je implementované cez knižnicu cometd, ktorej robusná funkcionalita je overená na riešeniach so 150 tis. používateľmi. Medzi výhody tejto knižnice patrí:

  • inteligentný výber optimálneho komunikačného protokolu na základe aktuálnych možností konekcie - Websocket, HTTP 1.1/2.0
  • pripojenie implementovateľné v akomkoľvek jazyku – otvorená špecifikácia
  • nízky payload na udržanie spojenia


Napíšte komentár