All Posts Tagged With: "soap"

REST vs HTTP+POX vs SOAP

Sam and Leonard ponder the differences among them. Here’s the deal:

  1. REST == HTTP GET
  2. HTTP+POX == HTTP GET & POST
  3. SOAP == HTTP POST, with interop issues

Imitation == Flattery

As most of you know, I work in the cut-throat world of web services. Us evangelists are always jockeying for the best developers, and we’ll take any advantage we can. No holds are (Jeff) barred. If you come up with a good edge, you better use it before someone tries to take it away.

For example, at this year’s ETech, I broke through with a killer presentation titled: “eBay Web Services: A Marketplace Platform for Fun and Profit.”

Knowing a good thing when he sees it, Patrick from Google tries to respond at this month’s ZendCon with: “Scrub (Ajax), Wash (SOAP) and REST: use Google Checkout and AdWords APIs with PHP for fun and profit.”

PHP SOAP vs. SDO

In my role as eBay Platform Evangelist, I spend a lot of time exploring different XML technologies.

SOAP is obviously the big one. I use the PHP 5 ext/soap extension, which is great, but there’s actually another PHP SOAP extension that might be even better. No, it’s not PEAR::SOAP or NuSOAP; it’s axis2.

Fall 2006 PHP Speaking Calendar

I have a number of PHP related speaking gigs coming up:

Dirty Secrets of OSCON 2006

Under the heading of better two weeks late than never, here are my slides for my OSCON talk Dirty Secrets of PHP 5’s ext/soap Extension.

As usual, I had a great time at the show. It was fun to see all my old friends and make new ones.

OSCON 2006 Proposal Accepted

This year’s OSCON isn’t until July, but I’m ready to book my tickets because my proposal on “Dirty secrets of PHP 5’s ext/soap extension” was accepted today.

I’ve spent many months using ext/soap with eBay’s WSDL writing sample code and testing out various functions. Bit-by-bit I’ve picked up a number of tricks and discovered quite a few un- (or mis- or poorly) documented features. Thanks to this talk, I will finally have the excuse to put them all together in one place.

Here’s the official description:

PHP 5’s ext/soap extension is an excellent Web services client. However, while the easy things are easy, lack of documentation means the hard things can appear downright impossible. Starting with SOAPClient basics and building upwards, learn the hidden secrets necessary to conquer even the strangest WSDL.

The one bad part about this talk is that I won’t be giving “Abracadabra and hocus pocus: Magical methods and PHP 5” or “Consuming Web Services Using PHP 5.” Of the two, the first would have been a blast to give, but I already have slides for the second, which is nice. (Well, I haven’t heard one way or another about those talks, but I’m assuming they were rejected. That’s fine, since I only have time to prepare one talk.)

See you in Portland!

OSCON + NYPHPCon Call For Papers

I just submitted by proposals for OSCON and NYPHPCon. I hope they get accepted, as I’m quite excited about both shows.

OSCON is my favorite conference of the year. There’s nothing else that provides such a wide range of interesting speakers and topics. I love learning about PHP, but I find it even more fascinating to see what the Perl and Python and Ruby guys are hacking on, or pick up JavaScript and AJAX tips, or heckle the Java programmers. :)

The past two years, I’ve been on the OSCON PHP track conference committee, so it was my job to write friendly reminders in my blog. I’m not doing that this year, so you can count on this as a unbiased plug for the show.

There are lots of topic areas beyond PHP, such as Web applications and Security, so you don’t need to be a PHP guru to submit. You just need to be doing something that other people will find interesting that you can share in an interesting way. The key is that when a conference attendee reads the description of your talk in the program that they say: “Cool! That sounds neat. I think I’ll go hear this talk.”

Last year, I wrote a short post about getting your conference proposal accepted. That’s just my personal philosophy, but I think it holds mostly true for all good conferences. There’s always the “I want the biggest names I can get” philosophy, but if that’s the case, then there’s nothing you can do about that anyway.

Proposals are due Monday, so hurry up and submit.

It’s the first year for NYPHPCon, but Hans and the whole NYPHP crew are great guys, so I know they’ll put on a teriffic show. When I still lived in NYC, I attended NYPHP user group meetings on a semi-regular basis, and they were even kind enough to let me present once or twice.

In fact, I gave my very first Web services presentation to NYPHP back in February of 2003. I don’t know if eBay would have hired me as a Web service evangelist if I hadn’t started down the path of learning about Web services for NYPHP. So, I owe them a big debt of thanks.

Besides, New York City is the best city in the world. Sorry Bay Area neighbors. Although, I certainly don’t miss the 22.8 26.9 inches, or .58 .68 meters for my non-US readers, of snow that got dumped on the city last night. Have I mentioned it’s 65 degrees (18 celcius) today in San Francisco?

Oh, I almost forgot to mention what talks I submitted. All of them will have an eBay theme, but none of them are 100% eBay advertisements:

  • Consuming Web Services Using PHP 5
  • Dirty secrets of PHP 5’s ext/soap extension
  • Abracadabra and hocus pocus: Magical methods and PHP 5

I really like my abstract for the that last talk:

PHP 5 provides a number of so-called “magical methods,” methods that are automagically invoked to secretly manipulate objects. These __methods() are cool, but when, if ever, are they actually useful? Using an eBay Web services SOAP client as my example, I’ll demonstrate how a little slight-of-hand and misdirection leads to shorter and more intuitive code.

Right now, my eBaySOAP code uses __construct(), __set()/__get(), __call(), __isset(), __toString(), and the IteratorAggregate and ArrayAccess interfaces. If I can get Dmitry to add the hook he promised to ext/soap, I’ll also add __wakeup(). I’m sure there are a few more things I can do, but the trick is to only implement useful and intuitive methods, so we’ll see.

My eBay Motors Maps Mashup

In my copious free time, I have been writing a little mashup using eBay Motors and Google Maps. This is equal parts eBay Web services marking, a learning exercize, and an excuse to code.

Like all Web 2.0 concepts, it’s in perpetual beta. (Why does “perpetual beta” seem like the Web 2.0 phrase for Web 1.0’s “Under Construction” image?) Thanks to a helpful prod, I sat down this morning and fixed the outstanding IE bugs, so now it works in IE, Firefox, and Safari. That means I can officially blog about it.

For those of you interested in the technical details, the backend code is written in PHP 5. I’m using the ext/soap extension to talk with eBay Web services and PEAR’s HTML_QuickForm, HTML_Javascript, and Date packages. I tried to use HTML_AJAX, but it was buggy when I first tried it; I see there have been many recent updates, so I should look again.

Not surprisingly, writing the PHP part was pretty easy. It was the JavaScript code that took forever and a day to write and debug. Many thanks to the QuirksMode Web site for documenting cross-browser woes.

Please check out the site and let me know what you think.