Nowy protokół przyspiesza działanie sieci

W ciągu ostatnich 15 lat aplikacje internetowe stopniowo zastępowały aplikacje oparte na innych protokołach sieciowych we wszystkim, od komunikacji osobistej po domowe liczniki energii elektrycznej. Ale w protokole przesyłania hipertekstu jest poważna wada — HTTP — system używany do komunikacji w sieci. Protokół HTTP został pierwotnie zaprojektowany do obsługi prostych dokumentów i plików w przeglądarkach internetowych, a nie do złożonej interakcji w czasie rzeczywistym.





Zgodnie z pierwotnym protokołem HTTP klient, taki jak przeglądarka internetowa, musi otworzyć połączenie z serwerem, złożyć żądanie, poczekać na odpowiedź, a następnie zamknąć połączenie. Jeśli klient potrzebuje więcej danych, musi otworzyć nowe połączenie. To tak, jakby odłożyć słuchawkę i ponownie wybrać numer po każdym zdaniu rozmowy. A jeśli serwer ma nowe informacje dla klienta, musi poczekać, aż klient ich zażąda, zamiast wysyłać je natychmiast.

Ta redundancja nadszarpuje przepustowość. Co gorsza, prawie niemożliwe jest utrzymywanie klienta sieci Web wypełnionego najświeższymi informacjami. W niektórych sytuacjach, takich jak handel finansowy, te utracone milisekundy mogą oznaczać stracone okazje.

Twórcy stron internetowych od lat omijają ograniczenia HTTP za pomocą technik programowania, takich jak Kometa , co opóźnia zamknięcie połączenia HTTP w celu przesłania większej ilości danych. Ale tak naprawdę chcą połączenia między klientem a serwerem, które pozostaje otwarte przez czas nieokreślony i umożliwia obu stronom przesyłanie danych tam iz powrotem w razie potrzeby.



Prawie kompletny standard HTML5 dla obecnego i przyszłego oprogramowania internetowego zawiera właśnie takie rozwiązanie, nowy protokół o nazwie WebSockets. Protokół ten umożliwia klientowi sieci Web tworzenie połączenia, utrzymywanie go otwartego tak długo, jak chce, a także ciągłe wysyłanie i odbieranie danych.

Kaazing , startup z siedzibą w Mountain View w Kalifornii, był wiodącym deweloperem standardu WebSockets. Firma sprzedaje teraz produkt, który służy jako brama programowa, umożliwiając połączenia WebSocket między istniejącymi klientami sieci Web — przeglądarkami, telefonami i oprogramowaniem komputerowym — a systemami zaplecza, z którymi się łączą. CEO Jonas Jacobi , który spędził osiem lat pracując nad oprogramowaniem korporacyjnym opartym na Javie dla Oracle, mówi, że technologia WebSocket jest obiecująca nie tylko dlatego, że jest szybsza, ale także dlatego, że jest tańsza. Mówi, że eliminuje potrzebę stosowania wielu programów pośredniczących. Nie w tym miejscu firmy chcą umieszczać swoje zasoby inżynieryjne; chcą skupić się na ulepszaniu produktu, który dostarczają.

Do tej pory pierwsi klienci Kaazing byli zwykle w sektorze finansowym, gdzie w transakcjach w bankach, funduszach hedgingowych, giełdach i prywatnych firmach handlowych liczą się milisekundy. Firma nawiązała współpracę z Przetwarzanie danych , producent oprogramowania do przesyłania wiadomości, w celu opracowania systemu komunikacji wewnętrznej opartego na technologii WebSocket dla firm.



Mike Pickett, wiceprezes w Informatica, mówi, że atrakcyjność technologii WebSocket polega na tym, że jest ona agnostyczna w stosunku do konkretnego typu przeglądarki internetowej — IE, Firefox, Chrome. Programiści nie muszą pisać konkretnego rozszerzenia dla każdej przeglądarki, co często robią w przypadku rozwiązań obejściowych. (Obecnie Internet Explorer wymaga dodatku do obsługi WebSockets.) Chrome, Firefox, Opera i niektóre inne przeglądarki mają wbudowaną obsługę. Jeśli Twoja przeglądarka obsługuje WebSockets, możesz obejrzeć demo rynków finansowych aktualizujących się kilka razy na sekundę na dole ta strona .

Inni pierwsi klienci Kaazing to firmy hazardowe online, takie jak Unibet . Dzieje się tak dlatego, że obstawianie wymaga kursów co do sekundy, które trudno zapewnić bez trwałego połączenia.

Co ważne, WebSockets nie są wyłączne dla Kaazing. Google był wczesnym mistrzem. Oprócz wbudowania technologii w przeglądarkę Chrome, firma obsługuje witrynę, która pokazuje programistom jak to zaimplementować . Iana Hicksona , który prowadzi specyfikacje HTML5 dla Google, napisał na liście mailingowej Internet Engineering Task Force: Zmniejszenie kilobajtów danych do 2 bajtów […] i zmniejszenie opóźnień ze 150 milisekund do 50 milisekund to znacznie więcej niż marginalne. W rzeczywistości same te dwa czynniki wystarczą, aby WebSockets był naprawdę interesujący dla Google.



ukryć