- Artificial Intelligence - Overview
- Artificial Intelligence - Intelligent Systems
- Artificial Intelligence - Research Areas
- AI - Agents & Environments
- AI - Popular Search Algorithms
- Artificial Intelligence - Fuzzy Logic Systems
- AI - Natural Language Processing
- Artificial Intelligence - Expert Systems
- Artificial Intelligence - Robotics
- Artificial Intelligence - Neural Networks
- Artificial Intelligence - Issues
- Artificial Intelligence - Quick Guide
- ARTIFICIAL INTELLIGENCE INTERVIEW QUESTIONS & ANSWERS SET 1
- Top 50 Artificial Intelligence Interview Questions & Answers
Sunday, 10 February 2019
Artificial Intelligence Tutorial
Robotic Process Automation (RPA) Tutorial: What is, Tools & Example
What is Robotic Process Automation?
Robotics Process Automation(RPA) allows organizations to automate task just like a human being was doing them across application and systems. Robotic automation interacts with the existing IT architecture with no complex system integration required.
RPA can be used to automate workflow, infrastructure, back office process which are labor intensive. These software bots can interact with an in-house application, website, user portal, etc. The RPA is a software program which runs on an end user's pc, laptop or mobile device. It is a sequence of commands which are executed by Bots under some defined set of business rules.
The main goal of Robotics process automation process to replace repetitive and boring clerical task performed by humans, with a virtual workforce. RPA does not require the development of code, nor does it require direct access to the code or database of the applications.
What You Will Learn:
Why Robotic Process Automation?
Consider the following scenario in a typical enterprise
- The business climate is ever changing. An enterprise needs to continuously evolve its product, sales, marketing, etc. process to grow and stay relevant
- A typical enterprise uses multiple and disconnected IT systems to run its operations. With change in Business process, these IT systems are not changed frequently due to budget, timing, and implementation complexity issues. Hence, the business process does not map the technical process mapped in the IT system.
- To overcome this technical and organization debt human workforce is hired to fill the gap between systems and processes. Example: A company made changes in Sales process such that a mandatory 50% advance is required to confirm the booking of its product. But this is not coded in the IT system yet. A human worker will have to manual check the Invoice and payment details and process the sales order only if 50% advance is made.
The problem? --- Humans
With any change in the business process, a company would need to hire new employees or train existing employees to map IT system and business process. Both solutions are time and money consuming. Also, with any succeeding business process change will also need hiring or re-training.
Enter RPA
With Robotic automation, the company can deploy virtual workers who mimic human workers. In case of a change in process, a change in few lines of software code is always faster and cheaper than retraining hundreds of employees.
Here, are some reasons why Robotics Process Automation is advantageous
- A human can work average 8 hours a day whereas robots can work 24hours without any tiredness.
- The average productivity of human is 60% with few errors as compared to Robot's productivity which is 100% without any errors.
- Robots handle multiple tasks very well compared to a human being
Example of RPA
Consider the following Invoice Processing Business process
Description | Can be Automated via RPA? |
---|---|
Open invoice email from the supplier and print it for records | Yes |
Barcode Scanning | Manual |
Create work item in a legacy software system | Yes |
Enter PO to retrieve Invoices | Yes |
Check supplier name is correct or not? | Yes |
Key Invoice, Data and Amount | Yes |
Match PO and Invoice | Yes |
Check if Amount is matches or not? | Yes |
If amount match Matches Invoice, Calculate Tax | Yes |
Complete Invoice Processing | Yes |
Work Item Closed | Yes |
If Amount does not match Hold, follow with vendor | Yes |
Supplier accepts or resends Invoice | Yes |
If Supplier name is incorrect to hold a pass to exception team | Yes |
Flag for exception handling | Yes |
Differences between Test Automation and RPA
There is multiple overlaps between a Test Automation Tool and RPA tool. For instance, they both drive screen, keyboard, mouse, etc. and have similar tech architecture. But following are the key differences between the two
Parameter | Test Automation | RPA |
---|---|---|
Goal | Reduce Test execution time through automation | Reduce headcount through automation |
Task | Automate repetitive Test Cases | Automate repetitive Business processes |
Coding | Coding knowledge required to create Test Scripts | Wizard-driven, and coding knowledge not required |
Tech Approach | Supports limited software environment. Example: Selenium can support only web applications. | Supports a wide array of software environments |
Example | Test cases are automated | Data entry, forms, loan processing, is automated |
Application | Test Automation can be run on QA, Production, Performance, UAT environments | RPA is usually run only on production environments |
Implementation | It can automate a product. | It can automate a product as well as a service. |
Users | Limited to technical users. | Can be used across the board by all stakeholders. |
Role | Acts as a virtual assistant. | Acts as a virtual workforce. |
AI | Can execute only what is coded. | Many RPA tools come with an AI engine can process information like a human |
Again, RPA tools like UIPath, Blueprism can be used for test automation. Vice versa, advanced automation tools like UFT can be used for RPA if you have good coding skill. But RPA tools for more fit for purpose.
RPA Implementation Methodology
Planning
In this phase, you need to Identify processes which you want to automate. Following checklist will help you identify the correct process
- Is the process manual & repetitive?
- Is the process Rule-based?
- Is the input data is in electronic format and is readable?
- Can existing System be used as it is with no change?
Next, steps in planning phase are
- Setup project team, finalize implementation timelines and approach.
- Agree on solution design for performing RPA processes.
- Identify logging mechanism that should be implemented to find issues with running bots.
- Clear roadmap should be defined to scale up RPA implementation
Development
In this phase, you start developing the automation workflows as per agreed plan. Being wizard driven, the implementation is quick
Testing
In this phase, you run Testing cycles for in-scope automation to identify and correct defects
Support & Maintenance
Provide continuous support after going live and helps in immediate defect resolution. Follow general maintenance guidelines with roles and responsibilities with business and IT support teams.
Best Practices of RPA Implementation
- One should consider business impact before opting for RPA process
- Define and focus on the desired ROI
- Focus on targeting larger groups and automating large, impactful processes
- Combine attended and unattended RPA
- Poor design, change management can wreak havoc
- Don't forget the impact on people
- Governance of the project is foremost thing in RPA process. Policy, Corporate, Government compliance should be ensured.
General Use of RPA
1. Emulates Human Action:
Emulates human execution of the repetitive process using various application and systems.
2. Conduct high-volume repeated tasks:
Robotics process automation can easily simulate rekeying of data from one system to another. It performs tasks like data entry, copying, and pasting.
3. Perform Multiple Tasks:
Operates multiple and complex tasks across multiple systems. This helps to process transactions, manipulate data and send reports.
4. 'Virtual' system integration:
This automation system can transfer data between disparate and legacy systems by connecting them at the user interface level instead of developing new data infrastructure.
5. Automated report generation:
Automates the extraction of data to comes up with accurate, effective and timely reports.
6. Information validation and auditing:
Resolves and cross-verify data between different systems to validate and check information to provide compliance and auditing outputs.
7. Technical debt management:
Helps to reduce technical debt by reducing the gap between systems, preventing the introduction of custom implementations.
8. Product management:
It helps to bridge the gap between IT systems and related product management platforms by automated updating of both systems.
9. Quality Assurance:
It can be beneficial to QA processes which cover regression testing and automating customer use case scenarios.
10. Data migration:
Allows automated data migration through systems which is not possible using traditional mediums, like document, spreadsheets or other source data files.
11. Gap solutions:
Robotic automatic fills the gaps with process deficiencies. It includes may simple tasks as password resets, the system resets, etc.
12. Revenue forecasting:
Automatically updating financial statements to predict revenue forecasting.
Application of RPA
Industry | Usage |
---|---|
Healthcare |
|
HR |
|
Insurance |
|
Manufacturing & Retail |
|
Telecom |
|
Travel & Logistic |
|
Banking and Financial Services |
|
Government |
|
Infrastructure |
|
Robotic Process Automation tools
Selection of RPA Tool should be based on following 4 parameters:
- Data: Easy of reading and writing business data into multiple systems
- Type of Tasks mainly performed: Ease of configuring rules-based or knowledge-based processes.
- Interoperability: Tools should work across multiple applications
- AI: Built-in AI support to mimic human users
Popular Robotic Automation Tools:
1) Blue prism
Blue Prism is a Robotic Process Automation software. It provides businesses and organizations with an agile digital workforce.
Download link: https://www.blueprism.com/
2) Automation AnyWhere
Automation Anywhere is a developer of robotic process automation (RPA) software.
Download link: https://www.automationanywhere.com/
3) UiPath
UiPath is Robotic Process Automation software. It helps organizations efficiently automate business processes.
Download link: https://www.uipath.com/
Benefits of RPA
Some benefits that RPA can provide to your organization:
- Large numbers of the process can easily have automated.
- Cost are reduced significantly as the RPA takes care of repetitive task and saves precious time and resources.
- Programming skills are not needed to configure a software robot. Thus, any non-technical staff can set up a bot or even record their steps to automate the process.
- Robotic process automation support and allows all regular compliance process, with error-free auditing.
- The robotic software can rapidly model and deploy the automation process.
- The defects are tracked for each test case story and the sprint.
- Effective, seamless Build & Release Management
- Real time visibility into bug/defect discovery
- There is no human business which means there is no need for time for the requirement of training.
- Software robots do not get tired. It increases which helps to increase the scalability.
Disadvantages of RPA:
Let's not forgot some cons of the RPA process:
- The bot is limited to the speed of the application
- Even small changes made in the automation application will need the robots to be reconfigured.
Myths of RPA:
- Coding is required to use RPA softwareThat's not true. To use Robotics Process Automation tools, one needs to understand how the software works on the front-end and can how they can use for automation.
- RPA software does not require human supervisionThis is an illusion because humans are needed to program the RPA bot, feed them tasks for automation and manage them.
- Only large big companies can afford to deploy RPASmall to medium-sized organizations can deploy RPA to automate their business. However, initial costing will be high but can be recovered in 4-5 years.
- RPA is useful only in industries that rely heavily on software
RPA can be used to generate automated bills, invoice, telephone service, etc. which are used across industries irrespective of their software exposure.
DockerTutorial
Docker Topics List
- What is Docker?
- Docker - Containers
- Why use containers?
- Features of Docker
- Components of Docker
- Installing Docker on Linux
- Docker - Installation
- Docker - Hub
- Docker - Images
- Docker - Working with Containers
- Docker - Architecture
- Docker - Container and Hosts
- Docker - Configuring
- Docker - Containers and Shells
- Docker - File
- Docker - Building Files
- Docker - Public Repositories
- Docker - Managing Ports
- Docker - Private Registries
- Docker - Building a Web Server Docker File
- Docker - Instruction Commands
- Docker - Container Linking
- Docker - Storage
- Docker - Networking
- Docker - Setting Node.js
- Docker - Setting MongoDB
- Docker - Setting NGINX
- Docker - Toolbox
- Docker - Setting ASP.Net
- Docker - Cloud
- Docker - Logging
- Docker - Compose
- Docker - Continuous Integration
- Docker - Kubernetes Architecture
- Docker - Working of Kubernetes
- Docker - Overview
- Docker Interview Questions And Answers Part1
- Top Docker Interview Questions Part 2
- Docker Interview Questions Part 3
Saturday, 2 February 2019
Angular custom preloading strategy
Angular custom preloading strategy
To control when a lazy loaded module is downloaded onto the client machine, we use preloadingStrategy property. We discussed this in detail of Angular 6 tutorial.
Let us say in our Angular project, we have 2 lazy loaded modules
On the other hand, if we set preloadingStrategy property to NoPreloading, then none of the lazy loaded modules will be preloaded.
So with the following 2 built-in preloadingStrategy options, we can either preload, all lazy loaded modules or none of them.
Steps for creating Custom Preloading Strategy in Angular
Step 1 : To create a Custom Preloading Strategy, create a service that implements Angular's built-in PreloadingStrategy abstract class
To generate the service, use the following Angular CLI command
This command generates a file with name custom-preloading.service.ts. Modify the code in that file as shown below.
Step 2 : Import CustomPreloadingService and set it as the Preloading Strategy
In app-routing.module.ts, import CustomPreloadingService
Set CustomPreloadingService as the Preloading Strategy
Modify the 'employees' route, and set preload property to true or false. Set it to true if you want the EmployeeModule to be preloaded else false.
- EmployeeModule
- AdminModule
RouterModule.forRoot(appRoutes, {preloadingStrategy: PreloadAllModules})
On the other hand, if we set preloadingStrategy property to NoPreloading, then none of the lazy loaded modules will be preloaded.
RouterModule.forRoot(appRoutes, {preloadingStrategy: NoPreloading})
So with the following 2 built-in preloadingStrategy options, we can either preload, all lazy loaded modules or none of them.
- PreloadAllModules
- NoPreloading
Steps for creating Custom Preloading Strategy in Angular
Step 1 : To create a Custom Preloading Strategy, create a service that implements Angular's built-in PreloadingStrategy abstract class
To generate the service, use the following Angular CLI command
ng g s CustomPreloading
This command generates a file with name custom-preloading.service.ts. Modify the code in that file as shown below.
import { Injectable } from '@angular/core';
import { PreloadingStrategy, Route } from '@angular/router';
import { Observable, of } from 'rxjs';
@Injectable({
providedIn: 'root'
})
// Since we are creating a Custom Preloading Strategy, this service
// class must implement PreloadingStrategy abstract class
export class CustomPreloadingService implements PreloadingStrategy {
constructor() { }
// PreloadingStrategy abstract class has the following preload()
// abstract method for which we need to provide implementation
preload(route: Route, fn: () => Observable<any>): Observable<any> {
// If data property exists on the route of the lazy loaded module
// and if that data property also has preload property set to
// true, then return the fn() which preloads the module
if (route.data && route.data['preload']) {
return fn();
// If data property does not exist or preload property is set to
// false, then return Observable of null, so the module is not
// preloaded in the background
} else {
return of(null);
}
}
}
Step 2 : Import CustomPreloadingService and set it as the Preloading Strategy
In app-routing.module.ts, import CustomPreloadingService
import { CustomPreloadingService } from './custom-preloading.service';
Set CustomPreloadingService as the Preloading Strategy
RouterModule.forRoot(appRoutes, {
preloadingStrategy: CustomPreloadingService
})
preloadingStrategy: CustomPreloadingService
})
Modify the 'employees' route, and set preload property to true or false. Set it to true if you want the EmployeeModule to be preloaded else false.
const appRoutes: Routes = [
{ path: 'home', component: HomeComponent },
{ path: '', redirectTo: '/home', pathMatch: 'full' },
{
path: 'employees',
// set the preload property to true, using the route data property
// If you do not want the module to be preloaded set it to false
data: { preload: true },
loadChildren: './employee/employee.module#EmployeeModule'
},
{ path: '**', component: PageNotFoundComponent }
];
Subscribe to:
Posts (Atom)