views:

198

answers:

3

I'm interested in open-source Java/C/C++ framework for pipes-and-filters (like described in that book) paradigm. Can you recommend some?

EDIT: I'm looking for as much "pure" (or lightweight) frameworks as possible: frameworks which encourage programming in "pipes-and-filters" technique, without reliance on any standards, such as XML or JMS, but on language only.

+1  A: 

If you look at chapter 6 of the book you link to, you'll notice it has samples for JMS. A quick visit at Google leads us to a list of open source implementations of JMS: http://java-source.net/open-source/jms

gustafc
Thank you for this suggestion! Are there any non-JMS (more lightweight) frameworks you know of?
Victor Sorokin
Well, what are you looking for? Do you just want to see how it's implemented, or are you looking for something to use in production code?
gustafc
Well, preferably, both of these :) For example, why I'm not going for JMS: I need not library which will handle persistence for me.
Victor Sorokin
Too bad you're not using C#, LINQ would fit you like a glove ;) Maybe the new fork/join framework could be interesting to you: http://www.ibm.com/developerworks/java/library/j-jtp11137.html The code is available at http://javac.info
gustafc
+1  A: 

I know you asked about Java/C/C++, but thought I'd add:

In .NET, the WCF Channel model works like this.

Cheeso
+1  A: 

W3C XML Pipline spec, XProc is kind of pipes and filters.

There's a java implementation here. XProc comprises a number of processors (XSLT transforms, XPath selects, serializing/deserializing to file) i.e. filters - and these are connected by ports carrying XML data - basically pipes.

mdma
This is interesting, but, unfortunately, tightly bounded to XML world. I'd like to know about as much "pure" as possible frameworks. Still, I think now I know more about existing approaches, thank you!
Victor Sorokin
Yes, it's XML - your OP didn't say what data you are piping and filtering - it sounded like you were looking for examples of that pattern. It looks like you you have specific needs in mind - can you update your question to better reflect precisely what you are looking for?
mdma