다음을 통해 공유


3270 애플리케이션에 대한 메타데이터 아티팩트 디자인

이 가이드에서는 3270개의 애플리케이션에 대한 메타데이터 아티팩트 디자인과 이러한 아티팩트들을 HOST Integration Server에 대한 HIDX(Host Integration Server Definition XML) 파일 및 C# 클래스로 저장하는 방법을 보여 줍니다.

3270 화면 기반 앱에서 화면 및 데이터 필드는 시나리오에 고유합니다. Azure Logic Apps를 사용하여 IBM 3270 커넥터 작업을 포함하는 자동화된 워크플로를 만들고 실행하는 경우 커넥터에는 HIDX 파일에서 메타데이터로 제공할 수 있는 앱에 대한 정보가 필요합니다. 이 메타데이터는 워크플로가 화면을 식별하고 인식하는 데 도움이 되는 정보를 설명하고, 화면 간 탐색 방법, 데이터를 입력할 위치 및 결과를 예상하는 위치를 설명합니다. 이 메타데이터를 지정하고 생성하려면 아래의 자세한 설명에 따라 특정 ‘모드’ 또는 단계를 안내하는 3270 디자인 도구를 사용합니다.

  • 캡처: 이 모드에서는 은행 잔액을 가져오는 등 메인프레임 앱을 사용하여 특정 작업을 완료하는 데 필요한 화면을 기록합니다.

  • 탐색: 이 모드에서는 특정 작업에 대한 메인프레임 앱 화면을 탐색하는 방법에 대한 계획 또는 경로를 지정합니다.

  • 메서드: 이 모드에서는 화면 탐색 경로를 설명하는 GetBalance 등의 메서드를 정의합니다. 또한 메서드의 입력 및 출력 매개 변수가 되는 각 화면에서 필드를 선택합니다.

사전 요구 사항

화면 캡처

이 모드에서는 각 3270 화면에서 해당 화면을 고유하게 식별하는 항목을 표시합니다. 예를 들어 특정 텍스트 및 비어 있지 않은 필드와 같이 텍스트 줄 또는 보다 복잡한 조건 집합을 지정할 수 있습니다. 호스트 서버에 대한 라이브 연결을 통해 화면을 기록하거나 IBM BMS(기본 매핑 지원) 맵에서 이 정보를 가져올 수 있습니다. 라이브 연결은 TN3270 에뮬레이터를 사용하여 호스트에 연결합니다. 각 커넥터 작업은 세션에 대한 연결로 시작하고 세션에서 연결을 해제하는 작업으로 끝나는 단일 작업에 매핑되어야 합니다.

  1. 3270 디자인 도구를 아직 열지 않았다면 엽니다. 도구 모음에서 캡처를 선택하여 캡처 모드로 전환합니다.

  2. 세션 메뉴에서 호스트 설정을 선택합니다. TN3270E 서버 설정에 대한 정보를 입력하고 확인을 선택합니다.

  3. 세션 메뉴에서 연결을 선택합니다.

  4. 기록을 시작하려면 기록 메뉴에서 기록 시작을 선택합니다. (키보드: Ctrl + E)

  5. 캡처 창에서 앱의 첫 화면에서 시작하여 기록 중인 특정 작업에 대한 앱을 단계별로 실행합니다.

  6. 작업을 완료한 후 일반적인 방식으로 앱에서 로그아웃합니다.

  7. 세션 메뉴에서 연결 해제를 선택합니다.

  8. 기록을 중지하려면 기록 메뉴에서 기록 중지를 선택합니다. (키보드: Ctrl + Shift + E)

    작업에 대한 화면을 캡처하면 디자이너 도구에 해당 화면을 나타내는 썸네일이 나타납니다. 썸네일에 대한 참고 사항:

    • 캡처된 화면에는 “Empty”라는 화면이 있습니다.

      CICS에 처음 연결할 때 실행하려는 트랜잭션의 이름을 입력하려면 먼저 “Clear” 키를 전송해야 합니다. “Clear” 키를 전송하는 화면에는 화면 인식 편집기를 사용하여 추가할 수 있는 화면 제목과 같은 ‘인식 특성’이 없습니다. 이 화면을 나타내기 위해 썸네일에 “Empty”라는 화면이 포함됩니다. 나중에 이 화면을 사용하여 트랜잭션 이름을 입력하는 화면을 나타낼 수 있습니다.

    • 기본적으로 캡처된 화면의 이름은 화면의 첫 번째 단어를 사용합니다. 해당 이름이 이미 존재하는 경우 디자인 도구는 이름에 “WBGB”, “WBGB_1”과 같이 밑줄과 숫자를 추가합니다.

  9. 캡처된 화면에 보다 의미 있는 이름을 지정하려면 다음 단계를 수행합니다.

    1. 호스트 화면 창에서 이름을 바꿀 화면을 선택합니다.

    2. 동일한 창의 하단에서 화면 이름 속성을 찾습니다.

    3. 현재 화면 이름을 보다 자세한 이름으로 변경합니다.

  10. 이제 각 화면을 식별하기 위한 필드를 지정합니다.

    3270 데이터 스트림을 사용하면 화면에 기본 식별자가 없으므로 각 화면에서 고유한 텍스트를 선택해야 합니다. 복잡한 시나리오의 경우 고유한 텍스트와 특정 조건이 있는 필드와 같은 여러 조건을 지정할 수 있습니다.

