인터넷 통신 엔진

Internet Communications Engine
인터넷 통신 엔진
개발자제로C
안정된 릴리스
3.7.6 / 2021년 6월 21일, 13개월 전(2021-06-21)
저장소
플랫폼크로스 플랫폼
유형리모트 프로시저 호출 프레임워크
면허증.GPL / 독자 사양
웹 사이트zeroc.com

Ice(Internet Communications Engine)는 ZeroC가 개발한 오픈소스 RPC 프레임워크입니다.C++, C#, Java, JavaScript, MATLAB, Objective-C, PHP, Python, Ruby Swift용 SDK를 제공하며 Linux, Windows, macOS, iOS[1]Android를 포함한 다양한 운영 체제에서 실행할 수 있습니다.

Ice는 Ice 프로토콜이라 불리는 독점 애플리케이션 계층 통신 프로토콜을 구현하여 TCP, TLS, UDP, WebSocket[2][3]Bluetooth통해 실행할 수 있습니다.이름에서 알 수 있듯이 Ice는 인터넷을 통해 통신하는 애플리케이션에 적합하며 방화벽을 통과하는 기능을 포함합니다.

역사

2003년 [4]2월에 처음 출시된 Ice는 디자인에서 CORBA(Common Object Request Broker Architecture)의 영향을 받았으며, 실제로 Michi Henning을 포함한 여러 영향력 있는 CORBA 개발자들에 의해 만들어졌습니다.그러나 ZeroC에 따르면 [5]CORBA보다 작고 복잡하지 않은 이유는 위원회의 설계에 시달리는 대신 경험이 많은 개발자들의 소규모 그룹에 의해 설계되었기 때문이다.

2004년, 뮤터블 레름스라는 회사가 만든 "위시"라는 게임이 [6]얼음을 사용했다고 보고되었다.2008년, Big Bear 태양 [7]관측소가 2005년부터 이 소프트웨어를 사용했다고 보고되었다.Ice의 소스 코드 저장소는 2015년 [8]5월부터 GitHub에 있습니다.

구성 요소들

ice 컴포넌트에는 객체 지향 리모트 오브젝트 호출, 레플리케이션, 그리드 컴퓨팅, 페일오버, 로드 밸런싱, 방화벽 트래버설, 퍼블리시 서브스크라이브 서비스가 포함됩니다.이러한 서비스에 액세스 하기 위해서, 애플리케이션은, 슬라이스라고 불리는 언어에 의존하지 않는 IDL과 같은 구문으로부터 생성되는 stub 라이브러리 또는 어셈블리에 링크 됩니다.

ICEgrid.png

아이스스톰

는 페더레이션과 QoS(Quality-of-Service)도 지원하는 객체 지향 퍼블리시 앤 디버깅 프레임워크입니다.Tibco Software의 Rendezvous 또는 SmartSockets와 같은 다른 게시-구독 프레임워크와 달리 메시지 내용은 구조화된 텍스트가 아닌 잘 정의된 클래스의 개체로 구성됩니다.

아이스 그리드

오브젝트 지향 로드밸런싱, 페일오버, 오브젝트 스위트 및 레지스트리 서비스를 제공하는 프레임워크 스위트입니다.

아이스 패치

는 ICE 기반 소프트웨어의 도입을 용이하게 합니다.예를 들어 여러 서버에 새로운 기능 및/또는 패치를 도입하려는 사용자는 IcePatch를 사용할 수 있습니다.

빙하

는 방화벽을 통한 통신을 가능하게 하는 프록시 기반 서비스입니다.따라서 ICE는 인터넷 통신 엔진이 됩니다.

아이스박스

Icebox는 .dll 또는 .so 라이브러리에 구현된 실행 가능한 서비스의 서비스 지향 아키텍처 컨테이너입니다.이는 모든 서비스에 대해 전체 실행 파일을 구축하는 것보다 더 가벼운 대안입니다.

조각을 내라

슬라이스는 컴퓨터 언어의 독립 선언과 클래스, 인터페이스, 구조 및 열거의 정의를 편집하기 위해 프로그래머가 따르는 ZeroC 전용 파일 형식입니다.슬라이스 정의 파일은 stub 생성 프로세스에 대한 입력으로 사용됩니다.다음으로 스텁은 슬라이스 정의에 의해 선언/정의된 인터페이스 및 클래스를 기반으로 서로 통신해야 하는 애플리케이션 및 서버에 링크됩니다.

CORBA와는 별도로 클래스와 인터페이스는 상속 클래스와 추상 클래스를 지원합니다.또한 슬라이스는 코드 생성 프로세스를 지시하는 매크로 및 속성 형식으로 구성 옵션을 제공합니다.예를 들어 특정 STL을 생성하도록 지시하는 경우가 있습니다. list<double>STL을 생성하는 기본 템플릿 대신vector<double>템플릿입니다.

「 」를 참조해 주세요.

메모들

  1. ^ "Ice - Comprehensive RPC Framework". zeroc.com. Retrieved 2018-04-27.
  2. ^ "Ice - Comprehensive RPC Framework". zeroc.com. Retrieved 2019-02-08.
  3. ^ "Does ICE uses any http protocol for communication". ZeroC. Retrieved 2019-08-13.
  4. ^ Laukien, Marc. "Project: The Internet Communications Engine". ZeroC Forums. Retrieved 16 January 2021.
  5. ^ "Differences between Ice and CORBA". Archived from the original on March 18, 2013. Retrieved July 17, 2013.
  6. ^ Michi Henning (February 1, 2004). "Massively Multiplayer Middleware". Queue. ACM. Retrieved July 17, 2013.
  7. ^ Sergij Shumko (November 2, 2008). "Ice middleware in the New Solar Telescope's Telescope Control System" (PDF). Astronomical Data Analysis Software and Systems XVII, ASP Conference Series, Vol. XXX, 2008. Quebec City, Canada. Archived from the original (PDF) on August 25, 2012. Retrieved July 17, 2013.
  8. ^ Normier, Bernard. "Ice has moved to GitHub!". ZeroC Forums. Retrieved 8 February 2019.

외부 링크