SlideShare a Scribd company logo
Amazon S3 – An SOA

By: Minam Ulhaq
What is SOA?

SOA – Service Oriented Architecture

S – Service is basically an independent
component that has a certain function.
(e.g. Viewing online bank statement,
filling out an app for an account).
Emphasis on modularity and loose
coupling (implementation hidden)

A – Architecture basically means this is
not a technology but an approach to
software design
SOA – Service Oriented Architecture SOA.
What is SOA?

How do services talk to eachother?

In the past through COMs or ORBs, but
recent SOAs using Web Service (i.e. XML
based messaging)

Adhoc philosophy

Platform, language, OS independent.

More recently, services are being offered
for a price, like in the travel industry,
financing, using off the shelf software
services
What is Amazon S3?

S3 = Simple Storage Service

A SOA which provides online storage
using web services.

Allows read, write, and delete
permissions on objects

Uses REST and SOAP protocols for
messaging, so you can use various
development toolkits with S3.
How it Works

Store data on Amazon’s distributed system
containing multiple servers within Amazon’s
data center locations

Data takes time to propagate

Can store it in North America or Europe

Amazon doesn’t offer you a GUI based tool to
access your data. You can use one of the
several tools online or build one through APIs
Amazon S3 - Components

Objects

The information you're storing.

Consist of

metadata

System Metadata – Request ID Headers, useful for
Amazon staff

User Metadata - 2kb Max. Date last modified, file
size, or anything else you would like.

Data (5GB Max)
Amazon S3 - Components

Buckets

Container.

Each object is inside of a container.

Buckets are owned by an AWS account
 http://mybucket.s3.amazonaws.com

If you have a file called hi.txt in the above
bucket, it would be stored in
http://mybucket.s3.amazonaws.com/hi.txt
Amazon S3 - Components

Keys

Files are represented as unique keys
within a bucket.

In reality the key is basically your file
name

Example:
http://bucket.s3.amazonaws.com/file.txt

file.txt is the unique key
Amazon S3 - Operations

Use either the REST or SOAP API to do
the following and more

Create a bucket

Write an object

Read an object

Delete an object (Be careful not to rapidly
create and delete an object)

List the keys (files)
Amazon S3 – Build your own APP
Java Example Operations

// Access Key – Identified you as the requester. Associated with your
// account, this is sent in plaintext in the message
//Secret Access Key – Used to generate a signature, not sent as
//plaintext
AWSAuthConnection conn =
new AWSAuthConnection("[aws-access-key-id]", "[aws-secret-
access-key-id]");
Response response = conn.createBucket("[bucket-name]", null);
if (response.connection.getResponseCode() == 200)
{
// bucket was created
}
else
{
// something bad happened
}
Amazon S3 – Java Example Operations

// simple list
ListBucketResponse response =
conn.listBucket("[bucket-name]", null, null, null, null);
List objects = response.entries;
for (Iterator it = objects.iterator(); it.hasNext(); ) {
ListEntry entry = (ListEntry)it.next();
System.out.println("key = " + entry.key + " size = " + entry.size);
}
// list only things starting with "foo"
response = conn.listBucket("[bucket-name]", "foo", null, null, null);
// list only things that come after "bar" alphabetically
response = conn.listBucket("[bucket-name]", null, "bar", null, null);
// only list 3 things
response = conn.listBucket("[bucket-name]", null, null, new
Integer(3), null);
Amazon S3 – Your Data

Put a new object

Direct Internet Message Encapsulation (DIME) is a specification for sending and receiving SOAP messages along with
additional attachments

//HEADER
00001 1 0 0 0010 000000000000000000000000000000000000 000000000010100000000000000000000000000110110101
http://schemas.xmlsoap.org/soap/envelope
<soap-env:Envelope
xmlns:soap-env=http://schemas.xmlsoap.org/soap/envelope/
xmlns:msg=http://example.com/DimeExample/Messages/
xmlns:ref= http://schemas.xmlsoap.org/ws/2002/04/reference/
<soap-env:Body>
<msg:GetMediaFile>
<msg:fileName>myMediaFile.mpg
</msg:fileName>
<msg:file ref:location=
"uuid:F2DA3C9C-74D3-4A46-B925-B150D62D9483" />
</msg:GetMediaFile>
</soap-env:Body>
</soap-env:Envelope>
-------------------------------------------------------------------------
00001 0 0 1 0001 000000000000000000000000000000101001 000000000000101000000000000101011010101011100000
uuid:F2DA3C9C-74D3-4A46-B925-B150D62D9483
video/mpeg
<<First 1.42 MB of binary data for myMediaFile.mpg>>
-------------------------------------------------------------------------
00001 0 1 0 0000 000000000000000000000000000000000000 000000000000000000000000000010000110110001000000
<<Remaining 552 KB of binary data for myMediaFile.mpg>>
Amazon S3 – Other Supported Languages