인식 필드 선택을 완료한 후 다음 모드로 이동합니다.

반복 화면을 식별하기 위한 조건

커넥터가 화면 간에 탐색하고 구분하려면 일반적으로 캡처된 화면 간 식별자로 사용할 수 있는 화면 내 고유한 텍스트를 찾습니다. 반복되는 화면의 경우 더 많은 식별 방법이 필요할 수 있습니다. 예를 들어, 한 화면에는 유효한 값이 반환되고, 다른 화면에는 오류 메시지가 반환된다는 것을 제외하면 동일해 보이는 두 화면이 있는 경우를 가정해 보겠습니다.

디자인 도구에서 화면 인식 편집기를 사용하여 “계좌 잔액 가져오기”와 같은 화면 제목 등의 ‘인식 특성’을 추가할 수 있습니다. 분기된 경로가 있고 두 분기가 동일한 화면을 반환하지만 결과가 다른 경우 다른 인식 특성이 필요합니다. 런타임에 커넥터는 이 특성을 사용하여 현재 분기와 포크를 확인합니다. 사용할 수 있는 조건은 다음과 같습니다.

  • 특정 값: 이 값은 지정된 위치에 있는 지정된 문자열과 일치합니다.
  • 특정하지 않은 값: 이 값은 지정된 위치에 있는 지정된 문자열과 일치하지 않습니다.
  • 비어 있음: 이 필드는 비어 있습니다.
  • 비어 있지 않음: 이 필드는 비어 있지 않습니다.

자세한 내용은 본 항목의 뒷부분에 나오는 예제 탐색 계획을 참조하세요.

탐색 계획 정의

이 모드에서는 특정 작업에 대한 메인프레임 앱 화면을 통한 탐색의 흐름 또는 단계를 정의합니다. 예를 들어, 앱에서 사용할 수 있는 경로가 두 개 이상 있을 수 있으며, 이때 한 경로에서는 올바른 결과가 생성되고 다른 경로에서는 오류가 발생합니다. 각 화면에 대해 다음 화면으로 이동하는 데 필요한 키 입력을 지정합니다(예: CICSPROD <enter>).

동일한 연결 및 연결 해제 화면을 사용하는 몇 가지 작업을 자동화하는 경우 디자인 도구는 특별한 연결 및 연결 해제 계획 유형을 제공합니다. 해당 계획을 정의할 때 탐색 계획의 시작과 끝에 계획을 추가할 수 있습니다.

