Skip to end of metadata
Go to start of metadata

Zend Framework: Zend_Service_Amazon_SimpleDB Component Proposal

Proposed Component Name Zend_Service_Amazon_SimpleDB
Developer Notes http://framework.zend.com/wiki/display/ZFDEV/Zend_Service_Amazon_SimpleDB
Proposers Wil Sinclair
Zend Liaison TBD
Revision 0.1 - 13 November 2009: Initial Draft. (wiki revision: 16)

Table of Contents

1. Overview

Zend_Service_Amazon_SimpleDB is a client library for the SimpleDB service. This service provides a semi-structured database. The client library should recreate the interface as closely as possible in PHP.

2. References

AWS SimpleDB
Simple Cloud API

3. Component Requirements, Constraints, and Acceptance Criteria

This component must provide access to the entire SimpleDB API.
This component should support streams for data upload and download.
It would be nice to have a Zend_Db_Table adapter for this library, but that is not within the scope of this proposal.
It would be nice to have a Zend_Cloud adapter for this library, but that is not within the scope of this proposal.

4. Dependencies on Other Framework Components

  • Zend_Exception
  • Zend_Crypt
  • Zend_Http

5. Theory of Operation

Users must provide their access and secret keys for AWS in constructing an instance of Zend_Service_Amazon_SimpleDB. After this class is instantiated the user may query the SimpleDB service through its set of methods. The API mirrors the SimpleDB service API, so the user can refer to the AWS documentation, in addition to the documentation for this library.

6. Milestones / Tasks

  • Milestone 1: [DONE] Create Proposal
  • Milestone 2: [DONE] Working prototype checked into the laboratory
  • Milestone 3: Collect feedback and get ZF team's recommendation
  • Milestone 4: Finalize proposal
  • Milestone 5: Commit code to trunk

7. Class Index

  • Zend_Service_Amazon_SimpleDB
  • Zend_Service_Amazon_SimpleDB_Response
  • Zend_Service_Amazon_SimpleDB_Page
  • Zend_Service_Amazon_SimpleDB_Attribute
  • Zend_Service_Amazon_SimpleDB_Exception

8. Use Cases

UC-01: Create the Client
UC-02: Create Domain
UC-03: Delete Domain
UC-04: Get Domain Metadata
UC-05: Put Attributes
UC-06: Batch Put Attributes
UC-07: Get Attributes
UC-08: List Domains

9. Class Skeletons

Labels:
simplecloud simplecloud Delete
aws aws Delete
cloud cloud Delete
nosql nosql Delete
simpledb simpledb Delete
amazon amazon Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. May 07, 2010

    Is this proposal here under active development? If I can help with the finalization, let me know.

    A few suggestions to this proposal:

    • I would remove the item name from attribute class, or is there any use I did not notice?
    • It would be great to be able to set differenz signature versions, since simpledb currently seems to have some problems handling UTF8 extended characters like °§ etc. with signature version 2
    • To avoid redundant information in the parameters of the function batchPutAttributes I would pass a normal array of items to it, not an associative one. Or better, add an Item class and then pass an array of Items to a function batchPutItems...
  2. Feb 06, 2011

    Archiving this proposal, feel free to recover it when you want to work on it again. For more details see this email.