기존 'RPA 시장 흐름'을 통해 설명했던 "현행 RPA 사업이 주춤하게 되는 주된 이유"는

 

RPA를 IT 부서에서만 주도하며 SI 프로젝트 형태로 받아들이기 때문이다.

 

SI 프로젝트는 CIO단의 스폰서에서 시작해 특정 목적을 가지고 시스템을 구축한다.

 

또한 과제 발굴이라든가 요구 사항 요청 같은 단계가 없거나 혹은 체계가 잘 잡혀있어 RnR이 명확한 편이다.

 

[상대적인 관점. 고객의 요구 사항은 보통 고객 스스로도 잘 모르는 경우가 많기 때문]

 

 

 

하지만 RPA 프로젝트는 특정 목적을 달성하면 종료되는 형태의 프로젝트가 아니다.

 

다량의 발굴을 통해 업무 정의 및 효율성을 높이고 자동화 영역을 넓혀가면서 규모의 경제를 달성해야 한다.

 

따라서 과제발굴, 컨설팅, 변화관리가 지속적, 체계적으로 필요하며

 

CEO급의 장기적인 거버넌스 청사진이 준비돼야 한다.

 

 

 

 

개인적으로 국내 RPA 사업이 주춤하고 있다고 판단했던 이유는

 

모두가 RPA를 10~20개씩 (혹은 그보다 더 적은 과제 숫자로 한 페이즈씩) 구축 단위로 진행하면서

 

자동화 요구 충족 및 구축 규모의 경제를 빠르게 달성하기 힘든 구조가 고착화 됐다고 봤기 때문이다.

 

RPA 아젠다를 가져오긴 했으나 전사적인 진행을 할만한 컨설팅이 된 곳이 거의 없었다.

 

특히나 IT팀의 제한된 예산은 해당 페이즈에서 임원의 실적채우기급 사이즈로만 활용될 유인이 컸다.

 

 

 

 

 

이런 프레임에서 RPA가 고객사에 들어갔을 때 RPA의 입지는 굉장히 좁다.

 

CoE조직의 내부 PM도 궁극적으로 거버넌스를 어떻게 가져가야 할지 감이 없거나 스폰이 부족하다.

 

구축사에게 완전히 맡기고 현업은 프로세스 인터뷰만 해주는 형태라든가

 

KPI가 잡히지 않은 상태에서 내재화를 위해 내부 교육만 받는 형태는 결과적으로 동력이 떨어진다.

 

 

 

 

그나마 가장 빠르게 반응하고 있는 금융업계에서는 역시 현업 개발 및 발굴이 활발하다.

 

[성공한 케이스인 경우. 은행권에서도 이미 1차를 실패하고 2차를 새로 도전하고 있는 케이스도 있음]

 

이렇게 하기 위해선 내부 KPI로 지정하고 전사적인 스폰을 통해 장기적인 자동화 거버넌스를 가져가야 한다.

 

발굴, 개발, 관리, 실행, 현업 참여, 모니터링 플랫폼 구축 및 CoE, Keyman을 명확히 설정하고 힘을 실어주어야

 

빠르고 효과적인 프로젝트 진행이 가능하다.

 

특히나 RPA 도입 관계자들은 내부 KPI뿐 아니라 RPA의 KPI를 어떻게 잡을지에 대한 고민을 꼭 해야한다.

 

[결국 시스템은 장기적으로 유인에 의해 움직이기 때문이다.]

 

 

 

 

요컨대 하청맡긴 회사에 다 던져놓고 output을 평가, 관리하는 현재의 시장 방식으로는 RPA 벤더든, 구축사든, 고객사든

 

RPA로부터 생기는 막대한 가치를 도출하기 어렵다.

 

결국은 전체적인 거버넌스를 제안하는 프레임이 바뀌어야 한다.

 

[물론 이 과정에서 규모에 따른 거버넌스 차이가 크게 날 수도 있다.

 

하지만 이는 다른 솔루션과 마찬가지로 투자 규모에 따른 자연스러운 시스템 형태 분화라고 볼 수 있다.]

 

 

 

 

=============================================================

 

