서비스 플로우 에디터

본 장에서는 AnyLink 스튜디오의 서비스 플로우 에디터의 기능과 사용법에 대해 설명합니다.

1. 개요

서비스 플로우는 서비스의 수행 절차를 그래프로 표현한 것입니다. 서비스 플로우 다이어그램(SFDL: Service Flow Definition Language) 파일을 생성하기 전에 AnyLink 프로젝트가 생성되어 있어야 합니다. 서비스 플로우의 수신(Receive) 메시지 이벤트들이 AnyLink의 내부 서비스로 등록됩니다. 대부분 AnyLink 내부 서비스는 서비스 플로우의 메시지 이벤트이며, 플로우에 정의된 흐름을 따라 진행 후 플로우의 서비스 액티비티를 호출하게 됩니다.

2. 서비스 플로우 에디터 생성

서비스 플로우 생성은 왼쪽 프로젝트 네비게이터의 컨텍스트 메뉴에서 [새로만들기] > [플로우]를 선택합니다. 플로우 다이어그램에서 각 항목을 설정하고 [Finish] 버튼을 클릭합니다.

figure flow diagram wizard
플로우 다이어그램
항목 설명

플로우 아이디

서비스 플로우 리소스 아이디를 입력합니다.

영어, 숫자, 특수문자(_)만 사용이 가능하며 첫 글자는 영어로 입력합니다.

플로우 이름

사용할 플로우명을 입력합니다.

한글, 영어, 숫자, 특수문자 입력이 가능합니다. 플로우 이름은 XML Naming Convention을 따릅니다.

3. 서비스 플로우 다이어그램

서비스 플로우를 생성하면 기본 화면이 나오며 오른편에 다이어그램을 추가할 수 있는 팔레트와 편집창 상단 툴바가 있습니다.

figure service flow
서비스 플로우 화면
  • [툴바]

    툴바는 플로우 다이어그램의 정렬, 화면 표시방법 및 디버거 동작을 위한 버튼으로 구성됩니다.

    figure flow toolbar
    서비스 플로우 화면 - 툴바
    버튼 설명

    image

    다이어그램을 왼쪽으로 정렬합니다.

    image

    다이어그램을 오른쪽으로 정렬합니다.

    image

    다이어그램을 위쪽으로 정렬합니다.

    image

    다이어그램을 아래쪽으로 정렬합니다.

    image

    다이어그램을 중앙(상하)으로 정렬합니다.

    image

    다이어그램을 중앙(좌우)으로 정렬합니다.

    image

    다이어그램들의 수평 거리를 일정하게 정렬합니다.

    image

    다이어그램을 수직 거리를 일정하게 정렬합니다.

    image

    다이어그램을 ID/Name 표시를 변경합니다.

    image

    Transition Condition 표시 유무를 변경합니다.

    image

    디버거 모드를 실행시킵니다. 서버 선택 다이얼로그가 나타납니다.

    image

    디버깅을 위한 메시지 설정 다이얼로그가 나타납니다.

    image(13번째 아이콘)

    현재 디버거 상태를 조회합니다.

    image

    디버거를 다음 액티비티로 이동시킵니다.

    image

    디버거를 다음 Break Point로 이동시킵니다.

    image

    디버거를 플로우 끝까지 이동시킵니다.

    image

    디버거가 Running 상태인 경우 다음 액티비티에서 정지시킵니다.

    image(18번째 아이콘)

    디버거 상태를 나타내는 아이콘입니다. (버튼 아님)

    image

    마우스 포인터를 'Selection' 상태로 변경합니다.

    image

    마우스 포인터를 'Transition' 상태로 변경합니다.

  • [팔레트]

    팔레트는 서비스 플로우에서 제공하는 서비스 플로우 다이어그램입니다.

    서비스 플로우는 프로세스(Process)라고도 부르며, 액티비티, 이벤트와 트랜지션으로 구성됩니다. 원하는 객체를 클릭하여 에디터 영역에 올려 사용합니다.

    figure service palatte
    서비스 플로우 화면 - 팔레트
    구분 설명

    Selection, Transition

    • image(Select) : 트랜지션 설정을 종료합니다.

    • image(Transition) : 트랜지션은 액티비티 또는 이벤트들 간의 흐름의 순서를 나타내는 화살표입니다. 에디터의 각 객체를 연결할 수 있습니다. 각 단위 액티비티 간의 흐름을 표시하는 것으로서, 실제로 업무 프로세스의 흐름을 액티비티, 이벤트, 게이트웨이 간 연결하여 표시합니다. 트랜지션의 또 하나의 기능은 게이트웨이 이후에 조건에 따라 업무 흐름을 결정할 때 조건을 설정하는 것입니다.

    액티비티(Activity)

    작업(Task)이라고도 부르며, 서비스 플로우에 해당 위치로 흐름이 도달하게 되면 실행해야 할 어떤 일들을 표현합니다.

    플로우에 그려진 서비스 액티비티는 대부분 어댑터의 아웃바운드 룰 서비스를 의미합니다. 자세한 설명은 액티비티를 참고합니다.

    이벤트(Event)

    사건을 나타내는 특별한 액티비티로 메시지, 에러, 타임아웃 등의 사건을 나타냅니다.

    이벤트는 전후 트랜지션 유무에 따라 들어오는 트랜지션이 없는 시작 이벤트(Start Event), 들어오는 트랜지션과 나가는 트랜지션이 모두 있는 중간 이벤트(Intermediate Event), 나가는 트랜지션이 없는 끝 이벤트(End Event)로 구분할 수 있습니다. 자세한 설명은 이벤트를 참고합니다.

    게이트웨이(Gateway)

    흐름을 제어하는데 사용되는 특별한 액티비티 형태라고 생각할 수 있습니다.

    크게 하나의 트랜지션 흐름을 여러 개의 트랜지션 흐름으로 분리시켜주는 스플릿 게이트웨이(Split Gateway)와 그 반대로 여러 개의 트랜지션 흐름을 하나의 트랜지션 흐름을 합쳐주는 조인 게이트웨이(Join Gateway)가 있습니다. 자세한 설명은 게이트웨이를 참고합니다.

    스웜레인 / 블록 / Annotations

    • 스웜레인 : 서비스 플로우 상의 Task를 구분해주는 선을 나타냅니다.

    • 블록 : 특정 구역을 묶어서 표한하기 위해 사용되는 액티비티 묶음입니다.

    • Annotations : 플로우의 메모 기능을 제공하기 위한 객체입니다.

    자세한 설명은 스웜레인 / 블록 / ANNOTATIONS를 참고합니다.

    Utility

    서비스 플로우에서 사용되는 Utility입니다. 자세한 설명은 Utility를 참고합니다.

