Announcement Announcement Module
No announcement yet.
export directed graph of step dependencies Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • export directed graph of step dependencies

    Hi all,

    I'm writing a module that would allow me to visualize the steps of my job. My job's workflow can be represented by a dependency diagram (from a directed graph), since some steps depend on others, some steps run in parallel and so on.

    For instance: ([v1, v2, v3, v4, v5], [{v1,v3}, {v2,v3}, {v3,v4}, {v3,v5}]). v1 and v2 will run in parallel, then v3 will start when both are finished and trigger v4 and v5 upon completion.

    My xml job file describes that kind of behavior using the batch tags '<split>/<flow>/next=""' and so on.

    I would like to know if there's any way to export such a graph in a graph-friendly format (GraphML, GXL, GML, ..) or even as a String (such as the one shown above). Since Spring Batch must have internal objects populated in order to run the proper workflow itself, I figured it such a functionality may already exist. If not, i could parse the job xml file myself but I'd rather not (I could decide to write it differently, like externalizing steps and so on).

    Any suggestion is welcome!!


  • #2
    have you tried the batch visualization tools in SpringSource Tool Suite?


    • #3
      Hi, the monitoring tool would be for end-users, not developers. So I'm not sure I'd want to use a feature from an IDE.

      That being said I could look at how it's done there, how would I achieve visualization of the job xml file with STS? right-clicking on the xml file did not show an obvious menu for it.



      • #4
        a "batch graph" tab should show up in the Spring XML editor as soon as the edited file declares the batch namespace.

        if the graph suits your needs, you should post a question on the STS forum to know more about the way it is built.


        • #5
          ok, I found it, I didn't notice it before. That actually resembles what I need but probably does not offer the flexibility i need. By dumping to an graph descriptive file, I could then use graph libraries which offer all the features I need (and would offer a nice layer separation)