세부적으로 들어가면 더 복잡한 구조들이 나오지만 큼직한 덩어리로 보자면

 

KPI라는 유인과 C-Level의 예산지원을 통해 진행,

 

현업들은 주인의식 가지고 자동화에 참여[KPI로 반영],

 

CoE는 기존 개념 보다 더 넓은 개념으로 가져가고 시스템간 관리자 커뮤니케이션,

 

Keyman 참여, RPA 개발/운영/변화관리 엔지니어의 자문 및 서비스, 컨설팅을 통한 PI를 통해

 

과제들의 라이프 사이클 관리 정도로 볼 수 있다.

 

 

물론 단번에 이런 구조를 가져가기는 어렵다.

 

PoC와 파일럿을 거쳐 사내 결정권자 설득 및 투자 심의를 거쳐야 하고, RPA 성숙도를 차츰 높여가야 한다.

 

다만 궁극적으로 이런 구조를 보고 진행하느냐 아니냐는 자동화 사업 자체의 운명을 결정한다.

 

 

==================================================================

 

거창하게 썼지만 이런 거버넌스를 이미 제안하고 있는 회사도 있다고 본다.

 

다만 대부분의 회사들은 그저 개발자 몇 명 집어넣는다든가

 

오브젝트 단위가 아닌 딱 유저 스토리 단위로만 그리는 컨설턴트를 쓴다든가

 

하청 관리 형태로 생각하고 정직원들은 최대한 덜 귀찮게 해달라든가

[그럴 수밖에 없다. 해봤자 회사에서 KPI로 잡아주지 않는 게 보통이기 때문]

 

하는 식으로 프로젝트를 진행, 관리하고 있다.

 

 

RPA 도입에 관심이 있다면 좀 더 장기적으로 바라봐야 한다.

 

 

'RPA 종합' 카테고리의 다른 글

RPA 개발자 입장에서 보는 RPA 잘하는 기준  (8) 2021.05.11
RPA의 개념  (2) 2020.10.13
RPA 시장의 두드러지는 흐름  (9) 2020.04.06
move file하는 vbs 코드  (0) 2020.01.03
RPA용 SAP GUI 세팅에 관한 설명  (0) 2019.11.18

※ 본 글은 현황에 대한 글이고 어떻게 추후 고객사, 구축사, 벤더에서 가치창출을 해야할지에 대한 글은 따로 씁니다.

https://jnaul.tistory.com/208 [2021버전]

 

최근 코로나 사태를 차치하고라도

 

RPA 시장은 전반적인 수요가 줄어들고 있다.

 

 

 

i ) 고객의 요구사항은 AI와 접목된 IPA를 요구하는 상황이나

 

실제 AI 리소스는 RPA와 같이 접목시키기엔 한계가 있다.

 

결국 'Cognitive Recognition를 지원하는 AI가 낮은 리소스 하에서도 잘 돌아갈 수 있는가'가 IPA의 핵심인데

 

여전히 머신러닝은 높은 리소스를 요구하며 이를 따라갈만한 RPA와 AI의 조합 솔루션은

 

경제적 상용화 단계가 아니다.

 

특히나 한글의 경우 글로벌 OCR 엔진에서도 인식 역량이 떨어지는 편이기 때문에

 

더더욱 상용화까지는 최소 1년 정도는 남아있다고 생각한다.

 

 

 

 

ii) SAP도 마찬가지지만 국내에서는 특이하게도 기존 솔루션에 대해

 

Customize하는 것을 많이 요구한다.

 

이는 결정권자들이 UI 및 편의성에 많이 신경쓰기 때문으로 보인다.

 

이에 따라 국내 RPA에서는 Portal을 따로 묶어 판매하고 있는 실정이다.

 

 

 

 

iii) 실제 RPA를 구축할 때 가장 어려운 점은 Process 정의이다.

 

현업 및 사이트 PM은 RPA 경험이 별로 없는, 자바 개발자나 컨설턴트 출신이 대부분이다.

 

그러다보니 정작 개발에 들어가서는 현업 인터뷰, PI, 한국식 애자일 등에 고통받기 쉽다.

 

