jBPM application architecture Core Services Business Analyst End User Developer Rules Core Engine Guvnor Repository Eclipse Editor Web-Based Designer History Log Task Service jBPM Console Your Application Your Services
Who’s heard of BPM? Who’s actually written BPMN? Who’s heard of jBPM? Who’s worked with business analysts? Who has enjoyed working with business analysts? Who’s sees themselves becoming a business analyst in the coming years? ... my apologies.
Please, if you become a business analyst, let the developers do their work. I’ve worked a few different places where the software requirements were filled with business terms that took a while to learn. Regardless of where you work, as a developer you have to learn the domain: bank accounts, freight logistics, insurance models, etc. Part of the problem here is that not only do the business analysts have to create and write down the business process – we then have to translate it into code. There’s a duplication of effort in the sense that both analyst and developer sometimes have to understand the business process fully. And of course, there are always “gotcha’s” -- my housemate was complaining the other day about how they wanted generic screens for processing orders (train-related company) except for that 1 (of 7) screen.
This is a slightly more polite version of the last slide. We want the business analysts to concentrate on the business process – not the code. (Anecdote: an ex-colleague analyst of mine was great – but he was an old developer, and wanted us to code things certain way. I would say to him: “The hell with that – you do your work, I’ll do mine!”) Make them active participants in the process.
This is what I’m going to talk about: - Business Analyst stuff and what we then use to implement it - What is this thing i’m talking about and.. what does it do? - Demo! (people who are taking naps, please wake up) - Summary, because you’ll have forgotten everything I said before the demo
It’s why developers at companies who don’t make software, get paid. Not really – it’s more than that: it’s whole interaction. Visibility: Hey, I can understand what’s happening! Monitoring: Wow, I can really see what’s happening now! High-level: Huh, I understand what’s going on here. Continuous: Modification of BP’s without developer involvement Speed: Which means work is done more quickly Agility: Which means companies/development can respond more quickly
Worked at a logistics company, and changing how incoming freight information was processed was a nightmare. - Change requests - New Projects - AHHH... I’m having flashbacks. Unstructured/Non-linear: maybe it’s not a A, B, C process: - for example: Monitoring, processing incoming streams of input Adaptive Case Management - Basically, data-driven processes – where the process is based on the data, not the other way around Event-driven: - Multiple events “processed” in one process
Model: graphical Notation: xml-based syntax Execution: how things should be done “ Understandable” -- see next slide, xml, not easily readable - collaboration between different parties - and we’re moving on, now..
Ehh.. no one wants to write bpmn 2. Which is why we have the designer
Hey, we’re done with the Business Analyst stuff..
JBPM is an open-source business process management project, for those of you who don’t know how to read
Explain diagram Point out integration with rules
So, done with the background, and now we’re going to look at Designe Lead on Designer in Tihomir Surdilovic, based on the Oryx project with lots of additionsr
So, we edit BPMN processes here. The BPMN it creates conforms to the BPMN syntax (big surprise!) and it works with BPMN internally. But it does more.. (and I’ll get to that in a sec). Guvnor integration helps make guvnor the “one-stop shop” Some people have built their own applications by embedding Designer and using the Guvnor rest api.
This is just a brief overview so that you guys will know where to look when I’m doing the demo.
On the left is a set of images showing how the shape menu works.