Below is a description of the key components of Enj, which Coriendo uses to configure solutions for its clients.  Enj delivers an extensive scope of functionality, and is a fully integrated Business Process Management suite of software tools. It is also the platform on which the solution runs when completed. Enj is an enterprise level business process management suite of software products. All of the tools described below are integrated into one application. Enj is one of only a half dozen fully integrated BPMS software products, and the only BPMS product which is based on open world technologies, which means it can run on any server software and database software. Enj consists of ten key interconnected modules and numerous other sub-modules. One of these components, “Enj Ports”, was selected for two consecutive years by The Linux World Expo as one of the best system integration products.

Step 1 – Model the organization

The first step in automating a process is to use “Enj-Organizer” to define the organizational roles and reporting structure of those specific staff members who will be involved in each process to be automated. Enj-Organizer is used to assign user roles as appropriate with the design and development of the various processes that will be the components of a system. Enj-Organizer is a dynamic roles-based access model and can be managed in a real time basis when personnel changes occur. Every user is given a unique identifier that corresponds to certain access and activity permissions that they alone have. Any changes in the organizational structure or in the roles of users of the process will automatically be reflected in changed profiles, and access and security settings for that user or group of users. This module is used to create and maintain the organization chart using drop and drag technology, and also maintain role attributes such as location, department, group, project and their values. A new role can be added by a simple mouse click and then specifying its position in the role hierarchy. Below is a sample screenshot of how this looks in the designer mode.

The chart above shows the designer view (as opposed to an end user view) as an organizational chart is being configured as the first step in automating a process. This chart is not just an organizational diagram. It represents a dynamic, live organizational chart that is running on a relational data base. Any changes to the organizational chart are immediately reflected in the way the system operates.

Step 2 – Model the process

“Enj-Modeler” is used for rapid modeling of the activities to be performed in each process, and for specifying the business rules which need to be applied. It contains an intuitive drag and drop interface that is used to rapidly model processes and rules. It can be used to build process models, simulate scenarios, determine and proactively address process hotspots. It helps capture ‘richer’ process flow definitions by capturing business rules such as who performs what activities, how and when, and how do transactions flow from one part of the organization to another. It can be used to specify related process performance attributes, as well as reminder and escalation rules. Below is a screenshot example of the designer view chart.

With Enj-Modeler, process configuration has been reduced to the simple task of pressing buttons and dragging objects into place, linking them and defining business rules in terms of formulae. Enj-Modeler is used to define activities and set human interfaces wherever required. Standard times can be set for each activity and can be used as benchmarks to judge process performance and to optimize the process. Changes can be made if necessary by an administrator without the need to do this by computer programming. Below in red is an illustration of the designer view of how a process can be easily modified without the need to write new code.

Step 3 – Model the interfaces

“Enj-Designer” is used to create digital forms to facilitate human interfaces for each of the processes. It makes it possible to build forms and specify documents, data attributes, and the rules governing the data captured through these human interfaces. Enj-Designer is also a graphical tool making it possible to create forms by pressing buttons and dragging the image into the desired position on the screen. This tool makes it possible to format, set colors and fonts and define properties like item type (number/ character/ date), lengths and precision. Additional flexibility has also been built in to hide intermediate values and (if required) to set some values as non-database so as to reduce the load on the operational database. Various validations and alerts can be defined easily in terms of formulae. Simple items for text, static lists, complex formulae, and buttons for triggering actions, lists of values for ready referencing, master lookups, returns and updates can be set at this stage. Below is a designer view screenshot of a sample electronic form that is being built without having to write code.

Step 4 – Integrate systems and databases

“Enj-Ports” is used to specify data interchange requirements, XML or file standards, frequency, instantiation, and business rules governing this data interchange. Enj-Ports supports all the 3 possible data interchange strategies – direct database access, file exchange, and web services. Enj-Ports has comprehensive features to handle both inbound and outbound data transfers, either in a synchronous or asynchronous fashion. Enj-Ports works in conjunction with the computer systems running in an organization. Enj-Ports is used to define the third party interfaces called import, export and ex-im for each distinct activity. Definitions include file locations, delimiters and file structures, labels and tags as well as the mapping each element is to have with corresponding Enj elements.

While in most cases, import and export are asynchronous, taking place based on a trigger from a predefined action, they can be easily configured to run in a synchronous mode taking care of fixed time batch runs to upload and download data. These synchronous activities take all the pain of integration out of system design, making the Enj system fully in mesh with all existing systems, providing the glue that an organization needs to get various silos to work together, seamlessly and efficiently.

Enj-Ports can work with fixed file locations, or it can work equally well with email attachments, so there does not need to be any physical location sharing or networking, thus substantially reducing integration costs over wide networks. Enj-Ports also handles the inter process communication within Enj which allows information to flow seamlessly from one Enj process into another, making it extremely simple to deploy one process and then another, integrating it with the previous one easily and effectively. Enj-Ports makes it possible for Enj to be configured to work as a data warehouse to receive and store data from a variety of distant client systems. The data so consolidated can be mined for various reporting needs as discussed below in the description of “Enj-Reporter”.