이를 Automation Vendor들도 다 인지하고 있고 이 과정을 줄여 통합하기 위해서

 

각 솔루션들이 Task mining 툴을 제공해 RPA HyperAutomation을 구축하려고 하는 추세다.

 

국내에서는 현업의 device에 쌓인 로깅을 수동으로 분석하는 형태가 많고

 

AA와 Uipath는 각각 Discovery Bot과 Automation Hub라는 별도의 솔루션을 출시 예정이다.

 

사용이 활성화 된다면 프로세스 현업 인터뷰가 짧아질 것으로 기대하지만

 

이 솔루션들에 대한 가격 정책 등이 변수라고 할 수 있다.

 

 

 

 

iv) RPA 메인 수요는 연결 시스템의 부재에서 온다.

 

일반적으로 연결 시스템이 있는 경우 특별히 RPA가 없이도 시스템간 데이터 transfer를 사람이 하지 않아도 된다.

 

그러나 IT 인프라 및 프론트 오피스와 백 오피스는 각각의 솔루션을 활용하는 경우가 많으며

 

이 과정에서 데이터 동기화나 정합성 문제가 발생한다.

 

이런 시스템 다양화는 전문 집단화 되는 최근의 조직에서 필연적이다.

 

[이런 건 통합 시스템이 있으면 되지 않느냐고 반문하기 위해선 IT부서가 막대한 예산을 한번에 타낼 수 있어야 한다.]

 

 

 

 

 

v) RPA를 도입하려는 기업들이 RPA 구축을 쉽게 보고

 

내재화 하려는 경향도 커지고 있다.

 

다만 이 경우 실제 운영 시 예외처리 및 안정화 테스트가 제대로 되지 않아

 

유지보수에 큰 어려움을 느끼게 된다.

 

내재화 추세 가운데 구축사에서는 생산성을 높이고 안정적인 운영을 하기 위해

 

개발 프레임워크를 적극적으로 이용하고 RPA 포탈에 공을 들이고 있다.

 

혹은 RPA 강의 서비스를 판매하는 전략을 펴기도 한다.

 

 

 

 

vi) 최근 몇몇 소스코드형 RPA가 나오고 있다.

 

가격이 기존 솔루션의 30% 수준으로 저렴한 편이지만 생산성이 낮고 유지보수 난이도는 훨씬 더 높다.

 

공수가 길면서 유지보수 비용이 크고, 개발자도 더 구하기 어려운 데다

 

레퍼런스도 많지 않아서 확산은 쉽지 않은 것으로 보인다.

 

이미 고도화된 시장에서 가격만 가지고 승부하기엔 무리가 있다는 평이다.

 

[하지만 중소기업급에서는 초반에 은근 먹히긴 했다고 함. 유지보수가 제대로 될지 의문.]

 

  

'RPA 종합' 카테고리의 다른 글

RPA의 개념  (2) 2020.10.13
RPA 서비스의 변화 방향[2020.07.08]  (2) 2020.06.16
move file하는 vbs 코드  (0) 2020.01.03
RPA용 SAP GUI 세팅에 관한 설명  (0) 2019.11.18
간단한 파일확장자 체크 및 PDF 변환 코드  (0) 2019.11.13

현재 Build 5322 release

 

 *Bot Agent 관련 이슈

- Agent 설치 시 CR에 Config로 잡힌 URL이 등록됨

 

- CR서버 URL이 바뀌는 경우 Bot Agent를 지우고 새로 등록해야 함.


 - Device Credential update 과정에서 한글 windows는 안 먹는 경우 존재


 - 같은 Bot Agent에서 CR 변경 시 꼬이는 경우 존재[Bot Agent에 CR URL이 등록됨]

 

 - Bot Agent가 설치 중 Extract 단계에서 갑자기 꺼지는 이슈가 있었음[이천 현대 엘리베이터]

  

   => windows 10 Enterprise 64 bit. 내부 인프라팀에서 포맷해준 지 얼마 안 됐다고 함

   => 해당 이슈가 난 device의 이벤트 로그에서도 MSI 오류 발견 못 했음

   => 오히려 로컬에는 설치된 것으로 나오나 Device가 안 잡힘

   => device 삭제, 재설치, 재시작 모두 먹히지 않았음

 

