The AWS Flow Framework is a collection of convenience libraries that make it faster and easier to build applications with Amazon Simple Workflow. Using the AWS Flow Framework, you write simple code and let the framework’s pre-built objects and classes handle the details of Amazon Simple Workflow APIs. The AWS Flow Framework takes care of creating and executing your application’s steps, keeps track of their progress, lets you define retry rules for when steps fail, and much more. Meanwhile, the Amazon Simple Workflow Service maintains your application’s execution state, hands out tasks to available workers, and keeps an audit history of all of your tasks.
The AWS Flow Framework has a straightforward programming model that makes it easy to build applications that perform work across many machines. With the framework, you quickly create tasks, coordinate them, and express how these tasks depend on each other -- as you would do in a typical program. For example, you can run a method in an application on a “remote” computer simply by calling a method in your application logic that is hosted on a separate “local” computer. The AWS Flow Framework takes care of the complex back-and-forth needed to execute the remote method and returns its result to the local application by using information that is stored by the Amazon Simple Workflow service. The output of any executed method can be used to connect separate parts of your logic that depend on each other. The framework allows you use straightforward syntax to express dependencies between methods with a simple “block and wait for a callback” approach. The framework also lets you handle a failure on a remote machine as if it were a local error and gives you easy ways to define how you’d like to retry important methods in your application if they happen to fail.
The AWS Flow Framework is open source, developed and managed by AWS, and available in Java and Ruby. You can use the links below to get libraries, source code, documentation, samples, and more.