Product OverviewExecutive SummaryAutomationCompliance

“I like the fact that Presence is multi-platform. With one single tool you can query all of your platforms – it’s very powerful, and you save a great deal on training."

Alvaro Lacayo
IT Manager
Credomatic

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


PresenceBPM - Technical Overview

PresenceBPM is a powerful Java-based middle ware solution that provides enterprises and application integrators with all the tools needed to build fast, scalable and service-centric solutions based on a companies existing IT investments

The PresenceBPM interface is based upon a process/workflow model structure defining:

  • The purpose of the Task
  • How the Task will be initiated
  • The data to be used (i.e. any ODBC/JDBC database, XML data source, web page or flat file on the network)
  • Any filtering, transformation or formatting which must take place on the data,
  • Actions to perform, or recipients to notify

 

These Task models can be nested / cascaded to allow for one Task to trigger another based on the results found in your data, the day of the week or whatever criteria you wish to apply. The storage and retrieval of Task set-up data uses JDBC and is server and platform independent.

PresenceBPM uses a Master / Slave Server architecture to allow for load balancing and fail-over, and a Heartbeat system to ensure the product remains active 24 hours a day, 7 days a week.

The Master Servers manage scheduling and delegation of Tasks, or the initiation of tasks requested by external applications. On-demand Task initiation allows for any external application server to call a Task as a result of, a web request, or a database trigger for example.

Any number of PresenceBPM Slave Servers can be utilized to process Tasks, querying all of your key business data whether it be via SQL, XML, or the Object Monitor for abstract unstructured data. The Slave servers act upon changes in that data, and can instigate new processes and applications, either locally or remotely. PresenceBPM Data Formatters and Output Actions then allow you to push your data out via any appropriate media in a variety of document formats.

Actions can include triggering new processes / applications either locally on any PresenceBPM server, or remotely on any host server on the network via the Remote Process driver. These Program Call Slaves can pass data from a PresenceBPM Task to your own custom applications and return results back to the PresenceBPM server so that additional actions can take place.

  • Using SQL an action can automatically update your business data within any ODBC / JDBC compliant database.
  • Using XML or EDI allows you to create tightly integrated B2B applications with your customers, business partners and suppliers.
  • Publishing HTML or WML to web or WAP servers provides dynamic content, accessible from anywhere.
  • Finally, you can send data via e-mail, fax or SMS to your staff, suppliers or customers whether they are in the office or on the road.

ARCHITECTURE OVERVIEW

A normal PresenceBPM installation is made up of one or more Presence Servers sharing a common database. A typical PresenceBPM site consists of the following components:

Primary Server The Primary Server is the system master and is responsible for validating the license, checking for Tasks to be processed, and delegating those Tasks to Slave servers.
Database Host The PresenceBPM database holds configuration relating to all Tasks, and to the Resources (such as database servers, web servers, email servers, FTP servers and so on) which are required by those Tasks.In the simplest installation the Database host will be on the same PC as the Primary PresenceBPM Server, but it could be on any PC on the network. PresenceBPM ships with its own internal database (PointBase) but in theory any JDBC compliant database could be used.
One or more Slave Servers Tasks are then processed by one or more PresenceBPM Slave Servers. Slave Servers provide both load-balancing and fail-over.
Administration clients The system is configured by one or more Task Administrator clients.
Heartbeat Server The PresenceBPM Heart Beat Server is responsible for starting, stopping, and maintaining the Presence Database Server and PresenceBPM Server. The Heart Beat Server is a separate software component that resides on the Presence server.
One or more Heartbeat Clients The Heart Beat Client can be installed on one or more system administrators’ PCs and monitors the Heart Beat Server to ensure the system is active.It can be used to perform a number of actions on the Database and the Server such as starting and stopping the Servers and the database.
One or more Remote Program Call Clients The Remote Program Call server is an independent component server that sits on any remote PC on the network and allows Presence to execute any native program on that PC The Remote Program Call Server is also an integrated part of the Presence Heartbeat architecture, allowing the Heartbeat application to stop and restart Presence Slave Servers remotely.

THE PRIMARY SERVER

Each PresenceBPM System has a single Primary Server.

The main responsibility of the Primary Server is queuing Tasks and delegating them to any Slave Servers that are available. In addition, it is responsible for receiving On-Demand requests and communicating the private encryption key to other processes within the Presence Site.

When the Primary Server is started, it performs the following actions:

  • Validate license key
  • Ensure no other Primary Servers are running and connected to the same Database
  • Start Encryption Key server
  • Start Debug Engine
  • Start Task Queue
  • Start the Status Reporting server

