웹 서비스로 IBM i 프로그램에 액세스: 키 입력 세부사항
서비스 요청자로 동작하는 애플리케이션이
IBM® i 프로그램(rpgle, cbl, cblle, sqlrpgle, sqlcbl, sqlcblle)의
유형에 액세스할 수 있도록 EGL 생성기가 SOAP 웹 서비스 또는
EGL REST 웹 서비스를 작성할 수 있습니다.
이 주제는 웹 서비스로
IBM i 프로그램에 액세스하기 위한 지시사항을 설명합니다. 배경 정보는
“웹 서비스로 IBM i 프로그램에 액세스: 개요”를
참조하십시오.
시작하기 전에
- 작업공간은 다음 데이터를 포함하도록
웹 또는 일반 프로젝트를 포함해야 합니다.
- IBM i 프로그램을 나타내는 외부 유형
- 웹 서비스와 IBM i 프로그램 간에 교환되는 레코드의 기초로 사용되는 구조화된 레코드 파트입니다.
- 사용자의 작업공간은 사용자의 Rich UI 애플리케이션이 런타임 시 IBM i 코드에 액세스하는 데 사용하는 인터페이스와 비구조적 레코드 파트를 포함하도록 Rich UI 프로젝트를 포함해야 합니다.
- 작업공간이 IBM i 시스템이 연결됩니다. 연결은 원격 시스템 탐색기 퍼스펙티브에서 사용 가능합니다.
참고: 여기에 설명된 마법사는
SOAP 서비스에 액세스하기 위해 인터페이스 파트를 작성하지 않습니다. 인터페이스 파트를 작성하여
SOAP 서비스에 액세스하려면 다음을 수행하십시오.
- WSDL 파일을 작성하여 WebContent/WEB-INF/wsdl 디렉토리에 배치하는 배치 디스크립터를 생성하십시오.
- WSDL 파일을 마우스 오른쪽 단추로 클릭하고 을 선택한 후
“인터페이스 파트를 작성하여 SOAP 서비스에 액세스”에서 설명된 프로세스를 계속하십시오.
Rich UI 프로젝트에서 인터페이스 파트를 배치해야 합니다.
외부 유형 및 구조화된 레코드 파트 작성
- 원격 시스템 탐색기 퍼스펙티브에서 IBM i 프로그램 소스 또는 기존 PCML(Program Call Markup Language) 정의에 대한 항목을 마우스 오른쪽 단추로 클릭하십시오.
- 를 선택하십시오.
- "새 EGL 파트" 창 중 첫 번째가 표시됩니다. 상자의 중간에서
작성할 외부 유형을 선택하십시오. 상자의 맨 아래에서
하나 이상의 선택란을 선택하여 웹(SOAP) 서비스, 웹(REST) 서비스 또는
둘 모두를 작성할지 여부를 표시하십시오.
- REST 웹 서비스 작성을 선택하는 경우, Rich UI 애플리케이션에서 사용하도록 인터페이스 파트와 비구조적 레코드 파트를 작성할 수 있습니다.
- 인터페이스 및 레코드 파트를 원하지 않는 경우 REST 웹 서비스에 대해 EGL Rich UI 인터페이스 작성을 선택 취소하십시오. 이후에 REST 서비스의 인터페이스 파트를 원하는 경우 외부 유형을 마우스 오른쪽 단추로 클릭하고 을 선택한 후 마법사의 단계를 따르십시오. Rich UI 프로젝트에서 인터페이스 파트를 배치해야 합니다.
- 다음을 클릭하십시오. 두 번째 "새 EGL 파트" 창이
표시됩니다.
- 소스 폴더 필드에서 외부 유형 및 구조화된 레코드 파트를 수신하는 프로젝트를 지정하십시오. 또한 백슬래시(\) 및 소스 폴더를 지정하십시오.
- 패키지 필드에서 패키지 이름을 지정하십시오. 패키지 이름을 지정해야 합니다. 그렇지 않으면 다른 프로젝트가 사용자가 식별한 프로젝트의 파트에 액세스할 수 없습니다.
- EGL 소스 파일 이름 필드에서 파일 이름을 지정하십시오.
- 후속 필드에서 지정된 외부 유형의 세부사항을
지정하십시오. 프로그램이 서비스 프로그램인지 여부를 지정해야 합니다.
- ExternalType 이름 필드에서 외부 유형 자체에 대해 작성할 이름을 지정하십시오.
- 호스트 프로그램 이름 필드에서 링크 편집 호스트 프로그램의 이름을 지정하십시오.
- 호스트 프로그램 라이브러리 필드에서 링크 편집 호스트 프로그램의 라이브러리 이름을 지정하십시오.
- 프로그램이 서비스 프로그램인 경우 서비스 프로그램을 선택하십시오. 그렇지 않으면 해당 필드를 선택 취소하고 호스트 프로그램 유형 목록에서 적절한 항목을 선택하십시오. 해당 목록에서 호스트 프로그램이 COBOL 또는 RPG로 작성된 NATIVE인지 또는 EGL로 작성된 EGL인지 여부를 지정할 수 있습니다.
- 시작점 필드에서 프로그램 함수를 선택하여 서비스 함수로 노출시키십시오. 모두 선택 또는 모두 선택 취소를 클릭하여 모든 함수를 선택하거나 선택 취소할 수 있습니다.
- 외부 유형의 동일하게 이름 지정된 파일을 겹쳐쓰려면 기존 파일 겹쳐쓰기를 선택하십시오. 기존 파일 겹쳐쓰기를 방지하려면 선택란을 선택 취소하십시오.
- 다음을 클릭하십시오.
웹(REST) 서비스 작성
웹(REST) 서비스를 작성 중인 경우
새 EGL REST 서비스 창이 표시됩니다.
IBM i 프로그램이 stateful인지 여부를 주의 깊게 표시하여
다음과 같이 수행하십시오.
- 소스 폴더 필드를 사용할 수 있는 경우 배치 디스크립터를 포함하는 소스 폴더와 함께 웹 또는 일반 프로젝트를 지정하십시오. REST 서비스는 배치 디스크립터 생성 시 작성되는 출력입니다.
- EGL 배치 디스크립터 파일 이름 필드를 사용할 수 있는 경우 배치 디스크립터의 이름을 지정하십시오.
- 중간 상자에서 생성할 각 서비스에 대해 enableGenerate를
선택하십시오.
- 이미 REST 서비스를 생성한 경우, 서비스를 생성하려 하지 않는다는 것을 배치 디스크립터에서 지정하여 생성 시 시간을 절약할 수 있습니다. 그러나 배치 디스크립터 항목의 한 측면을 변경하는 경우 서비스를 생성해야 합니다.
- REST 서비스에 액세스하는 데 사용된 주소에 대해 하위 레벨 규정자를 식별하는 URI 필드를 변경할 수 있습니다.
- 지정된 서비스에 대해 마지막 항목이 IBM i 프로그램이 stateful인지 여부를 반영하는지 확인하십시오. 항목의 값을 변경하려면 항목을 클릭하십시오.
- 배치 디스크립터에서 동일하게 이름 지정된 REST 서비스 항목을 겹쳐쓰려면 기존 파일 겹쳐쓰기를 선택하십시오. 기존 항목 겹쳐쓰기를 방지하려면 선택란을 선택 취소하십시오.
- 마지막 섹션에서 사용 가능한 경우 추가 단추를 클릭하여 웹 서비스의 IBM i 프로그램에 액세스하는 데 사용된 프로토콜을 수정 또는 추가하십시오. 프로토콜 추가 창이 표시됩니다. “비웹 서비스에 액세스하기 위한 프로토콜 옵션”에서 지정된 추가 정보와 함께 프로토콜 이름을 지정하십시오. 새 EGL REST 서비스 창으로 돌아가려면 완료를 클릭하십시오.
- 다음을 클릭하여 마법사에서 작업을 계속하거나 가능한 경우 완료를 클릭하여 작업을 완료하십시오.
인터페이스 파트 작성
REST 서비스와 함께 인터페이스와 레코드 파트를 포함시키도록 표시한 경우,
"새 EGL 인터페이스 파트" 창이 표시됩니다.
- 소스 폴더 필드에서 소스 폴더와 함께 인터페이스 파트를 수신하는 Rich UI 프로젝트를 지정하십시오.
- 패키지 필드에서 패키지 이름을 지정하십시오. 패키지 이름을 지정해야 합니다. 그렇지 않으면 다른 프로젝트가 사용자가 식별한 프로젝트의 파트에 액세스할 수 없습니다.
- EGL 소스 파일 이름 필드에서 파일 이름을 지정하십시오.
- 후속 필드에서 지정된 인터페이스 파트 및 관련 레코드 파트의
세부사항을 지정하십시오.
- 인터페이스 이름 필드에서 인터페이스 파트에 대해 작성할 이름을 지정하십시오.
- 함수 영역에서 인터페이스 파트에 표시되는 각 IBM i 함수를 식별하십시오. 마법사는 기본 유형이 아닌 각 매개변수에 대해 구조화되지 않은 레코드 파트를 작성합니다.
- 기존 파일을 겹쳐쓰려면 기존 파일 겹쳐쓰기를 선택하십시오. 기존 파일 겹쳐쓰기를 방지하려면 선택란을 선택 취소하십시오.
웹(SOAP) 서비스 작성
웹(SOAP) 서비스를 작성 중인 경우
새 EGL 웹 서비스 창이 표시됩니다.
- 소스 폴더 필드를 사용할 수 있는 경우 배치 디스크립터를 포함하는 소스 폴더와 함께 웹 또는 일반 프로젝트를 지정하십시오. 웹 서비스는 배치 디스크립터 생성 시 작성되는 출력입니다.
- EGL 배치 디스크립터 파일 이름 필드를 사용할 수 있는 경우 배치 디스크립터의 이름을 지정하십시오.
- 중간 상자에서 생성할 각 서비스에 대해 enableGenerate를 선택하십시오. 이미 웹 서비스를 생성한 경우, 서비스를 생성하려 하지 않는다는 것을 배치 디스크립터에서 지정하여 생성 시 시간을 절약할 수 있습니다. 그러나 배치 디스크립터 항목의 한 측면을 변경하는 경우 서비스를 생성해야 합니다.
- 배치 디스크립터에서 동일하게 이름 지정된 SOAP 서비스 항목을 겹쳐쓰려면 기존 파일 겹쳐쓰기를 선택하십시오. 기존 항목 겹쳐쓰기를 방지하려면 선택란을 선택 취소하십시오.
- 마지막 섹션에서 사용 가능한 경우 추가 단추를 클릭하여 웹 서비스의 IBM i 프로그램에 액세스하는 데 사용된 프로토콜을 수정 또는 추가하십시오. 프로토콜 추가 창이 표시됩니다. EGL 생성 안내서 “서비스 요청자의 배치 디스크립터 옵션”에서 지정된 추가 정보와 함께 프로토콜 이름을 지정하십시오. 새 EGL 웹 서비스 창으로 돌아가려면 완료를 클릭하십시오.
- 완료를 클릭하여 마법사에서 작업을 완료하십시오.