전용 또는 로컬 EGL 서비스에 액세스하기 위한 변수 선언

EGL 서비스 파트를 코드한 후에는 이 파트를 서비스 액세스 변수의 기초로 사용할 수 있습니다. 두 가지 경우가 가능합니다.

로컬 EGL 서비스에 액세스하기 위한 인터페이스 파트 정의

Rich UI 외부의 로컬 EGL 서비스에 액세스하는 경우에는 인터페이스 파트를 기반으로 서비스 액세스 변수를 작성할 수 있습니다. 이 파트에는 서비스 파트에 있는 함수의 일부 또는 전부와 일치하는 함수 프로토타입이 포함되어 있습니다.

다음 예제는 EGL 서비스에 액세스하는 데 사용할 수 있는 인터페이스 파트입니다.
Interface MyInterfacePart
   Function GetEmployeeDetail(employeeCode STRING IN, 
                              employeeSalary FLOAT OUT, 
                              employeeStatus STRING INOUT) 
            returns(myEmployeeRecordPart);
end

이 예제에는 하나의 함수 프로토타입이 포함되어 있지만, 인터페이스 파트는 더 많은 프로토타입을 포함할 수 있습니다. 또한 다양한 EGL 데이터 유형을 지정할 수 있으며 수정자 IN, OUT 및 INOUT을 사용할 수 있습니다.

서비스 파트로부터 쉽게 인터페이스 파트를 작성할 수 있습니다.
  1. 프로젝트 탐색기에서 서비스를 정의하는 EGL 파일을 마우스 오른쪽 단추로 클릭하십시오.
  2. EGL 서비스>EGL 인터페이스 추출을 클릭하십시오.
  3. 새 EGL 인터페이스 파트 창에서 적절한 세부사항을 지정하고 완료를 클릭하십시오.

비SOAP 서비스에 액세스할 때는 WSDL 파일에서 파생된 인터페이스 파트를 사용하지 마십시오. 이렇게 하면 발생할 수 있는 런타임 오류를 방지할 수 있습니다.

배치 디스크립터에 EGL 바인딩 설정

Rich UI 외부에서 작업 중에 로컬 EGL 서비스에 액세스하는 경우에는 EGL 배치 디스크립터에 서비스 바인딩을 설정해야 합니다. 이 규칙은 서비스 액세스 변수의 기초로 서비스 파트를 사용했는지, 또는 인터페이스 파트를 사용했는지에 관계없이 적용됩니다.

배치 디스크립터에 EGL 바인딩을 설정하는 프로세스는 다음과 같습니다.
  1. 배치 디스크립터를 두 번 클릭하십시오.
  2. 서비스 바인딩 탭의 서비스 바인딩에서 추가를 클릭하십시오.
  3. 서비스 바인딩 추가 창에서 EGL 바인딩을 클릭한 후 다음을 클릭하십시오. EGL 바인딩 추가 창이 표시됩니다.
  4. 서비스 바인딩의 이름인 바인딩 키를 지정하십시오. 바인딩 키를 입력하거나 다음 작업을 수행하십시오.
    1. EGL 바인딩 이름 옆에 있는 찾아보기 단추를 클릭하십시오. 인터페이스 선택 창이 표시됩니다.
    2. 코드에서 서비스 액세스 변수의 기초가 된 인터페이스 파트의 이름을 선택하십시오. 해당 이름이 바인딩 키인 경우에는 코드에서 @BindService 특성을 코드할 때 이름을 지정할 필요가 없습니다.
    3. 확인을 클릭하십시오.
  5. 로컬을 선택하십시오.
  6. 완료를 클릭하십시오. 새 클라이언트 바인딩은 서비스 바인딩 목록에 나열되어 있습니다. 이 바인딩 정보는 나중에 EGL 서비스 바인딩 섹션에서 업데이트할 수 있습니다.

EGL 바인딩을 서비스 액세스 변수에 지정

개발 시에 EGL 바인딩을 로컬 서비스에 지정하는 경우에는 서비스 액세스 변수를 선언할 때 @BindService 복합 특성을 포함시키십시오. 예제는 다음과 같습니다.
myService MyInterfacePart {@BindService{bindingKey="MyInterfacePart"}};
@BindService 특성에는 하나의 필드가 있습니다.
bindingKey
바인딩이 요청자에게 로컬임을 표시하는 배치 디스크립터 항목을 식별합니다.
bindingKey 필드를 지정하지 않고 @BindService를 지정할 수 있으며, 이 경우 이 특성은 변수 선언에서 사용된 서비스 또는 인터페이스 파트의 이름과 같은 이름을 가진 배치 디스크립터 항목을 식별합니다. 다음 예제는 이 사용법에 대한 예제이며, 이름이 MyInterfacePart인 배치 디스크립터 항목을 참조합니다.
MyService MyInterfacePart {@BindService};

런타임 시에 서비스 바인딩을 지정하거나 다시 지정하는 데 대한 세부사항은 "서비스 액세스 변수의 동적 바인딩"을 참조하십시오.