C#, Perl, PHP, Ruby, Python
Amazon S3 – Other Options

Redirect Routing when route error
Cost

United States

Storage

$0.150 per GB – first 50 TB / month of storage used

$0.140 per GB – next 50 TB / month of storage used

$0.130 per GB – next 400 TB /month of storage used

$0.120 per GB – storage used / month over 500 TB

Data Transfer

$0.100 per GB – all data transfer in

$0.170 per GB – first 10 TB / month data transfer out

$0.130 per GB – next 40 TB / month data transfer out

$0.110 per GB – next 100 TB / month data transfer out

$0.100 per GB – data transfer out / month over 150 TB

Requests

$0.01 per 1,000 PUT, COPY, POST, or LIST requests

$0.01 per 10,000 GET and all other requests*
* No charge for delete requests
Summary

SOA allows us to access services we
want without having to worry about
language, platform, OS diversity

Amazon S3 is an easy to use service
that allows us to store data on their
facilities for a minimal cost, potentially
using it for things like torrenting, web
hosting, ftp app, online backups, etc.
References

Amazon S3 Documentation
http://docs.amazonwebservices.com/AmazonS
3/2006-03-01/gsg/

Programming Amazon Web Services.
http://books.google.com/books?
id=xIauw5xWTO8C&pg=PA107&dq=amazon+s
3&ei=Qbs8Scn4HpH6lQTAmeTvCg

Wikipedia: Service Oriented Architecture.
http://en.wikipedia.org/wiki/Service-
oriented_architecture

More Related Content

PPT
Amazon
PPT
Building Highly Scalable Web Applications
PDF
AmazonS3 & Rails
PPTX
Introduction to Amazon S3
PPT
Adobe Flex4
KEY
CSG 2012
PPTX
Aws primer Amazon Web Services
PDF
Joomla : Akeeba backup and Amazon S3
Amazon
Building Highly Scalable Web Applications
AmazonS3 & Rails
Introduction to Amazon S3
Adobe Flex4
CSG 2012
Aws primer Amazon Web Services
Joomla : Akeeba backup and Amazon S3

Similar to SOA – Service Oriented Architecture SOA. (20)

PPTX
Amazone s3 in mule
PPTX
Web Service Basics and NWS Setup
PDF
Joomla : Akeeba backup and Amazon S3 (new version)
PPTX
Containerless in the Cloud with AWS Lambda
PPT
Alfresco As SharePoint Alternative - Architecture Overview
PPT
StartPad Countdown 8 - Amazon Web Services and You
PDF
Automated security analysis of aws clouds v1.0
PPTX
Aws meetup building_lambda
PPTX
Soap vs rest
PPT
Silverlight Development & The Model-View-ViewModel Pattern
PDF
Cloud Lesson_04_Amazon_Storage_Services.pdf
PDF
Exchange of data over internet using web service(e.g., soap and rest) in SAS ...
PPT
Intro to Amazon S3
ODP
Amazon WS Overview
PDF
Introduction to Amazon Web Services
PPTX
SAP integration sample payloads for Azure Logic Apps
PDF
AWS Certified Solutions Architect - Associate SAA-C03 Dumps
DOCX
C# Unit5 Notes
PPTX
Introduction to WebServices
PPT
Sharepoint Online
Amazone s3 in mule
Web Service Basics and NWS Setup
Joomla : Akeeba backup and Amazon S3 (new version)
Containerless in the Cloud with AWS Lambda
Alfresco As SharePoint Alternative - Architecture Overview
StartPad Countdown 8 - Amazon Web Services and You
Automated security analysis of aws clouds v1.0
Aws meetup building_lambda
Soap vs rest
Silverlight Development & The Model-View-ViewModel Pattern
Cloud Lesson_04_Amazon_Storage_Services.pdf
Exchange of data over internet using web service(e.g., soap and rest) in SAS ...
Intro to Amazon S3
Amazon WS Overview
Introduction to Amazon Web Services
SAP integration sample payloads for Azure Logic Apps
AWS Certified Solutions Architect - Associate SAA-C03 Dumps
C# Unit5 Notes
Introduction to WebServices
Sharepoint Online
Ad

Recently uploaded (20)

