Using Categoric's technology will allow the creation and management of an
infinite variety of processes and solutions that can help business
become more informed, responsive, faster and efficient.
Regardless of the approach to building process, e.g. top down, bottom
up, etc, there is a need to get specific information that will be
used in each of the various steps of the process. Although processes may vary
greatly, they typically have a minimum of six steps as described
below:
 Logical sequence of process steps
1. Initiation
When should the process be executed? It must determined under which circumstances the process should be
executed. Initiation mechanisms can be divided into the following
categories, each of which is represented by one or more “initiator”
modules:
Pull: Categoric looks for an event to respond to. For example, checking a database at defined intervals to see if a
new payment from a customer has been received. Another example would be
checking a folder for the existence of flat files created when a batch
job completes successfully.
Machine Push: an event generated by an external system is sent to
Categoric. For example, a CRM database system is configured to
raise an event as soon as a priority 1 issue is logged and the event is
then submitted via a database trigger. ERP systems
and other applications can also communicate with Categoric
using any of wide variety of interfaces including Message Queues, SNMP,
HTTP and APIs to name but a few.
Human Push: a person submits an event to the Categoric system.
For example, a customer sends an email message requesting a status
update on a shipment.
2. Determining Content
What is being delivered?
A business process includes two types of content: content used during
the process, for example as input to conditional logic in the process;
and content used as output from the process, typically sent to
recipients via a delivery method.
Deciding on the content is fundamental to modeling the business
process. Once it is known what content is required, it is possible to plan how to
retrieve it and how to dispatch it to recipients.
Examples of content used within a business process:
- Data from a customer database
- Content from an incoming email message
- Output XML from an XSL transformation
- JNDI directory information
3. Retrieving Data
How is the content being retrieved? Section 2 examined the data requirements, this section focuses on how that data will be accessible within
the business process that is modeled.
Data retrieval mechanisms:
- Extracting data from the initiating event, for example if
the process is triggered by a database update, the details of the
update are accessible to the process
- Using data from another process
- Running a query against a database or data source such as SAP, JNDI or an HTTP server
- Executing a script that performs the data retrieval, for example by calling an external program
- Transforming data already present into another form, for example using an XSL transformation
4. Recipients
Who or what should receive the content?
There are two types of recipient for the output of the process (“Response”):
- Systems, for example an external database or HTTP server, or another process
It is necessary to decide how the recipients are determined - are the recipients known when the process is designed, or is the
list of recipients something that can only be known when the process is
executing? How will the delivery details of the
recipients be retrieved? Again, is this something that is known at the design stage,
or something that must be determined at run time? (With Categoric, recipients can be stored within the system, or
retrieved from an external system).
5. Delivery Methods
How is the content being delivered?
Once it is known who the recipients are, it is possible to work out what form the
output should take, and how it should be sent to them.
Examples of output format and delivery methods:
- HTML-formatted email message
- XML message sent to a system queue
- WML-formatted message sent to a WAP-enabled mobile phone
- Text-formatted message sent to an HTTP server
6. Designing for Response
Is a reply or acknowledgment expected?
A simple process may not require a response from recipients, but if the
information is critical, it may be necessary to know if the output has
reached the recipients, and to design additional process flows to cater for
non-receipt within a certain time limit. For example, if a recipient
does not reply to an email message, it can be arranged for other
delivery methods to be attempted. Alternatively, the
output could be sent to other recipients.
Example of a Simple rule/process
This example illustrates the modeling of a simple business process within Categoric.
Business driver or Scenario: the financial controller of an office supplies
company would like to have an email at the end of the work day for all
customers on credit hold. Additionally, the financial controller would
like all the telesales staff to also receive this email.
Answering the process questions:
Q: When should the process be executed?
A: Once a day, at the end of the day (this is a Pull process)
Q: What is the content?
A: A list of customers on credit hold
Q: How is the content being retrieved?
A: From the accounts database using a SQL query
Q: Who are the recipients?
A: The financial controller and all telesales staff. Their recipient details are already in the Categoric system.
Q: How and in what format is the content being delivered?
A: HTML-formatted email messages
Modules: HTML formatter and Email out
Q: Is a response required?
A: No
|