계획 정의에 대한 지침

  • 연결부터 연결 해제까지 모든 화면을 포함합니다.

  • 독립 실행형 계획을 만들거나 연결 및 연결 해제 계획을 사용하면 모든 트랜잭션에 공통된 일련의 화면을 다시 사용할 수 있습니다.

    • 연결 계획의 마지막 화면은 탐색 계획의 첫 번째 화면과 동일해야 합니다.

    • 연결 해제 계획의 첫 번째 화면은 탐색 계획의 마지막 화면과 동일해야 합니다.

  • 캡처된 화면에는 여러 개의 반복된 화면이 포함될 수 있으므로 계획에서 반복된 화면의 인스턴스를 하나만 선택하고 사용합니다. 반복된 화면의 몇 가지 예는 다음과 같습니다.

    • 로그인 화면(예: MSG-10 화면)
    • CICS의 시작 화면
    • “Clear” 또는 Empty 화면

플랜 만들기

  1. 3270 디자인 도구의 도구 모음에서 탐색을 선택하여 탐색 모드로 전환합니다.

  2. 계획을 시작하려면 탐색 창에서 새 계획을 선택합니다.

  3. 새 계획 이름 선택에서 계획의 이름을 입력합니다. 유형 목록에서 계획 유형을 선택합니다.

    플랜 유형 설명
    Process 독립 실행형 또는 결합형 계획의 경우
    연결 연결 계획의 경우
    연결 끊기 연결 해제 계획의 경우
  4. 호스트 화면 창에서 캡처된 썸네일을 탐색 창의 탐색 계획 화면으로 끌어다 놓습니다.

    트랜잭션 이름을 입력하는 빈 화면을 나타내려면 “Empty” 화면을 사용합니다.

  5. 정의 중인 작업을 설명하는 순서대로 화면을 정렬합니다.

  6. 포크와 조인을 포함하는 화면 간의 흐름 경로를 정의하려면 디자인 도구의 도구 모음에서 흐름을 선택합니다.

  7. 흐름에서 첫 번째 화면을 선택합니다. 흐름에서 다음 화면으로 연결을 끌어다 놓습니다.

  8. 각 화면에 대해 AID 키 속성(주의 식별자) 및 고정 텍스트 속성에 대한 값을 입력하면 흐름이 다음 화면으로 이동합니다.

    AID 키 또는 AID 키와 고정 텍스트가 모두 있을 수 있습니다.

탐색 계획을 완료한 후 다음 모드에서 메서드를 정의할 수 있습니다.

예제

이 예제에서는 다음 단계를 포함하는 "WBGB"라는 CICS 트랜잭션을 실행한다고 가정합니다.

  1. 첫 번째 화면에서 이름 및 계정을 입력합니다.
  2. 두 번째 화면에서 계좌 잔액을 가져옵니다.
  3. “Empty” 화면으로 종료합니다.
  4. CICS에서 “MSG-10” 화면으로 로그아웃합니다.

또한 단계를 반복하지만 오류를 표시하는 화면을 캡처할 수 있도록 잘못된 데이터를 입력하는 것으로 가정해 보겠습니다. 캡처한 화면은 다음과 같습니다.

  • MSG-10
  • CICS 시작
  • Empty
  • WBGB_1(입력)
  • WBGB_2(오류)
  • Empty_1
  • MSG-10_1

많은 화면에 고유한 이름이 있지만 일부 화면은 동일한 화면(예: "MSG-10" 및 "MSG-10_1")입니다. WBGB_1 이름을 바꾸고 더 유익한 것으로 WBGB_2 합니다. 반복되는 화면의 경우 계획에서 해당 화면에 대해 인스턴스를 하나만 사용합니다. 독립 실행형 계획, 연결 계획, 연결 해제 계획, 결합형 계획을 보여 주는 예는 다음과 같습니다.

  • 독립 실행형 계획

    독립 실행형 탐색 계획

  • 연결 계획

    연결 계획

  • 연결 해제 계획

    연결 해제 계획

  • 결합형 계획

    결합형 계획

