<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[
This component will provide lightweight wrappers for the StrikeIron SOAP services, These wrappers will abstract away the SOAP interface and provide a familiar and easy-to-use 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
in the same spirit of other ZF components like Zend_Service_Amazon.
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.
1 Comment
comments.show.hideMay 25, 2007
Bill Karwin
<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>