Управление на сокет връзки между мобилни приложения и облачни среди
Как доставчиците на облак управляват връзките между мобилните приложения и облака
Традиционната връзка между софтуерните технологии от страна на клиента и от страна на сървъра, осъществявана чрез софтуерно решение, се нарича сокет. Когато ИТ индустрията премина от статични дебели клиенти към мобилни тънки клиенти, използването на сокета остана непроменено. С течение на времето обаче гнездата са се развили и са станали по-сложни. В резултат на това за повечето хора е трудно да овладеят тази технология, камо ли да разберат напълно въпроси като използването на сокети в корпоративна среда или използването на сокети с мобилни и облачни технологии.
Основна информация за сокета
Типове гнезда
Сокетите се използват за установяване на сесии между клиент и сървър с цел извършване на транзакции или прехвърляне на данни. Когато разгръща и използва сокети, предприятието може да използва различни видове сокети и различни протоколи, в зависимост от вида на приложението, изискванията за сигурност и уменията на своите разработчици. Известни са следните типове сокети: Интернет сокети, поточни сокети, необработени сокети и сокети на домейни. Интернет гнездата и гнездата за стрийминг са най-популярни поради съображения като лекота на използване, архитектурни характеристики и широкото разпространение на уеб и сървърите за приложения в днешните центрове за данни.
Най-често срещаният стрийминг сокет се основава на стека TCP (Transmission Control Protocol) и често се използва за дебели клиентски приложения (имайте предвид, че TCP понякога се използва и за тънки клиентски връзки). В случай, че се изисква допълнителна сигурност за сокет връзки, можете да използвате подходящото решение, базирано на технологията SSL/TLS (Secure Sockets Layer/Transport Layer Security). SSL/TLS се използва заедно с HTTPS (HTTP през SSL) чрез инфраструктура с публичен ключ (PKI) за защита на данните при транзит. Моля, обърнете внимание, че технологията SSL/TLS често се изисква в случаите, когато данните са поверителни (лична информация; защитена медицинска информация; информация за банкови карти; информация за плащане, банкови или посреднически услуги и др.). Ако организацията трябва да увеличи гъвкавостта на своите връзки клиент-сървър, тя трябва да обмисли използването на т.нар. суров гнездо.
Суровите гнезда не разчитат на конкретен транспортен механизъм; следователно пакет, изпратен по връзка, използвайки необработени сокети, съдържа заглавка, както и самия суров пакет. Такива гнезда често се използват от някои мрежови устройства (а именно защитни стени и рутери), които използват Internet Protocol Message Protocol и Internet Group Management Protocol. Понякога кодът за вътрешни системи се пише с възможност за използване на сурови сокети поради тяхната гъвкавост; следователно такива сокети могат да се използват в контекста на частен вътрешен облак. Предприятията, използващи системи UNIX®, имат възможността да използват различен вид гнезда, т.нар. домейн сокети.
Сокетите за домейни използват протоколи IPC (Interprocess Communication). IPC сокетите често се използват за стари платформи като UNIX. Въпреки че търсенето на взаимосвързани мейнфрейм системи с мобилни или облачни среди може да изглежда незначително, такава необходимост може да възникне, така че това предизвикателство трябва да бъде споменато. Независимо от вида на използваните гнезда, всички гнезда имат определена основна структура на разработка и употреба, която ще бъде разгледана в следващия раздел.
Структура на гнездото
Twisted framework използва сокет рамка, която отразява неговия поток и архитектура на събитията; следователно - както при TCP/Stream базирани сокети в Windows® среда (т.е. WinSock) - рамката на тази платформа ще демонстрира активно използване на клиентски обратни извиквания (вж. фигура 1).
Фигура 1. Взаимодействие между WinSock клиент и WinSock сървър


От гледна точка на кода, за да подобрите разбирането си за структурата на сокета, помислете за сокети на домейни, създадени с помощта на езика за програмиране C за платформа като UNIX на основната платформа. Листинг 1 илюстрира структурирането на сокети на домейни, използвайки C на UNIX.