Business processes should be designed to achieve purpose.
Most enterprises gain competitive advantage from their core processes which typically represent less that 20% of all processes.
These processes should be engineered and refined to maximize the advantage, which standards may be used for non-core processes.
Processes must be decomposed into discrete atomic steps which update the business model (database).
Each step is assigned to an organizational role, not to a user.
Roles are allocated to actors, which include internal users, customers, suppliers and even machines.
The generic process objects use this information to direct process instances to the appropriate users (workflow), and to ensure that only those users having the required role can access the process (security).
Java™ enables workflow between users across the global network through remote method invocation (RMI), which allows requests to be made by an object in one location to an object in another location.