overview
state model
workflow features
case management
decision support
architecture
tools
security
integration
scalability
rad
differentiators
faqs
product literature
|
overview
Automating the control of business processes benefits every organisation by making the execution of key business tasks reliable and timely. It should not be seen as a luxury item, but as a way of reducing costs and improving staff productivity.
Business Process Management (BPM) has been around since the early ‘90s, but with the arrival of e-commerce and e-business its profile has been raised. It is an essential link between e-commerce activities and day-to-day manual processes.
Stateframe takes process management far beyond the traditional workflow software available in the market. It combines the most important features of conventional workflow with the benefits of case management to give unrivalled control over every aspect of the business process.
Stateframe provides:
- all 'conventional' workflow automation functionality
- case management capability
- decision support facilities
- scalability
- support for Rapid Application Development (RAD) and incremental implementation
- the ability to deliver BPM capability without comprising brand image or style.
Stateframe handles all production or administrative business process including:
- form and document routing applications. e.g. approvals
- traditional workflow, routing work into and around an organisation
- complex casework involving sub-processes, multiple documents and many administrators
- processes with high levels of automation such as Computer Based Assessment of examinations
- 'expert' prompt-driven decision support systems.
Stateframe can be used out-of-the-box as a fully functional Business Process Management (BPM) system, or assimilated into parent applications or products via the Application Programming Interface (API) and integration facilities. System Engineers can use Stateframe as 'glue' to integrate existing IT applications into process-centred business solutions very rapidly, greatly extending the support given to administrators.
The key to Stateframe's capabilities is its underlying State Model.
Stateframe is a comprehensive and powerful BPM toolkit at a very competitive price. This is made possible because Stateframe:
- is founded on an effective and well-designed process model
- has been designed and built from the core out, concentrating on essential BPM functionality and making use of this in the components we provide
- is built for integration rather than to include integrated functionality that you may not need
- exploits the power of the Microsoft platform.
state model
Consider the following business process description:
|
To request leave, an employee completes a request form. Once completed, authorisation is then required from the employee's manager. If authorisation is granted, then no further action is required. However, if authorisation is refused, the request form is returned to the employee. The request form can now be withdrawn by the employee, or resubmitted once again for authorisation. This process continues until the authorisation is granted, or the request form is withdrawn.
|
Words shown in bold represent objects (request form) or tasks (authorisation). The words in italics represent the states that each object or task goes through during the life of the process. In Stateframe process maps, the objects or tasks are collectively known as 'Process Objects'. If a Process Object represents a task that is actively managed by Stateframe, then the task is also represented on the process map as an 'Activity'. Consider the example below:

When a process object reaches a particular state, it can:
- Cause a state change in another process object (in the example above, 'Request Form, Completed' initiates 'Authorisation, Required')
- Initiate an activity (in the example above, 'Authorisation, Required' initiates the Activity 'Authorisation')
- Do nothing, processing may be complete or it may be waiting in a user intray or for a timed event
Activities usually change the state of the process object that initiated them. In our current example, the activity 'Authorisation' returns a state of 'Granted' or 'Refused'.
An Activity can be implemented in several ways. It could simply be a prompt, asking a user to make a manual decision. Alternatively, it could be a sophisticated decision support tool, presenting the relevant information to the user, and allowing them to enter data pertinent to their decision. It could also be a completely automated step, requiring no user input at all. In this situation, the user may not even be aware that the step has run, but will simply see the consequences. In each of these situations, the interaction between the Process Object and the Activity is the same.
In certain circumstances, an Activity may not be required at all. In the above example, we showed an 'Authorisation' process object initiating an activity, which returned one of two states: 'Granted' or 'Refused'. However, the only requirement in this part of the process may be to record the state of the authorisation, but not actually perform the authorisation itself. In this situation, the state of the Authorisation Process Object can be changed manually by a user, by simply clicking on the Process Object in the Stateframe Client and selecting the new State. Alternatively, the state change may be triggered by an external system, through the Stateframe API.
In these situations, the Process Object States are connected using the "User Select" arrow, these define the valid State changes at this point in the process.
The distinction between Process Objects and Activities within Stateframe is an important one. Process Objects provide control and auditability. Activities provide productivity gains through automation.