4. 액티비티

다음은 액티비티의 종류에 대한 설명입니다.

0메뉴 설명

image (TCP 액티비티)

TCP 아웃바운드 룰 서비스를 호출할 수 있는 액티비티입니다.

image (유저 클래스 액티비티)

유저 클래스를 사용할 수 있는 액티비티입니다.

image (매핑 액티비티)

Source와 Target 변수를 설정하여 매핑해 주는 액티비티입니다.

image (응답 메시지 액티비티)

서비스의 응답 메시지로 사용할 수 있는 액티비티입니다. 이벤트 메시지의 요청 메시지로부터 응답 메시지를 보내줍니다. 정상 응답과 오류 응답 2개의 형태로 구현할 수 있습니다.

image (서브 플로우 액티비티)

다른 서비스 플로우 프로세스를 호출하는 액티비티입니다.

image (멀티바인딩 액티비티)

멀티바인딩 서비스를 호출할 수 있는 액티비티입니다.

image (HTTP 액티비티)

HTTP 아웃바운드 룰 서비스를 호출할 수 있는 액티비티입니다.

image (웹서비스 액티비티)

웹 서비스 형태로 만들어진 서비스를 import하여 사용할 수 있는 액티비티입니다.

image (TMAX 액티비티)

미들웨어인 Tmax와 관련된 서비스를 호출할 수 있는 액티비티입니다.

image (DB 액티비티)

DB 어댑터 서비스를 호출할 수 있는 액티비티입니다.

image (파일 액티비티)

File 어댑터 서비스를 호출할 수 있는 액티비티입니다.

image (FTP 액티비티)

FTP 어댑터 서비스를 호출할 수 있는 액티비티입니다.

image (배치 액티비티)

배치 아웃바운드 룰을 호출할 수 있는 액티비티입니다.

image (MQ 액티비티)

MQ 아웃바운드 룰을 호출할 수 있는 액티비티입니다.

image (SAP 액티비티)

SAP 아웃바운드 룰을 호출할 수 있는 액티비티입니다.

image (SMTP 액티비티)

SMTP 아웃바운드 룰을 호출할 수 있는 액티비티입니다.

image (WebDav 액티비티)

WebDav 아웃바운드 룰을 호출할 수 있는 액티비티입니다.

image (Tuxedo 액티비티)

Tuxedo 아웃바운드 룰을 호출할 수 있는 액티비티입니다.

image (JMS 액티비티)

JMS 아웃바운드 룰을 호출할 수 있는 액티비티입니다.

image (ISO8583 액티비티)

ISO8583 아웃바운드 룰을 호출할 수 있는 액티비티입니다.

image (UDP 액티비티)

UDP 아웃바운드 룰을 호출할 수 있는 액티비티입니다.

image (ProObject 액티비티)

ProObject 아웃바운드 룰을 호출할 수 있는 액티비티입니다.

image (Kafka 액티비티)

Kafka 아웃바운드 룰을 호출할 수 있는 액티비티입니다.

image (FIX 액티비티)

FIX 아웃바운드 룰을 호출할 수 있는 액티비티입니다.

image (Redis 액티비티)

Redis 아웃바운드 룰을 호출할 수 있는 액티비티입니다.

액티비티는 입력, 출력에 해당하는 파라미터를 가집니다.

입력 파라미터는 해당 액티비티가 읽기 위해 사용하는 변수이고, 출력 파라미터는 해당 액티비티가 쓰기 위해 사용하는 변수입니다. 두 변수 모두 프로세스나 액티비티를 둘러싼 블록 액티비티에 선언됩니다.

figure service activity inoutput
액티비티의 입력과 출력

4.1. 액티비티 설정

액티비티를 에디터 화면으로 갖고 온 뒤 더블클릭 또는 마우스를 객체 위로 올리면 나타나는 Activity Preference 화면에서 액티비티 설정을 할 수 있습니다.

figure activity preference
Activity Preference 화면
메뉴 설명 메뉴 설명

image

일반정보

image

Loop 설정

image

파라미터 설정

image

복사

image

핸들러 설정

image

삭제

기본 정보

다음은 활성화된 Activity Preference 화면에 대한 설명입니다.

figure activity preference basic
Activity Preference 화면 - 기본 정보
항목 설명

ID

해당 객체의 아이디를 입력할 수 있는 항목입니다.

Name

해당 객체 이름을 알려주는 항목입니다.

Description

해당 액티비티의 역할을 간략하게 나타냅니다.

Documentation

해당 액티비티에 대한 설명으로 사용자의 편의를 위한 항목입니다.

Session ID

입력한 Session ID를 가지는 다른 액티비티, 이벤트들과 동일한 세션으로 연결하기 위한 항목입니다.

Session Key

입력한 세션 키를 가지는 세션으로 연결하기 위한 항목입니다. TCP 액티비티에서만 설정 가능합니다.

엔드포인트 라우팅

매핑에서 설정된 VALUE를 가진 엔드포인트나 엔드포인트 그룹에 라우팅을 하기 위한 항목입니다.

아웃바운드룰에서 설정한 엔드포인트 그룹이 WebAdmin의 [구성관리] > [어댑터]의 엔드포인트 그룹에서 매핑으로 설정되어 있어야 합니다. 하위 엔드포인트/엔드포인트 그룹의 VALUE 설정시 해당 엔드포인트로 요청메시지가 전달됩니다.

Address 동적변경

TCP 클라이언트인 경우 요청할 대상의 IP, Port를 동적으로 변경하기 위한 항목입니다.

URL 동적변경

HTTP 아웃바운드의 경우 요청할 대상의 IP, Port를 동적으로 변경하기 위한 항목입니다.

Location

객체의 위치를 나타내는 x, y 좌표값입니다. 좌표 설정을 통해 액티비티의 위치를 변경할 수 있지만, 에디터에서 마우스 드래그를 통해 옮기는 것을 추천합니다.

Width

객체의 위치를 나타내는 값으로, Location과 마찬가지로 에디터에서 드래그로 크기를 조절 가능합니다.

라인 색상 변경

객체의 외곽 라인 색상을 변경시킬 수 있는 항목입니다.

폰트 색상 변경

객체의 글자 폰트 색상을 변경시킬 수 있는 항목입니다.

아웃바운드 룰(서비스) 설정

다음은 Activity Preference 화면[아웃바운드 룰(서비스) 설정]에 대한 설명입니다.

figure activitypreference outboundrule
Activity Preference 화면 - 아웃바운드 룰 설정
항목 설명

