I'm currently working as a Services Architect/Analyst in an environment build on top of a JBoss ESB, with all the business logic orchestrated using either actions provided within the ESB or our own set of Generic actions (DB accessors, simplified content based routers, etc.).
In order to have a clear specification/documentation of our business flows and implementations I have spent some time looking for some tool which would allow me to Graphically model the Message Flows within our system and which would allow me to define not only "which services" are used in these flows, but also design the Inner service structure (actions, listeners, mep, etc.).
However, after having tried many options (JBpm, BPMN 2.0, UML, SoaML, TOGAF) within Eclipse or using external tools, such as Modelio, I have found nothing suitable enough, since BPM oriented tools focus on Services Orchestration without making it easy to define inner details of each service and UML oriented tools focus on the action/class details but do not provide an easy to understand Flow Overview.
By way of example, here you have a skeleton with three services and a brief of what they do (so this is the exact information I need to document):
> Service: clientDetails
- One Way
- XPath: Get Client Details
- Set ReplyTo: requestDetails
- StaticRouting: authenticate
> Service: authenticate
- DB: Validate Client Details
- If Invalid throw Error: "Authentication failure".
> Service: requestDetails
.- Clear ReplyTo.
- XPath: Get Request Details
- DB: Get Request Availability
- If Unavailable throw Error: "Request unavailable"
- StaticWiretap: processRequest
- Respond OK.
And the corresponding BPMN model, created with Modelio:
What I expect is something like this model but which allows me to either:
- introduce the service details (actions, etc.) into each one of the Subprocess boxes (servies), so a Business Manager can understand the Process Steps inside our system while the Developer has all the information needed to develop the services.
- link each subprocess box to some Service Modeling diagram, so the Developer can double click each service to find out the implementation details.
Is there any tool or modeling language out there which provides such an overview of the flows but allows at the same time to define Service details?
I must confess that although I have checked all the named tools I have not been able to explore all their possibilities so maybe one of them is the clue.
Thanks in advance, at least for reading the long post!