Skip to end of metadata
Go to start of metadata
You are viewing an old version of this page. View the current version. Compare with Current  |   View Page History

<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[

Zend Framework: Zend_Service_GoGrid Component Proposal

Proposed Component Name Zend_Service_GoGrid
Developer Notes http://framework.zend.com/wiki/display/ZFDEV/Zend_Service_GoGrid
Proposers Enrico Zimuel
Zend Liaison TBD
Revision 1.0 - 19 April 2011: Initial Draft. (wiki revision: 6)

Table of Contents

1. Overview

Zend_Service_GoGrid is a class to manage the web services API of the GoGrid cloud services.
The GoGrid API is a proprietary API that allows GoGrid developers, admins, and users to programmatically access the functions that are available through the UI of GoGrid services.
The API is a REST-like API meaning all API calls are submitted as HTTP GET or POST requests.

In particulat the API of GoGrid offers the management of the following services:

  • job
  • load balancer
  • server
  • server image
  • ip
  • passwords
  • billing
  • utility

The Zend_Service_GoGrid component will manage all these services.
The current version of the GoGrid API is 1.8.

2. References

3. Component Requirements, Constraints, and Acceptance Criteria

  • This component will require a valid GoGrid account.
  • This component will implement full GoGrid REST API.
  • This component will throw an Exception in case of a response error.

4. Dependencies on Other Framework Components

  • Zend\Http\Client

5. Theory of Operation

Zend\Service\GoGrid is an abstract class with methods and properties common to all the GoGrid services, like the API key, the procedure to build the checksum for the API call, etc. Each subclass of Zend\Service\GoGrid implements a specific service, for instance Zend\Service\GoGrid\Job implements the job cloud services of GoGrid.
These subclasses will use the Zend\Rest\Client\RestClient to perform the API REST calls. The REST output will be managed using the XML format.

6. Milestones / Tasks

  • Milestone 1: Complete proposal
  • Milestone 2: Prototype
  • Milestone 3: Job API
  • Milestone 4: Load Balancer API
  • Milestone 5: Server API
  • Milestone 6: Server Image API
  • Milestone 7: IP API
  • Milestone 8: Password API
  • Milestome 9: Billing API
  • Milestone 10: Utility API
  • Milestone 11: Unit tests, checked into Git (ZF 2.0)
  • Milestone 12: Refactor all the classes fot the ZF 1.*
  • Milestone 13: Unit tests, checked into SVN (ZF 1.*)
  • Milestone 14: Initial documentation exists

7. Class Index

  • Zend\Service\GoGrid
  • Zend\Service\GoGrid\Job
  • Zend\Service\GoGrid\LoadBalancer
  • Zend\Service\GoGrid\Server
  • Zend\Service\GoGrid\ServerImage
  • Zend\Service\GoGrid\Ip
  • Zend\Service\GoGrid\Password
  • Zend\Service\GoGrid\Billing
  • Zend\Service\GoGrid\Utility
  • Zend\Service\GoGrid\Exception

8. Use Cases

UC-01

9. Class Skeletons

]]></ac:plain-text-body></ac:macro>

Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.