호출서비스

사전에 생성한 아웃바운드 룰 서비스를 검색하여 적용시킬 수 있는 항목입니다. 단, 액티비티에 맞는 아웃바운드 룰을 적용시켜야 합니다.

[Browse...] 버튼을 클릭하면 서비스를 검색할 수 있는 다이얼로그가 생성됩니다.

전송모드

  • Request : 가장 일반적인 메시징 형태로 요청에 대한 응답을 기대하는 전송모드입니다.

  • One Way : 응답을 기다리지 않고 요청 메시지만 전달하는 전송모드입니다.

  • One Way with ack : 요청 메시지가 처리된 후 ACK 메시지를 기대하는 형태입니다. 보통 딜리버리 채널에서 전달 보장을 처리한 후 ACK 메시지 또는 NAK 메시지를 답변으로 보내는 전송모드입니다.

매핑 설정

  • 요청 매핑 사용 : 전 서비스 플로우의 INPUT 파라미터와 자신의 요청 메시지에 관한 매핑을 정의합니다.

  • 응답 매핑 사용 : 자신의 응답 메시지와 OUPUT 파라미터에 관한 매핑을 정의합니다.

  • 에러 매핑 사용 : 에러 관련해서 설정한 메시지와 자신의 파라미터 변수와의 매핑을 정의합니다.

매핑과 관련된 내용은 매핑 관련 다이얼로그를 참조합니다.

로그 OFF

해당 액티비티에 대한 로그를 OFF합니다.

요청 커스텀 로깅

요청 커스텀 로깅을 사용합니다.

[Browse...] 버튼을 클릭하면 커스텀 로그 아웃바운드 룰을 설정하고 [Mapping...] 버튼을 클릭해서 매핑을 설정합니다.

응답 커스텀 로깅

응답 커스텀 로깅을 사용합니다.

[Browse...] 버튼을 클릭하면 커스텀 로그 아웃바운드 룰을 설정하고 [Mapping...] 버튼을 클릭해서 매핑을 설정합니다.

에러 커스텀 로깅

에러 커스텀 로깅을 사용합니다.

[Browse...] 버튼을 클릭하면 커스텀 로그 아웃바운드 룰을 설정하고 [Mapping...] 버튼을 클릭해서 매핑을 설정합니다.

Skip 조건

다음은 Activity Preference 화면Skip 조건에 대한 설명입니다.

figure activity preference skipcondition
Activity Preference 화면 - Skip 조건
항목 설명

Skip 사용

Skip 항목을 선택하면 프로세스 변수에대한 Skip 조건을 사용할 수 있습니다.

Skip 조건

선택한 변수에 대한 조건문을 작성해 주어야 합니다.

[변수 선택] 버튼을 클릭하면 프로세스 변수를 선택할 수 있는 Select Variable 화면(Activity Preference 화면 - Select Variable 화면)이 나타납니다.

figure select variable
Activity Preference 화면 - Select Variable 화면
파라미터 설정

파라미터로 설정된 변수가 실제 서비스 호출에 이용됩니다. 매핑이 있다면 Input 파라미터는 Input 매핑의 소스가 되고, Output 파라미터는 Output 매핑에서 타깃이 됩니다.

다음은 Activity Preference 화면[파라미터 설정]에 대한 설명입니다.

figure parameter setting
Activity Preference 화면 - 파라미터 설정
  • Input/Output 파라미터 설정

    항목 설명

    ID

    변수 파라미터 아이디입니다.

    INPUT

    해당 변수 타입을 Input으로 설정합니다.

    OUTPUT

    해당 변수 타입을 Output으로 설정합니다.

    ERROR

    해당 변수 타입을 Error로 설정합니다.

  • 버튼

    버튼 설명

    [New Parameter]

    새로운 파라미터를 생성할 수 있습니다. 버튼을 클릭하면 Add New Process Variable 화면(Activity Preference 화면 - Add New Process Variable)이 나타납니다.

    [Select Parameter]

    이미 생성되어 있는 파라미터를 선택할 수 있는 Select Variable 화면(Activity Preference 화면 - Select Variable 화면)이 생성됩니다.

    [Delete]

    파라미터 화면에서 선택한 파라미터를 삭제합니다.

    [Property]

    선택된 파라미터 정보를 보여줍니다.

    [Up]

    선택한 파라미터의 위치를 한 칸 높입니다.

    [Down]

    선택한 파라미터의 위치를 한 칸 내립니다.

    [New Parameter] 버튼을 클릭하면 Add New Process Variable 화면이 나타납니다.

    figure add new process variable
    Activity Preference 화면 - Add New Process Variable
    항목 설명

    ID

    생성할 파라미터의 아이디입니다.

    Name

    생성할 파라미터의 이름입니다.

    Description

    생성할 파라미터에 대한 설명으로 사용자의 편의를 위한 것입니다.

    Initial Value

    생성할 파라미터의 타입이 'Basic'일 경우, 변수에 대한 초기값을 설정할 수 있습니다.

    Scope

    인스턴스로 고정된 값입니다.

    Variable Type

    • Basic Type : 변수의 기본 타입으로 String, Float, Integer, DateTime, Boolean Type을 지원합니다.

    • Message Type : 메시지 타입으로, 자신의 프로젝트의 서비스 그룹 아래에 있는 DTO 파일들을 찾아서 선택하여 메시지 선택 다이얼로그에서 추가합니다.

    • Any Type : Java Class 객체를 Process Variable로 사용하는 경우 해당 타입을 선택합니다.

    • Map Type : Key Value, msg, ctx 정보를 접근하는 방법을 나타냅니다.

      [Key Setting] 버튼을 클릭해서 'Map Data Field Key' 값을 설정할 수 있습니다. 서비스 호출에 사용되는 header variable에는 Map Type만이 이용될수 있습니다. 형식은 <String, String>으로 설정합니다.

    • Attachment Map Type : 첨부 파일 등의 지정이 가능하며, 일반적으로 파일 Adapter Attachment 타입인 경우 사용합니다.

    Is Array Variable

    배열을 사용할지 여부를 결정합니다.

액티비티 핸들러

다음은 Activity Preference 화면[액티비티 핸들러]에 대한 설명입니다.

figure activity handler
Activity Preference 화면 - 액티비티 핸들러
버튼 설명

[Add]

사용자가 생성한 액티비티 핸들러를 설정할 수 있는 Service List Dialog가 출력됩니다.

[Edit]

선택한 핸들러에 대한 수정 화면이 생성됩니다.

[Remove]

선택한 핸들러를 삭제합니다.

