본문으로 건너뛰기
← 블로그로 돌아가기

이 글의 모듈: Integration Flow Helper

SAP CPI에서 Externalize Parameters, 단계 설정 복사, SAP Business Accelerator Hub에서 API 가져오기

고정된 주소를 한 번에 {{parameters}}로 바꾸고, 단계 설정을 다른 iFlow로 복사하고, OData 쿼리를 템플릿으로 저장하고, Hub에서 API를 가져오고, 샘플로 XPath를 확인하고, 매핑 표현식을 정렬하세요.

SAP Cloud Integration(SAP CPI) iFlow 작업에서 가장 시간이 많이 드는 일이 로직은 아닙니다. 같은 수신자 주소를 tenant 세 곳에 입력하고, Content Modifier 행 열 개를 한 iFlow에서 다른 iFlow로 손으로 옮기고, 지난달에 작성한 OData 쿼리를 다시 만들고, 엔터티 세트의 필드를 알아보려고 API 사양을 내려받는 일입니다.

이제 Kitegra Helper에는 SAP Integration Suite 디자이너 바로 옆에 이런 일을 위한 도구가 하나씩 있습니다. Externalize Parameters, OData 쿼리 템플릿이 포함된 단계 설정 복사·붙여넣기, SAP Business Accelerator Hub에서 가져오기, 샘플 페이로드로 XPath 확인, Message Mapping 표현식 정렬입니다. 이 글에서는 각 도구가 무엇을 하는지, 언제 iFlow를 바꾸는지, 무엇을 보관하는지 설명합니다.

한 번에 끝내는 Externalize Parameters

수신자 채널에 주소를 직접 적어 두면 DEV에서 QA, PROD로 옮길 때마다 iFlow 자체를 수정해야 합니다. SAP의 해법은 외부화된 파라미터입니다. 필드에는 {{Receiver_OData_Address}}를 적고, 값은 tenant마다 Configure에서 설정합니다. Externalize Parameters가 이 입력을 대신해 줍니다.

iFlow를 열고 SAP에서 Edit를 누른 뒤 Kitegra 메뉴에서 Externalize Parameters를 선택하세요. 패널에 tenant마다 달라지는 경우가 많은 고정 값이 나열됩니다.

  • 주소: URL, 호스트, 엔드포인트, 경로, 디렉터리, WSDL. 프록시 주소와 ProcessDirect, JMS 주소를 제외하면 미리 체크되어 있습니다.
  • 기타 값: 큐와 Data Store 이름, OData 경로와 쿼리, 타임아웃, 자격 증명 이름과 별칭, 포트.
  • Content Modifier와 Write Variables 테이블의 상수.

각 값에는 참여자와 필드를 바탕으로 만든 Receiver_OData_Address 같은 이름이 제안되며, 원하는 대로 바꿀 수 있습니다. 이미 {{…}}나 ${…}인 값은 그렇게 표시됩니다. 외부화를 클릭하면 체크한 필드가 열려 있는 iFlow의 파라미터가 됩니다. SAP에서 iFlow를 저장하기 전에는 아무것도 저장되지 않습니다.

실행한 뒤에는 실행 취소로 이전 값을 되돌릴 수 있고, 현재 값 복사는 각 파라미터를 그것이 대체한 값과 함께 복사합니다. 배포 후 SAP가 Configure에서 각 값을 물으면 거기에 붙여 넣으면 됩니다. 실행 취소를 위해 iFlow마다 최근 10번의 실행이 보관됩니다. 수신자 주소가 iFlow에 직접 적혀 있으면 iFlow Inspector의 설계 점검이 이 도구를 안내합니다.

단계 설정을 다른 단계나 iFlow로 복사하기

Kitegra 메뉴에서 단계 설정 복사·붙여넣기를 선택하고, 다이어그램에서 단계를 선택(또는 패널에서 고르기)한 다음 설정 복사를 클릭하세요. 복사본에는 단계의 헤더, 교환 속성, 어댑터 필드가 담깁니다. 패널은 이 브라우저의 모든 tenant와 iFlow에 걸쳐 최근 복사본 10개를 최신순으로 보관합니다.

