{"id":207,"date":"2023-12-20T17:02:00","date_gmt":"2023-12-20T17:02:00","guid":{"rendered":"https:\/\/kyliewilson.co.uk\/?p=207"},"modified":"2024-05-30T17:47:49","modified_gmt":"2024-05-30T16:47:49","slug":"restrobotexecutor","status":"publish","type":"post","link":"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/","title":{"rendered":"RESTRobotExecutor"},"content":{"rendered":"<h2 class=\"wp-block-post-title\">RESTRobotExecutor<\/h2>\n\n\n<p>The RESTRobotExecutor is a RESTful API that allows for on-demand RPA robot execution from other systems, allowing for greater flexibility when designing automations.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Problem<\/h3>\n\n\n\n<p>In the Kofax RPA system, robots can be triggered via a REST API, however this can easily use up all available system capacity, making robot scheduling difficult to manage.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Solution<\/h3>\n\n\n\n<p>To address this issue, I developed the RESTRobotExecutor, which is another REST API that will queue requests for on-demand robots instead of simply executing them straight away, making system load much easier to manage. This has enabled us to develop robots that are executed in real-time throughout the day, resulting in a much better user experience.<\/p>\n\n\n\n<p>The RESTRobotExecutor is a Windows Service written in C#.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69f74ce3992af&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69f74ce3992af\" class=\"wp-block-image aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"144\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RESTRobotExecutor_services_screenshot-1024x144.png\" alt=\"\" class=\"wp-image-383\" srcset=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RESTRobotExecutor_services_screenshot-1024x144.png 1024w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RESTRobotExecutor_services_screenshot-300x42.png 300w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RESTRobotExecutor_services_screenshot-768x108.png 768w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RESTRobotExecutor_services_screenshot.png 1269w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Process Map<\/h3>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69f74ce399879&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69f74ce399879\" class=\"wp-block-image aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"684\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RESTRobotExecutor-Process-Map-1024x684.png\" alt=\"\" class=\"wp-image-215\" srcset=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RESTRobotExecutor-Process-Map-1024x684.png 1024w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RESTRobotExecutor-Process-Map-300x200.png 300w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RESTRobotExecutor-Process-Map-768x513.png 768w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RESTRobotExecutor-Process-Map.png 1049w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Technologies<\/h3>\n\n\n\n<p>I used several technologies to develop this service:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Microsoft .NET Framework \/ C#<\/h4>\n\n\n\n<p>I used the Microsoft .NET Framework to develop a RESTful Windows service written in C#:<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69f74ce39a047&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69f74ce39a047\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"533\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RESTRobotExecutor_screenshot-1-1024x533.png\" alt=\"\" class=\"wp-image-237\" srcset=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RESTRobotExecutor_screenshot-1-1024x533.png 1024w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RESTRobotExecutor_screenshot-1-300x156.png 300w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RESTRobotExecutor_screenshot-1-768x400.png 768w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RESTRobotExecutor_screenshot-1.png 1448w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Microsoft SQL Server<\/h4>\n\n\n\n<p>This application uses a Microsoft SQL Server database to store information:<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69f74ce39a6c1&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69f74ce39a6c1\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"477\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RESTRobotExecutor_db_screenshot-1-1024x477.png\" alt=\"\" class=\"wp-image-222\" srcset=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RESTRobotExecutor_db_screenshot-1-1024x477.png 1024w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RESTRobotExecutor_db_screenshot-1-300x140.png 300w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RESTRobotExecutor_db_screenshot-1-768x357.png 768w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RESTRobotExecutor_db_screenshot-1-1536x715.png 1536w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RESTRobotExecutor_db_screenshot-1.png 1790w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Nginx<\/h4>\n\n\n\n<p>For improved security, I used an Nginx reverse proxy to provide an HTTPS service, then disabled all plain-text HTTP requests made to the RESTRobotExecutor.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">JSON<\/h4>\n\n\n\n<p>TODO<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">TODO Challenges<\/h3>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The RESTRobotExecutor is a RESTful API that allows for on-demand RPA robot execution from other systems, allowing for greater flexibility when designing automations. Problem In the Kofax RPA system, robots can be triggered via a REST API, however this can easily use up all available system capacity, making robot scheduling difficult to manage. Solution To [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":239,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","_swt_meta_header_display":false,"_swt_meta_footer_display":false,"_swt_meta_site_title_display":false,"_swt_meta_sticky_header":false,"_swt_meta_transparent_header":false,"footnotes":""},"categories":[29],"tags":[16,15,31,22,18,33,12,14,13,30],"class_list":["post-207","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-rpa","tag-net","tag-c","tag-https","tag-json","tag-nginx","tag-rest","tag-rpa","tag-sql","tag-system-architecture","tag-t-sql"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>RESTRobotExecutor - Kylie Wilson&#039;s Portfolio<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"RESTRobotExecutor - Kylie Wilson&#039;s Portfolio\" \/>\n<meta property=\"og:description\" content=\"The RESTRobotExecutor is a RESTful API that allows for on-demand RPA robot execution from other systems, allowing for greater flexibility when designing automations. Problem In the Kofax RPA system, robots can be triggered via a REST API, however this can easily use up all available system capacity, making robot scheduling difficult to manage. Solution To [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/\" \/>\n<meta property=\"og:site_name\" content=\"Kylie Wilson&#039;s Portfolio\" \/>\n<meta property=\"article:published_time\" content=\"2023-12-20T17:02:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-30T16:47:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2023\/12\/RESTRobotExecutor_Logo.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Kylie\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kylie\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/\"},\"author\":{\"name\":\"Kylie\",\"@id\":\"https:\/\/kyliewilson.co.uk\/#\/schema\/person\/f20d5b4b418e4698e4b5d6aef8abddc0\"},\"headline\":\"RESTRobotExecutor\",\"datePublished\":\"2023-12-20T17:02:00+00:00\",\"dateModified\":\"2024-05-30T16:47:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/\"},\"wordCount\":193,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kyliewilson.co.uk\/#\/schema\/person\/f20d5b4b418e4698e4b5d6aef8abddc0\"},\"image\":{\"@id\":\"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2023\/12\/RESTRobotExecutor_Logo.webp\",\"keywords\":[\".NET\",\"C#\",\"HTTPS\",\"JSON\",\"Nginx\",\"REST\",\"RPA\",\"SQL\",\"System Architecture\",\"T-SQL\"],\"articleSection\":[\"RPA\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/\",\"url\":\"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/\",\"name\":\"RESTRobotExecutor - Kylie Wilson&#039;s Portfolio\",\"isPartOf\":{\"@id\":\"https:\/\/kyliewilson.co.uk\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2023\/12\/RESTRobotExecutor_Logo.webp\",\"datePublished\":\"2023-12-20T17:02:00+00:00\",\"dateModified\":\"2024-05-30T16:47:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/#primaryimage\",\"url\":\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2023\/12\/RESTRobotExecutor_Logo.webp\",\"contentUrl\":\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2023\/12\/RESTRobotExecutor_Logo.webp\",\"width\":1024,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kyliewilson.co.uk\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"RESTRobotExecutor\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kyliewilson.co.uk\/#website\",\"url\":\"https:\/\/kyliewilson.co.uk\/\",\"name\":\"Kylie Wilson's Portfolio\",\"description\":\"I\u2019m a software engineer with 14 years of professional experience, working with a wide range of technologies in an NHS hospital trust. I have always had a passion for computing, and since a very young age I knew that this is what I wanted to do. Outside of work, I can often be found experimenting with different technologies, and I am always sharpening my skills with personal projects.\",\"publisher\":{\"@id\":\"https:\/\/kyliewilson.co.uk\/#\/schema\/person\/f20d5b4b418e4698e4b5d6aef8abddc0\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kyliewilson.co.uk\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/kyliewilson.co.uk\/#\/schema\/person\/f20d5b4b418e4698e4b5d6aef8abddc0\",\"name\":\"Kylie\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/kyliewilson.co.uk\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/cropped-cropped-selfie_transparent2_cropped-1.png\",\"contentUrl\":\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/cropped-cropped-selfie_transparent2_cropped-1.png\",\"width\":999,\"height\":999,\"caption\":\"Kylie\"},\"logo\":{\"@id\":\"https:\/\/kyliewilson.co.uk\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/kyliewilson.co.uk\"],\"url\":\"https:\/\/kyliewilson.co.uk\/index.php\/author\/kylie\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"RESTRobotExecutor - Kylie Wilson&#039;s Portfolio","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/","og_locale":"en_GB","og_type":"article","og_title":"RESTRobotExecutor - Kylie Wilson&#039;s Portfolio","og_description":"The RESTRobotExecutor is a RESTful API that allows for on-demand RPA robot execution from other systems, allowing for greater flexibility when designing automations. Problem In the Kofax RPA system, robots can be triggered via a REST API, however this can easily use up all available system capacity, making robot scheduling difficult to manage. Solution To [&hellip;]","og_url":"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/","og_site_name":"Kylie Wilson&#039;s Portfolio","article_published_time":"2023-12-20T17:02:00+00:00","article_modified_time":"2024-05-30T16:47:49+00:00","og_image":[{"width":1024,"height":1024,"url":"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2023\/12\/RESTRobotExecutor_Logo.webp","type":"image\/webp"}],"author":"Kylie","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kylie","Estimated reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/#article","isPartOf":{"@id":"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/"},"author":{"name":"Kylie","@id":"https:\/\/kyliewilson.co.uk\/#\/schema\/person\/f20d5b4b418e4698e4b5d6aef8abddc0"},"headline":"RESTRobotExecutor","datePublished":"2023-12-20T17:02:00+00:00","dateModified":"2024-05-30T16:47:49+00:00","mainEntityOfPage":{"@id":"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/"},"wordCount":193,"commentCount":0,"publisher":{"@id":"https:\/\/kyliewilson.co.uk\/#\/schema\/person\/f20d5b4b418e4698e4b5d6aef8abddc0"},"image":{"@id":"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/#primaryimage"},"thumbnailUrl":"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2023\/12\/RESTRobotExecutor_Logo.webp","keywords":[".NET","C#","HTTPS","JSON","Nginx","REST","RPA","SQL","System Architecture","T-SQL"],"articleSection":["RPA"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/","url":"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/","name":"RESTRobotExecutor - Kylie Wilson&#039;s Portfolio","isPartOf":{"@id":"https:\/\/kyliewilson.co.uk\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/#primaryimage"},"image":{"@id":"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/#primaryimage"},"thumbnailUrl":"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2023\/12\/RESTRobotExecutor_Logo.webp","datePublished":"2023-12-20T17:02:00+00:00","dateModified":"2024-05-30T16:47:49+00:00","breadcrumb":{"@id":"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/#primaryimage","url":"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2023\/12\/RESTRobotExecutor_Logo.webp","contentUrl":"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2023\/12\/RESTRobotExecutor_Logo.webp","width":1024,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/kyliewilson.co.uk\/index.php\/2023\/12\/20\/restrobotexecutor\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kyliewilson.co.uk\/"},{"@type":"ListItem","position":2,"name":"RESTRobotExecutor"}]},{"@type":"WebSite","@id":"https:\/\/kyliewilson.co.uk\/#website","url":"https:\/\/kyliewilson.co.uk\/","name":"Kylie Wilson's Portfolio","description":"I\u2019m a software engineer with 14 years of professional experience, working with a wide range of technologies in an NHS hospital trust. I have always had a passion for computing, and since a very young age I knew that this is what I wanted to do. Outside of work, I can often be found experimenting with different technologies, and I am always sharpening my skills with personal projects.","publisher":{"@id":"https:\/\/kyliewilson.co.uk\/#\/schema\/person\/f20d5b4b418e4698e4b5d6aef8abddc0"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kyliewilson.co.uk\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":["Person","Organization"],"@id":"https:\/\/kyliewilson.co.uk\/#\/schema\/person\/f20d5b4b418e4698e4b5d6aef8abddc0","name":"Kylie","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/kyliewilson.co.uk\/#\/schema\/person\/image\/","url":"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/cropped-cropped-selfie_transparent2_cropped-1.png","contentUrl":"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/cropped-cropped-selfie_transparent2_cropped-1.png","width":999,"height":999,"caption":"Kylie"},"logo":{"@id":"https:\/\/kyliewilson.co.uk\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/kyliewilson.co.uk"],"url":"https:\/\/kyliewilson.co.uk\/index.php\/author\/kylie\/"}]}},"uagb_featured_image_src":{"full":["https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2023\/12\/RESTRobotExecutor_Logo.webp",1024,1024,false],"thumbnail":["https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2023\/12\/RESTRobotExecutor_Logo-150x150.webp",150,150,true],"medium":["https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2023\/12\/RESTRobotExecutor_Logo-300x300.webp",300,300,true],"medium_large":["https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2023\/12\/RESTRobotExecutor_Logo-768x768.webp",768,768,true],"large":["https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2023\/12\/RESTRobotExecutor_Logo.webp",1024,1024,false],"1536x1536":["https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2023\/12\/RESTRobotExecutor_Logo.webp",1024,1024,false],"2048x2048":["https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2023\/12\/RESTRobotExecutor_Logo.webp",1024,1024,false]},"uagb_author_info":{"display_name":"Kylie","author_link":"https:\/\/kyliewilson.co.uk\/index.php\/author\/kylie\/"},"uagb_comment_info":1,"uagb_excerpt":"The RESTRobotExecutor is a RESTful API that allows for on-demand RPA robot execution from other systems, allowing for greater flexibility when designing automations. Problem In the Kofax RPA system, robots can be triggered via a REST API, however this can easily use up all available system capacity, making robot scheduling difficult to manage. Solution To&hellip;","_links":{"self":[{"href":"https:\/\/kyliewilson.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/207","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kyliewilson.co.uk\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kyliewilson.co.uk\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kyliewilson.co.uk\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kyliewilson.co.uk\/index.php\/wp-json\/wp\/v2\/comments?post=207"}],"version-history":[{"count":27,"href":"https:\/\/kyliewilson.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/207\/revisions"}],"predecessor-version":[{"id":384,"href":"https:\/\/kyliewilson.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/207\/revisions\/384"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kyliewilson.co.uk\/index.php\/wp-json\/wp\/v2\/media\/239"}],"wp:attachment":[{"href":"https:\/\/kyliewilson.co.uk\/index.php\/wp-json\/wp\/v2\/media?parent=207"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kyliewilson.co.uk\/index.php\/wp-json\/wp\/v2\/categories?post=207"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kyliewilson.co.uk\/index.php\/wp-json\/wp\/v2\/tags?post=207"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}