다음은 사용자가 생성한 액티비티 핸들러를 설정할 수 있는 Service List Dialog에 대한 설명입니다.

figure service list dialog
Service List Dialog
항목 설명

Search

액티비티 핸들러를 검색합니다.

Service list

핸들러 목록이 나타납니다.

Activity Error Handler

다음은 Activity Preference 화면[Activity Error Handler]에 대한 설명입니다. 버튼의 기능은 액티비티 핸들러 화면(Activity Preference 화면 - 액티비티 핸들러)의 기능과 동일합니다.

figure activity error handler
Activity Preference 화면 - Activity Error 핸들러
항목 설명

Error Code

핸들러가 처리할 에러 코드를 입력합니다.

Handler Class

User Class를 직접 등록해서 처리합니다.

Error Event ID

에러 타입의 이벤트 아이디입니다.

Ignore

해당 액티비티에서 에러 이벤트 사용 여부를 설정합니다.

다음은 [Add] 버튼을 클릭하는 경우 나타나는 화면에 대한 설명입니다.

figure exception handler
Add New Exception Handler
항목 설명

Catch All Excpetions

모든 Exception을 Catch합니다.

Error Code

Catch할 에러 코드를 입력합니다. Catch All Exception이 체크되어 있을 경우 자동으로 All이 됩니다.

Error Event

에러 이벤트를 검색하여 입력합니다.

[검색] 버튼을 클릭하면 Service List Dialog에서 검색 가능합니다.

Handler Class

핸들러 클래스를 검색하여 입력합니다.

[검색] 버튼을 클릭하면 Service List Dialog에서 검색 가능합니다.

Activity Loop

다음은 Activity Preference 화면[Activity Loop]에 대한 설명입니다.

figure activity loop
Activity Preference 화면 - Activity Loop
항목 설명

Loop Variable

Array 항목을 가진 변수입니다.

For-each Variable

Loop 변수의 타입을 자신의 타입으로 가지는 변수이어야 합니다.

Loop 변수의 배열 순서대로 값이 매핑됩니다.

Index Variable

반복될 때 마다 하나씩 증가하는 Integer 변수입니다.

Loop Handler List

Loop에서 사용할 수 있는 Handler Class를 등록할 수 있습니다.

  • [Standard Loop]

    순차적으로 일정 횟수만큼 단순 반복합니다.

    figure standard loop
    Activity Preference 화면 - Activity Loop - Standard Loop
    항목 설정

    Loop Count

    현 액티비티의 최대 반복 횟수를 설정합니다.

    'Loop Condition'을 만족하지 못하는 경우 최대 반복 횟수를 모두 채우지 못하고 Loop가 종료될 수도 있습니다. 'Loop Count'를 설정하고 'Loop Condition'을 설정하지 않았을 경우, 내부적으로는 'Loop Condition'을 참으로 설정합니다.

    When to Check

    'Loop Condition'을 체크하는 시점을 설정합니다.

    • Before : 액티비티를 수행하기 전에 체크(while loop) 합니다.

    • After : 액티비티 수행 후에 체크(until loop)합니다. 'Loop Condition'을 만족하지 못할 경우라도 최소한 1회는 수행됩니다.

    Loop Condition

    Loop의 수행 조건을 설정합니다.

    조건이 참일 경우에만 Loop가 'Loop Count'의 수 만큼 반복 수행되며 거짓이면 Loop가 종료됩니다. 'Loop Count'가 설정되어 있지 않으면 'Loop Condition'을 만족하지 않을 때까지 무한 반복합니다.

    아무 것도 입력하지 않으면 항상 참으로 인식하지만 'Loop Count'가 설정되지 않았을 경우 'Loop Condition'은 반드시 항상 참이 아닌 값으로 설정되어 있어야 합니다. 입력 창에서 <Ctrl>+<Space>로 변수를 쉽게 입력할 수도 있습니다.

  • [Multiple Instance]

    순차적 또는 병렬적으로 수행되며 수행 횟수나 종료 조건도 일정하지 않은 경우가 많습니다.

    figure multiple instance
    Activity Preference 화면 - Activity Loop - Multiple Instance
    • Completion condition

      현 액티비티를 얼마나 수행할 것인가를 설정합니다. 'MI Count'로 최대 반복 횟수를 설정하고, ‘Loop Condition’으로 종료 조건을 설정합니다.

    • How the loop instance will performed

      항목 설명

      Sequential

      인스턴스가 순차적으로 실행됩니다.

      Parallel

      모든 인스턴스가 동시에 실행됩니다.

    • When transition to the next activity occurs

      현 액티비티가 언제 종료 처리되어 Process Instance의 토큰이 다음 액티비티로 나갈 것인지를 설정합니다.

      항목 설명

      Whenever each activity instance has completed

      하나의 액티비티 인스턴스가 종료될 때마다 다음 액티비티로 토큰을 넘깁니다. 하나 이상의 토큰이 계속 전달됩니다.

      After only one of the activity instance has completed

      하나의 액티비티 인스턴스만 종료되어도 다음 액티비티로 토큰을 넘깁니다. 뒤에 수행되는 인스턴스의 토큰은 무시됩니다.

      After all of the activity instance have completed

      모든 액티비티 인스턴스가 종료되었을 때 다음 액티비티로 토큰을 넘깁니다.

      As the condition below

      표시된 조건에 따라 그 조건이 만족되면 토큰을 넘깁니다.

      멀티인스턴스(Multiple Instance)를 사용하고 'How the loop instance will be performed'을 'Parallel’로 지정하는 경우 For-each 변수와 Index 변수은 동시성 이슈가 있으므로 반드시 local scope의 변수를 사용해야 합니다. 하지만, 'How the loop instance will be performed'을 'Sequential’로, 'When transition to the next activity occurs'을 'After all of the activity instance have completed’로 지정하면 Standard Loop를 사용하는 것과 동일하게 동작합니다.

4.2. 특정 액티비티 설정

본 절에서는 특정 액티비티를 설정하는 방법에 대한 설명합니다.

유저 클래스 액티비티

유저 클래스 액티비티의 경우 Activity Preference 화면에서 복잡한 로직을 처리하기 위해 유저가 직접 생성한 유저 클래스 정보를 설정합니다.

figure userclass activity userclass
Activity Preference 화면 - 유저 클래스 액티비티
항목 설명

패키지 이름

유저 클래스의 패키지 이름입니다.

클래스 이름

유저 클래스의 클래스 이름입니다.

매핑 액티비티

