Sep 28, 2013

AWS SDK for Java - Tutorial 1 : Introduction


Amazon Web Services (AWS) is popular cloud service provider. AWS provide many choices for the developers, In this article I will focus only on AWS SDK for Java.



1. Knowledge of Core Java
2. Understanding of AWS Services
3. Eclipse IDE
4. AWS Account

AWS provide SDKs for following languages

1. Java
2. Android
3. iOS
3. .NET
4. Node.js
5. PHP
6. Python
7. Ruby

AWS SDKs supports following services, developer can manage and monitor services using SDKs

1. Compute & Networking

AWS Direct Connect
Amazon EC2
Elastic Load Balancing
Auto Scaling
Amazon EMR
Amazon Route 53
Amazon VPC

2. Storage & Content Delivery

Amazon S3
Amazon Glacier
Amazon CloudFront
AWS Storage Gateway
AWS Import/Export

3. App Services

Amazon Elastic Transcoder
Amazon SQS
Amazon SNS
Amazon SES
Amazon SWF
Amazon CloudSearch

4. Database

Amazon DynamoDB
Amazon RDS
Amazon Redshift
Amazon ElastiCache
Amazon SimpleDB

5. Deployment & Management

AWS Elastic Beanstalk
AWS CloudFormation
Amazon CloudWatch
AWS Data Pipeline
AWS Identity and Access Management
AWS OpsWorks

Useful Links for AWS SDK for Java

1. SDK for Java
2. Getting Started
3. AWS Java Blog
4. AWS Forum
5. AWS Java SDK API Document
6. AWS Java Articles

Setup AWS SDK for Java

1. Download & Install Eclipse
2. Download AWS SDK for Java from following link
3. Unzip in your favorite location/folder
4. AWS Java SDK contains API documents, libs, samples and third-party libraries.
5. Install AWS toolkit for eclipse
6. Launch Eclipse
7. Open Help→Install New Software….
8. Enter in the text box labeled “Work with” at the top of the dialog.
9. Select “AWS Toolkit for Eclipse” from the list below.
10. Click “Next.” Eclipse guides you through the remaining installation steps.

Enter AWS Eclipse Toolkit url, select aws toolkit for eclipse

List of component will install by AWS eclipse toolkit

Licenses for components

AWS Java API naming scheme

1. Amazon<Service Name>Client: Client to access Service
2. Amazon<Service Name>AsyncClient : Asynchronous class to access service
3. Describe<Service Name>Request: It is used to fetch list of ec2 or s3 etc
4. Describe<Operation Name>Result: It will provide result of requested service data
5. delete<Operation Name>: use to remove stuff, normally it return void
6. create<Operation Name>: used to create something in service