붙여 넣으려면 SAP에서 Edit를 누르고 대상 단계를 선택한 뒤 …에 붙여넣기를 클릭합니다. 쓰기 전에 패널이 바뀔 필드를 나열합니다. 테이블마다 유지, 행 추가(복사한 행 중 없는 것만 추가), 행 바꾸기 중에서 고릅니다. 복사본은 같은 종류의 단계에만 들어가며 다른 iFlow로도 붙여 넣을 수 있습니다. 다만 EDMX 경로와 스크립트 필드는 원래 iFlow의 파일을 가리키므로 제외됩니다. 실행 취소는 마지막 붙여넣기로 바뀐 내용을 되돌립니다.

OData 쿼리 템플릿

같은 패널에 OData 쿼리 템플릿도 있습니다. 쿼리를 만들어 둔 OData 수신 채널을 선택하고 쿼리를 템플릿으로 저장을 클릭한 뒤 이름을 붙이세요. 템플릿에는 작업, 리소스 경로, 그리고 $select, $filter, $expand 같은 쿼리 옵션이 저장됩니다. 나중에 편집 모드에서 다른 OData 수신자를 선택하고 적용을 클릭하면 됩니다. 기존 이름으로 저장하면 그 템플릿을 대체합니다. 옵션 자체는 OData 수신자 쿼리 옵션을 참고하세요.

복사본과 템플릿은 이 브라우저의 확장 프로그램 저장소에 남습니다. Kitegra 계정과 동기화되지 않으며 어디로도 전송되지 않습니다.

SAP Business Accelerator Hub에서 API 가져오기

Helper는 EDMX에서 OData 엔터티 세트와 필드를, OpenAPI 파일에서 HTTP 경로를 제안합니다. Hub에서 가져오기를 쓰면 그 파일을 먼저 내려받을 필요가 없습니다. 확장 프로그램 팝업에서 샘플 페이로드와 API 사양이 있는 iFlow 페이지를 열고 SAP Business Accelerator Hub에서 가져오기를 찾으세요.

  1. 처음에는 액세스 허용을 클릭합니다. 브라우저가 api.sap.com 액세스를 한 번 요청하며, 동의하기 전까지 Kitegra에는 그 권한이 없습니다.
  2. API를 검색합니다. 예: API_PRODUCT_SRV. 검색에는 로그인이 필요 없습니다.
  3. 가져오기를 클릭합니다. 사양을 내려받으려면 이 브라우저에서 api.sap.com에 로그인되어 있어야 합니다. 로그인하지 않았다면 패널이 알려 주고 Hub를 엽니다.

그러면 OData API의 엔터티 세트와 필드가 그 iFlow에서 자체 EDMX가 없는 OData 수신자에 제안됩니다. REST API의 경로는 OpenAPI와 Postman 글에서 설명한 것처럼, 파일을 불러온 것과 똑같이 HTTP 필드에 제안됩니다. 사양은 iFlow마다 이 브라우저에만 최대 8MB까지 보관되며, 제거로 삭제할 수 있습니다.

샘플 페이로드로 확인하는 XPath

iFlow에 샘플 페이로드를 저장해 두면 Helper는 이미 그 샘플에서 XPath 경로를 제안합니다. 이제는 입력한 XPath도 확인합니다. 샘플의 어떤 노드와도 일치하지 않으면 필드 아래에 “샘플 페이로드에 이 XPath와 일치하는 노드가 없습니다.”라는 경고가 나타납니다. 일치하면 찾은 값이 정보 줄에 표시됩니다.

