The overall Metastorm BPM system architecture is
essentially quite simple. The core is a Metastorm BPM engine
service. This service manages all system activities, for example
timed and system actions and flags, and process requests from the
Web Server or other client applications. There is also the Web
Server application for the web client. The underlying repository
for process data is a database, either SQL Server or
Oracle.
The configuration for Metastorm BPM system will
contain one database only (at least at present). There can be any
number of engines connected to that database. There can also be any
number of web servers connected to each engine. This gives a great
deal of flexibility for load balancing and geographical
locations.
It is also possible for a single web server to
connect to multiple engines. You could for example have a
‘round-robin’ selection list of engines for your web
server to connect to. This complexity of configuration is unusual,
however.
Most systems, in our experience, will have one
database, one engine, potentially another engine for failover, and
one or a handful of web servers, depending on load requirements.
With a decently specified server, for example 8 GB of RAM, quad 2.5
GHz processors and a separate database server, you should be able
to host a single engine service with a web server for several
hundred users.
There are other components such as possibly
e-mail clients as in previous versions, and notify applications (we
ourselves would like to see a Metastorm BPM widget for Windows 7),
and the very powerful Microsoft Office client. We will not discuss
these here, but more information is available from
Metastorm.