다음을 통해 공유


Azure Logic Apps의 워크플로를 사용하여 B2B 통합을 위한 RosettaNet 메시지 교환

적용 대상: Azure Logic Apps(소비)

Azure Logic Apps를 사용하여 만든 워크플로에서 RosettaNet 메시지를 보내고 받으려면 RosettaNet 표준을 따르는 통신을 관리하고 지원하는 작업을 제공하는 RosettaNet 커넥터를 사용할 수 있습니다. RosettaNet은 비즈니스 정보를 공유하기 위한 표준 프로세스를 설정한 비영리 컨소시엄입니다. 해당 표준은 공급망 프로세스에 일반적으로 적용되며 반도체, 전자 제품, 물류 업계에서 널리 사용됩니다. RosettaNet 컨소시엄은 모든 RosettaNet 메시지 교환의 공통 비즈니스 프로세스 정의를 제공하는 PIP(파트너 인터페이스 프로세스)를 만들고 유지 관리합니다. RosettaNet은 XML을 기반으로 하며 메시지 지침, 비즈니스 프로세스 인터페이스, 회사 간 통신을 위한 구현 프레임워크를 정의합니다. 자세한 내용은 RosettaNet 사이트를 참조하세요.

커넥터는 RNIF(RosettaNet Implementation Framework) 버전 2.0.01을 기반으로 하며 이 버전에서 정의한 모든 PIP를 지원합니다. RNIF는 비즈니스 파트너가 공동으로 RosettaNet PIP를 실행할 수 있도록 하는 개방형 네트워크 애플리케이션 프레임워크입니다. 이 프레임워크는 메시지 구조, 승인 요구 사항, MIME(Multipurpose Internet Mail Extensions) 인코딩, 디지털 서명을 정의합니다. 파트너와의 통신은 동기 또는 비동기일 수 있습니다. 커넥터는 다음 기능을 제공합니다.

  • RosettaNet 메시지를 받거나 디코딩합니다.
  • RosettaNet 메시지를 보내거나 인코딩합니다.
  • 응답 및 실패 알림 생성을 기다립니다.

이 방법 가이드에서는 다음 작업을 완료하여 Azure Logic Apps 및 RosettaNet 커넥터를 사용하여 워크플로에서 RosettaNet 메시지를 보내고 받는 방법을 보여 줍니다.

  • 아직 없는 경우 PIP 프로세스 구성을 추가합니다.
  • RosettaNet 계약을 만듭니다.
  • RosettaNet 메시지를 수신하거나 디코딩하는 작업을 추가합니다.
  • RosettaNet 메시지를 보내거나 인코딩하는 작업을 추가합니다.

RosettaNet 개념

다음 개념과 용어는 RosettaNet 사양에 고유하며 RosettaNet 기반 통합 워크플로우를 빌드할 때 알아야 할 중요한 사항입니다.

  • PIP

    RosettaNet 조직은 모든 RosettaNet 메시지 교환에 대한 공통 업무 프로세스 정의를 제공하는 PIP를 만들고 유지합니다. 각 PIP 사양은 DTD(문서 종류 정의) 파일 및 메시지 지침 문서를 제공합니다. DTD 파일은 서비스 콘텐츠 메시지 구조를 정의합니다. 사람이 읽을 수 있는 HTML 파일인 메시지 지침 문서는 요소 수준의 제약 조건을 지정합니다. 모든 파일이 결합되어 비즈니스 프로세스의 전체 정의를 제공합니다.

    PIP는 상위 수준의 비즈니스 기능 또는 클러스터와 하위 함수 또는 세그먼트로 분류됩니다. 예를 들어 “3A4”는 구매 주문 PIP로, “3”은 주문 관리 함수 이고 “3A”는 견적 및 주문 입력 하위 함수입니다. 자세한 내용은 RosettaNet 사이트를 참조하세요.

  • 작업

    PIP의 일부로, 작업 메시지는 파트너 간에 교환되는 비즈니스 메시지입니다.

  • Signal

    PIP의 일부로, 신호 메시지는 작업 메시지에 대한 응답으로 전송되는 승인입니다.

  • 단일 작업 및 이중 작업

    단일 작업 PIP의 경우 유일한 응답은 승인 신호 메시지입니다. 이중 작업 PIP의 경우 단일 작업 메시지 흐름 외에 개시 장치가 응답 메시지를 받고 승인으로 회신합니다.