확인 대상은 Content Modifier 헤더와 속성, Write Variables의 XPath 행, XML Router 조건, XPath 분할기입니다. 저장한 샘플이 실제로 그 단계에 도달하는 경우에만 실행됩니다. 즉 본문을 바꾸지 않는 단계만 앞에 있는 XML 샘플이거나, JSON to XML Converter 하나를 거친 JSON 샘플일 때입니다. Local Integration Process, Exception Subprocess, 그리고 ${…}나 {{…}}로 만든 XPath에서는 조용히 있으므로, 경고가 뜨면 실제로 맞지 않는다는 뜻입니다.

Message Mapping 표현식 정렬하기

함수가 십여 개인 Message Mapping 표현식은 금세 선이 엇갈려 엉킵니다. 이제 표현식 캔버스에서 SAP 자체 버튼 옆에 정렬 버튼이 있습니다. 노드를 소스 필드에서 대상 쪽으로 배치합니다. 편집 모드에서는 저장하면 레이아웃이 유지되고, 옆의 실행 취소 버튼으로 되돌릴 수 있습니다. 보기 모드에서는 읽기 쉽게 해 줄 뿐이며, SAP가 표현식을 다시 그리면 레이아웃은 사라집니다. SAP에 저장되거나 전송되는 것은 없습니다. iFlow 다이어그램에도 편집 모드에서 쓰는 자체 정렬 버튼이 있으며 실행 취소도 됩니다.

iFlow에서 바뀌는 것

Externalize Parameters, 붙여넣기, 템플릿 적용은 디자이너에 열려 있는 iFlow에 씁니다. 편집 모드에서만 동작하며, 디자이너는 iFlow를 변경됨으로 표시합니다. 저장하거나 배포하지는 않습니다. SAP에서 저장하거나, Discard로 변경을 버리세요. 이 도구들은 모두 옵션 페이지의 “도구”에서 하나씩 끌 수 있으며, 끄면 디자이너에서 바로 사라집니다. Externalize, 단계 복사·붙여넣기, Hub에서 가져오기는 유료 요금제에 포함되며 Free에서도 몇 번 쓸 수 있습니다. XPath 확인과 정렬은 무료입니다. Kitegra 출시 기간에는 로그인한 모든 사용자가 모든 도구를 쓸 수 있습니다. 요금제 비교하기.

다음 iFlow에서 사용해 보세요

Kitegra이 SAP Integration Suite 디자이너에 무엇을 더하는지, 또는 Deploy를 누른 뒤 무엇을 하는지 읽어 보세요.

자주 묻는 질문

SAP CPI에서 수신자 주소를 어떻게 외부화하나요?

SAP에서 Edit를 누르고 Kitegra 메뉴에서 Externalize Parameters를 연 다음, 주소를 체크한 채로 이름을 확인하고 외부화를 클릭하세요. iFlow를 저장한 뒤 tenant마다 Configure에서 값을 설정합니다. 현재 값 복사로 붙여 넣을 이전 값을 얻을 수 있습니다.

Content Modifier 행을 다른 iFlow로 복사할 수 있나요?

네. 단계의 설정을 복사하고, 다른 iFlow를 편집 모드로 연 다음 Content Modifier를 선택해 붙여 넣으세요. 없는 행만 더하려면 행 추가를, 모두 바꾸려면 행 바꾸기를 고르세요.

Hub에서 가져오기에 api.sap.com 계정이 필요한가요?

검색은 계정 없이 됩니다. 사양을 내려받으려면 같은 브라우저에서 api.sap.com에 로그인해야 합니다.

단계 복사본과 템플릿은 동기화되나요?

아니요. 이 브라우저의 확장 프로그램 저장소에 남으며 어디로도 전송되지 않습니다.

이 도구들이 iFlow를 저장하거나 배포하나요?

아니요. 도구는 편집 모드에서 열려 있는 iFlow에 쓰기만 합니다. 저장은 SAP에서 하고, 원하지 않으면 변경을 버리세요.

디자이너를 떠나지 않고 iFlow 작업하기

Kitegra을 Chrome 또는 Microsoft Edge에 추가하세요. 계정 없이 무료로 시작할 수 있습니다.