This example map extends the process by several steps. For completeness, the map shows every state that each process object goes through.
However, the mapping tool can default and hide many of the states that are mapped explicitly above (for example, an 'outstanding' state which precedes an activity). This map is equivalent to the previous map but significantly simplifies the presentation of the process; the hidden states are still accessible (behind the run and refer arrows) so that Stateframe continues to provide unrivalled control over every aspect of the business process.
workflow features
Stateframe provides all the functionality expected of business workflow automation systems. A major benefit of all such systems is to reduce end-to-end elapsed time. The ease with which Stateframe supports parallel paths and synchronisation, described below, is a key area where Stateframe outperforms its competitors. Others are described in the sections on Case Management, Decision Support and Integration.
Electronic Desktop There are two versions of the web client, one for the .net environment (ASP.net) and another for the COM environment (conventional ASP).
Desktop features include:
- presentation of work to users via electronic 'inboxes', or delivered by e-mail, with direct hyperlinks to web forms
- support for open queues, blind queues and shared queues
- work is delivered into inboxes only when action is required
- the ability to complete multiple steps without returning to an inbox
- a full audit trail
- attaching and viewing notes and documents
Source code is provided for the desktop clients; for those customers who wish to extend the system, or who want to build a custom client.
Automation Agents However, there are many steps within an automated process that require no user interaction. Examples include:
- sending e-mails
- transmitting and receiving XML files
- producing documents via Microsoft Word, etc.
These steps can be assigned to Stateframe Automation Agents i.e. 'robot users' who perform activities unattended. Work is passed to an Agent via an intray, and what an agent can do can be controlled by security, just like a human user. Thus Stateframe can act as an efficient, highly scalable, queue based scheduling system, monitoring progress and involving humans only when exceptional situations require intervention.
Work Routing
Stateframe delivers tasks to the right person (or Agent) at the appropriate time. Work can be routed within and between organisations to either personal or shared inboxes. Distribution is based on a combination of real-time data, business rules, user roles and organisational structure.
Timers
These are used to enforce Service Levels, send reminders, and initiate postponed tasks. Any State can have a timer, from seconds to years. Timers can be used to escalate items several times, for example different actions can be triggered when an item becomes due and then becomes overdue.
Parallel Paths and Synchronisation
Stateframe fully supports parallel paths. Such paths may involve different steps within a process, or, repeated instances of a common step or steps, as in multiple instances of a sub-process. Stateframe uses rendezvous to identify when all the parallel paths have reached a status that allows the case to progress further. Where subcases are involved the check is performed between siblings, once successful the parent is advised and the case is moved forward by the parent.
Application Programming Interface (API)
Everything that can be done through the Stateframe clients can also be done through your own application code. For example Stateframe cases can be launched by external events as well as by user action.
case management
Most Workflow tools are designed to manage 'conveyor belt' processes such as invoice processing or purchase requisitions. The primary objective of such a tool is to ensure that the next task gets to the right person in a timely manner. They use an activity based model that defines the scope of a task as being 'the work performed by a user (human or machine), before handoff to another user'.
But with these tools there are major difficulties in automating more complex processes, for example an insurance claim. In such processes there is a need to handle, cross reference and collate a multiplicity of documents (claims forms, accident reports, police reports, repair bills etc.) which are processed by several people simultaneously (claim administrators, underwriters, supervisors, loss adjusters, policy holders).
Unlike conventional workflow products Stateframe uses an easily understood, but extremely powerful, State Model. It uses this State Model to progress individual objects (documents, tasks, etc) and, more importantly, to take account of their business relationships with other objects.
Complex business processes tend to break down naturally into sub-processes. Each sub-process may be the responsibility of a different individual, department or even organisation. However, each sub-process can have an influence on its parent process, its peer processes, or indeed it may have sub-processes of its own. Once a process is underway, each sub-process is represented by a Stateframe Case, and together they form a Case Hierarchy
- the Case Hierarchy is a natural way of providing users with a total view of the process. This means they can see the context of their work, are kept informed of the progress of parallel tasks, and can re-familiarize themselves easily when they return to a case
- several tasks can be progressed without returning to the intray
- a case need not always be in an intray; in response to external communications a user can find a case and initiate authorised actions from the case hierarchy
The case hierarchy is especially valuable in Customer Relationship Management(CRM) applications, where it is essential that individual customers are handled consistently.
decision support
Stateframe tasks can be broken down to any level of detail. Each task can be decomposed into many levels of sub-processes, if required, and the lowest-level activity may simply display a prompt, or derive the answer by interrogating external systems.
The diagram below shows an extract from one of the sub-processes developed to support part of an endowment mis-selling process.
The Decision Tree Map Segment shows an extract from one of the sub-processes developed to support part of an endowment mis-selling process.
This process is used to display a series of prompts as a single form. Used this way, Stateframe acts as a decision support system, guiding the user and using the answers to the prompts to decide actions. Behind this form the user has a dynamic to-do list, with tasks added and removed in real time as work proceeds.
architecture
This section describes the architecture of Stateframe 4.0, built on the .net platform. For the architecture of the COM version (still fully supported), please
click here
Stateframe™ is a production strength business process management toolkit for the Microsoft Windows environment. An underlying database (not supplied) is required to
hold details of the processes and cases. The Database can be accessed using OBDC or OLE/DB.
Stateframe Engine
The Stateframe Engine is implemented as a .net object with a fully published API. The engine can be installed on one or more servers and/or clients run against a shared
Stateframe database.
Application Programming Interface(API)
The Application programming Interface(API) has 50 public methods on 3 main objects: case; process object; activity. There is a separate API for the organisation/security component.
User Clients Stateframe's user interface is a web based ASP.net client.
- This is fully functioning 'out of the box' clients
- A Visual Studio 2005 Project Template is also supplied for customers wishing to tailor the system or meet specific branding requirements
- The client contains reusable components which can be easily incorporated into a bespoke client.
- All interaction with the Engine is through the published API.
Reusable Components
Activities are written to extend the functionality of the core Stateframe product. They are managed by the Stateframe engine, but are external to
it and are included in a process via the mapping tool. Activities can be implemented as ASP.net forms or .net DLLs. Visual Studio 2005 Project Templates are provided
to make the implementation of Stateframe Activities as easy and productive as possible.
Automation Agents
Often referred to as Activity Agents these can be viewed as robot users. They are users in that they monitor and process items in an intray, they are robots in that they do this automatically, rather than when selected by a business user. From the user perspective they manage tasks which can be performed asynchronously.
Automation Agents are run under the control of an NT service.
Timekeeper
Also known as the Overdue Scan, this actions time-triggered state changes, to enforce Service Levels, send reminders, and initiate postponed tasks. Any state of an item can have a timer, from seconds to days.
Pre-requisite Software
Alia has tested Stateframe components for use with the following applications. Please contact Alia if you have other requirements.
| Component | Requirement |
| Operating System | Windows NT Server, 2000 Server, 2000 Advanced Server SP1 Windows NT4 Service Pack 6, Windows 2000, Windows XP or Windows Vista |
| Database | SQL Server 7 or later/td> |
| Browser | Internet Explorer 5.0 or later |
| Web Server | IIS V4.0 |
| Visio (for Developer and Administrator) | Visio 2000 or later |
| Visual Studio (for Activity development) | Visual Studio 2005 |
architecture (COM version)
Stateframe™ is a production strength business process management toolkit for the Microsoft Windows environment. An underlying database (not supplied) is required to hold details of the processes and cases. The Database can be accessed using OBDC or OLE/DB.
Stateframe Engine Implemented as a COM object with a fully published API. The engine can be installed on one or more servers and/or clients run against a shared Stateframe database.
Application Programming Interface(API) The Application programming Interface(API) has 50 public methods on 3 main objects: case; process object; activity. There is a separate API for the organisation/security component.
User Clients Both Microsoft Windows(OCX) and Internet(ASP) are supplied. These:
- are fully functioning 'out of the box' clients
- are also supplied as 'sample code' for customers wishing to tailor the system or meet specific branding requirements
- contain reusable components which can be easily incorporated into bespoke clients
- interact with the Engine through the published API.
Reusable Components Activities are written to extend the functionality of the core Stateframe product. They are managed by the Stateframe engine, but are external to it and are included in a process via the mapping tool. Activities can currently be implemented as ActiveX DLLs, OCXs, Script modules or ASP. Components built in other languages can be used provided they can talk directly or indirectly to COM.
Automation Agents Often referred to as Activity Agents these can be viewed as robot users. They are users in that they monitor and process items in an intray, they are robots in that they do this automatically, rather than when selected by a business user. From the user perspective they manage tasks which can be performed asynchronously.
Automation Agents are run under the control of an NT service.
Timekeeper Also known as the Overdue Scan this actions time-triggered state changes, to enforce Service Levels, send reminders, and initiate postponed tasks. Any state of an item can have a timer, from seconds to days.
Pre-requisite Software Alia has tested Stateframe components for use with the following applications. Please contact Alia if you have other requirements.
| Component | Requirement |
| Operating System | Windows NT Server, 2000 Server, 2000 Advanced Server SP1 Windows NT4 Service Pack 6, Windows 2000, Windows XP or Windows Vista |
| Database | SQL Server 7 or later/td> |
| Browser | Internet Explorer 5.0 or later |
| Web Server | IIS V4.0 |
| Visio (for Developer and Administrator) | Visio 2000 or later |
| Visual Studio (for Activity development) | Visual Studio 6 |
tools
This section describes the tools available with Stateframe 4.0, built on the .net platform. For the COM version (still fully supported), please
click here
Stateframe provides an extensive set of tools to support the Business Process Management environment.
Process Designer Stateframe has a Graphical Process Designer. It is easy and natural to use, because it takes a business view, enabling rapid interactive prototyping with end-users. Technical aspects and subordinate business areas are not required to demonstrate the overall process and can be added later.
The mapper uses Microsoft Visio™ with a custom template. Changes to the map are dynamically applied to the Stateframe database used at run time to manage the process.
Administrator An application that supports the creation and configuration of Stateframe databases, copying and versioning of process maps, case investigations etc. These features provide essential support for cut-over between development, test, and production environments.
Security Administrator An application that maintains the groups, users, rules and roles which are used by Stateframe's role-based security model. An API for Stateframe security is also provided so that security facilities can be used in custom applications or standalone.
Operational and Development Tools Stateframe provides:
- runtime components for performing common workflow tasks such as path synchronisation, moving tasks between users, etc.
- A set of Visual Studio 2005 Project Templates for modifying the ASP.net Stateframe Client and building ASP.net forms and server side Activity DLLs.
- A Code Generator capable of generating most of the code required to manage the business data required at each step of the process, including the mapping
of data objects onto form fields and the persistance of the data in SQLServer tables
- a component that creates event notification messages which conform to the University of California Berkeley Software Distribution (BSD) syslog protocol
- two syslog collectors: the Syslog Watcher and the Syslog Service. The former resides in the System Tray of a user's client machine and is installed by default. The service has to be configured manually; it is intended for use in an unattended environment. As the Syslogging component adheres to standard protocols, it is possible to replace the supplied collectors with other components if required
- Stateframe itself uses syslog messages for all its error reporting.
tools (COM version)
Stateframe provides an extensive set of tools to support the Business Process Management environment.
Process Designer Stateframe has a Graphical Process Designer. It is easy and natural to use, because it takes a business view, enabling rapid interactive prototyping with end-users. Technical aspects and subordinate business areas are not required to demonstrate the overall process and can be added later.
The mapper uses Microsoft Visio™ with a custom template. Changes to the map are dynamically applied to the Stateframe database used at run time to manage the process.
Administrator An application that supports the creation and configuration of Stateframe databases, copying and versioning of process maps, case investigations etc. These features provide essential support for cut-over between development, test, and production environments.
Security Administrator An application that maintains the groups, users, rules and roles which are used by Stateframe's role-based security model. An API for Stateframe security is also provided so that security facilities can be used in custom applications or standalone.
ASP Generator A 'wizard' suitable for creating simple production-strength applications without having to write custom code. Forms generated using Cardiff LiquidOffice™ Designer, Microsoft FrontPage 2000™ or Microsoft Interdev™ can be used immediately. By default Form data is stored in and retrieved from the Stateframe database, however, Load and Save functions can be written to access application databases.
Operational and Development Tools Stateframe provides:
- runtime components for performing common workflow tasks such as path synchronisation, moving tasks between users, etc.
- tools to assist in building and running Stateframe 'activities' which are called throughout processes to provide business functionality. For example, a Microsoft Visual Studio project generator for building ActiveX DLL and OCX components, and a script container for VB, Perl and Java scripts
- a component that creates event notification messages which conform to the University of California Berkeley Software Distribution (BSD) syslog protocol
- two syslog collectors: the Syslog Watcher and the Syslog Service. The former resides in the System Tray of a user's client machine and is installed by default. The service has to be configured manually; it is intended for use in an unattended environment. As the Syslogging component adheres to standard protocols, it is possible to replace the supplied collectors with other components if required
- Stateframe itself uses syslog messages for all its error reporting.
security
Logging on to Stateframe By default NT userID is used to sign on to Stateframe. This applies to both the Windows and Web clients. Alternatively, a system integrator can explicitly set the User ID used by Stateframe (for example, in a Web based application where registration details are used instead of NT UserID). This ID is then used to access Stateframe security to control what the user can see and do.
Securing processes Business processes are secured, during process design, by specifying access rules. This can be achieved at two levels: you can secure the entire process, and/or you can secure specific process object states within the process.
These rules are then assigned to Roles using the Stateframe Security Administration Tool. A rule can be assigned to several Roles, and a Role can have many rules associated with it. For example, the rule 'Authorise Expenses' could be allocated to the Role 'Supervisor', 'Manager' and 'Director'.
Because rules can be applied to a process object state you can control what people can see and what they can do separately. For instance, I may be able to see my holiday request is awaiting authorisation but not have the permission to action the authorisation.
Reflecting the Organisation Stateframe users, and the roles that they perform, are also defined using the Security Administration Tool. A role is performed within the context of a group, where a group is any logical grouping of people within an organisation. Groups can own other groups, forming a group hierarchy. The model caters for organisations with a matrix management structure e.g. different reporting paths for personnel and project aspects.
Where work is referred between users based on security rules, the workflow designer can control the scope of the search for valid recipients e.g. search only within a group, or exclude peers.
This form shows a user performing the role of Regional Sales Manager for the South West.
API A full API is provided for Stateframe Security, allowing the creation, maintenance and querying of rules, roles, users and groups.
This enables:
- security facilities to be used in custom applications
- the component to be used outside Stateframe to control user access to other applications
- replication of data from your own Security system into Stateframe. For instance you may wish to maintain Stateframe organisational data via API calls from your security system but use Stateframe to maintain the relationship between roles and rules.
integration
This section describes the integration capabilities of Stateframe 4.0, built on the .net platform. For the COM version (still fully supported), please
click here
Application Stateframe has been designed from the outset for ease of integration:
- A Visual Studio 2005 Project Template is provided to enable developers to amend or expand the functionality of the Stateframe Web Client.
- the intray, case display and case search are supplied as components and can be used independently
- the API to the Stateframe Service comprises a comprehensive set of business-orientated objects, the API is documented in detail including examples
- Visual Studio Project Templates are also provided to build on-line forms and server side Activity DLLs. (Activities are written to extend the functionality
of the core Stateframe product. They are managed by the Stateframe engine, but are external to it and are included in a process via the mapping tool.)
- Stateframe links with most Document Management systems
- Stateframe displays images or documents within the workflow, using standard viewers
Stateframe provides a productive environment for component assembly and integration, the sample code and development tools provide a basis for custom development without the need to re-invent the wheel. You can use Stateframe to workflow enable existing products or applications or build new ones. Importantly, you can construct applications that use Stateframe components in a way that allows your end users desktop to be tailored and branded to your organisation’s exact requirements. Even the Stateframe icons can be substituted.
Data
Stateframe provides a comprehensive set of tools to store and retreive data associated with a business process. This includes the generation of data classes, mapping those
classes onto online forms and persistently storing the data is SQLServer tables.
If the business data already exists within the organisation, Stateframe provides facilities to maintain links between the steps within the process and these external
data sources.
Security
Where needed, security rules are implemented on process object states. Access to a secured state is based on permissions assigned to roles and roles assigned to users (within the context of a group). Details are held on Stateframe's security database, and maintained with the Security Administration application. A Security API is provided so that rules, roles, users and groups can be created, maintained and queried by application code.
More detail is contained in the section on security.
integration (COM version)
Application Stateframe has been designed from the outset for ease of integration:
- Stateframe clients are supplied as sample code, they can be used as is, or modified by the customer
- the intray, case display and case search are supplied as components and can be used independently
- the API to the Stateframe Service comprises a comprehensive set of business-orientated objects, the API is documented in detail including examples
- for form applications, Stateframe can use forms built with any Windows or web editor, including Cardiff LiquidOffice™ Forms Designer, Microsoft Front Page 2000™ and Microsoft Interdev™. A tool is provided to create Stateframe enabled ASP pages from your native HTML.
- Stateframe links with most Document Management systems
- Stateframe displays images or documents within the workflow, using standard viewers
- Activities are written to extend the functionality of the core Stateframe product. They are managed by the Stateframe engine, but are external to it and are included in a process via the mapping tool. Activities can currently be implemented as ActiveX DLLs, OCXs, Script modules or ASP. Components built in other languages can be used provided they can talk directly or indirectly to COM. An Activity Wizard is provided to assist the development of ActiveX DLLs and OCXs and a script container is provided for VBScript, Perl and Javascript.
Stateframe provides a productive environment for component assembly and integration, the sample code and development tools provide a basis for custom development without the need to re-invent the wheel. You can use Stateframe to workflow enable existing products or applications or build new ones. Importantly, you can construct applications that use Stateframe components in a way that allows your end users desktop to be tailored and branded to your organisation’s exact requirements. Even the Stateframe icons can be substituted.
Data Stateframe does not access customer data, but makes it easy to do so. Application data is normally stored in the Customer's own databases. Custom activities access the data, as needed, with easy-to-use Stateframe domain links which hold foreign keys.
Designers can also store data in the Stateframe database using the User Data Properties component, and do not need to generate external database tables and fields for all data used within processes.
Security Where needed, security rules are implemented on process object states. Access to a secured state is based on permissions assigned to roles and roles assigned to users (within the context of a group). Details are held on Stateframe's security database, and maintained with the Security Administration application. A Security API is provided so that rules, roles, users and groups can be created, maintained and queried by application code.
More detail is contained in the section on security.
scalability
Multiple Stateframe engines can run against one underlying database, and the architecture is such that many activities are performed outside of the core engine and optionally on other processors, so performance is ultimately limited by the capabilities of the underlying database.
A key area of scalability surrounds the use of automated agents. With Stateframe, such agents perform as robot users taking work from an intray and processing it. An intray is not specific to a particular agent therefore it is simply a matter of determining the number of agents and agent servers necessary to handle the volume work. As this increases, over time, more agents can be added.
When considering the number of agent servers required the following should be considered:
- several agents can share a single server or a server may be specific to one agent. The choice is largely determined by the activities the agents are required to perform.
- multiple servers provide redundancy where it is important to protect against the loss of a server.
For use across the Internet, Stateframe includes a thin HTML client implemented using ASP; there is no requirement to download software to client machines.
Performance guideline: on a single 2.3GHz Intel processor with 512MB RAM (including Windows 2000 server, SQL Server, IIS, and the Stateframe database), Stateframe processed over 30,000 case initiations and 40,000 case transitions per hour. With appropriate hardware and infrastructure, transactions rates many times higher can be achieved.
rapid application development
With Stateframe, developers can quickly prototype and test process design even before activities within the process maps have been implemented, because default response forms are built automatically. If an activity hasn't been built or is missing, Stateframe displays a prompt including the possible outcomes from the activity (e.g. YES, NO, ACCEPTED, FRIDAY, etc); and when the user responds to the prompt the process continues. This is great for prototyping and incremental delivery. Stateframe process can be run ‘for real’ as soon as they have been saved, or can take effect at a later date.
Also Stateframe allows data collected on input forms to be stored to, and retrieved from, a generic table on the Stateframe database. This allows data entered at one stage of the process to be retrieved and modified at later stages of the process without writing extensive application code and designing application database tables. Data for a case is held as a series of attribute name / attribute data pairs at any level in the case hierarchy.
Incremental Delivery