커넥터 기술 참조

RosettaNet 커넥터는 사용량 논리 앱 워크플로에만 사용할 수 있습니다.

논리 앱 환경 커넥터 버전
소비 다중 테넌트 Azure Logic Apps 디자이너에서 표준 레이블 아래에 표시되는 관리형 커넥터. RosettaNet 커넥터는 작업만 제공하지만 시나리오에 맞는 모든 트리거를 사용할 수 있습니다. 자세한 내용은 다음 설명서를 검토하세요.

- RosettaNet 커넥터 작업
- 메시지 크기에 대한 B2B 프로토콜 제한
- Azure Logic Apps의 관리형 커넥터
소비 ISE(통합 서비스 환경) CORE 레이블과 함께 디자이너에 표시되는 기본 제공 커넥터. RosettaNet 커넥터는 작업만 제공하지만 시나리오에 맞는 모든 트리거를 사용할 수 있습니다. 자세한 내용은 다음 설명서를 검토하세요.

- RosettaNet 커넥터 작업
- ISE 메시지 제한
- Azure Logic Apps의 관리형 커넥터

RosettaNet 운영

RosettaNet 커넥터에는 트리거가 없습니다. 다음 표는 RosettaNet 커넥터가 메시지를 전송할 때 보안 및 안정성을 설정하기 위해 제공하는 작업을 설명합니다.

작업 설명
RosettaNet 인코딩 작업 RosettaNet 표준을 따르는 인코딩을 사용하여 RosettaNet 메시지를 보냅니다.
RosettaNet Decode 작업 RosettaNet 표준을 따르는 디코딩을 사용하여 RosettaNet 메시지를 수신합니다.
RosettaNet 응답 대기 작업 호스트가 수신기로부터 RosettaNet 응답 또는 신호 메시지를 기다리도록 합니다.

필수 조건

  • Azure 계정 및 구독 구독이 없는 경우 체험 계정을 만듭니다.

  • RosettaNet 작업을 사용하려는 사용량 논리 앱 리소스 및 워크플로입니다.

  • 계약 및 기타 B2B(Business-to-Business) 아티팩트를 저장하기 위한 통합 계정.

    Important

    함께 작업하려면 통합 계정과 논리 앱 리소스가 모두 동일한 Azure 구독 및 Azure 지역에 있어야 합니다. 워크플로에서 통합 계정 아티팩트를 사용하려면 논리 앱 리소스를 통합 계정에 연결해야 합니다.

  • 통합 계정에 정의되고 Azure Portal의 비즈니스 ID에서 DUNS 한정자를 사용하는 둘 이상의 파트너.

    참고 항목

    한정자 목록의 거의 맨 아래에 있는 DUNS를 한정자로 선택해야 합니다(1 - D-U-N-S(Dun & Bradstreet)이 아님).

  • 메시지를 암호화, 암호 해독 또는 서명하는 데 사용되며 통합 계정에 업로드하는 인증서(선택 사항). 인증서는 서명 또는 암호화를 사용하는 경우에만 필요합니다.

PIP 프로세스 구성 추가

