Кіріспе

Ашық бастапқы кодты бағдарламалық қамтамасыз ету

Интернет байланыс қозғалтқышы, немесе Ice – ZeroC компаниясы әзірлеген ашық бастапқы кодты RPC фреймворкі. Ол C++, C#, Java, JavaScript, MATLAB, Objective C, PHP, Python, Ruby және Swift тілдері үшін SDK жиынтығын ұсынады және Linux, Windows, macOS, iOS және Android сияқты әртүрлі операциялық жүйелерде жұмыс істей алады. Ice, TCP, TLS, UDP, WebSocket және Bluetooth арқылы жұмыс істейтін, Ice протоколы деп аталатын, авторлық құқықпен қорғалған қосымша қабат байланыс протоколын іске асырады. Атынан көрініп тұрғандай, Ice интернет арқылы байланыс жасайтын қосымшалар үшін қолайлы және брандмауэрлерді (firewalls) өткізуге мүмкіндік беретін функционалдықты қамтиды.

Тарих

Бастапқыда 2003 жылдың ақпан айында жарық көрген Ice, дизайнында Common Object Request Broker Architecture (CORBA) архитектурасының ықпалында болды, тіпті оны бірнеше белгілі CORBA әзірлеушілері, соның ішінде Мичи Хеннинг жасаған. Алайда, ZeroC компаниясы мәлімдегендей, ол CORBA-дан кіші және аз күрделі, себебі оны тәжірибелі әзірлеушілердің шағын тобы жасады, емес комитет шешімімен жасалған. 2004 жылы Mutable Realms компаниясының "Wish" атты ойынында Ice пайдаланғаны хабарланды. 2008 жылы Big Bear Solar Observatory 2005 жылдан бері бұл бағдарламалық жасақтаманы қолданып келе жатқаны мәлім болды. Ice-тің бастапқы коды 2015 жылдың мамыр айынан бері GitHub-та қолжетімді.

Құралымдары

Ice компоненттеріне объектіге бағытталған қашықтан объектіні шақыру, көшірмелеу, тор есептеу, қатеге төзімділік, жүктемені бөлу, өрт қабырғасынан өту және жазылу-хабарлау қызметтері кіреді. Бұл қызметтерге қол жеткізу үшін, бағдарламалар тілге тәуелсіз IDL сияқты синтаксиспен жазылған "slice" деп аталатын шұғыл кітапханаға немесе жинастыруға байланыстырылады.

Мұзды дауыл

Бұл объектіге бағытталған жариялау және жазылу аясы, сонымен қатар федерацияны және қызмет сапасын қолдайды. Tibco Software-дің Rendezvous немесе SmartSockets сияқты басқа жариялау-жазылу аяларынан айырмашылығы, хабарлама мазмұны құрылымдалған мәтін емес, жақсы анықталған сыныптардың объектілерінен тұрады.

IceGrid (Ауылдық желі)

объектіге бағытталған жүктеме теңгерімі, қателіктерді жою, объектілерді іздеу және тіркеу қызметтерін ұсынатын фреймворктер жиынтығы.

IcePatch (Бұз жапсырмасы)

ICE-ге негізделген бағдарламалық қамтамасты енгізуді жеңілдетеді. Мысалы, егер пайдаланушы бірнеше серверге жаңа мүмкіндіктерді немесе түзетулерді орнатуды қаласа, IcePatch-ті пайдалана алады.

Мұздық

ICE – бұл өрт қабырғалары арқылы байланысты қамтамасыз ететін прокси-сервис, осы арқылы ICE интернет-коммуникациялық жүйесіне айналады.

IceBox (Бұздық)

Icebox – dll немесе осыған ұқсас кітапханаларда жүзеге асырылған орындалатын қызметтердің сервистік архитектураға бағытталған контейнері. Бұл әрбір қызмет үшін толық орындалатын файлды жасауға қарағанда жеңіл әлтернатива.

Қисық

Slice – бағдарламашылар компьютерлік тілге тәуелсіз жарияланымдар мен сыныптардың, интерфейстердің, құрылымдардың және тізілімдердің анықтамаларын өңдеу үшін қолданатын ZeroC-ге тиесілі файл форматы. Slice анықтамалары файлдары түйіндерді жасау процесінде кіріс ретінде пайдаланылады. Түйіндер өз кезегінде интерфейстер мен сыныптар негізінде бір-бірімен байланыс құруға тиіс қосымшалар мен серверлерге қосылады, бұл байланыс Slice анықтамаларында жарияланған/анықталғандай болады. CORBA-дан басқа, сыныптар мен интерфейстер мұрагерлік және абстрактілі сыныптарды қолдайды. Сонымен қатар, Slice кодты құру процесін бағыттау үшін макростар мен атрибуттар түрінде конфигурациялау опцияларын ұсынады. Мысалы, әдепкі STL вектор<double> үлгісін құру орнына, белгілі бір STL тізім<double> үлгісін құруға бағыттайтын директива беріледі.