폴링을 사용하는 인바운드 호출 지원
Oracle E-Business Suite용 Microsoft BizTalk 어댑터를 사용하면 클라이언트 프로그램에서 Oracle E-Business Suite의 데이터 변경 내용을 알리는 메시지를 Oracle E-Business Suite에서 받을 수 있습니다. Oracle E-Business 어댑터는 어댑터가 패키지 내에서 지정된 SQL 문, 저장 프로시저, 함수 또는 프로시저를 실행하고, 데이터를 검색하고, 일정한 시간 간격으로 클라이언트에 결과를 제공하는 "폴링 기반" 메시지 수신을 지원합니다.
참고
Oracle E-Business 어댑터에서 폴링 작업에 대한 애플리케이션 컨텍스트를 설정할 수도 있습니다. 인터페이스 테이블 또는 인터페이스 뷰에서 작업을 수행하는 경우 폴링 작업에 대한 애플리케이션 컨텍스트를 설정해야 합니다. 애플리케이션 컨텍스트 및 설정 방법에 대한 자세한 내용은 애플리케이션 컨텍스트 설정을 참조하세요.
Oracle E-Business 어댑터를 사용하는 일반적인 폴링 작업에는 다음이 포함됩니다.
어댑터 클라이언트는 InboundOperationType 바인딩 속성에서 인바운드 작업으로 지정
Polling
해야 합니다. 이 바인딩 속성의 기본값은 폴링입니다.어댑터 클라이언트는 PolledDataAvailableStatement 바인딩 속성에 대한 SELECT 문을 지정하여 폴링에 사용할 수 있는 데이터가 있는지 여부를 결정해야 합니다. 이 문을 실행할 때 반환된 첫 번째 결과 집합의 첫 번째 행에 양의 정수 값이 포함된 경우 폴링에 사용할 수 있는 날짜가 있습니다.
어댑터 클라이언트는 PolledDataAvailableStatement 바인딩 속성에 지정된 문이 실행되는 간격(초)을 정의하려면 PolledInterval 바인딩 속성에 대한 폴링 간격을 지정해야 합니다. 모든 폴링 간격이 끝나면 폴링된 데이터 사용 가능한 문이 실행되고 결과 집합이 반환됩니다.
어댑터 클라이언트는 PollingInput 바인딩 속성에 대한 SELECT 문 또는 저장 프로시저를 지정해야 합니다. 테이블 또는 뷰를 폴링하려면 이 바인딩 속성에 대해 SELECT 문을 지정해야 합니다. 저장 프로시저를 사용하여 폴링하려면 이 바인딩 속성에 대한 전체 요청 메시지를 지정해야 합니다.
PollingInput 바인딩 속성의 문은 2단계에서 PolledDataAvailableStatement 바인딩 속성에 의해 결정되는 폴링에 사용할 수 있는 데이터가 있는 경우에만 실행됩니다.
어댑터 클라이언트는 PollingAction 바인딩 속성에서 폴링 작업에 대한 작업을 지정해야 합니다. 특정 작업에 대한 폴링 작업은 어댑터 서비스 추가 기능 사용을 사용하여 작업에 대해 생성된 메타데이터에서 결정됩니다.
어댑터 클라이언트는 PollWhileDataFound 바인딩 속성을 사용하여 폴링 간격을 무시하고 사용 가능한 경우 데이터를 지속적으로 폴링할 수 있습니다.
중요
PollWhileDataFound 바인딩 속성의 값을 True로 설정하면 어댑터 클라이언트는 Oracle의 데이터를 지속적으로 폴링하고 프로세스에서 Oracle 데이터베이스에 대한 연결을 루프로 열고 닫습니다. ODP.NET 연결을 여는 속도가 닫히는 연결보다 크면 일정 시간 후에 연결이 소진되고 예외가 throw됩니다. 해결 방법으로 UseOracleConnectionPool 의 값이 True로 설정되고 IncrPoolSize 바인딩 속성에 적절한 값이 언급되어 어댑터 클라이언트에서 열 수 있는 연결 수를 제어해야 합니다.
어댑터 클라이언트는 PostPollStatement 바인딩 속성에 대해 폴링 후 문인 Oracle PL/SQL 블록을 지정할 수 있습니다. 이 바인딩 속성에 지정된 문은 PollingInput 바인딩 속성에 지정된 문이 실행된 후에 실행됩니다.
참고
어댑터는 트랜잭션의 PollingInput 및 PostPollStatement 바인딩 속성에 지정된 문을 실행합니다. Oracle E-Business 어댑터의 트랜잭션에 대한 자세한 내용은 어댑터에서 트랜잭션을 처리하는 방법을 참조하세요.
어댑터는 Oracle E-Business Suite에서 들어오는 빈 폴링 응답을 표시하지 않습니다.
아래 그림에서는 Oracle E-Business 어댑터의 폴링 워크플로에 대한 정보를 제공합니다. 폴링 워크플로에 대한 두 가지 시나리오는 다음과 같습니다.
PollWhileDataFound 값이 "False"(기본 설정)로 설정된 경우
PollWhileDataFound 값이 "True"로 설정된 경우
폴링과 알림의 차이점
폴링 및 알림은 모두 인바운드 작업이며 Oracle 데이터베이스의 데이터 변경 내용에 대해 어댑터 클라이언트에 알릴 수 있지만 다음 표에서는 둘 사이의 몇 가지 차이점을 나열합니다. 다음 차이점은 요구 사항에 따라 작업을 결정하는 데 도움이 됩니다.
폴링 | 알림 |
---|---|
폴링은 Oracle E-Business 어댑터에서 지원하는 모든 Oracle 데이터베이스 버전에 대해 지원됩니다. | 알림은 Oracle 데이터베이스 버전 10.2 이상에서만 지원됩니다. |
폴링 간격을 구성하여 정기적으로 폴링에 사용할 수 있는 데이터를 검사 또는 데이터를 사용할 수 있는 시점과 즉시 구성할 수 있습니다. 팁: 폴링은 데이터 변경이 지속적으로 발생하는 시나리오에서 더 나은 처리량을 제공할 수 있으며, 각 변경 내용이 발생하는 시기와 같은 알림을 받고 싶지 않습니다. 대신 마지막 변경 알림 이후 발생한 모든 변경 내용에 대한 알림을 받을 폴링 간격을 지정합니다. | 데이터 변경 알림은 항상 즉각적입니다. |
폴링은 어댑터에 의해 시작됩니다. 어댑터는 SQL 문을 실행하여 데이터를 폴링에 사용할 수 있는지 여부를 확인하고 폴링에 사용할 수 있는 일부 데이터가 있는 경우 폴링 문을 실행하여 폴링을 시작합니다. | 알림은 Oracle 데이터베이스에서 시작됩니다. 어댑터에서 발급한 알림 문은 문의 결과 집합이 변경된 경우 데이터베이스에 알림을 시작하도록 지시합니다. 알림은 Oracle 데이터베이스의 기능입니다. |
폴링 문을 사용하여 Oracle 데이터베이스에서 데이터를 읽거나 업데이트할 수 있습니다. | 알림 문을 사용하여 Oracle 데이터베이스의 데이터만 읽을 수 있습니다. |
폴링은 변경된 실제 데이터를 알려줍니다. | 알림은 삽입, 업데이트 및 삭제와 같은 데이터의 변경 유형에 대해서만 알 수 있습니다. |
조건부 액세스에 대한 자세한 내용은
폴링과 관련된 바인딩 속성은 BizTalk Adapter for Oracle E-Business Suite 바인딩 속성에 대한 읽기를 참조하세요.
BizTalk Server 사용하여 폴링 기반 메시지 수신은 BizTalk Server 사용하여 Oracle E-Business Suite 폴링을 참조하세요.