AWSClientLibraries

Differences between revisions 1 and 2
Revision 1 as of 2009-11-24 20:57:40
Size: 2608
Editor: dsl-173-206-1-210
Comment:
Revision 2 as of 2009-11-24 21:57:28
Size: 5554
Editor: dsl-173-206-1-210
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
## https://wiki.ubuntu.com/AWSClientLibraries
Line 10: Line 11:
This should provide an overview of the issue/functionality/change proposed here. Focus here on what will actually be DONE, summarising that so that other people don't have to read the whole spec. See also CategorySpec for examples. ## This should provide an overview of the issue/functionality/change proposed here. Focus here on what will actually be DONE, summarising that so that other people don't have to read the whole spec. See also CategorySpec for examples.

Relevant client libraries for Amazon Web Services are available to developers writing applications based on Ubuntu and leveraging AWS.
Line 14: Line 17:
This section should include a paragraph describing the end-user impact of this change. It is meant to be included in the release notes of the first release in which it is implemented. (Not all of these will actually be included in the release notes, at the release manager's discretion; but writing them is a useful exercise.) ## This section should include a paragraph describing the end-user impact of this change. It is meant to be included in the release notes of the first release in which it is implemented. (Not all of these will actually be included in the release notes, at the release manager's discretion; but writing them is a useful exercise.)
Line 16: Line 19:
It is mandatory. ## It is mandatory.

List of services that have client libraries included in Lucid.
Line 20: Line 25:
This should cover the _why_: why is this change being proposed, what justifies it, where we see this justified. ## This should cover the _why_: why is this change being proposed, what justifies it, where we see this justified.

Amazon Web Services provides multiple infrastructure services to clients usually via low-level APIs. Writing applications for these services can be facilitated by providing libraries for different programming languages.
Line 23: Line 30:

 * Albert, a java developer, writes a web application to be deployed on EC2 and uses S3 to store objects. He uses the java client libraries for EC2 and S3 to speed up the application development.
 * Chris, a twisted guru, develops some custom game engine to be hosted on EC2. He can import a range of twisted services to connect to the different AWS services.
Line 28: Line 38:
You can have subsections that better describe specific parts of the issue. ## You can have subsections that better describe specific parts of the issue.

=== Available libraries ===

Provide a link to the upstream project website when adding a client library. If the package is already available in ubuntu use green as the cell background color and provide the name of the package.