유니나 로그.zip
1.59MB

- https로 설치하면 Agent가 동작하지 않음.[Public으로 공식 인증된 인증서여야 되는지 확인 필요]

 

 

 



 *Command 이슈 & 변경점

 

 - Recorder에서 SAP 버전을 730부터도 잘 지원하도록 변경.

 

 - Form에 file upload 기능이 추가됨. [다만 이미지 파일만 가능. IQ Bot용인 듯]

 

 - Recorder에서 해상도를 125% 150%로 해도 Capture가 잘 됨. [IE 100%도 맞출 필요 없음]

 

 - txt에서 변수값을 읽어오는 기능 추가 됨[기존 Config처럼 쓸 수 있음]

 => 다만 ANSI로만 읽어오기 때문에 한글값은 인코딩이 안 됨

 

 - 모바일 버전이 출시됨


 - VBscript는 다중 input args를 못 받는 것으로 확인[다른 script로 시도해 볼 것]


 - Outlook 폴더 지정 시 outlook에서 표시하는 localization으로 해줘야 함. 한국은 '받은 편지함'


 - Excel Basic 고쳐짐. Back으로 돌아가므로 엑셀이 open되지 않음.

   @Back단으로 돌아가기 때문에 close로 저장을 해줘야 작업물이 저장됨.


 - Excel은 기능이 많아졌음. 다만 sort table 등 잘 안 먹히는 기능이 몇 개 존재하므로 확인하면서 사용


 - Memory에 Fetch하는 형태가 아니기 때문에 Table 변수 등에 담아놓고 loop를 돌리며 Record 같은 걸 row로 활용


 - Excel에서 Set cell formula가 따로 있음. 엑셀 함수를 좀 더 명확히 사용할 수 있음

 

 - Excel advanced의 Get cell은 함수식이 아닌 value로 가져옴 


 - Debug 모드에서 선택한 변수의 흐름을 볼 수 있지만 Record와 Table 변수가 제대로 안 보이는 경우가 많음(그 경우 메시지 박스나 txt로 확인하는 것을 추천)

 

 - Read Mail에 개수 변경 같은 옵션은 없었으나 Read시 읽는 메일의 개수가 매번 달라지는 경우가 있었음


 - SAP 패키지가 2020.3.30 이후로 먹힘. SAP 내부 Recorder Capture도 가능.


 - on-premises의 경우 기존 CR이 있으면 UI가 꼬이는 경우가 생길 수 있는 듯[정확히 원인이 기존 CRDB 때문인지는 확인 안 됨]


 - % 연산자가 없음. 나머지를 이용해 주기적으로 돌려야 되는 것들을 구현하려면 while condition으로 돌아가야 할 듯


 - Step으로 프로세스를 미리 잡아놓고 그 안에 코드를 넣는 방식으로 구현


 - 작업 하기에는 라인 모드가 편함. 좌상단에 메뉴를 축소시킬 수 있는 버튼도 존재


 - launch browser를 할 때 browser 선택폭이 크롬, IE, 파이어폭스, 기본 브라우저로 확장.


 - 아직 browser는 IE가 가장 잘 잡힘. A2019는 크롬으로 켜고 Target Browser를 IE로 하는 게 좋은 듯.


 - Email Outlook은 좀 편해짐. Outlook metabot을 내재화한 것으로 보임.


 - Credential도 무리없이 사용 가능. SAP에서도 특별한 이슈없이 들어감.

 - task간 변수 매핑은 변수를 input, output 타입으로 지정해줘야 가능

 

 - DLL 파일은 input을 Dictionary로 받음. Dictionary key값으로 function의 변수이름을 똑같이 맞춰주고 넣을 값을 입력. [메타봇처럼 변수 이름 및 쓰임에 대한 설명서가 필요할 듯]

 

 - data table은 5만 건, 10만 건 등 대량으로 가져와서 handling 하는 경우 퍼포먼스가 굉장히 떨어짐

 

 - Excel advanced를 쓰는 중 Session이 꼬여서 Go to cell을 못 하는 경우가 발생. Session을 서로 떨어뜨리고 딜레이를 주니 해결된 것으로 보아 Device 성능을 고려해 Go to cell을 할 때 delay를 어느 정도 줘야할 것으로 보임. [엑셀이 켜졌다고 인식했는데 focus를 이동시킬만큼 다 열리지 않아 생기는 문제에 가까움]

 

 - form이라는 기능이 생김. prompt의 fancy한 버전이라고 보면 될 듯. Attended Bot에서 유용할 듯.

 

 - global values라는 개념이 새김. Bots-Global values에 가면 Admin User가 설정가능. non-admin user는 해당 값을 가져다 쓸 수 있음.

 