PPTX
UI UX Elective Course S1 Sistem Informasi RPS.pptx
PDF
intro_to_rust.pptx_123456789012446789.pdf
PDF
Architecture Design Portfolio- VICTOR OKUTU
PDF
321 LIBRARY DESIGN.pdf43354445t6556t5656
PDF
2025_AIFG_Akane_Kikuchi_Empathy_Design.PDF
PPTX
Bitcoin predictor project presentation
PPTX
Evolution_of_Computing_Presentation (1).pptx
PPTX
Necrosgwjskdnbsjdmdndmkdndndnmdndndkdmdndkdkndmdmis.pptx
PPTX
VERNACULAR_DESIGN_PPT FINAL WITH PROPOSED PLAN.pptx
PPT
aksharma-dfs.pptgfgfgdfgdgdfgdfgdgdrgdgdgdgdgdgadgdgd
PPTX
Introduction to Building Information Modeling
PPTX
22CDH01-V3-UNIT III-UX-UI for Immersive Design
PDF
trenching-standard-drawings procedure rev
PPTX
timber basics in structure mechanics (dos)
PDF
Trends That Shape Graphic Design Services
PPTX
2. Competency Based Interviewing - September'16.pptx
PPTX
Presentation.pptx anemia in pregnancy in
PDF
Test slideshare presentation for blog post
PPTX
Acoustics new for. Sound insulation and absorber
PPTX
Presentation1.pptxnmnmnmnjhjhkjkjkkjkjjk
UI UX Elective Course S1 Sistem Informasi RPS.pptx
intro_to_rust.pptx_123456789012446789.pdf
Architecture Design Portfolio- VICTOR OKUTU
321 LIBRARY DESIGN.pdf43354445t6556t5656
2025_AIFG_Akane_Kikuchi_Empathy_Design.PDF
Bitcoin predictor project presentation
Evolution_of_Computing_Presentation (1).pptx
Necrosgwjskdnbsjdmdndmkdndndnmdndndkdmdndkdkndmdmis.pptx
VERNACULAR_DESIGN_PPT FINAL WITH PROPOSED PLAN.pptx
aksharma-dfs.pptgfgfgdfgdgdfgdfgdgdrgdgdgdgdgdgadgdgd
Introduction to Building Information Modeling
22CDH01-V3-UNIT III-UX-UI for Immersive Design
trenching-standard-drawings procedure rev
timber basics in structure mechanics (dos)
Trends That Shape Graphic Design Services
2. Competency Based Interviewing - September'16.pptx
Presentation.pptx anemia in pregnancy in
Test slideshare presentation for blog post
Acoustics new for. Sound insulation and absorber
Presentation1.pptxnmnmnmnjhjhkjkjkkjkjjk
Ad

