Automation of business activities is a goal that many organisations strive for but never really achieve. This isn't necessarily something to be ashamed of. In many cases it's not possible to provide the required links between the various IT systems in use within the organisation, as common interfaces don't exist.
TIBCO BusinessWorks' aim is to provide a means for applications to interact in order to vastly increase the amount of integration between business applications and thus automate processes where it simply wasn't possible in the past.
The core of the system is the engine that drives the execution of the various processes. This engine is controlled via rules that you define via the GUI-based user interface. You can think of it as a flowchart: when some kind of trigger event happens (an email comes in on the [email protected]
address, perhaps, or a call centre operative places an order on the system) it kicks the process off. Then the system goes through a series of decisions and interactions with other packages until it finishes up at an "end" node.
In principle it's a very simple concept – in fact the complexity is largely down to how complicated you want to make your business processes.
To define the rules, you basically draw the flowchart in the GUI. For each node you draw you apply rules and decision-making instructions. Because even the simplest business process can turn out to actually be quite complex, the interface is sensibly structured so that you can define sub-flows within your graph into which you can drill for more information. It's a handy way to work, since you can start at the top level with a basic process flow made up of a set of "black boxes". Then you can drill down into these black boxes one at a time and define the detailed functionality in manageable chunks. The fact that you can define these "black box" functions also means you can re-use code as you see fit – the "Check availability" function might be used in any number of places within an e-commerce application, for instance.
For each step in the workflow, there's a vast range of actions and decisions you can define. These can range from simple yes/no answers (e.g. check if a product is available and follow a different path depending on whether it is or isn't) to quite complex data lookup or transformation functions (e.g. if the trigger for starting a particular workflow is the arrival of an email message, you may want to parse that message to extract product numbers, sender addresses, etc). Most importantly, though, you may well want to interact with some kind of external application (maybe, for example, you want to check the address of the sender of an email against the CRM system to figure out their name and address – or perhaps you just want to contact an SMTP server to send an order confirmation).
It's at this point that we get into the second important aspect of BusinessWorks – the ‘adaptors’ that exist to allow it to communicate with external applications. Many of these are application-specific, such as the interfaces to JD Edwards, SAP, PeopleSoft, Remedy, Siebel et al, but many are simply implementations of protocols (HTTP, LDAP, SMTP, SNMP, SOAP, TCP/IP, etc) which give you the basis upon which you can build your own connectors. Say, for example, that the API to your CRM system is based on an IP socket, with requests and responses presented in XML structures; BusinessWorks does all the nasty IP control for you, and can parse and unwrap the XML in order to extract the data. The list of connectors runs to two pages in the brochure and as far as the application-specific items go, the big names are pretty well covered in fields such as ERP, CRM, relational databases, GIS, trading systems and financial services packages.
It's worth mentioning that the external interfaces include the ability to communicate directly with people. For cases where a decision has to be made by a person, BusinessWorks includes the ability to allocate tasks to people or groups and to escalate issues based on predefined parameters (so you can, for instance, escalate a task to a supervisor if it's been sitting in someone's To Do list for more than a given number of hours). Generally, it behaves like a traditional workflow management tool.
All this said, BusinessWorks is not for the faint-hearted. The average installation will set you back a six-figure sum, and this is not a toy. If you're going to implement process automation there will be serious quantities of time and money spent analysing, specifying, implementing and testing. It is, however, an incredibly powerful system that provides integration with an alarming range of applications and technologies. When we looked at the product, the sample workflows we used were actually a part of a real company's business processes. In one case it took just a few hours to replicate in BusinessWorks something that had taken a number of days to achieve using traditional programming tools under Windows.
With high-end packages of this sort, the software is only a relatively modest part of the purchase, which will also include training, implementation and consultancy costs. There will also be a significant time requirement from your own staff in the construction of the process flow model.