이미 정의된 맵을 사용하여 변수들의 값을 변환합니다. 매핑 액티비티의 경우 Activity Preference 화면에서 [Mapping]을 클릭해서 정보를 설정합니다.

figure mapping activity mapping
Activity Preference 화면 - Mapping
  • Mapping Information

    항목 설명

    Access Type

    Private를 선택하면 공유가 불가능하도록 액티비티 내에 정보가 저장됩니다.

  • 버튼

    버튼 설명

    [Import Variables]

    Public Mapping에 설정된 메시지를 import합니다.

    [Select Source]

    Source에 해당하는 프로세스 변수를 선택할 수 있습니다.

    [Select Target]

    Target에 해당하는 프로세스 변수를 선택할 수 있습니다.

    [Delete]

    선택된 변수를 제거합니다.

    [Up]

    변수를 한 칸 위로 이동시킵니다.

    [Down]

    변수를 한 칸 아래로 이동시킵니다.

    [Mapping]

    Source와 Target에 해당되는 프로세스 변수를 매핑시켜주는 Mapping Dialog가 출력됩니다.

    [Clear Mapping]

    생성된 매핑을 제거합니다.

다음은 Source와 Target에 해당되는 프로세스 변수를 매핑시켜주는 Mapping Dialog 화면에 대한 설명입니다. [Add User Class] 버튼을 클릭해서 유저 매핑 핸들러를 등록하거나 [Add Mapping Code] 버튼을 클릭해서 매핑할 때 호출될 Java Code를 입력합니다.

figure mapping dialog
Mapping Dialog
항목 설명

Source

매핑에 사용될 변수의 목록입니다.

Target

매핑을 통해 값을 넣을 변수의 목록입니다.

Properties

Source/Target에서 선택한 변수나 필드의 정보를 조회합니다.

왼쪽 Properties는 Source 영역이고, 오른쪽 Properties는 Target 영역입니다.

Location Path

매핑 연결에 대한 연결 정보 값입니다.

Expression

표현식을 통해 값을 매핑합니다.

문자열은 큰따옴표(" ")로 감싸서 입력하고, 숫자는 그대로 입력합니다.

응답 메시지 액티비티

메시지 이벤트로 들어온 인바운드 서비스에 응답을 줍니다. 응답 메시지 액티비티의 경우 Activity Preference 화면에서 [Reply Message]를 선택해서 정보를 설정합니다.

figure responsemessage replymessage
Activity Preference 화면 - Reply Message
항목 설명

Trans Mode

  • Response : 응답 메시지 액티비티를 응답(Response) 용도로 사용할 수 있습니다.

  • Error : 응답 메시지 액티비티를 에러 응답 메시지 용도로 사용할 수 있습니다.

  • Response None : 응답 메시지를 보내지 않을 수 있습니다.

MessageEvent ID

서비스 플로우에 있는 메시지 이벤트를 설정할 수 있습니다.

Use Mapping

'Trans Mode'가 Response일 때 사용 가능하며 Reply Mapping 화면에서 프로세스 변수와 Output 파라미터 간에 매핑을 설정합니다.

[Reply Mapping] 버튼을 클릭하면 매핑 다이얼로그가 나타납니다.

Use Error Mapping

'Trans Mode'가 에러일 때 사용 가능하며 Error Mapping 화면에서 프로세스 변수와 에러 파라미터 간에 매핑을 설정합니다.

[Error Mapping] 버튼을 클릭하면 매핑 다이얼로그가 나타납니다.

커스텀 로그 매핑

해당 액티비티에 설정된 커스텀 로그와 액티비티 변수를 매핑합니다.

  • [Browse...] 버튼 : 커스텀 로그 룰을 검색합니다. 해당 버튼을 누르면 Service List Dialog에서 검색 가능합니다.

  • [Mapping...] 버튼 : 커스텀 로그 룰의 요청메시지를 매핑합니다.

프로토콜 설정

응답 메시지 설정 시 특정 프로토콜에서 사용되는 설정을 적용할 수 있습니다.

  • HTTP 응답 헤더 변경

    응답 메시지의 HTTP 헤더를 동적으로 변경합니다.

    figure responsemessage replymessage protocolset http
    프로토콜 설정 화면 - HTTP 응답 헤더 변경
  • SOAP Fault Reply 사용

    figure responsemessage replymessage protocolset soap
    프로토콜 설정 화면 - SOAP Fault Reply 사용
    항목 설명

    use soap fault reply

    [거래] > [업무오류 응답 메시지]에 지정한 메시지를 soap fault 스펙에 맞는 fault 메시지로 변환합니다.

  • 웹서비스 아웃바운드 Attachment Reply

    figure responsemessage replymessage protocolset webservice
    프로토콜 설정 화면 - 웹서비스 아웃바운드 Attachment Reply
    항목 설명

    웹서비스 아웃바운드 응답 Attachment 사용

    웹서비스 응답 메시지에 첨부 파일을 설정하여 전송합니다.

  • Tmax 응답 설정

    응답 메시지의 반환 값과 전송 데이터의 처리 방식을 설정합니다.

    설정이 적용된 응답은 [모니터링] > [트랜잭션 트레이스]의 응답 메시지에서 확인할 수 있고, 설정이 적용되지 않은 응답은 기존 방식대로 로깅됩니다. 설정에 의해 메시지가 변경된 경우 기존 메시지는 트레이스 로그의 ORIGINALMESSAGE 항목에 기록됩니다. 단, 설정 사용 시 메시지 로깅 방식이 변경되므로 [FEP] > [응답 송신] 기능은 사용할 수 없습니다.

    figure responsemessage replymessage protocolset tmax
    프로토콜 설정 화면 - Tmax 응답 설정
    항목 설명

    TPFAIL로 설정

    응답 메시지의 rval이 TPFAIL로 설정됩니다.

    Data없이 전송(null)

    응답 메시지의 데이터가 null로 설정됩니다.

    다음은 설정에 따른 로그 기록 방식입니다.

    설정 적용 응답 메시지 로그

    TPFAIL, 데이터 없음(null)

    Reply[TPFAIL] Data[null]

    TPFAIL, 데이터 있음

    Reply[TPFAIL] Data[기존 메시지]

    TPSUCCESS, 데이터 없음(null)

    Reply[TPSUCCESS] Data[null]

    TPSUCCESS, 데이터 있음

    기존 메시지

SubFlow

응답 메시지 액티비티의 경우 Activity Preference 화면에서 다른 플로우를 호출하기 위해 [SubFlow]를 선택해서 정보를 설정합니다.

figure subflow activity
Activity Preference 화면 - SubFlow
항목 설명

Sub Flow