예시: 반복된 화면 식별

예제 계획에는 비슷한 화면을 얻을 수 있는 포크가 있습니다. 한 화면에서는 계좌 잔액을 반환하고 다른 화면은 오류 메시지를 반환합니다.

디자인 도구를 사용하면 화면 인식 편집기를 사용하여 “계좌 잔액 가져오기”라는 화면 제목 등의 인식 특성을 추가할 수 있습니다. 유사한 화면이 있는 경우 다른 특성이 필요합니다. 런타임에 커넥터는 이 특성을 사용하여 분기와 포크를 확인합니다.

  • 계좌 잔액이 있는 화면인 유효한 입력을 반환하는 분기에서 “비어 있지 않음” 조건이 있는 필드를 추가할 수 있습니다.

  • 오류를 반환하는 분기에서 “비어 있음” 조건이 있는 필드를 추가할 수 있습니다.

메서드 정의

이 모드에서는 탐색 계획과 연결된 메서드를 정의합니다. 각 메서드 매개 변수에 대해 문자열, 정수, 날짜 또는 시간 등의 데이터 형식을 지정합니다. 완료되면 라이브 호스트에서 메서드를 테스트하고 메서드가 정상적으로 작동하는지 확인할 수 있습니다. 그런 다음, 메타데이터 파일 또는 HIDX(Host Integration Designer XML) 파일을 생성합니다. 여기에는 IBM 3270 커넥터에 대한 작업을 만들고 실행하는 데 사용할 메서드 정의가 있습니다. 또한 Host Integration Server에 대한 C# 클래스를 생성합니다. 호스트 통합 서버에서 사용할 C# 클래스를 생성할 수도 있습니다.

  1. 3270 디자인 도구의 도구 모음에서 메서드를 선택하여 메서드 모두로 전환합니다.

  2. 메서드 창에서 새 메서드 단추를 선택합니다. 새 메서드의 이름을 입력합니다. 확인을 선택합니다.

  3. 탐색 창에서 원하는 입력 필드가 있는 화면을 선택합니다.

  4. 메서드의 첫 번째 입력 매개 변수를 추가하려면 다음 단계를 수행합니다.

    1. 캡처 창의 3270 에뮬레이터 화면에서 첫 번째 입력으로 사용할 필드 안의 텍스트가 아니라 전체 필드를 선택합니다.

      모든 필드를 표시하고 전체 필드를 선택했는지 확인하려면 보기 메뉴에서 모든 필드를 선택합니다.

    2. 디자인 도구의 도구 모음에서 입력 필드를 선택합니다.

  5. 입력 매개 변수를 더 추가하려면 각 매개 변수에 대해 이전 단계를 반복합니다. 간단한 단계를 참조하세요.

  6. 메서드의 첫 번째 출력 매개 변수를 추가하려면 다음 단계를 수행합니다.

    1. 캡처 창의 3270 에뮬레이터 화면에서 첫 번째 출력으로 원하는 필드 안의 텍스트가 아니라 전체 필드를 선택합니다.

      모든 필드를 표시하고 전체 필드를 선택했는지 확인하려면 보기 메뉴에서 모든 필드를 선택합니다.

    2. 디자인 도구의 도구 모음에서 출력 필드를 선택합니다.

    출력 매개 변수를 더 추가하려면 각 매개 변수에 대해 이전 단계를 반복합니다.

  7. 메서드의 매개 변수를 모두 추가한 후에는 각 매개 변수에 대해 다음 속성을 정의합니다.

    속성 이름 가능한 값
    데이터 형식 Byte, Date Time, Decimal, Int, Long, Short, String
    필드 채우기 기술 매개 변수는 다음과 같은 채우기 유형을 지원합니다. 필요한 경우 공백으로 채웁니다.

    - Type: 필드에 순차적으로 문자를 입력합니다.

    - Fill: 필드 내용을 문자로 바꿉니다. 필요한 경우 공백으로 채웁니다.

    - EraseEofType: 필드를 삭제한 다음, 필드에 문자를 순차적으로 입력합니다.

    형식 문자열 일부 매개 변수 데이터 형식은 3270 커넥터에 화면에서 .NET 데이터 형식으로 텍스트를 변환하는 방법을 알려주는 형식 문자열을 사용합니다.

    - DateTime: DateTime 형식 문자열은 .NET 사용자 지정 날짜 및 시간 서식 문자열을 따릅니다. 예를 들어 날짜는 06/30/2019 형식 문자열을 사용MM/dd/yyyy합니다.

    - 10진수: 10진수 형식 문자열은 COBOL Picture 절을 사용합니다. 예를 들어 숫자 100.35는 형식 문자열을 사용999V99합니다.

