SOA – the good parts
Let's say mildly that SOA failed and unfortunately the remaining parts are not "a lot". I was in fact able to understand them and it's been possible for me to open source the very most important parts in a POC. So the very most important part is the way message processing and transformation is done. IBM offers this in Message Broker / IBM Integration Bus (IIB) which they implement in c and I implemented it in Java. I called the project "use-the-tree" and open sourced it on github. A deployed version is online at www.use-the-tree.com.
Actually it turned out that I added a couple of improvements which makes my implementation superior to the one IBM has.
There are open source ESB's and Broker's, but I did not find (and I think it is unlikely that there are) comparable proper implementations.
Main areas of future work are:
There is constant change in the IT world (I see a decline of SOA and a push towards open source), so that I think that this project can have a significant success in the future. Again ... "use-the-tree" is the only thing which is left of SOA if you remove all the bad parts or the ones that have just failed... it is "SOA - the good parts" :). It provides strong guidance on how to do message transformation (to end up with the most efficient transformation code) as opposed to IBM's approach, which is "we provide you with every possibility and you better choose wisely".- Add support for JSON - Add all quirks that XML has - Investigate if JavaScript (or Go) can be used (instead of Java) (and implement it) - Sorting (super cleverly with tree map ofc) - On-Demand Parser (would be awesome, also hard) - Investigate on open source solutions for parsing flat files standards like EDI/EDIFACT or HL7/ORM formats and it's usability together with use-the-treeXslt would look like it, if xslt would be done properly.
I consider the way message transformation is done a defacto standard (there is "only one right way") and this is now open source :)