Title: Who Needs Process Logic And Why
1Who Needs Process Logic? And Why?
- Brett Adam
- Snr. Dir. Market Strategy
2What We Do
- Versata simplifies and accelerates the way
- business logic for
- enterprise applications is
- Created
- Executed
- Reused
- and Changed
- enabling faster delivery of J2EE applications
on
time, within budget,
using your existing development teams - reducing the risk the expense of keeping pace
with the rapid change of business.
3What Transactions Need Process Logic?
- After a thorough analysis of numerous customer
applications, we identified a need for better
business process support - Some applications worked well initially, but when
business processes changed they broke down. - Other applications had quite a bit of
hand-written event code to track process state
and transitions - And management of time based activity was outside
the scope of declarative business logic - We started looking for a better way
4Beyond Traditional Applications
- Some business logic is hard to express or hard
to change with old school approaches - Business transactions that involve multiple
steps, especially over time, or across multiple
systems or people - Systems that interact with humans
- Assignment
- Notification
- Systems that must adapt on the fly
- Exceptions
- Escalation
- Systems that deliver more management
- With less developer effort
5Are you Managing complex state transitions?
- If your application has
- Hard-coded transaction states, like a flag set to
approved, pending, etc. - Approval cycles
- Starts easy on approval required add a state
attribute on an order and have a screen query by
this attribute - But what happens when this approval happens at 2
levels or in parallel or one approval is
conditional? - Explosion of state variables and rules
6Trying to drive cross-functional efficiency?
- What if you need to notify a sales manager when a
large order is created? - Create an Action Rule?
- What if the event is time-based?
- Send an email if work notcompleted within 24
hours? - Escalate to a manager if notcompleted in three
days? - Retry five times?
- How to audit measure what occurred?
- To prove contractual compliance
- To drive operational improvement
7Trying to efficiently coordinate long
transactions?
- If your app needs a multi-step process or
involves people of different roles in one
business transaction - Create lookup tables and rules for roles
- Design approval cycle and state-chart
- Create attributes in database to track state
- Create business rules to validate each
state-change against the allowed roles - Create screens that query basedon current
state and rolesof logged in User - Allow users to update state
- And then change all of this as roles and
processes change.
8Trying to deliver operational visibility?
- Visibility
- dashboard, whats going on
- Wheres this process at?
- Auditing
- What happened who did it
- Metrics
- Cycle times, business analysis
- Reporting against cross-functional execution
- Aggregate and specific historical analysis
9And trying to adapt to constant change?
- Exceptions
- Todays exception is tomorrows new use case, and
leads to next years new system - Not fast enough!
- True Exception handling requires the flexibility
to change rapidly - In some cases, on the fly
- And the ability to observe whats going on
- To form the basis of new best practice process
10If you have face those challenges
- The you have a Business Process Management
problem! - Business Process Management delivers key
operational capabilities encompassing
Definition Enactment
Visibility Reliability Adaptability
Proactivity Metrics Auditability
Scalability
11Business Process Defined
- Some Definitions
- Business Process Automation or Workflow the
enactment and coordination of business processes,
in whole, or in part, during which documents,
information or tasks are passed from one
participant to another for action, according to a
set of procedural rules - Business Process Model a sequence of Activities
and Transitions - Workflow Management Coalition (WfMC)
- Business Process Management Initiative (BPMI)
12What is Process Logic?
- Automation of Interactions
- Definition of the ordering of separate
transactional activities that occur over time - Most valuable when these activities are performed
by more than one participant - Defined graphically as a flow chart or activity
diagram - Benefits
- Ties process to critical e-business transactions
that need to span systems, people and time - Provides collaboration between business and IT
- Enables rapid change as requirements shift
- Delivers business metrics and execution control
13Introducing, the Business Process
- We can express process logic most easily in terms
of a business process model
14We Knew This All Along!
- People usually start analyzing businesses in
terms of processes first - Business Process Reengineering
- Rational Unified Process (RUP UML)
- Use Cases ? Activity Diagrams
- Barbara von Halle S.T.E.P.
- Technology ? Process ? Rules ? Data
- If you can express your business logic in an
unambiguous language, then it can be automated,
no matter what language!
15Process in the Enterprise Architecture
- What
- Application Databases
- Transactions
- Business Rules
- Business Logic
- Who
- Roles
- Authorities
- Workgroups
- Directory Services
Applications
People
Processes
- When
- Process Rules
- WorkLists
- MetricsAudit Trails
- Process Engines
16Fitting Transactions Process Together
- Transaction Logic automates a business
transaction at a point in time - ex transfer funds from checking to savings
- Process Logic automates the sequence of
transactions over time - ex if funds over 1 million, get approval, then
transfer funds - Decision Logic automates flow control between
transactions
Transaction
Activity A
Activity B
Event Action
?
Transaction Logic
Process Logic
Transaction
HumanActivity
Decision Support System
17Typical J2EE Physical Architecture
Multiple Front Ends
Reusable Application Components
Integrating With Enterprise Applications Core
Business Systems
18Various approaches to business process
- Implicit vs Explicit
- Contrast to stovepiped data centric apps
- Human vs Automated
- Contrast to EAI/B2Bi
- Documents vs Databases
- Contrast to Doc Mgmt
- Analysis vs Execution
- Contrast to Analysis/Modeling
19How Process?
- Core concepts
- A shift in Application Architecture
- Activity based analysis (Activity Diagram)
- Process Models (specification)
- Process Logic Engine (execution)
- Activity Implementations (unit of work)
- Worklists (delivery)
20A Shift from Monolithic Applications
- Domain-oriented (Client driven)
- Multiple transaction screens bundled in one
application or one session for supporting all
aspects of the domain (e.g. Order Management
System) - User chooses what to do and when
- Typified by constant browsing behavior
- System supports the process
- Process is defined and managed externally
21To Task-oriented Applications
- Task Oriented (Process Driven)
- Task-Specific applications
- One objective each (e.g. Place Order, Approve
Order, Update Customer) - Work Delivery application
- Drives invocation of Task-Specific applications
- Process is explicit and drives the solution
- The String through the Pearls
- Can be layered on top of existing systems
- Eliminates browsing behavior
- Usage becomes push from the process definition
- Delivers many additional benefits for free
- Rich execution engine functionality
22New Process Managed applications
Worklist Delivery Application
Process Presentation
Start
End
Process
Task-specific Presentation
Transactions
23Activity
- Activities are representations of units of work.
They may have the following properties - Activity Type assignable, autonomous
- Transaction, email, monitor, web service, delay,
- Participant person, role, rule-based
- Martin, help desk, southeast area managers,
- Notification method
- Worklist, email, pager, phone, MDB, IM,
- Application invocation
- What application to invoke (and parameters) to
provide for participant to complete activity
24Transitions
Transitions model and control the flow between
activities
25Transitions (1)
- Transition Conditions
- Overdue, Condition, Abort, Synchronous,
True/False - Decision Nodes (Branching)
26Transitions (2)
- Synchronizer waits until all incoming
transitions have fired - Discriminator waits until first transition
fires - Terminal ends process when first transition
fires
27Multi-Step Work with the Process Logic Engine
- Visualization of approval process
- Automated synchronization of parallel cycles
- Mapping of Activities to differing Participants
- Users perform work seen on their worklists
- Easily support escalation and ad-hoc change
- No database changes!
28Notification with the Process Logic Engine
- Visualization of notification process
- Automated deadlines escalation
- Manage the notification as an Activity
- Ability to cycle (retry) an arbitrary number of
times.
29Versata Logic Suite
------ Runtime ------
----- Development -----
- Versata Logic Studio with
- Transaction Logic Designer
- Process Logic Designer
- Versata Logic Server with
- Transaction Logic Engine
- Process Logic Engine Add-On
Logic Rules, Processes
Repository (XML)
30Summary
- Operational efficiency demands better business
process management - Building process support into your schema and
rules is too constraining and expensive - Business Process Management technology makes the
process explicit and declarative - Maps to the way the business expresses
requirements - Changes the application architecture to be more
granular (task oriented) - Delivers real business benefits with less effort!
31QA
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?