úterý 11. února 2014

Implementace WebSocketu v nadcházejícím WLS 12.1.3

Ve verzi WLS 12.1.3, která by měla být uvedena za pár týdnů, je integrována Open Source referenční implementace WebSocketu 1.0 zvaná Tyrus. Jedná se o verzi 1.3, což je předposlední stable release tohoto projektu. Díky tomu bude možné vyvíjet aplikace využívající standardní WebSocket 1.0 API, tak jak je specifikováno v JEE 7.
Pro zachování zpětné kompatibility bude ve WLS 12.1.3 a několika následujících releasech WebLogicu podporováno i WLS 12.1.2 WebSocket API, poté bude jeho podpora ukončena a bude z WebLogicu odstraněno.

Aplikace na WLS nebude moci využívat obou implementací WebSocketu, bude moci používat jen jednu z nich. Na jednom serveru však budou moci být současně nasazeny různé aplikace, využívající různé implementace WebSocketu.

Kromě toho bude WebLogic 12.1.3 obsahovat WebSockets Emulation klienta, díky kterému se bude možno vyhnout nekonzistentním HTML 5 implementacím na straně browseru a serveru. Na straně WebLogicu bude možno emulaci konfigurovat pro každou jednotlivou aplikaci zvlášť. Díky tomu si bude server moci v situacích, kdy není možné použít WebSocket connection napřímo, nastavit s různými klienty různé transportní mechanismy.

Dalším typem transportu, podporovaným ve WLS 12.1.3., bude HTTP long-polling transport. Na straně klienta bude k dispozici malý JavaScript klient (orasocket.js), který zajistí sestavení a správu tohoto long-polling spojení. Vývojáři budou moci na straně serveru nadále používat standardní WebSocket API, a na straně klienta HTML5 WebSocket JS API/objekt. Přenos datových paketů, ošetření lifecycle eventů apod. bude zajištěno transparentně pomocí long-polling transportu.