아직 PIP 프로세스 구성이 없는 경우 RosettaNet 메시지를 보내거나 받으려면 통합 계정에 PIP 프로세스 구성이 필요합니다. 프로세스 구성은 모든 PIP 구성 특성을 저장합니다. 그런 다음, 파트너와 규약을 만들 때 이 구성을 참조할 수 있습니다.

  1. Azure Portal에서 통합 계정으로 이동합니다.

  2. 통합 계정 탐색 메뉴의 설정에서 RosettaNet PIP를 선택합니다.

    Azure Portal 및 통합 계정 페이지의 스크린샷. 탐색 메뉴에서 RosettaNet PIP가 선택됩니다.

  3. RosettaNet PIP 페이지에서 추가를 선택합니다. 파트너 인터페이스 프로세스 추가 창에서 PIP 세부 정보를 입력합니다.

    추가가 선택된 RosettaNet PIP 페이지의 스크린샷. 파트너 인터페이스 추가 프로세스 창에는 이름, 코드 및 버전에 대한 상자가 있습니다.

    속성 필수 설명
    Name PIP 이름입니다.
    PIP 코드 세 자리 PIP 코드입니다. 자세한 내용은 RosettaNet PIP를 참조하세요.
    PIP 버전 선택한 PIP 코드에 따라 달라지는 PIP 버전 번호입니다.

    PIP 속성에 대한 자세한 내용은 RosettaNet 웹 사이트를 참조하세요.

  4. 완료되면 확인을 선택하여 PIP 구성을 만듭니다.

  5. 프로세스 구성을 보거나 편집하려면 PIP를 선택하고 JSON으로 편집을 선택합니다.

    모든 프로세스 구성 설정은 PIP 사양에서 가져온 것입니다. Azure Logic Apps는 대부분의 설정을 기본값으로 채웁니다. 기본값은 가장 일반적으로 사용되는 속성 값입니다.

    JSON으로 편집 및 PIP가 선택된 RosettaNet PIP 페이지의 스크린샷. JSON으로 편집에서 인코딩된 PIP 속성이 표시됩니다.

  6. 설정이 적절한 PIP 사양의 값에 해당하고 비즈니스 요구 사항을 충족하는지 확인합니다. 필요한 경우 JSON으로 값을 업데이트하고 변경 내용을 저장합니다.

RosettaNet 규약 만들기

  1. Azure Portal에서 통합 계정으로 이동합니다.

  2. 통합 계정 탐색 메뉴의 설정에서 계약을 선택합니다.

    통합 계정 페이지가 열려 있는 Azure Portal을 보여 주는 스크린샷 탐색 메뉴에서 계약 옵션이 선택됩니다.

  3. 계약 페이지에서 추가를 선택합니다. 추가에서 계약 세부 정보를 입력합니다.

    추가 옵션이 선택된 계약 페이지를 보여 주는 스크린샷 추가라는 창에는 계약 이름과 유형 및 파트너 정보에 대한 상자가 나타납니다.

    속성 필수 설명
    Name 규약 이름입니다.
    규약 유형 계약 형식입니다. RosettaNet을 선택합니다.
    호스트 파트너 계약을 구성하는 조직입니다. 규약에는 호스트와 게스트 파트너가 모두 필요합니다.
    호스트 ID 호스트 파트너에 대한 식별자입니다.
    게스트 파트너 호스트 파트너와 비즈니스를 수행하는 조직입니다. 규약에는 호스트와 게스트 파트너가 모두 필요합니다.
    게스트 ID 게스트 파트너에 대한 식별자입니다.
    수신 설정 상황에 따라 다름 호스트 파트너가 받은 모든 메시지에 적용되는 속성입니다.
    송신 설정 상황에 따라 다름 호스트 파트너가 보낸 모든 메시지에 적용되는 속성입니다.
    RosettaNet PIP 참조 규약의 PIP 참조입니다. 모든 RosettaNet 메시지에는 PIP 구성이 필요합니다.
  4. 게스트 파트너로부터 들어오는 메시지를 수신하도록 규약을 설정하려면 수신 설정을 선택합니다.

    1. 들어오는 메시지에 서명 또는 암호화를 사용하도록 설정하려면 메시지에서 메시지 서명 필요 또는 메시지 암호화 필요를 각각 선택합니다.

      속성 필수 설명
      메시지 서명 필요 아니요 선택한 인증서로 수신 메시지에 서명하는 옵션
      MSSQLSERVER에 대한 프로토콜 속성 예(서명이 사용하도록 설정된 경우) 서명에 사용할 인증서입니다.
      메시지 암호화 사용 아니요 선택한 인증서로 수신 메시지를 암호화하는 옵션
      MSSQLSERVER에 대한 프로토콜 속성 예(암호화가 사용하도록 설정된 경우) 암호화에 사용할 인증서입니다.
    2. 각 선택 항목에서 서명 또는 암호화에 사용할 통합 계정의 인증서를 선택합니다.

    메시지 서명 및 암호화와 인증서 입력 옵션이 있는 수신 설정 페이지의 스크린샷.

  5. 게스트 파트너에게 메시지를 보내도록 규약을 설정하려면 송신 설정을 선택합니다.

    1. 보내는 메시지에 서명 또는 암호화를 사용하도록 설정하려면 메시지에서 메시지 서명 사용 또는 메시지 암호화 사용을 각각 선택합니다. 각 선택 항목에서 서명 또는 암호화에 사용할 통합 계정의 알고리즘 및 인증서를 선택합니다.

      속성 필수 설명
      메시지 서명 사용 아니요 선택한 서명 알고리즘 및 인증서로 발신 메시지에 서명하는 옵션
      서명 알고리즘 예(서명이 사용하도록 설정된 경우) 선택한 인증서를 기준으로 사용할 서명 알고리즘입니다.
      MSSQLSERVER에 대한 프로토콜 속성 예(서명이 사용하도록 설정된 경우) 서명에 사용할 인증서입니다.
      메시지 암호화 사용 아니요 선택한 암호화 알고리즘 및 인증서로 발신 메시지를 암호화하는 옵션
      암호화 알고리즘 예(암호화가 사용하도록 설정된 경우) 선택한 인증서를 기준으로 사용할 암호화 알고리즘입니다.
      MSSQLSERVER에 대한 프로토콜 속성 예(암호화가 사용하도록 설정된 경우) 암호화에 사용할 인증서입니다.
    2. 엔드포인트에서 작업 메시지와 승인을 보내는 데 사용할 필수 URL을 지정합니다.

      속성 필수 설명
      작업 URL 작업 메시지를 보내는 데 사용할 URL입니다. 이 URL은 동기 및 비동기 메시지 둘 다에서 필수 필드입니다.
      승인 URL 승인 메시지를 보내는 데 사용할 URL입니다. 이 URL은 비동기 메시지에서 필수 필드입니다.

    메시지 서명 및 암호화 옵션과 알고리즘, 인증서, 엔드포인트 입력 옵션이 있는 발신 설정 페이지를 보여 주는 스크린샷

  6. 파트너용 RosettaNet PIP 참조를 사용하여 규약을 설정하려면 RosettaNet PIP 참조를 선택합니다. PIP 이름에서 이전에 만든 PIP의 이름을 선택합니다.

    한 행이 있는 PIP 정보 테이블을 보여 주는 스크린샷. 이 행에는 선택된 이름인 MyPIPConfig를 제외한 기본값이 포함되어 있습니다.

    선택 항목에 따라 통합 계정에서 설정한 PIP를 기반으로 하는 나머지 속성이 채워집니다. 필요한 경우 PIP 역할을 변경할 수 있습니다.

    PIP 정보가 있는 테이블을 보여 주는 스크린샷 MyPIPConfig라는 PIP 행에는 정확한 정보가 표시됩니다.

