{"id":712,"date":"2017-11-01T01:31:28","date_gmt":"2017-11-01T01:31:28","guid":{"rendered":"http:\/\/wiki.thomasandsofia.com\/?p=712"},"modified":"2017-11-02T10:04:37","modified_gmt":"2017-11-02T10:04:37","slug":"simple-workflow-service","status":"publish","type":"post","link":"https:\/\/wiki.thomasandsofia.com\/?p=712","title":{"rendered":"Simple Workflow Service"},"content":{"rendered":"<p><a href=\"https:\/\/www.udemy.com\/aws-certified-solutions-architect-associate\/learn\/v4\/t\/lecture\/2050710?start=15\" target=\"_blank\" rel=\"noopener\">https:\/\/www.udemy.com\/aws-certified-solutions-architect-associate\/learn\/v4\/t\/lecture\/2050710?start=15<\/a><\/p>\n<h2>What is SWF?<\/h2>\n<p>Simple Workflow Service is a web service that makes it easy to coordinate work across distributed application components.\u00a0 SWF enables applications for a range of use cases, including media processing, web application back-ends, business process workflows, and analytics pipelines, to be designed as a coordination of tasks.\u00a0 Tasks represent invocations of various processing steps in a application which can be performed by executable code, web service calls, human actions and scripts.<\/p>\n<p>It is basically a way of coordinating tasks.<\/p>\n<p>Amazon actually uses this system when a product is ordered through the Amazon website.<\/p>\n<h2>Example (Simplified)<\/h2>\n<ul>\n<li>Order is placed online using Credit Card<\/li>\n<li>Credit card is successful.<\/li>\n<li>New &#8216;job&#8217; is created and order is sent to the warehouse<\/li>\n<li>Person retrieves product from location the product is stored in<\/li>\n<li>Product is boxed with shipping label applied<\/li>\n<li>Product is shipped.<\/li>\n<\/ul>\n<h2>SWF vs SQS<\/h2>\n<ul>\n<li>SWF has a retention period of up to 1 year, vs 14 days for SQS.<\/li>\n<li>SWF presents a task-oriented API vs SQS message-oriented API<\/li>\n<li>SWF ensures that a task is assigned only once and is Never Duplicated.<\/li>\n<li>SWF keeps track of all the tasks and events in an application.\u00a0 With SQS you need to implement your won application level tracking, especially if you use multiple queues.<\/li>\n<\/ul>\n<h2>SWF Actors<\/h2>\n<ul>\n<li>Workflow Starters &#8211; An application that can initiate (start) a workflow.\u00a0 This could be an e-commerce website when placing an order or a mobile app searching for bus times.<\/li>\n<li>Deciders &#8211; Control the flow of activity tasks in a workflow execution.\u00a0 If something has finished (or failed) a Decider determines what do to next.<\/li>\n<li>Activity Workers &#8211; Carry out the activity tasks<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>https:\/\/www.udemy.com\/aws-certified-solutions-architect-associate\/learn\/v4\/t\/lecture\/2050710?start=15 What is SWF? Simple Workflow Service is a web service that makes it easy to coordinate work across distributed application components.\u00a0 SWF enables applications for a range of use cases, including media processing, web application back-ends, business process workflows, and analytics pipelines, to be designed as a coordination of tasks.\u00a0 Tasks represent invocations of ..<\/p>\n<div class=\"clear-fix\"><\/div>\n<p><a href=\"https:\/\/wiki.thomasandsofia.com\/?p=712\" title=\"read more...\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18,23],"tags":[],"class_list":["post-712","post","type-post","status-publish","format-standard","hentry","category-amazon-web-services-aws","category-application-services"],"_links":{"self":[{"href":"https:\/\/wiki.thomasandsofia.com\/index.php?rest_route=\/wp\/v2\/posts\/712","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wiki.thomasandsofia.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wiki.thomasandsofia.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wiki.thomasandsofia.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wiki.thomasandsofia.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=712"}],"version-history":[{"count":2,"href":"https:\/\/wiki.thomasandsofia.com\/index.php?rest_route=\/wp\/v2\/posts\/712\/revisions"}],"predecessor-version":[{"id":715,"href":"https:\/\/wiki.thomasandsofia.com\/index.php?rest_route=\/wp\/v2\/posts\/712\/revisions\/715"}],"wp:attachment":[{"href":"https:\/\/wiki.thomasandsofia.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=712"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wiki.thomasandsofia.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=712"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wiki.thomasandsofia.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=712"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}