[ic] Akopia in PHP

Mike Heins mikeh@minivend.com
Thu, 22 Feb 2001 17:27:13 -0500

Quoting Doug Alcorn (doug@lathi.net):
> "Fiber @ VH" <fiber@virtualhideout.net> writes:
> > Is it possible to make the Akopia Cart PHP instead of Perl?
> OK, I'll bite.  Maybe that way some of the more serious IC developers
> can studiously ignore this thread.
> Have you downloaded and looked at Interchange? We're talking about
> close to 2MB and 55,000 lines of perl code.  This represents _years_
> of effort (and probably tens of years of man-effort).  Rarely to
> project survive the "lets port this entire code to some other
> language".
> To put this number in perspective, I worked for 3 months to audit
> 3,000 lines of C code.  In the end I was able to cut the number of
> lines in half (and not just by removing comments); it was just really
> bad code.  Assuming Mike and company could work twice as fast as I
> did.  That would still be 25 months of work.  Even if they worked
> three times as fast as I did it would still be almost 20 months.
> That's two _years_ just to be caught up to where we are today.  Even
> if they could work four times as fast as I did it would still be a
> year.

This is realistic, and a good summary. Minivend and Interchange
do represent man-years of effort. I am a man, and I spent 5 years
on it, not to mention the work done by others. It would not be
reasonable to write in PHP for several reasons, not the least of
which is that PHP is nowhere near as powerful as Perl from an
architectural perspective.

The good news is I just put the first take on an Interchange
SOAP server in the dev branch, and it looks like the next version
of Interchange will be pretty easy to talk to with PHP, Python,
or whatever the language of the week is.

It also includes a SOAP client (based on the excellent SOAP::Lite
module by Paul Kulchenko) which can talk to any other application that
talks SOAP.

Preliminary work indicates it will be able to serve hundreds of 
RPC calls per second on a fairly fast machine, which means it will
be useful for quite a few things.

Red Hat, Inc., 131 Willow Lane, Floor 2, Oxford, OH  45056
phone +1.513.523.7621 fax 7501 <mheins@redhat.com>

Experience is what allows you to recognize a mistake the second
time you make it. -- unknown