사전에 생성한 서브 서비스 플로우(또는 서비스 플로우)를 설정할 수 있습니다.

Service id

설정한 서브 플로우의 Service ID입니다.

Trans Mode

  • Request : 가장 일반적인 메시징 형태로 요청에 대한 응답을 기대하는 전송모드입니다.

  • One Way : 응답을 기다리지 않고 요청 메시지만 전달하는 전송모드입니다.

  • One Way with ack : 요청 메시지가 처리된 후 ACK 메시지를 기대하는 형태입니다. 보통 딜리버리 채널에서 전달 보장을 처리한 후 ACK 메시지 또는 NAK 메시지를 답변으로 보내는 전송모드입니다.

Service Mapping

아웃바운드 서비스의 변수과 Activity Parameter 사이에 in/out 매핑이 가능합니다. 매핑을 만들 때 실제 맵 파일이 생성되도록 하는 'public' 설정과 SFDL 내 서비스 매핑에 정보를 숨겨두는 'private' 설정이 있습니다. 즉, 'private' 매핑의 경우는 다른 플로우나 액티비티에서 재사용할 수 없습니다.

멀티바인딩(MultiBinding) 액티비티

여러 서비스를 하나의 액티비티에서 처리하기 위해 생성하는 액티비티로 멀티바인딩에 설정된 서비스를 호출합니다.

HTTP 액티비티

HTTP 프로토콜을 이용하여 HTTP 요청을 보내는 액티비티입니다. HTTP 액티비티의 경우 Activity Preference 화면[헤더 동적 변경] 기능과 [응답 헤더 매핑] 기능이 있습니다.

figure http dynamic header
Activity Preference 화면 - HTTP 액티비티
항목 설명

헤더 동적 변경

아웃바운드 요청 시 헤더를 동적으로 변경할 수 있는 기능입니다. 헤더 키를 입력한 후 매핑 화면에서 입력한 헤더 키에 값을 매핑할 수 있습니다. 헤더 키에는 대소문자 및 _, - 를 사용할 수 있습니다.

응답 헤더 매핑

아웃바운드 요청 후 응답 데이터에 포함된 헤더값을 특정 값에 매핑할 수 있는 기능입니다. 헤더 키는 대소문자 및 _, - 를 사용할 수 있습니다.

5. 이벤트

다음은 이벤트의 종류에 대한 설명입니다.

항목 설명

image (메시지 이벤트)

메시지 이벤트로 메시지를 수신하는 이벤트입니다. Start와 Intermediate 타입을 지원합니다.

image (타이머 이벤트)

시작, 종료시간, 기간을 설정하여 특정 주기로 프로세스를 시작할 수 있습니다. Intermediate 타입을 지원합니다.

image (에러 이벤트)

에러가 발생하는 경우 수행되는 이벤트입니다. Start, Intermediate, End 세 가지 타입이 모두 지원됩니다.

image (링크 이벤트)

동기화나 프로세스 흐름 제어를 위해 사용합니다. Start, Intermediate, End 세 가지 타입이 모두 지원됩니다.

image (정상 종료 이벤트)

정상 종료를 나타내는 이벤트입니다. End 타입만을 지원합니다.

image (비정상 종료 이벤트)

강제 종료 이벤트로서 프로세스 전체를 종료시킵니다. 이 이벤트를 통해 종료될 때 WebAdmin에서 비정상 종료로 인식합니다. End 타입만을 지원합니다.

5.1. 이벤트 설정

이벤트를 에디터 화면으로 갖고 온 뒤 더블클릭 또는 객체 위로 마우스를 올리면 나타나는 Event Preference 화면에서 이벤트를 설정합니다.

figure event preference
이벤트 설정

Event Preference 화면에서 이벤트의 공통적인 기본 정보 설정을 합니다. Event Class를 제외한 나머지 항목은 Activity Preference 화면과 같으므로 생략합니다.

figure eventpreference
Event Preference 화면 - 기본 정보 화면
항목 설명

Event Class

이벤트 객체의 역할과 서비스 플로우에서의 위치에 따라 Start, Intermediate, End 타입을 지정할 수 있습니다. 몇몇 이벤트의 경우 제한이 있기도 합니다.

커스텀 로깅

커스텀 로깅을 사용합니다.

  • [Browse...] 버튼 : 커스텀 로그 아웃바운드 룰을 설정합니다.

  • [Mapping...] 버튼 : 매핑을 설정합니다.

세션 ID 사용

플로우 내부에서 세션을 관리하기 위해 아이디를 설정하려면 [New] 버튼을 클릭해서 세션 아이디를 직접 입력이 가능하고, [Search] 버튼을 선택할 때 텍스트박스 옆의 [Search] 버튼을 클릭하면 세션 선택 다이얼로그에서 세션을 아이디를 설정할 수 있습니다.

5.2. 타입별 이벤트 설정

  • 메시지 이벤트

    메시지 이벤트의 경우 파리미터 설정 항목이 있으며, 항목에 대한 설명은 Activity Preference 화면의 파라미터 설정과 같으므로 생략합니다.

  • 타이머 이벤트

    타이머 이벤트의 경우 타이머 정보를 설정합니다. Timer 항목에서 시작, 종료시간, 기간을 설정하여 특정 주기로 프로세스를 시작할 수 있습니다.

    figure timerevent preference
    Event Preference 화면 - Timer
    항목 설명

    Intermediate Event Setting

    • 'Start time’만 설정한 경우 : 설정된 시작 시간 이전까지 sleep하고, 만약 이후라면 영원히 sleep합니다.

    • 'Sleep time’만 설정한 경우 : 설정한 기간 만큼만 sleep합니다.

    • 'Start time’과 'Sleep time’을 모두 설정한 경우 : 시작 시간 이전까지 sleep하고, 만약 이후라면 start time+n*sleep time까지 sleep합니다.

    Timer Class Name

    유저 클래스를 직접 등록하여 사용 가능합니다.

  • 에러 이벤트

    에러 이벤트의 경우 에러 코드 정보를 설정합니다. 에러 코드를 입력해야 합니다. AnyLink에서 정의한 특수한 에러코드들은 Error Code 설정 옆의 ? 버튼을 통해 확인할 수 있습니다.

    figure errorevent preference
    Error Preference 화면 - 에러 이벤트
  • 링크 이벤트

    링크 이벤트의 경우 Link ID 정보를 설정합니다. 연결할 상대의 아이디를 입력해야 합니다.

    figure linkevent preference
    Event Preference 화면 - 링크 이벤트

6. 게이트웨이

다음은 게이트웨이의 종류에 대한 설명입니다.

