{"id":348,"date":"2019-02-07T10:31:56","date_gmt":"2019-02-07T10:31:56","guid":{"rendered":"https:\/\/www.testpreptraining.com\/tutorial\/?page_id=348"},"modified":"2020-05-01T12:30:44","modified_gmt":"2020-05-01T12:30:44","slug":"amazon-simple-workflow-service-amazon-swf","status":"publish","type":"page","link":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-solutions-architect-associate-table-of-content\/amazon-simple-workflow-service-amazon-swf\/","title":{"rendered":"Introduction to Amazon Simple Workflow Service (Amazon SWF)"},"content":{"rendered":"\n<ul class=\"wp-block-list\"><li>Used to build applications that coordinate work across distributed components. In it, a task represents a logical unit of work performed by a component of application.<\/li><li>&nbsp;<\/li><li>Coordinating tasks across application requires managing\n<ul>\n<li>inter-task dependencies<\/li>\n<\/ul>\n<ul>\n<li>scheduling<\/li>\n<\/ul>\n<ul>\n<li>concurrency<\/li>\n<\/ul>\n<\/li><li>&nbsp;<\/li><li>SWF gives control over<\/li><li>implementing and coordinating tasks<\/li><li>tracking their progress<\/li><li>maintaining their state.<\/li><li>required to implement workers to perform tasks<\/li><li>workers can run on EC2, or on user\u2019s premises.<\/li><li>can create long-running tasks\n<ul>\n<li>SWF<\/li>\n<\/ul>\n<ul>\n<li>stores tasks<\/li>\n<\/ul>\n<ul>\n<li>assigns them to workers when they are ready<\/li>\n<\/ul>\n<ul>\n<li>monitors their progress<\/li>\n<\/ul>\n<ul>\n<li>maintains their state, including details on their completion.<\/li>\n<\/ul>\n<\/li><\/ul>\n\n\n\n<p><strong>Workflows <\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>used to coordinate and manage execution of activities which<\/li><li>run asynchronously<\/li><li>across multiple computing devices<\/li><li>feature both sequential and parallel processing<\/li><li>when designing a workflow, analyze application to identify its component tasks,<\/li><li>Tasks in SWF are \u2018activities\u2019.<\/li><li>&nbsp;workflow\u2019s coordination logic determines order in which activities are executed.<\/li><\/ul>\n\n\n\n<p><strong>Workflow Domains <\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>It scopes SWF resources within AWS account.<\/li><li>a domain for all components of a workflow is needed like workflow type and activity types<\/li><li>workflows in different domains cannot interact with one another.<\/li><\/ul>\n\n\n\n<p><strong>Workflow History <\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>A &nbsp;detailed, complete, and consistent record of every event occurring since workflow execution started.<\/li><li>An event represents a discrete change in workflow execution\u2019s state<\/li><li>Events can be\n<ul>\n<li>scheduled and completed activities<\/li>\n<\/ul>\n<ul>\n<li>task timeouts<\/li>\n<\/ul>\n<ul>\n<li>signals<\/li>\n<\/ul>\n<\/li><\/ul>\n\n\n\n<p><strong>Actors <\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Are programmatic feature<\/li><li>It can be\n<ul>\n<li>Workflow starters<\/li>\n<\/ul>\n<ul>\n<li>Deciders<\/li>\n<\/ul>\n<ul>\n<li>Activity Workers<\/li>\n<\/ul>\n<\/li><li>actors communicate with SWF by its API.<\/li><li>can develop actors in any programming language.<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>Workflow Starter\n<ul>\n<li>is any application that can initiate workflow executions.<\/li>\n<\/ul>\n<\/li><li>Deciders\n<ul>\n<li>logic that coordinates tasks in a workflow<\/li>\n<\/ul>\n<ul>\n<li>It schedules activity tasks and provides input data to activity workers<\/li>\n<\/ul>\n<ul>\n<li>It also processes events arriving while workflow is in progress and closes workflow when objective has been completed.<\/li>\n<\/ul>\n<\/li><li>Activity Worker\n<ul>\n<li>a single computer process (or thread) performing activity tasks in workflow.<\/li>\n<\/ul>\n<ul>\n<li>different activity workers process tasks of different activity types<\/li>\n<\/ul>\n<ul>\n<li>multiple activity workers can process same type of task.<\/li>\n<\/ul>\n<\/li><\/ul>\n\n\n\n<p><strong>Amazon SWF Tasks<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>three types of tasks \u2013 Activity tasks, AWS Lambda tasks, and Decision tasks.<\/li><li>Activity Task \u2013commands an activity worker to perform its function. Has information that activity worker needs to perform its function.<\/li><li>AWS Lamda \u2013same as an activity task, but executes Lambda function instead of SWF activity.<\/li><li>Decision Task \u2013commands a decider. contains current workflow history.<\/li><\/ul>\n\n\n\n<p><strong>Task Lists<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>organize various tasks associated with a workflow<\/li><li>similar to dynamic queues<\/li><li>when a task is scheduled in SWF, specify a queue (task list) to put it in<\/li><li>During polling SWF for a task, determine which queue (task list) to get task from.<\/li><li>Task lists helps to route tasks to workers as per use case.<\/li><li>They are dynamic and no need to register a task list or explicitly create it<\/li><\/ul>\n\n\n\n<p><strong>Long Polling<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Deciders and activity workers communicate with SWF using long polling<\/li><li>decider or activity worker periodically\n<ul>\n<li>initiates communication with SWF<\/li>\n<\/ul>\n<ul>\n<li>notify SWF of its availability to accept a task<\/li>\n<\/ul>\n<ul>\n<li>specify task list to get tasks from<\/li>\n<\/ul>\n<\/li><li>Works well for high-volume task processing.<\/li><li>Deciders and activity workers can manage their own capacity.<\/li><\/ul>\n\n\n\n<p><strong>Workflow Execution Closure<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Once we start a workflow execution, it is open.<\/li><li>open workflow execution can be closed as\n<ul>\n<li>completed<\/li>\n<\/ul>\n<ul>\n<li>canceled<\/li>\n<\/ul>\n<ul>\n<li>failed<\/li>\n<\/ul>\n<ul>\n<li>timed out<\/li>\n<\/ul>\n<\/li><li>can also be continued as a new execution, or terminated.<\/li><li>decider, person administering workflow, or Amazon SWF can close a workflow execution.<\/li><\/ul>\n\n\n\n<p><strong>Lifecycle of a Workflow Execution<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>SWF interacts with actors by assigning them appropriate tasks either activity or decision tasks.<\/li><li>Starting from beginning of a workflow execution to its completion,<\/li><li>Below, lifecycle of order processing workflow execution from components that act on it.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"514\" height=\"159\" src=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2019\/08\/image-261.png\" alt=\"\" class=\"wp-image-2782\"\/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Used to build applications that coordinate work across distributed components. In it, a task represents a logical unit of work performed by a component of application. &nbsp; Coordinating tasks across application requires managing inter-task dependencies scheduling concurrency &nbsp; SWF gives control over implementing and coordinating tasks tracking their progress maintaining their state. required to implement&#8230;<\/p>\n","protected":false},"author":1,"featured_media":350,"parent":53,"menu_order":25,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"categories":[],"tags":[36,37,13,14,5],"class_list":["post-348","page","type-page","status-publish","has-post-thumbnail","hentry","tag-amazon-simple-workflow-service","tag-amazon-swf","tag-aws-certified-solutions-architect-professional","tag-aws-exam-dumps","tag-aws-solutions-architect"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Amazon Simple Workflow Service (SWF) - Testprep Training Tutorials<\/title>\n<meta name=\"description\" content=\"Learn more about Amazon Simple Workflow Service (Amazon SWF) and become a Certified Solutions Architect with thousands of practice test &amp; 100% guarantee!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-solutions-architect-associate-table-of-content\/amazon-simple-workflow-service-amazon-swf\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Amazon Simple Workflow Service (SWF) - Testprep Training Tutorials\" \/>\n<meta property=\"og:description\" content=\"Learn more about Amazon Simple Workflow Service (Amazon SWF) and become a Certified Solutions Architect with thousands of practice test &amp; 100% guarantee!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-solutions-architect-associate-table-of-content\/amazon-simple-workflow-service-amazon-swf\/\" \/>\n<meta property=\"og:site_name\" content=\"Testprep Training Tutorials\" \/>\n<meta property=\"article:modified_time\" content=\"2020-05-01T12:30:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2019\/02\/Amazon-SWF.png\" \/>\n\t<meta property=\"og:image:width\" content=\"728\" \/>\n\t<meta property=\"og:image:height\" content=\"410\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-solutions-architect-associate-table-of-content\/amazon-simple-workflow-service-amazon-swf\/\",\"url\":\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-solutions-architect-associate-table-of-content\/amazon-simple-workflow-service-amazon-swf\/\",\"name\":\"Amazon Simple Workflow Service (SWF) - Testprep Training Tutorials\",\"isPartOf\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#website\"},\"datePublished\":\"2019-02-07T10:31:56+00:00\",\"dateModified\":\"2020-05-01T12:30:44+00:00\",\"description\":\"Learn more about Amazon Simple Workflow Service (Amazon SWF) and become a Certified Solutions Architect with thousands of practice test & 100% guarantee!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-solutions-architect-associate-table-of-content\/amazon-simple-workflow-service-amazon-swf\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-solutions-architect-associate-table-of-content\/amazon-simple-workflow-service-amazon-swf\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-solutions-architect-associate-table-of-content\/amazon-simple-workflow-service-amazon-swf\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.testpreptraining.ai\/tutorial\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AWS Certified Solutions Architect Associate (SAA-C03)\",\"item\":\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-solutions-architect-associate-table-of-content\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Introduction to Amazon Simple Workflow Service (Amazon SWF)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#website\",\"url\":\"https:\/\/www.testpreptraining.ai\/tutorial\/\",\"name\":\"Testprep Training Tutorials\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.testpreptraining.ai\/tutorial\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#organization\",\"name\":\"Testprep Training\",\"url\":\"https:\/\/www.testpreptraining.ai\/tutorial\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png\",\"contentUrl\":\"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png\",\"width\":583,\"height\":153,\"caption\":\"Testprep Training\"},\"image\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Amazon Simple Workflow Service (SWF) - Testprep Training Tutorials","description":"Learn more about Amazon Simple Workflow Service (Amazon SWF) and become a Certified Solutions Architect with thousands of practice test & 100% guarantee!","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:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-solutions-architect-associate-table-of-content\/amazon-simple-workflow-service-amazon-swf\/","og_locale":"en_US","og_type":"article","og_title":"Amazon Simple Workflow Service (SWF) - Testprep Training Tutorials","og_description":"Learn more about Amazon Simple Workflow Service (Amazon SWF) and become a Certified Solutions Architect with thousands of practice test & 100% guarantee!","og_url":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-solutions-architect-associate-table-of-content\/amazon-simple-workflow-service-amazon-swf\/","og_site_name":"Testprep Training Tutorials","article_modified_time":"2020-05-01T12:30:44+00:00","og_image":[{"width":728,"height":410,"url":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2019\/02\/Amazon-SWF.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-solutions-architect-associate-table-of-content\/amazon-simple-workflow-service-amazon-swf\/","url":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-solutions-architect-associate-table-of-content\/amazon-simple-workflow-service-amazon-swf\/","name":"Amazon Simple Workflow Service (SWF) - Testprep Training Tutorials","isPartOf":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#website"},"datePublished":"2019-02-07T10:31:56+00:00","dateModified":"2020-05-01T12:30:44+00:00","description":"Learn more about Amazon Simple Workflow Service (Amazon SWF) and become a Certified Solutions Architect with thousands of practice test & 100% guarantee!","breadcrumb":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-solutions-architect-associate-table-of-content\/amazon-simple-workflow-service-amazon-swf\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-solutions-architect-associate-table-of-content\/amazon-simple-workflow-service-amazon-swf\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-solutions-architect-associate-table-of-content\/amazon-simple-workflow-service-amazon-swf\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.testpreptraining.ai\/tutorial\/"},{"@type":"ListItem","position":2,"name":"AWS Certified Solutions Architect Associate (SAA-C03)","item":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-solutions-architect-associate-table-of-content\/"},{"@type":"ListItem","position":3,"name":"Introduction to Amazon Simple Workflow Service (Amazon SWF)"}]},{"@type":"WebSite","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#website","url":"https:\/\/www.testpreptraining.ai\/tutorial\/","name":"Testprep Training Tutorials","description":"","publisher":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.testpreptraining.ai\/tutorial\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#organization","name":"Testprep Training","url":"https:\/\/www.testpreptraining.ai\/tutorial\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/","url":"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png","contentUrl":"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png","width":583,"height":153,"caption":"Testprep Training"},"image":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages\/348","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/comments?post=348"}],"version-history":[{"count":6,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages\/348\/revisions"}],"predecessor-version":[{"id":5172,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages\/348\/revisions\/5172"}],"up":[{"embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages\/53"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/media\/350"}],"wp:attachment":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/media?parent=348"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/categories?post=348"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/tags?post=348"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}