Robotic Process Automation In A Virtual Environment


ContentsState of automation in modern enterprises p4 / How does a virtualenvironment work? p6 / Existing methods of automation in a virtualenvironment p10 / Automation capability analysis of Automation AnywhereEnterprise v.11 in virtual environments p12Robotic process automationin a virtual

Robotic process automation in a virtual environment 3

State of automationin modern enterprisesEnterprises in the service industry are now widely cognisantof the applicability of robotic process automation (RPA)techniques to achieve significant productivity gains whilebeing cost conscious. RPA’s ability to reduce processingtime and errors, enhance scalability and compliance, andenable staff to focus on value-adding activities ratherthan repetitive tasks has been vindicated across industriesand is now widely accepted. Firms which embraced theseautomation techniques early in the game have been able togain significant benefits:Cost reductionQuality and complianceSoftware robotics brings immediatereduction in operational cost beyondlabor arbitrage, and realises rapidreturn on investment.The automated nature of softwarerobotics reduces errors and leaves adigital audit trail that increases accuracyand regulatory compliance, enablingprogrammable controls.Revenue enhancementValue focused talentSoftware robotics increases revenuegrowth through a shorter cycle time toservice customers.The priorities of the workforce shiftto innovation, strategy and otherbusiness development activities.There is a one-to-one relationship betweena bot and the tasks it automates for asingle worker (full-time equivalent or FTE).In others, a single bot automates tasksperformed by three to five workers. Savingsare easy to calculate.ScalabilityA virtual workforce can respond to growthevents (e.g. organic, acquisitive) withspeed, agility and resiliency. Robotsare managed from the control room andrequire little IT expertise.24/7Robots never sleep and many of today’sdigitally enabled processes can beorchestrated to operate autonomously 24x7,driving real-time transactions.Employee and customer satisfactionIncreased employee satisfaction throughfocus on higher value activities will,together with fewer errors, result in moresatisfied customers.Source: PwC analysis4 PwCSpeed to value and low riskRPA benefitsSoftware robotics has a quick time todelivery and avoids invasive traditionalsystem integration. Weeks or monthsinstead of years.

In this era of technology disruption, enterprises areunder immense pressure to digitise operations, andthey see a future where human work can be augmentedthrough the use of software robotics. These enterprisesare beginning to view a digital workforce as part of theirdigital transformation strategy by combining elements ofRPA, artificial intelligence (AI) and analytics to automatebusiness processes. While implementing organisations reapthe above benefits of successful RPA implementation, theRPA product vendors and service providers also undergo aconstant evolution cycle to tackle technical obstacles thatadopting organisations face in automating processes andRPA tool integration/interaction with all applications/systems within their environment.‘It was not long ago that we were talkingto a potential client about the relativemerits of automation, especially roboticprocess automation. Although the clientacknowledged the above merits to a greatextent, they put forth a list of challenges thatthey had heard about RPA implementationspertaining to the RPA tool capabilities onvirtualized environments (e.g. Citrix/remotedesktops/VDIs).’The RPA market is expanding rapidly, but to be sustained,RPA must offer broader support for application types, andfor both virtual and cloud-based systems. As RPA continuesto progress both in capability and scope, business use casesare expanding beyond mainframe, legacy, desktop, andweb applications into the realm of remote and virtualisedenvironments. We are already seeing a healthy mix ofautomation environments such as physical machines,Windows servers, terminal servers, virtual machines (VMs),virtual desktop infrastructure (VDI) and remote desktopprotocol (RDP).Having said that, every RPA architect or developer whohas tried to automate a process on a ‘virtual environment’knows the pain that comes with building automations inthat environment. For the purpose of this paper, we willfocus on how the RPA tools access the remote applicationson virtual environments, insights into pain points, andexisting workarounds for automating such processes.While there are multiple RPA solutions in the market, thispaper provides presents a case study on how AutomationAnywhere (a leading RPA service provider) has furtherenhanced its current virtual environment automationcapabilities in their upcoming release of AutomationAnywhere v.11.– Sumit Srivastav, Intelligent ProcessAutomation Leader, PwC IndiaRobotic process automation in a virtual environment 5

How does a virtualenvironment work?There are many service providers in the market todaywho provide server/cloud-based application and desktopvirtualisation for organisations (e.g. Citrix, VMwareHorizon, Microsoft RDP, Oracle’s Secure Global Desktop).This helps organisations to remotely display an interface,typically from a VDI instance, enabling individuals of anenterprise to work and collaborate remotely regardlessof device or network. This allows Windows desktopsand applications that are located behind a firewall to beaccessed from any remote device with any operating system.Server/desktop virtualisation renders the display of abusiness application in the form of images from a desktopinstance running behind the firewall. Let’s call the devicebehind the firewall the native device, and the device outsidethe firewall the remote device. For clarity, the businessapplications run only on the native device and the remotedevice only runs the virtual display software.Indicative application deployment over a virtual environmentUserReceiving virtual serverUserRemote iness applications hosted on native device6 PwCFirewall