항목 설명

image (XOR Split)

image (XOR Join)

XOR Split는 여러 개의 경로 중 하나의 경로나 프로세스 인스턴스가 라우팅되는 게이트웨이입니다.

XOR Split로 분기된 프로세스는 XOR Join으로 합쳐질 수 있습니다. XOR Split의 각 트랜지션(Transition)에 조건을 설정해야 하며,이 조건들은 우선순위에 따라 조건을 검사하여 참(True)이면 진행합니다. 만약에 만족하는 조건이 존재하지 않는 경우 런타임 예외가 발생하므로 'otherwise' 타입을 하나 지정하는 것이 좋습니다.

image(XOR Event Split)

XOR Split와 유사하지만 지연 선택의 경우처럼 다음 수행될 액티비티 트랜지션(Activity Transition)에 의해 결정하지 않고 다음 액티비티들의 자체 발생 여부를 가지고 있는 라우팅되는 게이트웨이입니다.

XOREvent Split 다음에는 반드시 타이머나 메시지 이벤트 또는 이벤트로 시작하는 블록만 올 수 있습니다.

image (Or Split)

image (Or Join)

Or Split는 부팅할 때의 조건에 맞는 모든 경로로 프로세스 인스턴스가 라우팅되는 게이트웨이입니다.

Or Split 또한 Or Join으로 다시 합쳐져야 하며 트랜지션의 조건(Condition)을 설정하는 부분은 XOR Split와 동일합니다. 다만 여러 개의 트랜지션이 겹쳐지는 조건이 있더라도 조건에 맞는 트랜지션이면 모두 수행된다는 점만 다릅니다.

image (And Split)

image (And Join)

And Split는 조건 없이 모든 경로로 프로세스 인스턴스가 라우팅되는 게이트웨이입니다.

And Split는 모든 트랜지션으로 분기되기 때문에 각 부팅할 때의 조건(Condition)은 설정하지 않아야 합니다. 비슷한 개념으로 And Join은 모든 경로에서 실행이 완료된 결과가 도착해야 다음 액티비티를 수행합니다.

image (Complex Join)

Complex Join은 Join할 개수를 지정하여 지정된 개수만큼 도착하면 다음으로 진행하는 형태입니다.

다음은 게이트웨이를 설정하는 Gateway Preference 화면에 대한 설명입니다.

figure gateway preference
Gateway Preference 화면
항목 설명

Gateway Mode

선택한 게이트웨이의 종류를 표시하고 변경이 가능합니다.

Incoming Condition

Complex Gateway인 경우 설정할 수 있습니다. 몇 개의 트랜지션으로 합칠 것인지 설정합니다.

7. 스웜레인 / 블록 / ANNOTATIONS

다음은 스웜레인 / 블록 / ANNOTATIONS 객체에 대한 설명입니다.

항목 설명

image (스웜레인)

스웜레인은 서비스 플로우상에 Task를 구분해주는 일종의 선입니다.

스윔레인을 사용하여 Task 간의 병렬적으로 이루어지는 우선순위나 행동들을 쉽게 구분할 수 있습니다. 스웜레인 상단을 더블클릭하여 발생하는 다이얼로그에서 아이디, 이름, 크기 색상을 변경할 수 있습니다.

image (블록 액티비티)

블록 내부에서 사용할 수 있는 변수를 설정할 수 있으며, 블록 단위로 Message, Timer, Error 등의 이벤트를 설정할 수 있습니다.

image (ANNOTATIONS)

사용자의 편의를 위한 객체로 설명을 기술할 수 있습니다. 플로우의 메모 기능을 제공합니다.

7.1. 블록 액티비티

특정 구역을 진행하는 도중에 발생하는 사건들이나 예외에 대한 처리를 위해서 특정 구역을 묶어서 표현하는 것을 블록(Block)이라고 합니다. Java의 함수와 비슷한 개념으로 서비스 플로우 액티비티의 묶음입니다.

블록에서도 액티비티와 마찬가지로 Block Handler, Exception Handler, Activity Loop, Block Variable 설정이 가능합니다. [Block Variable] 메뉴에서 블록 내에서만 사용 가능한 변수를 정의할 수 있습니다.

figure blockactivitypreference
Block Activity Preference 화면
항목 설명

This is transaction block activity

블록 액티비티는 트랜잭션이 지원되는 트랙잭션 블록 기능을 제공합니다.

트랜잭션 블록을 사용할 경우 블록에 진입할 때 Tx_Begin, 블록을 None 이벤트로 종료할 때 Tx_Commit, 블록을 비정상 종료하거나 Terminate 이벤트로 종료할 경우 Tx_Rollback이 자동으로 호출됩니다.

8. Utility

Utility는 서비스 플로우에서 사용되는 유틸리티 모음입니다.

다음은 Utility 객체에 대한 설명입니다.

항목 설명

image (SESSION CLOSE ACTIVITY)

Session ID를 입력하여 해당하는 세션을 닫습니다.

image (SESSION ABORT ACTIVITY)

Session ID를 입력하여 해당하는 세션을 강제 종료시킵니다.

image (NETWORK MANAGEMENT ACTIVITY)

망의 상태를 변경하거나 망의 상태를 조회합니다.

image (MANAGER APPROVAL ACTIVITY)

단말 로그인/로그아웃이나 단말 사용자나 책임자 정보를 조회합니다.

image (HTTP MULTIPART ACTIVITY)

HTTP 멀티파트로 수신된 파일을 임시경로에 저장합니다. 해당 파일들은 플로우가 끝나면 자동 삭제됩니다.

image (BATCH PROGRESS ACTIVITY)

배치 진행률을 변경하거나 조회합니다.

image (TCP MESSAGE SPLIT ACTIVITY)

다음 Intermediate Event에서 TCP 메시지를 분할해서 수신받도록 합니다.

image (CONTROL SESSION ACTIVITY)

엔드포인트 ID와 세션키를 입력하여 해당하는 세션을 강제 종료합니다.

8.1. SESSION CLOSE ACTIVITY

다음은 SESSION CLOSE ACTIVITY의 Session Close Preference 화면에 대한 설명입니다.

figure sessionpreference
Session Close - Session Abort Preference 화면

서비스 플로우에 추가되어 있는 'Session ID'를 선택합니다. [Search] 버튼을 클릭하면 Session ID 선택 다이얼로그가 생성됩니다.

figure select session
Session ID 선택 다이얼로그

8.2. NETWORK MANAGEMENT ACTIVITY

다음은 NETWORK MANAGEMENT ACTIVITY의 Network Management Preference 화면에 대한 설명입니다.

