BPMN 2.0 is a new business process modeling standard that provides opportunities but also challenges. The document discusses BPMN and experiences implementing it in Germany. It addresses why processes are important given increasing complexity, and issues that can arise when business and IT try to model processes separately. Effective BPM requires considering different roles and perspectives, and using multiple views and tools rather than assuming a single suite can provide all the answers. BPMN adoption is growing in Germany, with the open source Activiti platform helping to spread use of the standard.
14. Business tried with EPC or Power Point, but what about IT?
Receive
Invoice
Accounting
Insert invoice
into system „How do I know that we receive it?“
Trigger check
„Why does he trigger that?“
Accounting
for invoice
„How do they communicate?“
Business
Check Invoice
department „Hmm, how can we correlate that?“
Business Communicate „And if we don‘t get any result?“
department result
„Is that good or bad?“
XOR
Invoice Invoice
OK Not OK
Accounting Issue payment
Payment
issued
15. IT tried to work with BPEL, but business surrendered…
<!-- Deklaration eines asynchronen “Hello World” Prozesses -->
<process name=”HelloWorld” ... >
<!-- Liste der am Prozess beteiligten Services -->
<partnerLinks>
<!-- Nur ein beteiligter Service: Der Dienst-Nutzer -->
<partnerLink name=”client” partnerLinkType =”HelloWorld”
myRole=”HelloWorldProvider” partnerRole=”HelloWorldRequester” />
</partnerLinks>
<!-- Liste der (XML-)Dokumente, die im Prozess verwendet werden -->
<variables>
<!-- XML-Dokument, das der Dienst-Nutzer beim Aufruf übergibt -->
<variable name="input" messageType="HelloWorldRequestMessage"/>
<!-- XML-Dokument, das der Dienst-Nutzer vom Prozess erhält -->
<variable name="output" messageType="HelloWorldResultMessage"/>
</variables>
?
<!-- Definition der Ablauflogik im Prozess (Aktiviäten) -->
<sequence>
<!-- Übergabe-Parameter vom Dienst-Nutzer entgegen nehmen -->
<receive name="receiveInput" partnerLink="client"
portType="tns:HelloWorld" operation="initiate" variable="input"
createInstance="yes"/>
<!-- Output-Parameter abhängig vom Input erstellen -->
<assign>
<copy> <from expression="concat('Hello
',bpws:getVariableData('input', 'test','/tns:name'))"/>
<to variable="output" part="test"
query="/result"/>
</copy>
</assign>
<!-- Dienst-Nutzer aufrufen, um Antwort zu übergeben -->
<invoke name="replyOutput" partnerLink="client"
portType="tns:HelloWorldCallback" operation="onResult"
inputVariable="output"/>
</sequence>
</process>
32. And it works!
Transparency
Business
Process Process
Forward Process Centric Process
Engineering Reverse Development Monitoring /
Engineering Reporting
IT
33. But: Don‘t believe in this!
Modelling Monitoring
Business
IT
Magic BPM-Suite
Human Workflow EAI / SOA