SOA – Service Oriented Architecture SOA.

  • 1. Amazon S3 – An SOA  By: Minam Ulhaq
  • 2. What is SOA?  SOA – Service Oriented Architecture  S – Service is basically an independent component that has a certain function. (e.g. Viewing online bank statement, filling out an app for an account). Emphasis on modularity and loose coupling (implementation hidden)  A – Architecture basically means this is not a technology but an approach to software design
  • 4. What is SOA?  How do services talk to eachother?  In the past through COMs or ORBs, but recent SOAs using Web Service (i.e. XML based messaging)  Adhoc philosophy  Platform, language, OS independent.  More recently, services are being offered for a price, like in the travel industry, financing, using off the shelf software services
  • 5. What is Amazon S3?  S3 = Simple Storage Service  A SOA which provides online storage using web services.  Allows read, write, and delete permissions on objects  Uses REST and SOAP protocols for messaging, so you can use various development toolkits with S3.
  • 6. How it Works  Store data on Amazon’s distributed system containing multiple servers within Amazon’s data center locations  Data takes time to propagate  Can store it in North America or Europe  Amazon doesn’t offer you a GUI based tool to access your data. You can use one of the several tools online or build one through APIs
  • 7. Amazon S3 - Components  Objects  The information you're storing.  Consist of  metadata  System Metadata – Request ID Headers, useful for Amazon staff  User Metadata - 2kb Max. Date last modified, file size, or anything else you would like.  Data (5GB Max)
  • 8. Amazon S3 - Components  Buckets  Container.  Each object is inside of a container.  Buckets are owned by an AWS account  http://mybucket.s3.amazonaws.com  If you have a file called hi.txt in the above bucket, it would be stored in http://mybucket.s3.amazonaws.com/hi.txt
  • 9. Amazon S3 - Components  Keys  Files are represented as unique keys within a bucket.  In reality the key is basically your file name  Example: http://bucket.s3.amazonaws.com/file.txt  file.txt is the unique key
  • 10. Amazon S3 - Operations  Use either the REST or SOAP API to do the following and more  Create a bucket  Write an object  Read an object  Delete an object (Be careful not to rapidly create and delete an object)  List the keys (files)
  • 11. Amazon S3 – Build your own APP Java Example Operations  // Access Key – Identified you as the requester. Associated with your // account, this is sent in plaintext in the message //Secret Access Key – Used to generate a signature, not sent as //plaintext AWSAuthConnection conn = new AWSAuthConnection("[aws-access-key-id]", "[aws-secret- access-key-id]"); Response response = conn.createBucket("[bucket-name]", null); if (response.connection.getResponseCode() == 200) { // bucket was created } else { // something bad happened }
  • 12. Amazon S3 – Java Example Operations  // simple list ListBucketResponse response = conn.listBucket("[bucket-name]", null, null, null, null); List objects = response.entries; for (Iterator it = objects.iterator(); it.hasNext(); ) { ListEntry entry = (ListEntry)it.next(); System.out.println("key = " + entry.key + " size = " + entry.size); } // list only things starting with "foo" response = conn.listBucket("[bucket-name]", "foo", null, null, null); // list only things that come after "bar" alphabetically response = conn.listBucket("[bucket-name]", null, "bar", null, null); // only list 3 things response = conn.listBucket("[bucket-name]", null, null, new Integer(3), null);
  • 13. Amazon S3 – Your Data  Put a new object  Direct Internet Message Encapsulation (DIME) is a specification for sending and receiving SOAP messages along with additional attachments  //HEADER 00001 1 0 0 0010 000000000000000000000000000000000000 000000000010100000000000000000000000000110110101 http://schemas.xmlsoap.org/soap/envelope <soap-env:Envelope xmlns:soap-env=http://schemas.xmlsoap.org/soap/envelope/ xmlns:msg=http://example.com/DimeExample/Messages/ xmlns:ref= http://schemas.xmlsoap.org/ws/2002/04/reference/ <soap-env:Body> <msg:GetMediaFile> <msg:fileName>myMediaFile.mpg </msg:fileName> <msg:file ref:location= "uuid:F2DA3C9C-74D3-4A46-B925-B150D62D9483" /> </msg:GetMediaFile> </soap-env:Body> </soap-env:Envelope> ------------------------------------------------------------------------- 00001 0 0 1 0001 000000000000000000000000000000101001 000000000000101000000000000101011010101011100000 uuid:F2DA3C9C-74D3-4A46-B925-B150D62D9483 video/mpeg <<First 1.42 MB of binary data for myMediaFile.mpg>> ------------------------------------------------------------------------- 00001 0 1 0 0000 000000000000000000000000000000000000 000000000000000000000000000010000110110001000000 <<Remaining 552 KB of binary data for myMediaFile.mpg>>
  • 14. Amazon S3 – Other Supported Languages  C#, Perl, PHP, Ruby, Python
  • 15. Amazon S3 – Other Options  Redirect Routing when route error
  • 16. Cost  United States  Storage  $0.150 per GB – first 50 TB / month of storage used  $0.140 per GB – next 50 TB / month of storage used  $0.130 per GB – next 400 TB /month of storage used  $0.120 per GB – storage used / month over 500 TB  Data Transfer  $0.100 per GB – all data transfer in  $0.170 per GB – first 10 TB / month data transfer out  $0.130 per GB – next 40 TB / month data transfer out  $0.110 per GB – next 100 TB / month data transfer out  $0.100 per GB – data transfer out / month over 150 TB  Requests  $0.01 per 1,000 PUT, COPY, POST, or LIST requests  $0.01 per 10,000 GET and all other requests* * No charge for delete requests
  • 17. Summary  SOA allows us to access services we want without having to worry about language, platform, OS diversity  Amazon S3 is an easy to use service that allows us to store data on their facilities for a minimal cost, potentially using it for things like torrenting, web hosting, ftp app, online backups, etc.
  • 18. References  Amazon S3 Documentation http://docs.amazonwebservices.com/AmazonS 3/2006-03-01/gsg/  Programming Amazon Web Services. http://books.google.com/books? id=xIauw5xWTO8C&pg=PA107&dq=amazon+s 3&ei=Qbs8Scn4HpH6lQTAmeTvCg  Wikipedia: Service Oriented Architecture. http://en.wikipedia.org/wiki/Service- oriented_architecture