It may be noted that Citrix is one of the most extensivelyused applications and desktop virtualisations productswithin financial services organisations. Having said that,the challenges with using RPA tools to automate processeson such environments apply to all remote display products.Why do enterprises opt for virtualenvironments?Enhanced security and complianceOne important benefit that drives the use of virtualenvironments is that they keep data secure behindthe firewall. They remotely render the user interface,providing no access to the underlying application, data,or user-interface objects. By rendering the display only,the transactional data remains behind the firewall andwithin the data centre boundaries. This enforces completeisolation of business data from the user’s operating systemand other applications installed on it, thus ensuringbusiness applications and data are secure from any threatsor attacks. RPA vendors provide additional RPA-specificsecurity controls to ensure secure and compliant virtualdesktop execution. (See the section below on ‘managingCitrix infrastructure’.)Low costHost applications can be run on a few servers running thenative devices as VDI instances rather than on hundredsof laptops or desktops. Any change in configuration orapplication update needs to be done only on these fewservers where the native devices reside. This also helpsorganisations implement strategies like bring your owndevice (BYOD) on the remote device, subsequentlyhelping them save millions in management, device andlicensing costs.High availabilityImproved failover strategies provide better 24x7 applicationavailability.FlexibilityUsers can access the provisioned application executing onthe native device from anywhere with any remote devicelike a smartphone or laptop.MaintenanceData backup and restoration can be easily done within thedata centre where the application is hosted.Robotic process automation in a virtual environment 7

So, what is so hard about automating a process on a virtualenvironment? Some of the common challenges faced byRPA developers are discussed below:1Managing the virtualinfrastructure Many enterprises with virtual installations will notallow RPA to execute on the native device for securityand confidentiality reasons, which forces the RPAtool to execute the automation on the remote device.The preferred method to run RPA would be for theautomation to execute on a run-time installed on thenative device, enabling the RPA tool to read and use theunderlying UI elements (objects). Native devices typicallyrun on VDI instances from where the display will berendered to the remote devices. Building automationson the native device makes development easier andthe resulting automation is more accurate and easierto maintain. Remote devices typically reside outside a firewall,travelling over the Internet using remote displayprotocol. In this scenario, the automation executes onthe remote device running only the rendered images—for example, a pixel display with no UI softwaredrawing the display. This was previously described as asurface automation.8 PwC

2Developing automation onvirtual environments: SurfaceautomationsIn a virtual environment, the bot is looking at a picture.Therefore, developers have to rely on the image the bot seesto automate the respective process step and eventually theentire process, which is not foolproof. The term ‘surfaceautomation’ is frequently used to refer to automationsthat rely on the picture/image. Although this may soundsimplistic to a human, many RPA platforms are unable toaccommodate this type of functionality to 100% efficiencyand surface automations are generally regarded difficultand challenging for the reasons outlined below: RPA tools use the UI via Object IDs for automation andthis is not available in any virtualised environment. Coordinated use of pixel-by-pixel scanning of image,anchors, X/Y coordinates and optical characterrecognition (OCR) are required in order to correctlylocate and interact with the image. This can fail when thescreen resolution changes. For security reasons, sometimes the clipboard is notenabled between the virtual server and client, making itdifficult to move data between the server and client. Ifthe clipboard is not enabled, one needs to find a way (e.g.sending keystrokes) of working with the data. The taskwould become even more difficult if the volume of datais huge. Even with safeguards in place, additional control criteriaand dynamic delays need to be implemented to take careof system latency. Automation becomes increasingly difficult on virtualapplications with screen objects like date pickers, whichcannot be controlled using the keyboard (wherein thedate needs to be selected using the mouse only).As a result of the above challenges, developers can use onlyimage recognition, co-ordinate based (mouse clicks/keystrokes) and OCR-based functions to automate in avirtual environment. The next section provides insights onhow this can be achieved.Robotic process automation in a virtual environment 9

Existing methods of automation in avirtual environmentThere are a few workarounds available to developersautomating processes on Citrix environments:1Coordinate-based automationThis is the most static automation approach where theRPA tool searches the target UI element at predefined X/Ycoordinates. Once the image is found, the tool can performmouse actions on that image such as left click, right clickand double click. After that, data entry at that locationcan be performed using keystrokes or data extraction canbe performed using OCR. Coordinate-based automationprovides fastest automation execution.Failure modes: This method would fail if the screenresolution or element/object position changes.Workarounds: Explore if image-based automation or OCR-basedautomation can be performed. Identifying elements on the screen and using them as ananchor to then do a relative click on the actual element isa temporary fix that can be put in place to avoid failuresdue to screen resolution changes. Building utilities that check screen resolution changesbefore triggering the process bot.10 PwC

2Image-based automationIn this approach, the RPA tool scans the business applicationpixel by pixel, until the targeted UI element’s (object) imageis found. Once the image is found, the tool can performmouse actions on that image such as left click, right clickand double click. After that, data entry at that location canbe performed using keystrokes and data extraction canbe performed using OCR. The RPA tool can be trained tosearch for a target image by configuring parameters suchas match percentage, comparison Mode (e.g. grayscale,monochrome), tolerance and image occurrence.Failure modes:Change in system display and UI properties.Changes in the default font/style and colour properties ofthe Windows apps and buttons.Workarounds: Configure RPA tool parameters such as matchpercentage, comparison mode (e.g. monochrome),tolerance and image occurrence. Explore if coordinate-based automation or OCR-basedautomation can be used.3OCR-based automationIn this approach, the business application image isconverted to text using OCR technology and the RPA toolsearches for the target application object by locating aspecific text occurrence. Once the text is found, the toolcan perform mouse actions on that object (text) such asleft click, right click and double click. After that, data entryat that object can be performed using keystrokes and dataextraction can be performed using OCR.Failure modes:Accuracy percentage (like to like match) of the dataextracted via the OCR functions is not 100% and, in somecases, may require manual human intervention to validatethe data before this can be further processed by the bots.Workarounds: Try the automation using a d

paper provides presents a case study on how Automation Anywhere (a leading RPA service provider) has further enhanced its current virtual environment automation capabilities in their upcoming release of Automation ‘It was not long ago that we were talking Anywhere v.11. to a potential client about the relative merits of automation, especially robotic process automation. Although the client .File Size: 1MBPage Count: 15