Mapping a process without any automation offers:
- Process guidance and control
- Work distribution
- Diary management
- Security and authorisation
- Management information
- Manual state changes

Separating automation from process management enables projects to:
- Focus on tasks that give maximum business benefit
- Reuse existing components where possible and build for re-use
- Choose most appropriate, cost effective method of automation...
- ...or leave as manual state changes.

Broken down in this way the project can:
- Implement whenever the system can deliver business benefit...
- but continue to automate and implement tasks...
- if there is a continued business justification
why is Stateframe different?
The Stateframe toolkit helps Microsoft developers build powerful work management capability into their software products, a capability well beyond the scope of conventional workflow.
Traditional workflow products are based on a model that defines the scope of a task as being: "the work performed by a user (human or machine), before hand-off to another user". This philosophy greatly limits the ability to properly automate real world business processes at anything other than a superficial level. Often, due to their document management heritage, they operate as little more than intelligent work routers for simple "conveyor belt" type processes.
Compared with conventional workflow products Stateframe takes a very different view of the world. It uses an easily understood, but extremely powerful, State Model in order to progress individual objects (documents, tasks, etc) and, more importantly, to take account of business relationships with other such objects. Using this model Stateframe naturally supports the progressing and collating of a range of items handled by several people concurrently.
If required, tasks can be broken down into smaller tasks, with no limit to the level of decomposition. There is also no assumption of a hand-off between tasks. A single user may be guided through a whole group of tasks before handing control to another user. Used in this way, Stateframe behaves more like an "expert system" than a conventional workflow product.
Stateframe also emphasises on the whole business process, not just individual tasks, enabling users to understand the wider business context of their actions.
Although the Stateframe architecture takes a fundamentally different approach to workflow, it still delivers all the functionality expected from more traditional workflow products, at a very competitive price.
frequently asked questions
Is Stateframe scalable?
Yes. Stateframe has been designed to leverage the Microsoft environment.
Multiple instances of the Stateframe engine can run against one Stateframe database, so multiple IIS servers and Agent servers can be deployed to distribute work load over multiple servers.
Distributed databases and database replication are not
currently supported, though cases and processes can be exchanged between systems.
Performance is ultimately limited by the capacity of the underlying database. Microsoft has certified SQL Server for handling of the
order of 1 billion transactions per day.
What is the processing overhead?
Stateframe is a light user of resources. With Stateframe's design, much of the work is done outside of the engine, and it is unlikely that the engine will be a limiting factor.
What transaction rates can Stateframe handle?
This depends on the total workload, and the available server hardware and infrastructure. In tests on a single processor 2.3GHz server with 512Mb RAM
running Windows 2000 server, SQL Server, and IIS; Stateframe was able to support over 30,000 case initiations and transition some 40,000 process steps per
hour. With suitable hardware and infrastructure, Stateframe will sustain transaction rates many times greater than the above. It is likely that a component
other than Stateframe will be the limiting factor in real-life situations.
[Mention production volumes got from OCR and Alliance and Leicester?]
Is Stateframe restricted to a Microsoft environment?
Does Stateframe follow the WfMC model?
The underlying Stateframe state-event model is very different from the Activity-based WfMC model, and is much more aligned to UML1.3 standards.
Fundamentally, there are only two building blocks that make up the Stateframe model:
- process objects, and
- activities.
Process objects can represent real life objects such as an "Application Form", or tasks, such as "Make Decision" or "Arrange Interview". Each process object progresses through a lifecycle of states. For example, "Make Decision" starts off as "Outstanding", but once a decision has been made, it changes to a state of "Interview" or "Reject" depending on the outcome of the decision.
Activities represent the way that tasks are implemented in the real world. Activities get initiated when a process object reaches a particular state, for example, the task "Make Decision" at a state of "Outstanding" would initiate the activity "Make Decision". Activities can be implemented as computer processes (ActiveXs, scripts etc) or by users responding to prompts.
Activities usually change the state of the process object that initiated them. In our current example, the activity "Make Decision" returns a state of "Interview" or "Reject".
Often the activity initiated by a particular process object will be given the same name as the process object. This is purely a matter of preference. There is nothing within the model to enforce this.
Which relational databases does Stateframe support?
For the workflow database, Stateframe currently supports SQL Server and Oracle.
For application databases, Stateframe supports any ODBC compliant database, and others if they offer a useable interface.
On which platforms will Stateframe run?
The Stateframe service is installed on a server or PC for use across the Internet or an Intranet.
It is supported under Windows NT Server 4.0+, 2000 Server, 2000 Advanced Server SP1, Windows NT4 Service Pack 6, Windows 2000 and Windows XP.
The Mapper requires Visio 2000 or later.
The Security and Admin modules run on any Microsoft platform from Windows 98 onwards.
Browser clients require IE5 or later. The thin client is pure HTML and so will also run on Microsoft Windows CE or other HTML-supported environments
such as palm tops. However environments other than Windows have not been tested to production standards.
How does the mapping tool use Visio?
Stateframe's Graphical Process Designer or 'mapper' is implemented as a 'shell' for Microsoft Visio™. The designer creates a process diagram, which is a pictorial representation of the business process in Visio, and the diagrams are held in the Stateframe database.
A Stateframe template is provided, so you can drag and drop Stateframe template objects on to a Visio diagram. Properties behind each object create meta-data, which is automatically stored in the underlying Stateframe database. This is subsequently used directly by the Stateframe engine.
You can extend the template by adding custom activities if required. Standard Visio facilities are enabled, so you can use off-page connectors, colours etc.
To which third party applications can you connect?
Stateframe is designed for ease of integration and can connect to virtually any application using one or more of:
- XML interchange files
- CSV or flat interchange files
- the Stateframe API
- by embedding third party application controls within a Stateframe 'form'
- by embedding Stateframe components within third party applications (eg the Inbox control)
- by accessing application data using Stateframe activities
Connection is not limited to the Microsoft environment - e.g. Stateframe has been used with IBM legacy systems, to initiate and monitor batch jobs and to update DB2 data.
Can Stateframe be interfaced with document management software?
Yes, absolutely. Alia has several document management companies as partners, they are doing just this. Stateframe may be embedded within the product to provide process support,
or may be integrated as an optional or required component.
Image scanning and indexing is outside the scope of Stateframe, but any suitable products such as Kofax may be used. Indexing may also be controlled by a
Stateframe process, allowing workload balancing across users and maintaining performance statistics.
What level of support is available for Stateframe?
Alia Systems provide the option of 24/7 telephone support. Standard support for licensed users and partners includes email and telephone Help Desk
support available from 08:30 to 17:30 (UK time) excluding public holidays.
Does Stateframe support archiving of old data?
Stateframe cases reach closed status when they are complete, but by default they are not removed from the database, so that a full audit trail is maintained.
There is the facility to archive cases to xml and to remove cases from the database.
What happens if a new version of a process is introduced?
New versions are given an Effective Date, and are automatically used for new incidents started from that date. As supplied Stateframe will finish out all of the active incidents using the old version and initiate all new incidents using the new process. By mapping, it should be possible to move in-flight incidents to a new workflow.
When sub-processes are defined within a parent process, Stateframe gives the option of using the latest version of the sub-process, or a named version.
How can a user view the history of a case?
Stateframe maintains a complete audit traiI for all cases. This is available to authorized users through the Case History display. This display is included within the Windows and Intranet clients, and is available as an HTML page for use with the Internet client. An API function is provided to present the history as a collection of objects.
Does Stateframe support digital signatures?
Stateframe does not have any in-built support for PKI, but provides facilities for customers to do so. The approach to encryption will depend very much on the interfaces provided by the encryption software, which you are using. One standard protocol for encryption is X.509. The customer creates a public and private key, and an algorithm generates the private key to create a digital signature when the document is signed.
Stateframe will also support Biometrica’s Fingerprint recognition software, to provide added security at sign on, and to confirm that the person carrying out a user action is indeed the same person as the signed-on userID.
Can you dynamically launch a number of instances of a process?
Is there multi-level security right down to field level?
Yes. Secured by user-defined rules and roles, set using the Administrator.
Is there full Microsoft Exchange integration?
Stateframe does not use Exchange, other than for supporting email if appropriate for the customer's infrastructure. Custom integration is required.
Can there be one unified login for all systems?
By default, Stateframe does not require users to login, but uses the logged-on NT userID.
Offline and online working?
Stateframe does not currently have 'offline' capability when used for 'traditional' workflow automation – users cannot progress cases without a connection to
the Stateframe service.
However there are several ways to deliver work to a user, who can progress it offline provided he or she does not require Stateframe services. On reconnection
there are several ways to send data to the Stateframe service, and Stateframe can initiate or progress a case from a text file or email or web page.
Does Stateframe support XML?
Stateframe supports XML for data interchange. Stateframe can parse incoming XML files to create or update cases, and can create outgoing XML files for onward transmission. XML is not used within the Stateframe database to hold process or case data, as we do not believe this would give any advantage, and would decrease the performance and overall capacity of the systems
What email systems are supported?
Stateframe currently supports MAPI- and SMTP-compliant email systems, including Outlook.
CC Mail and GroupWise also support MAPI.
What language is Stateframe written in?
There are currently two versions of the Stateframe Engine: a .net version (v4.0), written in C# and a COM version (v3.1) written in a mixture of Visual Basic 6 and C++.
How are customer processes debugged?
Customer processes can be run immediately they are installed, even before all activities are implemented, to prototpe and validate the process design.
A complete Audit trail is maintained by Stateframe, and this provides the first level of debugging.
For second level support, processes can be zipped up and sent to Alia, using a provided support application. Alia can run the process immediately - because of Stateframe’s design there is no need to set up the complete Customer environment or install all the called activities at Alia.
How many SQL licenses do I need to purchase for use with Stateframe?
Stateframe uses one licence per signed on user.
What functions are provided in the application programming interface (API)?
The Stateframe Engine has an open, fully compliant Application Programming
Interface (API), designed to make it as simple as possible to integrate Stateframe into customer written code.
API objects, methods and properties are described in the Application Programming Reference Manual.
The Stateframe web client communicates with the engine purely through the API and is provided as sample code.
Service Component methods include: add case, add process object, add note, add sub-case, add domain link, set priority, set case description, set case due
date, get activity list, get authorised cases, get case details, run Activity, etc.
A separate API provides security objects, allowing customers to extend functionality without the need to directly access Stateframe's security database.
product literature
Stateframe 4.0 (.net Version)
- Click here to view the 'Product Summary' (213K, PDF Format).
- Click here to view the 'Product Overview' (464K, PDF Format).
Stateframe 3.1 (COM Version - still fully supported)
- Click here to view the 'Product Summary' (213K, PDF Format).
- Click here to view the 'Product Overview' (464K, PDF Format).
Other Documentation
- Click here to view a Flash demo (2.20MB).
- Help File - a comprehensive help file is provided with the software
- Price List - please contact Alia Systems or your reseller
|