Skip Menu |

This queue is for tickets about the SOAP-WSDL CPAN distribution.

Report information
The Basics
Id: 33678
Status: resolved
Priority: 0/
Queue: SOAP-WSDL

People
Owner: Nobody in particular
Requestors: adamk [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 2.00_24
Fixed in: (no value)



Subject: Move away from Class::Std
Although a pioneer of the "inside-out objects" concept, Class::Std has some significant issues. It is not maintained (no releases in 2 years) and has a massive bug count (56 at last check). A couple of the "second-generation" inside-out modules, implemented after seeing the problems caused by Class::Std, are much much safer and more reliable. For example, it does not support threading, and does not support fork() on Windows. Thus, SOAP::WSDL also doesn't support threading, or fork() on windows.
Hi Adam, SOAP::WSDL is based on Class::Std::Fast, a derivative of Class::Std. As I'm one of the Authors of Class::Std::Fast, I can assure you it is being actively maintained. I know of the long Class::Std buglist - however, many of the errors reported have been fixed in the meantime or are no errors at all. It just seems like the maintainers forgot to close some of the bug reports. Martin
Subject: Re: [rt.cpan.org #33678] Move away from Class::Std
Date: Sat, 01 Mar 2008 21:30:06 +1100
To: bug-SOAP-WSDL [...] rt.cpan.org
From: Adam Kennedy <adamkennedybackup [...] gmail.com>
It would help if they were closed indeed. Although since the last release is 2 years ago, and a number of those bug reports are less than 2 years old, I'm fairly sure they can't all be fixed yet :) Adam K Martin Kutter via RT wrote: Show quoted text
> <URL: http://rt.cpan.org/Ticket/Display.html?id=33678 > > > Hi Adam, > > SOAP::WSDL is based on Class::Std::Fast, a derivative of Class::Std. As > I'm one of the Authors of Class::Std::Fast, I can assure you it is being > actively maintained. > > I know of the long Class::Std buglist - however, many of the errors > reported have been fixed in the meantime or are no errors at all. It > just seems like the maintainers forgot to close some of the bug reports. > > Martin >
Hi Adam, another Inside Out framework is actually not an option, as I'm mingling with Class::Std::Fast internals quite a bit (and changed it's internals quite a bit to allow this for performance reasons). I haven't tested it yet, but Class::Std::Fast should be thread safe - and lacks at least the most annoying bugs from Class::Std. Martin
Subject: Re: [rt.cpan.org #33678] Move away from Class::Std
Date: Sat, 08 Mar 2008 18:23:16 +1100
To: bug-SOAP-WSDL [...] rt.cpan.org
From: Adam Kennedy <adamkennedybackup [...] gmail.com>
Martin Kutter via RT wrote: Show quoted text
> <URL: http://rt.cpan.org/Ticket/Display.html?id=33678 > > > Hi Adam, > > another Inside Out framework is actually not an option, as I'm mingling > with Class::Std::Fast internals quite a bit (and changed it's internals > quite a bit to allow this for performance reasons). > > I haven't tested it yet, but Class::Std::Fast should be thread safe - > and lacks at least the most annoying bugs from Class::Std. >
Doesn't that sound a bit dodgy for a module that is supposed to be the very essense of "Enterprise Software"? It almost sounds easier to fork off the Class::Std and Class::Std::Fast modules and make your OWN inside-out base class, keeping on the bits from each of them that that actually work. Adam K?
Subject: Re: [rt.cpan.org #33678] Move away from Class::Std
Date: Sat, 08 Mar 2008 12:07:32 +0100
To: bug-SOAP-WSDL [...] rt.cpan.org
From: Martin Kutter <martin.kutter [...] fen-net.de>
Hi Adam, actually, Class::Std::Fast is just that: After comparing (and benchmarking) the inside-out base classes available, ac0v and I found that for our usage pattern, Object::InsideOut has no benefits (and not Class::Std's simple API), and Moose is a magnitude slower (or two). So Andreas - after talking to Damian on YAPC Europe 2007 - built Class::Std::Fast. The only reason that it requires Class::Std is that we didn't want to rewrite the working code in Class::Std. Class::Std::Fast has facilities to circumvent both the constructor and the accessor/mutator methods for performance reasons, and it allows to gather the informations required to build Class::Std::Fast-based objects and fill them with data (bypassing the getter/setter methods again) from C. While this allows to circumvent the strong encapsulation inside-out objects provide, it's nothing that happens by accident (as with hash based objects). You have to expect getting burned when playing with fire ;-) Of course Class::Std::Fast could be integrated into SOAP::WSDL - but I'm thinking of the opposite direction, like releasing the XML Schema implementation as a separate distribution (once it's complete). Martin Am Samstag, den 08.03.2008, 02:25 -0500 schrieb Adam Kennedy via RT: Show quoted text
> Queue: SOAP-WSDL > Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=33678 > > > Martin Kutter via RT wrote:
> > <URL: http://rt.cpan.org/Ticket/Display.html?id=33678 > > > > > Hi Adam, > > > > another Inside Out framework is actually not an option, as I'm mingling > > with Class::Std::Fast internals quite a bit (and changed it's internals > > quite a bit to allow this for performance reasons). > > > > I haven't tested it yet, but Class::Std::Fast should be thread safe - > > and lacks at least the most annoying bugs from Class::Std. > >
> Doesn't that sound a bit dodgy for a module that is supposed to be the > very essense of "Enterprise Software"? > > It almost sounds easier to fork off the Class::Std and Class::Std::Fast > modules and make your OWN inside-out base class, keeping on the bits > from each of them that that actually work. > > Adam K? >
Subject: Re: [rt.cpan.org #33678] Move away from Class::Std
Date: Sun, 09 Mar 2008 16:09:22 +1100
To: bug-SOAP-WSDL [...] rt.cpan.org
From: Adam Kennedy <adamkennedybackup [...] gmail.com>
Martin Kutter via RT wrote: Show quoted text
> <URL: http://rt.cpan.org/Ticket/Display.html?id=33678 > > > Hi Adam, > > actually, Class::Std::Fast is just that: After comparing (and > benchmarking) the inside-out base classes available, ac0v and I found > that for our usage pattern, Object::InsideOut has no benefits (and not > Class::Std's simple API), and Moose is a magnitude slower (or two). So > Andreas - after talking to Damian on YAPC Europe 2007 - built > Class::Std::Fast. The only reason that it requires Class::Std is that we > didn't want to rewrite the working code in Class::Std. >
Because it is such an important module, I would strongly recommend reversing that particular design decision and merging in the code. There's a time and a place for cut-and-paste and escaping a dependency on a massively buggy stale base that could easily break your code if it ever changes is exactly the sort of place that makes sense. Show quoted text
> Class::Std::Fast has facilities to circumvent both the constructor and > the accessor/mutator methods for performance reasons, and it allows to > gather the informations required to build Class::Std::Fast-based objects > and fill them with data (bypassing the getter/setter methods again) from > C. While this allows to circumvent the strong encapsulation inside-out > objects provide, it's nothing that happens by accident (as with hash > based objects). You have to expect getting burned when playing with > fire ;-) >
I'm not entirely sure what you mean here, but wasn't the entire point of inside-out objects to prevent circumvention? Otherwise, why not just use simple and lighter blessed hashes. Show quoted text
> Of course Class::Std::Fast could be integrated into SOAP::WSDL - but I'm > thinking of the opposite direction, like releasing the XML Schema > implementation as a separate distribution (once it's complete). >
If you are in control of Class::Std::Fast, then removing the dependency on Class::Std would be just fine, instead of merging it in entirely. Adam K
From: kutterma [...] users.sourceforge.net
Hi Adam, I forwarded this one to Class-Std-Fast. See http://rt.cpan.org/Public/Bug/Display.html?id=34100 Martin
Subject: Class::Std and Windows
From: dmuey [...] cpan.org
FYI, to anyone who is interested, Class::Std 0.0.9 was just uploaded to CPAN. While it does address an rt or 2, it marks a new resolve to make the maintenance more active and streamlined. My next task is to clean out the rt queue. Any ideas, improvements, or bug fixes (Eg like making it "fast"er, or work better on Windows, ;p) are more than welcome. Not only are they welcome the POD outlines exactly how to get your patches included in the nest release! So now instead of complaining about the weather you can do something about it! Excellent! HTH :) -- Dan Muey
I think this can be closed here. I already propagated it into Class::Std::Fast's RT queue, and due to DMUEYs announcement, it may have become completely obsolete. Thanks to DMUEY for picking up where Damian has left off - I hope to see many releases ;-) Martin