- Multi-Condition 기능 추가됨. And || Or 도 설정 가능.

 

- String을 Null 체크하기 위해서 Null인 변수값과 비교해야 했던 부분 개선. 바로 Null 체크 가능해짐

 

- Excel Advanced에서도 Null값으로 Replace 가능해짐

 

- Script를 쓰는 경우 task와 같은 폴더에 업로드 하는 게 좋다고 함[확인은 안 해봤는데 note돼 있음] 

 

- String 중 Enter나 Tab을 쓰고 싶은 경우 변수로 쓰면 편함. <sep>이라는 형태로 구분자도 제공해줌.

 

- Split 등으로 Enter 구분자가 필요한 경우 주어지는 변수로 써야 함. \n이나 [ENTER] 안 먹힘

 

- SAP에 대한 Capture는 관리자 권한으로 실행하면 안 먹힘.[Bot agent가 관리자 권한이 아니기 때문]

 

- Bot Agent에 관해 기본적으로 관리자 권한으로 실행가능한지 확인 필요함.

 

- data table의 output으로 csv 파일을 쓸 때 EUC-KR 인코딩이 필요함. 한글 다 깨짐.

 

- data table에서 sort 기능이 먹지 않음[표를 엑셀에서 가져왔을 때만 먹음]

 

- Bot Export 관련 문제

  • SMTP가 없으면 Bot Export는 불가
  •  다운로드 링크는 https인데 포트는 http포트로 링크가 떨어짐
  •  링크를 https 포트로 바꿨을 때 크롬에서는 인증서가 없어 자동으로 막힘
  •  IE에서 export를 누르면 컨트롤룸으로 연결되고 download link 표시
  •  download link를 누르면 blob파일이 실행[다운로드 불가]
  • Build4705 버전(2020.6 릴리즈)에서는 바로 Download 할 수 있게 됨

- Bot Export 방식

  > SMTP 설정

  > Https로 연결 및 인증서 등록[Self Certification 안 먹힘]

  > 메일 링크를 타고 들어가 download를 누르면 zip 파일 다운로드

  > 풀어보면 jar파일이 들어가 있음

 

- Bot Import 방식

  > SMTP 설정[결과 메일이 옴] => 필수 사항 아님

  > Zip 파일로 업로드 됨

  > 파일이 이미 존재하면 import를 중단하거나 덮어쓸 수 있음

 

- 형상관리 세팅할 수 있는 곳이 없음[현재 AA코리아 교육지원팀에 문의 => 답변없음]

 => Git integration이 생겼으나 Push만 가능한 상황이라 실질적인 형상관리가 안 됨.

- Check-in이 바로 되지 않는 경우가 있음. 이후 Check-in 수행 과정에서 파일을 편집하고 있는 상황이라면 해당 Task는 꼬이게 됨. 따라서 Check-in을 일단 한번 했다면 그 파일은 건드리지 않아야 함.

- $변수이름$ 안에서 .toString이나 .length 같은 java method를 쓸 수 있음. [자동완성 지원]

- Recorder Capture에서 Dompath 사이에 Number 변수를 부르게끔 돼있으나, 실제로 그렇게 하고 Task를 돌리면 전처리가 실패했다는 에러가 뜸.

- Delete Cells 커맨드가 이름과는 달리 Cell을 하나씩만 지움. 따라서 코딩 시 Delete할 Cell이 있으면 모아서 Sorting 해 하나씩 지우거나 Loop를 돌때마다 그냥 지우거나 해야 함.

 

