BSG Tech Insights Blog

SAP Joule 이해하기 시리즈 #3- Joule의 아키텍처

작성자: BSG Partners | 2025. 7. 21 오전 7:55:10

이번 블로그에서는 Joule의 아키텍처를 심층적으로 살펴보겠습니다!

지금까지 학습한 내용을 간단히 요약하면 다음과 같습니다:

  • Joule은 고급 생성형 AI 코파일럿입니다.
  • SAP S/4HANA, SAP SuccessFactors 등 다양한 SAP 애플리케이션에 내장되어 있습니다.
  • 사용자는 SAP 클라우드 솔루션에 내장된 Joule 클라이언트에서 자연어로 질문을 입력합니다.
  • Joule은 이 프롬프트를 분석한 후, 더 풍부한 쿼리를 LLM(Large Language Model)에 전달하고, 최종적으로 보안성 있고 정확하며 적절한 응답을 사용자에게 반환합니다.

이제 Joule의 아키텍처를 살펴보겠습니다. 아래 이미지는 Joule과 그 생태계의 주요 구성 요소를 보여줍니다.


우선, 중요한 몇 가지 사항을 짚고 넘어가겠습니다:

  • 기술적으로, Joule은 SAP BTP(비즈니스 기술 플랫폼)의 Cloud Foundry 환경에서 실행되는 서비스입니다.
  • Joule은 SAP S/4HANA, SuccessFactors, SAP Start, SAP Build Work Zone, Ariba, CX 등 다양한 SAP 클라우드 솔루션과 통합되어 있습니다.
  • 사용자는 SAP 사용자 인터페이스 오른쪽 상단의 다이아몬드 아이콘을 통해 Joule에 접근할 수 있습니다.
  • 인증 및 권한 부여는 SAP Cloud Identity Services를 통해 처리됩니다.

이제 위 이미지를 기반으로 각 단계별 흐름을 살펴보겠습니다:

  1. 사용자 입력
    예: 한 관리자가 SAP SuccessFactors에 내장된 Joule UI에 "내 대기 중인 휴가 요청을 보여줘"라고 입력합니다.


  2. Joule 서비스로 요청 전달
    Joule UI는 사용자의 요청을 SAP BTP에 호스팅된 Joule 서비스로 전달합니다.

  3. 프롬프트 분석 및 API 호출 판단
    앞선 블로그(#2)에서 설명했듯, Joule은 프롬프트를 분석해 LLM에 전달하거나 SAP 클라우드 애플리케이션에 접근하기 위한 명령을 생성합니다.

    이 예시에서는 휴가 요청 데이터가 SuccessFactors에 저장되어 있으므로 해당 데이터를 가져와야 합니다.

  4. SAP BTP Destination을 통해 연결 설정
    Joule은 SAP BTP에 사전 구성된 Destination을 이용해 SuccessFactors와 보안 연결을 설정합니다.

  5. Connectivity Service 경유
    이 요청은 SAP BTP의 Connectivity Service를 통해 전달됩니다. 온프레미스 시스템일 경우 보안 터널이 생성됩니다.

  6. OData API 호출
    Joule은 OData API를 호출해 필요한 데이터를 조회합니다.

    예: SuccessFactors의 API를 호출하여 사용자의 대기 중인 휴가 요청을 가져옵니다.

  7. 응답 포맷팅 및 UI 반환
    Joule은 받은 데이터를 적절히 포맷팅하여 UI에 표시합니다.

    예: "현재 대기 중인 휴가 요청이 3건 있습니다. John, Lisa, Mark의 요청입니다."

  8. 앱으로 이동할 경우 Navigation Target Mapping 사용
    사용자가 앱으로 이동하고자 하면 SAP Build Work Zone의 Navigation Target Mapping 기능을 통해 관련 화면(예: 휴가 승인 페이지)을 엽니다.

  9. 전 과정에서 보안 처리
    • Identity Authentication: 사용자를 인증하여 Joule 접근을 허용
    • Identity Provisioning: 사용자에게 Joule 및 SuccessFactors에서 필요한 권한을 부여

원문: SAP Community, Understanding Joule
기획자: 박진석