This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Since there are a couple of really smart Spring Integration guys on the list right now (thanks Mark and Mark), I thought I would take advantage of that and post a few topics that I, and probably others, have questions on...
I'm about to use Spring Integration in anger on a software project at work. It's one of those projects that has existed for some time, but was written by a very smart C programmer that was fairly new to Java. The result is that it doesn't feel like Java in some places and the overall architecture is overly complicated. This makes it difficult to maintain. The great thing is that he sees this and has asked me to come in and overhaul the architecture. He wants the overhaul to fix that one project, but for it also to serve as a model for related projects. The applications are data flow type applications where they accept files and do multiple steps of processing on them and output files at the other end. So they definitely lend themselves to Spring Integration. Since this is the model for going forward on a number of other projects, there's some extra emphasis on documenting it right so that others can understand the architecture and implement it in a number of places. As a result, I have a couple of questions on documentation that maybe you can help me on.
1) I've been studying the Enterprise Integration Patterns (EIP) book by Hohpe (http://www.eaipatterns.com/) and have downloaded the Visio stencils from his web site. I intend to use them in the software documentation as they seem to be a very complete and easy to understand grammar for Spring Integration (since the latter was based on the former, that makes sense). How do you see these sorts of diagrams fitting into a software documentation package? Do they replace sequence diagrams? Are there other places that the use of EIP affects the documentation?
2) Is there a Spring Integration Petstore? And if so, does it have accompanying software documentation? I'm looking for an example software documentation package that would show how documentation that is specific to Enterprise Integration Patterns (with a Spring Integration implementation) might fit into the more general documentation for an N-tiered application.
If you download the zip file for Spring Integration, there are samples in the zip. Lots of them.
Also, if you use STS, then all you have to do with your xml config file, is click the graph tab at the bottom and STS will create one of those pretty graphs for you. You can even drag and drop these objects onto the graph and it automatically update your config file.
Personally, I had difficulty getting the sample apps imported into my STS and getting them to run. I could still see the graphs from the xml.