##(see the SpecSpec for an explanation) ## https://wiki.ubuntu.com/AWSClientLibraries * '''Launchpad Entry''': UbuntuSpec:server-lucid-aws-client-libraries * '''Created''': MathiasGug * '''Contributors''': Ryan Parman * '''Packages affected''': == Summary == ## 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. == Release Note == ## 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.) ## It is mandatory. List of services that have client libraries included in Lucid. == Rationale == ## 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. == 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 == ## You can have subsections that better describe specific parts of the issue. === Available Libraries (2012.07.06) === AWS has officially-supported SDKs for Java, .NET, PHP, Python, Ruby, iOS and Android -- all released under an Apache 2.0 license. * https://github.com/amazonwebservices/ * https://github.com/boto/boto/ === 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 || CLI || || EC2 ||<#00FF00> python-boto ||<#00FF00> libnet-amazon-ec2-perl ||<#00FF00>libphp-cloudfusion || [[http://code.google.com/p/typica/|typica]], [[http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1674&categoryID=187|AWS java library]] ||<#00FF00>libright-aws-ruby||<#00FF00> python-txaws || [[http://developer.amazonwebservices.com/connect/entry.jspa?externalID=739&categoryID=187|Simple CLI for EC2 and S3]] || || S3 ||<#00FF00> python-boto ||<#00FF00> libnet-amazon-s3-perl ||<#00FF00>libphp-cloudfusion|| [[https://jets3t.dev.java.net/|jets3t]] ||<#00FF00>librigh-aws-ruby||<#00FF00>python-txaws|| [[http://developer.amazonwebservices.com/connect/entry.jspa?externalID=739&categoryID=187|Simple CLI for EC2 and S3]] || || SimpleDB ||<#00FF00> python-boto || [[http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1136|Amazon::SimpleDB]] - Not on CPAN! '''OR''' [[http://search.cpan.org/~rizen/SimpleDB-Class/|SimpleDB::Class]] (quite new) ||<#00FF00>libphp-cloudfusion|| [[http://code.google.com/p/typica/|typica]] ||<#00FF00>libright-aws-ruby|| || || || Cloud Front ||<#00FF00> python-boto || None found, can be contributed by perl community ||<#00FF00>libphp-cloudfusion|| [[https://jets3t.dev.java.net/|jets3t]] ||<#00FF00>libright-aws-ruby|| || || || SQS ||<#00FF00> python-boto ||<#00FF00>libamazon-sqs-simple-perl||<#00FF00>libphp-cloudfusion || [[http://code.google.com/p/typica/|typica]] ||<#00FF00>libright-aws-ruby|| || || || Map Reduce || || [[http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2309&categoryID=262|Amazon::ElasticMapReduce]] - Not on CPAN! || [[http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2306&categoryID=273|AWS-PHP-Elastic-Map-Reduce]] || [[http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2305&categoryID=273|AWS java library]] || || || [[http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2264&categoryID=273|MapReduce client]] || || RDS || || [[http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2943&categoryID=293|Amazon::RDS]] - Not on CPAN! || || || || || || || Dev Pay* || || None found || || [[http://code.google.com/p/typica/|typica]] || || || || || EC2 Cloud Watch || || [[http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2518&categoryID=187|AWS Perl Library for Amazon CloudWatch]] || [[http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2519&categoryID=187|AWS Php library for Amazon CloudWatch]] || [[http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2517&categoryID=187|AWS Java library for Amazon CloudWatch]] || || || || || EC2 Elastic Load Balancing || || [[http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2524&categoryID=187|AWS perl library]] || [[http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2525&categoryID=187|AWS Php library]] || [[http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2523&categoryID=187|AWS Java library]] || || || || || EC2 Auto Scaling || || [[http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2512&categoryID=187|AWS perl library]] || [[http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2513&categoryID=187|AWS php library]] || [[http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2511&categoryID=187|AWS java library]] || || || || || Flexible Payments Service || [[http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1332&categoryID=191|FPyS]] || || [[http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1691&categoryID=191|AWS SimpleFPS]] || [[http://developer.amazonwebservices.com/connect/entry.jspa?externalID=903&categoryID=191|AWS java library]] || [[http://developer.amazonwebservices.com/connect/entry.jspa?externalID=905&categoryID=191|AWS Ruby library]] || || * Dev Pay is only available in the [[http://aws.amazon.com/devpay/faqs/#What_are_the_restrictions_on_the_use_of_Amazon_DevPay|US]] NB: There is a *different* Amazon::SimpleDB on CPAN which is not high quality, not maintained, and the author did not resp r Amazon's package to be renamed to Net::Amazon::SimpleDB and added to CPAN and then libnet-amazon-simpledb in Ubuntu. [[http://developer.amazonwebservices.com/connect/kbcategory.jspa?categoryID=173|AWS Sample and Code library]] === Packaging work === ==== Typica ==== [[http://code.google.com/p/typica/|Typica website]] Dependencies: || Upstream || Ubuntu packages - version || || [[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 || ==== jets3t ==== [[https://jets3t.dev.java.net/|jets3t website]] Dependencies: ||Upstream || Ubuntu packages - version || ||[[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]] (S1) || || ||[[http://icon-king.com/|Nuvola Icon Library]] (S1) || || ||[[http://jug.safehaus.org/Home|Java Uuid Generator]] (S1) || || ||[[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]] (S2) || || ||[[http://code.google.com/p/java-xmlbuilder/|Java XMLBuilder]] (S2) || || == Implementation == See the [[UbuntuSpec:server-lucid-aws-client-libraries|blueprint]] work items. == 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. == Unresolved issues == ## 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. == BoF agenda and discussion == ## 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. ---- CategorySpec