위의 단계를 완료했으면 RosettaNet 메시지를 보내거나 받을 준비가 된 것입니다.

RosettaNet 메시지 받기 또는 디코드

  1. Azure Portal에서 디자이너를 통해 사용량 논리 앱 워크플로를 엽니다.

    워크플로에는 RosettaNet 작업을 추가하기 전에 실행하려는 트리거 및 기타 작업이 이미 있어야 합니다. 이 예는 요청 트리거로 계속됩니다.

  2. 트리거 또는 작업 아래에서 새 단계를 선택합니다.

    디자이너 스크린샷. 요청 트리거 아래에서 새 단계가 선택됩니다.

  3. 작업 선택 검색 상자에서 모두를 선택합니다. 검색 상자에 rosettanet을 입력합니다. 작업 목록에서 RosettaNet 디코딩라는 작업을 선택합니다.

    디자이너 스크린샷. 작업 선택 검색 상자에 rosettanet이 포함되어 있고 RosettaNet 디코딩 작업이 선택되어 있습니다.

  4. 작업 속성에 대한 정보를 입력합니다.

    메시지, 헤더 및 역할에 사용할 수 있는 상자가 있는 RosettaNet Decode 작업의 스크린샷.

    속성 필수 설명
    Message 디코드할 RosettaNet 메시지입니다.
    헤더 버전(RNIF 버전) 및 응답 유형의 값을 제공하는 HTTP 헤더입니다. 응답 유형은 파트너 간 통신 유형을 나타내며 동기 또는 비동기일 수 있습니다.
    역할 PIP에서 호스트 파트너의 역할입니다.

    RosettaNet Decode 작업의 출력에는 아웃바운드 신호가 포함됩니다. 이 출력을 인코딩하여 파트너에게 반환하거나 이 출력에 대해 다른 작업을 수행할 수 있습니다.

