[Epo-ec-advisors] Some thoughts on areas to address in the EC

Rocco Caputo rcaputo at pobox.com
Thu Jul 16 16:35:56 GMT 2009


On Jul 16, 2009, at 06:20, mike at altrion.org wrote:

> Partly thinking aloud here - my back's broad, so feel free to shoot me
> down...

I also have a thinking-aloud question.  Has anyone done a post-mortem  
on P5EE?  Why did it die?  Is there anything of value on the body?

> First off: XML
>
> The main problem I see here for the core is it's a massive problem  
> space
> with multiple solutions, as a quick CPAN search reveals. I think  
> perhaps
> our first step needs to be to try and analyze the problem space into
> categories of solution (parse vs generate, straight mapping to/from  
> a data
> structure vs XPath-based vs tree walking), and start with a document
> that's a guide to best practices for each as we see them. Thoughts?

Defining the problem space is a good way to start when the problem is  
broad and nebulous.

I keep coming back to XML::LibXML at work, but I admit that I've  
written abstractions for it.  Unfortunately they're also at work, so  
they're neither public nor generally useful.

> Next: Packaging

I'm weak in this area.  CPAN has been sufficient for me, and PAR seems  
to work for POE's users when nearly all else fails.

> Finally, Messaging...
>
> By which I mean XMPP, AQMP, Stonk, Amazon SQS and other ways of  
> passing
> messages between components of an enterprize app. There are modules  
> for
> most of the above, in various states of completion, several of which  
> need
> some love. On top of that, I'm working on MQI (Message Queue  
> Interface),
> which is intended to be DBI for messaging with a standard API via a
> factory class and MQD (driver) layers on top of each protocol.  
> Thoughts?
> Does that sound like a good way forward?


I think an abstraction layer is interesting and useful here.  In my  
experience, Perl comes in after an infrastructure is already chosen.   
For example, management likes a particular buzzword, a company has an  
existing vendor contract, or a project is mainly in some other  
language so Perl bindings are an afterthought.  These sorts of  
projects will look elsewhere if the wrong transport layer is  
recommended.

Am I off-base considering non-Perl project integration?  I can stop.   
What are the ground rules?

An API layer must allow access to unique features in the underlying  
message queue.  Projects will look elsewhere if an API hides a  
necessary interoperability feature.

Various DBD modules expose each database's quirks.  Your MQI/MQD model  
implies you'll do the same, which I think is a good thing.  There is  
social pressure to use generic xxI features when possible, and dip  
into xxD's bag of quirks as needed.

-- 
Rocco Caputo - http://poe.perl.org/



More information about the Epo-ec-advisors mailing list