|| AWS Services || Python || Perl || Php || Java || Ruby || Twisted ||
|| EC2 ||<#00FF00> python-boto ||<#00FF00> libnet-amazon-ec2-perl || || [[http://code.google.com/p/typica/|typica]] || || [[https://code.launchpad.net/txaws|txaws]] ||
|| S3 ||<#00FF00> python-boto ||<#00FF00> libnet-amazon-s3-perl || || [[https://jets3t.dev.java.net/|jets3t]] || || [[https://code.launchpad.net/txaws|txaws]] ||
|| SimpleDB || || || || [[http://code.google.com/p/typica/|typica]] || || ||
|| Cloud Front || || || || [[https://jets3t.dev.java.net/|jets3t]] || || ||
|| SQS ||<#00FF00> python-boto || || || [[http://code.google.com/p/typica/|typica]] || || ||
|| Map Reduce || || || || || || ||
|| RDS || || || || || || ||
|| Dev Pay || || || || [[http://code.google.com/p/typica/|typica]] || || ||

=== Packaging work ===

==== [[http://code.google.com/p/typica/|Typica]] ====

Dependencies:
 * [[http://commons.apache.org/downloads/download_logging.cgi|commons logging]]: [[http://packages.ubuntu.com/lucid/libcommons-logging-java|libcommons-logging-java]] - 1.1.1-5
 * [[https://jaxb.dev.java.net/servlets/ProjectDocumentList?folderID=6746&expandFolder=6746&folderID=3952|JAXB]]:
 * [[http://hc.apache.org/downloads.cgi|commons-httpclient]]: [[http://packages.ubuntu.com/lucid/libcommons-httpclient-java|libcommons-httpclient-java]] - 3.1-8
 * [[http://commons.apache.org/downloads/download_codec.cgi|commons-codec]]: [[http://packages.ubuntu.com/lucid/libcommons-codec-java|libcommons-codec-java]] - 1.4-1


==== [[https://jets3t.dev.java.net/|jets3t]] ====

Dependencies:
 * [[http://jakarta.apache.org/commons/httpclient/|HttpClient]] (3.1): [[http://packages.ubuntu.com/lucid/libcommons-httpclient-java|libcommons-httpclient-java]] - 3.1-8
 * [[http://logging.apache.org/log4j/docs/|Log4J]]: [[http://packages.ubuntu.com/lucid/liblog4j1.2-java|liblog4j1.2-java]] - 1.2.15
 * [[http://www.centerkey.com/java/browser/|Bare Bones Browser Launcher]]
 * [[http://icon-king.com/|Nuvola Icon Library]]:
 * [[http://jug.safehaus.org/Home|Java Uuid Generator]]:
 * [[http://ws.apache.org/axis/|Apache Axis]] (1.4): [[http://packages.ubuntu.com/lucid/libaxis-java|libaxis-java]] - 1.4
 * [[http://www.bouncycastle.org/|Bouncy Castle Crypto APIs]]:
 * [[http://code.google.com/p/java-xmlbuilder/|Java XMLBuilder]]:
Line 32: Line 79:
This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like: See the [[UbuntuSpec:server-lucid-aws-client-libraries|blueprint]] work items.
Line 34: Line 81:
=== UI Changes === = Test/Demo Plan ==
Line 36: Line 83:
Should cover changes required to the UI, or specific UI that is required to implement this ## It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during testing, and to show off after release. Please add an entry to http://testcases.qa.ubuntu.com/Coverage/NewFeatures for tracking test coverage.
Line 38: Line 85:
=== Code Changes ===

Code changes should include an overview of what needs to change, and in some cases even the specific details.

=== Migration ===

Include:
 * data migration, if any
 * redirects from old URLs to new ones, if any
 * how users will be pointed to the new way of doing things, if necessary.

== Test/Demo Plan ==

It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during testing, and to show off after release. Please add an entry to http://testcases.qa.ubuntu.com/Coverage/NewFeatures for tracking test coverage.

This need not be added or completed until the specification is nearing beta.
## This need not be added or completed until the specification is nearing beta.
Line 57: Line 89:
This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved. ## This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved.
Line 61: Line 93:
Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected. ## Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.

Summary

Relevant client libraries for Amazon Web Services are available to developers writing applications based on Ubuntu and leveraging AWS.

Release Note

List of services that have client libraries included in Lucid.

Rationale

Amazon Web Services provides multiple infrastructure services to clients usually via low-level APIs. Writing applications for these services can be facilitated by providing libraries for different programming languages.

User stories

  • Albert, a java developer, writes a web application to be deployed on EC2 and uses S3 to store objects. He uses the java client libraries for EC2 and S3 to speed up the application development.
  • Chris, a twisted guru, develops some custom game engine to be hosted on EC2. He can import a range of twisted services to connect to the different AWS services.

Assumptions

Design

Available libraries

Provide a link to the upstream project website when adding a client library. If the package is already available in ubuntu use green as the cell background color and provide the name of the package.

AWS Services

Python

Perl

Php

Java

Ruby

Twisted

EC2

python-boto

libnet-amazon-ec2-perl

typica

txaws

S3

python-boto

libnet-amazon-s3-perl

jets3t

txaws

SimpleDB

typica

Cloud Front

jets3t

SQS

python-boto

typica

Map Reduce

RDS

Dev Pay

typica

Packaging work

[[http://code.google.com/p/typica/|Typica]]

Dependencies:

[[https://jets3t.dev.java.net/|jets3t]]

Dependencies:

Implementation

See the blueprint work items.

= Test/Demo Plan ==

Unresolved issues

BoF agenda and discussion


CategorySpec

AWSClientLibraries (last edited 2012-07-06 18:34:21 by c-67-171-10-119)