figure network management preference
Network Management Preference 화면

고정된 망 망을 선택할 경우에는 '망 ID(이름)'을 체크하고 [검색] 버튼을 클릭하여 생성된 망 ID(이름) 검색 다이얼로그에서 WebAdmin에서 추가한 망 ID를 선택합니다.

플로우 변수에 코드 값이 있을 경우에는 '망 코드'을 체크하고 [Mapping...] 버튼을 클릭하여 생성된 코드를 매핑한 후 [검색] 버튼을 클릭하여 생성된 망 ID(이름) 검색 다이얼로그에서 WebAdmin에서 추가한 망 ID를 선택합니다.

figure select network id
망 ID(이름) 검색 다이얼로그

망 상태를 변경할 때는 '변경' 항목을 체크하고 망 상태를 변경합니다. 망 상태를 조회할 때는 '조회' 항목을 체크하고 [Mapping...] 버튼을 클릭하여 생성된 망 상태 매핑 다이얼로그에서 망 상태를 플로우 변수에 매핑합니다.

figure network status mapping
망 상태 매핑 다이얼로그

8.3. MANAGER APPROVAL ACTIVITY

다음은 MANAGER APPROVAL ACTIVITY의 Manager Approval Preference 화면에 대한 설명입니다.

figure manager approval preference
Manager Approval Preference 화면

유틸리티 유형에서 수행하려는 액션을 선택합니다. 단말을 사용하거나 조회하려는 사용자의 사용자 번호를 필드 선택[Search] 버튼을 클릭하여 생성된 변수 필드 선택 다이얼로그에서 매핑합니다. 해당 필드 값에 해당하는 값은 WebAdmin의 [운영관리] > [단말관리] > [사용자관리] 메뉴에 존재하는 사용자의 사용자 번호와 일치해야 합니다.

figure select manager approval field
변수 필드 선택 다이얼로그

유틸리티 유형에 해당하는 액션을 수행한 후의 결과나 정보는 [Mapping...] 버튼을 클릭하여 생성된 단말/사용자 정보 매핑 다이얼로그에서 매핑합니다.

figure manager approval mapping
단말/사용자 정보 매핑 다이얼로그

8.4. HTTP MULTIPART ACTIVITY

다음은 HTTP MULTIPART ACTIVITY의 HTTP Multipart Preference 화면에 대한 설명입니다.

figure http multipart preference
HTTP Multipart Preference 화면

멀티파트로 수신된 파일의 정보는 [매핑 유형]에서 유형을 선택합니다. 파일 매핑은 파일의 경로와 파일 이름을 매핑을 통해 얻을 수 있고, 바이트 매핑은 파일의 내용과 파일의 정보를 매핑을 통해 얻을 수 있습니다.

멀티파트 파일 정보는 [Mapping...] 버튼을 클릭하여 생성된 멀티 파트 매핑 다이얼로그를 통해 매핑합니다.

figure file mapping
멀티 파트 매핑 다이얼로그

8.5. BATCH PROGRESS ACTIVITY

다음은 BATCH PROGRESS ACTIVITY의 Batch Progress Preference 화면에 대한 설명입니다.

배치 진행률을 사용하기 위해서는 플로우에서 사용하는 배치 아웃바운드룰 설정에서 배치 진행률 사용을 true로 설정해야 합니다.

figure batch progress preference
Batch Progress Preference 화면

배치 진행률 정보를 변경할 경우에는 '배치 진행률 정보'를 체크하고 [Mapping...] 버튼을 클릭하여 생성된 배치 진행률 정보 매핑 다이얼로그에서 배치 진행률 정보를 매핑합니다.

figure batch status update
배치 진행률 정보 매핑 다이얼로그
항목 설명

배치 진행률 정보

배치 진행률 정보를 매핑하여 변경합니다.

  • 전체 레코드 건수 : 전체 레코드 건수를 변경합니다.

  • 현재 레코드 위치 : 현재 레코드 위치를 변경합니다.

  • 개시구분 : 개시 구분을 변경합니다.

  • 응답코드 : 응답코드를 변경합니다.

상태

배치의 진행 상태를 완료 또는 실패로 변경합니다.

조회

배치 처리 결과를 매핑을 통해 조회합니다.

배치 상태를 변경할 경우에는 '상태'를 체크하고 변경할 상태를 선택합니다. 배치 처리 결과를 조회할 경우에는 '조회'를 체크하고 [Mapping...] 버튼을 클릭하여 생성된 배치 처리 결과 조회 매핑 다이얼로그에서 배치 처리 결과를 매핑합니다.

figure batch result lookup
배치 처리 결과 조회 매핑 다이얼로그

8.6. TCP MESSAGE SPLIT ACTIVITY

다음은 TCP MESSAGE SPLIT ACTIVITY의 TCP Message Split Preference 화면에 대한 설명입니다. 해당 기능을 사용하기 위해서는 WebAdmin에 [구성관리] > [어댑터] 메뉴에서 Endpoint 설정에 메시지 분할 거래에 거래를 설정해야 합니다.

TCP MESSAGE SPLIT ACTIVITY를 설정하면, 해당 Activity 다음 실행되는 Intermediate Event에서 메시지를 수신할 때 TCP MESSAGE SPLIT ACTIVITY 에서 설정한 '총 길이', '분할 길이’를 이용하여 수신합니다. '총 길이’는 수신할 메시지의 총 길이이고, '분할 길이’는 분할해서 읽을 메시지 길이입니다.

figure tcp message split preference
TCP Message Split Preference 화면

서비스 플로우에 추가되어 있는 'Session ID'를 선택합니다. [Search] 버튼을 클릭하면 Session ID 선택 다이얼로그가 생성됩니다.

figure select session
Session ID 선택 다이얼로그

수신받을 메시지 길이 정보는 [Mapping...] 버튼을 클릭하여 생성된 메시지 길이 정보 매핑 다이얼로그에서 매핑합니다. 이후에 수행되는 Intermediate Event메시지 길이 정보 매핑 다이얼로그에서 매핑된 총 길이와 분할 길이를 이용하여 수신합니다.

figure message length info mapping
메시지 길이 정보 매핑 다이얼로그

8.7. CONTROL SESSION ACTIVITY

다음은 CONTROL SESSION ACTIVITY의 Control Session Preference 화면에 대한 설명입니다.

figure control session preference
Control Session Preference 화면

세션을 종료하고 싶은 세션 정보는 [Mapping...] 버튼을 클릭하여 생성된 다이얼로그에서 매핑합니다.

figure session info mapping
세션 정보 매핑 다이얼로그