Skip to end of metadata
Go to start of metadata

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

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

Zend Framework: Zend_Service_StrikeIron Component Proposal

Proposed Component Name Zend_Service_StrikeIron
Developer Notes http://framework.zend.com/wiki/display/ZFDEV/Zend_Service_StrikeIron
Proposers Mike Naberezny, under direction of Dave Nielsen (StrikeIron)
Revision 1.0 - 25 May 2007: First release. (wiki revision: 22)

Table of Contents

1. Overview

This component will provide lightweight wrappers for the StrikeIron SOAP services,
in the same spirit of other ZF components like Zend_Service_Amazon.

These wrappers will abstract away the SOAP interface and provide a familiar and easy-to-use
PHP interface for the StrikeIron services that will be accessible to more PHP developers.

2. References

3. Component Requirements, Constraints, and Acceptance Criteria

  • The PHP 5 SOAP extension must be installed and enabled.
  • The component must be simpler than just directly using the PHP 5 SOAPClient
    and must provide clear benefit over doing so.
  • The component will provide a single point of authentication for any of the
    StrikeIron services it wraps, similar to existing ZF services like Zend_Gdata.

4. Dependencies on Other Framework Components

  • Zend_Exception

5. Theory of Operation

StrikeIron provides many different, loosely coupled web services. This component
will wrap three of these services that are available on a free trail bases.

The component will include a simple base class, Zend_Service_StrikeIron, that will
serve as a single point of authentication and a provide a factory method for
instantiating preconfigured clients for the different StrikeIron services.

The component will be structured such that adding additional services in the future
will be straightforward.

6. Milestones / Tasks

  • Iteration 1 - StrikeIron Base Class
  • Iteration 2 - ZIP Code Information Service
  • Iteration 3 - US Address Verification Service
  • Iteration 4 - Sales and Use Tax Basic Service
  • Iteration 5 - Documentation (DocBook)

Unit tests will be written as an integral and ongoing part of the
development process so no separate iteration is needed for them.

7. Class Index

  • Zend_Service_StrikeIron
  • Zend_Service_StrikeIron_ZipCodeInfo
  • Zend_Service_StrikeIron_USAddressVerification
  • Zend_Service_StrikeIron_SalesUseTaxBasic

8. Use Cases

UC-01 ZIP Code Information Service (free)

A website requires users to provide their address before viewing Premium
areas of the website. The website uses the StrikeIron Zip Code Info Service
to verify that the city/state are real before providing access to the user.
In other words, this service helps prevent users from using "123 Main
Street, AnyTown, CA USA". Only the city/state are verified. If the website
wants to verify the entire address, then it can use "StrikeIron's US Address
Verification Service" (see below).

UC-02 US Address Verification Service (paid)

Same scenario as above, but website wants to confirm street address as
well.

UC-03 Sales and Use Tax Basic Service (paid)

During checkout, some states require ecommerce merchants to charge sales
tax. The website uses "Sales and Use Tax Basic Service" to calculate the
City, County and State tax based on the user's zip code. The web service
provides a 'total sales tax' value which is used to calculate the tax
charged by the merchant to the customer.

9. Class Skeletons

Class skeletons will not be proposed at this stage. When development begins,
behavioral requirements of the objects will be expressed as tests and the
classes will then be developed based on these requirements using TDD.

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

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

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

    <ac:macro ac:name="note"><ac:parameter ac:name="title">Zend Comment</ac:parameter><ac:rich-text-body>
    <p>This component is approved for development in the Zend Framework incubator.</p></ac:rich-text-body></ac:macro>