SW/Autosar

Adaptive Autosar RESTful Communication (Restful 통신)

얇은생각 2018. 11. 16. 09:24
반응형

개요

통신 스택인 ara::com, ara::rest는 모두 Adaptive Application 프로그램 간에 통신 경로를 설정할 수 있습니다. Ara::rest는 RESTful API와 특정 API를 빌드하는 프레임워크입니다. 직접 RESTful 서비스를 구성하기 위해 특정 API를 정의하지 않습니다. 이 프레임워크는 모듈화되어 있습니다. 개발자는 RESTful 메시지 트랜잭션과 관련된 여러 계층에 직접 액세스 할 수 있습니다. ara:com의 초점은 기존의 함수 호출 인터페이스를 제공하고 이 시점을 넘어서 트랜잭션의 모든 세부 사항을 숨겨야 합니다. 다른 중요한 차이점은 ara:rest가 비 autosar와 상호 운용성을 보장해야 하는 것입니다. 예를들어, ara::rest 서비스는 모바일 HTTP / JSON 클라이언트와 통신하며 반대의 경우도 마찬가지입니다. 

 


구조

ara::rest의 구조는 api 수준뿐만 아니라 서비스 수준에서 개발자를 지원하는 모듈 식 디자인을 기반으로 합니다. 아래 그림은 일반적인 디자인을 보여줍니다. ara::rest로 서비스 응용 프로그램을 구성하는 방법입니다.

 

ara :: rest 스택 구조

 

ara::rest의 일반적인 REST 계층은 트리 구조 메시지 페이로드, URI 및 요청 메소드(HTTP에서 알려진 GET또는 POST와 같은)의 세가지 기본 추상화만을 제공하고 있습니다. 이 기본으로부터 오브젝트 그래프, URI 및 메소드를 통한 통신을 위해 구체적인 고수준 프로토콜을 정의하는 도메인 별 RESTful API를 작성할 수 있습니다. 그 목적은 도메인 특정 데이터 모델에 액세스 하기 위한 규칙을 정의하고 응용 프로그램에 추상 API를 제공하는 것입니다. 이 Domain API를 사용하는 대신 Adaptive Application이 추상화가 필요하지 않을 때 ara::rest를 직접 사용할 수 있습니다. 

 


컴포넌트

ara::rest의 컴포넌트는 아래와 같습니다. 


ara::rest components 

 

Object Graph는 모든 ara::rest 통신의 초석인 프로토콜 바인딩으로 독립적인 트리 형태의 데이터 구조입니다. 그 목적은 JSON과 같은 프로토콜 형싱과 C 구조체에 매핑하는 것입니다. 이것은 비 ARA 통신 피어 및 Classis AUTOSAR와의 호환성을 극대화합니다. 


Object Graph는 구체적인 기본 프로토콜 바인딩에서 완전히 추상화된 메시지로 전송합니다. 개발자는 필요한 경우 프로토콜 별 세부 정보에 액세스 할 수 있습니다. 메시지는 ara::rest의 비동기 프로그래밍 모델에서 요청 / 응답 통신 주기의 전체 컨텍스트를 캡슐화합니다. 라우팅은 요청을 사용자 정의 처리기 기능에 매핑하는 수단을 제공합니다. 추상 REST를 특정 종류의 RESTful API로 추상화하는 초석인 것입니다. uri는 일반적인 RFC 호환입니다. 하지만 URI는 매우 효율적인 표현입니다. 


ara::rest는 서버 및 클라이언트 통신을 위해 네트워크의 종단점을 제공합니다. 양쪽다 비슷한 수준의 자원 제어를 제공합니다. 단일 및 다중 코어 시스템에서 빠르고 효율적인 통신 기능을 제공하도록 설계하였습니다. 전체 프레임워크 설계는 엄격하게 최대 자원 제어를 목표로 합니다. 모든 계산 및 할당을 엄격하게 제어합니다. 응용 프로그램의 정확한 요구사항에 맞게 개발자가 지정할 수 있습니다.

반응형