Step 5 – Operationalize the process

“Enj-Transact” is the hidden middleware that puts the process, document and data interchange definitions together and orchestrates the steps in each process seamlessly from end to end. As soon as the process and interface definitions are complete, the deployment of the system would be ready to go 'live'. Enj-Transact is the deployment module that has two key functionalities: “Document Manager” and “Messaging Manager”. Document Manager manages all the documents process users deal with, linking them to the transactions to which they relate. If an organization already has its own document management system, Enj can be used to tie-into that system when necessary to access each document relevant to a specific transaction. Messaging Manager, at the back end, takes care of routing the documents as well as generating notification messages that inform users of documents that are awaiting their attention.

Step 6 – Process metrics

“Enj-Dashboard” helps monitor the status of each process by collecting, assimilating and analyzing process metrics as transactions are executed. This information can then be used for analysis and process optimization. Managers using the Enj-Dashboard module can run system level queries to monitor and track how the system is performing and to identify and optimize bottlenecks in the processes. Each of these queries allows drill-down to the transaction level so that investigations can be completed quickly and effectively. Below is a screenshot example of how the “Enj Trace” functionality would look for an end user. Note that the date and time stamp is displayed for each step in this transaction.

Step 7 – Enj

Enj-Dashboard shows how many transactions have passed each point in the process. This gives a quick measure of the pulse and utilization of the system, as well as how many transactions are pending at each stage. This gives a measure of the bottlenecks and a quick indicator of the activities that need to be optimized in terms of resources allocated to them. System performance queries give overall performance benchmarked against standard times assigned at the time of process definition. This information is vital to streamlining the process, speeding up slow activities and reallocating resources so that the process is balanced and there is no bundling up of transactions. All reports are available either in tabular form or in easy to visualize graphical form.

Step 8 – Prepare Reports

“Enj-Reporter” has extensive reporting, report scheduling and distribution features that make it possible to set up custom reports for each process, and electronically ‘deliver’ them to the appropriate staff members. Below is a sample screenshot of how data can be displayed in graphical format. This is a sample report form that end users would see.

Enj is a customizable platform, and while there are standard reports, most of the reporting is fully user definable and can be customized to define the reports needed by each client. Reports may also need to be modified from time to time. Enj-Reporter can create new reports or modify existing reports as needed. Just like other parts of Enj, no computer programming is required to set up and run reports. Due to the nature of information stored in the database, reporting abilities are governed by the role(s) of the user. Users are generally allowed reporting access only on documents completed by them. However, as there may likely be roles by virtue of their position in the organization that require overriding rights, this option can be provided for when defining the process. All reports come up in HTML form on the browser screen. Additionally, most reports can be exported in spreadsheet format for detailed study and analysis.

Step 9 – My Enj

“MyEnj” is the module that is used for customizing the end user interfaces of Enj. Enj has an exhaustive personalization module that allows users to completely alter the look of their Enj desktop. Each user can set the size, font and color of each of the elements individually as also the background colors for various parts of the screen. Users can also change the logos and the header that the screens have so as to provide for an individual look and feel. This personalization module also allows users to set their default log-in screen, the shortcut links they would like to see for quick access to repetitive actions, set the number of documents they would like to see, set filter and sort options as well as set personal information like time-zone, administrative and functional supervisors and to change their Enj password.

Step 10 – Enj Portal

The “Enj-Portal” module helps extend processes to external parties that may need to interact with any of an organization’s processes. Enj-Portal can also be used to provide content as desired to the public domain. It has the capability to define and manage an active and dynamic portal, and to link and expose any portion of a process. Enj-Portal integrates content management with process data providing public static, public dynamic and private dynamic content. Enj-Portal helps organizations create their e-strategy and to define and maintain an active and dynamic portal, which links into the database in the background and selectively exposes sections of data as needed. This is done by a creative integration of content deployment, My Enj and Enj-Reporter functionalities. Enj-Portal can be used to divide the content of an organization’s portal into one of 3 broad categories - public static, public dynamic, and private dynamic. Enj-Portal has a content manager for public static data, and exposes sectioned, parameterized reports for public dynamic and private dynamic data, i.e. reports configured in Enj-reporter can be parameterized and placed on the portal. Enj-Portal is one of the most efficient and cost-effective ways of building a web portal.

Step 11 – Enj GL

p>The “Enj-GL” module is used to define the rules that integrate process transactions with an organization’s general ledger accounting system. Enj-GL makes it possible to specify the appropriate accounting procedures and rules for each transaction. This functionality can eliminate multiple data entry and help make the accounting management functions of an organization more efficient.