- 시스템 변수로 AAInstallationPath가 생겼음

 

- Form의 기능이 다양함. Form을 End User에게 어떻게 제공하느냐 연구 필요함

 

- Script를 쓸 때 function 형태로 불러야 함. 다중 Input의 경우 List로 넣음. 자세한 방법은 링크.

rpaknowledge.com/automation-anywhere-javascript-a2019/

 

Automation Anywhere - JavaScript - A2019 ⋆ RPA Knowledge

Javascript in version A2019 of Automation Anywhere. From basic to advanced. Functions, inputs and output. Examples provided. Written for and by developers.

rpaknowledge.com

 

 

 

*Available Trigger[2020.05.28. 기준]

 

Email(Outlook, POP3, IMAP, EWS)

Folder

File

Hot key

Object



*Architecture 관련 개념


 - Activity가 패키징 개념으로 묶여있고 각 패키지들은 개별로 업데이트가 가능


 - 코드가 짧아도 많은 패키징을 쓴다면 초기 다운로드가 많아짐. 같은 상황인 경우 패키징 갯수를 최소화하는 게 바람직.


 - Copy Bot으로 봇 복사는 가능하나 코드나 변수복사는 안 됨. 웹 페이지 간 전달을 해야 되기 때문에 추후에도 어려운 부분.


 - Task를 일단 생성하면 취소해서 저장되지 않거나 repository에 없더라도 중복 이름을 쓰지 못 함


 - Role-Base Access Control(RBAC) 시스템임


 - ignite 서비스를 개선해 로드밸런싱이 효율적으로 변했다고 함 => Device pool 효율 상승


 - Device 등록을 hostname\user로 하기 때문에 이게 겹치는 경우 Device 인식이 꼬일 수 있음


 - Bot Agent가 local과 클라우드를 연결해줌. Bot Agent에 Control Room URL도 등록됨. [Control Room간 Device 등록 변경 시 에러나므로 삭제 후 재설치 필요함. 추후 개선되어야 할 요소]

 





*data type에 관한 설명



- Any : 아무 타입을 다 받는 것으로 보임. Record - Capture 기능을 사용해 크롤링 했을 때 Any로 받음.


- String : 문자열. Message Box에 출력하기 위해선 최소한 내부 값이 String 계열이어야 함.[String, Any, List, Dictionary, Record, Table)


- DateTime : DateTime 변수. 날짜 계산 및 After/Before/Equal 검사 후 To String 하는 형태로 이용


- Boolean : False / True. 문제는 디버깅 모드로 확인 결과 Boolean이 무조건 True로 뜬다는 점


- File : 파일변수. 경로 체크를 위한 변수라고 보면 될 듯.


- List : 리스트는 여전히 크기 고정. 다만 'to end of list'라는 옵션으로 순차적으로 넣으면 쓸 수 있음.


- Dictionary : key - value. Outlook이나 Fileloop 등 Output 변수로서 활용되는 경우가 많음.


- Record : loop의 row를 담는 변수로 자주 쓰임


- Table : Array 변수를 쓰기 불편했던 것이 개선. Excel을 열지 않고도 dynamic하게 편집. 다만 sort 등 불완전 기능 확인 필요


- Windows : 창이름을 담아두는 변수












*OutLook의 Dictionary key값


“uid”
“emailCc”
“emailReceivedDate”
“emailMessage”
“emailTo”
“emailFrom”
“emailBcc”
“emailReceivedTime”
“emailSubject”
“folderID”



*PDF의 Dictionary key값



“pdfTitle”
“pdfFilename”
“pdfSubject”
“pdfAuthor”



*fileloop의 key값



"name"
"extension"

'RPA AA' 카테고리의 다른 글

A2019 BLM API로 Export 하기  (0) 2020.06.24
Read From text file 변수의 Mapping 이슈  (0) 2020.03.09
Windows Update 이후 Unable to Run bot from CR 현상  (0) 2020.03.06
Credential  (0) 2020.01.22
RPA 팁 모으는 중  (0) 2019.07.15

+ Recent posts