JBoss jBPM Success Story Management of e-Government Services FH JOANNEUM University of Applied...
-
date post
19-Dec-2015 -
Category
Documents
-
view
223 -
download
4
Transcript of JBoss jBPM Success Story Management of e-Government Services FH JOANNEUM University of Applied...
JBoss jBPM Success StoryManagement of e-Government Services
FH JOANNEUMUniversity of Applied Sciences
David [email protected]
- 2 -
Agenda
• Project introduction– eGraz and the city of Graz
• Evolvement to BPM– Business models– Organizational issues
• Adoption of jBPM– System architecture– Implementation details
- 3 -
The Case Study
• It is about the e-Government platform of the city of Graz• You are not in e-Government?!• You don’t have to be…
Characteristics and similar areas
• It is an order-fulfillment process• Proposal -> processing -> notification• One-stop-shop for customers (= citizens)• G2C e-Government is sometimes compared to CRM• E.g. insurance claim• E.g. applying for public funding• And many more
- 4 -
- 5 -
Facts
• Graz, Styria, Austria, Europe– 2nd biggest city of Austria– About 250 000 citizens– About 4400 employees– About 2500 screen workers– About 220 000 proposals per year
• Still no idea about Graz?– It is the Governator’s home town
• A generic e-Government platform– Planned in 2003– Local e-Government– Mainly G2C
- 6 -
- 7 -
- 8 -
- 9 -
Public Services as Business Processes
• Public services can be seen as business processes
• Almost all of them can be reduced to order fulfillment processes with well-defined interfaces– Order entry (proposal)
– Delivery (notification)
• The e-Government system based on this paradigm works as “process broker”
• This allows rapid e-Government service deployment– Currently about 2 days
• Typical services– Permanent parking ticket
– Business registration
– Church secession
- 10 -
The Initial Business Model
- 11 -
The Initial Business Model
• Full electronic service for the citizen (customer)– Online forms (find and fill in)– Electronic status information (email)– Electronic notification (optional)
• Virtual electronic business process• Minor organizational impact• Transparent process fulfillment• Create electronic interfaces to “backend processing”
– Simple email or fax– Workflow management system– Legacy applications
• Not much about process management right now• Generate early wins without heavyweight reorganization
- 12 -
Results and Impact
• Increasing number of available services– From 5 to 30 in one year
• Increasing number of submissions– Up to 15 000 in the first year
• Success is always a good argument
• Demand for e-Government became obvious
• Skepticism was reduced significantly
• There is will for change now
• Better and tightly integrated e-Government services could be established
- 13 -
The New Business Model
- 14 -
The New Business Model
• Move up (or introduce) common tasks • Pre-processing and post-processing of the (now
simplified) backend process• Leads to new demands
– Technical integration– Business process management
• e-Government examples– Register of residents– Register of cars– Electronic signature and signature verification– Electronic payment– Citizen identification– Electronic notification
- 15 -
Introducing BPM
• e-Government platform has to be process aware now
• Composition of different actions– Depending on the service– Different process definitions
• Human interaction– E.g. e-Payment
• Backend processing– Black-box sub process
• Additional benefits– Process monitoring and logging– System synchronization– Technical integration
• The solution: JBoss jBPM– Evaluation winner (against Enhydra Shark)
- 16 -
BPE (jBPM)
domainmodel
backend
XML
XML
System Architectureweb frontend
externalservices
internalservices
- 17 -
Typical e-Government Process
- 18 -
Expressedin jPDL
- 19 -
How It Works
• The system offers different services– In a uniform way (command pattern + common context)– Internal services– Domain services– External services (proxy)– Different (Java) technologies (EJB, spring beans, web services)
• A service can be one process action– Modeled as node– Every action operates on the common context (persistent jBPM
process variable)
• Services are composed to process definitions– Process definitions are defined in jPDL (XML and graphical)– Process definitions are mapped to e-Government services– E.g. Some proposals need residential register access some don’t
- 20 -
The Benefits
• Lightweight (micro) SOA– New actions don’t affect the system– New e-Gov services are mapped to existing or new process definitions– Flexible maintenance– Actions can be very different in granularity– Automatic decisions can be implemented without coding
• Integration– Different implementation technologies are combined at action level– jBPM can call any java component via different action handler proxies
(SLSB, POJOs, web services, JMS)– Moved to the Spring framework as integration platform– Unified action handler that accesses spring beans
- 21 -
Implementation Details
public interface EGPAction { public void perform(EGPContext egpCtx); public String getDescription();}
public abstract class EGPActionHandler implements ActionHandler {
public void execute(ExecutionContext exCtx) { // load egpCtx as process variable EGPContext egpCtx = JBPMUtils.loadEGPContext(exCtx); // get action instance by node name and perform EGPAction action = getSpringBeanAction(nodeName); action.perform(egpCtx);
// save process variable JBPMUtils.saveEGPContext(egpCtx, exCtx); // automatic transition to next node executionContext.leaveNode();}
- 22 -
Implementation Details
...<node name="IdentificationAction"> <action class="at.fhjoanneum...SpringEGPActionHandler" /> <transition to="SignatureIdentificationAction“/></node>
<node name="SignatureIdentificationAction"> <action class="at.fhjoanneum...SpringEGPActionHandler" /> <transition to="InternalStoreAction“/></node>
<node name="InternalStoreAction"> <action class="at.fhjoanneum...SpringEGPActionHandler" /> <transition to="DetermineZbmAction“/></node>...
- 23 -
Administration
• Process descriptions are quite simple– Can be done by non-technical personnel– Graphical process designer is a great help
• Available actions– spring bean name equals node name (override possible)– Typing errors?!– List available beans from running application to ease process design– ListableBeanFactory.getBeanNamesForType(EGPAction.class)– BeanFactoryUtils.beanNamesForTypeIncludingAncestors(
appctx, EGPAction.class);
• Upload process definitions• Map process definition to e-Gov service (procedure)• Can be done at runtime• A hint: Spring modules project offers generic spring-
jbpm integration (https://springmodules.dev.java.net)
- 24 -
Asynchronous Interaction - Tasks
Process can include asynchronous (humans or other systems) interaction– Task-nodes– E.g. e-Payment, additional file upload
• Task management– Electronic work desk for citizen– All tasks to continue processes
• How to perform different tasks?– Generic approach– Every task-type has one “tool” to complete
• Tools– Loose coupling via URL – Represented by more or less simple web flow– E.g. Task-type “e-Payment” knows URL to e-Payment page
- 25 -
Implementation Details
<task-node name="PaymentNode"> <task name="Payment" swimlane=„citizen"> <event type="task-create"> <action class="at.fhjoanneum...CreateTaskActionHandler" /> </event> <event type="task-end"> <action class="at.fhjoanneum...EndTaskActionHandler" /> </event> </task> <transition to="SAPExportService" /></task-node>
different swimlane
• Generic create/end task action handler– Sends messages– Creates work desk representation (name, description, tool-URL)– Sets process in wait state
- 26 -
Electronic Work Desk
• Electronic work desk– Available for citizens and clerks– List tasks without knowing them– Tool URL for completion
• Advantages– Generic approach to task handling and completion– Add or modify tasks without further drawbacks– Tool implementation knows the concrete implementation– Work desk and action handlers work with common representation
- 27 -
Technology Mix
• JBoss jBPM 3.1• JBoss AS 4.0.3 SP1• Hibernate 3.1• EJB 2.1 (to be removed)• Spring Framework 2.0• Eclipse 3.2• Maven 1.02 (upgrading to 2.0x)• Axis 1.3• Microsoft Server 2003• Microsoft SQL Server
- 28 -
Q&A