RosettaNet 메시지 보내기 또는 인코드

  1. Azure Portal에서 디자이너를 통해 사용량 논리 앱 워크플로를 엽니다.

    워크플로에는 RosettaNet 작업을 추가하기 전에 실행하려는 트리거 및 기타 작업이 이미 있어야 합니다. 이 예는 요청 트리거로 계속됩니다.

  2. 트리거 또는 작업 아래에서 새 단계를 선택합니다.

    디자이너 스크린샷. 요청 트리거 아래에서 새 단계가 선택됩니다.

  3. 작업 선택 검색 상자에서 모두를 선택합니다. 검색 상자에 rosettanet을 입력합니다. 작업 목록에서 RosettaNet 인코딩이라는 작업을 선택합니다.

    디자이너 스크린샷. 작업 선택 검색 상자에 rosettanet이 포함되어 있고 RosettaNet 인코딩 작업이 선택되어 있습니다.

  4. 작업 속성에 대한 정보를 입력합니다.

    메시지, 파트너, PIP 정보, 메시지 유형 및 역할에 대한 상자가 나타나는 RosettaNet Encode 작업의 스크린샷.

    속성 필수 설명
    Message 인코드할 RosettaNet 메시지입니다.
    호스트 파트너 호스트 파트너 이름입니다.
    게스트 파트너 게스트 파트너 이름입니다.
    PIP 코드 PIP 코드입니다.
    PIP 버전 PIP 버전입니다.
    PIP 인스턴스 ID 이 PIP 메시지의 고유 식별자입니다.
    메시지 유형 인코드할 메시지 유형입니다.
    역할 호스트 파트너의 역할입니다.

    이제 인코드된 메시지를 파트너에게 보낼 준비가 되었습니다.

  5. 인코딩된 메시지를 보내기 위해 다음 예에서는 HTTP - 파트너에게 인코딩된 메시지 보내기로 이름이 변경된 HTTP 작업을 사용합니다.

    HTTP로 이름이 변경된 HTTP 작업이 있는 디자이너의 스크린샷. - 파트너에게 인코딩된 메시지를 보내고 URI, 헤더 및 본문 값이 입력됩니다.

    RosettaNet 표준에 따라 비즈니스 트랜잭션은 PIP에서 정의된 모든 단계가 완료된 경우에만 완료된 것으로 간주됩니다.

  6. 호스트는 인코드된 메시지를 파트너에게 보낸 후 신호와 승인을 기다립니다. 이 작업을 수행하려면 RosettaNet 응답 대기라는 작업을 추가합니다.

    본문, PIP 인스턴스 ID, 다시 시도 횟수 및 역할에 사용할 수 있는 상자가 있는 응답 작업을 위한 RosettaNet 대기 스크린샷.

    사용할 대기 기간과 재시도 횟수는 통합 계정의 PIP 구성을 기반으로 합니다. 응답을 받지 못한 경우 실패 알림이 생성됩니다. 재시도를 처리하려면 항상 Until 루프에 인코드응답 대기 작업을 넣습니다.

    디자이너 스크린샷. When 루프에는 메시지 인코딩 및 전송과 응답 대기를 위한 작업이 포함됩니다.

RosettaNet 템플릿

개발을 가속화하고 통합 패턴을 권장하기 위해 RosettaNet 메시지 디코딩 및 인코딩에 사용량 논리 앱 템플릿을 사용할 수 있습니다. 사용량 논리 앱 워크플로를 만들 때 디자이너의 템플릿 갤러리에서 선택할 수 있습니다. 해당 템플릿은 Azure Logic Apps용 GitHub 리포지토리에서도 찾을 수 있습니다.

디자이너 스크린샷. RosettaNet 메시지를 디코딩하고 인코딩하기 위한 엔터프라이즈 통합 범주 및 템플릿이 선택되어 있습니다.

다음 단계