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_OrangeApi Component Proposal

Proposed Component Name Zend_Service_OrangeApi
Developer Notes http://framework.zend.com/wiki/display/ZFDEV/Zend_Service_OrangeApi
Proposers Laurent ARTUSIO
Zend Liaison TBD
Revision 0.1 - 2 April 2010 : Initial Draft. (wiki revision: 5)

Table of Contents

1. Overview

Zend_Service_OrangeApi is a component that allows developers to use Orange APIs in a very simple manner.

As a telecom company, Orange provides APIs which allows developers to use powerful telco functionalities via the web. Here are some functionalities we supply : mobile devices tracking, sending SMS, establishing calls between two numbers, or organizing telephone conferences... New services regularly enrich our APIs list.

In order to make such APIs easy to use for Zend developers, Orange supplies a core Zend component.

Laurent ARTUSIO, Orange API Team

2. References

3. Component Requirements, Constraints, and Acceptance Criteria

  • This component will wrap Orange APis in a raw manner (i.e parameters names, methods names, returned values)
  • This component will be as exhaustive as possible, regarding APIs functionalities.
  • This component will not include parameters validity control, it will be done on the server side.
  • This component will relay server-side returned errors by throwing exceptions, containing errors codes and errors messages.
  • This component will allow subclassing, for any useful purpose.

4. Dependencies on Other Framework Components

  • Zend_Http_Client_Adapter_Proxy
  • Zend_Rest_Client
  • Zend_Service_Exception

5. Theory of Operation

Every Orange API is accessed through a single class which inherits the common Zend_Service_OrangeApi_Client class. Each API class is named after the official Orange API denomination. Each API class instanciation is done by passing the mandatory Orange access key ("id" parameter) to the constructor.

6. Milestones / Tasks

Describe some intermediate state of this component in terms of design notes, additional material added to this page, and / code. Note any significant dependencies here, such as, "Milestone #3 can not be completed until feature Foo has been added to ZF component XYZ." Milestones will be required for acceptance of future proposals. They are not hard, and many times you will only need to think of the first three below.

  • Milestone 1: [DONE] Set a common architecture for all APIs
  • Milestone 2: Working prototype checked into the incubator supporting use cases #1, #2, ...
  • Milestone 3: Working prototype checked into the incubator supporting use cases #3 and #4.
  • Milestone 4: Unit tests exist, work, and are checked into SVN.
  • Milestone 5: Initial documentation exists.

If a milestone is already done, begin the description with "[DONE]", like this:

  • Milestone #: [DONE] Unit tests ...

7. Class Index

  • Zend_Magic_Exception
  • Zend_Magic (factory class)
  • Zend_Magic_MindProbe
  • Zend_Magic_MindProbe_Intent
  • Zend_Magic_Action
  • Zend_Magic_CodeGen

8. Use Cases

try

Unknown macro: { $Sms = new Zend_Service_OrangeApi_Sms( $_GET['id'], $_GET['httpMethod'] ); }

catch( Exception $e )

Unknown macro: { dispException( $e ); exit(1);}

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.