Archives
- January 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- January 2008
- December 2007
- November 2007
- August 2007
- May 2007
- April 2007
- Plugin work! Wait a links!
-
Recent Posts
Monthly Archives for June 2009
Version Parameters for Web Services - Lorna Mitchell
This is a mini series on points to consider when designing and building web services. So far there have been posts on error feedback for web services, auth mechanisms for web services and saving state in web services.
When designing a service API, there are lots of things you can do right, and plenty of pitfalls. Most of both of these are completely specific to the situation you are designing for but I have one tip that has helped me out in a number of scenarios: Include a version parameter with every method call.
This is invaluable, not just in development where you can increment when you change the API (which could be quite often!) but also in production. For example if you want to extend or alter an existing service, you can identify which version of the API the client thinks it is accessing and behave accordingly - either letting them know there's a new version, or preserving previous behaviours. Its never ideal to change the API of an existing service but sometimes it makes more sense to do so, especially if its just to include an additional parameter or something else quite minor, but which does cause an API change.
When you publish your shiny new service which does everything you need (including the hoovering), it might seem a bit redundant to require a field which is always set to the string "1.0" ... but in 18 months time, you'll be patting yourself on the back.
When designing a service API, there are lots of things you can do right, and plenty of pitfalls. Most of both of these are completely specific to the situation you are designing for but I have one tip that has helped me out in a number of scenarios: Include a version parameter with every method call.
This is invaluable, not just in development where you can increment when you change the API (which could be quite often!) but also in production. For example if you want to extend or alter an existing service, you can identify which version of the API the client thinks it is accessing and behave accordingly - either letting them know there's a new version, or preserving previous behaviours. Its never ideal to change the API of an existing service but sometimes it makes more sense to do so, especially if its just to include an additional parameter or something else quite minor, but which does cause an API change.
When you publish your shiny new service which does everything you need (including the hoovering), it might seem a bit redundant to require a field which is always set to the string "1.0" ... but in 18 months time, you'll be patting yourself on the back.
Zend Developer Zone: Contest: Free ZendCon Passes for User Groups!
The Zend Developer Zone (and S&S) have announced a contest giving away five tickets to this year's ZendCon conference. How can you enter? Read on...
Zend and S&S support local PHP user groups, and will be providing a limited number of free ZendCon passes for user groups to distribute to active members who might not have the financial wherewithal otherwise.
There'll be five passes handed out to user groups - one to each of the five selected groups. To enteryour user group, get one of the organizers to submit a bit of information about the group and reasons why they think the group should be given a pass. Full details on what needs to be sent and where to set it all off to can be found in the full post. Good luck!
Davey Shafik’s Blog: Karma-Based Mailing Lists (or: how to automate a meritocracy)
In this new post to his blog Davey Shafik looks at a problem plaguing several mailing lists out there (including some of the PHP ones) - that they're a "free for all". What's his solution to help it? Karma.
In the real world, communications pass through a hierarchy of people, escalating as necessary, passing from person to person up the chain. This means that, given enough time, any mailing list starts to have a large noise:signal ratio, at least for any given person's take on the list; they want to read what they want to read, and don't need to be distracted ignoring the stuff they don't want to read.
His solution involves defining a hierarchy for the lists and the karma attached to them (based on user CVS level or a timescale or other measurement) to allow the "more interesting" things to filter back up to the correct places. His examples use some of the PHP lists as a sample structure.