UiPath 로봇과 큐를 이용한 Abbyy FlexiCapture Distributed 문서 처리 자동화

이번 포스팅에서는 UiPath 로봇과 큐를 이용하여 Abbyy FlexiCapture Distributed 문서 처리를 어떻게 자동화할 수 있는지 살펴보려고 합니다.

UiGo! 마켓플레이스에서 Abbyy가 제공하는 FlexiCapture 커넥터를 얻을 수 있습니다. v12.0.0.117이 최신 버전이고 이 버전을 기준으로 설명하겠습니다.

이전 버전에서는 single-task 방식의 “Capture Data” 액티비티만 지원했었는데,


image

이번 버전부터는 multi-task 방식의 “FlexiCapture Project Scope” 액티비티도 지원합니다.


image

single-task 방식인 “Capture Data” 액티비티는 Abbyy가 문서 처리를 완료할 때까지 기다렸다가 그 결과를 반환합니다. 처리할 문서가 많지 않고 Abbyy의 processing server에 부하가 크지 않은 경우에는 문제가 없지만, 부하가 이미 많이 걸려있는 상태라면 문서를 처리하지 못하고 exception이 발생할 가능성도 있습니다. 이 액티비티의 타임아웃은 5분이고 이 시간 내에 문서가 처리되지 않으면 exception으로 처리됩니다.

이런 경우에는 오케스트레이터 큐를 사용하여 처리할 문서를 공급하는 워크플로우와 추출된 결과를 처리하는 워크플로우를 분리(de-couple)하는 것이 바람직합니다. 이 때 필요한 커넥터가 multi-task 방식의 “FlexiCapture Project Scope” 입니다. 이 액티비티를 사용하면 아래와 같이 워크플로우를 구성할 수 있습니다.

처리할 문서를 Abbyy에 공급하는 워크플로우(Document Feeder)와 추출된 결과를 소비하는 워크플로우(Document Fetcher)를 분리하면 Abbyy의 processing server에 아무리 심한 부하가 걸려도, 처리에 필요한 충분한 시간만 제공한다면, 문서를 모두 처리할 수 있습니다. 물론 부하가 커지면 그것을 감당할 수 있을만큼 processing station을 증설해야겠지만, 피크 부하에서도 항상 5분 내에 모든 문서를 처리할 수 있을만큼 과다하게 증설할 필요는 없게됩니다.