메타데이터 저장 및 보기

메서드를 정의한 후에는 메서드를 테스트하기 전에 지금까지 정의한 모든 정보를 RAP(.rap) 파일에 저장합니다. 언제든지 어떤 모드에서도 이 RAP 파일에 저장할 수 있습니다. 디자인 도구에는 이 위치에서 디자인 도구의 설치 폴더로 이동하여 “WoodgroveBank.rap” 파일을 열어서 검토할 수 있는 샘플 RAP 파일이 포함되어 있습니다.

..\Program Files\Microsoft Host Integration Server - 3270 Design Tool\SDK\WoodgroveBank.rap

그러나 파일이 디자인 도구의 설치 폴더에 유지되는 동안 샘플 RAP 파일의 변경 내용을 저장하거나 샘플 RAP 파일에서 HIDX 파일을 생성하려고 하면 “액세스 거부” 오류가 발생할 수 있습니다. 기본적으로 디자인 도구는 상승된 권한 없이 Program Files 폴더에 설치됩니다. 오류가 발생하면 다음 해결 방법 중 하나를 시도해 보세요.

  • 샘플 파일을 다른 위치에 복사합니다.
  • 관리자 역할로 디자인 도구를 실행합니다.
  • 자신을 SDK 폴더의 소유자로 지정합니다.

메서드 테스트

  1. 메서드 모드에서 라이브 호스트에 대해 메서드를 실행하려면 F5 키를 누르거나 디자인 도구의 도구 모음에서 테스트를 선택합니다.

    모드는 언제든지 변경할 수 있습니다. 파일 메뉴에서 도구를 선택한 다음 원하는 모드를 선택합니다. 최소 진행률 양식체인 메서드 사용

  2. 매개 변수 값을 입력하고 확인을 선택합니다.

  3. 다음 화면으로 계속하려면 다음을 선택합니다.

  4. 완료되면 완료를 선택합니다. 그러면 출력 매개 변수 값이 표시됩니다.

HIDX 파일 생성 및 업로드

준비가 되면 HIDX 파일을 생성합니다. 3270 디자인 도구는 RAP 파일을 저장한 새 하위 폴더에 HIDX 파일을 만듭니다. 그런 다음, CONSUMPTION 또는 Standard 논리 앱 리소스에 연결된 통합 계정에 HIDX 파일을 업로드할 수 있습니다. 또는 리소스 메뉴의 지도 아래 아티팩트 섹션을 통해 표준 논리 앱 리소스에 직접 업로드할 수 있습니다.

  1. 3270 디자인 도구의 도구 메뉴에서 정의 생성을 선택합니다. (키보드: F6)

  2. RAP 파일이 들어 있는 폴더로 이동한 다음, HIDX 파일을 생성한 후 도구에서 생성한 하위 폴더를 엽니다. 도구가 HIDX 파일을 생성했는지 확인합니다.