If any of these actions fail, a message will be recorded in the Primary Server log file and the server will terminate immediately.

THE SLAVE SERVERS

PresenceBPM has a multi-server architecture for efficient load-balancing. When a Task is executed, the Primary Server finds the next least busy Slave Server and delegates the actual work to that server. The Primary Server records any applicable log messages that have been generated when the Task finishes.

When a Slave Server starts, the following actions are performed:

  • Start the SMTP client
  • Start the Program Call queue
  • Begin listening for requests from the Primary Server
  • Advertise its availability via the Database

If any of these actions fail, a message will be recorded in the Slave Server log file and the server will terminate immediately.

In order to delegate a Task's execution to a Slave Server, the Primary Server first attempts to establish a communication channel with that Slave Server. If for some reason it is unable to reach the Slave Server, it will note that that Server is no longer available and attempt to delegate the Task elsewhere. If it is unable to find any Slave Servers to execute a Task, it will make a note to that effect in the Task Logs and wait indefinitely until one is available.

THE DATABASE HOST

PresenceBPM is distributed with its own internal Database (Pointbase™). This is where all task information, activity history, and site information is stored. The Database can be installed on any machine on your network, however it must be visible to the Primary Server, Slave Servers and Administration Clients.

OTHER NOTABLE FEATURES

Sandbox Operation and Installation
The PresenceBPM engine has been designed in a way that no modifications to the target systems or database is required. Many BAM implementations require changes to the application logic or databases in the form of triggers; a typical Presence installation does not. This is achieved using the PDE (PresenceBPM Deviation Engine); the PDE allows field level change detection of any database that supports JDBC or ODBC interfaces.

PresenceBPM is a complete application that requires no additional software components other than media delivery applications such as email and fax servers. Because a PresenceBPM installation will not reside in DMZ (De-Militarized Zone, or inside a firewall), it is very secure. The PresenceBPM security model is based on the security model already in place on the target databases and will adhere to that model at all times.

PresenceBPM Functions
PresenceBPM comes with some built-in functions that, can dramatically improve database performance by removing time-consuming operations such as casting dates to numeric formats. Functions can be performed on any output that PresenceBPM produces. This provides the ability to collect and format data from just about anywhere. Presence Functions can be added by using the Build Function Wizard, this means you can extend the PresenceBPM functionality set with a basic knowledge of Java Programming. Combine Functions with PresenceBPM's unique PDE Event Driver and you have a really open API at both the Data Event level and your own programming skills.

Heterogeneous Database Joins And Access
The PDE allows PresenceBPM to link disparate data sources together in real-time over an unlimited number of databases. The PDE can be used as a database replication engine, taking data from one or more data sources combining and then replicating to other data sources if desired. It can however just be used to create combined reports from these disparate data sources and deliver them via the many distribution options.

Abstract Data Monitoring
The PDE does not stop at monitoring structured data types such as databases it can also be used to detect changes in almost any other type of data or information. This is implemented by way of the PresenceBPM Object Monitor, it can be set to monitor web pages, website structures, documents, spread sheets, etc. It can even be used to detect for changes in any network directory structure.

Personalization of content
Because the PDE works on a field-by-field basis it can treat each field as a separate entity in the content of the delivered media. PresenceBPM can reference data on CRM systems to personalize the message for each recipient. Furthermore PresenceBPM has a Content Distribution Matrix that allows a simple rule-based table to be set-up that will break-up and distribute bulk content on a department or individual basis.

Process Drivers
PresenceBPM has the ability to create alerts and cascade to other processes such as updating databases for replication or process control mechanics. Presence can also invoke almost any application or program on the local or remote systems. The PDE can also be set to pass data as parameters to these jobs; the Action handler deals with the recursive iteration of process calls if required. This means that as well as monitoring business conditions PresenceBPM can be set up to act on those events.

Self-Healing
The PDE is designed to be completely self-healing if any system failures occur. What this means is that Presence will always pick up where it left off without loss of data or non-delivery of messages or processes. With the Heart Beat Monitor, PresenceBPM is one of the most robust applications on the market, offering a true 24/7 application platform.

Try PresenceBPM for free!
You can now try our complete business process manaegement platform PresenceBPM absolutely FREE for for 30-Day Trial

Click here to start you FREE 30-Day BPM Trial Today!

 

 

 


Site Map - Privacy Policy - Legal Notice - Contact Us