|« PreviousNext »|
|Did this page help you? Yes | No | Tell us about it...|
This section discusses the prerequisites for developing with the Amazon Simple Workflow Service (Amazon SWF) and the development options that are available. The first step in using any AWS service is to sign up for an AWS account, discussed in detail in the following section. Once your account is set up, you have the option of developing for Amazon SWF in any of the programming languages supported by AWS. For Java and Ruby developers, the AWS Flow Framework is also available. AWS Identity and Access Management enables you to grant individuals other than the AWS account owner access to Amazon SWF resources.
To access Amazon SWF, you will need to sign up for an AWS account.
To sign up for an AWS account
Go to http://aws.amazon.com, and then click Sign Up.
Follow the on-screen instructions.
Part of the sign-up procedure involves receiving a phone call and entering a PIN using the phone keypad.
AWS sends you a confirmation email after the sign-up process is complete. To view your current account activity and manage your account at any time, go to http://aws.amazon.com, and then click My Account/Console.
When you sign up, AWS provides you with access keys that are specific to your account. Examples of these are shown here.
Access Key ID Example: AKIAIOSFODNN7EXAMPLE
Secret Access Key Example: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Your secret key is known only by you and AWS. Keep it confidential in order to protect your account. Store it securely in a safe place, and never email it to anyone. Do not share it outside your organization, even if an inquiry appears to come from AWS or Amazon.com. No one who legitimately represents Amazon will ever ask you for your secret key.
For console access, use your IAM user name and password to sign in to the AWS Management Console using the IAM sign-in page. IAM lets you securely control access to AWS services and resources in your AWS account. For more information about creating access keys, see How Do I Get Security Credentials? in the AWS General Reference.
You have a number of options for implementing your workflow solutions with the Amazon Simple Workflow Service.
Amazon SWF provides service operations that are accessible through HTTP requests. You can use these operations to communicate directly with Amazon SWF, and you can use them to develop your own libraries in any language that can communicate with Amazon SWF through HTTP.
You can develop deciders, activity workers, or workflow starters by using the service API. You can also access visibility operations through the API to develop your own monitoring and reporting tools.
Amazon SWF is supported by the AWS SDKs for Java, .NET, Node.js, PHP, PHP2, Python and Ruby, providing a convenient way to use the Amazon SWF HTTP API in the programming language of your choice.
You can develop deciders, activities, or workflow starters using the API exposed by these libraries. Additionally, you can access visibility operations through these libraries so you can develop your own Amazon SWF monitoring and reporting tools.
To download any of the AWS SDKs, go to http://aws.amazon.com/code.
For detailed information about the Amazon SWF methods in each SDK, refer to the language-specific reference documentation for the SDK you are using.
Here is a list of the available AWS SDK documentation.
The AWS Flow Framework is an enhanced SDK for writing distributed, asynchronous programs that can run as workflows on Amazon SWF. It is available for the Java and Ruby programming languages, and it provides classes that simplify writing complex distributed programs.
With the AWS Flow Framework, you use preconfigured types to map the definition of your workflow directly to methods in your program.
The AWS Flow Framework supports standard object-oriented concepts, such as exception-based error handling, which makes it easier to implement complex workflows. Programs written with the AWS Flow Framework can be created, executed, and debugged entirely within your preferred editor or IDE. For more information, see the AWS Flow Framework website.
Here are links to the AWS Flow Framework documentation:
You will need to set up a development environment appropriate to the programming language that you will use. For example, if you intend to develop for Amazon SWF with Java, you will need to install a Java development environment, such as the AWS SDK for Java, on each of your development workstations. If you use the Eclipse IDE for Java development, you might consider also installing the AWS Toolkit for Eclipse. The Toolkit is an Eclipse plug-in that adds features that are helpful for AWS development.
If your programming language requires a run-time environment, you need to set up that environment on each computer on which these processes run.
To reduce latency and to store data in a location that meets your requirements, Amazon SWF provides endpoints in different regions.
Each endpoint in Amazon SWF is completely independent; any domains, workflows and activities
you have registered in one region do not share any data or attributes with those in another. In other words, when
you register an Amazon SWF domain, workflow or activity, it exists only within the region you registered it
in. For example, you could register a domain named
SWF-Flows-1 in two different
regions, but they will share no data or attributes with each other—each acts as a completely independent
For a list of Amazon SWF endpoints, see Regions and Endpoints.