SOA (Service-Oriented Architecture) — 네트워크 상의 통신 프로토콜을 이용해 서비스를 다른 장치에 제공하는 SW 아키텍처. 차량 분야에서는 Vehicle Centralized Architecture와 결합해 기존 시그널 기반 정적 통신의 한계를 극복하는 통신 패러다임 전환을 이끈다.

개념

  • 서비스 = 기능(Functionality)의 일부분. 공통 인터페이스 표준과 아키텍처 패턴을 사용.
  • 서비스는 새로운 애플리케이션에 신속하게 통합될 수 있음.
  • 개발자는 기존 기능의 재개발·복제나 재사용 방법 탐색 부담을 줄일 수 있음.
  • 일반적 흐름: 서비스 조회 → 인터페이스 정보 수신 → 해당 기능을 네트워크로 활용.
  • IoT 분야 MQTT 등에서 널리 사용 중.

차량 적용의 의미

  • 차종·차량 옵션·제어기 제조사·제어기 위치에 무관하게 다양한 서비스 개발 가능.
  • Vehicle Computer가 설치된 제어기의 기능·정보를 동적으로 파악·활용.
  • 기존 복잡한 기능을 제공하던 제어기는 단계적으로 단순화되어 센서·액추에이터로 역할 축소.

SOME/IP

차량 도메인에서 SOA를 구현하는 대표 미들웨어. 2011년 BMW가 제안했으며, Classic/Adaptive AUTOSAR·GENIVI 등 다양한 환경에서 활용된다. 파일 시스템에 의존하지 않는 서비스 기반 통신을 지원하도록 설계되어 Classic AUTOSAR ECU에서도 동작한다.

→ 헤더 구조, Serialization, 통신 패턴 4종(Req/Res, Fire&Forget, Notification, Field), Service Discovery 등 상세는 IP 참조.

RPC (Remote Procedure Call)

SOA가 의존하는 기본 통신 메커니즘. SOME/IP의 주된 용도 중 하나.

  • OS나 HW에 독립적으로 네트워크에 연결된 다른 컴퓨터의 Process(함수)를 원격으로 호출.
  • 필요 정보:
    • 어떤 함수가 제공되는지 (서비스 목록).
    • 호출 시 필요한 파라미터 정의.
  • 네트워크로 요청을 보내고 결과를 받는 통신 프로토콜이 필요 → IP가 차량 도메인에서 이 역할을 수행.

Proxy Server

클라이언트의 자원 요청과 서버의 자원 제공 사이에서 중개자 역할을 하는 서버 애플리케이션. RPC 호출의 위치 투명성(location transparency)을 구현하는 일반적 패턴이며, SOME/IP도 이 개념을 차용한다.

Signal Oriented Communication와의 대조

SOA 도입의 동기는 Signal Oriented Communication의 경직성 극복에 있다. (Signal Oriented 상세는 signal-oriented-communication 참조.)

Signal Oriented (CAN DB, Fibex)Service Oriented (SOME/IP)
정의 시점차량 개발 시 정적 확정실행 시점에 동적 조회·바인딩
단위메시지 ID + 시그널 위치·크기서비스 (함수 + 파라미터 정의)
양산 후 변경사실상 불가가능 (서비스 추가·교체)
수신자 관리브로드캐스트, DB 미정의 수신자 존재 가능서비스 구독 모델
구조 변경 영향시그널 재배치가 인접 시그널에 영향인터페이스 계약 유지 시 내부 구현 자유
적합 아키텍처DomainVehicle Centralized

같이 보기